![自动词汇表参考](https://linux22.com/image/369051/%E8%87%AA%E5%8A%A8%E8%AF%8D%E6%B1%87%E8%A1%A8%E5%8F%82%E8%80%83.png)
我正在编写一个文档,其中必须大量使用词汇表中定义的术语和缩写。我不想\gls{HPC}
每次使用缩写时都输入内容HPC
。这会使代码中出现比我使用的缩写更长的垃圾,而且我可能会错过缩写的出现。
有没有办法告诉 LaTeX 总是HPC
用\gls{HPC}
和HPCs
替换\glspl{HPC}
?(为了指出潜在的问题,即要替换的一个术语可能是另一个术语的子字符串。但是,可以假设没有词汇表元素作为非词汇表元素的任何术语的子字符串出现。)
我知道我可以通过定义来改善这种情况
\newcommany{\HPC}{\gls{HPC}}
\newcommany{\HPCs}{\gls{HPCs}}
但仍然包含反斜杠。这是在不进行大量黑客攻击的情况下能做到的最好事情吗?
答案1
我不推荐这样做,但你可以使用\oldacronym
代替\newacronym
。代替:
\newacronym{HPC}{HPC}{H-whatever P-whatever C-whatever}
使用:
\oldacronym{HPC}{H-whatever P-whatever C-whatever}{}
这将创建命令\HPC
。如果缩写形式包含非字母内容,则需要使用可选参数:
\oldacronym[HiiPC]{H2PC}{H-whatever2 P-whatever C-whatever}{}
这将创建命令\HiiPC
。
最后一个参数是作为可选参数提供的 key=value 列表\newacronym
。
如果你加载了xspace
包,\xspace
则会附加到定义中,但要小心各种陷阱。请参阅表 13.2在glossaries
用户手册中。
之所以调用此命令,是因为其设计旨在模仿过时软件包(该软件包所替代的软件包)提供的命令\oldacronym
的风格。从长远来看,这种设计造成了太多问题,因此在替代软件包中未采用它。\newacronym
glossary
glossaries