词汇表包中的格式化符号

词汇表包中的格式化符号

所以我很喜欢这个glossaries软件包,并且已经按照我的意愿对它进行了调整和自动化。但是,我仍然有一个问题:如何格式化词汇表中的符号?我希望它以与周围文本不同的颜色显示。MWE:

\documentclass{article}
\usepackage{glossaries}
\usepackage{glossary-mcols}
\setglossarystyle{mcolindex}
\makeglossaries
\newglossaryentry{examp}{name={EXAMPLE},%
    description={Just showing what I mean},%
    symbol={Ex.}%
}
\begin{document}
This is my \gls{examp}.
\printglossary
\end{document}

我可以清楚地重新定义mcolindex词汇表样式,它本身是词汇表样式的略微修改版本index,但该软件包非常完整且可定制,因此我不禁想到有一种更简单的方法可以做到这一点。 我尝试按照手册中的说明进行操作glossaries-user

\newglossarystyle{newglssty}{%
    \setglossarystyle{mcolindex}%
    \renewcommand*{\glossentrysymbol}[1]{\textcolor{blue}{##1}}%
}%
\setglossarystyle{newglssty}

但是由于一些我不知道的原因,这glossary会在期望符号出现的位置产生键(“examp”)。

有人能帮忙指出我这里遗漏了什么吗?

答案1

\renewcommand*{\glossentrysymbol}[1]{\textcolor{blue}{##1}}%

是错误的重新定义\glossentrysymbol——现在只是定义用蓝色打印密钥,而不是使用密钥、获取其符号并用蓝色显示它。

绕过这个问题的一种方法是保护原始\glossentrysymbol命令,并将\textcolour{blue}{\glossentrysymbolorig{##1}}其包装在\renewcommand*

\documentclass{article}
\usepackage{xcolor}
\usepackage{glossaries}
\usepackage{glossary-mcols}
\setglossarystyle{mcolindex}
\makeglossaries
\newglossaryentry{examp}{name={EXAMPLE},%
    description={Just showing what I mean},%
    symbol={Ex.}%
}

\let\glossentrysymbolorig\glossentrysymbol
\newglossarystyle{newglssty}{%
    \setglossarystyle{mcolindex}%
    \renewcommand*{\glossentrysymbol}[1]{\textcolor{blue}{\glossentrysymbolorig{##1}}}%
}%
\setglossarystyle{newglssty}
\begin{document}
This is my \gls{examp}.
\printglossary
\end{document}

在此处输入图片描述

相关内容