所以我很喜欢这个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}