我已将整个文件包含在下面。这会导致运行时出现 $ 错误。当我在注释掉 \tableofcontents 的情况下运行它时,它可以正常工作。奇怪的是:仅在 XeLaTeX(使用 MakeIndex 和 BibTex)中。它在 PDFLatex 中运行良好,但我的项目需要 XeLaTeX。我已将情况简化为这个可以运行的小文件。如何让 \tableofcontents 命令工作?
\documentclass[14pt]{extarticle} % bigger font easier for kids on test
\usepackage{fontspec} % sanserif with xelatex
\begin{document}
\tableofcontents
\section{Definitions - 9 pts}
\subsection{question \ref{sec:tanquestion}: (3 pts)} \label{sec:tanquestion}
\end{document}
它会导致这个错误:
答案1
pdflatex
如果删除,则不会出现错误\usepackage{fontspec}
,但这只是偶然。
您需要在“移动参数”中使用\protect\ref
when 。\ref
\documentclass[14pt]{extarticle} % bigger font easier for kids on test
\usepackage{fontspec} % sanserif with xelatex
\begin{document}
\tableofcontents
\section{Definitions - 9 pts}
\subsection{question \protect\ref{sec:tanquestion}: (3 pts)} \label{sec:tanquestion}
\end{document}
另一方面,我认为没有必要在小节标题中重复数字。