词汇表中的多个页码均改为 Passim

词汇表中的多个页码均改为 Passim

我在准备一本厚书时使用glossaries。 的标准设置glossaries对我来说效果很好,但有一个例外。这是一个外来词词汇表,有些词汇表条目贯穿了整本书,我不想为它们添加所有的页码。相反,我希望页码参考为各个地方

这是我第一次尝试使用条件句,答案是这个问题作为起点。目标是,如果有最多十二页和/或页码范围需要引用,则引用所有页码,如果更多,则生成各个地方而不是页码。

这是我的起点,但在这里我已经得到了各个地方有多个页码,并且没有单个页码。

\documentclass{article}
\usepackage{xstring}
\usepackage[shortcuts]{glossaries}

\newif\ifmulti %replace with something like \ifmorethan{#}?

\newglossarystyle{mylist}{%
    \renewenvironment{theglossary}{\begin{description}}{\end{description}}%
    \renewcommand*{\glossaryentryfield}[5]{%
        \multifalse%
        \IfSubStr*{\detokenize{##5}}{delimN}{\multitrue}{\relax}%
        \IfSubStr*{\detokenize{##5}}{delimR}{\multitrue}{\relax}%
        \item[\glsentryitem{##1}\glstarget{##1}{##2}] ##3\glspostdescription \space {%
        \ifmulti \emph{passim} \else \fi ##5}%
    }%
}

\makeglossaries

\glsaddkey
 {extra}
 {\relax}
 {\glsentryextra}
 {\Glsentryextra}
 {\glsextra}
 {\Glsextra}
 {\GLSextra}

\newglossaryentry{veda}
    {
        name=veda,
        description={Religious text with hymns to the gods. The Vedas consist of Sama Veda, Rig Veda, Yajur Veda and Atharva Veda},
        text=veda,
        plural=vedas,
        sort=veda
    }

\newglossaryentry{viparit}
    {
        name={vipar\={\i}t karna},
        description={Acting contrary to one’s own nature},
        text=viparit karna,
        extra={Vipar\={\i}t karna\={\i}},
        sort=viparit karna
    }

\newglossaryentry{wasiat}
    {
        name={wasiyat, wasiat},
        description={Precept, commandment},
        text=wasiat,
        extra=wasiyat,
        sort=wasiyat
    }

\begin{document}

\gls{veda}
\gls{viparit}
\glsextra{wasiat}
\newpage
\gls{viparit}
\glsextra{veda}
\newpage
\gls{veda}

\printglossary[toctitle=\mbox{Glossary of Foreign Words},style=mylist]

\end{document} 

后续问题:在\newglossaryentry相关的几个描述中添加一些内容,阻止人们使用数字,这样会更容易吗?我可以直接输入, \emph{passim}description=字段中,然后以某种方式关闭该特定条目的页码引用?

相关内容