summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/glossaries
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-08-03 16:53:12 +0000
committerKarl Berry <karl@freefriends.org>2014-08-03 16:53:12 +0000
commit685b5dc94ea5ebab0435f4f24c7a77183aac27b5 (patch)
tree199770cb370c166121fec455f7b043fcec885678 /Master/texmf-dist/source/latex/glossaries
parent2daa6a84a95d9070b144a984ef1ff44d66a29367 (diff)
glossaries
git-svn-id: svn://tug.org/texlive/trunk@34809 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/glossaries')
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.dtx3575
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.ins19
2 files changed, 2596 insertions, 998 deletions
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
index f774aa54d38..e5df3b925d9 100644
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
@@ -13,6 +13,7 @@
% -src "glossaries.sty\Z=>glossaries.sty"
% -src "glossaries-prefix.sty\Z=>glossaries-prefix.sty"
% -src "mfirstuc.sty\Z=>mfirstuc.sty"
+% -src "mfirstuc-english.sty\Z=>mfirstuc-english.sty"
% -src "(glossary-.+)\.(sty)\Z=>\1.\2"
% -src "(glossaries-compatible-.+)\.(sty)\Z=>\1.\2"
% -src "(glossaries-accsupp)\.(sty)\Z=>\1.\2"
@@ -20,6 +21,8 @@
% -src "(glossaries-polyglossia)\.(sty)\Z=>\1.\2"
% -src "(glossaries-dictionary-.+)\.(dict)\Z=>\1.\2"
% -src "(minimalgls\.tex)\Z=>\1"
+% -src "(glossary-lipsum-examples\.tex)\Z=>\1"
+% -src "(example-glossaries-.*\.tex)\Z=>\1"
% -src "(sample.*\.tex)\Z=>\1"
% -src "(samplexdy-mc.*\.xdy)\Z=>\1"
% -src "(database.*\.tex)\Z=>\1"
@@ -28,7 +31,7 @@
% -author "Nicola Talbot"
% -codetitle "Main Package Code"
% glossaries
-% Created on 2014/4/4 12:03
+% Created on 2014/7/31 17:34
%\fi
%\iffalse
%<*package>
@@ -138,7 +141,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
\setcounter{IndexColumns}{2}
-\CheckSum{18947}
+\CheckSum{18588}
\newcommand*{\ifirstuse}{\iterm{first use}}
\newcommand*{\firstuse}{\gls{firstuse}}
@@ -166,12 +169,12 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
%\MakeShortVerb{"}
%\DeleteShortVerb{\|}
%
-% \title{Documented Code For glossaries v4.07}
+% \title{Documented Code For glossaries v4.08}
% \author{Nicola L.C. Talbot\\[10pt]
%Dickimaw Books\\
%\url{http://www.dickimaw-books.com/}}
%
-% \date{2014-04-04}
+% \date{2014-07-30}
% \maketitle
%
%This is the documented code for the \styfmt{glossaries} package.
@@ -187,7 +190,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
%glossaries package}.
%
%\item[\url{glossaries-user.pdf}]
-%For the main user guide, read \qt{glossaries.sty v4.07:
+%For the main user guide, read \qt{glossaries.sty v4.08:
%\LaTeX2e\ Package to Assist Generating Glossaries}.
%
%\item[\url{mfirstuc-manual.pdf}]
@@ -231,7 +234,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
% This package requires \LaTeXe.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries}[2014/04/04 v4.07 (NLCT)]
+\ProvidesPackage{glossaries}[2014/07/30 v4.08 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -977,7 +980,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
%\begin{option}{acronym}
% The \pkgopt{acronym} option sets an associated conditional
-% which is used in \autoref{sec:acronym} to determine whether
+% which is used in \autoref{sec:code:acronym} to determine whether
% or not to define a separate glossary for acronyms.
% \begin{macrocode}
\define@boolkey{glossaries.sty}[gls]{acronym}[true]{%
@@ -1837,6 +1840,38 @@ name=true]{%
% \end{macrocode}
%\end{option}
%
+%\begin{option}{automake}
+%\changes{4.08}{2014-07-30}{new}
+% If this setting is on, automatically run
+% \gls{makeindex}\slash\gls{xindy} at the end of the document.
+% Must be used with \ics{makeglossaries}.
+% Default is false.
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[gls]{automake}[true]{%
+ \ifglsautomake
+ \renewcommand*{\@gls@doautomake}{%
+ \PackageError{glossaries}{You must use
+ \string\makeglossaries\space with automake=true}
+ {%
+ Either remove the automake=true setting or
+ add \string\makeglossaries\space to your document preamble.%
+ }%
+ }%
+ \else
+ \renewcommand*{\@gls@doautomake}{}%
+ \fi
+}
+\glsautomakefalse
+% \end{macrocode}
+%\end{option}
+%\begin{macro}{\@gls@doautomake}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\@gls@doautomake}{}
+\AtEndDocument{\@gls@doautomake}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{option}{savewrites}
%\changes{3.0}{2011/04/02}{new}
% The \pkgopt{savewrites} package option is provided to save on
@@ -2358,13 +2393,17 @@ name=true]{%
%\begin{macro}{\setStyleFile}
% Sets the style file. The relevant extension is appended.
% \begin{macrocode}
-\ifglsxindy
- \newcommand{\setStyleFile}[1]{%
- \renewcommand{\istfilename}{#1.xdy}}
-\else
- \newcommand{\setStyleFile}[1]{%
- \renewcommand{\istfilename}{#1.ist}}
-\fi
+\newcommand{\setStyleFile}[1]{%
+ \renewcommand*{\gls@istfilebase}{#1}%
+% \end{macrocode}
+% Just in case \cs{istfilename} has been modified.
+% \begin{macrocode}
+ \ifglsxindy
+ \def\istfilename{\gls@istfilebase.xdy}
+ \else
+ \def\istfilename{\gls@istfilebase.ist}
+ \fi
+}
% \end{macrocode}
% This command only has an effect prior to using
% \ics{makeglossaries}.
@@ -2384,12 +2423,18 @@ name=true]{%
%\changes{1.17}{2008 December 26}{added xindy support}
% \begin{macrocode}
\ifglsxindy
- \def\istfilename{\jobname.xdy}
+ \def\istfilename{\gls@istfilebase.xdy}
\else
- \def\istfilename{\jobname.ist}
+ \def\istfilename{\gls@istfilebase.ist}
\fi
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\gls@istfilebase}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\gls@istfilebase}{\jobname}
+% \end{macrocode}
+%\end{macro}
% The \app{makeglossaries} Perl script picks up this name
% from the auxiliary file. If the name ends with \filetype{.xdy}
% it calls \app{xindy} otherwise it calls \app{makeindex}.
@@ -3428,6 +3473,15 @@ name=true]{%
}
% \end{macrocode}
%\end{macro}
+
+%\begin{macro}{\forallacronyms}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\forallacronyms}[2]{%
+ \@for#1:=\@glsacronymlists\do{\ifx#1\@empty\else#2\fi}%
+}
+% \end{macrocode}
+%\end{macro}
%
%\begin{macro}{\forglsentries}
% To iterate through all entries in a given glossary use:\\[10pt]
@@ -3839,6 +3893,30 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\@gls@forbidtexext}
+%\changes{4.08}{2014-07-30}{new}
+% As a security precaution, don't allow the user to specify a `tex'
+% extension for any of the glossary files. (Just in case a seriously
+% confused novice user doesn't know what they're doing.) The
+% argument must be a control sequence whose replacement text is the
+% requested extension.
+% \begin{macrocode}
+\newcommand*{\@gls@forbidtexext}[1]{%
+ \ifboolexpr{test {\ifdefstring{#1}{tex}}
+ or test {\ifdefstring{#1}{TEX}}}
+ {%
+ \def#1{nottex}%
+ \PackageError{glossaries}%
+ {Forbidden `.tex' extension replaced with `.nottex'}%
+ {I'm sorry, I can't allow you to do something so reckless.\MessageBreak
+ Don't use `.tex' as an extension for a temporary file.}%
+ }%
+ {%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
% A new glossary type is defined using \cs{newglossary}.
% Syntax:
%\begin{definition}
@@ -3859,8 +3937,26 @@ name=true]{%
% and passes the appropriate file names and switches to
% \app{makeindex}.
%\begin{macro}{\newglossary}
+%\changes{4.08}{2014-07-30}{added starred version}
% \begin{macrocode}
-\newcommand*{\newglossary}[5][glg]{%
+\newcommand*{\newglossary}{\@ifstar\s@newglossary\ns@newglossary}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\s@newglossary}
+% The starred version will construct the extension based on the
+% label.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\s@newglossary}[2]{%
+ \ns@newglossary[#1-glg]{#1}{#1-gls}{#1-glo}{#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\ns@newglossary}
+%\changes{4.08}{2014-07-30}{new}
+% Define the unstarred version.
+% \begin{macrocode}
+\newcommand*{\ns@newglossary}[5][glg]{%
\ifglossaryexists{#2}%
{%
\PackageError{glossaries}{Glossary type `#2' already exists}{%
@@ -3887,10 +3983,18 @@ name=true]{%
% \begin{macrocode}
\expandafter\gdef\csname glolist@#2\endcsname{,}%
% \end{macrocode}
-% Store details of this new glossary type:
+% Store the file extensions:
+%\changes{4.08}{2014-07-30}{added \cs{@glotype@\meta{name}@log}}
+% \begin{macrocode}
+ \expandafter\edef\csname @glotype@#2@log\endcsname{#1}%
+ \expandafter\edef\csname @glotype@#2@in\endcsname{#3}%
+ \expandafter\edef\csname @glotype@#2@out\endcsname{#4}%
+ \expandafter\@gls@forbidtexext\csname @glotype@#2@log\endcsname
+ \expandafter\@gls@forbidtexext\csname @glotype@#2@in\endcsname
+ \expandafter\@gls@forbidtexext\csname @glotype@#2@out\endcsname
+% \end{macrocode}
+% Store the title:
% \begin{macrocode}
- \expandafter\def\csname @glotype@#2@in\endcsname{#3}%
- \expandafter\def\csname @glotype@#2@out\endcsname{#4}%
\expandafter\def\csname @glotype@#2@title\endcsname{#5}%
% \end{macrocode}
%\changes{3.10a}{2013-10-13}{added \cs{@gls@provide@newglossary}}
@@ -4000,6 +4104,60 @@ name=true]{%
\@gls@do@indexdef
% \end{macrocode}
%
+%\begin{macro}{\newignoredglossary}
+% Creates a new glossary that doesn't have associated files.
+% This glossary is ignored by and commands that iterate over
+% glossaries, such as \ics{printglossaries}, and won't work with
+% commands like \ics{printglossary}. It's intended for entries that
+% are so commonly-known they don't require a glossary.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\newignoredglossary}[1]{%
+ \ifdefempty\@ignored@glossaries
+ {%
+ \edef\@ignored@glossaries{#1}%
+ }%
+ {%
+ \eappto\@ignored@glossaries{,#1}%
+ }%
+ \csgdef{glolist@#1}{,}%
+ \ifcsundef{gls@#1@entryfmt}%
+ {%
+ \defglsentryfmt[#1]{\glsentryfmt}%
+ }%
+ {}%
+ \ifdefempty\@gls@nohyperlist
+ {%
+ \renewcommand*{\@gls@nohyperlist}{#1}%
+ }%
+ {%
+ \eappto\@gls@nohyperlist{,#1}%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@ignored@glossaries}
+% List of ignored glossaries.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\@ignored@glossaries}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\ifignoredglossary}
+% Tests if the given glossary is an ignored glossary.
+% Expansion is used in case the first argument is a control
+% sequence.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\ifignoredglossary}[3]{%
+ \edef\@gls@igtype{#1}%
+ \expandafter\DTLifinlist\expandafter
+ {\@gls@igtype}{\@ignored@glossaries}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
%
%\subsection{Defining new entries}\label{sec:newentry}
% New glossary entries are defined using \cs{newglossaryentry}.
@@ -4224,7 +4382,8 @@ name=true]{%
% \end{macrocode}
%\end{key}
%
-% Define some generic user keys. (6 ought to be enough!)
+% Define some generic user keys. (Additional keys can be added by
+% the user.)
%\begin{key}{user1}
% \begin{macrocode}
\define@key{glossentry}{user1}{%
@@ -4756,11 +4915,11 @@ name=true]{%
{}%
}%
{%
- \newrobustcmd*{#5}{\@ifstar{\csuse{@sgls@user@#1}}{\csuse{@gls@user@#1}}}%
- \expandafter\newcommand\expandafter*\expandafter
- {\csname @sgls@user@#1\endcsname}[1][]{%
- \csuse{@gls@user@#1}[hyper=false,##1]%
- }%
+% \end{macrocode}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
+%\changes{4.08}{2014-07-30}{removed \cs{@sgls@user@\meta{key}}}
+% \begin{macrocode}
+ \newrobustcmd*{#5}{\@gls@hyp@opt{\csuse{@gls@user@#1}}}%
\expandafter\newcommand\expandafter*\expandafter
{\csname @gls@user@#1\endcsname}[2][]{%
\new@ifnextchar[%
@@ -4781,11 +4940,11 @@ name=true]{%
{}%
}%
{%
- \newrobustcmd*{#6}{\@ifstar{\csuse{@sGls@user@#1}}{\csuse{@Gls@user@#1}}}%
- \expandafter\newcommand\expandafter*\expandafter
- {\csname @sGls@user@#1\endcsname}[1][]{%
- \csuse{@Gls@user@#1}[hyper=false,##1]%
- }%
+% \end{macrocode}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGls@user@\meta{key}}}
+% \begin{macrocode}
+ \newrobustcmd*{#6}{\@gls@hyp@opt{\csuse{@Gls@user@#1}}}%
\expandafter\newcommand\expandafter*\expandafter
{\csname @Gls@user@#1\endcsname}[2][]{%
\new@ifnextchar[%
@@ -4806,11 +4965,11 @@ name=true]{%
{}%
}%
{%
- \newrobustcmd*{#7}{\@ifstar{\csuse{@sGLS@user@#1}}{\csuse{@GLS@user@#1}}}%
- \expandafter\newcommand\expandafter*\expandafter
- {\csname @sGLS@user@#1\endcsname}[1][]{%
- \csuse{@GLS@user@#1}[hyper=false,##1]%
- }%
+% \end{macrocode}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLS@user@\meta{key}}}
+% \begin{macrocode}
+ \newrobustcmd*{#7}{\@gls@hyp@opt{\csuse{@GLS@user@#1}}}%
\expandafter\newcommand\expandafter*\expandafter
{\csname @GLS@user@#1\endcsname}[2][]{%
\new@ifnextchar[%
@@ -5017,12 +5176,28 @@ name=true]{%
% \begin{macrocode}
\ifcsundef{glolist@\@glo@type}%
{%
- \PackageError{glossaries}%
- {Glossary type `\@glo@type' has not been defined}%
- {You need to define a new glossary type, before making entries
- in it}%
+ \PackageError{glossaries}%
+ {Glossary type `\@glo@type' has not been defined}%
+ {You need to define a new glossary type, before making entries
+ in it}%
}%
{%
+% \end{macrocode}
+%\changes{4.08}{2014-07-30}{added check for ignored glossary}
+% Check if it's an ignored glossary
+% \begin{macrocode}
+ \ifignoredglossary\@glo@type
+ {%
+% \end{macrocode}
+% The description may be omitted for an entry in an ignored
+% glossary.
+% \begin{macrocode}
+ \ifx\@glo@desc\@glsnodesc
+ \let\@glo@desc\@empty
+ \fi
+ }%
+ {%
+ }%
\protected@edef\@glolist@{\csname glolist@\@glo@type\endcsname}%
\expandafter\xdef\csname glolist@\@glo@type\endcsname{%
\@glolist@{\@glo@label},}%
@@ -5238,7 +5413,13 @@ name=true]{%
% format when entry
% is defined}%
% \begin{macrocode}
- \do@glo@storeentry{\@glo@label}%
+ \ifignoredglossary\@glo@type
+ {%
+ \csdef{glo@\@glo@label @index}{}%
+ }
+ {%
+ \do@glo@storeentry{\@glo@label}%
+ }%
% \end{macrocode}
% Add end hook in case another package wants to add extra keys.
% \begin{macrocode}
@@ -5329,7 +5510,7 @@ name=true]{%
% output (\filetype{.glo}) file.
% The argument is the entry's label (should already have been
% de-tok'ed if required).
-% The result is stored in \cs{glo@}\meta{label}"@entry", where
+% The result is stored in \cs{glo@}\meta{label}"@index", where
% \meta{label} is the entry's label. (This doesn't include
% any formatting or location information.)
% \begin{macrocode}
@@ -6296,6 +6477,11 @@ name=true]{%
% \begin{macrocode}
\define@boolkey{glslink}{hyper}[true]{}
% \end{macrocode}
+%\changes{4.08}{2014-07-30}{explicitly initialise hyper key}
+% Initialise hyper key.
+% \begin{macrocode}
+\ifdef{\hyperlink}{\KV@glslink@hypertrue}{\KV@glslink@hyperfalse}
+% \end{macrocode}
%\changes{3.04}{2012-11-18}{added local key}
% The \gloskey[glslink]{local} key is a boolean key. If true this
% indicates that commands such as \ics{gls} should only do a local
@@ -6304,6 +6490,68 @@ name=true]{%
\define@boolkey{glslink}{local}[true]{}
% \end{macrocode}
%
+% The original \cs{glsifhyper} command isn't particularly useful
+% as it makes more sense to check the actual hyperlink setting
+% rather than testing whether the starred or unstarred version
+% has been used. Therefore, as from version 4.08, \cs{glsifhyper}
+% is deprecated in favour of \ics{glsifhyperon}. In case there is
+% a particular need to know whether the starred or unstarred version
+% was used, provide a new command that determines whether the
+% *-version, +-version or unmodified version was used.
+%\begin{definition}
+%\cs{glslinkvar}\marg{unmodified case}\marg{star case}\marg{plus case}
+%\end{definition}
+%\begin{macro}{\glslinkvar}
+%\changes{4.08}{2014-07-30}{new}
+% Initialise to unmodified case.
+% \begin{macrocode}
+\newcommand*{\glslinkvar}[3]{#1}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsifhyper}
+% Now deprecated.
+%\changes{4.08}{2014-07-30}{deprecated}
+% \begin{macrocode}
+\newcommand*{\glsifhyper}[2]{%
+ \glslinkvar{#1}{#2}{#1}%
+ \GlossariesWarning{\string\glsifhyper\space is deprecated. Did
+ you mean \string\glsifhyperon\space or \string\glslinkvar?}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@gls@hyp@opt}
+% Used by the commands such as \cs{glslink} to determine whether to
+% modify the hyper option.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\@gls@hyp@opt}[1]{%
+ \let\glslinkvar\@firstofthree
+ \let\@gls@hyp@opt@cs#1\relax
+ \@ifstar{\s@gls@hyp@opt}%
+ {\@ifnextchar+{\@firstoftwo{\p@gls@hyp@opt}}{#1}}%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\s@gls@hyp@opt}
+% Starred version
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\s@gls@hyp@opt}[1][]{%
+ \let\glslinkvar\@secondofthree
+ \@gls@hyp@opt@cs[hyper=false,#1]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\p@gls@hyp@opt}
+% Plus version
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\p@gls@hyp@opt}[1][]{%
+ \let\glslinkvar\@thirdofthree
+ \@gls@hyp@opt@cs[hyper=true,#1]}
+% \end{macrocode}
+%\end{macro}
+%
%Syntax:
%\begin{definition}
% \cs{glslink}\oarg{options}\marg{label}\marg{text}
@@ -6320,32 +6568,27 @@ name=true]{%
% which is equivalent to
% \cs{glslink}"[hyper=false,"\meta{options}"]"\marg{label}\marg{text}
%
-% First determine whether or not we are using the starred version:
+% First determine which version is being used:
%\begin{macro}{\glslink}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
\newrobustcmd*{\glslink}{%
- \@ifstar\@sgls@link\@gls@@link
+ \@gls@hyp@opt\@gls@@link
}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\@sgls@link}
-% The starred version of \cs{glslink} calls the unstarred version
-% with hyperlinks disabled.
-% \begin{macrocode}
-\newcommand*{\@sgls@link}[1][]{\@gls@@link[hyper=false,#1]}
-% \end{macrocode}
-%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \cs{@sgls@link}}
%\begin{macro}{\@gls@@link}
%\changes{2.03}{2009 Sep 23}{new}
-% The unstarred version of \cs{glslink} checks for the existance
-% of the term. The main part of the business is in \cs{@gls@link}
+% The main part of the business is in \cs{@gls@link}
% which shouldn't check if the term is defined as it's called by
% \cs{gls} etc which also perform that check.
% \begin{macrocode}
\newcommand*{\@gls@@link}[3][]{%
\ifglsentryexists{#2}%
{%
+ \let\do@gls@link@checkfirsthyper\relax
\@gls@link[#1]{#2}{#3}%
}{%
\PackageError{glossaries}{Glossary entry `#2' has not been
@@ -6360,6 +6603,48 @@ name=true]{%
}
% \end{macrocode}
%\end{macro}
+%
+%\begin{macro}{\@gls@link@checkfirsthyper}
+% Check for first use and switch off \gloskey[glslink]{hyper} key
+% if hyperlink not wanted. (Should be off if first use and
+% hyper=false is on or if first use and both the entry is in an acronym
+% list and the acrfootnote setting is on.)
+% This assumes the glossary type is stored in \cs{glstype} and the
+% label is stored in \cs{glslabel}.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\@gls@link@checkfirsthyper}{%
+ \ifglsused{\glslabel}%
+ {%
+ }%
+ {%
+ \gls@checkisacronymlist\glstype
+ \ifglshyperfirst
+ \if@glsisacronymlist
+ \ifglsacrfootnote
+ \KV@glslink@hyperfalse
+ \fi
+ \fi
+ \else
+ \KV@glslink@hyperfalse
+ \fi
+ }%
+% \end{macrocode}
+% Allow user to hook into this
+% \begin{macrocode}
+ \glslinkcheckfirsthyperhook
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslinkcheckfirsthyperhook}
+% Allow used to hook into the \cs{\@gls@link@checkfirsthyper} macro
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\glslinkcheckfirsthyperhook}{}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\@gls@link}
%\changes{1.07}{2007 Sep 13}{fixed bug caused by \cs{theglsentrycounter} setting the page number too soon}
%\changes{1.15}{2008 August 15}{added \cs{glslabel}}
@@ -6391,18 +6676,42 @@ name=true]{%
%\changes{3.07}{2013-07-05}{fixed bug that failed to find entry in list}%
% If this is in one of the ``nohypertypes'' glossaries, suppress the
% hyperlink by default
+%\changes{4.08}{2014-07-30}{renamed \cs{gls@type} to \cs{glstype}}
+% \begin{macrocode}
+ \edef\glstype{\csname glo@\glslabel @type\endcsname}%
+% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed redundancy}
+% Save original setting
+% \begin{macrocode}
+ \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
+% \end{macrocode}
+% Switch off hyper setting if the glossary type has been identified
+% in nohyperlist.
% \begin{macrocode}
- \edef\gls@type{\csname glo@\glslabel @type\endcsname}%
\expandafter\DTLifinlist\expandafter
- {\gls@type}{\@gls@nohyperlist}%
+ {\glstype}{\@gls@nohyperlist}%
{%
\KV@glslink@hyperfalse
}%
{%
- \KV@glslink@hypertrue
}%
+% \end{macrocode}
+% Macros must set this before calling \cs{@gls@link}. The
+% commands that check the first use flag should set this to
+% \cs{@gls@link@checkfirsthyper} otherwise it should be set to
+% \cs{relax}.
+% \begin{macrocode}
+ \do@gls@link@checkfirsthyper
\setkeys{glslink}{#1}%
% \end{macrocode}
+% Define \cs{glsifhyperon}
+% \begin{macrocode}
+ \ifKV@glslink@hyper
+ \let\glsifhyperon\@firstoftwo
+ \else
+ \let\glsifhyperon\@secondoftwo
+ \fi
+% \end{macrocode}
% Store the entry's counter in \cs{theglsentrycounter}
%\changes{3.0}{2011/04/02}{added \cs{@gls@saveentrycounter}}
% \begin{macrocode}
@@ -6426,6 +6735,10 @@ name=true]{%
% \begin{macrocode}
\glstextformat{#3}%
\fi
+% \end{macrocode}
+% Restore original setting
+% \begin{macrocode}
+ \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
}
% \end{macrocode}
%\end{macro}
@@ -6954,6 +7267,24 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsdohypertarget}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newlength\gls@tmplen
+\newcommand*{\glsdohypertarget}[2]{%
+ \settoheight{\gls@tmplen}{#2}%
+ \raisebox{\gls@tmplen}{\hypertarget{#1}{}}#2%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsdohyperlink}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\glsdohyperlink}[2]{\hyperlink{#1}{#2}}
+% \end{macrocode}
+%\end{macro}
+%
+%
%\begin{macro}{\@glslink}
% If \ics{hyperlink} is not defined \cs{@glslink}
% ignores its first argument and just does the second argument,
@@ -6963,10 +7294,10 @@ name=true]{%
% \begin{macrocode}
\ifcsundef{hyperlink}%
{%
- \gdef\@glslink#1#2{#2}%
+ \let\@glslink\@secondoftwo
}%
{%
- \gdef\@glslink#1#2{\hyperlink{#1}{#2}}%
+ \let\@glslink\glsdohyperlink
}
% \end{macrocode}
%\end{macro}
@@ -6980,15 +7311,12 @@ name=true]{%
%\changes{1.16}{2008 August 27}{raised the hypertarget so the target text doesn't
% scroll off the top of the page}
% \begin{macrocode}
-\newlength\gls@tmplen \ifcsundef{hypertarget}%
+\ifcsundef{hypertarget}%
{%
- \gdef\@glstarget#1#2{#2}%
+ \let\@glstarget\@secondoftwo
}%
{%
- \gdef\@glstarget#1#2{%
- \settoheight{\gls@tmplen}{#2}%
- \raisebox{\gls@tmplen}{\hypertarget{#1}{}}#2%
- }%
+ \let\@glstarget\glsdohypertarget
}
% \end{macrocode}
%\end{macro}
@@ -6996,30 +7324,36 @@ name=true]{%
% Glossary hyperlinks can be disabled using \cs{glsdisablehyper}
% (effect can be localised):
%\begin{macro}{\glsdisablehyper}
+%\changes{4.08}{2014-07-30}{added \cs{KV@glslink@hyperfalse}
+% to definition}
% \begin{macrocode}
\newcommand{\glsdisablehyper}{%
- \renewcommand*\@glslink[2]{##2}%
- \renewcommand*\@glstarget[2]{##2}%
+ \KV@glslink@hyperfalse
+ \let\@glslink\@secondoftwo
+ \let\@glstarget\@secondoftwo
}
% \end{macrocode}
%\end{macro}
% Glossary hyperlinks can be enabled using \cs{glsenablehyper}
% (effect can be localised):
%\begin{macro}{\glsenablehyper}
+%\changes{4.08}{2014-07-30}{added \cs{KV@glslink@hypertrue}
+% to definition}
% \begin{macrocode}
\newcommand{\glsenablehyper}{%
-\renewcommand*\@glslink[2]{\hyperlink{##1}{##2}}%
-\renewcommand*\@glstarget[2]{%
- \settoheight{\gls@tmplen}{##2}%
- \raisebox{\gls@tmplen}{\hypertarget{##1}{}}##2}}
+ \KV@glslink@hypertrue
+ \let\@glslink\glsdohyperlink
+ \let\@glstarget\glsdohypertarget
+}
% \end{macrocode}
%\end{macro}
%
+%
% Provide some convenience commands if not already defined:
+%\changes{4.08}{2014-07-30}{removed \cs{@thirdofthree} (defined in kernel)}
% \begin{macrocode}
\providecommand{\@firstofthree}[3]{#1}
\providecommand{\@secondofthree}[3]{#2}
-\providecommand{\@thirdofthree}[3]{#3}
% \end{macrocode}
%
%Syntax:
@@ -7042,18 +7376,14 @@ name=true]{%
% (Additional options can also be specified
% in the first optional argument.)
%
-% First determine if we are using the starred form:
+% First determine which version is being used:
%\begin{macro}{\gls}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\gls}{\@ifstar\@sgls\@gls}
-% \end{macrocode}
-%\end{macro}
-% Define the starred form:
-%\begin{macro}{\@sgls}
-% \begin{macrocode}
-\newcommand*{\@sgls}[1][]{\@gls[hyper=false,#1]}
+\newrobustcmd*{\gls}{\@gls@hyp@opt\@gls}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \cs{@sgls}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
%\begin{macro}{\@gls}
@@ -7069,7 +7399,7 @@ name=true]{%
\def\@gls@#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{add \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glscustomtext} and \cs{glsinsert}}
@@ -7082,23 +7412,14 @@ name=true]{%
\def\glsinsert{#3}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}.
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7111,24 +7432,10 @@ name=true]{%
%\changes{2.03}{2009 Sep 23}{Added check for hyperfirst}
%\changes{2.04}{2009 November 10}{Changed test to check if glossary type
%has been identified as a list of acronyms}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse
- {\(\boolean{@glsisacronymlist}\AND \boolean{glsacrfootnote}\)
- \OR \NOT\boolean{glshyperfirst}
- }%
- {%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
% \begin{macrocode}
@@ -7149,14 +7456,12 @@ name=true]{%
% for terms that start a sentence:
%\begin{macro}{\Gls}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Gls}{\@ifstar\@sGls\@Gls}
+\newrobustcmd*{\Gls}{\@gls@hyp@opt\@Gls}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGls}[1][]{\@Gls[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGls}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7170,7 +7475,7 @@ name=true]{%
\def\@Gls@#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{4.03}{2014-01-20}{removed \cs{glslabel} (defined in
%\cs{@gls@link})}
@@ -7183,23 +7488,16 @@ name=true]{%
\def\glsinsert{#3}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7215,24 +7513,7 @@ name=true]{%
%\changes{3.11a}{2013-10-15}{removed \cs{makefirstuc} (now dealt
%with in \cs{glsentryfmt})}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse
- {%
- \(\boolean{@glsisacronymlist}\AND \boolean{glsacrfootnote}\)
- \OR \NOT\boolean{glshyperfirst}%
- }%
- {%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
% \begin{macrocode}
@@ -7250,14 +7531,12 @@ name=true]{%
% text is converted to uppercase:
%\changes{3.01}{2011/04/12}{made robust}
%\begin{macro}{\GLS}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLS}{\@ifstar\@sGLS\@GLS}
+\newrobustcmd*{\GLS}{\@gls@hyp@opt\@GLS}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLS}[1][]{\@GLS[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLS}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7271,7 +7550,7 @@ name=true]{%
\def\@GLS@#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{4.03}{2014-01-20}{removed \cs{glslabel} (defined in
%\cs{@gls@link})}
@@ -7284,23 +7563,16 @@ name=true]{%
\def\glsinsert{#3}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text}).
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7316,22 +7588,7 @@ name=true]{%
%\changes{3.11a}{2013-10-15}{removed \cs{MakeUppercase} (now moved
%to \cs{glsentryfmt})}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse
- {%
- \(\boolean{@glsisacronymlist}\AND \boolean{glsacrfootnote}\)
- \OR \NOT\boolean{glshyperfirst}}{%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
% \begin{macrocode}
@@ -7349,14 +7606,12 @@ name=true]{%
% it uses the plural form.
%\begin{macro}{\glspl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glspl}{\@ifstar\@sglspl\@glspl}
+\newrobustcmd*{\glspl}{\@gls@hyp@opt\@glspl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglspl}[1][]{\@glspl[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglspl}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7370,7 +7625,7 @@ name=true]{%
\def\@glspl@#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{4.03}{2014-01-20}{removed \cs{glslabel} (defined in
%\cs{@gls@link})}
@@ -7383,17 +7638,9 @@ name=true]{%
\def\glsinsert{#3}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
%\changes{1.12}{2008 Mar 8}{now uses \cs{glsentrydescplural} and
@@ -7401,8 +7648,9 @@ name=true]{%
% \cs{glsentrysymbol}}
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}.
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7416,24 +7664,7 @@ name=true]{%
%\changes{2.04}{2009 November 10}{Changed test to check if glossary type
%has been identified as a list of acronyms}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse
- {%
- \(\boolean{@glsisacronymlist}\AND \boolean{glsacrfootnote}\)
- \OR \NOT\boolean{glshyperfirst}%
- }%
- {%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
% \begin{macrocode}
@@ -7453,14 +7684,12 @@ name=true]{%
% will need to be grouped).
%\begin{macro}{\Glspl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glspl}{\@ifstar\@sGlspl\@Glspl}
+\newrobustcmd*{\Glspl}{\@gls@hyp@opt\@Glspl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlspl}[1][]{\@Glspl[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlspl}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7474,7 +7703,7 @@ name=true]{%
\def\@Glspl@#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{4.03}{2014-01-20}{removed \cs{glslabel} (defined in
%\cs{@gls@link})}
@@ -7487,17 +7716,9 @@ name=true]{%
\def\glsinsert{#3}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text}). This needs to be expanded so that the
% \cs{@glo@text} can be passed to \cs{xmakefirstuc}.
@@ -7506,8 +7727,9 @@ name=true]{%
% \cs{glsentrysymbol}}
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}.
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7523,24 +7745,7 @@ name=true]{%
%\changes{3.11a}{2013-10-15}{removed \cs{makefirstuc} (now dealt
%with in \cs{glsentryfmt})}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse
- {%
- \(\boolean{@glsisacronymlist}\AND \boolean{glsacrfootnote}\)
- \OR \NOT\boolean{glshyperfirst}%
- }%
- {%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
% \begin{macrocode}
@@ -7558,14 +7763,12 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSpl}{\@ifstar\@sGLSpl\@GLSpl}
+\newrobustcmd*{\GLSpl}{\@gls@hyp@opt\@GLSpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSpl}[1][]{\@GLSpl[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSpl}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7579,7 +7782,7 @@ name=true]{%
\def\@GLSpl@#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{4.03}{2014-01-20}{removed \cs{glslabel} (defined in
%\cs{@gls@link})}
@@ -7592,17 +7795,9 @@ name=true]{%
\def\glsinsert{#3}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
%\changes{1.12}{2008 Mar 8}{now uses \cs{glsentrydescplural} and
@@ -7610,8 +7805,9 @@ name=true]{%
% \cs{glsentrysymbol}}
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}.
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7627,24 +7823,7 @@ name=true]{%
%\changes{3.11a}{2013-10-15}{removed \cs{MakeUppercase} as now dealt
%with in \cs{glsentryfmt}}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse
- {%
- \(\boolean{@glsisacronymlist}\AND \boolean{glsacrfootnote}\)
- \OR \NOT\boolean{glshyperfirst}%
- }%
- {%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
% \begin{macrocode}
@@ -7667,16 +7846,12 @@ name=true]{%
% flag.
%
% First determine if we are using the starred form:
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsdisp}{\@ifstar\@sglsdisp\@glsdisp}
-% \end{macrocode}
-%\end{macro}
-% Define the starred form:
-%\begin{macro}{\@sgls}
-% \begin{macrocode}
-\newcommand*{\@sglsdisp}[1][]{\@glsdisp[hyper=false,#1]}
+\newrobustcmd*{\glsdisp}{\@gls@hyp@opt\@glsdisp}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsdisp}}
% Defined the un-starred form.
%\begin{macro}{\@glsdisp}
% \begin{macrocode}
@@ -7685,7 +7860,7 @@ name=true]{%
% \end{macrocode}
%\changes{2.05}{2010 Feb 6}{Added closing brace. Patch provided by Sergiu Dotenco}
% \begin{macrocode}
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper
% \end{macrocode}
%\changes{4.03}{2014-01-20}{removed \cs{glslabel} (defined in
%\cs{@gls@link})}
@@ -7698,23 +7873,16 @@ name=true]{%
\def\glsinsert{}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+%\changes{4.08}{2014-07-30}{moved check for first use to
+%\cs{@gls@link}}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
%\changes{3.11a}{2013-10-15}{change to using \cs{glsentryfmt} style
%commands}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \def\@glo@text{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}%
% \end{macrocode}
% Call \cs{@gls@link}.
% If \pkgopt{footnote} package option has been used and the glossary
@@ -7728,21 +7896,7 @@ name=true]{%
%\changes{2.04}{2009 November 10}{Changed test to check if glossary type
%has been identified as a list of acronyms}
% \begin{macrocode}
- \ifglsused{#2}%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- {%
- \gls@checkisacronymlist\@glo@type
- \ifthenelse{\(\boolean{@glsisacronymlist}\AND
- \boolean{glsacrfootnote}\) \OR \NOT\boolean{glshyperfirst}}%
- {%
- \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
- }%
- {%
- \@gls@link[#1]{#2}{\@glo@text}%
- }%
- }%
+ \@gls@link[#1]{#2}{\@glo@text}%
% \end{macrocode}
% Indicate that this entry has now been used
%\changes{2.05}{2010 Feb 6}{Removed spurious brace. Patch provided by Sergiu Dotenco}
@@ -7759,11 +7913,12 @@ name=true]{%
%
%\begin{macro}{\@gls@field@link}
%\changes{4.03}{2014-01-20}{new}
+%\changes{4.08}{2014-07-30}{added assignment of \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\newcommand{\@gls@field@link}[3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
\@gls@link[#1]{#2}{#3}%
}%
}
@@ -7775,14 +7930,12 @@ name=true]{%
% used.
%\begin{macro}{\glstext}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glstext}{\@ifstar\@sglstext\@glstext}
+\newrobustcmd*{\glstext}{\@gls@hyp@opt\@glstext}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglstext}[1][]{\@glstext[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglstext}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7801,14 +7954,12 @@ name=true]{%
% \cs{GLStext} behaves like \cs{glstext} except the text is converted
% to uppercase.
%\begin{macro}{\GLStext}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLStext}{\@ifstar\@sGLStext\@GLStext}
+\newrobustcmd*{\GLStext}{\@gls@hyp@opt\@GLStext}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLStext}[1][]{\@GLStext[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLStext}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7827,14 +7978,12 @@ name=true]{%
% of the text is converted to uppercase.
%\begin{macro}{\Glstext}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glstext}{\@ifstar\@sGlstext\@Glstext}
+\newrobustcmd*{\Glstext}{\@gls@hyp@opt\@Glstext}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlstext}[1][]{\@Glstext[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlstext}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7855,14 +8004,12 @@ name=true]{%
% used.
%\begin{macro}{\glsfirst}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsfirst}{\@ifstar\@sglsfirst\@glsfirst}
+\newrobustcmd*{\glsfirst}{\@gls@hyp@opt\@glsfirst}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsfirst}[1][]{\@glsfirst[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsfirst}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7881,14 +8028,12 @@ name=true]{%
% \cs{Glsfirst} behaves like \ics{glsfirst} except it displays the
% first letter in uppercase.
%\begin{macro}{\Glsfirst}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsfirst}{\@ifstar\@sGlsfirst\@Glsfirst}
+\newrobustcmd*{\Glsfirst}{\@gls@hyp@opt\@Glsfirst}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsfirst}[1][]{\@Glsfirst[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsfirst}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7907,14 +8052,12 @@ name=true]{%
% \cs{GLSfirst} behaves like \ics{Glsfirst} except it displays the
% text in uppercase.
%\begin{macro}{\GLSfirst}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSfirst}{\@ifstar\@sGLSfirst\@GLSfirst}
+\newrobustcmd*{\GLSfirst}{\@gls@hyp@opt\@GLSfirst}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSfirst}[1][]{\@GLSfirst[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSfirst}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7934,14 +8077,12 @@ name=true]{%
% given by the \gloskey{plural} key and it doesn't mark the entry as
% used.
%\begin{macro}{\glsplural}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsplural}{\@ifstar\@sglsplural\@glsplural}
+\newrobustcmd*{\glsplural}{\@gls@hyp@opt\@glsplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsplural}[1][]{\@glsplural[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsplural}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7960,14 +8101,12 @@ name=true]{%
% \cs{Glsplural} behaves like \ics{glsplural} except that the first
% letter is converted to uppercase.
%\begin{macro}{\Glsplural}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsplural}{\@ifstar\@sGlsplural\@Glsplural}
+\newrobustcmd*{\Glsplural}{\@gls@hyp@opt\@Glsplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsplural}[1][]{\@Glsplural[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsplural}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -7987,14 +8126,12 @@ name=true]{%
% text is converted to uppercase.
%\begin{macro}{\GLSplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSplural}{\@ifstar\@sGLSplural\@GLSplural}
+\newrobustcmd*{\GLSplural}{\@gls@hyp@opt\@GLSplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSplural}[1][]{\@GLSplural[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSplural}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8015,14 +8152,12 @@ name=true]{%
% used.
%\begin{macro}{\glsfirstplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsfirstplural}{\@ifstar\@sglsfirstplural\@glsfirstplural}
+\newrobustcmd*{\glsfirstplural}{\@gls@hyp@opt\@glsfirstplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsfirstplural}[1][]{\@glsfirstplural[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsfirstplural}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8043,14 +8178,12 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsfirstplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsfirstplural}{\@ifstar\@sGlsfirstplural\@Glsfirstplural}
+\newrobustcmd*{\Glsfirstplural}{\@gls@hyp@opt\@Glsfirstplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsfirstplural}[1][]{\@Glsfirstplural[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsfirstplural}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8071,14 +8204,12 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSfirstplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSfirstplural}{\@ifstar\@sGLSfirstplural\@GLSfirstplural}
+\newrobustcmd*{\GLSfirstplural}{\@gls@hyp@opt\@GLSfirstplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSfirstplural}[1][]{\@GLSfirstplural[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSfirstplural}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8100,14 +8231,12 @@ name=true]{%
% used.
%\begin{macro}{\glsname}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsname}{\@ifstar\@sglsname\@glsname}
+\newrobustcmd*{\glsname}{\@gls@hyp@opt\@glsname}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsname}[1][]{\@glsname[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsname}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8127,14 +8256,12 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsname}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsname}{\@ifstar\@sGlsname\@Glsname}
+\newrobustcmd*{\Glsname}{\@gls@hyp@opt\@Glsname}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsname}[1][]{\@Glsname[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsname}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8154,15 +8281,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSname}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSname}{\@ifstar\@sGLSname\@GLSname}
+\newrobustcmd*{\GLSname}{\@gls@hyp@opt\@GLSname}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSname}[1][]{\@GLSname[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSname}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSname}[2][]{%
@@ -8182,14 +8307,12 @@ name=true]{%
% as used.
%\begin{macro}{\glsdesc}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsdesc}{\@ifstar\@sglsdesc\@glsdesc}
+\newrobustcmd*{\glsdesc}{\@gls@hyp@opt\@glsdesc}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsdesc}[1][]{\@glsdesc[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsdesc}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8209,15 +8332,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsdesc}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsdesc}{\@ifstar\@sGlsdesc\@Glsdesc}
+\newrobustcmd*{\Glsdesc}{\@gls@hyp@opt\@Glsdesc}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsdesc}[1][]{\@Glsdesc[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsdesc}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsdesc}[2][]{%
@@ -8236,15 +8357,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSdesc}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSdesc}{\@ifstar\@sGLSdesc\@GLSdesc}
+\newrobustcmd*{\GLSdesc}{\@gls@hyp@opt\@GLSdesc}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSdesc}[1][]{\@GLSdesc[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSdesc}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSdesc}[2][]{%
@@ -8264,15 +8383,13 @@ name=true]{%
% as used.
%\begin{macro}{\glsdescplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsdescplural}{\@ifstar\@sglsdescplural\@glsdescplural}
+\newrobustcmd*{\glsdescplural}{\@gls@hyp@opt\@glsdescplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsdescplural}[1][]{\@glsdescplural[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsdescplural}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glsdescplural}[2][]{%
@@ -8292,15 +8409,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsdescplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsdescplural}{\@ifstar\@sGlsdescplural\@Glsdescplural}
+\newrobustcmd*{\Glsdescplural}{\@gls@hyp@opt\@Glsdescplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsdescplural}[1][]{\@Glsdescplural[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsdescplural}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsdescplural}[2][]{%
@@ -8320,15 +8435,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSdescplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSdescplural}{\@ifstar\@sGLSdescplural\@GLSdescplural}
+\newrobustcmd*{\GLSdescplural}{\@gls@hyp@opt\@GLSdescplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSdescplural}[1][]{\@GLSdescplural[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSdescplural}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSdescplural}[2][]{%
@@ -8349,14 +8462,12 @@ name=true]{%
% used.
%\begin{macro}{\glssymbol}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glssymbol}{\@ifstar\@sglssymbol\@glssymbol}
+\newrobustcmd*{\glssymbol}{\@gls@hyp@opt\@glssymbol}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglssymbol}[1][]{\@glssymbol[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglssymbol}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8376,15 +8487,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glssymbol}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glssymbol}{\@ifstar\@sGlssymbol\@Glssymbol}
+\newrobustcmd*{\Glssymbol}{\@gls@hyp@opt\@Glssymbol}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlssymbol}[1][]{\@Glssymbol[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlssymbol}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glssymbol}[2][]{%
@@ -8403,15 +8512,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSsymbol}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSsymbol}{\@ifstar\@sGLSsymbol\@GLSsymbol}
+\newrobustcmd*{\GLSsymbol}{\@gls@hyp@opt\@GLSsymbol}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSsymbol}[1][]{\@GLSsymbol[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSsymbol}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSsymbol}[2][]{%
@@ -8431,15 +8538,13 @@ name=true]{%
% used.
%\begin{macro}{\glssymbolplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glssymbolplural}{\@ifstar\@sglssymbolplural\@glssymbolplural}
+\newrobustcmd*{\glssymbolplural}{\@gls@hyp@opt\@glssymbolplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglssymbolplural}[1][]{\@glssymbolplural[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sglssymbolplural}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glssymbolplural}[2][]{%
@@ -8459,15 +8564,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glssymbolplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glssymbolplural}{\@ifstar\@sGlssymbolplural\@Glssymbolplural}
+\newrobustcmd*{\Glssymbolplural}{\@gls@hyp@opt\@Glssymbolplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlssymbolplural}[1][]{\@Glssymbolplural[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlssymbolplural}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glssymbolplural}[2][]{%
@@ -8487,15 +8590,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSsymbolplural}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSsymbolplural}{\@ifstar\@sGLSsymbolplural\@GLSsymbolplural}
+\newrobustcmd*{\GLSsymbolplural}{\@gls@hyp@opt\@GLSsymbolplural}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSsymbolplural}[1][]{\@GLSsymbolplural[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSsymbolplural}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSsymbolplural}[2][]{%
@@ -8516,15 +8617,13 @@ name=true]{%
% as used.
%\begin{macro}{\glsuseri}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsuseri}{\@ifstar\@sglsuseri\@glsuseri}
+\newrobustcmd*{\glsuseri}{\@gls@hyp@opt\@glsuseri}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsuseri}[1][]{\@glsuseri[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsuseri}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glsuseri}[2][]{%
@@ -8542,15 +8641,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsuseri}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsuseri}{\@ifstar\@sGlsuseri\@Glsuseri}
+\newrobustcmd*{\Glsuseri}{\@gls@hyp@opt\@Glsuseri}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsuseri}[1][]{\@Glsuseri[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsuseri}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsuseri}[2][]{%
@@ -8568,15 +8665,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSuseri}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSuseri}{\@ifstar\@sGLSuseri\@GLSuseri}
+\newrobustcmd*{\GLSuseri}{\@gls@hyp@opt\@GLSuseri}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSuseri}[1][]{\@GLSuseri[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSuseri}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSuseri}[2][]{%
@@ -8595,14 +8690,12 @@ name=true]{%
% as used.
%\begin{macro}{\glsuserii}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsuserii}{\@ifstar\@sglsuserii\@glsuserii}
+\newrobustcmd*{\glsuserii}{\@gls@hyp@opt\@glsuserii}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsuserii}[1][]{\@glsuserii[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsuserii}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8621,15 +8714,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsuserii}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsuserii}{\@ifstar\@sGlsuserii\@Glsuserii}
+\newrobustcmd*{\Glsuserii}{\@gls@hyp@opt\@Glsuserii}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsuserii}[1][]{\@Glsuserii[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsuserii}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsuserii}[2][]{%
@@ -8647,14 +8738,12 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSuserii}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSuserii}{\@ifstar\@sGLSuserii\@GLSuserii}
+\newrobustcmd*{\GLSuserii}{\@gls@hyp@opt\@GLSuserii}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSuserii}[1][]{\@GLSuserii[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSuserii}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8674,15 +8763,13 @@ name=true]{%
% as used.
%\begin{macro}{\glsuseriii}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsuseriii}{\@ifstar\@sglsuseriii\@glsuseriii}
+\newrobustcmd*{\glsuseriii}{\@gls@hyp@opt\@glsuseriii}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsuseriii}[1][]{\@glsuseriii[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsuseriii}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glsuseriii}[2][]{%
@@ -8700,15 +8787,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsuseriii}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsuseriii}{\@ifstar\@sGlsuseriii\@Glsuseriii}
+\newrobustcmd*{\Glsuseriii}{\@gls@hyp@opt\@Glsuseriii}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsuseriii}[1][]{\@Glsuseriii[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsuseriii}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsuseriii}[2][]{%
@@ -8726,15 +8811,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSuseriii}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSuseriii}{\@ifstar\@sGLSuseriii\@GLSuseriii}
+\newrobustcmd*{\GLSuseriii}{\@gls@hyp@opt\@GLSuseriii}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSuseriii}[1][]{\@GLSuseriii[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSuseriii}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSuseriii}[2][]{%
@@ -8753,15 +8836,13 @@ name=true]{%
% as used.
%\begin{macro}{\glsuseriv}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsuseriv}{\@ifstar\@sglsuseriv\@glsuseriv}
+\newrobustcmd*{\glsuseriv}{\@gls@hyp@opt\@glsuseriv}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsuseriv}[1][]{\@glsuseriv[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsuseriv}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glsuseriv}[2][]{%
@@ -8779,15 +8860,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsuseriv}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsuseriv}{\@ifstar\@sGlsuseriv\@Glsuseriv}
+\newrobustcmd*{\Glsuseriv}{\@gls@hyp@opt\@Glsuseriv}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsuseriv}[1][]{\@Glsuseriv[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsuseriv}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsuseriv}[2][]{%
@@ -8805,15 +8884,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSuseriv}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSuseriv}{\@ifstar\@sGLSuseriv\@GLSuseriv}
+\newrobustcmd*{\GLSuseriv}{\@gls@hyp@opt\@GLSuseriv}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSuseriv}[1][]{\@GLSuseriv[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSuseriv}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSuseriv}[2][]{%
@@ -8832,15 +8909,13 @@ name=true]{%
% as used.
%\begin{macro}{\glsuserv}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsuserv}{\@ifstar\@sglsuserv\@glsuserv}
+\newrobustcmd*{\glsuserv}{\@gls@hyp@opt\@glsuserv}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsuserv}[1][]{\@glsuserv[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsuserv}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glsuserv}[2][]{%
@@ -8858,15 +8933,13 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsuserv}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsuserv}{\@ifstar\@sGlsuserv\@Glsuserv}
+\newrobustcmd*{\Glsuserv}{\@gls@hyp@opt\@Glsuserv}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsuserv}[1][]{\@Glsuserv[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsuserv}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glsuserv}[2][]{%
@@ -8884,15 +8957,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSuserv}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSuserv}{\@ifstar\@sGLSuserv\@GLSuserv}
+\newrobustcmd*{\GLSuserv}{\@gls@hyp@opt\@GLSuserv}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSuserv}[1][]{\@GLSuserv[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSuserv}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSuserv}[2][]{%
@@ -8911,14 +8982,12 @@ name=true]{%
% as used.
%\begin{macro}{\glsuservi}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\glsuservi}{\@ifstar\@sglsuservi\@glsuservi}
+\newrobustcmd*{\glsuservi}{\@gls@hyp@opt\@glsuservi}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sglsuservi}[1][]{\@glsuservi[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sglsuservi}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8937,14 +9006,12 @@ name=true]{%
% first letter is converted to uppercase.
%\begin{macro}{\Glsuservi}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Glsuservi}{\@ifstar\@sGlsuservi\@Glsuservi}
+\newrobustcmd*{\Glsuservi}{\@gls@hyp@opt\@Glsuservi}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGlsuservi}[1][]{\@Glsuservi[hyper=false,#1]}
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sGlsuservi}}
% Defined the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
@@ -8963,15 +9030,13 @@ name=true]{%
% link text is converted to uppercase.
%\begin{macro}{\GLSuservi}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\GLSuservi}{\@ifstar\@sGLSuservi\@GLSuservi}
+\newrobustcmd*{\GLSuservi}{\@gls@hyp@opt\@GLSuservi}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\@sGLSuservi}[1][]{\@GLSuservi[hyper=false,#1]}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sGLSuservi}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSuservi}[2][]{%
@@ -8988,18 +9053,13 @@ name=true]{%
% Now deal with acronym related keys. First the short form:
%\begin{macro}{\acrshort}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\acrshort}{\@ifstar\s@acrshort\ns@acrshort}
+\newrobustcmd*{\acrshort}{\@gls@hyp@opt\ns@acrshort}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@acrshort}[2][]{%
- \new@ifnextchar[{\@acrshort{hyper=false,#1}{#2}}%
- {\@acrshort{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sacrshort}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@acrshort}[2][]{%
@@ -9011,7 +9071,7 @@ name=true]{%
\def\@acrshort#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9026,38 +9086,24 @@ name=true]{%
}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\Acrshort}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Acrshort}{\@ifstar\s@Acrshort\ns@Acrshort}
+\newrobustcmd*{\Acrshort}{\@gls@hyp@opt\ns@Acrshort}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@Acrshort}[2][]{%
- \new@ifnextchar[{\@Acrshort{hyper=false,#1}{#2}}%
- {\@Acrshort{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sAcrshort}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@Acrshort}[2][]{%
@@ -9069,7 +9115,7 @@ name=true]{%
\def\@Acrshort#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9083,38 +9129,24 @@ name=true]{%
}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\ACRshort}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\ACRshort}{\@ifstar\s@ACRshort\ns@ACRshort}
+\newrobustcmd*{\ACRshort}{\@gls@hyp@opt\ns@ACRshort}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@ACRshort}[2][]{%
- \new@ifnextchar[{\@ACRshort{hyper=false,#1}{#2}}%
- {\@ACRshort{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sACRshort}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@ACRshort}[2][]{%
@@ -9126,7 +9158,7 @@ name=true]{%
\def\@ACRshort#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9140,20 +9172,11 @@ name=true]{%
}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
@@ -9161,18 +9184,13 @@ name=true]{%
% Short plural:
%\begin{macro}{\acrshortpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\acrshortpl}{\@ifstar\s@acrshortpl\ns@acrshortpl}
+\newrobustcmd*{\acrshortpl}{\@gls@hyp@opt\ns@acrshortpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@acrshortpl}[2][]{%
- \new@ifnextchar[{\@acrshortpl{hyper=false,#1}{#2}}%
- {\@acrshortpl{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sacrshortpl}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@acrshortpl}[2][]{%
@@ -9184,7 +9202,7 @@ name=true]{%
\def\@acrshortpl#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9198,38 +9216,24 @@ name=true]{%
}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\Acrshortpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Acrshortpl}{\@ifstar\s@Acrshortpl\ns@Acrshortpl}
+\newrobustcmd*{\Acrshortpl}{\@gls@hyp@opt\ns@Acrshortpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@Acrshortpl}[2][]{%
- \new@ifnextchar[{\@Acrshortpl{hyper=false,#1}{#2}}%
- {\@Acrshortpl{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sAcrshortpl}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@Acrshortpl}[2][]{%
@@ -9241,7 +9245,7 @@ name=true]{%
\def\@Acrshortpl#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9255,38 +9259,24 @@ name=true]{%
}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\ACRshortpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\ACRshortpl}{\@ifstar\s@ACRshortpl\ns@ACRshortpl}
+\newrobustcmd*{\ACRshortpl}{\@gls@hyp@opt\ns@ACRshortpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@ACRshortpl}[2][]{%
- \new@ifnextchar[{\@ACRshortpl{hyper=false,#1}{#2}}%
- {\@ACRshortpl{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sACRshortpl}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@ACRshortpl}[2][]{%
@@ -9298,7 +9288,7 @@ name=true]{%
\def\@ACRshortpl#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9312,38 +9302,24 @@ name=true]{%
}%
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\acrlong}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\acrlong}{\@ifstar\s@acrlong\ns@acrlong}
+\newrobustcmd*{\acrlong}{\@gls@hyp@opt\ns@acrlong}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@acrlong}[2][]{%
- \new@ifnextchar[{\@acrlong{hyper=false,#1}{#2}}%
- {\@acrlong{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sacrlong}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@acrlong}[2][]{%
@@ -9355,7 +9331,7 @@ name=true]{%
\def\@acrlong#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9366,17 +9342,6 @@ name=true]{%
\let\glsinsert\@empty
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
% Bug fix v4.02 removed \cs{acronymfont} from \cs{glscustomtext}
% (\cs{acronymfont} only designed for short form).
% \changes{4.02}{2013-12-05}{Removed \cs{acronymfont}}
@@ -9385,27 +9350,24 @@ name=true]{%
\glsentrylong{#2}#3%
}%
% \end{macrocode}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
% Call \cs{@gls@link}
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\Acrlong}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Acrlong}{\@ifstar\s@Acrlong\ns@Acrlong}
+\newrobustcmd*{\Acrlong}{\@gls@hyp@opt\ns@Acrlong}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@Acrlong}[2][]{%
- \new@ifnextchar[{\@Acrlong{hyper=false,#1}{#2}}%
- {\@Acrlong{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sAcrlong}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@Acrlong}[2][]{%
@@ -9417,7 +9379,7 @@ name=true]{%
\def\@Acrlong#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9428,17 +9390,6 @@ name=true]{%
\let\glsinsert\@empty
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
% Bug fix v4.02 removed \cs{acronymfont} from \cs{glscustomtext}
% (\cs{acronymfont} only designed for short form).
% \changes{4.02}{2013-12-05}{Removed \cs{acronymfont}}
@@ -9447,27 +9398,24 @@ name=true]{%
\Glsentrylong{#2}#3%
}%
% \end{macrocode}
-% Call \cs{@gls@link}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+% Call \cs{@gls@link}.
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\ACRlong}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\ACRlong}{\@ifstar\s@ACRlong\ns@ACRlong}
+\newrobustcmd*{\ACRlong}{\@gls@hyp@opt\ns@ACRlong}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@ACRlong}[2][]{%
- \new@ifnextchar[{\@ACRlong{hyper=false,#1}{#2}}%
- {\@ACRlong{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sACRlong}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@ACRlong}[2][]{%
@@ -9479,7 +9427,7 @@ name=true]{%
\def\@ACRlong#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9490,17 +9438,6 @@ name=true]{%
\let\glsinsert\@empty
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
% Bug fix v4.02 removed \cs{acronymfont} from \cs{glscustomtext}
% (\cs{acronymfont} only designed for short form).
% \changes{4.02}{2013-12-05}{Removed \cs{acronymfont}}
@@ -9509,9 +9446,11 @@ name=true]{%
\mfirstucMakeUppercase{\glsentrylong{#2}#3}%
}%
% \end{macrocode}
-% Call \cs{@gls@link}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+% Call \cs{@gls@link}.
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
@@ -9519,18 +9458,13 @@ name=true]{%
% Short plural:
%\begin{macro}{\acrlongpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\acrlongpl}{\@ifstar\s@acrlongpl\ns@acrlongpl}
+\newrobustcmd*{\acrlongpl}{\@gls@hyp@opt\ns@acrlongpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@acrlongpl}[2][]{%
- \new@ifnextchar[{\@acrlongpl{hyper=false,#1}{#2}}%
- {\@acrlongpl{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sacrlongpl}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@acrlongpl}[2][]{%
@@ -9542,7 +9476,7 @@ name=true]{%
\def\@acrlongpl#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9553,17 +9487,6 @@ name=true]{%
\let\glsinsert\@empty
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
% Bug fix v4.02 removed \cs{acronymfont} from \cs{glscustomtext}
% (\cs{acronymfont} only designed for short form).
% \changes{4.02}{2013-12-05}{Removed \cs{acronymfont}}
@@ -9572,27 +9495,24 @@ name=true]{%
\glsentrylongpl{#2}#3%
}%
% \end{macrocode}
-% Call \cs{@gls@link}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+% Call \cs{@gls@link}.
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%
%\begin{macro}{\Acrlongpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Acrlongpl}{\@ifstar\s@Acrlongpl\ns@Acrlongpl}
+\newrobustcmd*{\Acrlongpl}{\@gls@hyp@opt\ns@Acrlongpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@Acrlongpl}[2][]{%
- \new@ifnextchar[{\@Acrlongpl{hyper=false#1}{#2}}%
- {\@Acrlongpl{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sAcrlongpl}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@Acrlongpl}[2][]{%
@@ -9604,7 +9524,7 @@ name=true]{%
\def\@Acrlongpl#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9615,17 +9535,6 @@ name=true]{%
\let\glsinsert\@empty
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
% Bug fix v4.02 removed \cs{acronymfont} from \cs{glscustomtext}
% (\cs{acronymfont} only designed for short form).
% \changes{4.02}{2013-12-05}{Removed \cs{acronymfont}}
@@ -9634,7 +9543,9 @@ name=true]{%
\Glsentrylongpl{#2}#3%
}%
% \end{macrocode}
-% Call \cs{@gls@link}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+% Call \cs{@gls@link}.
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
\@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
}%
@@ -9643,18 +9554,13 @@ name=true]{%
%
%\begin{macro}{\ACRlongpl}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\ACRlongpl}{\@ifstar\s@ACRlongpl\ns@ACRlongpl}
+\newrobustcmd*{\ACRlongpl}{\@gls@hyp@opt\ns@ACRlongpl}
% \end{macrocode}
%\end{macro}
-% Define the starred form:
-% \begin{macrocode}
-\newcommand*{\s@ACRlongpl}[2][]{%
- \new@ifnextchar[{\@ACRlongpl{hyper=false,#1}{#2}}%
- {\@ACRlongpl{hyper=false,#1}{#2}[]}%
-}
-% \end{macrocode}
-% Defined the un-starred form. Need to determine if there is
+%\changes{4.08}{2014-07-30}{removed \cs{@sACRlongpl}}
+% Define the un-starred form. Need to determine if there is
% a final optional argument
% \begin{macrocode}
\newcommand*{\ns@ACRlongpl}[2][]{%
@@ -9666,7 +9572,7 @@ name=true]{%
\def\@ACRlongpl#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -9677,17 +9583,6 @@ name=true]{%
\let\glsinsert\@empty
% \end{macrocode}
%\changes{4.06}{2014-03-12}{added \cs{glsifhyper}}
-% Determine whether starred or unstarred version was used:
-% \begin{macrocode}
- \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
- \setkeys{glslink}{hyper=true,#1}%
- \ifKV@glslink@hyper
- \let\glsifhyper\@firstoftwo
- \else
- \let\glsifhyper\@secondoftwo
- \fi
- \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper
-% \end{macrocode}
% Bug fix v4.02 removed \cs{acronymfont} from \cs{glscustomtext}
% (\cs{acronymfont} only designed for short form).
% \changes{4.02}{2013-12-05}{Removed \cs{acronymfont}}
@@ -9696,9 +9591,11 @@ name=true]{%
\mfirstucMakeUppercase{\glsentrylongpl{#2}#3}%
}%
% \end{macrocode}
-% Call \cs{@gls@link}
+%\changes{4.08}{2014-07-30}{moved \cs{glsifhyper}}
+% Call \cs{@gls@link}.
+% Note that \cs{@gls@link} sets \cs{glstype}.
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
@@ -10874,6 +10771,69 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\@closegls}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\@closegls}[1]{%
+ \closeout\csname glo@#1@file\endcsname
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@gls@automake}
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\ifglsxindy
+ \newcommand*{\@gls@automake}[1]{%
+ \ifglossaryexists{#1}
+ {%
+ \@closegls{#1}%
+ \ifdefstring{\glsorder}{letter}%
+ {\def\@gls@order{-M ord/letorder }}%
+ {\let\@gls@order\@empty}%
+ \ifcsundef{@xdy@#1@language}%
+ {\let\@gls@langmod\@xdy@main@language}%
+ {\letcs\@gls@langmod{@xdy@#1@language}}%
+ \edef\@gls@dothiswrite{\noexpand\write18{xindy
+ -I xindy
+ \@gls@order
+ -L \@gls@langmod\space
+ -M \gls@istfilebase\space
+ -C \gls@codepage\space
+ -t \jobname.\csuse{@glotype@#1@log}
+ -o \jobname.\csuse{@glotype@#1@in}
+ \jobname.\csuse{@glotype@#1@out}}%
+ }%
+ \@gls@dothiswrite
+ }%
+ {%
+ \GlossariesWarning{Can't make glossary `#1', it doesn't exist}%
+ }%
+ }
+\else
+ \newcommand*{\@gls@automake}[1]{%
+ \ifglossaryexists{#1}
+ {%
+ \@closegls{#1}%
+ \ifdefstring{\glsorder}{letter}%
+ {\def\@gls@order{-l }}%
+ {\let\@gls@order\@empty}%
+ \edef\@gls@dothiswrite{\noexpand\write18{makeindex \@gls@order
+ -s \istfilename\space
+ -t \jobname.\csuse{@glotype@#1@log}
+ -o \jobname.\csuse{@glotype@#1@in}
+ \jobname.\csuse{@glotype@#1@out}}%
+ }%
+ \@gls@dothiswrite
+ }%
+ {%
+ \GlossariesWarning{Can't make glossary `#1', it doesn't exist}%
+ }%
+ }
+\fi
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\warn@nomakeglossaries}
% Issue warning that \cs{makeglossaries} hasn't been used.
% \begin{macrocode}
@@ -10977,6 +10937,17 @@ name=true]{%
\renewcommand*{\@printgloss@setsort}{%
\let\@glo@assign@sortkey\@glo@no@assign@sortkey
}%
+% \end{macrocode}
+% Check the automake setting:
+% \begin{macrocode}
+ \ifglsautomake
+ \renewcommand*{\@gls@doautomake}{%
+ \@for\@gls@type:=\@glo@types\do{%
+ \ifdefempty{\@gls@type}{}%
+ {\@gls@automake{\@gls@type}}%
+ }%
+ }%
+ \fi
}
% \end{macrocode}
%\changes{4.02}{2013-13-05}{made preamble only}
@@ -11388,7 +11359,10 @@ you
\gls@disablepagerefexpansion}{#2}%
}%
{%
- \GlossariesWarning{No file defined for glossary `#1'}%
+ \ifignoredglossary{#1}{}%
+ {%
+ \GlossariesWarning{No file defined for glossary `#1'}%
+ }%
}%
\fi
\endgroup\@esphack
@@ -12795,6 +12769,92 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\csuse{glsnogroupskip#1}%
}
% \end{macrocode}
+%
+%\changes{4.08}{2014-07-30}{added nopostdot option to
+%\texttt{printgloss} family}
+% The \gloskey[printglossary]{nopostdot} key has the same effect as
+% the package option of the same name.
+% \begin{macrocode}
+\define@choicekey{printgloss}{nopostdot}{true,false}[true]{%
+ \csuse{glsnopostdot#1}%
+}
+% \end{macrocode}
+%
+%\changes{4.08}{2014-07-30}{added entrycounter option to
+%\texttt{printgloss} family}
+% The \gloskey[printglossary]{entrycounter} key is the same as the
+% package option but localised to the current glossary.
+% \begin{macrocode}
+\define@choicekey{printgloss}{entrycounter}{true,false}[true]{%
+ \csuse{glsentrycounter#1}%
+ \ifglsentrycounter
+ \ifx\@gls@counterwithin\@empty
+ \newcounter{glossaryentry}%
+ \else
+ \newcounter{glossaryentry}[\@gls@counterwithin]%
+ \fi
+ \def\theHglossaryentry{\currentglossary.\theglossaryentry}%
+ \renewcommand*{\glsresetentrycounter}{%
+ \setcounter{glossaryentry}{0}%
+ }%
+ \renewcommand*{\glsstepentry}[1]{%
+ \refstepcounter{glossaryentry}%
+ \label{glsentry-\glsdetoklabel{##1}}%
+ }%
+ \renewcommand*{\glsentrycounterlabel}{\theglossaryentry.\space}%
+ \renewcommand*{\glsentryitem}[1]{%
+ \glsstepentry{##1}\glsentrycounterlabel
+ }%
+ \else
+ \renewcommand*{\glsresetentrycounter}{}%
+ \renewcommand*{\glsstepentry}[1]{}%
+ \renewcommand*{\glsentrycounterlabel}{}%
+ \renewcommand*{\glsentryitem}[1]{\glsresetsubentrycounter}
+ \fi
+}
+% \end{macrocode}
+%
+%\changes{4.08}{2014-07-30}{added subentrycounter option to
+%\texttt{printgloss} family}
+% The \gloskey[printglossary]{subentrycounter} key is the same as the
+% package option but localised to the current glossary.
+% Note that this doesn't affect the master/slave counter attributes,
+% which occurs if \pkgopt{subentrycounter} and \pkgopt{entrycounter}
+% package options are set to true.
+% \begin{macrocode}
+\define@choicekey{printgloss}{subentrycounter}{true,false}[true]{%
+ \csuse{glssubentrycounter#1}%
+ \ifglssubentrycounter
+ \ifundef\c@glossarysubentry
+ {%
+ \ifglsentrycounter
+ \newcounter{glossarysubentry}[glossaryentry]%
+ \else
+ \newcounter{glossarysubentry}
+ \fi
+ }{}%
+ \renewcommand*{\glsstepsubentry}[1]{%
+ \edef\currentglssubentry{\glsdetoklabel{##1}}%
+ \refstepcounter{glossarysubentry}%
+ \label{glsentry-\currentglssubentry}%
+ }%
+ \renewcommand*{\glsresetsubentrycounter}{%
+ \setcounter{glossarysubentry}{0}%
+ }%
+ \renewcommand*{\glssubentryitem}[1]{%
+ \glsstepsubentry{##1}\glssubentrycounterlabel
+ }%
+ \renewcommand*{\glssubentrycounterlabel}{\theglossarysubentry)\space}%
+ \def\theHglossarysubentry{\currentglssubentry.\theglossarysubentry}
+ \else
+ \renewcommand*{\glssubentryitem}[1]{}%
+ \renewcommand*{\glsstepsubentry}[1]{}%
+ \renewcommand*{\glsresetsubentrycounter}{}%
+ \renewcommand*{\glssubentrycounterlabel}{}%
+ \fi
+}
+% \end{macrocode}
+%
% \changes{1.14}{2008 June 17}{added nonumberlist key to
% \cs{printglossary}}
% The \gloskey[printglossary]{nonumberlist} key determines if this
@@ -13690,7 +13750,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
%\end{macro}
%
-%\subsection{Acronyms}\label{sec:acronym}
+%\subsection{Acronyms}\label{sec:code:acronym}
%\begin{macro}{\oldacronym}
%\begin{definition}
%\cs{oldacronym}\oarg{label}\marg{abbrv}\marg{long}\marg{key-val list}
@@ -13741,7 +13801,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\end{macro}
%
%\begin{definition}
-% \cs{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}\marg{long}\\[10pt]
+% \cs{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}\marg{long}
%\end{definition}
% This is a quick way of defining acronyms,
% using \ics{newglossaryentry} with the appropriate
@@ -13818,17 +13878,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\begin{macro}{\acrfull}
% Full form of the acronym.
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\acrfull}{%
- \@ifstar\s@acrfull\ns@acrfull
-}
+\newrobustcmd*{\acrfull}{\@gls@hyp@opt\ns@acrfull}
% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{@sacrfull}}
%\changes{3.0}{2011/04/02}{added starred version}
% \begin{macrocode}
-\newcommand*\s@acrfull[2][]{%
- \new@ifnextchar[{\@acrfull{hyper=false,#1}{#2}}%
- {\@acrfull{hyper=false,#1}{#2}[]}%
-}
\newcommand*\ns@acrfull[2][]{%
\new@ifnextchar[{\@acrfull{#1}{#2}}%
{\@acrfull{#1}{#2}[]}%
@@ -13879,24 +13935,28 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\changes{3.01}{2011/04/12}{removed \cs{acronymfont} as it should
%already be set in the second argument.}
% \begin{macrocode}
-\newcommand{\acrfullformat}[2]{#1\space(#2)}
+\newcommand{\acrfullformat}[2]{#1\glsspace(#2)}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsspace}
+% Robust space to ensure it's written to the \texttt{.glsdefs} file.
+%\changes{4.08}{2014-07-30}{new}
+% \begin{macrocode}
+\newrobustcmd{\glsspace}{\space}
% \end{macrocode}
%\end{macro}
%
% Default format for full acronym
%\begin{macro}{\Acrfull}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Acrfull}{%
- \@ifstar\s@Acrfull\ns@Acrfull
-}
+\newrobustcmd*{\Acrfull}{\@gls@hyp@opt\ns@Acrfull}
% \end{macrocode}
%\changes{3.0}{2011/04/02}{added starred version}
+%\changes{4.08}{2014-07-30}{removed \cs{@sAcrfull}}
% \begin{macrocode}
-\newcommand*\s@Acrfull[2][]{%
- \new@ifnextchar[{\@Acrfull{hyper=false,#1}{#2}}%
- {\@Acrfull{hyper=false,#1}{#2}[]}%
-}
\newcommand*\ns@Acrfull[2][]{%
\new@ifnextchar[{\@Acrfull{#1}{#2}}%
{\@Acrfull{#1}{#2}[]}%
@@ -13925,17 +13985,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
%\begin{macro}{\ACRfull}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\ACRfull}{%
- \@ifstar\s@ACRfull\ns@ACRfull
-}
+\newrobustcmd*{\ACRfull}{\@gls@hyp@opt\ns@ACRfull}
% \end{macrocode}
%\changes{3.0}{2011/04/02}{added starred version}
+%\changes{4.08}{2014-07-30}{removed \cs{s@ACRfull}}
% \begin{macrocode}
-\newcommand*\s@ACRfull[2][]{%
- \new@ifnextchar[{\@ACRfull{hyper=false,#1}{#2}}%
- {\@ACRfull{hyper=false,#1}{#2}[]}%
-}
\newcommand*\ns@ACRfull[2][]{%
\new@ifnextchar[{\@ACRfull{#1}{#2}}%
{\@ACRfull{#1}{#2}[]}%
@@ -13967,17 +14023,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\begin{macro}{\acrfullpl}
%\changes{1.13}{2008 May 10}{new}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\acrfullpl}{%
- \@ifstar\s@acrfullpl\ns@acrfullpl
-}
+\newrobustcmd*{\acrfullpl}{\@gls@hyp@opt\ns@acrfullpl}
% \end{macrocode}
%\changes{3.0}{2011/04/02}{added starred version}
+%\changes{4.08}{2014-07-30}{removed \cs{s@acrfullpl}}
% \begin{macrocode}
-\newcommand*\s@acrfullpl[2][]{%
- \new@ifnextchar[{\@acrfullpl{hyper=false,#1}{#2}}%
- {\@acrfullpl{hyper=false,#1}{#2}[]}%
-}
\newcommand*\ns@acrfullpl[2][]{%
\new@ifnextchar[{\@acrfullpl{#1}{#2}}%
{\@acrfullpl{#1}{#2}[]}%
@@ -14007,17 +14059,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\begin{macro}{\Acrfullpl}
%\changes{1.13}{2008 May 10}{new}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\Acrfullpl}{%
- \@ifstar\s@Acrfullpl\ns@Acrfullpl
-}
+\newrobustcmd*{\Acrfullpl}{\@gls@hyp@opt\ns@Acrfullpl}
% \end{macrocode}
+%\changes{4.08}{2014-07-30}{removed \cs{s@Acrfullpl}}
%\changes{3.0}{2011/04/02}{added starred version}
% \begin{macrocode}
-\newcommand*\s@Acrfullpl[2][]{%
- \new@ifnextchar[{\@Acrfullpl{hyper=false,#1}{#2}}%
- {\@Acrfullpl{hyper=false,#1}{#2}[]}%
-}
\newcommand*\ns@Acrfullpl[2][]{%
\new@ifnextchar[{\@Acrfullpl{#1}{#2}}%
{\@Acrfullpl{#1}{#2}[]}%
@@ -14049,17 +14097,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\begin{macro}{\ACRfullpl}
%\changes{1.13}{2008 May 10}{new}
%\changes{3.01}{2011/04/12}{made robust}
+%\changes{4.08}{2014-07-30}{switched to using \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd*{\ACRfullpl}{%
- \@ifstar\s@ACRfullpl\ns@ACRfullpl
-}
+\newrobustcmd*{\ACRfullpl}{\@gls@hyp@opt\ns@ACRfullpl}
% \end{macrocode}
%\changes{3.0}{2011/04/02}{added starred version}
+%\changes{4.08}{2014-07-30}{removed \cs{s@ACRfullpl}}
% \begin{macrocode}
-\newcommand*\s@ACRfullpl[2][]{%
- \new@ifnextchar[{\@ACRfullpl{hyper=false,#1}{#2}}%
- {\@ACRfullpl{hyper=false,#1}{#2}[]}%
-}
\newcommand*\ns@ACRfullpl[2][]{%
\new@ifnextchar[{\@ACRfullpl{#1}{#2}}%
{\@ACRfullpl{#1}{#2}[]}%
@@ -15961,8 +16005,8 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\newcommand*{\CustomAcronymFields}{%
name={\the\glsshorttok},%
description={\the\glslongtok},%
- first={\noexpand\acrfullformat{\the\glslongtok}{\the\glsshorttok}},%
- firstplural={\noexpand\acrfullformat
+ first={\acrfullformat{\the\glslongtok}{\the\glsshorttok}},%
+ firstplural={\acrfullformat
{\noexpand\glsentrylongpl{\the\glslabeltok}}%
{\noexpand\glsentryshortpl{\the\glslabeltok}}},%
% \end{macrocode}
@@ -16526,7 +16570,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \cs{gls}\marg{label}'' on subsequent use.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-prefix}[2013/11/14 v4.0 (NLCT)]
+\ProvidesPackage{glossaries-prefix}[2014/07/30 v4.08 (NLCT)]
% \end{macrocode}
% Pass all options to \sty{glossaries}:
% \begin{macrocode}
@@ -16683,16 +16727,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
% Define commands that insert the prefix before commands like \ics{gls}:
%\begin{macro}{\pgls}
+%\changes{4.08}{2014-07-30}{changed to use \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd{\pgls}{\@ifstar\@spgls\@pgls}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\@spgls}
-% Starred version.
-% \begin{macrocode}
-\newcommand*{\@spgls}[2][]{\@pgls@{hyper=false,#1}{#2}}
+\newrobustcmd{\pgls}{\@gls@hyp@opt\@pgls}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \@spgls}
%\begin{macro}{\@pgls}
% Unstarred version.
% \begin{macrocode}
@@ -16725,16 +16765,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
% Similarly for the plural version:
%\begin{macro}{\pglspl}
+%\changes{4.08}{2014-07-30}{changed to use \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd{\pglspl}{\@ifstar\@spglspl\@pglspl}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\@spglspl}
-% Starred version.
-% \begin{macrocode}
-\newcommand*{\@spglspl}[2][]{\@pglspl@{hyper=false,#1}{#2}}
+\newrobustcmd{\pglspl}{\@gls@hyp@opt\@pglspl}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \@spglspl}
%\begin{macro}{\@pglspl}
% Unstarred version.
% \begin{macrocode}
@@ -16767,16 +16803,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
% Now for the first letter upper case versions:
%\begin{macro}{\Pgls}
+%\changes{4.08}{2014-07-30}{changed to use \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd{\Pgls}{\@ifstar\@sPgls\@Pgls}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\@sPgls}
-% Starred version.
-% \begin{macrocode}
-\newcommand*{\@sPgls}[2][]{\@Pgls@{hyper=false,#1}{#2}}
+\newrobustcmd{\Pgls}{\@gls@hyp@opt\@Pgls}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \@sPgls}
%\begin{macro}{\@Pgls}
% Unstarred version.
% \begin{macrocode}
@@ -16818,16 +16850,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
% Similarly for the plural version:
%\begin{macro}{\Pglspl}
+%\changes{4.08}{2014-07-30}{changed to use \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd{\Pglspl}{\@ifstar\@sPglspl\@Pglspl}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\@sPglspl}
-% Starred version.
-% \begin{macrocode}
-\newcommand*{\@sPglspl}[2][]{\@Pglspl@{hyper=false,#1}{#2}}
+\newrobustcmd{\Pglspl}{\@gls@hyp@opt\@Pglspl}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \@sPglspl}
%\begin{macro}{\@Pglspl}
% Unstarred version.
% \begin{macrocode}
@@ -16869,16 +16897,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
% Finally the all upper case versions:
%\begin{macro}{\PGLS}
+%\changes{4.08}{2014-07-30}{changed to use \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd{\PGLS}{\@ifstar\@sPGLS\@PGLS}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\@sPGLS}
-% Starred version.
-% \begin{macrocode}
-\newcommand*{\@sPGLS}[2][]{\@PGLS@{hyper=false,#1}{#2}}
+\newrobustcmd{\PGLS}{\@gls@hyp@opt\@PGLS}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \@sPGLS}
%\begin{macro}{\@PGLS}
% Unstarred version.
% \begin{macrocode}
@@ -16911,16 +16935,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%
% Plural version:
%\begin{macro}{\PGLSpl}
+%\changes{4.08}{2014-07-30}{changed to use \cs{@gls@hyp@opt}}
% \begin{macrocode}
-\newrobustcmd{\PGLSpl}{\@ifstar\@sPGLSpl\@PGLSpl}
-% \end{macrocode}
-%\end{macro}
-%\begin{macro}{\@sPGLSpl}
-% Starred version.
-% \begin{macrocode}
-\newcommand*{\@sPGLSpl}[2][]{\@PGLSpl@{hyper=false,#1}{#2}}
+\newrobustcmd{\PGLSpl}{\@gls@hyp@opt\@PGLSpl}
% \end{macrocode}
%\end{macro}
+%\changes{4.08}{2014-07-30}{removed \@sPGLSpl}
%\begin{macro}{\@PGLSpl}
% Unstarred version.
% \begin{macrocode}
@@ -16964,7 +16984,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\label{sec:code:mfirstuc}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc}[2013/11/04 v1.08 (NLCT)]
+\ProvidesPackage{mfirstuc}[2014/07/30 v1.09 (NLCT)]
% \end{macrocode}
% Requires \sty{etoolbox}:\changes{1.06}{2012/05/21}{now requires
% etoolbox}
@@ -17089,9 +17109,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% separated by plain spaces (i.e.\ non-breakable spaces won't be
% considered a word break).
%\changes{1.08}{2013-11-04}{made robust}
+%\changes{1.09}{2017-07-30}{added check for words that shouldn't be
+%capitalised}
% \begin{macrocode}
\newrobustcmd*{\capitalisewords}[1]{%
\def\gls@add@space{}%
+ \let\@mfu@domakefirstuc\makefirstuc
+ \let\@mfu@checkword\@gobble
\mfu@capitalisewords#1 \@nil\mfu@endcap
}
% \end{macrocode}
@@ -17102,18 +17126,66 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\def\mfu@cap@first{#1}%
\def\mfu@cap@second{#2}%
\gls@add@space
- \makefirstuc{#1}%
+ \@mfu@checkword{#1}%
+ \@mfu@domakefirstuc{#1}%
\def\gls@add@space{ }%
\ifx\mfu@cap@second\@nnil
\let\next@mfu@cap\mfu@noop
\else
\let\next@mfu@cap\mfu@capitalisewords
+ \let\@mfu@checkword\mfu@checkword
\fi
\next@mfu@cap#2\mfu@endcap
}
\def\mfu@noop#1\mfu@endcap{}
% \end{macrocode}
%
+%\begin{macro}{\mfu@checkword}
+% Check if word should be capitalised.
+%\changes{1.09}{2017-07-30}{new}
+% \begin{macrocode}
+\newcommand*\mfu@checkword[1]{%
+ \ifinlist{#1}{\@mfu@nocaplist}%
+ {%
+ \let\@mfu@domakefirstuc\@firstofone
+ }%
+ {%
+ \let\@mfu@domakefirstuc\makefirstuc
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@mfu@nocaplist}
+% List of words that shouldn't be capitalised.
+%\changes{1.09}{2017-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\@mfu@nocaplist}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\MFUnocap}
+% Provide the user with a means to add a word to the list.
+% \begin{macrocode}
+\newcommand*{\MFUnocap}[1]{\listadd{\@mfu@nocaplist}{#1}}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\gMFUnocap}
+% Global version.
+%\changes{1.09}{2017-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\gMFUnocap}[1]{\listgadd{\@mfu@nocaplist}{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\MFUclear}
+% Clear the list
+%\changes{1.09}{2017-07-30}{new}
+% \begin{macrocode}
+\newcommand*{\MFUclear}{\renewcommand*{\@mfu@nocaplist}{}}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\xcapitalisewords}
%\changes{1.06}{2012/05/21}{new}
% Short-cut command:
@@ -17123,7 +17195,6 @@ false,nolabel,autolabel,nameref}[nolabel]{%
}
% \end{macrocode}
%\end{macro}
-%\section{Glossary Styles}
%\iffalse
% \begin{macrocode}
%</mfirstuc.sty>
@@ -17131,9 +17202,48 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\fi
%\iffalse
% \begin{macrocode}
+%<*mfirstuc-english.sty>
+% \end{macrocode}
+%\fi
+%\section{Mfirstuc-english Documented Code}
+%\label{sec:code:mfirstuc-english}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mfirstuc-english}[2014/07/30 v1.0 (NLCT)]
+% \end{macrocode}
+% Load \sty{mfirstuc} if not already loaded:
+% \begin{macrocode}
+\RequirePackage{mfirstuc}
+% \end{macrocode}
+% Add no-cap words. (List isn't a complete list.)
+% \begin{macrocode}
+\MFUnocap{a}
+\MFUnocap{an}
+\MFUnocap{and}
+\MFUnocap{but}
+\MFUnocap{for}
+\MFUnocap{in}
+\MFUnocap{of}
+\MFUnocap{or}
+\MFUnocap{no}
+\MFUnocap{nor}
+\MFUnocap{so}
+\MFUnocap{some}
+\MFUnocap{the}
+\MFUnocap{with}
+\MFUnocap{yet}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</mfirstuc-english.sty>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*glossary-hypernav.sty>
% \end{macrocode}
%\fi
+%\section{Glossary Styles}
% \subsection{Glossary hyper-navigation definitions (glossary-hypernav package)}
%\label{sec:code:hypernav}
% Package Definition:
@@ -18216,7 +18326,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% used the \env{longtable} environment in the glossary and use
% ragged right formatting for the multiline columns.
% \begin{macrocode}
-\ProvidesPackage{glossary-longragged}[2013/11/14 v4.0 (NLCT)]
+\ProvidesPackage{glossary-longragged}[2014/07/30 v4.08 (NLCT)]
% \end{macrocode}
% Requires the \isty{array} package:
% \begin{macrocode}
@@ -18502,10 +18612,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% in last column):
%\changes{3.08a}{2013-09-28}{updated to use \cs{glossentry} and
%\cs{subglossentry}}
+%\changes{4.08}{2014-07-30}{fixed bug that displayed description instead of
+%symbol}
% \begin{macrocode}
\renewcommand{\glossentry}[2]{%
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
- \glossentrydesc{##1} & \glossentrydesc{##1} &
+ \glossentrydesc{##1} & \glossentrysymbol{##1} &
##2\tabularnewline
}%
% \end{macrocode}
@@ -18987,11 +19099,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Sub entries put in a row (no name, description and page list
% in second column):
+%\changes{??}{??}{fixed typo in \cs{subglossentry} (\cs{glossentrydesc})}
% \begin{macrocode}
\renewcommand{\subglossentry}[3]{%
&
\glssubentryitem{##2}%
- \glstarget{##2}{\strut}\glosentrydesc{##2}\glspostdescription\space
+ \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription\space
##3\tabularnewline
}%
% \end{macrocode}
@@ -19846,9 +19959,19 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% that have a tree-like structure. These are designed for
% hierarchical glossaries.
% \begin{macrocode}
-\ProvidesPackage{glossary-tree}[2014/03/06 v4.04 (NLCT)]
+\ProvidesPackage{glossary-tree}[2014/07/30 v4.08 (NLCT)]
% \end{macrocode}
%
+%\begin{macro}{\glstreenamefmt}
+%\changes{4.08}{2014-07-30}{new}
+% Format used to display the name in the tree styles. (This may be
+% counteracted by \ics{glsnamefont}.) This command is also used to
+% format the group headings.
+% \begin{macrocode}
+\newcommand*{\glstreenamefmt}[1]{\textbf{#1}}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{style}{index}
% The \glostyle{index} glossary style
% is similar in style to the way indices are usually typeset
@@ -19888,7 +20011,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\cs{subglossentry}}
% \begin{macrocode}
\renewcommand*{\glossentry}[2]{%
- \item\glsentryitem{##1}\textbf{\glstarget{##1}{\glossentryname{##1}}}%
+ \item\glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}%
\ifglshassymbol{##1}{\space(\glossentrysymbol{##1})}{}%
\space \glossentrydesc{##1}\glspostdescription\space ##2%
}%
@@ -19912,7 +20035,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% all other levels
\subsubitem
\fi
- \textbf{\glstarget{##2}{\glossentryname{##2}}}%
+ \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}%
\ifglshassymbol{##2}{\space(\glossentrysymbol{##2})}{}%
\space\glossentrydesc{##2}\glspostdescription\space ##3%
}%
@@ -19938,7 +20061,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% bold followed by a vertical gap.
% \begin{macrocode}
\renewcommand*{\glsgroupheading}[1]{%
- \item\textbf{\glsgetgrouptitle{##1}}\indexspace}%
+ \item\glstreenamefmt{\glsgetgrouptitle{##1}}\indexspace}%
}
% \end{macrocode}
%\end{style}
@@ -19956,13 +20079,13 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% Put navigation links to the groups at the start of the glossary:
% \begin{macrocode}
\renewcommand*{\glossaryheader}{%
- \item\textbf{\glsnavigation}\indexspace}%
+ \item\glstreenamefmt{\glsnavigation}\indexspace}%
% \end{macrocode}
% Add a heading for each group (with a target). The group's title is
% in bold followed by a vertical gap.
% \begin{macrocode}
\renewcommand*{\glsgroupheading}[1]{%
- \item\textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}%
+ \item\glstreenamefmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}%
\indexspace}%
}
% \end{macrocode}
@@ -19998,7 +20121,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\renewcommand{\glossentry}[2]{%
\hangindent0pt\relax
\parindent0pt\relax
- \glsentryitem{##1}\textbf{\glstarget{##1}{\glossentryname{##1}}}%
+ \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}%
\ifglshassymbol{##1}{\space(\glossentrysymbol{##1})}{}%
\space\glossentrydesc{##1}\glspostdescription\space##2\par
}%
@@ -20014,7 +20137,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\ifnum##1=1\relax
\glssubentryitem{##2}%
\fi
- \textbf{\glstarget{##2}{\glossentryname{##2}}}%
+ \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}%
\ifglshassymbol{##2}{\space(\glossentrysymbol{##2})}{}%
\space\glossentrydesc{##2}\glspostdescription\space ##3\par
}%
@@ -20040,7 +20163,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% Each group has a heading (in bold) followed by a vertical gap):
% \begin{macrocode}
\renewcommand{\glsgroupheading}[1]{\par
- \noindent\textbf{\glsgetgrouptitle{##1}}\par\indexspace}%
+ \noindent\glstreenamefmt{\glsgetgrouptitle{##1}}\par\indexspace}%
}
% \end{macrocode}
%\end{style}
@@ -20060,14 +20183,14 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \env{theglossary} environment:
% \begin{macrocode}
\renewcommand*{\glossaryheader}{%
- \par\noindent\textbf{\glsnavigation}\par\indexspace}%
+ \par\noindent\glstreenamefmt{\glsnavigation}\par\indexspace}%
% \end{macrocode}
% Each group has a heading (in bold with a target) followed by a
% vertical gap):
% \begin{macrocode}
\renewcommand*{\glsgroupheading}[1]{%
\par\noindent
- \textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
+ \glstreenamefmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
\indexspace}%
}
% \end{macrocode}
@@ -20111,7 +20234,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\renewcommand{\glossentry}[2]{%
\hangindent0pt\relax
\parindent0pt\relax
- \glsentryitem{##1}\textbf{\glstarget{##1}{\glossentryname{##1}}}%
+ \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}%
\ifglshassymbol{##1}{\space(\glossentrysymbol{##1})}{}%
\space\glossentrydesc{##1}\glspostdescription\space##2\par
}%
@@ -20151,7 +20274,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% Give each group a heading:
% \begin{macrocode}
\renewcommand{\glsgroupheading}[1]{\par
- \noindent\textbf{\glsgetgrouptitle{##1}}\par\indexspace}%
+ \noindent\glstreenamefmt{\glsgetgrouptitle{##1}}\par\indexspace}%
}
% \end{macrocode}
%\end{style}
@@ -20171,14 +20294,14 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \env{theglossary} environment:
% \begin{macrocode}
\renewcommand*{\glossaryheader}{%
- \par\noindent\textbf{\glsnavigation}\par\indexspace}%
+ \par\noindent\glstreenamefmt{\glsnavigation}\par\indexspace}%
% \end{macrocode}
% Each group has a heading (in bold with a target) followed by a
% vertical gap):
% \begin{macrocode}
\renewcommand*{\glsgroupheading}[1]{%
\par\noindent
- \textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
+ \glstreenamefmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
\indexspace}%
}
% \end{macrocode}
@@ -20234,7 +20357,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% Find out how big the indentation should be by measuring the
% widest entry.
% \begin{macrocode}
- \settowidth{\glstreeindent}{\textbf{\@glswidestname\space}}%
+ \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
\fi
% \end{macrocode}
% Set the hangindent and paragraph indent.
@@ -20247,7 +20370,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% Put the name to the left of the paragraph block.
% \begin{macrocode}
\makebox[0pt][r]{\makebox[\glstreeindent][l]{%
- \glsentryitem{##1}\textbf{\glstarget{##1}{\glossentryname{##1}}}}}%
+ \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}}}%
% \end{macrocode}
% If the symbol is missing, ignore it, otherwise put it in
% brackets.
@@ -20285,8 +20408,8 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% defined for this level. Store in \cs{gls@tmplen}
% \begin{macrocode}
\@ifundefined{@glswidestname\romannumeral##1}{%
- \settowidth{\gls@tmplen}{\textbf{\@glswidestname\space}}}{%
- \settowidth{\gls@tmplen}{\textbf{%
+ \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}}{%
+ \settowidth{\gls@tmplen}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##1\endcsname\space}}}%
% \end{macrocode}
% Determine if going up or down a level
@@ -20307,9 +20430,9 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% and store in \cs{glstreeindent}.
% \begin{macrocode}
\@ifundefined{@glswidestname\romannumeral\@gls@prevlevel}{%
- \settowidth{\glstreeindent}{\textbf{%
+ \settowidth{\glstreeindent}{\glstreenamefmt{%
\@glswidestname\space}}}{%
- \settowidth{\glstreeindent}{\textbf{%
+ \settowidth{\glstreeindent}{\glstreenamefmt{%
\csname @glswidestname\romannumeral\@gls@prevlevel
\endcsname\space}}}%
% \end{macrocode}
@@ -20328,7 +20451,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% Put the name to the left of the paragraph block
% \begin{macrocode}
\makebox[0pt][r]{\makebox[\gls@tmplen][l]{%
- \textbf{\glstarget{##2}{\glossentryname{##2}}}}}%
+ \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}}}%
% \end{macrocode}
% If the symbol is missing, ignore it, otherwise put it in
% brackets.
@@ -20369,7 +20492,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\def\@gls@prevlevel{-1}%
\hangindent0pt\relax
\parindent0pt\relax
- \textbf{\glsgetgrouptitle{##1}}\par\indexspace}%
+ \glstreenamefmt{\glsgetgrouptitle{##1}}\par\indexspace}%
}
% \end{macrocode}
%\end{style}
@@ -20392,7 +20515,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\def\@gls@prevlevel{-1}%
\hangindent0pt\relax
\parindent0pt\relax
- \textbf{\glsnavigation}\par\indexspace}%
+ \glstreenamefmt{\glsnavigation}\par\indexspace}%
% \end{macrocode}
% Put a hypertarget at the start of each group
% \begin{macrocode}
@@ -20401,7 +20524,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\def\@gls@prevlevel{-1}%
\hangindent0pt\relax
\parindent0pt\relax
- \textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
+ \glstreenamefmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
\indexspace}}
% \end{macrocode}
%\end{style}
@@ -21594,7 +21717,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% but will only be updated when \texttt{glossaries-accsupp.sty} is
% modified.
% \begin{macrocode}
-\ProvidesPackage{glossaries-accsupp}[2014/03/06 v4.04 (NLCT)
+\ProvidesPackage{glossaries-accsupp}[2014/07/30 v4.08 (NLCT)
Experimental glossaries accessibility]
% \end{macrocode}
% Pass all options to \sty{glossaries}:
@@ -22761,11 +22884,12 @@ false,nolabel,autolabel,nameref}[nolabel]{%
%\end{macro}
%
%\begin{macro}{\@acrshort}
+%\changes{4.08}{2014-07-30}{added \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\def\@acrshort#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -22781,18 +22905,19 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Call \cs{@gls@link}
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\@Acrshort}
+%\changes{4.08}{2014-07-30}{added \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\def\@Acrshort#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -22808,18 +22933,19 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Call \cs{@gls@link}
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\@ACRshort}
+%\changes{4.08}{2014-07-30}{added \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\def\@ACRshort#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -22836,18 +22962,19 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Call \cs{@gls@link}
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\@acrlong}
+%\changes{4.08}{2014-07-30}{added \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\def\@acrlong#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -22863,18 +22990,19 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Call \cs{@gls@link}
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\@Acrlong}
+%\changes{4.08}{2014-07-30}{added \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\def\@Acrlong#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -22890,18 +23018,19 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Call \cs{@gls@link}
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\@ACRlong}
+%\changes{4.08}{2014-07-30}{added \cs{do@gls@link@checkfirsthyper}}
% \begin{macrocode}
\def\@ACRlong#1#2[#3]{%
\glsdoifexists{#2}%
{%
- \edef\@glo@type{\glsentrytype{#2}}%
+ \let\do@gls@link@checkfirsthyper\relax
% \end{macrocode}
%\changes{3.11a}{2013-10-15}{added \cs{glslabel}, \cs{glsifplural},
% \cs{glscapscase}, \cs{glsinsert} and \cs{glscustomtext}}
@@ -22918,7 +23047,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
% \end{macrocode}
% Call \cs{@gls@link}
% \begin{macrocode}
- \@gls@link[#1]{#2}{\csname gls@\@glo@type @entryfmt\endcsname}%
+ \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}%
}%
}
% \end{macrocode}
@@ -24860,8 +24989,11 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\newglossaryentry{sample}{name={sample},
description={a sample entry}}
-% This contrived acronym has non-standard plural forms.
-% These are specified in the optional argument.
+ % set the acronym style:
+\setacronymstyle{long-short}
+
+ % This contrived acronym has non-standard plural forms.
+ % These are specified in the optional argument.
\newacronym[\glsshortpluralkey=cas,\glslongpluralkey=contrived
acronyms]{aca}{aca}{a contrived acronym}
@@ -24892,6 +25024,1404 @@ If you want paragraph breaks in the description use
%\fi
%\iffalse
% \begin{macrocode}
+%<*glossary-lipsum-examples.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % arara: pdflatex
+ % arara: makeglossaries
+ % arara: pdflatex
+ % arara: bibtex
+ % arara: pdflatex
+ % arara: pdflatex
+\documentclass{report}
+
+\usepackage{graphicx}
+\usepackage{scrwfile}
+
+\usepackage[colorlinks]{hyperref}
+\usepackage[nopostdot,toc,acronym,symbols]{glossaries}
+\usepackage{glossary-mcols}
+\usepackage{glossary-longragged}
+
+\newglossary[glg2]{long}{gls2}{glo2}{Long Descriptions}
+\newglossary[glg3]{multipar}{gls3}{glo3}{Multi-Paragraph Descriptions}
+\newglossary[glg4]{acronymdesc}{gls4}{glo4}{Acronyms with Descriptions}
+\newglossary[glg5]{images}{gls5}{glo5}{Descriptions with Images}
+\newglossary[glg6]{acronymslang}{gls6}{glo6}{Acronyms with
+Translations}
+
+\newglossary[glg7]{parent}{gls7}{glo7}{Hierarchical Entries}
+\newglossary[glg8]{homographs}{gls8}{glo8}{Homographs}
+\newglossary[glg9]{cites}{gls9}{glo9}{Entries with Citations}
+
+\DeclareAcronymList{acronymdesc,acronymslang}
+
+\makeglossaries
+
+\loadglsentries{example-glossaries-brief}
+\loadglsentries[long]{example-glossaries-long}
+\loadglsentries[multipar]{example-glossaries-multipar}
+\loadglsentries[symbols]{example-glossaries-symbols}
+\loadglsentries[images]{example-glossaries-images}
+\loadglsentries[parent]{example-glossaries-parent}
+\loadglsentries[homographs]{example-glossaries-childnoname}
+\loadglsentries[cites]{example-glossaries-cite}
+
+\setacronymstyle{long-short}
+
+\loadglsentries[acronym]{example-glossaries-acronym}
+
+\setacronymstyle{long-short-desc}
+
+\loadglsentries[acronymdesc]{example-glossaries-acronym-desc}
+
+ % define an acronym style for the acronyms with a translation:
+
+\newacronymstyle{acronymslang}%
+{%
+ \GlsUseAcrEntryDispStyle{long-short}%
+}
+{%
+ \GlsUseAcrStyleDefs{short-long}%
+ \renewcommand*{\genacrfullformat}[2]{%
+ \glsentrylong{##1}##2\space
+ (\protect\firstacronymfont{\glsentryshort{##1}}%
+ \ifglshasfield{useri}{##1}%
+ {, English: \glsentryuseri{##1}}{})%
+ }%
+ \renewcommand*{\Genacrfullformat}[2]{%
+ \Glsentrylong{##1}##2\space
+ (\protect\firstacronymfont{\glsentryshort{##1}}%
+ \ifglshasfield{useri}{##1}%
+ {, English: \glsentryuseri{##1}}{})%
+ }%
+ \renewcommand*{\genplacrfullformat}[2]{%
+ \glsentrylongpl{##1}##2\space
+ (\protect\firstacronymfont{\glsentryshortpl{##1}}%
+ \ifglshasfield{useri}{##1}%
+ {, English: \glsentryuseri{##1}}{})%
+ }%
+ \renewcommand*{\Genplacrfullformat}[2]{%
+ \Glsentrylongpl{##1}##2\space
+ (\protect\firstacronymfont{\glsentryshortpl{##1}}%
+ \ifglshasfield{useri}{##1}%
+ {, English: \glsentryuseri{##1}}{})%
+ }%
+}
+
+\setacronymstyle{acronymslang}
+
+\loadglsentries[acronymslang]{example-glossaries-acronyms-lang}
+
+ % Define a style for the "images" glossary. The image names are
+ % stored in the user1 key.
+ % (The image insertion can probably be done more neatly using an
+ % appropriate package, but this is just a sample file.)
+
+\newsavebox\glsimagebox
+\newlength\glswidth
+
+\newglossarystyle{images}%
+{%
+ \setglossarystyle{tree}%
+ \renewenvironment{theglossary}{}{}%
+ \renewcommand{\glossentry}[2]{%
+ \ifglshasfield{useri}{##1}%
+ {\savebox
+ {\glsimagebox}%
+ {\includegraphics[height=4\baselineskip]{\glsentryuseri{##1}}}%
+ \settowidth{\glswidth}{\usebox\glsimagebox}%
+ \glswidth=\dimexpr\linewidth-\glswidth-1em\relax
+ \parshape=5
+ 0pt \glswidth
+ 0pt \glswidth
+ 0pt \glswidth
+ 0pt \glswidth
+ 0pt \linewidth\relax
+ }%
+ {%
+ \savebox{\glsimagebox}{}%
+ }%
+ \noindent
+ \makebox[0pt][l]{%
+ \smash{\makebox[\linewidth][r]{\raisebox{-3\baselineskip}{\usebox\glsimagebox}}}}%
+ \glsentryitem{##1}\textbf{\glstarget{##1}{\glossentryname{##1}}}%
+ \space\glossentrydesc{##1}\par
+ \indexspace
+ }%
+ \renewcommand*{\glsgroupskip}{}%
+}
+
+ % glossary style for acronyms with a translation
+
+\newglossarystyle{acronymslang}
+{%
+ \setglossarystyle{long}%
+ \renewcommand*{\glsgroupskip}{}%
+ \renewcommand{\glossentry}[2]{%
+ \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
+ \glossentrydesc{##1}\glspostdescription
+ \ifglshasfield{useri}{##1}{ (English: \glsentryuseri{##1})}{}%
+ \space ##2\tabularnewline
+ }%
+}
+
+ % glossary style for the cites glossary
+
+\newglossarystyle{cites}
+{% based on list style
+ \setglossarystyle{list}%
+ \renewcommand*{\glossentry}[2]{%
+ \item[\glsentryitem{##1}%
+ \glstarget{##1}{\glossentryname{##1}}]
+ \glossentrydesc{##1}\glspostdescription
+ \ifglshasfield{useri}{##1}{\space
+ % in the event of multiple cites (as in the vestibulum2
+ % sample entry), \glsentryuseri{##1} needs to be expanded
+ % before being passed to \cite.
+ \glsletentryfield{\thiscite}{##1}{useri}%
+ (See \expandafter\cite\expandafter{\thiscite})}{}%
+ \space ##2}%
+}
+
+\begin{document}
+\tableofcontents
+
+\chapter{Sample}
+
+This is a sample document that uses the dummy glossary entries
+supplied with the glossaries bundle for testing.
+
+Here are all the entries (including acronyms):
+
+\forallglossaries{\thistype}{\section{Glossary `\thistype'}
+\forglsentries[\thistype]{\thislabel}{\gls{\thislabel}. }}
+
+\section{Acronyms Revisited}
+
+Here are just the acronyms again:
+\forallacronyms{\thistype}{\forglsentries[\thistype]{\thislabel}{\gls{\thislabel}. }}
+
+\printglossary[style=mcolindex,title={Brief Descriptions}]
+
+\printglossary[type=long,style=list]
+
+\printglossary[type=multipar,style=altlist]
+
+\printglossary[type=symbols,style=altlongragged4col,nogroupskip]
+
+\printglossary[type=acronym,style=long]
+
+\printglossary[type=acronymdesc,style=altlist]
+
+\printglossary[type=images,style=images]
+
+\printglossary[type=acronymslang,style=acronymslang]
+
+\printglossary[type=homographs,style=mcoltreenoname,subentrycounter]
+
+\printglossary[type=parent,style=tree]
+
+\printglossary[type=cites,style=cites,nopostdot=false,nogroupskip]
+
+\bibliographystyle{plain}
+\bibliography{xampl}
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</glossary-lipsum-examples.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-acronym-desc.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test acronym entries with descriptions.
+
+\newacronym[type=\glsdefaulttype,description={fringilla a, euismod sodales,
+ sollicitudin vel, wisi}]{ndl}{NDL}{nam dui ligula}
+
+\newacronym[type=\glsdefaulttype,description={non justo}]{mal}{MAL}{morbi auctor lorem}
+
+\newacronym[type=\glsdefaulttype,description={pretium at, lobortis vitae, ultricies et,
+tellus}]{nll}{NLL}{name lacus libero}
+
+\newacronym[type=\glsdefaulttype,description={tortor sed accumsan bibendum, erat ligula
+aliquet magna, vitae ornare odio metus a mi}]{da}{DA}{donec aliquet}
+
+\newacronym[type=\glsdefaulttype,description={et nisl hendrerit mollis}]{mao}{MAO}{morbi ac orci}
+
+\newacronym[type=\glsdefaulttype,description={cras nec ante}]{sum}{SUM}{suspendisse ut massa}
+
+\newacronym[type=\glsdefaulttype,description={cum sociis natoque penatibus et magnis dis
+parturient montes, nascetur ridiculus mus}]{pan}{PAN}{pellentesque a nulla}
+
+\newacronym[type=\glsdefaulttype,description={nulla ullamcorper vestibulum
+turpis}]{atu}{ATU}{aliquam tincidunt urna}
+
+\newacronym[type=\glsdefaulttype,description={nulla malesuada porttitor diam}]%
+ {pclm}{PCLM}{pellentesque cursus luctus mauris}
+
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-acronym-desc.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-acronym.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test acronym entries
+
+\newacronym[type=\glsdefaulttype]{lid}{LID}{lorem ipsum dolor}
+
+\newacronym[type=\glsdefaulttype]{stc}{STC}{sit amet consectetuer}
+
+\newacronym[type=\glsdefaulttype]{aeu}{AEU}{adipiscing elit ut}
+
+\newacronym[type=\glsdefaulttype]{pev}{PEV}{purus elit vestibulum}
+
+\newacronym[type=\glsdefaulttype]{upa}{UPA}{ut placerat ac}
+
+\newacronym[type=\glsdefaulttype]{avf}{AVF}{adipiscing vitae felis}
+
+\newacronym[type=\glsdefaulttype]{cdg}{CDG}{curabitur dictum gravida}
+
+\newacronym[type=\glsdefaulttype]{mna}{MNA}{mauris nam arcu}
+
+\newacronym[type=\glsdefaulttype]{lne}{LNE}{libero nonummy eget}
+
+\newacronym[type=\glsdefaulttype]{civ}{CIV}{consectetuer id vulputate}
+
+\newacronym[type=\glsdefaulttype]{amd}{AMD}{a magna donec}
+
+\newacronym[type=\glsdefaulttype]{vae}{VAE}{vehicula augue eu}
+
+\newacronym[type=\glsdefaulttype]{nph}{NPH}{neque pellentesque habitant}
+
+\newacronym[type=\glsdefaulttype]{mts}{MTS}{morbi tristique senectus}
+
+\newacronym[type=\glsdefaulttype]{ene}{ENE}{et netus et}
+
+\newacronym[type=\glsdefaulttype]{mfa}{MFA}{malesuada fames ac}
+
+\newacronym[type=\glsdefaulttype]{tem}{TEM}{turpis egestas mauris}
+
+\newacronym[type=\glsdefaulttype]{ulc}{ULC}{ut leo cras}
+
+\newacronym[type=\glsdefaulttype]{vmr}{VMR}{viverra metus rhoncus}
+
+\newacronym[type=\glsdefaulttype]{sne}{SNE}{sem nulla et}
+
+\newacronym[type=\glsdefaulttype]{lvu}{LVU}{lectus vestibulum urna}
+
+\newacronym[type=\glsdefaulttype]{fup}{FUP}{fringilla ultrices phasellus}
+
+\newacronym[type=\glsdefaulttype]{ets}{ETS}{eu tellus sit}
+
+\newacronym[type=\glsdefaulttype]{atg}{ATG}{amet tortor gravida}
+
+\newacronym[type=\glsdefaulttype]{pis}{PIS}{placerat integer sapien}
+
+\newacronym[type=\glsdefaulttype]{eii}{EII}{est iaculis in}
+
+\newacronym[type=\glsdefaulttype]{pqv}{PQV}{pretium quis viverra}
+
+\newacronym[type=\glsdefaulttype]{anp}{ANP}{ac nunc praesent}
+
+\newacronym[type=\glsdefaulttype]{esv}{ESV}{eget sem vel}
+
+\newacronym[type=\glsdefaulttype]{lub}{LUB}{leo ultrices bibendum}
+
+\newacronym[type=\glsdefaulttype]{afm}{AFM}{aenean faucibus morbi}
+
+\newacronym[type=\glsdefaulttype]{dnm}{DNM}{dolor nulla malesuada}
+
+\newacronym[type=\glsdefaulttype]{epa}{EPA}{eu pulvinar at}
+
+\newacronym[type=\glsdefaulttype]{man}{MAC}{mollis ac nulla}
+
+\newacronym[type=\glsdefaulttype]{cas}{CAS}{curabitur auctor semper}
+
+\newacronym[type=\glsdefaulttype]{ndv}{NDV}{nulla donec varius}
+
+\newacronym[type=\glsdefaulttype]{oer}{OER}{orci eget risus}
+
+\newacronym[type=\glsdefaulttype]{dnmc}{DNMC}{duis nibh mi congue}
+
+\newacronym[type=\glsdefaulttype]{cea}{CEA}{congue eu accumsan}
+
+\newacronym[type=\glsdefaulttype]{esq}{ESQ}{eleifend sagittis quis}
+
+\newacronym[type=\glsdefaulttype]{dia}{DIA}{duis eget orci}
+
+\newacronym[type=\glsdefaulttype]{sao}{SAO}{sit amet orci}
+
+\newacronym[type=\glsdefaulttype]{drn}{DRN}{dignissim rutrum nam}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-acronym.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-acronyms-lang.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test acronym entries where some are provided with
+ % "translations", which are stored in the user1 key.
+
+\newacronym[type=\glsdefaulttype,user1={love itself}]{li}{LI}{lorem ipsum}
+
+\newacronym[type=\glsdefaulttype,user1={produces none}]{np}{NP}{nulla pariatur}
+
+\newacronym[type=\glsdefaulttype,user1={blame belongs}]{sic}{SIC}{sunt in culpa}
+
+\newacronym[type=\glsdefaulttype,user1={blinded by
+desire}]{esoc}{ESOC}{excepturi sint obcaecati cupiditat}
+
+\newacronym[type=\glsdefaulttype]{nmruu}{NMRUU}{nulla malesuada
+risus ut urna}
+
+\newacronym[type=\glsdefaulttype]{di}{DI}{duis iaculi}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-acronyms-lang.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-brief.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with brief descriptions.
+
+\newglossaryentry{lorem}{name={lorem},description={ipsum}}
+
+\newglossaryentry{dolor}{name={dolor},description={sit}}
+
+\newglossaryentry{amet}{name={amet},description={consectetuer}}
+
+\newglossaryentry{adipiscing}{name={adipiscing},description={elit}}
+
+\newglossaryentry{ut}{name={ut},description={purus}}
+
+\newglossaryentry{elit}{name={elit},description={vestibulum}}
+
+\newglossaryentry{placerat}{name={placerat},description={ac}}
+
+\newglossaryentry{vitae}{name={vitae},description={felis}}
+
+\newglossaryentry{curabitur}{name={curabitur},description={gravida}}
+
+\newglossaryentry{mauris}{name={mauris},description={nam}}
+
+\newglossaryentry{arcu}{name={arcu},description={libero}}
+
+\newglossaryentry{nonummy}{name={nonummy},description={eget}}
+
+\newglossaryentry{consectetuer}{name={consectetuer},description={id}}
+
+\newglossaryentry{vulputate}{name={vulputate},description={a magna}}
+
+\newglossaryentry{donec}{name={donec},description={vehicula}}
+
+\newglossaryentry{augue}{name={augue},description={eu neque}}
+
+\newglossaryentry{pellentesque}{name={pellentesque},description={habitant}}
+
+\newglossaryentry{morbi}{name={morbi},description={tristique}}
+
+\newglossaryentry{senectus}{name={senectus},description={et netus}}
+
+\newglossaryentry{et}{name={et},description={malesuada}}
+
+\newglossaryentry{fames}{name={fames},description={ac}}
+
+\newglossaryentry{turpis}{name={turpis},description={egestas}}
+
+\newglossaryentry{leo}{name={leo},description={cras}}
+
+\newglossaryentry{viverra}{name={viverra},description={metus}}
+
+\newglossaryentry{rhoncus}{name={rhoncus},description={sem}}
+
+\newglossaryentry{nulla}{name={nulla},description={et}}
+
+\newglossaryentry{lectus}{name={lectus},description={vestibulum}}
+
+\newglossaryentry{urna}{name={urna},description={fringilla}}
+
+\newglossaryentry{ultrices}{name={ultrices},description={phasellus}}
+
+\newglossaryentry{eu}{name={eu},description={tellus}}
+
+\newglossaryentry{sit}{name={sit},description={amet}}
+
+\newglossaryentry{tortor}{name={tortor},description={gravida}}
+
+\newglossaryentry{integer}{name={integer},description={sapien}}
+
+\newglossaryentry{est}{name={est},description={iaculis}}
+
+\newglossaryentry{in}{name={in},description={pretium}}
+
+\newglossaryentry{quis}{name={quis},description={viverra}}
+
+\newglossaryentry{ac}{name={ac},description={nunc}}
+
+\newglossaryentry{praesent}{name={praesent},description={eget}}
+
+\newglossaryentry{sem}{name={sem},description={vel leo}}
+
+\newglossaryentry{bibendum}{name={bibendum},description={ultrices}}
+
+\newglossaryentry{aenean}{name={aenean},description={faucibus}}
+
+\newglossaryentry{malesuada}{name={malesuada},description={eu}}
+
+\newglossaryentry{pulvinar}{name={pulvinar},description={at}}
+
+\newglossaryentry{mollis}{name={mollis},description={ac nulla}}
+
+\newglossaryentry{auctor}{name={auctor},description={semper}}
+
+\newglossaryentry{varius}{name={varius},description={orci}}
+
+\newglossaryentry{eget}{name={eget},description={risus}}
+
+\newglossaryentry{duis}{name={duis},description={nibh}}
+
+\newglossaryentry{mi}{name={mi},description={congue}}
+
+\newglossaryentry{accumsan}{name={accumsan},description={eleifend}}
+
+\newglossaryentry{sagittis}{name={sagittis},description={quis}}
+
+\newglossaryentry{diam}{name={diam},description={duis}}
+
+\newglossaryentry{orci}{name={orci},description={dignissim}}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-brief.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-childnoname.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with child entries that don't have
+ % a name supplied. (The name is the same as the parent name.)
+
+\newglossaryentry{scelerisque}{name={scelerisque},description={at}}
+
+\newglossaryentry{vestibulum}{parent={scelerisque},description={eu, nulla}}
+
+\newglossaryentry{utodionisl}{parent={scelerisque},description={facilisis id}}
+
+\newglossaryentry{molliset}{parent={scelerisque},description={nec, enim}}
+
+\newglossaryentry{aeneansem}{parent={scelerisque},description={sem leo}}
+
+\newglossaryentry{pellentesquesit}{parent={scelerisque},description={sit amet}}
+
+\newglossaryentry{sapien}{parent={scelerisque},description={vehicula
+pellentesque}}
+
+\newglossaryentry{consequat}{parent={scelerisque},description={tellus
+et tortor}}
+
+\newglossaryentry{uttempor}{name={ut tempor},description={laoreet
+quam}}
+
+\newglossaryentry{nullamid}{parent={uttempor},description={wisi a
+libero}}
+
+\newglossaryentry{tristique}{parent={uttempor},description={semper}}
+
+\newglossaryentry{nullamnislmassa}{parent={uttempor},description={rutrum
+ut}}
+
+\newglossaryentry{eleifend}{name={eleifend},description={sit amet
+faucibus}}
+
+\newglossaryentry{elementum}{parent={eleifend},description={elementum}}
+
+\newglossaryentry{urnasapien}{parent={eleifend},description={urna sapien}}
+
+\newglossaryentry{consectetuermauris}{name={consectetuer},description={mauris}}
+
+\newglossaryentry{quisegestas}{parent={consectetuermauris},description={quis egestas}}
+
+\newglossaryentry{leojusto}{parent={consectetuermauris},description={leo
+justo}}
+
+\newglossaryentry{nonrisus}{name={non risus},description={morbi non
+felis}}
+
+\newglossaryentry{aclibero}{parent={nonrisus},description={ac libero}}
+
+\newglossaryentry{vulputatefringilla}{parent={nonrisus},description={vulputate
+fringilla}}
+
+\newglossaryentry{maurislibero}{name={mauris},description={libero eros}}
+
+\newglossaryentry{lacinia}{parent={maurislibero},description={lacinia
+non}}
+
+\newglossaryentry{sodales}{parent={maurislibero},description={sodales
+quis}}
+
+\newglossaryentry{dapibus}{parent={maurislibero},description={dapibus
+porttitor, pede}}
+
+\newglossaryentry{class}{name={class},description={aptent taciti}}
+
+\newglossaryentry{sociosqu}{parent={class},description={sociosqu}}
+
+\newglossaryentry{adlitora}{parent={class},description={ad litora}}
+
+\newglossaryentry{torquent}{parent={class},description={torquent per
+conubia}}
+
+\newglossaryentry{nostra}{name={nostra},description={per inceptos
+hymenaeos}}
+
+\newglossaryentry{morbidapibus}{parent={nostra},description={morbi
+dapibus}}
+
+\newglossaryentry{mauriscondimentum}{parent={nostra},description={mauris
+condimentum nulla}}
+
+\newglossaryentry{cumsociis}{name={cum sociis},description={natoque
+penatibus}}
+
+\newglossaryentry{etmagnis}{parent={cumsociis},description={et
+magnis}}
+
+\newglossaryentry{disparturient}{parent={cumsociis},description={dis
+parturient montes}}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-childnoname.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-cite.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with citation labels stored in
+ % the user1 field. (The citations are defined in the xampl.bib file
+ % that should be available on modern TeX distributions.)
+
+\newglossaryentry{fusce}{name={fusce},
+description={suscipit cursus sem},user1={article-minimal}}
+
+\newglossaryentry{vivamus}{name={vivamus},
+description={risus mi, egestas ac},user1={article-full}}
+
+\newglossaryentry{imperdiet}{name={imperdiet},
+description={varius, faucibus quis, leo},user1={whole-journal}}
+
+\newglossaryentry{aenean2}{name={aenean},
+description={tincidunt},user1={inbook-minimal}}
+
+\newglossaryentry{crasid}{name={cras id},
+description={justo quis nibh scelerisque dignissim},
+user1={inbook-full}}
+
+\newglossaryentry{aliquam2}{name={aliquam},
+description={sagittis elementum dolor},
+user1={book-minimal}}
+
+\newglossaryentry{aeneanconsectetuer}{name={aenean consectetuer},
+description={justo in pede},
+user1={book-full}}
+
+\newglossaryentry{curabiturullamcorper}{name={curabitur ullamcorper},
+description={ligula nec orci},
+user1={booklet-minimal}}
+
+\newglossaryentry{aliquampurus}{name={aliquam purus},
+description={turpis, aliquam id},
+user1={booklet-full}}
+
+\newglossaryentry{ornarevitae}{name={ornare vitae},
+description={porttitor non, wisi},
+user1={incollection-minimal}}
+
+\newglossaryentry{maecenasluctus}{name={maecenas luctus},
+description={porta lorem},
+user1={incollection-full}}
+
+\newglossaryentry{donecvitae}{name={donec vitae},
+description={ligula eu ante pretium varius},
+user1={manual-minimal}}
+
+\newglossaryentry{proin}{name={proin},
+description={tortor metus, convallis et},
+user1={manual-full}}
+
+\newglossaryentry{hendrerit}{name={hendrerit},
+description={non, scelerisque in, urna},
+user1={mastersthesis-minimal}}
+
+\newglossaryentry{crasquis}{name={cras qui},
+description={libero eu ligula bibendum tempor},
+user1={mastersthesis-full}}
+
+\newglossaryentry{vivamustellus}{name={vivamus tellus},
+description={quam, malesuada eu, tempus sed, tempor sed, velit},
+user1={misc-minimal}}
+
+\newglossaryentry{doneclacinia}{name={donec lacinia},
+description={auctor libero},
+user1={misc-full}}
+
+\newglossaryentry{praesent2}{name={praesent},
+description={sed neque id pede mollis rutrum},
+user1={inproceedings-minimal}}
+
+ % Here's one with multiple cites:
+\newglossaryentry{vestibulum2}{name={vestibulum},
+description={iaculis risus},
+user1={inproceedings-minimal,phdthesis-minimal}}
+
+ % Here's one without a user1 key for comparison:
+\newglossaryentry{pellentesque2}{name={pellentesque},
+description={lacus}}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-cite.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-images.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with multi-paragraph descriptions
+ % that have an associated image file (stored in user1).
+ % The referenced image files are provided by the mwe package.
+
+\longnewglossaryentry{sedfeugiat}{name={sed feugiat},user1={example-image}}%
+{%
+Cum sociis natoque penatibus et magnis dis parturient montes,
+nascetur ridiculus mus. Ut pellentesque augue sed urna. Vestibulum
+diam eros, fringilla et, consectetuer eu, nonummy id, sapien. Nullam
+at lectus. In sagittis ultrices mauris. Curabitur malesuada erat sit
+amet massa. Fusce blandit. Aliquam erat volutpat. Aliquam euismod.
+Aenean vel lectus. Nunc imperdiet justo nec dolor.
+
+Etiam euismod. Fusce facilisis lacinia dui. Suspendisse potenti. In
+mi erat, cursus id, nonummy sed, ullamcorper eget, sapien. Praesent
+pretium, magna in eleifend egestas, pede pede pretium lorem, quis
+consectetuer tortor sapien facilisis magna. Mauris quis magna
+varius nulla scelerisque imperdiet. Aliquam non quam. Aliquam
+porttitor quam a lacus. Praesent vel arcu ut tortor cursus volutpat.
+In vitae pede quis diam bibendum placerat. Fusce elementum convallis
+neque. Sed dolor orci, scelerisque ac, dapibus nec, ultricies ut,
+mi. Duis nec dui quis leo sagittis commodo.
+}
+
+\longnewglossaryentry{aliquamlectus}%
+{name={aliquam lectus},user1={example-image-a}}%
+{%
+Vivamus leo. Quisque ornare tellus ullamcorper nulla. Mauris
+porttitor pharetra tortor. Sed fringilla justo sed mauris. Mauris
+tellus. Sed non leo. Nullam elementum, magna in cursus sodales,
+augue est scelerisque sapien, venenatis congue nulla arcu et pede.
+Ut suscipit enim vel sapien. Donec congue. Maecenas urna mi,
+suscipit in, placerat ut, vestibulum ut, massa. Fusce ultrices nulla
+et nisl.
+
+Etiam ac leo a risus tristique nonummy. Donec dignissim tincidunt
+nulla. Vestibulum rhoncus molestie odio. Sed lobortis, justo et
+pretium lobortis, mauris turpis condimentum augue, nec ultricies
+nibh arcu pretium enim. Nunc purus neque, placerat id, imperdiet
+sed, pellentesque nec, nisl. Vestibulum imperdiet neque non sem
+accumsan laoreet. In hac habitasse platea dictumst. Etiam
+condimentum facilisis libero. Suspendisse in elit quis nisl aliquam
+dapibus. Pellentesque auctor sapien. Sed egestas sapien nec lectus.
+Pellentesque vel dui vel neque bibendum viverra. Aliquam porttitor
+nisl nec pede. Proin mattis libero vel turpis. Donec rutrum mauris
+et libero. Proin euismod porta felis. Nam lobortis, metus quis
+elementum commodo, nunc lectus elementum mauris, eget vulputate
+ligula tellus eu neque. Vivamus eu dolor.
+}
+
+\longnewglossaryentry{nullainipsum}%
+{name={nulla in ipsum},user1={example-image-b}}%
+{%
+ Praesent eros nulla, congue vitae, euismod ut, commodo a, wisi.
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas. Aenean nonummy magna non leo. Sed felis
+erat, ullamcorper in, dictum non, ultricies ut, lectus. Proin vel
+arcu a odio lobortis euismod. Vestibulum ante ipsum primis in
+faucibus orci luctus et ultrices posuere cubilia Curae; Proin ut
+est. Aliquam odio. Pellentesque massa turpis, cursus eu, euismod
+nec, tempor congue, nulla. Duis viverra gravida mauris. Cras
+tincidunt. Curabitur eros ligula, varius ut, pulvinar in, cursus
+faucibus, augue.
+
+Nulla mattis luctus nulla. Duis commodo velit at leo. Aliquam
+vulputate magna et leo. Nam vestibulum ullamcorper leo. Vestibulum
+condimentum rutrum mauris. Donec id mauris. Morbi molestie justo et
+pede. Vivamus eget turpis sed nisl cursus tempor. Curabitur mollis
+sapien condimentum nunc. In wisi nisl, malesuada at, dignissim sit
+amet, lobortis in, odio. Aenean consequat arcu a ante. Pellentesque
+porta elit sit amet orci. Etiam at turpis nec elit ultricies
+imperdiet. Nulla facilisi. In hac habitasse platea dictumst.
+Suspendisse viverra aliquam risus. Nullam pede justo, molestie
+nonummy, scelerisque eu, facilisis vel, arcu.
+}
+
+\longnewglossaryentry{curabiturtellusmagna}%
+{name={curabitur tellus magna},user1={example-image-c}}%
+{%
+Donec interdum. Praesent scelerisque. Maecenas posuere sodales
+odio. Vivamus metus lacus, varius quis, imperdiet quis, rhoncus a,
+turpis. Etiam ligula arcu, elementum a, venenatis quis, sollicitudin
+sed, metus. Donec nunc pede, tincidunt in, venenatis vitae, faucibus
+vel, nibh. Pellentesque wisi. Nullam malesuada. Morbi ut tellus ut
+pede tincidunt porta. Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. Etiam congue neque id dolor.
+
+Donec et nisl at wisi luctus bibendum. Nam interdum tellus ac
+libero. Sed sem justo, laoreet vitae, fringilla at, adipiscing ut,
+nibh. Maecenas non sem quis tortor eleifend fermentum. Etiam id
+tortor ac mauris porta vulputate. Integer porta neque vitae massa.
+Maecenas tempus libero a libero posuere dictum. Vestibulum ante
+ipsum primis in faucibus orci luctus et ultrices posuere cubilia
+Curae; Aenean quis mauris sed elit commodo placerat. Class aptent
+taciti sociosqu ad litora torquent per conubia nostra, per inceptos
+hymenaeos. Vivamus rhoncus tincidunt libero. Etiam elementum pretium
+justo. Vivamus est. Morbi a tellus eget pede tristique commodo.
+Nulla nisl. Vestibulum sed nisl eu sapien cursus rutrum.
+}
+
+\longnewglossaryentry{nullanonmauris}%
+{name={nulla non mauris},user1={example-image-16x10}}%
+{%
+Nullam varius. Etiam dignissim elementum metus. Vestibulum faucibus,
+metus sit amet mattis rhoncus, sapien dui laoreet odio, nec
+ultricies nibh augue a enim. Fusce in ligula. Quisque at magna et
+nulla commodo consequat. Proin accumsan imperdiet sem. Nunc porta.
+Donec feugiat mi at justo. Phasellus facilisis ipsum quis ante. In
+ac elit eget ipsum pharetra faucibus. Maecenas viverra nulla in
+massa.
+
+Nulla ac nisl. Nullam urna nulla, ullamcorper in, interdum sit amet,
+gravida ut, risus. Aenean ac enim. In luctus. Phasellus eu quam
+vitae turpis viverra pellentesque. Duis feugiat felis ut enim.
+Phasellus pharetra, sem id porttitor sodales, magna nunc aliquet
+nibh, nec blandit nisl mauris at pede. Suspendisse risus risus,
+lobortis eget, semper at, imperdiet sit amet, quam. Quisque
+scelerisque dapibus nibh. Nam enim. Lorem ipsum dolor sit amet,
+consectetuer adipiscing elit. Nunc ut metus. Ut metus justo, auctor
+at, ultrices eu, sagittis ut, purus. Aliquam aliquam.
+}
+
+\longnewglossaryentry{etiampedemassa}%
+{name={etiam pede massa},user1={example-image-10x16}}%
+{%
+Vestibulum luctus commodo lacus. Morbi lacus dui, tempor sed,
+euismod eget, condimentum at, tortor. Phasellus aliquet odio ac
+lacus tempor faucibus. Praesent sed sem. Praesent iaculis. Cras
+rhoncus tellus sed justo ullamcorper sagittis. Donec quis orci.
+Sed ut tortor quis tellus euismod tincidunt. Suspendisse congue nisl
+eu elit. Aliquam tortor diam, tempus id, tristique eget, sodales
+vel, nulla. Praesent tellus mi, condimentum sed, viverra at,
+consectetuer quis, lectus. In auctor vehicula orci. Sed pede sapien,
+euismod in, suscipit in, pharetra placerat, metus. Vivamus commodo
+dui non odio. Donec et felis.
+
+Etiam suscipit aliquam arcu. Aliquam sit amet est ac purus bibendum
+congue. Sed in eros. Morbi non orci. Pellentesque mattis lacinia
+elit. Fusce molestie velit in ligula. Nullam et orci vitae nibh
+vulputate auctor. Aliquam eget purus. Nulla auctor wisi sed ipsum.
+Morbi porttitor tellus ac enim. Fusce ornare. Proin ipsum enim,
+tincidunt in, ornare venenatis, molestie a, augue. Donec vel pede in
+lacus sagittis porta. Sed hendrerit ipsum quis nisl. Suspendisse
+quis massa ac nibh pretium cursus. Sed sodales. Nam eu neque quis
+pede dignissim ornare. Maecenas eu purus ac urna tincidunt congue.
+}
+
+\longnewglossaryentry{donecetnisl}%
+{name={donec et nisl},user1={example-image-16x9}}%
+{%
+Aenean dictum odio sit amet risus. Morbi purus. Nulla a est sit amet
+purus venenatis iaculis. Vivamus viverra purus vel magna. Donec in
+justo sed odio malesuada dapibus. Nunc ultrices aliquam nunc.
+Vivamus facilisis pellentesque velit. Nulla nunc velit, vulputate
+dapibus, vulputate id, mattis ac, justo. Nam mattis elit dapibus
+purus. Quisque enim risus, congue non, elementum ut, mattis quis,
+sem. Quisque elit.
+
+Maecenas non massa. Vestibulum pharetra nulla at lorem. Duis quis
+quam id lacus dapibus interdum. Nulla lorem. Donec ut ante quis
+dolor bibendum condimentum. Etiam egestas tortor vitae lacus.
+Praesent cursus. Mauris bibendum pede at elit. Morbi et felis a
+lectus interdum facilisis. Sed suscipit gravida turpis. Nulla at
+lectus. Vestibulum ante ipsum primis in faucibus orci luctus et
+ultrices posuere cubilia Curae; Praesent nonummy luctus nibh. Proin
+turpis nunc, congue eu, egestas ut, fringilla at, tellus. In hac
+habitasse platea dictumst.
+}
+
+\longnewglossaryentry{vivamuseutellus}%
+{name={vivamus eu tellus},user1={example-image-9x16}}%
+{%
+ Nam orci orci, malesuada id, gravida nec, ultricies vitae, erat.
+Donec risus turpis, luctus sit amet, interdum quis, porta sed,
+ipsum. Suspendisse condimentum, tortor at egestas posuere, neque
+metus tempor orci, et tincidunt urna nunc a purus. Sed facilisis
+blandit tellus. Nunc risus sem, suscipit nec, eleifend quis, cursus
+quis, libero. Curabitur et dolor. Sed vitae sem. Cum sociis natoque
+penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+Maecenas ante. Duis ullamcorper enim. Donec tristique enim eu leo.
+Nullam molestie elit eu dolor. Nullam bibendum, turpis vitae
+tristique gravida, quam sapien tempor lectus, quis pretium tellus
+purus ac quam. Nulla facilisi.
+
+Duis aliquet dui in est. Donec eget est. Nunc lectus odio, varius
+at, fermentum in, accumsan non, enim. Aliquam erat volutpat. Proin
+sit amet nulla ut eros consectetuer cursus. Phasellus dapibus
+aliquam justo. Nunc laoreet. Donec consequat placerat magna. Duis
+pretium tincidunt justo. Sed sollicitudin vestibulum quam. Nam quis
+ligula. Vivamus at metus. Etiam imperdiet imperdiet pede. Aenean
+turpis. Fusce augue velit, scelerisque sollicitudin, dictum vitae,
+tempor et, pede. Donec wisi sapien, feugiat in, fermentum ut,
+sollicitudin adipiscing, metus.
+}
+
+\longnewglossaryentry{donecvelnibh}%
+{name={donec vel nibh},user1={example-image-golden}}%
+{%
+ Donec pede. Sed id quam id wisi laoreet suscipit. Nulla lectus
+dolor, aliquam ac, fringilla eget, mollis ut, orci. In pellentesque
+justo in ligula. Maecenas turpis. Donec eleifend leo at felis
+tincidunt consequat. Aenean turpis metus, malesuada sed, condimentum
+sit amet, auctor a, wisi. Pellentesque sapien elit, bibendum ac,
+posuere et, congue eu, felis. Vestibulum mattis libero quis metus
+scelerisque ultrices. Sed purus.
+
+Donec molestie, magna ut luctus ultrices, tellus arcu nonummy velit,
+sit amet pulvinar elit justo et mauris. In pede. Maecenas euismod
+elit eu erat. Aliquam augue wisi, facilisis congue, suscipit in,
+adipiscing et, ante. In justo. Cras lobortis neque ac ipsum. Nunc
+fermentum massa at ante. Donec orci tortor, egestas sit amet,
+ultrices eget, venenatis eget, mi. Maecenas vehicula leo semper
+est. Mauris vel metus. Aliquam erat volutpat. In rhoncus sapien ac
+tellus. Pellentesque ligula.
+}
+
+\longnewglossaryentry{crasdapibus}%
+{name={cras dapibus},user1={example-image-golden-upright}}%
+{%
+Aenean interdum nibh sed wisi. Praesent sollicitudin vulputate dui.
+Praesent iaculis viverra augue. Quisque in libero. Aenean gravida
+lorem vitae sem ullamcorper cursus. Nunc adipiscing rutrum ante.
+Nunc ipsum massa, faucibus sit amet, viverra vel, elementum semper,
+orci. Cras eros sem, vulputate et, tincidunt id, ultrices eget,
+magna. Nulla varius ornare odio. Donec accumsan mauris sit amet
+augue. Sed ligula lacus, laoreet non, aliquam sit amet, iaculis
+tempor, lorem. Suspendisse eros. Nam porta, leo sed congue tempor,
+felis est ultrices eros, id mattis velit felis non metus. Curabitur
+vitae elit non mauris varius pretium. Aenean lacus sem, tincidunt
+ut, consequat quis, porta vitae, turpis. Nullam laoreet fermentum
+urna. Proin iaculis lectus.
+
+Sed mattis, erat sit amet gravida malesuada, elit augue egestas
+diam, tempus scelerisque nunc nisl vitae libero. Sed consequat
+feugiat massa. Nunc porta, eros in eleifend varius, erat leo rutrum
+dui, non convallis lectus orci ut nibh. Sed lorem massa, nonummy
+quis, egestas id, condimentum at, nisl. Maecenas at nibh. Aliquam
+et augue at nunc pellentesque ullamcorper. Duis nisl nibh, laoreet
+suscipit, convallis ut, rutrum id, enim. Phasellus odio. Nulla
+nulla elit, molestie non, scelerisque at, vestibulum eu, nulla. Ut
+odio nisl, facilisis id, mollis et, scelerisque nec, enim. Aenean
+sem leo, pellentesque sit amet, scelerisque sit amet, vehicula
+pellentesque, sapien.
+}
+
+\longnewglossaryentry{sedconsequat}%
+{name={sed consequat},user1={example-image-1x1}}%
+{%
+Ut tempor laoreet quam. Nullam id wisi a libero tristique semper.
+Nullam nisl massa, rutrum ut, egestas semper, mollis id, leo. Nulla
+ac massa eu risus blandit mattis. Mauris ut nunc. In hac habitasse
+platea dictumst. Aliquam eget tortor. Quisque dapibus pede in erat.
+Nunc enim. In dui nulla, commodo at, consectetuer nec, malesuada
+nec, elit. Aliquam ornare tellus eu urna. Sed nec metus. Cum sociis
+natoque penatibus et magnis dis parturient montes, nascetur
+ridiculus mus. Pellentesque habitant morbi tristique senectus et
+netus et malesuada fames ac turpis egestas.
+
+Phasellus id magna. Duis malesuada interdum arcu. Integer metus.
+Morbi pulvinar pellentesque mi. Suspendisse sed est eu magna
+molestie egestas. Quisque mi lorem, pulvinar eget, egestas quis,
+luctus at, ante. Proin auctor vehicula purus. Fusce ac nisl aliquam
+ante hendrerit pellentesque. Class aptent taciti sociosqu ad litora
+torquent per conubia nostra, per inceptos hymenaeos. Morbi wisi.
+Etiam arcu mauris, facilisis sed, eleifend non, nonummy ut, pede.
+Cras ut lacus tempor metus mollis placerat. Vivamus eu tortor vel
+metus interdum malesuada.
+}
+
+ % This one doesn't have an image. The style can test whether an
+ % image has been supplied using \ifglshasfield
+
+\longnewglossaryentry{sedeleifend}%
+{name={sed eleifend}}%
+{%
+Morbi non felis ac libero vulputate fringilla. Mauris libero eros,
+lacinia non, sodales quis, dapibus porttitor, pede. Class aptent
+taciti sociosqu ad litora torquent per conubia nostra, per inceptos
+hymenaeos. Morbi dapibus mauris condimentum nulla. Cum sociis
+natoque penatibus et magnis dis parturient montes, nascetur
+ridiculus mus. Etiam sit amet erat. Nulla varius. Etiam tincidunt
+dui vitae turpis. Donec leo. Morbi vulputate convallis est. Integer
+aliquet. Pellentesque aliquet sodales urna.
+}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-images.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-long.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with long descriptions.
+
+\newglossaryentry{loremipsum}{name={lorem ipsum},
+description={dolor sit amet, consectetuer adipiscing elit. Ut purus
+elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur
+dictum gravida mauris.}}
+
+\newglossaryentry{namearcu}{name={name arcu},
+description={libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
+vehicula augue eu neque. Pellentesque habitant morbi tristique
+senectus et netus et malesuada fames ac turpis egestas. Mauris ut
+leo.}}
+
+\newglossaryentry{crasviverra}{name={cras viverra},
+description={metus rhoncus sem. Nulla et lectus vestibulum
+urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida
+placerat.}}
+
+\newglossaryentry{integersapien}{name={integer sapien},
+description={est, iaculis in, pretium quis, viverra ac,
+nunc. Praesent eget sem vel leo ultrices bibendum. Aenean
+faucibus.}}
+
+\newglossaryentry{morbidolor}{name={morbi dolor},
+description={nulla, malesuada eu, pulvinar at, mollis ac, nulla.
+Curabitur auctor semper nulla. Donec varius orci eget risus. Duis
+nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis
+eget orci sit amet orci dignissim rutrum.}}
+
+\newglossaryentry{namdui}{name={nam dui},
+description={ligula, fringilla a, euismod sodales,
+sollicitudin vel, wisi. Morbi auctor lorem non justo.}}
+
+\newglossaryentry{namlacus}{name={nam lacus},
+description={libero, pretium at, lobortis vitae, ultricies et,
+tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna,
+vitae ornare odio metus a mi.}}
+
+\newglossaryentry{morbiac}{name={morbi ac},
+description={orci et nisl hendrerit mollis. Suspendisse ut massa.
+Cras nec ante. Pellentesque a nulla. Cum sociis natoque penatibus
+et magnis dis parturient montes, nascetur ridiculus mus.}}
+
+\newglossaryentry{aliquam}{name={aliquam},
+description={tincidunt urna. Nulla ullamcorper
+vestibulum turpis. Pellentesque cursus luctus mauris.}}
+
+\newglossaryentry{nullamalesuada}{name={nulla malesuada},
+description={porttitor diam. Donec felis erat, congue non, volutpat at,
+tincidunt tristique, libero. Vivamus viverra fermentum felis.}}
+
+\newglossaryentry{donecnonummy}{name={donec nonummy},
+description={pellentesque ante. Phasellus
+adipiscing semper elit. Proin fermentum massa ac quam. Sed diam
+turpis, molestie vitae, placerat a, molestie nec, leo.}}
+
+\newglossaryentry{maecenaslacinia}{name={maecenas lacinia},
+description={nam ipsum ligula, eleifend at, accumsan nec, suscipit
+a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat
+lorem.}}
+
+\newglossaryentry{sedlacinia}{name={sed lacinia},
+description={nulla vitae enim. Pellentesque tincidunt purus
+vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec
+bibendum quam in tellus.}}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-long.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-multipar.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with multi-paragraph descriptions.
+
+\longnewglossaryentry{loremi-ii}{name={lorem 1--2}}%
+{%
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
+vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur
+dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer
+id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque
+habitant morbi tristique senectus et netus et malesuada fames ac
+turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla
+et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus
+sit amet tortor gravida placerat. Integer sapien est, iaculis in,
+pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices
+bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar
+at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius
+orci eget risus. Duis nibh mi, congue eu, accumsan eleifend,
+sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
+
+Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel,
+wisi. Morbi auctor lorem non justo. Nam lacus libero, pretium at,
+lobortis vitae, ultricies et, tellus. Donec aliquet, tortor sed
+accumsan bibendum, erat ligula aliquet magna, vitae ornare odio
+metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse ut
+massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque
+penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis.
+Pellentesque cursus luctus mauris.%
+}
+
+\longnewglossaryentry{loremiii-iv}{name={lorem 3--4}}%
+{%
+Nulla malesuada porttitor diam. Donec felis erat, congue non,
+volutpat at, tincidunt tristique, libero. Vivamus viverra fermentum
+felis. Donec nonummy pellentesque ante. Phasellus adipiscing semper
+elit. Proin fermentum massa ac quam. Sed diam turpis, molestie
+vitae, placerat a, molestie nec, leo. Maecenas lacinia. Nam ipsum
+ligula, eleifend at, accumsan nec, suscipit a, ipsum. Morbi blandit
+ligula feugiat magna. Nunc eleifend consequat lorem. Sed lacinia
+nulla vitae enim. Pellentesque tincidunt purus vel magna. Integer
+non enim. Praesent euismod nunc eu purus. Donec bibendum quam in
+tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate
+metus eu enim. Vestibulum pellentesque felis eu massa.
+
+Quisque ullamcorper placerat ipsum. Cras nibh. Morbi vel justo
+vitae lacus tincidunt ultrices. Lorem ipsum dolor sit amet,
+consectetuer adipiscing elit. In hac habitasse platea dictumst.
+Integer tempus convallis augue. Etiam facilisis. Nunc elementum
+fermentum wisi. Aenean placerat. Ut imperdiet, enim sed gravida
+sollicitudin, felis odio placerat quam, ac pulvinar elit purus eget
+enim. Nunc vitae tortor. Proin tempus nibh sit amet nisl. Vivamus
+quis tortor vitae risus porta vehicula.%
+}
+
+\longnewglossaryentry{loremv-vi}{name={lorem 5--6}}%
+{%
+Fusce mauris. Vestibulum luctus nibh at lectus. Sed bibendum, nulla
+a faucibus semper, leo velit ultricies tellus, ac venenatis arcu
+wisi vel nisl. Vestibulum diam. Aliquam pellentesque, augue quis
+sagittis posuere, turpis lacus congue quam, in hendrerit risus eros
+eget felis. Maecenas eget erat in sapien mattis porttitor.
+Vestibulum porttitor. Nulla facilisi. Sed a turpis eu lacus commodo
+facilisis. Morbi fringilla, wisi in dignissim interdum, justo lectus
+sagittis dui, et vehicula libero dui cursus dui. Mauris tempor
+ligula sed lacus. Duis cursus enim ut augue. Cras ac magna. Cras
+nulla. Nulla egestas. Curabitur a leo. Quisque egestas wisi eget
+nunc. Nam feugiat lacus vel est. Curabitur consectetuer.%
+
+Suspendisse vel felis. Ut lorem lorem, interdum eu, tincidunt sit
+amet, laoreet vitae, arcu. Aenean faucibus pede eu ante. Praesent
+enim elit, rutrum at, molestie non, nonummy vel, nisl. Ut lectus
+eros, malesuada sit amet, fermentum eu, sodales cursus, magna. Donec
+eu purus. Quisque vehicula, urna sed ultricies auctor, pede lorem
+egestas dui, et convallis elit erat sed nulla. Donec luctus.
+Curabitur et nunc. Aliquam dolor odio, commodo pretium, ultricies
+non, pharetra in, velit. Integer arcu est, nonummy in, fermentum
+faucibus, egestas vel, odio.%
+}
+
+\longnewglossaryentry{loremvii-viii}{name={lorem 7--8}}%
+{%
+Sed commodo posuere pede. Mauris ut est. Ut quis purus. Sed ac odio.
+Sed vehicula hendrerit sem. Duis non odio. Morbi ut dui. Sed
+accumsan risus eget odio. In hac habitasse platea dictumst.
+Pellentesque non elit. Fusce sed justo eu urna porta tincidunt.
+Mauris felis odio, sollicitudin sed, volutpat a, ornare ac, erat.
+Morbi quis dolor. Donec pellentesque, erat ac sagittis semper, nunc
+dui lobortis purus, quis congue purus metus ultricies tellus. Proin
+et quam. Class aptent taciti sociosqu ad litora torquent per conubia
+nostra, per inceptos hymenaeos. Praesent sapien turpis, fermentum
+vel, eleifend faucibus, vehicula eu, lacus.
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas. Donec odio elit, dictum in, hendrerit sit
+amet, egestas sed, leo. Praesent feugiat sapien aliquet odio.
+Integer vitae justo. Aliquam vestibulum fringilla lorem. Sed neque
+lectus, consectetuer at, consectetuer sed, eleifend ac, lectus.
+Nulla facilisi. Pellentesque eget lectus. Proin eu metus. Sed
+porttitor. In hac habitasse platea dictumst. Suspendisse eu lectus.
+Ut mi mi, lacinia sit amet, placerat et, mollis vitae, dui. Sed ante
+tellus, tristique ut, iaculis eu, malesuada ac, dui. Mauris nibh
+leo, facilisis non, adipiscing quis, ultrices a, dui.%
+}
+
+\longnewglossaryentry{loremix-x}{name={lorem 9--10}}%
+{%
+Morbi luctus, wisi viverra faucibus pretium, nibh est placerat odio,
+nec commodo wisi enim eget quam. Quisque libero justo, consectetuer
+a, feugiat vitae, porttitor eu, libero. Suspendisse sed mauris
+vitae elit sollicitudin malesuada. Maecenas ultricies eros sit amet
+ante. Ut venenatis velit. Maecenas sed mi eget dui varius euismod.
+Phasellus aliquet volutpat odio. Vestibulum ante ipsum primis in
+faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque
+sit amet pede ac sem eleifend consectetuer. Nullam elementum, urna
+vel imperdiet sodales, elit ipsum pharetra ligula, ac pretium ante
+justo a nulla. Curabitur tristique arcu eu metus. Vestibulum lectus.
+Proin mauris. Proin eu nunc eu urna hendrerit faucibus. Aliquam
+auctor, pede consequat laoreet varius, eros tellus scelerisque quam,
+pellentesque hendrerit ipsum dolor sed augue. Nulla nec lacus.
+
+Suspendisse vitae elit. Aliquam arcu neque, ornare in, ullamcorper
+quis, commodo eu, libero. Fusce sagittis erat at erat tristique
+mollis. Maecenas sapien libero, molestie et, lobortis in, sodales
+eget, dui. Morbi ultrices rutrum lorem. Nam elementum ullamcorper
+leo. Morbi dui. Aliquam sagittis. Nunc placerat. Pellentesque
+tristique sodales est. Maecenas imperdiet lacinia velit. Cras non
+urna. Morbi eros pede, suscipit ac, varius vel, egestas non, eros.
+Praesent malesuada, diam id pretium elementum, eros sem dictum
+tortor, vel consectetuer odio sem sed wisi.%
+}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-multipar.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-parent.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with child entries.
+
+\newglossaryentry{sedmattis}{name={sed mattis},description={erat sit amet}}
+
+\newglossaryentry{gravida}{parent={sedmattis},name={gravida},description={malesuada}}
+
+\newglossaryentry{elitaugue}{parent={sedmattis},name={elit augue},
+description={egestas diam}}
+
+\newglossaryentry{tempus}{parent={sedmattis},name={tempus},
+description={scelerisque}}
+
+\newglossaryentry{nunc}{name={nunc},description={nisl vitae}}
+
+\newglossaryentry{libero}{parent={nunc},name={libero},description={sed
+consequat}}
+
+\newglossaryentry{feugiat}{parent={nunc},name={feugiat},description={massa}}
+
+\newglossaryentry{porta}{parent={nunc},name={porta},description={eros
+in eleifend}}
+
+\newglossaryentry{variuserat}{parent={nunc},name={varius erat},
+description={leo rutrum dui}}
+
+\newglossaryentry{nonconvallis}{name={non
+convallis},description={lectus orci ut nibh}}
+
+\newglossaryentry{sedlorem}{parent={nonconvallis},name={sedlorem},description={massa}}
+
+\newglossaryentry{nonummyquis}{parent={nonconvallis},name={nonummy
+quis}, description={egestas id}}
+
+\newglossaryentry{condimentum}{name={condimentum},description={at
+nisl}}
+
+\newglossaryentry{maecenas}{parent={condimentum},name={maecenas},
+description={at nibh}}
+
+\newglossaryentry{aliquamet}{name={aliquam et},description={augue}}
+
+\newglossaryentry{atnunc}{parent={aliquamet},name={at nunc},description={pellentesque
+ullamcorper}}
+
+\newglossaryentry{duisnisl}{parent={atnunc},name={duisnisl},description={laoreet
+suscipit}}
+
+\newglossaryentry{duisnibh}{parent={atnunc},name={duisnibh},
+description={convallis ut}}
+
+\newglossaryentry{rutrum}{name={rutrum},description={id, enim}}
+
+\newglossaryentry{phasellus}{parent={rutrum},name={phasellus},
+description={odio}}
+
+\newglossaryentry{nullanulla}{parent={rutrum},name={nulla nulla},
+description={elit, molestie non}}
+
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-parent.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*example-glossaries-symbols.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is part of the glossaries bundle
+ % These are test glossary entries with associated symbols.
+
+\newglossaryentry{alpha}{name={alpha},symbol={\ensuremath{\alpha}},
+description={Quisque ullamcorper placerat ipsum.}}
+
+\newglossaryentry{beta}{name={beta},symbol={\ensuremath{\beta}},
+description={Cras nibh.}}
+
+\newglossaryentry{gamma}{name={gamma},symbol={\ensuremath{\gamma}},
+description={Morbi vel justo vitae lacus tincidunt ultrices.}}
+
+\newglossaryentry{delta}{name={delta},symbol={\ensuremath{\delta}},
+description={Lorem ipsum dolor sit amet, consectetuer adipiscing
+elit.}}
+
+\newglossaryentry{epsilon}{name={epsilon},symbol={\ensuremath{\epsilon}},
+description={In hac habitasse platea dictumst.}}
+
+\newglossaryentry{zeta}{name={zeta},symbol={\ensuremath{\zeta}},
+description={Integer tempus convallis augue.}}
+
+\newglossaryentry{eta}{name={eta},symbol={\ensuremath{\eta}},
+description={Etiam facilisis.}}
+
+\newglossaryentry{theta}{name={theta},symbol={\ensuremath{\theta}},
+description={Nunc elementum fermentum wisi.}}
+
+\newglossaryentry{iota}{name={iota},symbol={\ensuremath{i}},
+description={Aenean placerat.}}
+
+\newglossaryentry{kappa}{name={kappa},symbol={\ensuremath{\kappa}},
+description={Ut imperdiet, enim sed gravida sollicitudin, felis odio
+placerat quam, ac pulvinar elit purus eget enim.}}
+
+\newglossaryentry{lambda}{name={lambda},symbol={\ensuremath{\lambda}},
+description={Nunc vitae tortor.}}
+
+\newglossaryentry{mu}{name={mu},symbol={\ensuremath{\mu}},
+description={Proin tempus nibh sit amet nisl.}}
+
+\newglossaryentry{nu}{name={nu},symbol={\ensuremath{\nu}},
+description={Vivamus quis tortor vitae risus porta vehicula.}}
+
+\newglossaryentry{xi}{name={xi},symbol={\ensuremath{\xi}},
+description={Fusce mauris.}}
+
+\newglossaryentry{pi}{name={pi},symbol={\ensuremath{\pi}},
+description={Vestibulum luctus nibh at lectus.}}
+
+\newglossaryentry{rho}{name={rho},symbol={\ensuremath{\rho}},
+description={Sed bibendum, nulla a faucibus semper, leo velit
+ultricies tellus, ac venenatis arcu wisi vel nisl. Vestibulum diam.}}
+
+\newglossaryentry{sigma}{name={sigma},symbol={\ensuremath{\sigma}},
+description={Aliquam pellentesque, augue quis sagittis posuere,
+turpis lacus congue quam, in hendrerit risus eros eget felis.}}
+
+\newglossaryentry{tau}{name={tau},symbol={\ensuremath{\tau}},
+description={Maecenas eget erat in sapien mattis porttitor.}}
+
+\newglossaryentry{upsilon}{name={upsilon},symbol={\ensuremath{\upsilon}},
+description={Vestibulum porttitor.}}
+
+\newglossaryentry{phi}{name={phi},symbol={\ensuremath{\phi}},
+description={Nulla facilisi.}}
+
+\newglossaryentry{chi}{name={chi},symbol={\ensuremath{\chi}},
+description={Sed a turpis eu lacus commodo facilisis.}}
+
+\newglossaryentry{psi}{name={psi},symbol={\ensuremath{\psi}},
+description={Morbi fringilla, wisi in dignissim interdum, justo
+lectus sagittis dui, et vehicula libero dui cursus dui.}}
+
+\newglossaryentry{omega}{name={omega},symbol={\ensuremath{\omega}},
+description={Mauris tempor ligula sed lacus.}}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-symbols.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*sample-crossref.tex>
% \end{macrocode}
%\fi
@@ -25237,6 +26767,45 @@ Next use: \gls{sample}.
%\fi
%\iffalse
% \begin{macrocode}
+%<*sample-ignored.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is public domain
+ % If you want to use arara, you need the following directives:
+ % arara: pdflatex: { synctex: on }
+ % arara: makeglossaries
+ % arara: pdflatex: { synctex: on }
+\documentclass{article}
+
+\usepackage[colorlinks]{hyperref}
+\usepackage{glossaries}
+
+\newignoredglossary{common}
+
+\makeglossaries
+
+\newglossaryentry{sample}{name={sample},description={an example}}
+
+\newglossaryentry{commonex}{type=common,name={common term}}
+
+\begin{document}
+
+\gls{sample}. \gls{commonex}.
+
+\printglossaries
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sample-ignored.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*sample-index.tex>
% \end{macrocode}
%\fi
@@ -25537,7 +27106,7 @@ Le \gls{fr-cat} s'est repos\'e sur la \gls{fr-mat}.
% arara: pdflatex: { synctex: on }
\documentclass{article}
-\usepackage{mfirstuc}
+\usepackage{mfirstuc-english}
\begin{document}
@@ -25554,6 +27123,14 @@ Le \gls{fr-cat} s'est repos\'e sur la \gls{fr-mat}.
\newcommand{\abc}{abc}%
\xmakefirstuc{\abc}.
+\capitalisewords{the wind in the willows}
+
+\capitalisewords{a book of rhyme.}
+
+\MFUclear
+
+\capitalisewords{the wind in the willows}
+
\capitalisewords{a book of rhyme.}
\capitalisewords{a book\space of rhyme.}
@@ -25977,28 +27554,22 @@ Sea lion locations:
\usepackage[colorlinks]{hyperref}
\usepackage{glossaries}
-\makeglossaries
+\GlsDeclareNoHyperList{main}
- % switch off hyperlinks:
-\glsdisablehyper
+\makeglossaries
% redefine \glsentryfmt so that it adds a hyperlink
- % if not in math mode
+ % if not in math mode and the hyperlinks haven't been forced on
\renewcommand*{\glsentryfmt}{%
\ifmmode
\glsgenentryfmt
\else
- % Temporarily enable hyperlinks:
- \glsenablehyper
- \glshyperlink[\glsgenentryfmt]{\glslabel}%
- % Disable hyperlinks again
- \glsdisablehyper
+ \glsifhyperon
+ {\glsgenentryfmt}% hyperlink already on
+ {\glshyperlink[\glsgenentryfmt]{\glslabel}}%
\fi
}
-\renewcommand{\glossarypreamble}{\glsenablehyper}
-\renewcommand{\glossarypostamble}{\glsdisablehyper}
-
% define a sample entry:
\newglossaryentry{x}{name={x},description={sample entry}}
@@ -26010,7 +27581,8 @@ maths:
\gls{x}
\]
-Back to text mode again: \gls{x}.
+Back to text mode again: \gls{x}. Don't check the first use flag:
+\glstext{x}. Force on the hyperlink: \glstext+{x}.
\printglossaries
\end{document}
@@ -26656,27 +28228,30 @@ one \gls[format=hyperbf]{svm}.
% arara: pdflatex: { synctex: on }
\documentclass{article}
-\usepackage[acronym,footnote,acronymlists={main,acronym2}]{glossaries}
+\usepackage[acronym,acronymlists={main,acronym2}]{glossaries}
\newglossary[alg2]{acronym2}{acr2}{acn2}{Statistical Acronyms}
\makeglossaries
-% Main glossary is a list of calculus acronyms
+ % Use long (short) acronym style:
+\setacronymstyle{long-short}
+
+ % Main glossary is a list of calculus acronyms
\renewcommand{\glossaryname}{Calculus Acronyms}
\newacronym[type=main]{vc}{VC}{Vector Calculus}
\newacronym[type=main]{ftoc}{FTOC}{Fundamental Theorem of Calculus}
-% "acronym" glossary is a list of computer related acronyms
+ % "acronym" glossary is a list of computer related acronyms
\renewcommand{\acronymname}{Computer Acronyms}
\newacronym{kb}{kb}{KiloBit}
\newacronym{kB}{kB}{KiloByte}
-% "acronym2" glossary is a list of statistical acronyms
+ % "acronym2" glossary is a list of statistical acronyms
\newacronym[type=acronym2]{svm}{SVM}{Support Vector Machine}
@@ -27608,6 +29183,10 @@ one \gls[format=hyperbf]{svm}.
% arara: pdflatex: { synctex: on }
\documentclass{report}
+ % If you want to add babel to this document, you may have to
+ % replace the : character in the labels if you are using a
+ % language setting (e.g. french) that makes : active.
+
\usepackage[plainpages=false,colorlinks]{hyperref}
\usepackage{html}
\usepackage[toc,xindy]{glossaries}
@@ -27859,6 +29438,10 @@ Another \gls{ident} entry.
% arara: pdflatex: { synctex: on }
\documentclass{report}
+ % If you want to add babel to this document, you may have to
+ % replace the : character in the labels if you are using a
+ % language setting (e.g. french) that makes : active.
+
\usepackage[plainpages=false,colorlinks]{hyperref}
\usepackage[toc,acronym]{glossaries}
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.ins b/Master/texmf-dist/source/latex/glossaries/glossaries.ins
index 16faff42d1a..4f659d8aab9 100644
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.ins
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.ins
@@ -1,4 +1,4 @@
-% glossaries.ins generated using makedtx version 1.1 2014/4/4 12:03
+% glossaries.ins generated using makedtx version 1.1 2014/7/31 17:34
\input docstrip
\preamble
@@ -18,7 +18,7 @@
The Current Maintainer of this work is Nicola Talbot.
- This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossaries-prefix.sty, mfirstuc.sty, glossary-hypernav.sty, glossary-inline.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-mcols.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-compatible-207.sty, glossaries-compatible-307.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-polyglossia.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Serbian.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample-crossref.tex, sample-custom-acronym.tex, sample-dual.tex, sample-entryfmt.tex, sample-FnDesc.tex, sample-index.tex, sample-inline.tex, sample-langdict.tex, sample-mfirstuc.tex, sample-newkeys.tex, sample-noidxapp-utf8.tex, sample-noidxapp.tex, sample-nomathhyper.tex, sample-numberlist.tex, sample-prefix.tex, sample-si.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleCustomAcr.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleFnAcrDesc.tex, sampleNtn.tex, samplePeople.tex, sampleSec.tex, sampleSort.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy2.tex, samplexdy-mc.xdy, samplexdy-mc207.xdy, database1.tex, database2.tex, glossaries.perl, mfirstuc.perl.
+ This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossaries-prefix.sty, mfirstuc.sty, mfirstuc-english.sty, glossary-hypernav.sty, glossary-inline.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-mcols.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.sty, glossaries-compatible-207.sty, glossaries-compatible-307.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-polyglossia.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Serbian.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, glossary-lipsum-examples.tex, example-glossaries-acronym-desc.tex, example-glossaries-acronym.tex, example-glossaries-acronyms-lang.tex, example-glossaries-brief.tex, example-glossaries-childnoname.tex, example-glossaries-cite.tex, example-glossaries-images.tex, example-glossaries-long.tex, example-glossaries-multipar.tex, example-glossaries-parent.tex, example-glossaries-symbols.tex, sample-crossref.tex, sample-custom-acronym.tex, sample-dual.tex, sample-entryfmt.tex, sample-FnDesc.tex, sample-ignored.tex, sample-index.tex, sample-inline.tex, sample-langdict.tex, sample-mfirstuc.tex, sample-newkeys.tex, sample-noidxapp-utf8.tex, sample-noidxapp.tex, sample-nomathhyper.tex, sample-numberlist.tex, sample-prefix.tex, sample-si.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleCustomAcr.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleFnAcrDesc.tex, sampleNtn.tex, samplePeople.tex, sampleSec.tex, sampleSort.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy2.tex, samplexdy-mc.xdy, samplexdy-mc207.xdy, database1.tex, database2.tex, glossaries.perl, mfirstuc.perl.
\endpreamble
@@ -30,6 +30,8 @@
\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-prefix.sty,package}}
\file{mfirstuc.sty}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{glossaries.dtx}{mfirstuc.sty,package}}
+\file{mfirstuc-english.sty}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{mfirstuc-english.sty,package}}
\file{glossary-hypernav.sty}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-hypernav.sty,package}}
\file{glossary-inline.sty}{\usepreamble\defaultpreamble
@@ -83,11 +85,24 @@
\file{glossaries-dictionary-Spanish.dict}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Spanish.dict,package}}
\file{minimalgls.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{minimalgls.tex}}
+\file{glossary-lipsum-examples.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{glossary-lipsum-examples.tex}}
+\file{example-glossaries-acronym-desc.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-acronym-desc.tex}}
+\file{example-glossaries-acronym.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-acronym.tex}}
+\file{example-glossaries-acronyms-lang.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-acronyms-lang.tex}}
+\file{example-glossaries-brief.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-brief.tex}}
+\file{example-glossaries-childnoname.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-childnoname.tex}}
+\file{example-glossaries-cite.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-cite.tex}}
+\file{example-glossaries-images.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-images.tex}}
+\file{example-glossaries-long.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-long.tex}}
+\file{example-glossaries-multipar.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-multipar.tex}}
+\file{example-glossaries-parent.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-parent.tex}}
+\file{example-glossaries-symbols.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{example-glossaries-symbols.tex}}
\file{sample-crossref.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-crossref.tex}}
\file{sample-custom-acronym.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-custom-acronym.tex}}
\file{sample-dual.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-dual.tex}}
\file{sample-entryfmt.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-entryfmt.tex}}
\file{sample-FnDesc.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-FnDesc.tex}}
+\file{sample-ignored.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-ignored.tex}}
\file{sample-index.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-index.tex}}
\file{sample-inline.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-inline.tex}}
\file{sample-langdict.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-langdict.tex}}