因此,我不确定为什么使用基于列表的词汇表样式时没有遇到此问题,但是当我在首字母缩略词类型(即名为类别的新字段)中启用特定术语子集的词汇表计数时,似乎存在一些混淆,即术语用法导致取消设置该术语,以便将其包含在列表中。在简单的示例中,第一个和短扩展没有问题,但它们不会打印在列表中:
\documentclass{article}
\usepackage{textgreek}
\usepackage[savewrites=true,nogroupskip,style=tree]{glossaries-extra}
\newcommand{\acrinverse}[1]{{\acrshort{#1}}\xspace{\acrlong{#1}}}
\newglossary[alg]{acronym}{acr}{acn}{List of Acronyms}
\makeindex
\makeglossaries
\glsenableentrycount % enable \cgls, \cglspl, \cGls, \cGlspl
\glssetcategoryattribute{acronym}{entrycount}{1}
% Not using \newabbreviation so redefine \cglsformat
% to just check for the long field.
% http://tex.stackexchange.com/questions/319997/problems-with-glsenableentrycount-when-usepackageglossaries-extra-instead-of
\renewcommand*{\cglsformat}[2]{%
\ifglshaslong{#1}{\glsentrylong{#1}}{\glsentryfirst{#1}}#2%
}
\AtEndPreamble{%
\let\ncgls\gls
\let\ncglspl\glspl
\let\ncGls\Gls
\let\ncGlspl\Glspl
\let\gls\cgls
\let\glspl\cglspl
\let\Gls\cGls
\let\Glspl\cGlspl
}
%==================================================================================================================================================================
\newglossarystyle{paragraphAcronymList}{%
\setglossarystyle{tree}% base this style on the list style
\def\entrysep{\def\entrysep{; }}%
\renewenvironment{theglossary}%
{\setlength{\parindent}{0pt}%
\setlength{\parskip}{0pt plus 0.3pt}}%
{.}%
\renewcommand*{\glossentry}[2]{%
\entrysep\glstarget{##1}{\glossentryname{##1}}:~\space\glossentrydesc{##1}\glspostdescription}%
}
%==================================================================================================================================================================
\newglossaryentry{TNF}{
type={acronym},
category={acronym},
sort={tumor necrosis factor},
name={TNF},
first={tumor necrosis factor (TNF)},
description={tumor necrosis factor}
}
\glssetnoexpandfield{first}
\glssetnoexpandfield{firstpl}
\newcommand{\TNFalpha}{TNF--{\textalpha}}
\newglossaryentry{TNFalpha}{
type={acronym},
category={acronym},
sort={tumor necrosis factor alpha},
name={\TNFalpha},
first={\ifglsused{TNF}{\TNFalpha}{\glsunset{TNF}tumor necrosis factor alpha~(\TNFalpha)}},
description={tumor necrosis factor alpha}
}
\newglossaryentry{HDPE}
{
type={acronym},
category={acronym},
name={HDPE},
short={HDPE},
long={high density polyethylene},
first={high density polyethylene (HDPE)},
description={high density polyethylene}
}
\newglossaryentry{SHG}{%
type={acronym},
category={acronym},
name={SHG},
short={SHG},
long={second harmonic generation},
description={second harmonic generation},
first={second harmonic generation (SHG)},
sort={second harmonic generation}
}%
\newglossaryentry{SRS}{%
type={acronym},
category={acronym},
name={SRS},
short={SRS},
long={stimulated Raman scattering},
description={stimulated Raman scattering},
first={stimulated Raman scattering (SRS)},
sort={stimulated Raman scattering}
}%
\newglossaryentry{TPEF}{%
type={acronym},
category={acronym},
name={TPEF},
short={TPEF},
long={two-photon-excited fluorescence},
description={two-photon-excited fluorescence},
first={two-photon-excited fluorescence (TPEF) },
sort={two-photon-excited fluorescence}
}%
\begin{document}
\gls{TNFalpha}
\gls{TNFalpha}
\gls{TNF}
\gls{TNF}
\gls{HDPE}
\gls{HDPE}
\gls{TPEF}
\gls{TPEF}
\gls{SHG}
\gls{SHG}
\gls{SRS}
\gls{SRS}
\printglossary[type=acronym,style=paragraphAcronymList]\clearpage
\end{document}
答案1
您的构建过程是什么?启用条目计数后,需要先运行两次 LaTeX 才能makeglossaries
确定应包含哪些条目。您的 MWE 对我来说,可以很好地处理、、,pdflatex
并产生:pdflatex
makeglossaries
pdflatex
所有引用的条目均列在词汇表中。
顺便说一句,方法glossaries
和glossaries-extra
处理条目计数之间有一些区别。使用,您可以直接使用glossaries-extra
等,因此您不需要 中的代码。如果所引用的术语已为其类别启用了条目计数,则这将自动使用,否则它将使用原始的。\GlsXtrEnableEntryCounting
\gls
\AtEndPreamble
\cgls
\gls
您可以利用 提供的更复杂的缩写处理来glossaries-extra
处理您的TNFalpha
条目。您可以为依赖于另一个术语的缩写定义缩写样式。例如,如果依赖缩写使用键user1
来存储其依赖的术语的标签,则可以使用以下样式定义:
\newabbreviationstyle{dependent}%
{% base it on the long-short style
\GlsXtrUseAbbrStyleSetup{long-short}%
}
{% base it on long-short
\GlsXtrUseAbbrStyleFmts{long-short}%
% full form no case-changing format:
\renewcommand*{\glsxtrfullformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\glsentrytext{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\glsentrylong{##1}~(\glsentryshort{##1})%
}%
}%
% full plural form no case-changing format:
\renewcommand*{\glsxtrfullplformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\glsentryplural{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\glsentrylongpl{##1}~(\glsentryshortpl{##1})%
}%
}%
% full form first letter upper case format:
\renewcommand*{\Glsxtrfullformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\Glsentrytext{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\Glsentrylong{##1}~(\glsentryshort{##1})%
}%
}%
% full plural form first letter upper case format:
\renewcommand*{\glsxtrfullplformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\Glsentryplural{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\Glsentrylongpl{##1}~(\glsentryshortpl{##1})%
}%
}%
}
然后可以用上述样式为该TNFalpha
术语赋予类别标签:dependent
dependent
\setabbreviationstyle[dependent]{dependent}
\newacronym[sort={TNF-a},category=dependent,user1=TNF]% dependent on TNF
{TNFalpha}{TNF--{\textalpha}}{tumor necrosis factor alpha}
这样做的好处是,即使你碰巧用 开头一个句子,它也不会中断\Gls{TNFalpha}
。 这样,你密钥开头的代码first
就会中断。 以下方法可以正常工作。(构建顺序为pdflatex
、pdflatex
、makeglossaries
、pdflatex
。)
\documentclass{article}
\usepackage{textgreek}
\usepackage[abbreviations]{glossaries-extra}
\makeglossaries
\GlsXtrEnableEntryCounting{abbreviation,dependent}{1}
\newglossarystyle{paragraphAcronymList}{%
\setglossarystyle{tree}% base this style on the list style
\renewcommand*{\glsgroupskip}{}%
\def\entrysep{\def\entrysep{; }}%
\renewenvironment{theglossary}%
{\setlength{\parindent}{0pt}%
\setlength{\parskip}{0pt plus 0.3pt}}%
{.}%
\renewcommand*{\glossentry}[2]{%
\entrysep\glstarget{##1}{\glossentryname{##1}}:~\space\glossentrydesc{##1}\glspostdescription}%
}
% style for abbreviations dependent on another abbreviation
% (the dependent term should be supplied in the user1 key)
\newabbreviationstyle{dependent}%
{% base it on the long-short style
\GlsXtrUseAbbrStyleSetup{long-short}%
}
{% base it on long-short
\GlsXtrUseAbbrStyleFmts{long-short}%
% full form no case-changing format:
\renewcommand*{\glsxtrfullformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\glsentrytext{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\glsentrylong{##1}~(\glsentryshort{##1})%
}%
}%
% full plural form no case-changing format:
\renewcommand*{\glsxtrfullplformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\glsentryplural{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\glsentrylongpl{##1}~(\glsentryshortpl{##1})%
}%
}%
% full form first letter upper case format:
\renewcommand*{\Glsxtrfullformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\Glsentrytext{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\Glsentrylong{##1}~(\glsentryshort{##1})%
}%
}%
% full plural form first letter upper case format:
\renewcommand*{\glsxtrfullplformat}[2]{%
% get the dependent label
\glsfieldfetch{##1}{useri}{\deplabel}%
% if the dependent term has been used, just use this term's name
\ifglsused{\deplabel}{\Glsentryplural{##1}}%
{% otherwise, unset dependent term and do long form followed by
% short form
\glsunset{\deplabel}\Glsentrylongpl{##1}~(\glsentryshortpl{##1})%
}%
}%
}
\setabbreviationstyle[abbreviation]{long-short}
\setabbreviationstyle[dependent]{dependent}
\newabbreviation{HDPE}{HDPE}{high density polyethylene}
\newabbreviation{TNF}{TNF}{tumor necrosis factor}
\newabbreviation{SHG}{SHG}{second harmonic generation}
\newabbreviation{SRS}{SRS}{stimulated Raman scattering}
\newabbreviation{TPEF}{TPEF}{two-photon-excited fluorescence}
\newabbreviation[sort={TNF-a},category=dependent,user1=TNF]% dependent on TNF
{TNFalpha}{TNF--{\textalpha}}{tumor necrosis factor alpha}
\begin{document}
\gls{TNFalpha}
\gls{TNFalpha}
\gls{TNF}
\gls{TNF}
\gls{HDPE}
\gls{HDPE}
\gls{TPEF}
\gls{TPEF}
\gls{SHG}
\gls{SHG}
\gls{SRS}
\gls{SRS}
\printabbreviations[title={List of Acronyms},style=paragraphAcronymList]
\end{document}
得出的结果为:
现在切换顺序进行测试:
\gls{TNF}
\gls{TNF}
\gls{TNFalpha}
\gls{TNFalpha}
现在通过删除第二次使用来测试条目计数HDPE
:
内部运作
\cgls
以下是有关内部运作的更多信息glossaries-extra.sty
。
实际\cgls
定义为
\@gls@hyp@opt\@cgls
glossaries
这是处理可选修饰符(*
或+
)和参数的原始定义。该\gls
命令的定义方式类似:
\@gls@hyp@opt\@gls
\@cgls@
实际的内部工作由(对于\cgls
)和\@gls@
(对于)执行\gls
。外部的\@cgls
、\cgls
和\@gls
仅\gls
提供方便的用户界面。
\@cgls@
它是由 重新定义的内部命令glossaries-extra
。默认情况下,glossaries.sty
此内部命令会产生错误,直到启用条目计数时重新定义它。对于glossaries-extra.sty
,\@cgls@
最初被重新定义为\@gls@
。这就是为什么默认情况下glossaries-extra
,对于\cgls
的行为与 完全相同\gls
。
glossaries-extra
当使用时\glsenableentrycount
( 内部使用\GlsXtrEnableEntryCounting
),\@cgls@
设置为\@@cgls@
。 定义如下:
\def\@@cgls@#1#2[#3]{%
\glsxtrifcounttrigger{#2}%
{%
\cglsformat{#2}{#3}%
\glsunset{#2}%
}%
{%
\@gls@{#1}{#2}[#3]%
}%
}%
这使用\glsxtrifcounttrigger{
标签}
确定入口计数是否适用于标签。如果不适用,则\@gls@
再次使用,因此\cgls
仍然以与此实例完全相同的方式运行\gls
。如果触发了条目计数,则根据格式化条目,\cglsformat
然后取消设置(\glsunset
除了取消设置首次使用标志外,还增加该条目的总计数)。
为了方便\GlsXtrEnableEntryCounting
起见
\let\gls\cgls
因此,如果您以后决定添加条目计数,则无需修改文档。现在,不再直接使用\@gls@
,而是\gls
在内部使用,只有在未触发条目计数机制时\@cgls@
才会使用。\@gls@
触发命令定义为:
\newcommand*{\glsxtrifcounttrigger}[3]{%
\glshasattribute{#1}{entrycount}%
{%
\ifnum\glsentryprevcount{#1}>\glsgetattribute{#1}{entrycount}\relax
#3%
\else
#2%
\fi
}%
{#3}%
}
因此,它所做的第一件事是检查是否entrycount
已为第一个参数中提供的标签的条目设置了属性。如果尚未设置该属性,则它将#3
执行\@gls@{
选项}{
标签}[
插入]
(原始的正常行为\gls[
选项]{
标签}[
插入]
)。
如果entrycount
已设置该属性,则应为整数。总计数从上一次运行开始然后将此条目的( \glsentryprevcount{#1}
) 与此属性的值 ( \glsgetattribute{#1}{entrycount}
) 进行比较。这是找出此条目在整个文档中使用的总次数的唯一方法。TeX 无法提前查看该条目是否在之后被使用过。这就是为什么在 之前需要两次 LaTeX 调用的原因makeglossaries
。
这是一个简单的例子:
\documentclass{article}
\usepackage{glossaries-extra}
\makeglossaries
\GlsXtrEnableEntryCounting{foo,bar}{1}
\newglossaryentry{foo1}{name={foo1},
category=foo,
first={foo1 (first use)},
description={foo 1 example}}
\newglossaryentry{foo2}{name={foo2},
category=foo,
first={foo2 (first use)},
description={foo 2 example}}
\newglossaryentry{bar1}{name={bar1},
category=bar,
first={bar1 (first use)},
description={bar 1 example}}
\newglossaryentry{bar2}{name={bar2},
category=bar,
first={bar2 (first use)},
description={bar 2 example}}
\newglossaryentry{example1}{name={example1},
% no category label provided, implicit category=general
first={example 1 (first use)},
description={general 1 example}}
\newglossaryentry{example2}{name={example2},
% no category label provided, implicit category=general
first={example 2 (first use)},
description={general 2 example}}
\begin{document}
First use.
\gls{foo1}, \gls{foo2}.
\gls{bar1}, \gls{bar2}.
\gls{example1}, \gls{example2}.
Second use.
\gls{foo1}.
\gls{bar1}.
\printglossaries
\end{document}
我第一次调用pdflatex
将以下行添加到.aux
文件中:
\@gls@entry@count{foo1}{2}
\@gls@entry@count{foo2}{1}
\@gls@entry@count{bar1}{2}
\@gls@entry@count{bar2}{1}
这些是文档中使用 、 和 的总次数。条目foo1
和foo2
未bar1
包括在内,因为它们的类别 ( ) 未设置属性。bar2
example1
example2
general
entrycount
第一次运行\glsentryprevcount
返回所有条目的 0,因为之前没有总数。因此,\ifnum
中的部分\glsxtrifcounttrigger
是比较0>1
,它是 false,因此会触发该\cglsformat
部分。这意味着该first
字段始终被使用,即使foo1
和bar1
实际上已被使用过两次。
该文件的主体内容如下:
首次使用。foo1
(首次使用),foo2(首次使用)。bar1
(首次使用),bar2(首次使用)。
示例 1(首次使用),示例 2(首次使用)。
第二次使用。foo1
(首次使用)。bar1
(首次使用)。
下一个pdflatex
调用现在具有正确的值,\glsentryprevcount
因为它们已在.aux
文件中提供。文档现在如下所示:
首次使用。foo1
(首次使用),foo2(首次使用)。bar1
(首次使用),bar2(首次使用)。
示例 1(首次使用),示例 2(首次使用)。
第二次使用
。foo1。bar1
。
对于foo1
和来说bar1
,前一次运行的总条目数为 2,因此\ifnum
条件是测试2>1
,其为真,因此它使用常规,\@gls@
这意味着它的行为与正常的 一样\gls
。
foo2
在和的情况下bar2
,上次运行的总条目数为 1,因此测试现在为1>1
,即为假,因此\cglsformat
改用 。
glossaries-extra
的定义是\cglsformat
:
\renewcommand*{\cglsformat}[2]{%
\glsifregular{#1}
{\glsentryfirst{#1}}%
{\ifglshaslong{#1}{\glsentrylong{#1}}{\glsentryfirst{#1}}}#2%
}
首先检查条目是否被视为“常规”。这取决于属性的存在和值regular
。如果条目类别的regular
属性设置为true
(或尚未设置),则假定为常规。
使用 定义的条目\newglossaryentry
默认为常规条目。某些缩写样式(例如long-short
)将regular
属性设置为false
。这将它们标识为缩写,在使用 等命令显示时,需要与常规条目进行不同的处理\gls
。
在此示例中,所有条目都是常规的,因此\glsentryfirst
使用。如果您希望使用其他字段,则可以重新定义\cglsformat
。例如,假设foo2
现在定义为:
\newglossaryentry{foo2}{name={foo2},
category=foo,
first={foo2 (first use)},
long={foooooo2},
description={foo 2 example}}
我可以重新定义\cglsformat
跳过对属性的检查regular
,而是检查字段long
:
\renewcommand*{\cglsformat}[2]{%
\ifglshaslong{#1}{\glsentrylong{#1}}{\glsentryfirst{#1}}#2%
}
我现在明白了
首次使用。foo1
(首次使用),foooooo2。bar1
(首次使用),bar2(首次使用)。
示例 1(首次使用),示例 2(首次使用)。
第二次使用
。foo1。bar1
。
或者,可以使用另一个字段专门用于此值。例如:
\glsaddstoragekey{cformat}{}{\cformatentry}
\renewcommand*{\cglsformat}[2]{%
\ifglshasfield{cformat}{#1}%
{\cformatentry{#1}}%
{%
\glsifregular{#1}
{\glsentryfirst{#1}}%
{\ifglshaslong{#1}{\glsentrylong{#1}}{\glsentryfirst{#1}}}%
}%
#2%
}
该条目现在可以定义为:
\newglossaryentry{foo2}{name={foo2},
category=foo,
cformat={foooooo2},
first={foo2 (first use)},
description={foo 2 example}}
如果您希望不同类别使用不同的触发值,则可以entrycount
像这样更改相应类别的属性:
\GlsXtrEnableEntryCounting{foo,bar}{1}
\glssetcategoryattribute{bar}{entrycount}{2}
\cglsformat
仅适用于单数无大小写转换版本 ( \gls
)。还有类似的命令\cglsplformat
(复数无大小写转换)、\cGlsformat
(单数首字母大写) 和\cGlsplformat
(复数首字母大写)。
description
这是一个仅使用或字段的示例,descriptionplural
无论条目是否被视为常规:
\renewcommand*{\cglsformat}[2]{%
\glsentrydesc{#1}#2%
}
\renewcommand*{\cglsplformat}[2]{%
\glsentrydescplural{#1}#2%
}
\renewcommand*{\cGlsformat}[2]{%
\Glsentrydesc{#1}#2%
}
\renewcommand*{\cGlsplformat}[2]{%
\Glsentrydescplural{#1}#2%
}
重置首次使用标志
请注意,条目计数机制通过挂接到修改首次使用标志的宏来工作(这就是为什么条目计数仅设计用于修改首次使用标志的命令的原因)。这意味着\glsreset
(因此\glsresetall
)不仅重置首次使用标志,而且还重置条目计数器。这可以通过对 MWE 的以下修改来说明:
\documentclass{article}
\usepackage{glossaries-extra}
\makeglossaries
\GlsXtrEnableEntryCounting{foo,bar}{1}
\newglossaryentry{foo1}{name={foo1},
category=foo,
first={foo1 (first use)},
description={foo 1 example}}
\newglossaryentry{foo2}{name={foo2},
category=foo,
first={foo2 (first use)},
description={foo 2 example}}
\newglossaryentry{bar1}{name={bar1},
category=bar,
first={bar1 (first use)},
description={bar 1 example}}
\newglossaryentry{bar2}{name={bar2},
category=bar,
first={bar2 (first use)},
description={bar 2 example}}
\newglossaryentry{example1}{name={example1},
% no category label provided, implicit category=general
first={example 1 (first use)},
description={general 1 example}}
\newglossaryentry{example2}{name={example2},
% no category label provided, implicit category=general
first={example 2 (first use)},
description={general 2 example}}
\begin{document}
First use.
\gls{foo1}, \gls{foo2}.
\gls{bar1}, \gls{bar2}.
\gls{example1}, \gls{example2}.
Second use.
\gls{foo1}.
\gls{bar1}.
Current count value. foo1: \glsentrycurrcount{foo1},
foo2: \glsentrycurrcount{foo2}, bar1: \glsentrycurrcount{bar1},
bar2: \glsentrycurrcount{bar2}.
Resetting the first use flag resets the counter.\glsresetall
Back to first use.
\gls{foo1}, \gls{foo2}.
\gls{bar1}, \gls{bar2}.
\gls{example1}, \gls{example2}.
Current count value. foo1: \glsentrycurrcount{foo1},
foo2: \glsentrycurrcount{foo2}, bar1: \glsentrycurrcount{bar1},
bar2: \glsentrycurrcount{bar2}.
Count value obtained from previous run. foo1: \glsentryprevcount{foo1},
foo2: \glsentryprevcount{foo2}, bar1: \glsentryprevcount{bar1},
bar2: \glsentryprevcount{bar2}.
\printglossaries
\end{document}
首次使用。foo1
(首次使用),foo2(首次使用)。bar1
(首次使用),bar2(首次使用)。
示例 1(首次使用),示例 2(首次使用)。
第二次使用。foo1
(首次使用)。bar1
(首次使用)。
当前计数值。foo1:2,foo2:1,bar1:2,bar2:1。
重置首次使用标志会重置计数器。
回到首次使用。foo1
(首次使用),foo2(首次使用)。bar1
(首次使用),bar2(首次使用)。
示例 1(首次使用),示例 2(首次使用)。
当前计数值。foo1:1,foo2:1,bar1:1,bar2:1。
从上次运行获得的计数值。foo1:1,foo2:1,bar1:1,bar2:1。词汇表
示例1一般 1 示例 1
示例2一般 2 示例 1
当前计数值通过 获得\glsentrycurrcount
。每次 时计数值增加\glsunset
,每次 时重置为零\glsreset
。在文档末尾,该值将写入.aux
文件,并可在下次运行时使用 检索\glsentryprevcount
。
因此,在使用文档范围的条目计数机制时,不建议使用\glsreset
(或\glsresetall
)。如果您要按部分单位重置,则最好使用单位计数版本。例如,上述文档已转换为按 进行单位计数\section
:
\documentclass{article}
\usepackage{glossaries-extra}
\makeglossaries
\GlsXtrEnableEntryUnitCounting{foo,bar}{1}{section}
\newglossaryentry{foo1}{name={foo1},
category=foo,
first={foo1 (first use)},
description={foo 1 example}}
\newglossaryentry{foo2}{name={foo2},
category=foo,
first={foo2 (first use)},
description={foo 2 example}}
\newglossaryentry{bar1}{name={bar1},
category=bar,
first={bar1 (first use)},
description={bar 1 example}}
\newglossaryentry{bar2}{name={bar2},
category=bar,
first={bar2 (first use)},
description={bar 2 example}}
\newglossaryentry{example1}{name={example1},
% no category label provided, implicit category=general
first={example 1 (first use)},
description={general 1 example}}
\newglossaryentry{example2}{name={example2},
% no category label provided, implicit category=general
first={example 2 (first use)},
description={general 2 example}}
\begin{document}
\section{Sample Section}
First use.
\gls{foo1}, \gls{foo2}.
\gls{bar1}, \gls{bar2}.
\gls{example1}, \gls{example2}.
Second use.
\gls{foo1}.
\gls{bar1}.
Current count value. foo1: \glsentrycurrcount{foo1},
foo2: \glsentrycurrcount{foo2}, bar1: \glsentrycurrcount{bar1},
bar2: \glsentrycurrcount{bar2}.
\section{Another Section}
Resetting the first use flag.\glsresetall
Back to first use.
\gls{foo1}, \gls{foo2}.
\gls{bar1}, \gls{bar2}.
\gls{example1}, \gls{example2}.
Current count value. foo1: \glsentrycurrcount{foo1},
foo2: \glsentrycurrcount{foo2}, bar1: \glsentrycurrcount{bar1},
bar2: \glsentrycurrcount{bar2}.
Count value obtained from previous run for the current section.
foo1: \glsentryprevcount{foo1},
foo2: \glsentryprevcount{foo2}, bar1: \glsentryprevcount{bar1},
bar2: \glsentryprevcount{bar2}.
Total count value obtained from previous run for the entire document.
foo1: \glsentryprevtotalcount{foo1},
foo2: \glsentryprevtotalcount{foo2}, bar1: \glsentryprevtotalcount{bar1},
bar2: \glsentryprevtotalcount{bar2}.
\printglossaries
\end{document}
现在产生:
1 个示例部分
第一次使用。foo1
(第一次使用),foo2(第一次使用)。bar1
(第一次使用),bar2(第一次使用)。
示例 1(第一次使用),示例 2(第一次使用)。
第二次使用。foo1。bar1
。
当前
计数值。foo1:2,foo2:1,bar1:2,bar2:1。2 另一节
重置首次使用标志。
返回首次使用。foo1
(首次使用),foo2(首次使用)。bar1
(首次使用),bar2(首次使用)。
示例 1(首次使用),示例 2(首次使用)。
当前计数值。foo1:1,foo2:1,bar1:1,bar2:1。
从当前部分的前一次运行中获得的计数值。foo1:1,foo2:1,bar1:1,bar2:1。
从前一次运行中获得的整个文档的总计数值。foo1:3,foo2:2,bar1:3,bar2:2。词汇表
酒吧1酒吧 1 示例 1
示例1一般 1 示例 1
示例2一般 2 示例 1
foo1foo 1 示例 1