我正在尝试编写这本书https://forja.rediris.es/projects/guia-wxmaxima/我使用的是 MiKTeX、TeXstudio,在构建选项中我有默认编译器 pdfLaTeX。所以我的问题是,为什么会出现很多错误提示Label '...' multiply defined
?
答案1
因为作者没有注意他所使用的标签或编译警告。
该警告意味着相同的标签在同一文档中被多次使用。例如,他\label{chap:aritmetica}
在三个不同的章节中都使用过,分别是algebra.tex
、aritmetica.tex
和calculo.tex
。这可能会导致错误的交叉引用。
要修复此问题,需要做两件事:
找出哪些标签被使用了几次(阅读日志),并修改除其中一个之外的所有标签,以使所有标签都是唯一的。
找到这些标签的使用位置,并确保交叉引用指向正确的章节(或其他内容)。为了避免阅读整篇文章,可以利用 TeXstudio 允许你搜索所有打开的文档这一功能。同时打开 TeXstudio 中的所有章节文件,转到编辑 --> 搜索 --> 查找对话框,然后选择打开文档代替当前文档。然后在问题中搜索标签,例如,并查看它在(或类似命令)
chap:aritmetica
中的使用位置。\ref
(我遇到了很多其他错误,而且文档根本无法编译,但您只询问了标签。)
答案2
@Torbjørn T. 的回答的补充说明是,可能存在包含所讨论标签的文件\include
的多个 s的情况,而不是多个s 本身的情况。.tex
\label
即使为了调试问题而使用非常古怪的标签,我也遇到了同样的错误,这真的很奇怪。即使在.tex
我的项目中的文件中搜索标签,也没有发现任何其他重复使用相同标签的情况。
最后,问题出在\input
同一个.tex
文件中定义了标签的多个语句。在我的例子中,可以通过省略对同一个文件的其他包含来轻松解决这个问题,但如果.tex
出于某种原因想要在很多地方重复使用同一个文件,那么解决这个问题会比较棘手。
我希望这对某些人有帮助。
答案3
按照多主题,我的问题是在合并两篇论文时使用了 2 个命令和 2 个命令input
造成的。删除旧的对解决了这个问题。\bibliography{...}
\bibliographystyle{...}