词汇表的名称中包含其他词汇表的符号

词汇表的名称中包含其他词汇表的符号

我有一个词汇表条目,它定义了一个符号

\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}

但是,也许对索引包而不是词汇表进行一些投资会更合适。

相关内容