【发布时间】:2016-04-18 08:21:27
【问题描述】:
我在几个项目中使用了MathJax,它通常就像一个魅力。
然而,今天,我在使用以下对齐环境翻译现有 LaTeX 文档的一部分时遇到了问题:
\begin{align}
& (\lambda x.(\lambda y.(\lambda z.xyz)))abc \\
= & \text{\{ impliciete toepassing expliciet maken \}} \\
& (((\lambda x.(\lambda y.(\lambda z.xyz)))a)b)c \\
= & \text{\{ \ensuremath{\beta}-reductie, substitutie van \ensuremath{x}door \ensuremath{a}\}} \\
& ((\lambda y.(\lambda z.ayz))b)c \\
= & \{\text{\ensuremath{\beta}-reductie, \ensuremath{y\,:=b}}\} \\
& (\lambda z.abz)c \\
= & \text{\{ \ensuremath{\beta}-reductie, \ensuremath{z\,:=c}} \\
& abc \\ \boxed{} \end{align}
用 LaTeX 渲染的结果是这样的(对不起荷兰文;-):
align-environment 本质上是一个math 上下文,所以如果你想要text,你需要用\text{...} 括起该文本。但是,当您再次需要该文本内的数学符号时,您可以通过用\ensuremath{...} 包围数学来转义text 上下文。
MathJax 将其渲染为:
Mathjax 将所有内容居中并不重要,这是我可以使用 CSS 处理的。但是\ensuremath的渲染是个问题。显然是 MathJax doesn't support \ensuremath,但我想不出一个可行的解决方法,我可以在 text-context 中使用数学符号。
理想情况下,我希望有一个使用替代 LaTeX 结构的解决方案(因此是交叉列表)
有什么想法吗?
【问题讨论】: