Bug Tracker RSS feed

I’m currently working on a major new version of the datatool package. This may take a while. Please be patient. (Experimental version available for testing.)

ID 84🔗
Date: 2015-04-14 22:02:32
Status Closed (Not a Bug)
Category glossaries
Version 4.15
Summary \glsresetall unsets more than only first use flag (\cgls)

Sign in to subscribe to notifications about this report.

Description

When \glsresetall is issued after a \cgls command is used, it assumes that \gls is used instead of a \cgls.

Therefore, it displays the full description including the abbreviation instead of only the description (if the given acronym is used only once in the complete document).

MWE

Download (474B)

\documentclass{article}

\usepackage{glossaries}

\makeglossaries

\glsenableentrycount

\newacronym{ANO}{ANO}{Acronym Number One}
\newacronym{ANT}{ANT}{Acronym Number Two}
\newglossaryentry{test} {
    name={test},
    description={A test is used for testing}
}

\begin{document}

\printglossaries

\glsresetall
\section{Section One}
\gls{ANO}, \gls{ANO}\\
\cgls{ANT}\\
\gls{test}

\glsresetall
\section{Section Two}
\gls{ANO}\\

\end{document}

Evaluation

This is expected behaviour. From section "Counting the Number of Times an Entry has Been Used (First Use Flag Unset)" (emphasis added):

The currcount field keeps track of how many times \glsunset is used within the document. A local unset (using \glslocalunset) performs a local rather than global increment to currcount. Remember that not all commands use \glsunset. Only the \gls-like commands do this. The reset commands \glsreset and \glslocalreset reset this field back to zero (where \glslocalreset performs a local change).
So using \glsresetall resets the currcount field to zero for all the entries. Since the "ANT" entry isn't used after the second \glsresetall, the currcount field for "ANT" is zero at the end of the document. This means that at the start of the next LaTeX run "prevcount" for "ANT" is 0. Commands such as \cgls{ANT} test this value:
If you have enabled entry counting with \glsenableentrycount then these commands test if \glsentryprevcount{⟨label⟩} equals 1. If it doesn’t then the analogous \gls etc will be used.
Since prevcount for "ANT" is 0 the test for prevcount=1 is false so \cgls behaves like \gls.

Comments

0 comments.


Add Comment

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account.

Comment:


You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.

Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=84