MathJax:有没有办法垂直对齐表达式?
MathJax: Is there a way to vertically align an expression?
在我的网站上创建数学测试时,我 运行 遇到了一个问题:内联多行表达式(等式),在等号处水平对齐,将在其行上垂直居中。
如果表达式只占一行,它会完美地工作(即使我必须为网站和 MathJax 使用不同的字体和大小)。
是否可以向表达式添加一个命令(类似于 \valign),以便包含该命令的行成为与周围文本垂直对齐的行?
例如:
\(\begin{align}2 \cdot x &= 8\x &=\end{align}\)
… 会是…
\(\begin{align}\valign 2 \cdot x &= 8\x &=\end{align}\)
现在是这样:
这就是我想要的样子:
我试过以下方法:
\raise -.6em {}
这有效果,但该值是猜测值,并不准确。还是差了一个pixel,我把默认值(rem)设的越大,误差越大。
我摆弄了表达式的垂直对齐方式并将其设置为文本顶部,同时将周围的文本保留在基线处。这也不完美。当然,我可以乱用 CSS 直到这个表达式看起来不错,但是下一个呢?
align
环境是显示级环境,不应在内联数学表达式中使用。相反,您应该使用 aligned
,它采用控制其垂直对齐方式的选项。所以
\(\begin{aligned}[t]2 \cdot x &= 8\x &=\end{aligned}\)
将定位对齐方式,使其顶行与周围文本位于同一基线上。
这是一个例子:
<script id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
a) \(\begin{aligned}[t] 2 \cdot x &= 8\x &= 4\end{aligned}\)
在这种情况下,[t]
表示与顶行对齐。您也可以使用 [b]
对齐底线。
在我的网站上创建数学测试时,我 运行 遇到了一个问题:内联多行表达式(等式),在等号处水平对齐,将在其行上垂直居中。
如果表达式只占一行,它会完美地工作(即使我必须为网站和 MathJax 使用不同的字体和大小)。
是否可以向表达式添加一个命令(类似于 \valign),以便包含该命令的行成为与周围文本垂直对齐的行?
例如:
\(\begin{align}2 \cdot x &= 8\x &=\end{align}\)
… 会是…
\(\begin{align}\valign 2 \cdot x &= 8\x &=\end{align}\)
现在是这样:
这就是我想要的样子:
我试过以下方法:
\raise -.6em {}
这有效果,但该值是猜测值,并不准确。还是差了一个pixel,我把默认值(rem)设的越大,误差越大。
我摆弄了表达式的垂直对齐方式并将其设置为文本顶部,同时将周围的文本保留在基线处。这也不完美。当然,我可以乱用 CSS 直到这个表达式看起来不错,但是下一个呢?
align
环境是显示级环境,不应在内联数学表达式中使用。相反,您应该使用 aligned
,它采用控制其垂直对齐方式的选项。所以
\(\begin{aligned}[t]2 \cdot x &= 8\x &=\end{aligned}\)
将定位对齐方式,使其顶行与周围文本位于同一基线上。
这是一个例子:
<script id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
a) \(\begin{aligned}[t] 2 \cdot x &= 8\x &= 4\end{aligned}\)
在这种情况下,[t]
表示与顶行对齐。您也可以使用 [b]
对齐底线。