我创建了不同的词汇表来存储文档中的不同类型的信息(在特定情况下,还有两种额外的词汇表类型:greek
以及nondim
其他main
和首字母缩略词)。
\usepackage[toc,acronyms]{glossaries}
\newglossary[zlg]{greek}{zld}{zln}{Greek Symbols} %Greek Letters
\newglossary[nng]{nondim}{nnd}{nnn}{Non-dimensional Groups} %Non-Dimensional Numbers
通过这种方式,我得到了一个用于添加首字母缩略词的词汇表列表\gls{acronym}
,标准词汇表用于例如拉丁符号:
\newglossaryentry{latin:h}{
name=$h$,
description={Enthalpy per unit of mass},
sort=h
}
然后我使用其他词汇表作为希腊符号和无量纲群的示例:
\newglossaryentry{symb:Gamma}{
name=$\gamma$,
description={Generic property subjected to operators},
sort=gamma, type=greek
}
\newglossaryentry{ndg:St}{
name=$St$,
description={Stokes number $\frac{18\mu_c}{\rho_p d_p^2}\frac{U}{D}$},
sort=St, type=nondim
}
我现在想要实现的是用于\glsaddall
特定类型,特别是我想打印来自main
、greek
和类型的所有词汇表,但不打印来自首字母缩略词的词汇表,而这些词汇表只有在文本中nondim
明确调用时才会显示。\glsadd
这就是我实际打印文档中的词汇表的方式:
\printglossary[type=\acronymtype]
\printglossary[type=main,style=long,nonumberlist,nopostdot,title={Latin Symbols}]
\printglossary[type=greek,style=long,nonumberlist,nopostdot]
\printglossary[type=nondim,style=long,nonumberlist,nopostdot]
但是如果我不使用\glsaddall
中的词汇表main
,greek
并且nondim
它们没有显示出来(没有在文本中明确添加),如果我使用,\glsaddall
我可以正确地看到所有类型的所有词汇表,但我也会看到我在文本中没有使用的首字母缩略词。
有什么建议吗?
答案1
\glsaddall
有一个可选参数,允许指定应该使用哪种词汇表类型:
\glsaddall[types={main,greek,nondim}]
\documentclass{article}
\usepackage[toc,acronyms]{glossaries}
\newglossary[zlg]{greek}{zld}{zln}{Greek Symbols} %Greek Letters
\newglossary[nng]{nondim}{nnd}{nnn}{Non-dimensional Groups} %Non-Dimensional Numbers
\makeglossaries
\newglossaryentry{latin:h}{
name=$h$,
description={Enthalpy per unit of mass},
sort=h
}
\newglossaryentry{symb:Gamma}{
name=$\gamma$,
description={Generic property subjected to operators},
sort=gamma, type=greek
}
\newglossaryentry{ndg:St}{
name=$St$,
description={Stokes number $\frac{18\mu_c}{\rho_p d_p^2}\frac{U}{D}$},
sort=St, type=nondim
}
\newacronym{zdf}{ZDF}{Zweites Deutsches Fernsehen}
\begin{document}
%\glsaddall% Adds any gls - entry, e.g. acronyms
% Select only particular types:
\glsaddall[types={main,nondim,greek}]
\printglossary[type=\acronymtype]
\printglossary[type=main,style=long,nonumberlist,nopostdot,title={Latin Symbols}]
\printglossary[type=greek,style=long,nonumberlist,nopostdot]
\printglossary[type=nondim,style=long,nonumberlist,nopostdot]
\end{document}