我正在使用词汇表 v4.11 编写以下文档:
\documentclass[a4paper]{report}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{foo}{name={foo},description={Foo}}
\newglossaryentry{bar}{name={bar},description={Bar}}
\newglossaryentry{baz}{name={baz},description={Baz}}
\begin{document}
\gls{foo} \glsadd{bar}
\printglossaries
\glsaddallunused
\end{document}
条目“foo”和“baz”按预期出现,但在使用以下命令添加的“bar”条目中有一个虚假逗号\glsadd
:
删除后\glsaddallunused
问题得到解决,但是“baz”条目不再出现。
答案1
该条目bar
被添加了两次,但没有使用\glsadd{bar}
和\glsaddallunused
。在后者的描述中,文档说:
如果要使用
\glsaddallunused
,最好将命令放在文档末尾,以确保要使用的所有命令都已使用过。否则,位置列表中可能会出现虚假的逗号或破折号。
显然,当一个条目被添加两次时,这也适用。
可能的解决方法:bar
将其放入未使用的盒子中:\sbox0{\gls{bar}}
或\glsunset{bar}
将其标记为已使用:
\documentclass[a4paper]{report}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{foo}{name={foo},description={Foo}}
\newglossaryentry{bar}{name={bar},description={Bar}}
\newglossaryentry{baz}{name={baz},description={Baz}}
\begin{document}
\gls{foo} \glsadd{bar}\glsunset{bar}
\printglossaries
\glsaddallunused
\end{document}