我最近不得不重新安装我的 tex 环境(windows 下的 texlive),之后我收到很多“缺少 { [或 }] 插入”错误。我设法将原因追溯到下标中使用 \texttt。更准确地说,在以下最小示例中使用 pdflatex
\documentclass{beamer}
\begin{document}
$A_\texttt{a}$
\end{document}
出现以下错误:
Missing { inserted. $A_\texttt
Missing } inserted. $A_\texttt{a}$
我猜想字体一定出了问题,但我不知道是什么问题。
顺便说一句,对于这个小例子,pdf 文件创建正确,但对于较大的文件,pdflatex 中止。
有什么建议么?
答案1
建议使用
$A_{\mathtt{a}}$
或者,如果你真的喜欢,
$A_{\texttt{a}}$
但请注意,在斜体上下文中,后者会以斜体打印下标。
您收到的错误特定于beamer
,因为它会调整字体以获得尽可能多的无衬线字体。它不会出现在article
或其他文档类别中。
无论如何,语法A_\texttt{a}
有绝不已得到官方支持,复杂下标应始终用括号括起来。
一些例子是
A_\sqrt{2}
A_\frac{1}{2}
A_\notin
最后一个例子表明,甚至没有一个标记是安全的。您可以安全地使用不带括号的单个字母或数字,而无需任何格式指令。对于符号,使用括号就可以了。因此
A_{\mathrm{a}}
是好的,而A_\mathrm{a}
是坏的,即使它出现上班。