如何让一个首字母缩略词包含另一个首字母大写的首字母缩略词?

如何让一个首字母缩略词包含另一个首字母大写的首字母缩略词?

因此,我的文档中有两个缩写词。其中一个与另一个有关:

\newacronym[plural=AChems,firstplural=Artificial Chemistries (AChems)]{AChem}{AChem}{Artificial Chemistry}
\newacronym[plural=ssAChems,firstplural=subsymbolic \glspl{AChems} (ssAChems)]{ssAChem}{ssAChem}{subsymbolic \gls{AChem}}

目的是,第一个缩写词在第一次使用时应读作“人工化学 (AChem)”,第二次使用时应读作“AChem”。第二个缩写词在第一次使用时应读作“亚符号 AChem (ssAChem)”(如果人工化学缩写词已被使用),第二次使用时应读作“ssAChem”。

这实际上工作正常,直到我需要第一个字母大写。当发生这种情况时,我收到以下错误:

Package glossaries Error: Glossary entry `\MakeTextUppercase {A}Chems' has not been defined...

\makefirstuc我猜这是使用包含命令的东西时出现的问题\gls

那么我该如何克服这个问题并以这种方式使用首字母缩略词呢?或者,是否有一种最佳实践,根本不要求我在其他人中使用首字母缩略词?

答案1

用户glossaries手册建议不要使用嵌套链接(即\gls在命令使用的字段值中使用诸如 之类的命令\gls)。更多信息请参阅嵌套链接手册的部分glossaries-extra

建议的方法如下:

使用基础glossaries包。

long在、longplural和部分shortshortplural根据需要写出实际文本,并\acrlong在 中使用description

\documentclass{article}

\usepackage[colorlinks]{hyperref}
\usepackage{glossaries}

\makeglossaries
\setacronymstyle{long-short}

\newacronym[longplural=Artificial Chemistries]
{AChem}{AChem}{Artificial Chemistry}

\newacronym[longplural=subsymbolic Artificial Chemistries,
description={subsymbolic \acrlong{AChem}}]
{ssAChem}{ssAChem}{subsymbolic Artificial Chemistry}

\begin{document}
First use: \gls{AChem}, \gls{ssAChem}.

Next use: \gls{AChem}, \gls{ssAChem}.

\glsresetall

First use: \glspl{AChem}, \glspl{ssAChem}.

Next use: \glspl{AChem}, \glspl{ssAChem}.

\glsresetall

First use: \Gls{AChem}, \Gls{ssAChem}.

Next use: \Gls{AChem}, \Gls{ssAChem}.

\printglossaries
\end{document}

文件图像

使用glossaries-extra扩展包。

glossaries-extra软件包提供了一些专门用于此用途的命令,但它们仍然有一些注意事项,特别是不要在字段开始时使用它们,因为这会干扰首字母大写的命令。

\documentclass{article}

\usepackage[colorlinks]{hyperref}
\usepackage{glossaries-extra}

\makeglossaries
\setabbreviationstyle[acronym]{long-short}

\newacronym[longplural=Artificial Chemistries]
{AChem}{AChem}{Artificial Chemistry}

\newacronym[longplural=subsymbolic \glsxtrp{longpl}{AChem}]
{ssAChem}{ssAChem}{subsymbolic \glsxtrp{long}{AChem}}

\begin{document}
First use: \gls{AChem}, \gls{ssAChem}.

Next use: \gls{AChem}, \gls{ssAChem}.

\glsresetall

First use: \glspl{AChem}, \glspl{ssAChem}.

Next use: \glspl{AChem}, \glspl{ssAChem}.

\glsresetall

First use: \Gls{AChem}, \Gls{ssAChem}.

Next use: \Gls{AChem}, \Gls{ssAChem}.

\printglossaries
\end{document}

如果嵌套术语出现在字段的开头,或者该字段用于排序,或者字段值需要在可扩展的上下文中使用,则最好使用第一种方法(需要进行适当的修改以将其转换为可用于glossaries-extra):

\documentclass{article}

\usepackage[colorlinks]{hyperref}
\usepackage{glossaries-extra}

\makeglossaries
\setabbreviationstyle[acronym]{long-short}

\newacronym[longplural=Artificial Chemistries]
{AChem}{AChem}{Artificial Chemistry}

\newacronym[longplural=subsymbolic Artificial Chemistries,
description={subsymbolic \glsxtrlong{AChem}}]
{ssAChem}{ssAChem}{subsymbolic Artificial Chemistry}

\begin{document}
First use: \gls{AChem}, \gls{ssAChem}.

Next use: \gls{AChem}, \gls{ssAChem}.

\glsresetall

First use: \glspl{AChem}, \glspl{ssAChem}.

Next use: \glspl{AChem}, \glspl{ssAChem}.

\glsresetall

First use: \Gls{AChem}, \Gls{ssAChem}.

Next use: \Gls{AChem}, \Gls{ssAChem}.

\printglossaries
\end{document}

或者:

\documentclass{article}

\usepackage[colorlinks]{hyperref}
\usepackage{glossaries-extra}

\makeglossaries
\setabbreviationstyle{long-short}

\newabbreviation[longplural=Artificial Chemistries]
{AChem}{AChem}{Artificial Chemistry}

\newabbreviation[longplural=subsymbolic Artificial Chemistries,
description={subsymbolic \glsxtrlong{AChem}}]
{ssAChem}{ssAChem}{subsymbolic Artificial Chemistry}

\begin{document}
First use: \gls{AChem}, \gls{ssAChem}.

Next use: \gls{AChem}, \gls{ssAChem}.

\glsresetall

First use: \glspl{AChem}, \glspl{ssAChem}.

Next use: \glspl{AChem}, \glspl{ssAChem}.

\glsresetall

First use: \Gls{AChem}, \Gls{ssAChem}.

Next use: \Gls{AChem}, \Gls{ssAChem}.

\printglossaries
\end{document}

相关内容