#TIL: WordPress古腾堡编辑器和MathJax居中、换行的几种写法

WARNING: This article may be obsolete
This post was published in 2021-09-16. Obviously, expired content is less useful to users if it has already pasted its expiration date.

注:
2021-10-06,我把本博客的MathJax全局设置为:displayAlign: “left”,所以本文部分内容可能会与实际排版不一致(主要是有关“居中”的效果)

在古腾堡编辑器里,如果你需要插入两行紧密挨着的(杜绝古腾堡的block换行)、换行的、但又不为 eqnarray 或者 align 形式的公式,那么你可以:

使用Gutenberg居中和html换行(不推荐)

1,新建一个新block

2,把输入的内容居中(text alignment: Align text center)

3,把古腾堡编辑块改为html编辑快

4,用<br>的方法换行,就像这样:

效果:

[mathjax]DFT(x_1[n]*x_2[n])=X_1[n]\star X_2[n][/mathjax]
[mathjax]star:convolution[/mathjax]

使用MathJax 2, MathJax 4和Wikipedia的方法:\\

当然,还有另一种方法,就是正常地用古腾堡编辑器输入一段正常的 display math ,并使用 \\ 作为换行标志:

效果:

[mathjax-d]\displaylines{DFT(x_1[n]*x_2[n])=X_1[n]\star X_2[n] \\ star:convolution}[/mathjax-d]

(事实上这种写法和本文第一种写法带来的最终渲染结果仍然有细微的不同,比如行间距...)

如果将来你不作任何修改地迁移到了其他平台(比如Katex),那么第2种方法(display mode)会令人不快地在控制台里多一行警告:

LaTeX-incompatible input and strict mode is set to 'warn': In LaTeX, \\ or \newline does nothing in display mode [newLineInDisplayMode]

见:https://github.com/KaTeX/KaTeX/issues/1226

MathJax 2MathJax 3MathJax 4 - AlphaKateXLateXWikipedia
 \\ 的支持✅ ❌ (从MathJax 4 - Alpha开始支持)✅ ❗✅,能用但是有警告

使用\displaylines

这种写法在MathJax 2和3都可以使用:

其中 \cr 可以替换为 \\ 

效果:[mathjax-d]\displaylines{DFT(x_1[n]*x_2[n])=X_1[n]\star X_2[n] \cr star:convolution}[/mathjax-d]

使用gathered

这种写法在MathJax 2和3都可以使用:

其中 \cr 可以替换为 \\ 

效果:[mathjax-d]\begin{gathered}DFT(x_1[n]*x_2[n])=X_1[n]\star X_2[n] \cr star:convolution\end{gathered}[/mathjax-d]

但是,使用 \display{} 和使用 \begin{gathered} 的结果是不一样的,如果使用基准线进行仔细比较可以发现:

左边为display;右边为gathered

古腾堡编辑器对\\的自动处理

如果你在wordpress外面编辑了一大堆长公式然后粘贴到古腾堡编辑器,你就有概率发现你的公式显示的不对。(比如带有 begin{aligned} 的部分)

这是因为古腾堡编辑器的visual editor会自动把 \\ 转换为 \ ,所以你需要先把编辑区块改为"Edit as HTML",然后再把那一堆公式粘贴过来。


 Last Modified in 2023-01-25 


Leave a Comment Anonymous comment is allowed / 允许匿名评论