考虑以下最小示例(必须使用amsmath
):
\documentclass{article}
\usepackage{amsmath}
\usepackage{eulervm}
\begin{document}
\begin{align*}
\rm{text} =
x_\sigma
\end{align*}
\end{document}
得出以下结果:
。
请注意出现的符号与预期的 不同\sigma
,以及 使用的字体x
。通过删除eulervm
包,结果符合预期,即:
。
现在,甚至更加违反直觉的是,如果你注释掉中的第一行align
,即将包\rm{text} =
留eulervm
在原处,我会得到:
。
显然,如最后一个例子所示,eulervm
可以将\sigma
符号排版为下标,但是当前面有一些文本时则不行……?
有人能解释一下这里发生了什么吗?
答案1
自从 LaTeX2e 发布以来(大约二十年前),诸如\rm
或 之类的命令已经过时了。\bf
他们是声明,因此应该放置里面大括号:
{\rm text}
该\rm{text}
形式声明了\rm
整个公式,这解释了为什么x
和的\sigma
排版错误。
不过,正如我所说,完全不推荐这样做。更好的做法是\text
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{eulervm}
\begin{document}
\begin{align*}
\text{text} =
x_\sigma
\end{align*}
\end{document}
您也\text
可以使用\textrm
或\mathrm
(这取决于您真正想要做什么)。
不要用align*
它来代替equation*
(或\[...\]
),但这是另一回事。