pdflatex 说词汇表条目未定义,但已定义

pdflatex 说词汇表条目未定义,但已定义

我正在写论文,几个月来编译都没有问题。现在当我尝试编译时(我使用 pdflatex),它给出了以下错误。

[78 <./chapters/the_reductome/images/growth_division_and_kos.png>]
Underfull \vbox (badness 10000) has occurred while \output is active

! Package glossaries-extra Error: Glossary entry `GDS' has not been defined.

See the glossaries-extra package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.146 

? H
You need to define a glossary entry before you can reference it.
? 

事实是,几个月来我一直在使用这个词汇表术语,没有任何问题(它可能是最常用的术语)。此外,第 146 行是空白行。

定义是 \newacronym{gds}{GDS}{genome design suite}

通常使用 \gls{gds}

该错误在其他空白行(但不是每个空白行)中再次出现两次。

我尝试查找第一个错误的上游,看是否有未闭合的括号或方程式等,但什么也没找到。

我尝试按 Enter 键来清除错误,然后检查生成的 PDF。文档似乎创建没有问题,因为我没有发现由错误引起的任何异常行为。

我将论文的主 tex 文件复制到一个新目录中,然后对其进行修改,以便只有一个章节 tex 文件。在章节 tex 文件中,我使用\gls{gds}词汇表术语没有任何问题,并且找不到重现错误的方法。

有人能帮忙解释一下这个奇怪的错误吗?或者建议我如何在一个较小的例子中重现这个错误,或者建议我如何更好地理解这个问题或寻找问题的解决方案?我完全被困在这里了……

答案1

日志文件将确认问题发生的文件。

假设您没有犯简单的拼写错误,\gls{GDS}这种错误的常见原因是\gls{gds}在章节标题或标题中使用了大写字母。(您会\ref在这样的地方看到类似的问题。)

避免这个问题的一种方法是使用

\newcommand\glsgds{\gls{gds}}

在序言中,然后

\section{...\protect\glsgds\ ...}

在标题中,并且(最有可能的是,取决于标题代码中大写的实现方式)将保护参数\gls不被大写。

相关内容