我有一个词汇表条目,它定义了一个符号
\newglossaryentry{nc:line:num}{
name=cache lines,
symbol=\ensuremath{\#l},
description=number of lines in cache}
并想symbol
在第二个词汇表的另一个条目中使用它。因此我尝试:
\newglossaryentry{cache:swayassociative}{
name={\glsentrysymbol{nc:line:num}-way associative},
description={\nopostdesc},
parent={cache},
see={nc:line:num}
然而,这会将代码放入输出中,而不是实际的符号。
另外,我不确定如何正确地右对齐数字并正确放置“查看 XXX”文本,以便它们不重叠。(我正在使用样式mcolalttreegroup
)。
附言:我在这里尝试使用词汇表作为索引,也许它不是适合这项工作的工具,但由于我实际上也将它用于真正的词汇表,所以我认为使用我相当熟悉的工具不会有坏处(考虑到我是个新手并且没有使用 makeidx 的经验)。
PPS:我花时间深入研究了 makeidx,发现像这样的条目\ensuremath{n}-way associative
很麻烦,而该包的简短文档暗示我应该坚持使用词汇表,因为词汇表有额外的排序键来处理这种情况
答案1
包选项sanitize=none
应该可以解决这个问题。然后,您可以修改词汇表样式以更改数字的位置和其他内容(“文档代码”的 3.6 和用户手册的 16.2):
\documentclass{report}
\usepackage[sanitize=none]{glossaries}
\newglossaryentry{nc:line:num}{
name=cache lines,
symbol=\ensuremath{\#l},
description=number of lines in cache}
\newglossaryentry{cache:swayassociative}{
name={\glsentrysymbol{nc:line:num}-way associative},
description={\nopostdesc},
parent={cache},
see={nc:line:num}}
\makeglossaries%
\newglossarystyle{indexGlossaryStyle}{
\glossarystyle{mcolalttreegroup}
\renewcommand{\glsgroupskip}{}
\renewcommand{\glspostdescription}{\hspace*{\fill}see}}
\begin{document}
\printglossary[style=indexGlossaryStyle]%
\clearpage%
nc:line:num glossary entry '\gls{nc:line:num}`
\clearpage%
cache:swayassociative glossary entry '\gls{cache:swayassociative}`
\end{document}
但是,也许对索引包而不是词汇表进行一些投资会更合适。