![使用词汇表手动设置首次使用标志](https://linux22.com/image/476331/%E4%BD%BF%E7%94%A8%E8%AF%8D%E6%B1%87%E8%A1%A8%E6%89%8B%E5%8A%A8%E8%AE%BE%E7%BD%AE%E9%A6%96%E6%AC%A1%E4%BD%BF%E7%94%A8%E6%A0%87%E5%BF%97.png)
我使用glossaries
来跟踪我的首字母缩略词和其他一些列表。但是,我遇到了一种情况,我想使用\acf
来打印完整的首字母缩略词,并且后续命令不应重复描述\ac
。默认情况下,如果\acf
首先使用 ,则第一次出现的\ac
会再次打印完整的首字母缩略词,例如 Test Acronym (TA)。
具体来说,我正在列出一个description
清单来介绍一些术语,并且希望确保标签中包含完整的缩写词:
\documentclass{scrreprt}
\usepackage[xindy, shortcuts]{glossaries}
\newacronym{TA}{TA}{Test Acronym}
\makeglossaries
\begin{document}
\printglossary[type=\acronymtype]
\begin{description}
\item[\acf{TA}] This is an explanation of the item…
The first use flag should be set after this!
But it does!, and will display Test Acronym (TA) again… Which is not intended!
\end{description}
When using \ac{TA} here like this, it should not reproduce the entire entry again.
\printglossary
\end{document}
因此,我如何手动设置/强制执行首次使用标志,或者规避此问题?
答案1
术语表包为每个条目定义了一个布尔标志。如果您调用,则\ac
布尔标志设置为 true。这意味着下次您知道该条目已被使用。
要手动设置此标志,包中提供了命令\glsunset
。
文档在第 105 页 (glossaries-user.pdf) 描述了该命令。
当使用
\gls,
\glspl
及其大写变体时,您可能希望使用第一个键给出的值,即使您已经使用了词汇表条目。相反,您可能希望使用文本键给出的值,即使您尚未使用词汇表条目。前者可以通过以下命令之一实现:...
而后者可以通过以下命令之一实现:
\glsunset{⟨label⟩}
与您的示例相关:
\documentclass{scrreprt}
\usepackage[xindy, shortcuts]{glossaries}
\newacronym{TA}{TA}{Test Acronym}
\makeglossaries
\begin{document}
\printglossary[type=\acronymtype]
\begin{description}
\item[\acf{TA}\glsunset{TA}] This is an explanation of the item…
The first use flag should be set after this!
But it does!, and will display Test Acronym (TA) again… Which is not intended!
\end{description}
When using \ac{TA} here like this, it should not reproduce the entire entry again.
\printglossary
\end{document}