printglossaries、makeglossaries:(接受 0 个条目,拒绝 0 个条目)

printglossaries、makeglossaries:(接受 0 个条目,拒绝 0 个条目)

我正在尝试为我的文档创建一个词汇表,但无法让它显示出来。

我的文档的最后三行是:

\newpage
\printglossaries
\end{document}

我还有:

\makeglossaries

\begin{document}

我尝试运行:

makeindex -l -s 报告.ist -o 报告.gls 报告.glo

并且:

制作词汇表报告.glo

两次的输出都是:

This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
Scanning style file ./report.ist.............................done (29 attributes redefined, 0 ignored).
Scanning input file report.glo...done (0 entries accepted, 0 rejected).
Nothing written in report.gls.
Transcript written in report.ilg.

我尝试过教程。我还看了新手指南,实际上显示\printglossary为命令。我尝试了两者,但都没有用。我在文档中定义的首字母缩略词表现如预期,我只是没有在报告末尾看到记录它们的词汇表。你能给我一些提示吗?

答案1

没有最小工作示例(MWE)这只是猜测,但正如您所提到的,您已经定义了首字母缩略词,并且它们的行为符合预期,我怀疑您已经使用了acronym包选项,如下所示:

\usepackage[acronym]{glossaries}

这将产生词汇表。默认main词汇表和acronym词汇表。在这种情况下,任何使用 定义的首字母缩略词\newacronym都将分配给acronym词汇表(除非您明确更改词汇表类型)。任何使用 定义的条目\newglossaryentry(未指定类型)都将自动分配给main词汇表。

每个词汇表都有自己的关联文件,用于存储makeindex(或xindy)要处理的信息。用于main词汇表的文件扩展名为.glo。用于词汇表的文件acronym扩展名为.acn

Scanning input file report.glo...done (0 entries accepted, 0 rejected).

此消息makeindex表示.glo文件为空。这意味着您尚未引用主要的词汇表。如果您在文档中定义并引用了首字母缩略词,那么它们位于另一个文件中,而该文件需要由 处理makeindex。确保所有文件都得到处理的最简单方法是使用makeglossaries 不指定扩展名

makeglossaries report

你写道你尝试过

makeglossaries report.glo

它告诉makeglossaries仅处理该.glo文件并忽略任何其他词汇表文件。

以下是 MWE:

\documentclass{article}

\usepackage[acronym]{glossaries}

\makeglossaries

\newacronym{abc}{ABC}{a contrived acronym}

\begin{document}

\gls{abc}

\printglossaries

\end{document}

如果此文件名为test.texpdflatex test则将创建(在其他文件中)test.glo(为空)和test.acn(只有一行)。现在,makeglossaries test将创建一个名为 的文件test.acr,并且会抱怨该文件test.glo为空。下次运行 时pdflatex test\printglossaries将输入test.acr并显示首字母缩略词列表。

如果您不打算使用main词汇表,那么我建议您使用nomain包选项来抑制其创建。这将防止创建不必要的文件,并停止makeglossaries抱怨空.glo文件。

答案2

\glsaddall在 之前添加\printglossaries

相关内容