结合词汇表和索引?

结合词汇表和索引?

我正在编写一个文档,其中的词汇表条目来自索引。这很有效,直到我添加条件文本,指示是否添加了描述。看起来 TeX 陷入了无界递归,但我似乎无法理解这一点。如果不添加索引条目,这就可以正常工作。任何帮助都非常感谢。

\documentclass{article}

\usepackage{imakeidx}
\usepackage{enumitem}
\usepackage[automake]{glossaries}

\makeindex

\makeatletter
\def\ifentry#1#2#3{%
    \edef\tmp{#1}%
    \ifx\tmp\@empty%
        #3%
    \else%
        #2%
    \fi%
}
\makeatother

\newglossarystyle{descriptiontest}{%

    \setglossarystyle{indexgroup}

    \renewcommand{\glossentry}[2]{
        \item \textbf{{\glossentryname{##1}}}
        \edef\tmp{\glsentrydesc{##1}}
        \ifentry\tmp{Description: '\tmp'}{No description}

    }
} 

\newglossaryentry{ham}{name={ham}, description={goes with eggs\index{ham}}}     
\newglossaryentry{eggs}{name={eggs}, description=}     

\makeglossaries



\begin{document}

 \glsaddall

 \printglossary[style=descriptiontest]

\end{document} 

答案1

由 Nicola Talbot 在 comp.text.tex 上整理:

词汇表包附带条件命令,用于测试是否已设置键。\ifglshasdesc 不仅测试空描述,还测试描述是否仅设置为 \nopostdesc

相关内容