词汇表 \Gls 无法正常工作

词汇表 \Gls 无法正常工作

据我从词汇表包的文档中了解,该命令仅应将首字母大写\Gls。我不明白为什么这个命令在我的例子中将所有字母大写,请参阅下面的代码。\Gls和 一样,问题也发生在 上\Glspl
我也尝试取消注释该hyperref包,但没有帮助。我在这里找到的所有其他问题都与我的问题不符。

\documentclass{article} 

\usepackage[urlbordercolor={1 1 1},citebordercolor={1 1 1},linkbordercolor={1 1 1},backref]{hyperref}

\usepackage[toc]{glossaries}
\newglossary*{acronyms}{Acronyms}

\newglossaryentry{lmn}
{
    type=acronyms,
    name={LMN},
    description={local model network},
    first={\glsentrydesc{lmn} (\glsentrytext{lmn})},
    plural={LMNs},
    firstplural={\glsentrydesc{lmn}s (\glsentryplural{lmn})}
}

\begin{document}
    \renewcommand{\acronymfont}[1]{\textsmaller{#1}}
    \Glspl{lmn}

    \glsresetall

    \glspl{lmn}

    % What is desired
    Local model networks (LMNs)

\end{document}

在我的计算机上编译此代码(Mac OS X El Capitan,MacTex 通过“Tex Live Utility”进行最新更新)得到:

在此处输入图片描述

答案1

这是一个已知的glossaries问题。参考第 113 页,我引用:

如果链接文本中的第一项是命令,后面跟着一个组,则对组的第一个对象执行大写转换。例如,如果条目定义为

\newglossaryentry{sample}{
  name={\emph{sample} phrase},
  sort={sample phrase},
  description={an example}}

然后\Gls{sample}将链接文本设置为:

  \emph{\MakeUppercase sample} Phrase

将显示为样本短语。

您的案例中采用的是整个描述。最简单的解决方案是手动定义和键的\MakeUppercase描述:firstfirstplural

\newglossaryentry{lmn}
{
    type=acronyms,
    name={LMN},
    description={local model network},
    first={local modern network (\glsentrytext{lmn})},
    plural={LMNs},
    firstplural={local model networks (\glsentryplural{lmn})}
}

在此处输入图片描述

相关内容