词汇表名称前的计数器

词汇表名称前的计数器

我需要定义一个基于 \setglossarystyle{list} 的自定义词汇表,以便在每个条目前面得到一个计数器:

  1. 符号 1 等等

  2. 符号 2 啦啦啦

...

我认为我必须做这样的事情:

\newglossarystyle{symbols}{%
    \setglossarystyle{list}% % based on the list style
    \renewcommand*{\glossarypreamble}{\vspace{4ex}}%
    \renewcommand*{\glossaryheader}{}%
}

但是,这种样式会生成符号和缩写列表,但不会对它们进行计数,而且由于某种原因,缩写会以粗体显示。

我已经看过样式列表失败。我找不到一个命令来计算列表中的符号数量,只有命令可以计算条目在文本中使用的次数。任何帮助都值得赞赏。整个项目可以在这里


评论中已经回答了部分问题。剩下的问题是如何使词汇表条目不以粗体显示。

答案1

entrycounter包选项定义了一个名为的计数器,glossaryentry该计数器递增并显示在词汇表中每个顶级术语的开头(以支持它的样式)。

有一些相关命令:

  • \ifglsentrycounter... \else...\fi
    此条件可用于测试entrycounter选项是否设置。
  • \theglossaryentry
    控制如何显示计数器值(如\thepage\thechapter等等)。
  • \glsentrycounterlabel
    如果设置已启用,则用于格式化计数器。其定义为:

    \newcommand*{\glsentrycounterlabel}{%
     \ifglsentrycounter
       \theglossaryentry.\space
     \fi
    }
    

    (最初条件不包含在命令定义中。它是作为 v4.38 2018-05-10 中错误修复的一部分添加的。)

  • \glsstepentry{入口标签}
    用于增加和标记计数器。(可以使用\glsrefentry{入口标签}

  • \glsentryitem{入口标签}
    由预定义样式使用来增加并显示计数器。其定义为:

    \newcommand*{\glsentryitem}[1]{%
      \ifglsentrycounter
        \glsstepentry{#1}\glsentrycounterlabel
      \else
        \glsresetsubentrycounter
      \fi
    }
    

    如果您定义了自己的自定义样式,并且希望它支持该entrycounter选项,那么当设置开启时,您需要包含\glsentryitem您希望数字出现的位置。

  • \glsresetsubentrycounter
    将计数器重置为零。

如果输入计数器以粗体显示,那是因为使用的特定样式\glsentryitem在粗体区域内。对于默认list样式,这是在可选参数中\item。最简单的方法是重新定义\glsentrycounterlabel为明确使用非粗体。例如:

\documentclass{article}

\usepackage[entrycounter]{glossaries}

\makeglossaries

\loadglsentries{example-glossaries-brief}% dummy entries
\glsaddall % add all entries for testing

\renewcommand*{\glsentrycounterlabel}{%
 \ifglsentrycounter
   \textmd{\theglossaryentry.}\space
 \fi
}

\begin{document}
\printglossaries
\end{document}

词汇表图片

相关内容