Upgrade to glossaries
version 4.14 (I've only just uploaded it to CTAN, so you may need to wait a few days before it reaches the TeX distributions). This has a new command \glsenableentrycount
which enables two extra fields for each entry: currcount
and prevcount
. The currcount
field keeps track of how many times the entry has been used so far. (By "used", that means how many times \glsunset
has been used for that entry, so that means used by the \gls
-like commands, but not by other commands, such as \glsadd
, \glstext
or \glsentrytext
. The value is reset to zero by \glsreset
.) The prevcount
field stores the final value of the currcount
field as it was at the end of the previous LaTeX run.
In addition, \glsenableentrycount
also enables the commands \cgls
, \cglspl
, \cGls
and \cGlspl
which are like \gls
, \glspl
, \Gls
and \Glspl
but they test if the value of prevcount
is 1. If it is, then they just use commands like \glsentrylong
or \glsentryfirst
(followed by \glsunset
). if it isn't, they behave like their \gls
etc counterparts.
So your example can be modified as follows:
% arara: pdflatex
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
\documentclass{scrartcl}
\usepackage[xindy,style=long,numberline,savewrites=true,acronym,nomain]{glossaries}
\makeglossaries
\glsenableentrycount % enable \cgls, \cglspl, \cGls, \cGlspl
\newacronym{seqse}{SE}{spin echo}
\newacronym{seqffe}{FFE}{fast field echo}
\newacronym{mri}{MRI}{magnetic resonance imaging}
\begin{document}
\printglossaries
\begin{itemize}
\item Multiple use: \cgls{seqse}, \cgls{seqse}, \cgls{seqse}.
\item Multiple use: \cgls{seqffe}, \cgls{seqffe}.
\item One-time use: \cgls{mri}.
\end{itemize}
\end{document}
(I've added arara
directives as a reminder of the document build process, but you can ignore them if you don't use arara
.) If \cgls
seems like too much typing, remember you can define synonyms. For example:
\let\ac\cgls
\let\acpl\cglspl
\let\Ac\cGls
\let\Acpl\cGlspl
The result looks like:

Notes:
- This method will naturally take longer to build your document (since it requires an extra LaTeX run and has to do more stuff when using an entry).
- This method changes
\newglossaryentry
(and therefore \newacronym
) into preamble-only commands to ensure the entries are defined before the .aux
file is read.
- If you use other commands, such as
\glsadd
or \glstext
the single-use entry will be added to the list of acronyms.
\glsentrydesc{#2} (\glsentryname{#2})
will not add a reference to the glossary. Yet, when using this in the hack of tex.stackexchange.com/questions/26238/… to overwrite\gls{}
a note in theaux
file will precede thereby still putting a link to the glossary :/.