如何显示未使用的缩写词和仅使用过的词汇表

如何显示未使用的缩写词和仅使用过的词汇表

我对首字母缩略词和词汇表(定义)使用了分离列表。我想显示所有首字母缩略词,甚至未使用的首字母缩略词(没有数字列表就更好了。我想我们需要使用 nonumberlist 选项)。但是,我只想显示使用过的词汇表和数字列表。这是我的代码的一部分:

\usepackage[xindy,acronym,toc]{glossaries} 
\makeglossaries
\loadglsentries{glossaire}
.
.
.
\printglossary[type=\acronymtype,nonumberlist] % displays the Acronyms without the number list
\glsaddall % displays all the entries before it
\printglossary %displays the glossary

但它并没有实现我对词汇表的要求。它甚至显示词汇表中未使用的项目,并为所有项目添加一个奇怪的数字列表(首字母缩略词的页码!)

我怎样才能这样做?

谢谢

答案1

\glsaddall有一个可选参数,即以逗号分隔的词汇表列表。默认为所有定义的词汇表。因此,如果您只想添加特定词汇表中的所有条目,只需在可选参数中指定该词汇表的标签即可。

此命令迭代列表中的每个词汇表,并执行\glsadd{标签}对于该列表中的每个条目。这会使用当前位置(默认为当前页码)对每个条目进行索引。这意味着对于位置列表中出现的每个条目,您都会获得相同的数字。(如果有,nonumberlist那么这不是问题,因为它会抑制位置列表。)这就是您的列表中出现虚假数字的原因。

有一个类似的命令\glsaddallunused,其工作原理类似\glsaddall(并且再次有一个可选参数),但它确实\glsadd[format=glsignore]{标签}对于尚未标记为已使用的条目,并且对于已标记为已使用的条目不执行任何操作。该glsignore格式是一种特殊的位置格式,它只是忽略其参数。由于和都makeindex需要xindy一个位置(因为它们都是通用索引应用程序),因此这将被添加到位置列表中\glsignore{地点}。如果它是列表中的唯一位置,那么它就不会引人注意。但是,如果列表中还有其他位置,那么您最终会得到一个虚假的逗号。因此,\glsaddallunused如果需要,最好将其放在文档末尾:

\documentclass{article}

\usepackage[xindy,acronym,toc]{glossaries}
\makeglossaries

\loadglsentries{example-glossaries-brief}% dummy entries
\loadglsentries[\acronymtype]{example-glossaries-acronym}% dummy entries

\begin{document}
\gls{lorem} and \gls{avf}.

\printglossary
\printglossary[type=\acronymtype]
\glsaddallunused[\acronymtype]
\end{document}

上述示例使用glossaries包中提供的虚拟条目并生成一个两页的文档,其开头为:

文档开头的图像,其中主词汇表中只有 lorem 条目,而首字母缩略词词汇表中只有前几个虚拟缩写

只有文档中实际使用过的条目才有位置(在本例中为 1,因为它们都在第 1 页)。

如果你希望切换到glossaries-extrabib2glsthenglsignore被识别为一种特殊的位置格式,表示应选择条目,但不会将任何位置添加到位置列表中。但是,在这种情况下,您可以使用该selection=all选项选择所有条目,而不管它们是否已在文档中使用。(事实上,像\glsaddall和这样的迭代命令\glsaddallunused不适用于,bib2gls因为在第一次运行 LaTeX 时列表始终为空。)

bib2gls与上述等价的是:

\documentclass{article}

\usepackage[record,% using bib2gls
  postdot,% add a full stop after the descriptions
  acronym]{glossaries-extra}

\GlsXtrLoadResources[
 src={example-glossaries-brief}% data provided in example-glossaries-brief.bib
]
\GlsXtrLoadResources[
 src={example-glossaries-acronym},% data provided in example-glossaries-acronym.bib
 selection=all
]

\begin{document}
\gls{lorem} and \gls{avf}.

\printunsrtglossary
\printunsrtglossary[type=\acronymtype]
\end{document}

相关内容