我需要定义一个基于 \setglossarystyle{list} 的自定义词汇表,以便在每个条目前面得到一个计数器:
符号 1 等等
符号 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}