我在论文开头使用 gls 命令创建词汇表。但是,如果我在图形环境的标题中使用该命令,则全文及其缩写词只会出现在图形列表中。
这意味着,当我第一次在论文主体中使用 gls 作为术语时,编译版本中只出现了首字母缩略词……
有没有什么办法可以解决这个问题?
答案1
我发现这对我来说是最快的解决方案:
\begin{document}
[...]
\glsunsetall
\listoffigures
\listoftables
\glsresetall
[...]
\end{document}
命令\glsunsetall
和\glsresetall
具有设置或重置所谓的首次使用标志。按照我编写的顺序,LoF 和 LoT 中的首字母缩略词都是缩写形式。然后,由于\glsresetall
,它们可以在文本中正确显示(首次使用先使用缩写形式,再使用缩写形式)。
答案2
假设你有这样的事情:
\newacronym{ex}{EX}{Example X}
您可以使用\caption[ex]{\gls{ex}}
。这样,图表列表中显示的实际标题不会调用词汇表。
答案3
\glsentryshort
除了其他答案中的建议之外,您还可以\gls
在标题中使用:
\caption{An example \glsentryshort{sample}}
另一种选择是使用扩展包glossaries-extra
它提供了类似于的命令,这些命令\glsfmtshort
旨在用于标题和章节标题。它的优势在于\glsentryshort
它包括将缩写设置为特定字体的样式的字体更改。例如:
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-short-sc}
\newacronym{sample}{short-form}{long-form}
\begin{document}
\listoffigures
\chapter{Sample}
First use: \gls{sample}.
Next use: \gls{sample}.
\begin{figure}
\centering
Insert figure here.
\caption{An example \glsfmtshort{sample}}
\end{figure}
\printglossaries
\end{document}
如果您更喜欢长格式,则可以使用\glsfmtlong
,或者使用完整格式\glsfmtfull
。