我正在输入一些笔记。我在两个索引上运行了“makeindex”。我对笔记进行了 PDFLaTeX 处理,一切正常。然后我添加了 hyperref 包。然后我运行“makeindex”通过执行“makeindex index.idx”和“makeindex notation.idx”来生成我的索引。现在当我使用 PDFLaTeX 时,它给出了“缺少 $ 插入”的错误。笔记被分成几个部分,每个部分都有自己的 TeX 文件。错误表明它发生在第 5 行,在我的主文件中是 \usepackage{setspace}。这可能是什么原因造成的?
编辑:以下是我的 .log 文件中的一些内容。我省略了一些我认为不需要的错误。[4] 中的错误引用的行是使用 $ 来实现数学模式的部分标题。
[4]
("C:\Users\jjohnson\Dropbox\Jolie\Joe Teaching\Linear Algebra\Spring 2014\Notes
\section12.tex"
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `math shift' on input line 1.
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `superscript' on input line 1.
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref) removing `math shift' on input line 1.
[22]
("C:\Users\jjohnson\Dropbox\Jolie\Joe Teaching\Linear Algebra\Spring 2014\Notes
\notation.ind"
! Missing $ inserted.
<inserted text>
$
l.5
I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.
答案1
处理这些错误信息的最佳方法是首先查看日志文件,而不是简单地查看前端给出的简短消息。
如果可能,使用 启动 LaTeX 运行(无论使用哪种引擎),这-file-line-error
将更好地告知错误涉及哪个文件。无论如何,日志文件中都会报告输入的文件,其中有一个左括号,后跟文件名;在某些情况下,可能很难找到它,-file-line-error
激活该选项后,l. 5
指示器(当前输入文件的第 5 行)将被替换<filename>:<line number>
。
您的日志文件告诉我们错误发生在notation.ind
第 5 行;这是由 MakeIndex 生成的文件。可能的原因是索引条目格式错误。
如何激活该-file-line-error
选项?顺便说一句,在所有情况下都建议这样做。如果 TeX 发行版是 MiKTeX,则选项的名称可能会有所不同,请查看文档。
特克斯沃克斯
进入首选项、排版选项卡,pdflatex
按照下图编辑工具
单击两次“确定”即可完成。
TeXStudio (以前称为 TeXMakerX)
转到“首选项”、“命令”选项卡;添加-file-line-error
到构建命令;在图片中我将其添加到pdflatex
。二进制文件的路径可能不同,但总体风格应该相同。