使用 MathJax 我需要 \ensuremath 的解决方案
Using MathJax I need a solution for \ensuremath
我在几个项目中使用 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{...}
将文本括起来。但是当你再次需要数学符号 within 时,你可以通过用 \ensuremath{...}
.
括起数学来逃避 text
上下文
MathJax 将其呈现为:
Mathjax 居中一切并不重要,这是我可以用 CSS 处理的事情。但是\ensuremath
的渲染是有问题的。显然 MathJax doesn't support \ensuremath
,但我想不出一个可行的解决方法,我可以在 text
-context.
中使用数学符号
理想情况下,我希望有一个使用替代 LaTeX 构造的解决方案(因此交叉列表)
有什么想法吗?
您应该使用 $...$
或 \(...\)
代替 \ensuremath{...}
。即使在 LaTeX 本身中,这对我来说似乎更自然(因为 \ensuremath
实际上是为在可能在文本和数学模式中使用的宏中使用而设计的)。
所以你可以做到
\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{ $\beta$-reductie, substitutie van $x$door $a$ }\} \
& ((\lambda y.(\lambda z.ayz))b)c \
= & \{\text{ $\beta$-reductie, $y:=b$ }\} \
& (\lambda z.abz)c \
= & \{\text{ $\beta$-reductie, $z:=c$ }\} \
& abc \ \boxed{} \end{align}
我还把 \{
和 \}
放在了 \text{}
外面,不过如果你愿意,也可以把它们放在里面。
居中可能是由于您页面上的 CSS,因为 MathJax 默认左对齐。
我在几个项目中使用 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{...}
将文本括起来。但是当你再次需要数学符号 within 时,你可以通过用 \ensuremath{...}
.
text
上下文
MathJax 将其呈现为:
Mathjax 居中一切并不重要,这是我可以用 CSS 处理的事情。但是\ensuremath
的渲染是有问题的。显然 MathJax doesn't support \ensuremath
,但我想不出一个可行的解决方法,我可以在 text
-context.
理想情况下,我希望有一个使用替代 LaTeX 构造的解决方案(因此交叉列表)
有什么想法吗?
您应该使用 $...$
或 \(...\)
代替 \ensuremath{...}
。即使在 LaTeX 本身中,这对我来说似乎更自然(因为 \ensuremath
实际上是为在可能在文本和数学模式中使用的宏中使用而设计的)。
所以你可以做到
\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{ $\beta$-reductie, substitutie van $x$door $a$ }\} \
& ((\lambda y.(\lambda z.ayz))b)c \
= & \{\text{ $\beta$-reductie, $y:=b$ }\} \
& (\lambda z.abz)c \
= & \{\text{ $\beta$-reductie, $z:=c$ }\} \
& abc \ \boxed{} \end{align}
我还把 \{
和 \}
放在了 \text{}
外面,不过如果你愿意,也可以把它们放在里面。
居中可能是由于您页面上的 CSS,因为 MathJax 默认左对齐。