
我最近不得不重新安裝我的tex環境(windows下的texlive),然後我得到了很多“Missing { [or }] insert”錯誤。我設法將原因追溯到下標中使用 \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}
是壞的,即使出現上班。