定制词汇表输出和 \glsaddkey

定制词汇表输出和 \glsaddkey

我正在编写一份需要一些自定义的首字母缩略词列表的报告。我的目的是生成一个首字母缩略词列表,其中包含一个额外的列,用于与首字母缩略词相关的自定义参数。最后,我想能够做类似以下的事情:

\usepackage[acronym, section]{glossaries}

\glsaddkey{detail}{} ...

\newacronym[detail=(info)]{AD}{AD}{Acronym Definition}

我想跟进这一点,以便在首字母缩略词列表中,它在文档末尾有一个如下所示的输出:

(info)    AD     Acronym Definition

我不想改变报告文本中缩写的显示方式。

在研究如何自己做到这一点时,我遇到了这个问题:自定义词汇表样式,\makenoidxglossaries 和 \glsgroupskip。这个问题似乎与我想要完成的问题非常相似,但是我无法让 MWE 在他们的答案中发挥作用,这使得将其适应我自己的应用程序相当困难。具体来说,我在编译时收到以下错误:

! Undefined control sequence.
l.42 \glsaddkey
               {math}{}{\acem}{\Acem}{\acm}{\Acm}{\ACm}

我肯定错过了一些简单的东西,因为我似乎找不到任何关于我在这里做错什么的提示。如果我能让那个 MWE 工作,我应该能够通过逆向工程和破解我自己的方式将它应用于我的特定应用程序。为了方便起见,这是我上面引用的示例中的 MWE。

\documentclass{article}
\usepackage{amsfonts}
\usepackage{booktabs}
\usepackage[shortcuts]{glossaries}
\makeglossaries

\glsaddkey{math}{}{\acem}{\Acem}{\acm}{\Acm}{\ACm}

\newacronym[math=\mathfrak{foo}]{foo}{foo}{Foo}
\newacronym[math=\mathfrak{bar}]{bar}{bar}{Bar}
\newacronym[math=\mathfrak{baz}]{baz}{baz}{Baz}
\newacronym[math=\mathfrak{qux}]{qux}{qux}{Qux}

\newglossarystyle{my}{%
  \setglossarystyle{long3colheader}%
  \renewcommand*{\glossaryheader}{%
    \toprule
    Abbreviation & Symbol in Mathematical Expressions & Description \tabularnewline\midrule\endhead
    \bottomrule\endfoot
  }%
  \renewcommand*{\glsgroupskip}{%
     & &\tabularnewline}%
  \setlength\glsdescwidth{.275\textwidth}%
  \setlength\glspagelistwidth{.45\textwidth}%
  \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & $\acem{##1}$ & \glossentrydesc{##1}\tabularnewline
  }%
}

\setglossarystyle{my}

\begin{document}
  \glsaddallunused
  \printglossaries
\end{document}

相关内容