summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/glossaries
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-14 22:31:40 +0000
committerKarl Berry <karl@freefriends.org>2010-06-14 22:31:40 +0000
commitb3f1741ccbe6dede2fc5cc309815e40728c0330f (patch)
treee9c7d2ffc516d8fff6defbf3b85205078e1701f9 /Master/texmf-dist/source/latex/glossaries
parentfa2a29ef6564da92ff9b4caede3dd5456dd48eb6 (diff)
glossaries 2.06 (14jun10)
git-svn-id: svn://tug.org/texlive/trunk@18975 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/glossaries')
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.dtx3049
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.ins95
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.sty3442
3 files changed, 5220 insertions, 1366 deletions
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
index 7ebb84fc52f..4d9e85e4c5a 100644
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
@@ -4,6 +4,12 @@
% -macrocode "glossaries\.perl"
% -macrocode ".*\.tex"
% -macrocode ".*\.xdy"
+% -setambles "glossaries\.perl=>\nopreamble\nopostamble"
+% -setambles ".*\.tex=>\nopreamble\nopostamble"
+% -setambles ".*\.xdy=>\nopreamble\nopostamble"
+% -comment "glossaries\.perl"
+% -comment ".*\.tex"
+% -comment ".*\.xdy"
% -src "glossaries.sty\Z=>glossaries.sty"
% -src "mfirstuc.sty\Z=>mfirstuc.sty"
% -src "(glossary-.+)\.(sty)\Z=>\1.\2"
@@ -16,18 +22,11 @@
% -src "(samplexdy-mc\.xdy)\Z=>\1"
% -src "(database.*\.tex)\Z=>\1"
% -src "(glossaries\.perl)\Z=>\1"
-% -author "Nicola Talbot"
-% -dir "source"
-% -setambles "glossaries\.perl=>\nopreamble\nopostamble"
-% -setambles ".*\.tex=>\nopreamble\nopostamble"
-% -setambles ".*\.xdy=>\nopreamble\nopostamble"
-% -comment "glossaries\.perl"
-% -comment ".*\.tex"
-% -comment ".*\.xdy"
% -doc "glossaries-manual.tex"
+% -author "Nicola Talbot"
% -codetitle "Glossaries Documented Code"
% glossaries
-% Created on 2010/2/6 13:23
+% Created on 2010/6/14 13:44
%\fi
%\iffalse
%<*package>
@@ -54,13 +53,12 @@
% \fi
% \iffalse
%<*driver>
-\documentclass[a4paper]{ltxdoc}
-\usepackage{ifthen}
+\documentclass{nlctdoc}
+
\usepackage{alltt}
\usepackage{pifont}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
-\usepackage{cmap}
\usepackage[colorlinks,
bookmarks,
hyperindex=false,
@@ -68,119 +66,44 @@
pdftitle={glossaries.sty: LaTeX2e Package to Assist Generating Glossaries},
pdfkeywords={LaTeX,package,glossary,acronyms}]{hyperref}
- %hyperindex conflicts with doc
- %(end up with |usage|hyperpage in indexentry)
- %This unfortunately means that the changes section doesn't
- %have active links, but at least it will keep makeindex happy.
-
-
-\usepackage{xcolor}
-\usepackage{dox}
\doxitem{Option}{option}{package options}
\doxitem{GlsKey}{key}{glossary keys}
\doxitem{Style}{style}{glossary styles}
-\renewcommand{\usage}[1]{\textit{\hyperpage{#1}}}
-\renewcommand{\main}[1]{\hyperpage{#1}}
-\newcommand{\see}[2]{\emph{see} #1}
-\makeatletter
-\def\index@prologue{\section*{Index}}
-\makeatother
-\RecordChanges
-\PageIndex
-\CheckSum{10933}
-\CodelineNumbered
-\newcommand*{\termdef}[1]{\emph{#1}\iterm{#1}}
-\newcommand*{\term}[1]{#1\iterm{#1}}
-\newcommand*{\iterm}[1]{\index{#1|main}}
-\newcommand{\dq}[1]{``#1''}
-\newcommand*{\tableref}[1]{\hyperref[#1]{table~\ref*{#1}}}
-\newcommand*{\Tableref}[1]{\hyperref[#1]{Table~\ref*{#1}}}
-\newlength\boxlength
-\newsavebox\importantbox
-\newenvironment{important}{%
-\setlength{\fboxrule}{4pt}%
-\setlength\boxlength{\linewidth}%
-\addtolength\boxlength{-2\fboxsep}%
-\addtolength\boxlength{-2\fboxrule}%
-\begin{lrbox}{\importantbox}%
-\begin{minipage}{\boxlength}%
-}{\end{minipage}\end{lrbox}%
-\par\vskip10pt\noindent
-\fcolorbox{red}{white}{\usebox{\importantbox}}\par\vskip10pt}
-\newcommand*{\tick}{\ding{51}}
-
-\definecolor{defbackground}{rgb}{0.8,1,1}
-
-\newsavebox\defsbox
-\newlength\defwidth
-\newenvironment{definition}[1][]{%
-\def\defarg{#1}%
-\setlength{\fboxsep}{4pt}\setlength{\fboxrule}{1.25pt}%
-\begin{lrbox}{\defsbox}%
-\setlength\defwidth\linewidth
-\addtolength\defwidth{-2\fboxrule}%
-\addtolength\defwidth{-2\fboxsep}%
-\begin{minipage}{\defwidth}\flushleft
-}{%
-\end{minipage}
-\end{lrbox}%
-\vskip10pt
-\noindent
-\defarg\fcolorbox{black}{defbackground}{\usebox\defsbox}%
-\vskip10pt
-\noindent
-\ignorespacesafterend
-}
+\setcounter{IndexColumns}{2}
+\CheckSum{11106}
-\makeatletter
-\renewenvironment{theindex}{\twocolumn[\index@prologue]
-\let\item\@idxitem
-\ignorespaces
-}{}
-\makeatother
+\newcommand*{\tick}{\ding{51}}
\newcommand*{\ifirstuse}{\iterm{first use}}
\newcommand*{\firstuse}{first use\ifirstuse}
\newcommand*{\firstuseflag}{first use flag\ifirstuseflag}
\newcommand*{\firstusetext}{first use text\ifirstusetext}
+
\newcommand*{\ifirstuseflag}{\iterm{first use>flag}}
\newcommand*{\ifirstusetext}{\iterm{first use>text}}
-\newcommand*{\istkey}[1]{\texttt{#1}\index{makeindex=\texttt{makeindex}>#1=\texttt{#1}|hyperpage}}
+
+\newcommand*{\istkey}[1]{\appfmt{#1}\index{makeindex=\appfmt{makeindex}>#1=\texttt{#1}|hyperpage}}
\newcommand*{\locfmt}[1]{\texttt{#1}\SpecialMainIndex{#1}}
-\newcommand*{\ics}[1]{\texttt{\char`\\#1}\SpecialMainIndex{#1}}
-\newcommand*{\appname}[1]{\texttt{#1}\index{#1=\texttt{#1}|hyperpage}}
-\newcommand*{\mkidxspch}{\index{makeindex=\texttt{makeindex}>special characters|hyperpage}}
-\newcommand*{\igloskey}[2][newglossaryentry]{\index{#1 options=\cs{#1} options>#2=\textsf{#2}|hyperpage}}
-\newcommand*{\gloskey}[2][newglossaryentry]{\textsf{#2}\igloskey[#1]{#2}}
-\newcommand*{\pkgoptni}[1]{\textsf{#1}}
-\newcommand*{\ipkgopt}[2][]{%
-\ifthenelse{\equal{#1}{}}{%
-\index{package options:>#2={\protect\ttfamily #2}|main}}{%
-\index{package options:>#2={\protect\ttfamily #2}>#1={\protect\ttfamily #1}|main}}}
-\newcommand*{\pkgopt}[2][]{%
-\ifthenelse{\equal{#1}{}}{%
-\pkgoptni{#2}\index{package options:>#2={\protect\ttfamily #2}|main}}{%
-\pkgoptni{#2=#1}\index{package options:>#2={\protect\ttfamily #2}>#1={\protect\ttfamily #1}|main}}}
-\newcommand*{\pkgoptval}[2]{\pkgoptni{#1}\index{package options:>#2={\protect\ttfamily #2}>#1={\protect\ttfamily#1}|main}}
+\newcommand*{\mkidxspch}{\index{makeindex=\appfmt{makeindex}>special characters|hyperpage}}
+
+\newcommand*{\igloskey}[2][newglossaryentry]{\icsopt{#1}{#2}}
+\newcommand*{\gloskey}[2][newglossaryentry]{\csopt{#1}{#2}}
+
\newcommand*{\glostyle}[1]{\textsf{#1}\index{glossary styles:>#1={\protect\ttfamily#1}|main}}
-\newcommand*{\filetype}[1]{\texttt{#1}\index{file types>#1|hyperpage}}
-\newcommand*{\sty}[1]{\textsf{#1}}
-\newcommand*{\isty}[1]{\sty{#1}\index{#1 package=\sty{#1} package|hyperpage}}
-\newcommand*{\cls}[1]{\textsf{#1}}
-\newcommand*{\icls}[1]{\cls{#1}\index{#1 class=\cls{#1} class|hyperpage}}
-\newcommand*{\envname}[1]{\textsf{#1}}
-\begin{document}\DocInput{glossaries.dtx}
+\begin{document}
+\DocInput{glossaries.dtx}
\end{document}
%</driver>
%\fi
%\MakeShortVerb{"}
%\DeleteShortVerb{\|}
%
-% \title{glossaries.sty v 2.05: \LaTeXe\ Package to Assist Generating Glossaries}
+% \title{glossaries.sty v2.06:
+% \LaTeXe\ Package to Assist Generating Glossaries}
% \author{Nicola L.C. Talbot\\[10pt]
%School of Computing Sciences\\
%University of East Anglia\\
@@ -188,94 +111,125 @@
%NR4 7TJ. United Kingdom.\\
%\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
%
-% \date{6th Feb 2010}
+% \date{2010-06-14}
% \maketitle
+%
+%This is the user manual for the \styfmt{glossaries} package. Other
+%documents accompanying this manual:
+%\begin{itemize}
+%\item \qtdocref{The glossaries package: a guide for beginners}{glossariesbegin}
+%\item \qtdocref{Upgrading from the glossary package to the
+%glossaries package}{glossary2glossaries}
+%\end{itemize}
+%See the file \texttt{INSTALL} for installation instructions.
+%Related web resources:
+%\begin{itemize}
+%\item
+%\urlfootref{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html}{The glossaries FAQ}
+%
+%\item
+%\urlfootref{http://www.latex-community.org/index.php?option=com_content&view=article&id=263&Itemid=114}{Glossaries,
+%Nomenclature, Lists of Symbols and Acronyms }
+%\end{itemize}
+%
+%\clearpage
%\tableofcontents
%
% \section{Introduction}
%
% \changes{1.0}{2007 May 16}{Initial version}
-%The \sty{glossaries} package is provided to assist generating
-%glossaries. It has a certain amount of flexibility, allowing the
+%The \styfmt{glossaries} package is provided to assist generating
+%glossaries. It has a certain amount of flexibility, allowing the
%user to customize the format of the glossary and define multiple
-%glossaries. It also supports acronyms and glossary styles that
+%glossaries. It also supports acronyms and glossary styles that
%include symbols (in addition to a name and description) for glossary
-%entries. There is provision for loading a database of glossary terms.
-%Only those terms used\footnote{that is, if the term has been
-%referenced using any of the commands described in \autoref{sec:glslink},
-%\autoref{sec:glsadd} or
-%via \ics{glssee} (or the \gloskey{see} key)} in the document will be
+%entries. There is provision for loading a database of glossary
+%terms. Only those terms used\footnote{that is, if the term has been
+%referenced using any of the commands described in
+%\sectionref{sec:glslink}, \sectionref{sec:glsadd} or via
+%\ics{glssee} (or the \gloskey{see} key)} in the document will be
%added to the glossary.
%
-%\textbf{This package replaces the \isty{glossary} package which is
-%now obsolete.} Please see
-%the document \dq{Upgrading from the glossary package to the glossaries package} (\href{glossary2glossaries.pdf}{glossary2glossaries.pdf})
-%for assistance in upgrading.
+%\textbf{This package replaces the \sty{glossary} package which is
+%now obsolete.} Please see the document \qtdocref{Upgrading from the
+%glossary package to the glossaries package}{glossary2glossaries} for
+%assistance in upgrading.
%
%One of the strengths of this package is its flexibility, however
%the drawback of this is the necessity of having a large manual
%that can cover all the various settings. If you are daunted by the
%size of the manual, try starting off with the much shorter
-%guide for beginners (\href{glossariesbegin.pdf}{glossariesbegin.pdf}).
+%\docref{guide for beginners}{glossariesbegin}.
%
%\begin{important}
-%The \sty{glossaries} package comes with a
-%\htmladdnormallink{Perl}{http://www.perl.org/about.html} script
-%called \appname{makeglossaries}. This provides a convenient interface
-%to \appname{makeindex} or \appname{xindy}. It is strongly
-%recommended that you use this script, but \emph{it is not
-%essential}. If you are reluctant to install Perl, or for any
-%other reason you don't want to use \appname{makeglossaries}, you
-%can called \appname{makeindex} or \appname{xindy} explicitly.
-%See \autoref{sec:makeglossaries} for
+%The \styfmt{glossaries} package comes with a
+%\href{http://www.perl.org/about.html}{Perl} script called
+%\app{makeglossaries}. This provides a convenient interface to
+%\app{makeindex} or \app{xindy}. It is strongly recommended
+%that you use this script, but \emph{it is not essential}. If you are
+%reluctant to install Perl, or for any other reason you don't want to
+%use \app{makeglossaries}, you can called \app{makeindex} or
+%\app{xindy} explicitly. See \sectionref{sec:makeglossaries} for
%further details.
%\end{important}
%
%This manual is structured as follows:
%\begin{itemize}
-%\item \autoref{sec:overview} gives an overview of the main user commands and their syntax.
-%
-%\item \autoref{sec:mfirstuc} describes the associated \sty{mfirstuc} package.
-%
-%\item\autoref{sec:code} contains the documented source code for those who
-%want to know more about how the package works. This describes more
-%advanced commands, such as determining if an entry or a glossary
-%exists and commands that iterate through defined terms or glossaries.
-%
-%\item \autoref{sec:code:mfirstuc} contains the documented code for
-%the \sty{mfirstuc} package.
+%\item \sectionref{sec:overview} gives an overview of the main user
+%commands and their syntax.
+%
+%\item \sectionref{sec:mfirstuc} describes the associated
+%\styfmt{mfirstuc} package.
+%
+%\ifpdf
+% \item \sectionref{sec:code} contains the documented source code for
+% those who want to know more about how the package works. This
+% describes more advanced commands, such as determining if an entry or
+% a glossary exists and commands that iterate through defined terms or
+% glossaries.
+%
+% \item \sectionref{sec:code:mfirstuc} contains the documented code for
+% the \styfmt{mfirstuc} package.
+%\fi
%\end{itemize}
-%
+%\ifpdf
+%\else
+% The \href{glossaries.pdf}{PDF version} of this manual also describes
+% more advanced commands in the documented code section (such as
+% determining if an entry or a glossary exists and commands that
+% iterate through defined terms or glossaries).
+%\fi
%
%\noindent The remainder of this introductory section covers the
%following:
%\begin{itemize}
-%\item \autoref{sec:samples} lists the sample documents provided
+%\item \sectionref{sec:samples} lists the sample documents provided
%with this package.
%
-%\item \autoref{sec:languages} provides information for users who
+%\item \sectionref{sec:languages} provides information for users who
%wish to write in a language other than English.
%
-%\item \autoref{sec:makeglossaries}
-%describes how to use a post-processor to create the sorted glossaries
-%for your document.
+%\item \sectionref{sec:makeglossaries} describes how to use a
+%post-processor to create the sorted glossaries for your document.
%
-%\item \autoref{sec:trouble} provides some assistance in the event that you encounter a problem.
+%\item \sectionref{sec:trouble} provides some assistance in the event
+%that you encounter a problem.
%\end{itemize}
%
+%
%\subsection{Sample Documents}
%\label{sec:samples}
%
-%The \sty{glossaries} package is provided with some sample
+%The \styfmt{glossaries} package is provided with some sample
%documents that illustrate the various functions. These should
%be located in the \texttt{samples} subdirectory (folder) of the
-%\sty{glossaries} documentation directory. This location varies
+%\styfmt{glossaries} documentation directory. This location varies
%according to your operating system and \TeX\ distribution. You
%can use \texttt{texdoc} to locate the main glossaries documentation.
%For example, in a terminal or command prompt, type:
-%\begin{verbatim}
+%\begin{prompt}
%texdoc -l glossaries
-%\end{verbatim}
+%\end{prompt}
%This should display the full pathname of the file
%\texttt{glossaries.pdf}. View the contents of that directory and
%see if it contains the \texttt{samples} subdirectory.
@@ -285,17 +239,19 @@
%\texttt{glossaries.tds.zip} archive which can be downloaded from
%\href{http://tug.ctan.org/tex-archive/macros/latex/contrib/glossaries/}{CTAN}.
%
+%
%The sample documents are as follows:
%\begin{description}
-%\item[minimalgls.tex]\label{ex:minimalgls} This document is a minimal working example.
-%You can test your installation using this file. To create the
-%complete document you will need to do the following steps:
+%\item[minimalgls.tex]\label{ex:minimalgls} This document is a
+%minimal working example. You can test your installation using this
+%file. To create the complete document you will need to do the
+%following steps:
% \begin{enumerate}
% \item Run \texttt{minimalgls.tex} through \LaTeX\ either by
% typing
-%\begin{verbatim}
+%\begin{prompt}
%latex minimalgls
-%\end{verbatim}
+%\end{prompt}
% in a terminal or by using the relevant button or menu item in
% your text editor or front-end. This will create the required
% associated files but you will not see the glossary. If you use
@@ -303,30 +259,29 @@
% references. These warnings may be ignored on the first run.
%
% If you get a \verb"Missing \begin{document}" error, then
-% it's most likely that your version of \isty{xkeyval} is
+% it's most likely that your version of \sty{xkeyval} is
% out of date. Check the log file for a warning of that nature.
-% If this is the case, you will need to update the \sty{xkeyval}
+% If this is the case, you will need to update the \styfmt{xkeyval}
% package.
%
-% \item Run \appname{makeglossaries} on the document. This can
+% \item Run \app{makeglossaries} on the document. This can
% be done on a terminal either by typing
-%\begin{verbatim}
+%\begin{prompt}
%makeglossaries minimalgls
-%\end{verbatim}
+%\end{prompt}
% or by typing
-%\begin{verbatim}
+%\begin{prompt}
%perl makeglossaries minimalgls
-%\end{verbatim}
+%\end{prompt}
% If your system doesn't recognise the command \texttt{perl} then
% it's likely you don't have Perl installed. In which case you
-% will need to use \appname{makeindex} directly. You can do this
+% will need to use \app{makeindex} directly. You can do this
% in a terminal by typing (all on one line):
-%\begin{verbatim}
-%makeindex -s minimalgls.ist -t minimalgls.glg -o minimalgls.gls
-%minimalgls.glo
-%\end{verbatim}
-% (See
-%\autoref{sec:makeindexapp} for further details on using \appname{makeindex} explicitly.)
+%\begin{prompt}
+%makeindex -s minimalgls.ist -t minimalgls.glg -o minimalgls.gls minimalgls.glo
+%\end{prompt}
+% (See \sectionref{sec:makeindexapp} for further details on using
+% \app{makeindex} explicitly.)
%
% Note that if you need to specify the full path and the path
% contains spaces, you will need to delimit the file names with
@@ -338,264 +293,273 @@
%each entry in the glossary is the location number. By default, this
%is the page number where the entry was referenced.
%
-%\item[sample4col.tex]\label{ex:sample4col} This document illustrates a four column
-%glossary where the entries have a symbol in addition to the
-%name and description. To create the complete document, you need
-%to do:
-%\begin{verbatim}
+%\item[sample4col.tex]\label{ex:sample4col} This document illustrates
+%a four column glossary where the entries have a symbol in addition
+%to the name and description. To create the complete document, you
+%need to do:
+%\begin{prompt}
%latex sample4col
%makeglossaries sample4col
%latex sample4col
-%\end{verbatim}
-%As before, if you don't have Perl installed, you will need to
-%use \appname{makeindex} directly instead of using
-%\appname{makeglossaries}. The vertical gap between entries
-%is the gap created at the start of each group. This can be
-%suppressed by redefining \ics{glsgroupskip} after the glossary
-%style has been set:
+%\end{prompt}
+%As before, if you don't have Perl installed, you will need to use
+%\app{makeindex} directly instead of using
+%\app{makeglossaries}. The vertical gap between entries is the
+%gap created at the start of each group. This can be suppressed by
+%redefining \ics{glsgroupskip} after the glossary style has been set:
%\begin{verbatim}
%\renewcommand*{\glsgroupskip}{}
%\end{verbatim}
%
-%\item[sampleAcr.tex]\label{ex:sampleAcr} This document has some sample acronyms. It
-%also adds the glossary to the table of contents, so an extra
-%run through \LaTeX\ is required to ensure the document is up to date:
-%\begin{verbatim}
+%\item[sampleAcr.tex]\label{ex:sampleAcr} This document has some
+%sample acronyms. It also adds the glossary to the table of contents,
+%so an extra run through \LaTeX\ is required to ensure the document
+%is up to date:
+%\begin{prompt}
%latex sampleAcr
%makeglossaries sampleAcr
%latex sampleAcr
%latex sampleAcr
-%\end{verbatim}
+%\end{prompt}
%
-%\item[sampleAcrDesc.tex]\label{ex:sampleAcrDesc} This is similar to the previous example,
-%except that the acronyms have an associated description. As with
-%the previous example, the glossary is added to the table of
-%contents, so an extra run through \LaTeX\ is required:
-%\begin{verbatim}
+%\item[sampleAcrDesc.tex]\label{ex:sampleAcrDesc} This is similar to
+%the previous example, except that the acronyms have an associated
+%description. As with the previous example, the glossary is added to
+%the table of contents, so an extra run through \LaTeX\ is required:
+%\begin{prompt}
%latex sampleAcrDesc
%makeglossaries sampleAcrDesc
%latex sampleAcrDesc
%latex sampleAcrDesc
-%\end{verbatim}
-%
-%\item[sampleDesc.tex]\label{ex:sampleDesc} This is similar to the previous example,
-%except that it defines the acronyms using \ics{newglossaryentry}
-%instead of \ics{newacronym}. As with
-%the previous example, the glossary is added to the table of
-%contents, so an extra run through \LaTeX\ is required:
-%\begin{verbatim}
+%\end{prompt}
+%
+%\item[sampleDesc.tex]\label{ex:sampleDesc} This is similar to the
+%previous example, except that it defines the acronyms using
+%\ics{newglossaryentry} instead of \ics{newacronym}. As with the
+%previous example, the glossary is added to the table of contents, so
+%an extra run through \LaTeX\ is required:
+%\begin{prompt}
%latex sampleDesc
%makeglossaries sampleDesc
%latex sampleDesc
%latex sampleDesc
-%\end{verbatim}
-%
-%\item[sampleDB.tex]\label{ex:sampleDB} This document illustrates how to load
-%external files containing the glossary definitions. It also
-%illustrates how to define a new glossary type. This document
-%has the \term{number list} suppressed and uses \ics{glsaddall} to add
-%all the entries to the glossaries without referencing each one
+%\end{prompt}
+%
+%\item[sample-custom-acronym.tex]\label{ex:sample-custom-acronym}
+%This document illustrates how to define your own acronym style if
+%the predefined styles don't suit your requirements.
+%\begin{prompt}
+%latex sample-custom-acronym
+%makeglossaries sample-custom-acronym
+%latex sample-custom-acronym
+%\end{prompt}
+%
+%\item[sampleDB.tex]\label{ex:sampleDB} This document illustrates how
+%to load external files containing the glossary definitions. It also
+%illustrates how to define a new glossary type. This document has the
+%\term{number list} suppressed and uses \ics{glsaddall} to add all
+%the entries to the glossaries without referencing each one
%explicitly. To create the document do:
-%\begin{verbatim}
+%\begin{prompt}
%latex sampleDB
%makeglossaries sampleDB
%latex sampleDB
-%\end{verbatim}
-%The glossary definitions are stored in the accompanying files
-%\texttt{database1.tex} and \texttt{database2.tex}. Note that if
-%you don't have Perl installed, you will need to use
-%\appname{makeindex} twice instead of a single call to
-%\appname{makeglossaries}:
+%\end{prompt}
+%The glossary definitions are stored in the accompanying files
+%\texttt{database1.tex} and \texttt{database2.tex}. Note that if you
+%don't have Perl installed, you will need to use \app{makeindex}
+%twice instead of a single call to \app{makeglossaries}:
%\begin{enumerate}
%\item Create the main glossary:
-%\begin{verbatim}
+%\begin{prompt}
%makeindex -s sampleDB.ist -t sampleDB.glg -o sampleDB.gls sampleDB.glo
-%\end{verbatim}
+%\end{prompt}
%\item Create the secondary glossary:
-%\begin{verbatim}
+%\begin{prompt}
%makeindex -s sampleDB.ist -t sampleDB.nlg -o sampleDB.not sampleDB.ntn
-%\end{verbatim}
+%\end{prompt}
%\end{enumerate}
%
-%\item[sampleEq.tex]\label{ex:sampleEq} This document illustrates how to change the
-%location to something other than the page number. In this case,
-%the \texttt{equation} counter is used since all glossary entries
-%appear inside an \envname{equation} environment. To create the
-%document do:
-%\begin{verbatim}
+%\item[sampleEq.tex]\label{ex:sampleEq} This document illustrates how
+%to change the location to something other than the page number. In
+%this case, the \texttt{equation} counter is used since all glossary
+%entries appear inside an \env{equation} environment. To create
+%the document do:
+%\begin{prompt}
%latex sampleEq
%makeglossaries sampleEq
%latex sampleEq
-%\end{verbatim}
+%\end{prompt}
%
-%\item[sampleEqPg.tex]\label{ex:sampleEqPg} This is similar to the previous example,
-%but the number lists\iterm{number list} are a mixture of page
-%numbers and equation numbers. This example adds the glossary to the
-%table of contents, so an extra \LaTeX\ run is required:
-%\begin{verbatim}
+%\item[sampleEqPg.tex]\label{ex:sampleEqPg} This is similar to the
+%previous example, but the number lists\iterm{number list} are a
+%mixture of page numbers and equation numbers. This example adds the
+%glossary to the table of contents, so an extra \LaTeX\ run is
+%required:
+%\begin{prompt}
%latex sampleEqPg
%makeglossaries sampleEqPg
%latex sampleEqPg
%latex sampleEqPg
-%\end{verbatim}
-%
-%\item[sampleSec.tex]\label{ex:sampleSec} This document also illustrates how to change
-%the location to something other than the page number. In this case,
-%the \texttt{section} counter is used. This example adds the
-%glossary to the table of contents, so an extra \LaTeX\ run is
-%required:
-%\begin{verbatim}
+%\end{prompt}
+%
+%\item[sampleSec.tex]\label{ex:sampleSec} This document also
+%illustrates how to change the location to something other than the
+%page number. In this case, the \texttt{section} counter is used.
+%This example adds the glossary to the table of contents, so an extra
+%\LaTeX\ run is required:
+%\begin{prompt}
%latex sampleSec
%makeglossaries sampleSec
%latex sampleSec
%latex sampleSec
-%\end{verbatim}
+%\end{prompt}
%
-%\item[sampleNtn.tex]\label{ex:sampleNtn} This document illustrates how to create
-%an additional glossary type. This example adds the glossary to the
-%table of contents, so an extra \LaTeX\ run is required:
-%\begin{verbatim}
+%\item[sampleNtn.tex]\label{ex:sampleNtn} This document illustrates
+%how to create an additional glossary type. This example adds the
+%glossary to the table of contents, so an extra \LaTeX\ run is
+%required:
+%\begin{prompt}
%latex sampleNtn
%makeglossaries sampleNtn
%latex sampleNtn
%latex sampleNtn
-%\end{verbatim}
+%\end{prompt}
%Note that if you don't have Perl installed, you will need to use
-%\appname{makeindex} twice instead of a single call to
-%\appname{makeglossaries}:
+%\app{makeindex} twice instead of a single call to
+%\app{makeglossaries}:
%\begin{enumerate}
%\item Create the main glossary:
-%\begin{verbatim}
+%\begin{prompt}
%makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo
-%\end{verbatim}
+%\end{prompt}
%\item Create the secondary glossary:
-%\begin{verbatim}
+%\begin{prompt}
%makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.not sampleNtn.ntn
-%\end{verbatim}
+%\end{prompt}
%\end{enumerate}
%
-%\item[sample.tex]\label{ex:sample} This document illustrates some of the basics,
-%including how to create child entries that use the same name as the
-%parent entry. This example adds the glossary to the table of
-%contents, so an extra \LaTeX\ run is required:
-%\begin{verbatim}
+%\item[sample.tex]\label{ex:sample} This document illustrates some of
+%the basics, including how to create child entries that use the same
+%name as the parent entry. This example adds the glossary to the
+%table of contents, so an extra \LaTeX\ run is required:
+%\begin{prompt}
%latex sample
%makeglossaries sample
%latex sample
%latex sample
-%\end{verbatim}
-%You can see the difference between word and letter ordering
-%if you substitute \pkgopt[word]{order} with
-%\pkgopt[letter]{order}. (Note that this will only have an
-%effect if you use \appname{makeglossaries}. If you use
-%\appname{makeindex} explicitly, you will need to use the
-%\texttt{-l} switch to indicate letter ordering.)
-%
-%\item[sampletree.tex]\label{ex:sampletree} This document illustrates a hierarchical
-%glossary structure where child entries have different names
-%to their corresponding parent entry. To create the document do:
-%\begin{verbatim}
+%\end{prompt}
+%You can see the difference between word and letter ordering if you
+%substitute \pkgopt[word]{order} with \pkgopt[letter]{order}. (Note
+%that this will only have an effect if you use
+%\app{makeglossaries}. If you use \app{makeindex} explicitly,
+%you will need to use the \texttt{-l} switch to indicate letter
+%ordering.)
+%
+%\item[sampletree.tex]\label{ex:sampletree} This document illustrates
+%a hierarchical glossary structure where child entries have different
+%names to their corresponding parent entry. To create the document
+%do:
+%\begin{prompt}
%latex sampletree
%makeglossaries sampletree
%latex sampletree
-%\end{verbatim}
-%
-%\item[samplexdy.tex]\label{ex:samplexdy} This document illustrates how to use the
-%\sty{glossaries} package with \appname{xindy} instead of
-%\appname{makeindex}. The document uses UTF8 encoding (with the
-%\isty{inputenc} package). The encoding is picked up by
-%\appname{makeglossaries}. By default, this document will create
-%a \appname{xindy} style file called \texttt{samplexdy.xdy}, but
-%if you uncomment the lines
+%\end{prompt}
+%
+%\item[samplexdy.tex]\label{ex:samplexdy} This document illustrates
+%how to use the \styfmt{glossaries} package with \app{xindy} instead
+%of \app{makeindex}. The document uses UTF8 encoding (with the
+%\sty{inputenc} package). The encoding is picked up by
+%\app{makeglossaries}. By default, this document will create a
+%\app{xindy} style file called \texttt{samplexdy.xdy}, but if you
+%uncomment the lines
%\begin{verbatim}
%\setStyleFile{samplexdy-mc}
%\noist
%\GlsSetXdyLanguage{}
%\end{verbatim}
%it will set the style file to \texttt{samplexdy-mc.xdy} instead.
-%This provides an additional letter group for entries starting
-%with \dq{Mc} or \dq{Mac}. If you use \appname{makeglossaries},
-%you don't need to supply any additional information. If you
-%don't use \appname{makeglossaries}, you will need to specify the
-%required information. Note that if you set the style file to
-%\texttt{samplexdy-mc.xdy} you must also specify \ics{noist},
-%otherwise the \sty{glossaries} package will overwrite
-%\texttt{samplexdy-mc.xdy} and you will lose the \dq{Mc} letter group.
+%This provides an additional letter group for entries starting with
+%\qt{Mc} or \qt{Mac}. If you use \app{makeglossaries}, you don't
+%need to supply any additional information. If you don't use
+%\app{makeglossaries}, you will need to specify the required
+%information. Note that if you set the style file to
+%\texttt{samplexdy-mc.xdy} you must also specify \ics{noist},
+%otherwise the \styfmt{glossaries} package will overwrite
+%\texttt{samplexdy-mc.xdy} and you will lose the \qt{Mc} letter
+%group.
%
%To create the document do:
-%\begin{verbatim}
+%\begin{prompt}
%latex samplexdy
%makeglossaries samplexdy
%latex samplexdy
-%\end{verbatim}
+%\end{prompt}
%If you don't have Perl installed, you will have to call
-%\appname{xindy} explicitly instead of using \appname{makeglossaries}.
+%\app{xindy} explicitly instead of using \app{makeglossaries}.
%If you are using the default style file \texttt{samplexdy.xdy}, then
%do (no line breaks):
-%\begin{verbatim}
-%xindy -L english -C utf8 -I xindy -M samplexdy -t samplexdy.glg
-%-o samplexdy.gls samplexdy.glo
-%\end{verbatim}
+%\begin{prompt}
+%xindy -L english -C utf8 -I xindy -M samplexdy -t samplexdy.glg -o samplexdy.gls samplexdy.glo
+%\end{prompt}
%otherwise, if you are using \texttt{samplexdy-mc.xdy}, then do
%(no line breaks):
-%\begin{verbatim}
-%xindy -I xindy -M samplexdy-mc -t samplexdy.glg -o samplexdy.gls
-%samplexdy.glo
-%\end{verbatim}
-%
-%\item[sampleutf8.tex]\label{ex:sampleutf8} This is another example that uses
-%\appname{xindy}. Unlike \appname{makeindex}, \appname{xindy} can
-%cope with accented or non-Latin characters. This document uses
-%UTF8 encoding. To create the document do:
-%\begin{verbatim}
+%\begin{prompt}
+%xindy -I xindy -M samplexdy-mc -t samplexdy.glg -o samplexdy.gls samplexdy.glo
+%\end{prompt}
+%
+%\item[sampleutf8.tex]\label{ex:sampleutf8} This is another example
+%that uses \app{xindy}. Unlike \app{makeindex},
+%\app{xindy} can cope with accented or non-Latin characters. This
+%document uses UTF8 encoding. To create the document do:
+%\begin{prompt}
%latex sampleutf8
%makeglossaries sampleutf8
%latex sampleutf8
-%\end{verbatim}
-%If you don't have Perl installed, you will have to call
-%\appname{xindy} explicitly instead of using \appname{makeglossaries}
+%\end{prompt}
+%If you don't have Perl installed, you will have to call
+%\app{xindy} explicitly instead of using \app{makeglossaries}
%(no line breaks):
-%\begin{verbatim}
-%xindy -L english -C utf8 -I xindy -M sampleutf8 -t sampleutf8.glg
-%-o sampleutf8.gls sampleutf8.glo
-%\end{verbatim}
+%\begin{prompt}
+%xindy -L english -C utf8 -I xindy -M sampleutf8 -t sampleutf8.glg -o sampleutf8.gls sampleutf8.glo
+%\end{prompt}
%
%If you remove the \pkgopt{xindy} option from \texttt{sampleutf8.tex}
%and do:
-%\begin{verbatim}
+%\begin{prompt}
%latex sampleutf8
%makeglossaries sampleutf8
%latex sampleutf8
-%\end{verbatim}
+%\end{prompt}
%you will see that the entries that start with a non-Latin character
-%now appear in the symbols group, and the word \dq{man\oe uvre} is now
-%after \dq{manor} instead of before it. If you are unable to use
-%\appname{makeglossaries}, the call to \appname{makeindex} is as
+%now appear in the symbols group, and the word \qt{man\oe uvre} is now
+%after \qt{manor} instead of before it. If you are unable to use
+%\app{makeglossaries}, the call to \app{makeindex} is as
%follows (no line breaks):
-%\begin{verbatim}
-%makeindex -s sampleutf8.ist -t sampleutf8.glg -o sampleutf8.gls
-%sampleutf8.glo
-%\end{verbatim}
+%\begin{prompt}
+%makeindex -s sampleutf8.ist -t sampleutf8.glg -o sampleutf8.gls sampleutf8.glo
+%\end{prompt}
%
%\item[sampleaccsupp.tex]\label{ex:sampleaccsupp} This document
-%uses the experimental \isty{glossaries-accsupp} package. The
+%uses the experimental \sty{glossaries-accsupp} package. The
%symbol is set to the replacement text. Note that some PDF
%viewers don't use the accessibility support. Information
-%about the \sty{glossaries-accsupp} package can be found in
-%\autoref{sec:accsupp}.
+%about the \styfmt{glossaries-accsupp} package can be found in
+%\sectionref{sec:accsupp}.
%
%\end{description}
%
+%
%\subsection{Multi-Lingual Support}
%\label{sec:languages}
%
-%As from version 1.17, the \sty{glossaries} package can now be
-%used with \appname{xindy} as well as \appname{makeindex}. If you
+%As from version 1.17, the \styfmt{glossaries} package can now be
+%used with \app{xindy} as well as \app{makeindex}. If you
%are writing in a language that uses accented characters or
-%non-Latin characters it is recommended that you use \appname{xindy}
-%as \appname{makeindex} is hard-coded for Latin languages. This
+%non-Latin characters it is recommended that you use \app{xindy}
+%as \app{makeindex} is hard-coded for Latin languages. This
%means that you are not restricted to the A, \ldots, Z letter groups.
-%If you want to use \appname{xindy}, remember to use the
+%If you want to use \app{xindy}, remember to use the
%\pkgopt{xindy} package option. For example:
%\begin{verbatim}
%\documentclass[frenchb]{article}
@@ -616,26 +580,26 @@
%\end{verbatim}
%\end{important}
%
-%If you use the \isty{inputenc} package, \appname{makeglossaries}
+%If you use the \sty{inputenc} package, \app{makeglossaries}
%will pick up the encoding from the auxiliary file. If you use
-%\appname{xindy} explicitly instead of via \appname{makeglossaries},
+%\app{xindy} explicitly instead of via \app{makeglossaries},
%you may need to specify the encoding using the \texttt{-C}
-%option. Read the \appname{xindy} manual for further details.
+%option. Read the \app{xindy} manual for further details.
%
%\subsubsection{Changing the Fixed Names}
%\label{sec:fixednames}
%
-%As from version 1.08, the \sty{glossaries} package now has
+%As from version 1.08, the \styfmt{glossaries} package now has
%limited multi-lingual support, thanks to all the people who have sent
%me the relevant translations either via email or via
%\texttt{comp.text.tex}.
-%However you must load \isty{babel} or \isty{polyglossia} \emph{before}
-%\sty{glossaries} to enable this. Note that if \isty{babel} is loaded
-%and the \isty{translator} package is detected on \TeX's path, then the
-%\isty{translator} package will be loaded automatically. However,
+%However you must load \sty{babel} or \sty{polyglossia} \emph{before}
+%\styfmt{glossaries} to enable this. Note that if \sty{babel} is loaded
+%and the \sty{translator} package is detected on \TeX's path, then the
+%\sty{translator} package will be loaded automatically. However,
%it may not pick up on the required languages so, if the predefined
%text is not translated, you may need to explicitly load the
-%\isty{translator} package with the required languages. For example:
+%\sty{translator} package with the required languages. For example:
%\begin{verbatim}
%\usepackage[spanish]{babel}
%\usepackage[spanish]{translator}
@@ -650,8 +614,8 @@
%\usepackage{glossaries}
%\end{verbatim}
%
-%If you want to use \isty{ngerman} or \isty{german} instead
-%of \isty{babel}, you will need to include the \isty{translator} package
+%If you want to use \sty{ngerman} or \sty{german} instead
+%of \sty{babel}, you will need to include the \sty{translator} package
%to provide the translations. For example:
%\begin{verbatim}
%\documentclass[ngerman]{article}
@@ -660,8 +624,13 @@
%\usepackage{glossaries}
%\end{verbatim}
%
-%The following languages are currently supported by the
-%\sty{glossaries} package:
+%The languages are currently supported by the
+%\styfmt{glossaries} package are listed in
+%\tableref{tab:supportedlanguages}.
+%
+%\begin{table}[htbp]
+%\caption{Supported Languages}
+%\label{tab:supportedlanguages}
%\begin{center}
%\begin{tabular}{lc}
%\bfseries Language & \bfseries As from version\\
@@ -675,10 +644,13 @@
%Italian & 1.08\\
%Hungarian & 1.08\\
%Polish & 1.13\\
+%Serbian & 2.06\\
%Spanish & 1.08
%\end{tabular}
%\end{center}
-%The language dependent commands and \isty{translator} keys used by the
+%\end{table}
+%
+%The language dependent commands and \sty{translator} keys used by the
%glossaries package are listed in \tableref{tab:predefinednames}.
%
%\begin{table}[htbp]
@@ -713,23 +685,23 @@
%\end{table}
%
%Due to the varied nature of glossaries, it's likely that the
-%predefined translations may not be appropriate. If you are using
-%the \isty{babel} package and do not have the \isty{translator} package
-%installed, you need to be familiar with the
-% advice given in \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords}.
-%If you have the \isty{translator} package installed, then you can
-%provide your own dictionary with the necessary modifications
-%(using \cs{deftranslation}) and load it using
-%\cs{usedictionary}. Note that the dictionaries are loaded at the
-%beginning of the document, so it won't have any effect if you
+%predefined translations may not be appropriate. If you are using the
+%\sty{babel} package and do not have the \sty{translator} package
+%installed, you need to be familiar with the advice given in
+%\urlref{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords}{changing
+%the words babel uses}. If you have the \sty{translator} package
+%installed, then you can provide your own dictionary with the
+%necessary modifications (using \cs{deftranslation}) and load it
+%using \cs{usedictionary}. Note that the dictionaries are loaded at
+%the beginning of the document, so it won't have any effect if you
%put \cs{deftranslation} in the preamble. It should be put in your
-%personal dictionary instead. See the \isty{translator}
-%documentation for further details.
+%personal dictionary instead. See the \sty{translator} documentation
+%for further details.
%
-%If you are using \isty{babel} and don't want to use the
-%\isty{translator} interface, you can suppress it using the package
+%If you are using \sty{babel} and don't want to use the
+%\sty{translator} interface, you can suppress it using the package
%option \pkgopt[false]{translate}, and either load
-%\isty{glossaries-babel} after \sty{glossaries} or specify you're own
+%\sty{glossaries-babel} after \styfmt{glossaries} or specify you're own
%translations. For example:
%\begin{verbatim}
%\documentclass[british]{article}
@@ -757,58 +729,57 @@
%}
%\end{verbatim}
%
-%If you are using \isty{polyglossia} instead of \isty{babel},
-%\isty{glossaries-polyglossia} will automatically be loaded unless
+%If you are using \sty{polyglossia} instead of \sty{babel},
+%\sty{glossaries-polyglossia} will automatically be loaded unless
%you specify the package option \pkgopt[false]{translate}.
%
-%Note that \appname{xindy} provides much better multi-lingual
-%support than \appname{makeindex}, so it's recommended that you
-%use \appname{xindy} if you have glossary entries that contain
-%accented characters or non-Roman letters. See
-%\autoref{sec:xindy} for further details.
+%Note that \app{xindy} provides much better multi-lingual support
+%than \app{makeindex}, so it's recommended that you use \app{xindy}
+%if you have glossary entries that contain diacritics or
+%non-Roman letters. See \sectionref{sec:xindy} for further
+%details.
+%
%\subsection{Generating the Associated Glossary Files}
%\label{sec:makeglossaries}
%
%In order to generate a sorted glossary with compact location lists,
%it is necessary to use an external indexing application as an
%intermediate step. It is this application that creates the file
-%containing the code that typesets the glossary. If this step
-%is omitted, the glossaries will not appear in your document. The
-%two indexing applications that are most commonly used with
-%\LaTeX\ are \appname{makeindex} and \appname{xindy}. As
-%from version 1.17, the \sty{glossaries} package can be used
-%with either of these applications. Previous versions were designed
-%to be used with \appname{makeindex} only. Note that
-%\appname{xindy} has much better multi-lingual support than
-%\appname{makeindex}, so \appname{xindy} is recommended if you're
-%not writing in English. Commands that only have an
-%effect when \appname{xindy} is used are described
-%in \autoref{sec:xindy}.
-%
-%The \sty{glossaries} package comes with the Perl script
-%\appname{makeglossaries} which will run \appname{makeindex} or
-%\appname{xindy} on all the glossary files using a customized style
-%file (which is created by \ics{makeglossaries}). See
-%\autoref{sec:makeglossariesapp} for further
+%containing the code that typesets the glossary. If this step is
+%omitted, the glossaries will not appear in your document. The two
+%indexing applications that are most commonly used with \LaTeX\ are
+%\app{makeindex} and \app{xindy}. As from version 1.17, the
+%\styfmt{glossaries} package can be used with either of these
+%applications. Previous versions were designed to be used with
+%\app{makeindex} only. Note that \app{xindy} has much better
+%multi-lingual support than \app{makeindex}, so \app{xindy} is
+%recommended if you're not writing in English. Commands that only
+%have an effect when \app{xindy} is used are described in
+%\sectionref{sec:xindy}.
+%
+%
+%The \styfmt{glossaries} package comes with the Perl script
+%\app{makeglossaries} which will run \app{makeindex} or \app{xindy}
+%on all the glossary files using a customized style file (which is
+%created by \ics{makeglossaries}). See
+%\sectionref{sec:makeglossariesapp} for further
%details. Perl is stable, cross-platform, open source software that
%is used by a number of \TeX-related applications. Further
-%information is available at \url{http://www.perl.org/about.html}.
+%information is available at \url{http://www.perl.org/about.html}.
%However, whilst it is strongly recommended that you use the
-%\appname{makeglossaries} script, it is possible to use the
-%\sty{glossaries} package without having Perl installed. In which
+%\app{makeglossaries} script, it is possible to use the
+%\styfmt{glossaries} package without having Perl installed. In which
%case, if you have used the \pkgopt{xindy} package option, you will
-%need to use \appname{xindy} (see
-%\autoref{sec:xindyapp}), otherwise you will need to use
-%\appname{makeindex} (see
-%\autoref{sec:makeindexapp}). Note that some commands and
-%package options have no effect if you don't use
-%\appname{makeglossaries}. These are listed in
-%\tableref{tab:makeglossariesCmds}.
+%need to use \app{xindy} (see \sectionref{sec:xindyapp}), otherwise
+%you will need to use \app{makeindex} (see
+%\sectionref{sec:makeindexapp}). Note that some commands and package
+%options have no effect if you don't use \app{makeglossaries}. These
+%are listed in \tableref{tab:makeglossariesCmds}.
%
%Note that if any of your entries use an entry
%that is not referenced outside the glossary, you will need to
-%do an additional \appname{makeglossaries}, \appname{makeindex}
-%or \appname{xindy} run, as appropriate. For example,
+%do an additional \app{makeglossaries}, \app{makeindex}
+%or \app{xindy} run, as appropriate. For example,
%suppose you have defined the following entries:
%\begin{verbatim}
%\newglossaryentry{citrusfruit}{name={citrus fruit},
@@ -822,18 +793,18 @@
%but don't reference the \texttt{orange} entry, then the
%\texttt{orange} entry won't appear in your glossary until
%you first create the glossary and then do another run
-%of \appname{makeglossaries}, \appname{makeindex} or \appname{xindy}.
+%of \app{makeglossaries}, \app{makeindex} or \app{xindy}.
%For example, if the document is called \texttt{myDoc.tex}, then
%you must do:
-%\begin{verbatim}
+%\begin{prompt}
%latex myDoc
%makeglossaries myDoc
%latex myDoc
%makeglossaries myDoc
%latex myDoc
-%\end{verbatim}
+%\end{prompt}
%
-%Likewise, an additional \appname{makeglossaries} and \LaTeX\ run
+%Likewise, an additional \app{makeglossaries} and \LaTeX\ run
%may be required if the document pages shift with re-runs. For
%example, if the page numbering is not reset after the table of
%contents, the insertion of the table of contents on the second
@@ -842,30 +813,38 @@
%need updating.
%
%The examples in this document assume that you are accessing
-%\appname{makeglossaries}, \appname{xindy} or \appname{makeindex} via
-%a terminal. Windows users can use the MSDOS Prompt which
-%is usually accessed via the
-%\textsf{Start}$\to$\textsf{All Programs} menu or
-%\textsf{Start}$\to$\textsf{All Programs}%$\to$\textsf{Accessories} menu. Alternatively, your text editor may have the
-%facility to create a function that will call the
-%required application. See your editor's user manual for further
-%details.
+%\app{makeglossaries}, \app{xindy} or \app{makeindex} via a terminal.
+%Windows users can use the MSDOS Prompt which is usually accessed via
+%the \menu{Start}\submenu{All Programs} menu or
+%\menu{Start}\submenu{All Programs}\submenu{Accessories} menu.
+%
+%Alternatively, your text editor may have the facility to create a
+%function that will call the required application. The article
+%\href{http://www.latex-community.org/index.php?option=com_content&view=article\&id=263:glossaries-nomenclature-lists-of-symbols-and-acronyms&catid=55:latex-general&Itemid=114}{\qt{Glossaries, Nomenclature, List of Symbols and
+%Acronyms}}
+%in the \urlfootref{http://www.latex-community.org/}{\LaTeX\
+%Community's} Know How section
+%describes how to do this for TeXnicCenter, and the thread
+%\href{http://groups.google.com/group/comp.text.tex/browse_thread/thread/edd83831b81b0759?hl=en}{\qt{Executing Glossaries' makeindex from a WinEdt
+%macro}} on the \texttt{comp.text.tex} newsgroup
+%describes how to do it for WinEdt. For other editors see the editor's
+%user manual for further details.
%
%If any problems occur, remember to check the transcript files
%(e.g.\ \filetype{.glg} or \filetype{.alg}) for messages.
%
%\begin{table}[htbp]
%\caption{Commands and package options that have no effect when
-%using \texttt{xindy} or \texttt{makeindex} explicity}
+%using \texttt{xindy} or \texttt{makeindex} explicitly}
%\label{tab:makeglossariesCmds}
%\vskip\baselineskip
%\begin{tabular}{@{}lll@{}}
-%\bfseries Command or Package Option & \appname{makeindex} &
-%\appname{xindy}\\
+%\bfseries Command or Package Option & \app{makeindex} &
+%\app{xindy}\\
%\pkgopt[letter]{order} & use \texttt{-l} &
% use \texttt{-M ord/letorder}\\
%\pkgopt[word]{order} & default & default\\
-%\pkgopt{xindy}=\{\pkgoptni{language=}\meta{lang}\pkgoptni{,codename=}\meta{code}\} &
+%\pkgopt{xindy}=\{\pkgoptfmt{language=}\meta{lang}\pkgoptfmt{,codename=}\meta{code}\} &
%N/A & use \texttt{-L} \meta{lang} \texttt{-C} \meta{code}\\
%\ics{GlsSetXdyLanguage}\marg{lang} & N/A &
%use \texttt{-L} \meta{lang}\\
@@ -875,63 +854,60 @@
%\par
%\end{table}
%
+%
%\subsubsection{Using the makeglossaries Perl Script}
%\label{sec:makeglossariesapp}
%
-%The \appname{makeglossaries} script picks up the relevant
-%information from the auxiliary (\filetype{.aux}) file and
-%will either call \appname{xindy} or \appname{makeindex},
-%depending on the supplied information. Therefore, you only need to
-%pass the document's name without the extension to
-%\appname{makeglossaries}.
-%For example, if your document is called \texttt{myDoc.tex},
-%type the following in your terminal:
-%\begin{verbatim}
+%The \app{makeglossaries} script picks up the relevant information
+%from the auxiliary (\filetype{.aux}) file and will either call
+%\app{xindy} or \app{makeindex}, depending on the supplied
+%information. Therefore, you only need to pass the document's name
+%without the extension to \app{makeglossaries}. For example, if your
+%document is called \texttt{myDoc.tex}, type the following in your
+%terminal:
+%\begin{prompt}
%latex myDoc
%makeglossaries myDoc
%latex myDoc
-%\end{verbatim}
-%You may need to explicitly load \appname{makeglossaries} into
-%Perl:
-%\begin{verbatim}
+%\end{prompt}
+%You may need to explicitly load \app{makeglossaries} into Perl:
+%\begin{prompt}
%perl makeglossaries myDoc
-%\end{verbatim}
-%There is a batch file called \texttt{makeglossaries.bat} which
-%does this for Windows users, but you must have Perl installed to
-%be able to use it.
+%\end{prompt}
+%There is a batch file called \texttt{makeglossaries.bat} which does
+%this for Windows users, but you must have Perl installed to be able
+%to use it.
%
-%The \appname{makeglossaries} script contains POD (Plain Old
+%The \app{makeglossaries} script contains POD (Plain Old
%Documentation). If you want, you can create a man page for
-%\appname{makeglossaries} using \appname{pod2man} and move the
+%\app{makeglossaries} using \app{pod2man} and move the
%resulting file onto the man path.
%
+%
%\subsubsection{Using xindy explicitly}
%\label{sec:xindyapp}
%
-%If you want to use \appname{xindy} to process the glossary
+%If you want to use \app{xindy} to process the glossary
%files, you must make sure you have used the
%\pkgopt{xindy} package option:
%\begin{verbatim}
%\usepackage[xindy]{glossaries}
%\end{verbatim}
-%This is required regardless of whether you use \appname{xindy}
+%This is required regardless of whether you use \app{xindy}
%explicitly or whether it's called implicitly via
-%\appname{makeglossaries}. This causes the glossary
-%entries to be written in raw \appname{xindy} format, so you need to
+%\app{makeglossaries}. This causes the glossary
+%entries to be written in raw \app{xindy} format, so you need to
%use \texttt{-I xindy} \emph{not} \texttt{-I tex}.
%
-%To run \appname{xindy} type the following in your terminal
-%(all on one line):\\[10pt]
-%\begin{ttfamily}
-%xindy -L \textrm{\meta{language}} -C \textrm{\meta{encoding}} -I xindy
-%-M \textrm{\meta{style}} -t \textrm{\meta{base}}.glg\newline
-%-o \textrm{\meta{base}}.gls \textrm{\meta{base}}.glo
-%\end{ttfamily}
-%\\[10pt]
+%To run \app{xindy} type the following in your terminal
+%(all on one line):
+%\begin{prompt}
+%xindy -L \meta{language} -C \meta{encoding} -I xindy -M \meta{style} -t \meta{base}.glg -o \meta{base}.gls \meta{base}.glo
+%\end{prompt}
%where \meta{language} is the required language name, \meta{encoding}
%is the encoding, \meta{base} is the name of the document without the
%\filetype{.tex} extension and \meta{style} is the name of the
-%\appname{xindy} style file without the \filetype{.xdy} extension.
+%\app{xindy} style file without the \filetype{.xdy} extension.
%The default name for this style file is \meta{base}\filetype{.xdy}
%but can be changed via \ics{setStyleFile}\marg{style}. You may need
%to specify the full path name depending on the current working
@@ -941,9 +917,9 @@
%For example, if your document is called \texttt{myDoc.tex} and
%you are using UTF8 encoding in English, then type the
%following in your terminal:
-%\begin{verbatim}
+%\begin{prompt}
%xindy -L english -C utf8 -I xindy -M myDoc -t myDoc.glg -o myDoc.gls myDoc.glo
-%\end{verbatim}
+%\end{prompt}
%
%Note that this just creates the main glossary. You need to do
%the same for each of the other glossaries (including the
@@ -952,89 +928,92 @@
%and \filetype{.glo} with the relevant extensions. For example,
%if you have used the \pkgopt{acronym} package option, then
%you would need to do:
-%\begin{verbatim}
+%\begin{prompt}
%xindy -L english -C utf8 -I xindy -M myDoc -t myDoc.alg -o myDoc.acr myDoc.acn
-%\end{verbatim}
+%\end{prompt}
%For additional glossaries, the extensions are those supplied
%when you created the glossary with \ics{newglossary}.
%
-%Note that if you use \appname{makeglossaries} instead, you can
-%replace all those calls to \appname{xindy} with just one call
-%to \appname{makeglossaries}:
-%\begin{verbatim}
+%Note that if you use \app{makeglossaries} instead, you can
+%replace all those calls to \app{xindy} with just one call
+%to \app{makeglossaries}:
+%\begin{prompt}
%makeglossaries myDoc
-%\end{verbatim}
+%\end{prompt}
%Note also that some commands and package options have no effect if
-%you use \appname{xindy} explicitly instead of using
-%\appname{makeglossaries}. These are listed in
+%you use \app{xindy} explicitly instead of using
+%\app{makeglossaries}. These are listed in
%\tableref{tab:makeglossariesCmds}.
%
+%
%\subsubsection{Using makeindex explicitly}
%\label{sec:makeindexapp}
%
-%If you want to use \appname{makeindex} explicitly, you must
+%If you want to use \app{makeindex} explicitly, you must
%make sure that you haven't used the \pkgopt{xindy} package
%option or the glossary entries will be written in the wrong
-%format. To run \appname{makeindex}, type the following in
-%your terminal:\\[10pt]
-%\begin{ttfamily}
-%makeindex -s \textrm{\meta{style}}.ist -t \textrm{\meta{base}}.glg
-%-o \textrm{\meta{base}}.gls \textrm{\meta{base}}.glo
-%\end{ttfamily}\\[10pt]
+%format. To run \app{makeindex}, type the following in
+%your terminal:
+%\begin{prompt}
+%makeindex -s \meta{style}.ist -t \meta{base}.glg -o \meta{base}.gls \meta{base}.glo
+%\end{prompt}
%where \meta{base} is the name of your document without the
%\filetype{.tex} extension and \meta{style}\filetype{.ist} is the
-%name of the \appname{makeindex} style file. By default, this is
+%name of the \app{makeindex} style file. By default, this is
%\meta{base}\filetype{.ist}, but may be changed via
%\ics{setStyleFile}\marg{style}. Note that there are other options,
-%such as \texttt{-l} (letter ordering). See the \appname{makeindex}
+%such as \texttt{-l} (letter ordering). See the \app{makeindex}
%manual for further details.
%
%For example, if your document is called \texttt{myDoc.tex}, then
%type the following at the terminal:
-%\begin{verbatim}
+%\begin{prompt}
%makeindex -s myDoc.ist -t myDoc.glg -o myDoc.gls myDoc.glo
-%\end{verbatim}
+%\end{prompt}
%Note that this only creates the main glossary. If you have
%additional glossaries (for example, if you have used the
%\pkgopt{acronym} package option) then you must call
-%\appname{makeindex} for each glossary, substituting
+%\app{makeindex} for each glossary, substituting
%\filetype{.glg}, \filetype{.gls} and \filetype{.glo} with the
%relevant extensions. For example, if you have used the
%\pkgopt{acronym} package option, then you need to type the
%following in your terminal:
-%\begin{verbatim}
+%\begin{prompt}
%makeindex -s myDoc.ist -t myDoc.alg -o myDoc.acr myDoc.acn
-%\end{verbatim}
+%\end{prompt}
%For additional glossaries, the extensions are those supplied
%when you created the glossary with \ics{newglossary}.
%
-%Note that if you use \appname{makeglossaries} instead, you can
-%replace all those calls to \appname{makeindex} with just one call
-%to \appname{makeglossaries}:
-%\begin{verbatim}
+%Note that if you use \app{makeglossaries} instead, you can
+%replace all those calls to \app{makeindex} with just one call
+%to \app{makeglossaries}:
+%\begin{prompt}
%makeglossaries myDoc
-%\end{verbatim}
+%\end{prompt}
%Note also that some commands and package options have no effect if
-%you use \appname{makeindex} explicitly instead of using
-%\appname{makeglossaries}. These are listed in
+%you use \app{makeindex} explicitly instead of using
+%\app{makeglossaries}. These are listed in
%\tableref{tab:makeglossariesCmds}.
%
+%
%\subsubsection{Note to Front-End and Script Developers}
%
-%The information needed to determine whether to use \appname{xindy}
-%or \appname{makeindex} and the information needed to call those
+%The information needed to determine whether to use \app{xindy}
+%or \app{makeindex} and the information needed to call those
%applications is stored in the auxiliary file. This information can
%be gathered by a front-end, editor or script to make the glossaries
%where appropriate. This section describes how the information is
%stored in the auxiliary file.
%
-%The file extensions used by each defined glossary are given by\\[10pt]
-%\cs{@newglossary}\marg{label}\marg{log}\marg{out-ext}\marg{in-ext}\\[10pt]
+%The file extensions used by each defined glossary are given by
+%\begin{definition}[\DescribeMacro{\@newglossary}]
+%\cs{@newglossary}\marg{label}\marg{log}\marg{out-ext}\marg{in-ext}
+%\end{definition}
%where \meta{in-ext} is the extension of the \emph{indexing
-%application's} input file (the output file from the \sty{glossaries}
+%application's} input file (the output file from the \styfmt{glossaries}
%package's point of view), \meta{out-ext} is the extension of the
%\emph{indexing application's} output file (the input file from
-%the \sty{glossaries} package's point of view) and \meta{log} is the
+%the \styfmt{glossaries} package's point of view) and \meta{log} is the
%extension of the indexing application's transcript file. The label
%for the glossary is also given for information purposes only, but
%is not required by the indexing applications. For example, the
@@ -1043,34 +1022,41 @@
%\@newglossary{main}{glg}{gls}{glo}
%\end{verbatim}
%
-%The indexing application's style file is specified by\\[10pt]
-%\cs{@istfilename}\marg{filename}\\[10pt]
-%The file extension indicates whether to use \appname{makeindex}
-%(\filetype{.ist}) or \appname{xindy} (\filetype{.xdy}). Note that
+%The indexing application's style file is specified by
+%\begin{definition}[\DescribeMacro{\@istfilename}]
+%\cs{@istfilename}\marg{filename}
+%\end{definition}
+%The file extension indicates whether to use \app{makeindex}
+%(\filetype{.ist}) or \app{xindy} (\filetype{.xdy}). Note that
%the glossary information is formatted differently depending on
%which indexing application is supposed to be used, so it's
%important to call the correct one.
%
-%Word or letter ordering is specified by:\\[10pt]
-%\cs{@glsorder}\marg{order}\\[10pt]
+%Word or letter ordering is specified by:
+%\begin{definition}[\DescribeMacro{\@glsorder}]
+%\cs{@glsorder}\marg{order}
+%\end{definition}
%where \meta{order} can be either \texttt{word} or \texttt{letter}.
%
-%If \appname{xindy} should be used, the language and code page
-%for each glossary is specified by\\[10pt]
+%If \app{xindy} should be used, the language and code page
+%for each glossary is specified by
+%\begin{definition}[\DescribeMacro{\@xdylanguage}\DescribeMacro{\@gls@codepage}]
%\cs{@xdylanguage}\marg{label}\marg{language}\\
-%\cs{@gls@codepage}\marg{label}\marg{code}\\[10pt]
+%\cs{@gls@codepage}\marg{label}\marg{code}
+%\end{definition}
%where \meta{label} identifies the glossary, \meta{language} is
%the root language (e.g.\ \texttt{english}) and \meta{code}
%is the encoding (e.g.\ \texttt{utf8}). These commands are omitted
-%if \appname{makeindex} should be used.
+%if \app{makeindex} should be used.
+%
%
%\subsection{Troubleshooting}
%\label{sec:trouble}
%
-%The \sty{glossaries} package comes with a minimal file called
+%The \styfmt{glossaries} package comes with a minimal file called
%\texttt{minimalgls.tex} which can be used for testing. This
%should be located in the \texttt{samples} subdirectory (folder)
-%of the \sty{glossaries} documentation directory. The location
+%of the \styfmt{glossaries} documentation directory. The location
%varies according to your operating system and \TeX\ installation.
%For example, on my Linux partition it can be found in
%\texttt{/usr/local/texlive/2008/texmf-dist/doc/latex/glossaries/}.
@@ -1078,7 +1064,7 @@
%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/}.
%
%Below is a list of the most frequently asked questions. For
-%other queries, consult the \sty{glossaries} FAQ at
+%other queries, consult the \styfmt{glossaries} FAQ at
%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html}.
%
%\begin{enumerate}
@@ -1087,7 +1073,7 @@
%Missing \begin{document}
%\end{verbatim}
%
-%\textbf{A.} Check you are using an up to date version of the \isty{xkeyval}
+%\textbf{A.} Check you are using an up to date version of the \sty{xkeyval}
%package.
%
%\item \textbf{Q.} I've used the \pkgopt{smallcaps} option, but the acronyms
@@ -1132,35 +1118,33 @@
%\end{verbatim}
%
%\item \textbf{Q.} I don't have Perl installed, do I have to use
-%\appname{makeglossaries}?
-%
-%\textbf{A.} Although it is strongly recommended that you use
-%\appname{makeglossaries}, you don't have to use it.
-%For further details, read
-%\autoref{sec:xindyapp} or
-%\autoref{sec:makeindexapp}, depending on
-%whether you want to use \appname{xindy} or \appname{makeindex}.
+%\app{makeglossaries}?
%
+%\textbf{A.} Although it is strongly recommended that you use
+%\app{makeglossaries}, you don't have to use it. For further details,
+%read \sectionref{sec:xindyapp} or \sectionref{sec:makeindexapp},
+%depending on whether you want to use \app{xindy} or \app{makeindex}.
%
-%\item \textbf{Q.} I'm used to using the \sty{glossary} package: are there any
-%instructions on migrating from the \isty{glossary} package to the
-%\sty{glossaries} package?
+%\item \textbf{Q.} I'm used to using the \styfmt{glossary} package: are there any
+%instructions on migrating from the \sty{glossary} package to the
+%\styfmt{glossaries} package?
%
-%\textbf{A.} Read the file \texttt{glossary2glossaries.pdf} which should be available from the
-%same location as this document.
+%\textbf{A.} Read \qtdocref{Upgrading from the glossary package to
+%the glossaries package}{glossary2glossaries} which should be
+%available from the same location as this document.
%
-%\item \textbf{Q.} I'm using \isty{babel} but the fixed names haven't been
-%translated.
+%\item \textbf{Q.} I'm using \sty{babel} but the fixed names haven't
+%been translated.
%
-%\textbf{A.} The \sty{glossaries} package currently only supports the following
-%languages: Brazilian Portuguese, Danish, Dutch, English, French,
-%German, Irish, Italian, Hungarian, Polish and Spanish. If you want
-%to add another language, send me the translations, and I'll add them
-%to the next version.
+%\textbf{A.} The \styfmt{glossaries} package currently only supports
+%the following languages: Brazilian Portuguese, Danish, Dutch,
+%English, French, German, Irish, Italian, Hungarian, Polish, Serbian and
+%Spanish. If you want to add another language, send me the
+%translations, and I'll add them to the next version.
%
%If you are using one of the above languages, but the text hasn't been
-%translated, try adding the \isty{translator} package with the
-%required languages explicitly (before you load the \sty{glossaries}
+%translated, try adding the \sty{translator} package with the
+%required languages explicitly (before you load the \styfmt{glossaries}
%package). For example:
%\begin{verbatim}
%\usepackage[ngerman]{babel}
@@ -1168,7 +1152,7 @@
%\usepackage{glossaries}
%\end{verbatim}
%Alternatively, you can add the language as a global option
-%to the class file. Check the \sty{translator} package documentation
+%to the class file. Check the \styfmt{translator} package documentation
%for further details.
%
%\item \textbf{Q.} My acronyms contain strange characters when I use commands
@@ -1189,18 +1173,17 @@
%\item Use either \ics{printglossary} for each glossary that has
%been defined or \ics{printglossaries}.
%
-%\item Use the commands listed in
-%\autoref{sec:glslink},
-%\autoref{sec:glsadd} or
-%\autoref{sec:crossref} for each entry
+%\item Use the commands listed in \sectionref{sec:glslink},
+%\sectionref{sec:glsadd} or \sectionref{sec:crossref} for each entry
%that you want to appear in the glossary.
%
-%\item Run \LaTeX\ on your document, then run \appname{makeglossaries},
+%\item Run \LaTeX\ on your document, then run \app{makeglossaries},
%then run \LaTeX\ on your document again. If you want the glossaries
%to appear in the table of contents, you will need an extra \LaTeX\
%run. If any of your entries cross-reference an entry that's not
-%referenced in the main body of the document, you will need to
-%run \appname{makeglossaries} (see \autoref{sec:makeglossaries}) after the second \LaTeX\ run, followed by another \LaTeX\ run.
+%referenced in the main body of the document, you will need to run
+%\app{makeglossaries} (see \sectionref{sec:makeglossaries}) after the
+%second \LaTeX\ run, followed by another \LaTeX\ run.
%\end{itemize}
%
%Check the log files (\filetype{.log}, \filetype{.glg} etc) for any
@@ -1209,39 +1192,50 @@
%\item \textbf{Q.} It is possible to change the rules used to sort
%the glossary entries?
%
-%\textbf{A.} If it's for an individual entry, then you can
-%use the entry's \gloskey{sort} key to sort it according to a
-%different term. If it's for the entire alphabet, then you will need
-%to use \appname{xindy} (instead of \appname{makeindex}) and use an
-%appropriate \appname{xindy} language module. Writing \appname{xindy}
-%modules or styles is beyond the scope of this manual. Further
-%information about \appname{xindy} can be found at the
-%\href{http://xindy.sourceforge.net/}{Xindy Web Site}.\footnote{\texttt{http://xindy.sourceforge.net/}}
-%There is also a link to the \appname{xindy} mailing list from that
-%site.
+%\textbf{A.} If it's for an individual entry, then you can use the
+%entry's \gloskey{sort} key to sort it according to a different term.
+%If it's for the entire alphabet, then you will need to use
+%\app{xindy} (instead of \app{makeindex}) and use an appropriate
+%\app{xindy} language module. Writing \app{xindy} modules or styles
+%is beyond the scope of this manual. Further information about
+%\app{xindy} can be found at the
+%\urlfootref{http://xindy.sourceforge.net/}{Xindy Web Site}. There is
+%also a link to the \app{xindy} mailing list from that site.
%
%\end{enumerate}
%
+%
%\section{Overview of Main User Commands}\label{sec:overview}
% \changes{1.02}{2007 May 25}{added overview section}
%
+%This section is an overview of the main user commands and package
+%options. If you find this too complicated, try starting out with the
+%\docref{guide for beginners}{glossariesbegin}.
+%
%\subsection{Package Options}
%\label{sec:pkgopts}
%
-%The \sty{glossaries} package options are as follows:
+%The \styfmt{glossaries} package options are as follows:
%\begin{description}
%\item[\pkgopt{nowarn}] This suppresses all warnings generated by
-%the \sty{glossaries} package.
+%the \styfmt{glossaries} package.
%
%\item[\pkgopt{nomain}] This suppresses the creation of the main
%glossary. Note that if you use this option, you must create another
%glossary in which to put all your entries (either via the
%\pkgopt{acronym} package option described below or via
-%\ics{newglossary} described in
-%\autoref{sec:newglossary}).
+%\ics{newglossary} described in \sectionref{sec:newglossary}).
%
%\item[\pkgopt{toc}] Add the glossaries to the table of contents.
%Note that an extra \LaTeX\ run is required with this option.
+%Alternatively, you can switch this function on and off using
+%\begin{definition}[\DescribeMacro{\glstoctrue}]
+%\cs{glstoctrue}
+%\end{definition}
+%and
+%\begin{definition}[\DescribeMacro{\glstocfalse}]
+%\cs{glstocfalse}
+%\end{definition}
%
%\item[\pkgopt{numberline}] When used with \pkgopt{toc}, this will
%add \cs{numberline}\verb|{}| in the final argument of
@@ -1341,7 +1335,7 @@
%\pkgopt{acronym} option is used, otherwise the list of
%acronyms is the main glossary} and additional glossaries are labelled
%using the value specified in the first mandatory argument to
-%\cs{newglossary}. For example, if you load \sty{glossaries}
+%\cs{newglossary}. For example, if you load \styfmt{glossaries}
%using:
%\begin{verbatim}
%\usepackage[section,numberedsection=autolabel]{glossaries}
@@ -1383,40 +1377,41 @@
%
%\item[\pkgopt{style}] This is a \meta{key}=\meta{value} option. Its
%value should be the name of the glossary style to use. Predefined
-%glossary styles are listed in \autoref{sec:styles}.
-%\item[\pkgopt{nolong}] This prevents the \sty{glossaries} package
-%from automatically loading \isty{glossary-long} (which means that
-%the \isty{longtable} package also won't be loaded). This reduces
-%overhead by not defining unwanted styles and commands. Not that if
+%glossary styles are listed in \sectionref{sec:styles}.
+%
+%\item[\pkgopt{nolong}] This prevents the \styfmt{glossaries} package
+%from automatically loading \sty{glossary-long} (which means that
+%the \sty{longtable} package also won't be loaded). This reduces
+%overhead by not defining unwanted styles and commands. Note that if
%you use this option, you won't be able to use any of the
-%glossary styles defined in the \sty{glossary-long} package.
+%glossary styles defined in the \styfmt{glossary-long} package.
%
-%\item[\pkgopt{nosuper}] This prevents the \sty{glossaries} package
-%from automatically loading \isty{glossary-super} (which means that
-%the \isty{supertabular} package also won't be loaded). This reduces
-%overhead by not defining unwanted styles and commands. Not that if
+%\item[\pkgopt{nosuper}] This prevents the \styfmt{glossaries} package
+%from automatically loading \sty{glossary-super} (which means that
+%the \sty{supertabular} package also won't be loaded). This reduces
+%overhead by not defining unwanted styles and commands. Note that if
%you use this option, you won't be able to use any of the
-%glossary styles defined in the \sty{glossary-super} package.
+%glossary styles defined in the \styfmt{glossary-super} package.
%
-%\item[\pkgopt{nolist}] This prevents the \sty{glossaries} package
-%from automatically loading \isty{glossary-list}. This reduces
-%overhead by not defining unwanted styles. Not that if
+%\item[\pkgopt{nolist}] This prevents the \styfmt{glossaries} package
+%from automatically loading \sty{glossary-list}. This reduces
+%overhead by not defining unwanted styles. Note that if
%you use this option, you won't be able to use any of the
-%glossary styles defined in the \sty{glossary-list} package.
+%glossary styles defined in the \styfmt{glossary-list} package.
%Note that since the default style is \glostyle{list}, you will
%also need to use the \pkgopt{style} option to set the style to
%something else.
%
-%\item[\pkgopt{notree}] This prevents the \sty{glossaries} package
-%from automatically loading \isty{glossary-tree}. This reduces
-%overhead by not defining unwanted styles. Not that if
+%\item[\pkgopt{notree}] This prevents the \styfmt{glossaries} package
+%from automatically loading \sty{glossary-tree}. This reduces
+%overhead by not defining unwanted styles. Note that if
%you use this option, you won't be able to use any of the
-%glossary styles defined in the \sty{glossary-tree} package.
+%glossary styles defined in the \styfmt{glossary-tree} package.
%
%\item[\pkgopt{nostyles}] This prevents all the predefined styles
%from being loaded. This option is provided in the event that the
%user has custom styles that are not dependent on the styles
-%provided by the \sty{glossaries} package. Note that if you use
+%provided by the \styfmt{glossaries} package. Note that if you use
%this option, you can't use the \pkgopt{style} package option. Instead
%you must either use \ics{glossarystyle}\marg{style} or
%the \gloskey[printglossary]{style} key in the
@@ -1424,28 +1419,31 @@
%
%\item[\pkgopt{nonumberlist}] This option will suppress the
%associated number lists\iterm{number list} in the glossaries (see also
-%\autoref{sec:numberlists}).
+%\sectionref{sec:numberlists}).
+%
%\item[\pkgopt{counter}] This is a \meta{key}=\meta{value} option. The
%value should be the name of the default counter to use in the number
%lists\iterm{number list}.
%
-%\hypertarget{sanitize}{}\relax\item[\pkgopt{sanitize}] This is a \meta{key}=\meta{value} option whose
-%value is also a \meta{key}=\meta{value} list. By default, the
-%\sty{glossaries} package sanitizes the values of the
-%\gloskey{name}, \gloskey{description} and \gloskey{symbol} keys used
-%when defining a new glossary entry. This means that you can use
-%fragile commands in those keys, but it may lead to unexpected results
-%if you try to display these values within the document text. This
-%sanitization can be switched off using the \pkgopt{sanitize} package
-%option. (See \autoref{sec:pkgopt} and \autoref{sec:newentry} for further details.) For example, to switch off the sanitization for the
-%\gloskey{description} and \gloskey{name} keys, but not for the
-%\gloskey{symbol} key, do:
+%\hypertarget{sanitize}{}\relax \item[\pkgopt{sanitize}] This is a
+%\meta{key}=\meta{value} option whose value is also a
+%\meta{key}=\meta{value} list. By default, the \styfmt{glossaries}
+%package sanitizes the values of the \gloskey{name},
+%\gloskey{description} and \gloskey{symbol} keys used when defining a
+%new glossary entry. This means that you can use fragile commands in
+%those keys, but it may lead to unexpected results if you try to
+%display these values within the document text. This sanitization can
+%be switched off using the \pkgopt{sanitize} package option. \ifpdf
+%(See \sectionref{sec:pkgopt} and \sectionref{sec:newentry} for
+%further details.) \fi For example, to switch off the sanitization
+%for the \gloskey{description} and \gloskey{name} keys, but not for
+%the \gloskey{symbol} key, do:
%\begin{verbatim}
%\usepackage[sanitize={name=false,description=false,%
%symbol=true}]{glossaries}
%\end{verbatim}
%You can use \pkgopt[none]{sanitize} as a shortcut for\newline
-%\pkgoptni{sanitize=\{name=false,description=false,symbol=false\}}.
+%\pkgoptfmt{sanitize=\{name=false,description=false,symbol=false\}}.
%
%\begin{important}%
%\textbf{Note}: this sanitization only applies to the \gloskey{name},
@@ -1459,88 +1457,90 @@
%\end{important}
%
%\item[\pkgopt{description}] This option changes the definition of
-%\ics{newacronym} to allow a description. See \autoref{sec:acronyms} for further details.
+%\ics{newacronym} to allow a description. See \sectionref{sec:acronyms}
+%for further details.
%
%\item[\pkgopt{footnote}] This option changes the definition of
-%\ics{newacronym} and the way that acronyms are displayed. See \autoref{sec:acronyms} for further details.
+%\ics{newacronym} and the way that acronyms are displayed. See
+%\sectionref{sec:acronyms} for further details.
%
%\item[\pkgopt{smallcaps}] This option changes the definition of
-%\ics{newacronym} and the way that acronyms are displayed. See \autoref{sec:acronyms} for further details.
+%\ics{newacronym} and the way that acronyms are displayed. See
+%\sectionref{sec:acronyms} for further details.
%
%\item[\pkgopt{smaller}] This option changes the definition of
%\ics{newacronym} and the way that acronyms are displayed.
-%If you use this option, you will need to include the \isty{relsize}
+%If you use this option, you will need to include the \sty{relsize}
%package or otherwise define \ics{textsmaller} or redefine
-%\ics{acronymfont}. See
-%\autoref{sec:acronyms} for further details.
+%\ics{acronymfont}. See \sectionref{sec:acronyms} for further details.
%
%\item[\pkgopt{dua}] This option changes the definition of
%\ics{newacronym} so that acronyms are always expanded.
-%See \autoref{sec:acronyms} for further details.
+%See \sectionref{sec:acronyms} for further details.
%
%\item[\pkgopt{shortcuts}] This option provides shortcut commands
-%for acronyms.
-%See \autoref{sec:acronyms} for further details.
+%for acronyms. See \sectionref{sec:acronyms} for further details.
%
%\item[\pkgopt{makeindex}] (Default) The glossary information and
-%indexing style file will be written in \appname{makeindex} format. If you use
-%\appname{makeglossaries}, it will automatically detect that it needs
-%to call \appname{makeindex}. If you don't use
-%\appname{makeglossaries}, you need to remember to use
-%\appname{makeindex} not \appname{xindy}. The indexing style file
-%will been given a \filetype{.ist} extension.
-%
-%\item[\pkgopt{xindy}] The glossary information and indexing style file will
-%be written in \appname{xindy} format. If you use
-%\appname{makeglossaries}, it will automatically detect that it needs
-%to call \appname{xindy}. If you don't use \appname{makeglossaries},
-%you need to remember to use \appname{xindy} not \appname{makeindex}.
-%The indexing style file will been given a \filetype{.xdy} extension.
-%
-%The \pkgopt{xindy} package option may additionally have a
-%value that is a \meta{key}=\meta{value} comma-separated list to override
-%the language and codepage. For example:
+%indexing style file will be written in \app{makeindex} format. If
+%you use \app{makeglossaries}, it will automatically detect that it
+%needs to call \app{makeindex}. If you don't use
+%\app{makeglossaries}, you need to remember to use \app{makeindex}
+%not \app{xindy}. The indexing style file will been given a
+%\filetype{.ist} extension.
+%
+%\item[\pkgopt{xindy}] The glossary information and indexing style
+%file will be written in \app{xindy} format. If you use
+%\app{makeglossaries}, it will automatically detect that it needs to
+%call \app{xindy}. If you don't use \app{makeglossaries}, you need to
+%remember to use \app{xindy} not \app{makeindex}. The indexing style
+%file will been given a \filetype{.xdy} extension.
+%
+%The \pkgopt{xindy} package option may additionally have a value that
+%is a \meta{key}=\meta{value} comma-separated list to override the
+%language and codepage. For example:
%\begin{verbatim}
%\usepackage[xindy={language=english,codepage=utf8}]{glossaries}
%\end{verbatim}
-%You can also specify whether you want a number group in
-%the glossary. This defaults to true, but can be suppressed. For
-%example:
+%You can also specify whether you want a number group in the
+%glossary. This defaults to true, but can be suppressed. For example:
%\begin{verbatim}
%\usepackage[xindy={glsnumbers=false}]{glossaries}
%\end{verbatim}
-%See \autoref{sec:xindy} for further details on using \appname{xindy} with the
-%\sty{glossaries} package.
+%See \sectionref{sec:xindy} for further details on using \app{xindy}
+%with the \styfmt{glossaries} package.
%
%\item[\pkgopt{order}] This may take two values:
%\pkgoptval{word}{order} or \pkgoptval{letter}{order}. The default
%is word ordering. Note that this option has no effect if you
-%don't use \appname{makeglossaries}.
+%don't use \app{makeglossaries}.
%
%\item[\pkgopt{translate}] This is a boolean option. The default is
-%\pkgoptval{true}{translate} if \isty{babel}, \isty{polyglossia} or
-%\isty{translator} have been loaded, otherwise the default value is
+%\pkgoptval{true}{translate} if \sty{babel}, \sty{polyglossia} or
+%\sty{translator} have been loaded, otherwise the default value is
%\pkgoptval{false}{translate}.
%
% \begin{description}
-% \item[{\pkgopt[true]{translate}}] If \isty{babel} has been loaded
-% and the \isty{translator} package is installed, \isty{translator}
+% \item[{\pkgopt[true]{translate}}] If \sty{babel} has been loaded
+% and the \sty{translator} package is installed, \sty{translator}
% will be loaded and the translations will be provided by the
-% \isty{translator} package interface. You can modify the
+% \sty{translator} package interface. You can modify the
% translations by providing your own dictionary. If the
-% \isty{translator} package isn't installed and \isty{babel} is
-% loaded, the \isty{glossaries-babel} package will
-% be loaded and the translations will be provided using \sty{babel}'s
+% \sty{translator} package isn't installed and \sty{babel} is
+% loaded, the \sty{glossaries-babel} package will
+% be loaded and the translations will be provided using \styfmt{babel}'s
% \cs{addto}\cs{caption}\meta{language} mechanism. If
-% \isty{polyglossia} has been loaded, \isty{glossaries-polyglossia}
+% \sty{polyglossia} has been loaded, \sty{glossaries-polyglossia}
% will be loaded.
%
% \item[{\pkgopt[false]{translate}}] Don't provide translations, even
-% if \isty{babel} or \isty{polyglossia} has been loaded. You can
+% if \sty{babel} or \sty{polyglossia} has been loaded. You can
% then provide you're own translations or explicitly load
-% \isty{glossaries-babel} or \isty{glossaries-polyglossia}.
+% \sty{glossaries-babel} or \sty{glossaries-polyglossia}.
% \end{description}
%
+%See \sectionref{sec:fixednames} for further details.
+%
%\item[\pkgopt{hyperfirst}] This is a boolean option that specifies
%whether each term has a hyperlink on \firstuse. The default is
%\pkgopt[true]{hyperfirst} (terms on first use have a hyperlink,
@@ -1548,52 +1548,57 @@
%such as \cs{gls*}).
%
%\end{description}
+%
%\subsection{Defining Glossary Entries}
%\label{sec:newglosentry}
%
-%All glossary entries must be defined before they are used, so it
-%is better to define them in the preamble to ensure this.\footnote{The
-%only preamble restriction on \cs{newglossaryentry} and \cs{newacronym}
-%was removed in version 1.13, but the restriction remains for
-%\cs{loadglsentries}.} However
-%only those entries that occur in the document
-%(using any of the commands described in \autoref{sec:glslink}, \autoref{sec:glsadd} or \autoref{sec:crossref}) will appear in the glossary. Each time an entry
-%is used in this way, a line is added to an associated glossary file
-%(\filetype{.glo}), which then needs to be converted into a
+%All glossary entries must be defined before they are used, so it is
+%better to define them in the preamble to ensure this.\footnote{The
+%only preamble restriction on \cs{newglossaryentry} and
+%\cs{newacronym} was removed in version 1.13, but the restriction
+%remains for \cs{loadglsentries}.} However only those entries that
+%occur in the document (using any of the commands described in
+%\sectionref{sec:glslink}, \sectionref{sec:glsadd} or
+%\sectionref{sec:crossref}) will appear in the glossary. Each time an
+%entry is used in this way, a line is added to an associated glossary
+%file (\filetype{.glo}), which then needs to be converted into a
%corresponding \filetype{.gls} file which contains the typeset
%glossary which is input by \ics{printglossary} or
-%\ics{printglossaries}. The Perl script \appname{makeglossaries} can
-%be used to call \appname{makeindex} or \appname{xindy}, using a
-%customised indexing style file, for each of the glossaries that are
-%defined in the document. Note that there should be no need for you
-%to explicitly edit or input any of these external files. See
-%\autoref{sec:makeglossaries}
-%for further details.
-%
-%\DescribeMacro{\makeglossaries}
-%The command \cs{makeglossaries} must be placed in the preamble in
-%order to create the customised \appname{makeindex} (\filetype{.ist})
-%or \appname{xindy} (\filetype{.xdy})
+%\ics{printglossaries}. The Perl script \app{makeglossaries} can be
+%used to call \app{makeindex} or \app{xindy}, using a customised
+%indexing style file, for each of the glossaries that are defined in
+%the document. Note that there should be no need for you to
+%explicitly edit or input any of these external files. See
+%\sectionref{sec:makeglossaries} for further details.
+%
+%The command
+%\begin{definition}[\DescribeMacro{\makeglossaries}]
+%\cs{makeglossaries}
+%\end{definition}
+%must be placed in the preamble in order to create the customised
+%\app{makeindex} (\filetype{.ist}) or \app{xindy} (\filetype{.xdy})
%style file and to ensure that glossary entries are written to the
-%appropriate output files. If you omit \cs{makeglossaries} none of the
-%glossaries will be created.
+%appropriate output files. If you omit \cs{makeglossaries} none of
+%the glossaries will be created.
%
%\begin{important}
-%Note that some of the commands provided by the \sty{glossaries}
+%Note that some of the commands provided by the \styfmt{glossaries}
%package must be placed before \cs{makeglossaries} as they are
%required when creating the customised style file. If you attempt
%to use those commands after \cs{makeglossaries} you will generate
%an error.
%\end{important}
%
-%\DescribeMacro{\noist}
-%You can suppress the creation of the customised \appname{xindy}
-%or \appname{makeindex} style file using \cs{noist}. Note that this
-%command must be used before \cs{makeglossaries}.
+%You can suppress the creation of the customised \app{xindy}
+%or \app{makeindex} style file using
+%\begin{definition}[\DescribeMacro{\noist}]
+%\cs{noist}
+%\end{definition}
+%Note that this command must be used before \cs{makeglossaries}.
%
%The default name for the customised style file is given by
-%\ics{jobname}\filetype{.ist} (for \appname{makeindex}) or
-%\ics{jobname}\filetype{.xdy} (for \appname{xindy}). This name may be
+%\ics{jobname}\filetype{.ist} (for \app{makeindex}) or
+%\ics{jobname}\filetype{.xdy} (for \app{xindy}). This name may be
%changed using:
%\begin{definition}[\DescribeMacro{\setStyleFile}]
%\cs{setStyleFile}\marg{name}
@@ -1618,35 +1623,31 @@
%\end{verbatim}
%Note that this command must be used before \cs{makeglossaries}.
%
-%If you use \appname{xindy}, you can have a different compositor
-%for page numbers starting with an uppercase alphabetical
-%character using:
+%If you use \app{xindy}, you can have a different compositor for page
+%numbers starting with an uppercase alphabetical character using:
%\begin{definition}[\DescribeMacro{\glsSetAlphaCompositor}]
%\cs{glsSetAlphaCompositor}\marg{symbol}
%\end{definition}
%Note that this command has no effect if you haven't used the
-%\pkgopt{xindy} package option. For example, if you want
-%number lists\iterm{number list} containing a mixture of A-1 and 2.3
-%style formats, then do:
+%\pkgopt{xindy} package option. For example, if you want number
+%lists\iterm{number list} containing a mixture of A-1 and 2.3 style
+%formats, then do:
%\begin{verbatim}
-%\glsSetCompositor{.}
-%\glsSetAlphaCompositor{-}
+%\glsSetCompositor{.} \glsSetAlphaCompositor{-}
%\end{verbatim}
-%See \autoref{sec:numberlists} for
-%further information about number lists\iterm{number list}.
+%See \sectionref{sec:numberlists} for further information about
+%number lists\iterm{number list}.
%
%New glossary entries are defined using the command:
%\begin{definition}[\DescribeMacro{\newglossaryentry}]
%\cs{newglossaryentry}\marg{label}\marg{key-val list}
%\end{definition}
-%The first
-%argument, \meta{label}, must be a unique label with which to identify
-%this entry. The second argument, \meta{key-val list}, is a
-%\meta{key}=\meta{value} list that supplies the relevant information
-%about this entry. There are two required fields: \gloskey{name} and
-%\gloskey{description}, except for sub-entries where the
-%\gloskey{name} field may be omitted. Available fields are listed
-%below:
+%The first argument, \meta{label}, must be a unique label with which
+%to identify this entry. The second argument, \meta{key-val list}, is
+%a \meta{key}=\meta{value} list that supplies the relevant
+%information about this entry. There are two required fields:
+%\gloskey{description} and either \gloskey{name} or \gloskey{parent}.
+%Available fields are listed below:
%
%\begin{description}
%\item[{\gloskey{name}}] The name of the entry (as it will appear in
@@ -1655,11 +1656,17 @@
%
%\item[{\gloskey{description}}] A brief description of this term (to
%appear in the glossary). Within this value, you can use
-%\DescribeMacro{\nopostdesc}\cs{nopostdesc} to suppress the
+%\begin{definition}[\DescribeMacro{\nopostdesc}]
+%\cs{nopostdesc}
+%\end{definition}
+%to suppress the
%description terminator for this entry. For example, if this
%entry is a parent entry that doesn't require a description, you
%can do \verb|description={\nopostdesc}|. If you want a paragraph
-%break in the description use \DescribeMacro{\glspar}\cs{glspar}.
+%break in the description use
+%\begin{definition}[\DescribeMacro{\glspar}]
+%\cs{glspar}
+%\end{definition}
%However, note that not all glossary styles support multi-line
%descriptions. If you are using one of the tabular-like glossary
%styles that permit multi-line descriptions, use \ics{newline}
@@ -1667,7 +1674,7 @@
%
%\item[{\gloskey{parent}}] The label of the parent entry. Note that
%the parent entry must be defined before its sub-entries.
-%See \autoref{sec:subentries} for further details.
+%See \sectionref{sec:subentries} for further details.
%
%\item[{\gloskey{descriptionplural}}] The plural form of the
%description (as passed to \ics{glsdisplay} and \ics{glsdisplayfirst}
@@ -1688,7 +1695,7 @@
%If this field is omitted, the value is obtained by appending
%\ics{glspluralsuffix} to the value of the \gloskey{text} field.
%The default value of \cs{glspluralsuffix} is the letter
-%\dq{s}.
+%\qt{s}.
%
%\item[{\gloskey{firstplural}}] How the entry will appear in the
%document text the first time it is used with \ics{glspl}\ifirstusetext\ (or one of its
@@ -1698,7 +1705,7 @@
%\gloskey{first} field, if the \gloskey{first} field is present.
%
%\textbf{Note:} prior to version 1.13, the default value of
-%\gloskey{firstplural} was always taken by appending \dq{s} to the
+%\gloskey{firstplural} was always taken by appending \qt{s} to the
%\gloskey{first} key, which meant that you had to specify both
%\gloskey{plural} and \gloskey{firstplural}, even if you hadn't
%used the \gloskey{first} key.
@@ -1713,8 +1720,8 @@
%by \ics{glspl}, \ics{Glspl} and \ics{GLSpl}). If omitted, the value
%is set to the same as the \gloskey{symbol} key.
%
-%\item[{\gloskey{sort}}] This value indicates how \appname{makeindex}
-%or \appname{xindy} should sort this entry. If omitted, the value is
+%\item[{\gloskey{sort}}] This value indicates how \app{makeindex}
+%or \app{xindy} should sort this entry. If omitted, the value is
%given by the \gloskey{name} field.
%
%\item[{\gloskey{type}}] This specifies the label of the glossary in
@@ -1736,10 +1743,11 @@
%\gloskey{see} key will automatically add this entry to the
%glossary, but will not automatically add the cross-referenced entry.
%The referenced entry should be supplied as the value to this key.
-%If you want to override the \dq{see} tag, you can supply the new
+%If you want to override the \qt{see} tag, you can supply the new
%tag in square brackets before the label. For example
%\verb|see=[see also]{anotherlabel}|. For further details,
-%see \autoref{sec:crossref}.
+%see \sectionref{sec:crossref}.
+%
%\end{description}
%Note that if the name starts with an accented letter or non-Latin
%character, you must group the accented letter, otherwise it will
@@ -1749,15 +1757,15 @@
%\newglossaryentry{elite}{name={{\'e}lite},
%description={select group or class}}
%\end{verbatim}
-%Note that the same applies if you are using the \isty{inputenc}
+%Note that the same applies if you are using the \sty{inputenc}
%package:
%\begin{verbatim}
%\newglossaryentry{elite}{name={{é}lite},
%description={select group or class}}
%\end{verbatim}
%Note that in both of the above examples, you will also need to
-%supply the \gloskey{sort} key if you are using \appname{makeindex}
-%whereas \appname{xindy} is usually able to sort accented letters
+%supply the \gloskey{sort} key if you are using \app{makeindex}
+%whereas \app{xindy} is usually able to sort accented letters
%correctly.
%
%
@@ -1766,16 +1774,18 @@
%You may have noticed from above that you can specify the plural form
%when you define a term. If you omit this, the plural will be
%obtained by appending
-%\DescribeMacro{\glspluralsuffix}\cs{glspluralsuffix} to
-%the singular form. This command defaults to the letter \dq{s}.
+%\begin{definition}[\DescribeMacro{\glspluralsuffix}]
+%\cs{glspluralsuffix}
+%\end{definition}
+%to the singular form. This command defaults to the letter \qt{s}.
%For example:
%\begin{verbatim}
%\newglossaryentry{cow}{name=cow,description={a fully grown
%female of any bovine animal}}
%\end{verbatim}
-%defines a new entry whose singular form is \dq{cow} and plural form
-%is \dq{cows}. However, if you are writing in archaic English, you
-%may want to use \dq{kine} as the plural form, in which case you
+%defines a new entry whose singular form is \qt{cow} and plural form
+%is \qt{cows}. However, if you are writing in archaic English, you
+%may want to use \qt{kine} as the plural form, in which case you
%would have to do:
%\begin{verbatim}
%\newglossaryentry{cow}{name=cow,plural=kine,
@@ -1791,8 +1801,8 @@
%female of any bovine animal (plural cows, archaic plural kine)},
%user1={kine}}
%\end{verbatim}
-%You can then use \verb|\glspl{cow}| to produce \dq{cows} and
-%\verb|\glsuseri{cow}| to produce \dq{kine}. You can, of course,
+%You can then use \verb|\glspl{cow}| to produce \qt{cows} and
+%\verb|\glsuseri{cow}| to produce \qt{kine}. You can, of course,
%define an easy to remember synonym. For example:
%\begin{verbatim}
%\let\glsaltpl\glsuseri
@@ -1821,14 +1831,15 @@
%hierarchical entries and may display all the entries in a flat
%format. Of the styles that support sub-entries, some display the
%sub-entry's name whilst others don't. Therefore you need to
-%ensure that you use a suitable style. See \autoref{sec:styles} for a list of predefined
-%styles.
+%ensure that you use a suitable style. See \sectionref{sec:styles}
+%for a list of predefined styles.
%
%Note that the parent entry will automatically be added to the
%glossary if any of its child entries are used in the document.
%If the parent entry is not referenced in the document, it will not
%have a \term{number list}.
%
+%
%\paragraph{Hierarchical Categories} To arrange a glossary
%with hierarchical categories, you need to first define the
%category and then define the sub-entries using the relevant
@@ -1860,11 +1871,12 @@
%parent=romanletter}
%\end{verbatim}
%
+%
%\paragraph{Homographs} Sub-entries that have the same name as
%the parent entry, don't need to have the \gloskey{name} key.
-%For example, the word \dq{glossary} can mean a list of technical
+%For example, the word \qt{glossary} can mean a list of technical
%words or a collection of glosses. In both cases the plural is
-%\dq{glossaries}. So first define the parent entry:
+%\qt{glossaries}. So first define the parent entry:
%\begin{verbatim}
%\newglossaryentry{glossary}{name=glossary,
%description={\nopostdesc},
@@ -1911,6 +1923,7 @@
%parent=bravo}
%\end{verbatim}
%
+%
%\subsubsection{Loading Entries From a File}
%\label{sec:loadglsentries}
%
@@ -1948,10 +1961,10 @@
%the entry \texttt{perl} will be added to the main glossary, since
%it explicitly sets the type to \texttt{main}.
%
-%\textbf{Note:} if you
-%use \cs{newacronym} (see \autoref{sec:acronyms}) the type is set as \verb|type=\acronymtype|
-%unless you explicitly override it. For example, if my file
-%\texttt{myacronyms.tex} contains:
+%\textbf{Note:} if you use \cs{newacronym} (see
+%\sectionref{sec:acronyms}) the type is set as
+%\verb|type=\acronymtype| unless you explicitly override it. For
+%example, if my file \texttt{myacronyms.tex} contains:
%\begin{verbatim}
%\newacronym{aca}{aca}{a contrived acronym}
%\end{verbatim}
@@ -1963,10 +1976,10 @@
%will add \texttt{aca} to the glossary type \texttt{acronym}, if the
%package option \pkgopt{acronym} has been specified, or will add
%\texttt{aca} to the glossary type \texttt{altacronym}, if the
-%package option \pkgopt{acronym} is not specified.\footnote{This
-%is because \cs{acronymtype} is set to \cs{glsdefaulttype} if
-%the \pkgopt{acronym} package option is not used.} In this instance,
-%it is better to change \texttt{myacronyms.tex} to:
+%package option \pkgopt{acronym} is not specified.\footnote{This is
+%because \cs{acronymtype} is set to \cs{glsdefaulttype} if the
+%\pkgopt{acronym} package option is not used.} In this instance, it
+%is better to change \texttt{myacronyms.tex} to:
%\begin{verbatim}
%\newacronym[type=\glsdefaulttype]{aca}{aca}{a contrived acronym}
%\end{verbatim}
@@ -1982,20 +1995,23 @@
%in the text will appear in the relevant glossaries.
%Note also that \cs{loadglsentries} may only be used in the
%preamble.
+%
%\subsection{Number lists}
%\label{sec:numberlists}
%
%Each entry in the glossary has an associated \termdef{number list}.
%By default,
%these numbers refer to the pages on which that entry has been used
-%(using any of the commands described in \autoref{sec:glslink} and \autoref{sec:glsadd}). The number list can be suppressed using the \pkgopt{nonumberlist} package option, or an alternative counter
+%(using any of the commands described in \sectionref{sec:glslink}
+%and \sectionref{sec:glsadd}). The number list can be suppressed using
+%the \pkgopt{nonumberlist} package option, or an alternative counter
%can be set as the default using the \pkgopt{counter} package option.
%The number list is also referred to as the location
%list\index{location list|see{number list}}.
%
-%Both \appname{makeindex} and \appname{xindy} concatenate a
+%Both \app{makeindex} and \app{xindy} concatenate a
%sequence of 3 or more consecutive pages into a range. With
-%\appname{xindy} you can vary the minimum sequence length using
+%\app{xindy} you can vary the minimum sequence length using
%\ics{GlsSetXdyMinRangeLength}\marg{n} where \meta{n} is either
%an integer or the keyword \texttt{none} which indicates that there
%should be no range formation.
@@ -2005,7 +2021,7 @@
%\ics{makeglossaries} and has no effect if \ics{noist} is used.
%\end{important}
%
-%With both \appname{makeindex} and \appname{xindy}, you can replace
+%With both \app{makeindex} and \app{xindy}, you can replace
%the separator and the closing number in the range using:
%\begin{definition}[\DescribeMacro{\glsSetSuffixF}]
%\cs{glsSetSuffixF}\marg{suffix}
@@ -2020,13 +2036,13 @@
%\glsSetSuffixF{f.}
%\glsSetSuffixFF{ff.}
%\end{verbatim}
-%Note that if you use \appname{xindy}, you will also need to
+%Note that if you use \app{xindy}, you will also need to
%set the minimum range length to 1 if you want to change these
%suffixes:
%\begin{verbatim}
%\GlsSetXdyMinRangeLength{1}
%\end{verbatim}
-%Note that if you use the \isty{hyperref} package, you will need
+%Note that if you use the \sty{hyperref} package, you will need
%to use \ics{nohyperpage} in the suffix to ensure that the hyperlinks
%work correctly. For example:
%\begin{verbatim}
@@ -2044,18 +2060,17 @@
%\subsection{Links to Glossary Entries}
%\label{sec:glslink}
%
-%Once you have defined a glossary entry using
-%\ics{newglossaryentry}, you can refer to that entry in the
-%document using one of the commands listed in this section. The
-%text which appears at that point in the document when using
-%one of these commands is referred to as the
-%\termdef{link text} (even if there are no hyperlinks). The commands
-%in this section also add a line to an external file that is used
-%by \appname{makeindex} or \appname{xindy} to generate the relevant
-%entry in the glossary. This information includes an
-%associated location that is added to the \term{number list} for that
-%entry. By default, the location refers to the page number. For
-%further information on number lists, see \autoref{sec:numberlists}.
+%Once you have defined a glossary entry using \ics{newglossaryentry},
+%you can refer to that entry in the document using one of the
+%commands listed in this section. The text which appears at that
+%point in the document when using one of these commands is referred
+%to as the \termdef{link text} (even if there are no hyperlinks). The
+%commands in this section also add a line to an external file that is
+%used by \app{makeindex} or \app{xindy} to generate the relevant
+%entry in the glossary. This information includes an associated
+%location that is added to the \term{number list} for that entry. By
+%default, the location refers to the page number. For further
+%information on number lists, see \sectionref{sec:numberlists}.
%
%\begin{important}
%It is strongly recommended that you don't use the commands
@@ -2064,18 +2079,17 @@
%\end{important}
%
%The above warning is particularly important if you are using the
-%\sty{glossaries} package in conjunction with the \isty{hyperref} package.
-%Instead, use one of the commands listed in
-%\autoref{sec:glsnolink} (such as \cs{glsentrytext}) or provide an alternative via
-%the optional argument to the sectioning/caption command.
-%Examples:
+%\styfmt{glossaries} package in conjunction with the \sty{hyperref}
+%package. Instead, use one of the commands listed in
+%\sectionref{sec:glsnolink} (such as \cs{glsentrytext}) or provide an
+%alternative via the optional argument to the sectioning/caption
+%command. Examples:
%\begin{verbatim}
%\section{An overview of \glsentrytext{perl}}
%\section[An overview of Perl]{An overview of \gls{perl}}
%\end{verbatim}
%
-%The way the \term{link text} is displayed
-%depends on
+%The way the \term{link text} is displayed depends on
%\begin{definition}[\DescribeMacro{\glstextformat}]
%\cs{glstextformat}\marg{text}
%\end{definition}
@@ -2090,7 +2104,8 @@
%\ics{glspl} (and their uppercase variants) should use the
%value of the \gloskey{first} or \gloskey{text} keys. Note that an
%entry can be used without affecting the \firstuseflag\ (for example,
-%when used with \cs{glslink}). See \autoref{sec:glsunset} for commands that unset or reset this conditional.
+%when used with \cs{glslink}). See \sectionref{sec:glsunset} for
+%commands that unset or reset this conditional.
%
%The command:
%\begin{definition}[\DescribeMacro{\glslink}]
@@ -2108,7 +2123,7 @@
%\begin{description}
%\item[{\gloskey[glslink]{format}}] This specifies how to format the
%associated location number for this entry in the glossary. This
-%value is equivalent to the \appname{makeindex} encap value, and (as
+%value is equivalent to the \app{makeindex} encap value, and (as
%with \cs{index}) the value needs to be the name of a command
%\emph{without} the initial backslash. As with \cs{index}, the
%characters \verb"(" and \verb")" can also be used to specify the
@@ -2130,26 +2145,27 @@
%commands listed in \tableref{tab:hyperxx}.
%
%\begin{important}
-%If you use \appname{xindy} instead of \appname{makeindex}, you
+%If you use \app{xindy} instead of \app{makeindex}, you
%must specify any non-standard formats that you want to use
%with the \gloskey[glslink]{format} key using
%\ics{GlsAddXdyAttribute}\marg{name}. So if you use
-%\appname{xindy} with the above example, you would need to add:
+%\app{xindy} with the above example, you would need to add:
%\begin{verbatim}
%\GlsAddXdyAttribute{textbfem}
%\end{verbatim}
%\end{important}
%
-%Note that unlike \cs{index}, you can't have
-%anything following the command name, such as an asterisk or
-%arguments. If you want to cross-reference another entry, either
-%use the \gloskey{see} key when you define the entry or use
-%\ics{glssee} (described in \autoref{sec:crossref}).
+%Note that unlike \cs{index}, you can't have anything following the
+%command name, such as an asterisk or arguments. If you want to
+%cross-reference another entry, either use the \gloskey{see} key when
+%you define the entry or use \ics{glssee} (described in
+%\sectionref{sec:crossref}).
+%
%
%If you are using hyperlinks and you want to change the font of the
%hyperlinked location, don't use \ics{hyperpage} (provided by the
-%\isty{hyperref} package) as the locations may not refer to a page
-%number. Instead, the \sty{glossaries} package provides number
+%\sty{hyperref} package) as the locations may not refer to a page
+%number. Instead, the \styfmt{glossaries} package provides number
%formats listed in \tableref{tab:hyperxx}.
%
%\begin{table}[htbp]
@@ -2177,14 +2193,15 @@
%analogous \texttt{text}\meta{xx} font commands (and \texttt{hyperemph}
%is equivalent to \texttt{emph}). If you want to
%make a new format, you will need to define a command which takes
-%one argument and use that; for example, if you want the location
+%one argument and use that. For example, if you want the location
%number to be in a bold sans-serif font, you can define a
%command called, say, \cs{hyperbsf}:
%\begin{verbatim}
%\newcommand{\hyperbsf}[1]{\textbf{\hypersf{#1}}}
%\end{verbatim}
%and then use \texttt{hyperbsf} as the value for the \gloskey{format}
-%key. (See also \autoref{sec:code:printglos}.) Remember that if you use \appname{xindy}, you will need to add
+%key. \ifpdf (See also \sectionref{sec:code:printglos}.) \fi
+%Remember that if you use \app{xindy}, you will need to add
%this to the list of location attributes:
%\begin{verbatim}
%\GlsAddXdyAttribute{hyperbsf}
@@ -2192,8 +2209,8 @@
%
%\item[{\gloskey[glslink]{counter}}] This specifies which counter
%to use for this location. This overrides the default counter
-%used by this entry. (See also
-%\autoref{sec:numberlists}.)
+%used by this entry. (See also \sectionref{sec:numberlists}.)
+%
%\item[{\gloskey[glslink]{hyper}}] This is a boolean key which can
%be used to enable/disable the hyperlink to the relevant entry
%in the glossary. (Note that setting \texttt{hyper=true} will have no
@@ -2237,8 +2254,8 @@
%The final optional argument \meta{insert}, allows you to insert
%some additional text into the link text. By default, this will
%append \meta{insert} at the end of the link text, but this
-%can be changed (see
-%\autoref{sec:glsdisplay}).
+%can be changed (see \sectionref{sec:glsdisplay}).
+%
%
%The first optional argument \meta{options} is the same as the optional
%argument to \ics{glslink}. As with \cs{glslink}, these commands also
@@ -2261,7 +2278,7 @@
%
%Note that \cs{glslink} doesn't use or affect the \firstuseflag,
%nor does it use \ics{glsdisplay} or \ics{glsdisplayfirst} (see
-%\autoref{sec:glsdisplay}). Instead, you can use:
+%\sectionref{sec:glsdisplay}). Instead, you can use:
%\begin{definition}[\DescribeMacro{\glsdisp}]
%\cs{glsdisp}\oarg{options}\marg{label}\marg{link text}
%\end{definition}
@@ -2354,12 +2371,13 @@
%\begin{definition}[\DescribeMacro{\glsname}]
%\cs{glsname}\oarg{options}\marg{label}\oarg{insert}
%\end{definition}
-%is similar to \ics{glstext} except that it always uses the value of the
-%\gloskey{name} key. Again, \meta{insert} is always appended to the end
-%of the link text and does not mark the entry as having
-%been used. Note: if you want to use this command and the
-%\gloskey{name} key contains commands, you will have to disable the
-%\hyperlink{sanitize}{sanitization} of the \gloskey{name} key and protect fragile commands.
+%is similar to \ics{glstext} except that it always uses the value of
+%the \gloskey{name} key. Again, \meta{insert} is always appended to
+%the end of the link text and does not mark the entry as having been
+%used. Note: if you want to use this command and the \gloskey{name}
+%key contains commands, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of the \gloskey{name} key and
+%protect fragile commands.
%
%There are also analogous commands:
%\begin{definition}[\DescribeMacro{\Glsname}]
@@ -2375,12 +2393,13 @@
%\begin{definition}[\DescribeMacro{\glssymbol}]
%\cs{glssymbol}\oarg{options}\marg{label}\oarg{insert}
%\end{definition}
-%is similar to \ics{glstext} except that it always uses the value of the
-%\gloskey{symbol} key. Again, \meta{insert} is always appended to the
-%end of the link text and does not mark the entry as having
-%been used. Note: if you want to use this command and the
-%\gloskey{symbol} key contains commands, you will have to disable the
-%\hyperlink{sanitize}{sanitization} of the \gloskey{symbol} key and protect fragile commands.
+%is similar to \ics{glstext} except that it always uses the value of
+%the \gloskey{symbol} key. Again, \meta{insert} is always appended to
+%the end of the link text and does not mark the entry as having been
+%used. Note: if you want to use this command and the \gloskey{symbol}
+%key contains commands, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of the \gloskey{symbol} key and
+%protect fragile commands.
%
%There are also analogous commands:
%\begin{definition}[\DescribeMacro{\Glssymbol}]
@@ -2396,13 +2415,13 @@
%\begin{definition}[\DescribeMacro{\glsdesc}]
%\cs{glsdesc}\oarg{options}\marg{label}\oarg{insert}
%\end{definition}
-%is similar to \ics{glstext} except that it always uses the value
-%of the \gloskey{description} key. Again, \meta{insert} is always
-%appended to the end of the link text and does not mark the entry as
-%having been used. Note: if you want to use this
-%command and the \gloskey{description} key contains commands, you will
-%have to disable the
-%\hyperlink{sanitize}{sanitization} of the \gloskey{description} key and protect fragile commands.
+%is similar to \ics{glstext} except that it always uses the value of
+%the \gloskey{description} key. Again, \meta{insert} is always
+%appended to the end of the link text and does not mark the entry as
+%having been used. Note: if you want to use this command and the
+%\gloskey{description} key contains commands, you will have to
+%disable the \hyperlink{sanitize}{sanitization} of the
+%\gloskey{description} key and protect fragile commands.
%
%There are also analogous commands:
%\begin{definition}[\DescribeMacro{\Glsdesc}]
@@ -2479,18 +2498,19 @@
%\end{definition}
%
%
+%
%\subsubsection{Changing the format of the link text}
%\label{sec:glsdisplay}
%
%The format of the \term{link text} for \ics{gls}, \ics{glspl}
%and their uppercase variants is governed by two commands:
%\begin{definition}[\DescribeMacro{\glsdisplayfirst}]
-%\cs{glsdisplayfirst}
+%\cs{glsdisplayfirst}\marg{first/first plural}\marg{description}\marg{symbol}\marg{insert}
%\end{definition}
%which is used the
%first time a glossary entry is used\ifirstuse\ in the text and
%\begin{definition}[\DescribeMacro{\glsdisplay}]
-%\cs{glsdisplay}
+%\cs{glsdisplay}\marg{text/plural}\marg{description}\marg{symbol}\marg{insert}
%\end{definition}
%which is used subsequently.
%Both commands take four arguments: the first is either the singular or
@@ -2508,11 +2528,13 @@
%The remaining arguments are ignored.
%
%If required, you can access the label for the given entry via
-%\DescribeMacro{\glslabel}\ics{glslabel}, so it is possible to use
-%this label in the definition of \cs{glsdisplay} or
-%\cs{glsdisplayfirst} to supply additional information using any of
-%the commands described in
-%\autoref{sec:glsnolink}, if required.
+%\begin{definition}[\DescribeMacro{\glslabel}]
+%\cs{glslabel}
+%\end{definition}
+%so it is possible to use this label in the definition of
+%\cs{glsdisplay} or \cs{glsdisplayfirst} to supply additional
+%information using any of the commands described in
+%\sectionref{sec:glsnolink}, if required.
%
%Note that \cs{glsdisplay} and \cs{glsdisplayfirst} are not used
%by \ics{glslink}. If you want to supply your own link text, you
@@ -2526,15 +2548,15 @@
%symbol={km}}
%\end{verbatim}
%and now suppose you want \verb|\gls{distance}| to produce
-%\dq{distance (km)} on \firstuse, then you can redefine
+%\qt{distance (km)} on \firstuse, then you can redefine
%\cs{glsdisplayfirst} as follows:
%\begin{verbatim}
%\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
%\end{verbatim}
%Note that the additional text is placed after \verb|#1|, so
-%\verb|\gls{distance}['s]| will produce \dq{distance's (km)}
-%rather than \dq{distance (km)'s} which looks a bit odd (even though
-%it may be in the context of \dq{the distance (km) is measured between
+%\verb|\gls{distance}['s]| will produce \qt{distance's (km)}
+%rather than \qt{distance (km)'s} which looks a bit odd (even though
+%it may be in the context of \qt{the distance (km) is measured between
%the two points} --- but in this instance it would be better not to
%use a contraction).
%
@@ -2544,7 +2566,7 @@
%\renewcommand{\glstextformat}[1]{\textbf{#1}}
%\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
%\end{verbatim}
-%then \verb|\gls{distance}| will produce \dq{\textbf{distance (km)}}.
+%then \verb|\gls{distance}| will produce \qt{\textbf{distance (km)}}.
%
%If you have multiple glossaries, changing \cs{glsdisplayfirst} and
%\cs{glsdisplay} will change the way entries for all of the
@@ -2572,31 +2594,32 @@
%
%For example, suppose you have created a new glossary called
%\texttt{notation} and you want to change the way the entry is
-%displayed on \firstuse\ so that it includes the symbol, you can
-%do:
+%displayed on \firstuse\ so that it includes the symbol, you can do:
%\begin{verbatim}
%\defglsdisplayfirst[notation]{#1#4 (denoted #3)}
%\end{verbatim}
%Now suppose you have defined an entry as follows:
%\begin{verbatim}
%\newglossaryentry{set}{type=notation,
-%name=set,
-%description={A collection of objects},
-%symbol={$S$}
+% name=set,
+% description={A collection of objects},
+% symbol={$S$}
%}
%\end{verbatim}
-%The first time you reference this entry using \cs{gls} it
-%will be displayed as: \dq{set (denoted $S$)} (similarly for \cs{glspl} and the uppercase variants).
+%The first time you reference this entry it will be displayed as:
+%\qt{set (denoted $S$)} (assuming \ics{gls} was used).
%
%Remember that if you use the \gloskey{symbol} key, you need to use a
-%glossary style that displays the symbol, as many of the styles ignore
-%it. In addition, if you want either the description or symbol to appear
-%in the \term{link text}, you will have to disable the
-%\hyperlink{sanitize}{sanitization} of these keys and protect fragile commands.
+%glossary style that displays the symbol, as many of the styles
+%ignore it. In addition, if you want either the description or symbol
+%to appear in the \term{link text}, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of these keys and protect fragile
+%commands.
+%
%\subsubsection{Enabling and disabling hyperlinks to glossary entries}
%
-%If you load the \isty{hyperref} or \isty{html} packages prior to
-%loading the \sty{glossaries} package, commands such as \ics{glslink}
+%If you load the \sty{hyperref} or \sty{html} packages prior to
+%loading the \styfmt{glossaries} package, commands such as \ics{glslink}
%and \ics{gls}, described above, will automatically have hyperlinks
%to the relevant glossary entry, unless the \gloskey[glslink]{hyper}
%option has been set to \texttt{false}. You can disable or enable links using:
@@ -2610,13 +2633,14 @@
%respectively. The effect can be localised by placing the commands
%within a group. Note that you should only use \cs{glsenablehyper}
%if the commands \ics{hyperlink} and \ics{hypertarget} have been
-%defined (for example, by the \isty{hyperref} package).
+%defined (for example, by the \sty{hyperref} package).
%
%You can disable just the first use links using the package
%option \pkgopt[false]{hyperfirst}. Note that this option only
%affects commands that recognise the \firstuse\ flag, for example
%\ics{gls}, \ics{glspl} and \ics{glsdisp} but not \ics{glslink}.
%
+%
%\subsection{Adding an Entry to the Glossary Without Generating Text}
%\label{sec:glsadd}
%
@@ -2653,6 +2677,7 @@
%\glsaddall[types={\acronymtype,notation}]
%\end{verbatim}
%
+%
%\subsection{Cross-Referencing Entries}
%\label{sec:crossref}
%
@@ -2668,31 +2693,28 @@
%\end{verbatim}
%Note that with this method, if you don't use the
%cross-referenced term in the glossary, you will need two runs of
-%\appname{makeglossaries}:
-%\begin{verbatim}
+%\app{makeglossaries}:
+%\begin{prompt}
%latex filename
%makeglossaries filename
%latex filename
%makeglossaries filename
%latex filename
-%\end{verbatim}
+%\end{prompt}
%
-%\item As described in \autoref{sec:newglosentry},
-%you can use the \gloskey{see} key when you define the entry. For
-%example:
+%\item As described in \sectionref{sec:newglosentry}, you can use the
+%\gloskey{see} key when you define the entry. For example:
%\begin{verbatim}
%\newglossaryentry{MaclaurinSeries}{name={Maclaurin series},
-%description={Series expansion},
-%see={TaylorsTheorem}}
+%description={Series expansion}, see={TaylorsTheorem}}
%\end{verbatim}
%Note that in this case, the entry with the \gloskey{see} key will
%automatically be added to the glossary, but the cross-referenced
%entry won't. You therefore need to ensure that you use the
-%cross-referenced term with the commands described in
-%\autoref{sec:glslink} or \autoref{sec:glsadd}.
+%cross-referenced term with the commands described in
+%\sectionref{sec:glslink} or \sectionref{sec:glsadd}.
%
-%
-%You can optionally override the \dq{see} tag using square brackets
+%You can optionally override the \qt{see} tag using square brackets
%at the start of the \gloskey{see} value. For example:
%\begin{verbatim}
%\newglossaryentry{MaclaurinSeries}{name={Maclaurin series},
@@ -2706,7 +2728,7 @@
%\end{definition}
%where \meta{xr label list} is a comma-separated list of entry
%labels to be cross-referenced, \meta{label} is the label of the
-%entry doing the cross-referencing and \meta{tag} is the \dq{see} tag.
+%entry doing the cross-referencing and \meta{tag} is the \qt{see} tag.
%For example:
%\begin{verbatim}
%\glssee[see also]{series}{FourierSeries,TaylorsTheorem}
@@ -2719,16 +2741,17 @@
%In both cases~2 and 3 above, the cross-referenced information appears
%in the \term{number list}, whereas in case~1, the cross-referenced
%information appears in the description. In cases~2 and~3, the
-%default text for the \dq{see} tag is given by \ics{seename}.
+%default text for the \qt{see} tag is given by \ics{seename}.
+%
%
%\subsection{Using Glossary Terms Without Links}
%\label{sec:glsnolink}
%
%The commands described in this section display entry details without
-%adding any information to the glossary. They don't use
-%\cs{glstextformat}, they don't have any optional arguments,
-%they don't affect the \firstuseflag\ and, apart from \ics{glshyperlink}, they don't produce
-%hyperlinks.
+%adding any information to the glossary. They don't use
+%\cs{glstextformat}, they don't have any optional arguments, they
+%don't affect the \firstuseflag\ and, apart from \ics{glshyperlink},
+%they don't produce hyperlinks.
%\begin{definition}[\DescribeMacro{\glsentryname}]
%\cs{glsentryname}\marg{label}
%\end{definition}
@@ -2736,7 +2759,7 @@
%\cs{Glsentryname}\marg{label}
%\end{definition}
%These commands display the name of the glossary entry given by
-%\meta{label}, as specified by the \gloskey{name} key.
+%\meta{label}, as specified by the \gloskey{name} key.
%\cs{Glsentryname} makes the first letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentrytext}]
%\cs{glsentrytext}\marg{label}
@@ -2744,8 +2767,8 @@
%\begin{definition}[\DescribeMacro{\Glsentrytext}]
%\cs{Glsentrytext}\marg{label}
%\end{definition}
-%These commands display the subsequent use text for the glossary entry
-%given by \meta{label}, as specified by the \gloskey{text} key.
+%These commands display the subsequent use text for the glossary
+%entry given by \meta{label}, as specified by the \gloskey{text} key.
%\cs{Glsentrytext} makes the first letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentryplural}]
%\cs{glsentryplural}\marg{label}
@@ -2753,17 +2776,18 @@
%\begin{definition}[\DescribeMacro{\Glsentryplural}]
%\cs{Glsentryplural}\marg{label}
%\end{definition}
-%These commands display the subsequent use plural text for the glossary
-%entry given by \meta{label}, as specified by the \gloskey{plural} key.
-%\cs{Glsentryplural} makes the first letter uppercase.
+%These commands display the subsequent use plural text for the
+%glossary entry given by \meta{label}, as specified by the
+%\gloskey{plural} key. \cs{Glsentryplural} makes the first letter
+%uppercase.
%\begin{definition}[\DescribeMacro{\glsentryfirst}]
%\cs{glsentryfirst}\marg{label}
%\end{definition}
%\begin{definition}[\DescribeMacro{\Glsentryfirst}]
%\cs{Glsentryfirst}\marg{label}
%\end{definition}
-%These commands display the \firstusetext\ for the glossary entry
-%given by \meta{label}, as specified by the \gloskey{first} key.
+%These commands display the \firstusetext\ for the glossary entry
+%given by \meta{label}, as specified by the \gloskey{first} key.
%\cs{Glsentryfirst} makes the first letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentryfirstplural}]
%\cs{glsentryfirstplural}\marg{label}
@@ -2771,9 +2795,9 @@
%\begin{definition}[\DescribeMacro{\Glsentryfirstplural}]
%\cs{Glsentryfirstplural}\marg{label}
%\end{definition}
-%These commands display the plural form of the \firstusetext\ for the
-%glossary entry given by \meta{label}, as specified by the
-%\gloskey{firstplural} key. \cs{Glsentryfirstplural} makes the first
+%These commands display the plural form of the \firstusetext\ for the
+%glossary entry given by \meta{label}, as specified by the
+%\gloskey{firstplural} key. \cs{Glsentryfirstplural} makes the first
%letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentrydesc}]
%\cs{glsentrydesc}\marg{label}
@@ -2781,17 +2805,17 @@
%\begin{definition}[\DescribeMacro{\Glsentrydesc}]
%\cs{Glsentrydesc}\marg{label}
%\end{definition}
-%These commands display the description for the glossary entry given by
-%\meta{label}. \cs{Glsentrydesc} makes the first letter uppercase.
+%These commands display the description for the glossary entry given
+%by \meta{label}. \cs{Glsentrydesc} makes the first letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentrydescplural}]
%\cs{glsentrydescplural}\marg{label}
%\end{definition}
%\begin{definition}[\DescribeMacro{\Glsentrydescplural}]
%\cs{Glsentrydescplural}\marg{label}
%\end{definition}
-%These commands display the plural description for the glossary entry
-%given by \meta{label}. \cs{Glsentrydescplural} makes the first letter
-%uppercase.
+%These commands display the plural description for the glossary entry
+%given by \meta{label}. \cs{Glsentrydescplural} makes the first
+%letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentrysymbol}]
%\cs{glsentrysymbol}\marg{label}
%\end{definition}
@@ -2806,8 +2830,9 @@
%\begin{definition}[\DescribeMacro{\Glsentrysymbolplural}]
%\cs{Glsentrysymbolplural}\marg{label}
%\end{definition}
-%These commands display the plural symbol for the glossary entry given by
-%\meta{label}. \cs{Glsentrysymbolplural} makes the first letter uppercase.
+%These commands display the plural symbol for the glossary entry
+%given by \meta{label}. \cs{Glsentrysymbolplural} makes the first
+%letter uppercase.
%\begin{definition}[\DescribeMacro{\glsentryuseri}]
%\cs{glsentryuseri}\marg{label}
%\end{definition}
@@ -2844,8 +2869,8 @@
%\begin{definition}[\DescribeMacro{\Glsentryuservi}]
%\cs{Glsentryuservi}\marg{label}
%\end{definition}
-%These commands display the value of the user keys for the glossary entry given by
-%\meta{label}.
+%These commands display the value of the user keys for the glossary
+%entry given by \meta{label}.
%\begin{definition}[\DescribeMacro{\glshyperlink}]
%\cs{glshyperlink}\oarg{link text}\marg{label}
%\end{definition}
@@ -2856,28 +2881,33 @@
%using the optional argument.
%\begin{important}
%If you use \cs{glshyperlink}, you need to ensure that the relevant
-%entry has been added to the glossary using any of the
-%commands described in \autoref{sec:glslink} or \autoref{sec:glsadd} otherwise you will end up with a broken
-%link.
+%entry has been added to the glossary using any of the commands
+%described in \sectionref{sec:glslink} or \sectionref{sec:glsadd}
+%otherwise you will end up with a broken link.
%\end{important}
%
-%For further information see \autoref{sec:code:glsnolink}.
+%For further information see \ifpdf
+%\sectionref{sec:code:glsnolink}\else the section \qt{Displaying
+%entry details without adding information to the glossary} in the
+%document \url{glossaries.pdf}\fi.
+%
%
%\subsection{Displaying a glossary}
%\label{sec:printglossary}
%
-%\DescribeMacro{\printglossaries}
-%The command \cs{printglossaries} will display all the
-%glossaries in the order in which they were defined.
-%Note that no glossaries will appear until
-%you have either used the Perl script \appname{makeglossaries}
-%or have directly used \appname{makeindex} or \appname{xindy} (as
-%described in
-%\autoref{sec:makeglossaries}). If the glossary
+%The command
+%\begin{definition}[\DescribeMacro{\printglossaries}]
+%\cs{printglossaries}
+%\end{definition}
+%will display all the glossaries in the order in which they were
+%defined. Note that no glossaries will appear until you have either
+%used the Perl script \app{makeglossaries} or have directly used
+%\app{makeindex} or \app{xindy} (as described in
+%\sectionref{sec:makeglossaries}). If the glossary
%still does not appear after you re-\LaTeX\ your document, check the
-%\appname{makeindex}/\appname{xindy} log files to see if there is a
-%problem. Remember that you also need to use the command
-%\ics{makeglossaries} in the preamble to enable the glossaries.
+%\app{makeindex}/\app{xindy} log files to see if there is a problem.
+%Remember that you also need to use the command \ics{makeglossaries}
+%in the preamble to enable the glossaries.
%
%An individual glossary can be displayed using:
%\begin{definition}[\DescribeMacro{\printglossary}]
@@ -2910,7 +2940,8 @@
%whether to use a numbered section for this glossary, overriding
%the effect of the \pkgopt{numberedsection} package option. This
%key has the same syntax as the \pkgopt{numberedsection} package
-%option, described in \autoref{sec:pkgopts}.
+%option, described in \sectionref{sec:pkgopts}.
+%
%\item[{\gloskey[printglossary]{nonumberlist}}] Unlike the package option
%of the same name, this key is a boolean key. If true (\verb|nonumberlist=true|) the numberlist
%is suppressed for this glossary. If false (\verb|nonumberlist=false|) the numberlist is
@@ -2919,10 +2950,23 @@
%
%\end{description}
%
-%\DescribeMacro{\glossarypreamble}
+%By default, the glossary is started either by \cs{chapter*} or by
+%\cs{section*}, depending on whether or not \cs{chapter} is defined.
+%This can be overridden by the \pkgopt{section} package option or the
+%\cs{setglossarysection} command. Numbered sectional units can be
+%obtained using the \pkgopt{numberedsection} package option. Each
+%glossary sets the page header via the command \ics{glossarymark}. If
+%this mechanism is unsuitable for your chosen class file or page
+%style package, you will need to redefine \ics{glossarymark}. Further
+%information about these options and commands is given in
+%\sectionref{sec:pkgopts}.
+%
%Information can be added to the start of the glossary (after the
%title and before the main body of the glossary) by redefining
-%\cs{glossarypreamble}. For example:
+%\begin{definition}[\DescribeMacro{\glossarypreamble}]
+%\cs{glossarypreamble}
+%\end{definition}
+%For example:
%\begin{verbatim}
%\renewcommand{\glossarypreamble}{Numbers in italic indicate
%primary definitions.}
@@ -2951,24 +2995,30 @@
%(Note that \cs{gdef} is required as the glossary is placed within
%a group.)
%
-%\DescribeMacro{\glossarypostamble}There is an analogous command
-%called \cs{glossarypostamble} which is placed at the end of each
-%glossary.
+%There is an analogous command called
+%\begin{definition}[\DescribeMacro{\glossarypostamble}]
+%\cs{glossarypostamble}
+%\end{definition}
+%which is placed at the end of each glossary.
+%
%\subsubsection{Changing the way the entry name appears in the glossary}
%\label{sec:glsnamefont}
%
-%\DescribeMacro{\glsnamefont}Within each glossary, each entry name is
-%formatted according to \cs{glsnamefont} which takes one argument:
-%the entry name. This command is always used regardless of the
-%glossary style. By default, \cs{glsnamefont} simply displays its
-%argument in whatever the surrounding font happens to be. This means
-%that in the list-like glossary styles (defined in the
-%\isty{glossary-list} style file) the name will appear in bold, since
-%the name is placed in the optional argument of \cs{item}, whereas in
-%the tabular styles (defined in the \isty{glossary-long} and
-%\isty{glossary-super} style files) the name will appear in the
-%normal font. The hierarchical glossary styles (defined in the
-%\isty{glossary-tree} style file) also set the name in bold.
+%Within each glossary, each entry name is formatted according to
+%\begin{definition}[\DescribeMacro{\glsnamefont}]
+%\cs{glsnamefont}\marg{name}
+%\end{definition}
+%which takes one argument: the entry name. This command is always
+%used regardless of the glossary style. By default, \cs{glsnamefont}
+%simply displays its argument in whatever the surrounding font
+%happens to be. This means that in the list-like glossary styles
+%(defined in the \sty{glossary-list} style file) the name will appear
+%in bold, since the name is placed in the optional argument of
+%\cs{item}, whereas in the tabular styles (defined in the
+%\sty{glossary-long} and \sty{glossary-super} style files) the name
+%will appear in the normal font. The hierarchical glossary styles
+%(defined in the \sty{glossary-tree} style file) also set the name in
+%bold.
%
%For example, suppose you want all the entry names to appear in
%medium weight small caps, then you can do:
@@ -2976,24 +3026,25 @@
%\renewcommand{\glsnamefont}[1]{\textsc{\mdseries #1}}
%\end{verbatim}
%
+%
%\subsubsection{Xindy}
%\label{sec:xindy}
%
-%If you want to use \appname{xindy} to sort the glossary, you
+%If you want to use \app{xindy} to sort the glossary, you
%must use the package option \pkgopt{xindy}:
%\begin{verbatim}
%\usepackage[xindy]{glossaries}
%\end{verbatim}
%This ensures that the glossary information is written in
-%\appname{xindy} syntax.
+%\app{xindy} syntax.
%
-%Section~\ref{sec:makeglossaries} covers how to use the external
+%\sectionref{sec:makeglossaries} covers how to use the external
%indexing application. This section covers the commands provided
-%by the \sty{glossaries} package that allow you to adjust the
-%\appname{xindy} style file (\filetype{.xdy}) and parameters.
+%by the \styfmt{glossaries} package that allow you to adjust the
+%\app{xindy} style file (\filetype{.xdy}) and parameters.
%
-%To assist writing information to the \appname{xindy} style
-%file, the \sty{glossaries} package provides the following
+%To assist writing information to the \app{xindy} style
+%file, the \styfmt{glossaries} package provides the following
%commands:
%\begin{definition}[\DescribeMacro{\glsopenbrace}]
%\cs{glsopenbrace}
@@ -3006,7 +3057,7 @@
%when written to a file.)
%
%In addition, if you are using a package that makes the double
-%quote character active (e.g. \isty{ngerman}) you can use:
+%quote character active (e.g. \sty{ngerman}) you can use:
%\begin{definition}[\DescribeMacro{\glsquote}]
%\cs{glsquote}\marg{text}
%\end{definition}
@@ -3015,23 +3066,23 @@
%This document assumes that the double quote character has not been
%made active, so the examples just use \verb|"| for clarity.
%
-%If you want greater control over the \appname{xindy} style file than
-%is available through the \LaTeX\ commands provided by the
-%\sty{glossaries} package, you will need to edit the \appname{xindy}
-%style file. In
-%which case, you must use \ics{noist} to prevent the style file from
-%being overwritten by the \sty{glossaries} package. For additional
-%information about \appname{xindy}, read the \appname{xindy}
-%documentation.
+%If you want greater control over the \app{xindy} style file than is
+%available through the \LaTeX\ commands provided by the
+%\styfmt{glossaries} package, you will need to edit the \app{xindy}
+%style file. In which case, you must use \ics{noist} to prevent the
+%style file from being overwritten by the \styfmt{glossaries}
+%package. For additional information about \app{xindy}, read the
+%\app{xindy} documentation.
+%
%\paragraph{Language and Encodings}
-%When you use \appname{xindy}, you need to specify the language
+%When you use \app{xindy}, you need to specify the language
%and encoding used (unless you have written your own custom
-%\appname{xindy} style file that defines the relevant alphabet
-%and sort rules). If you use \appname{makeglossaries},
+%\app{xindy} style file that defines the relevant alphabet
+%and sort rules). If you use \app{makeglossaries},
%this information is obtained from the document's auxiliary
-%(\filetype{.aux}) file. The \sty{glossaries} package attempts to
+%(\filetype{.aux}) file. The \styfmt{glossaries} package attempts to
%find the root language, but in the event that it gets it wrong or if
-%\appname{xindy} doesn't support that language, then you can
+%\app{xindy} doesn't support that language, then you can
%specify the language using:
%\begin{definition}[\DescribeMacro{\GlsSetXdyLanguage}]
%\cs{GlsSetXdyLanguage}\oarg{glossary type}\marg{language}
@@ -3043,7 +3094,7 @@
%setting will only be applied to the glossary given by
%\meta{glossary type}.
%
-%If the \isty{inputenc} package is used, the encoding will be
+%If the \sty{inputenc} package is used, the encoding will be
%obtained from the value of \ics{inputencodingname}.
%Alternatively, you can specify the encoding using:
%\begin{definition}[\DescribeMacro{\GlsSetXdyCodePage}]
@@ -3062,7 +3113,7 @@
%\usepackage[xindy={language=english,codepage=utf8}]{glossaries}
%\end{verbatim}
%
-%If you write your own custom \appname{xindy} style file that
+%If you write your own custom \app{xindy} style file that
%includes the language settings, you need to set the language
%to nothing:
%\begin{verbatim}
@@ -3073,17 +3124,18 @@
%
%\begin{important}
%The commands \cs{GlsSetXdyLanguage} and \cs{GlsSetXdyCodePage}
-%have no effect if you don't use \appname{makeglossaries}. If
-%you call \appname{xindy} without \appname{makeglossaries} you
+%have no effect if you don't use \app{makeglossaries}. If
+%you call \app{xindy} without \app{makeglossaries} you
%need to remember to set the language and encoding using the
%\texttt{-L} and \texttt{-C} switches.
%\end{important}
%
+%
%\paragraph{Locations and Number lists}
%
%The most likely attributes used in the \gloskey[glslink]{format}
%key (\locfmt{textrm}, \locfmt{hyperrm} etc) are automatically added
-%to the \appname{xindy} style file, but if you want to use another
+%to the \app{xindy} style file, but if you want to use another
%attribute, you need to add it using:
%\begin{definition}[\DescribeMacro{\GlsAddXdyAttribute}]
%\cs{GlsAddXdyAttribute}\marg{name}
@@ -3095,7 +3147,7 @@
%\begin{verbatim}
%\newcommand*{\hyperbfit}[1]{\textit{\hyperbf{#1}}}
%\end{verbatim}
-%but with \appname{xindy}, I also need to add this as an allowed
+%but with \app{xindy}, I also need to add this as an allowed
%attribute:
%\begin{verbatim}
%\GlsAddXdyAttribute{hyperbfit}
@@ -3113,7 +3165,7 @@
%you need to add a location style in the appropriate format.
%
%For example, suppose you want the page numbers written as words
-%rather than digits and you use the \isty{fmtcount} package to
+%rather than digits and you use the \sty{fmtcount} package to
%do this. You can redefine \ics{thepage} as follows:
%\begin{verbatim}
%\renewcommand*{\thepage}{\Numberstring{page}}
@@ -3128,7 +3180,7 @@
%\end{verbatim}
%Note that it's necessary to use \cs{space} to indicate that
%spaces also appear in the format, since, unlike \TeX,
-%\appname{xindy} doesn't ignore spaces after control sequences.
+%\app{xindy} doesn't ignore spaces after control sequences.
%
%\begin{important}
%Note that \cs{GlsAddXdyLocation} has no effect if \ics{noist} is
@@ -3137,31 +3189,26 @@
%\cs{GlsAddXdyLocation} must be used before \ics{makeglossaries}.
%\end{important}
%
-%In the \term{number list}, the locations are sorted according to
-%type. The default ordering is:
-%\texttt{roman-page-numbers} (e.g.\ i),
-%\texttt{arabic-page-numbers} (e.g.\ 1),
-%\texttt{arabic-section-numbers} (e.g.\ 1.1 if the compositor
-%is a full stop or 1-1 if the compositor is a hyphen\footnote{see
-%\ics{setCompositor} described in
-%\autoref{sec:newglosentry}}),
-%\texttt{alpha-page-numbers} (e.g.\ a),
-%\texttt{Roman-page-numbers} (e.g.\ I),
-%\texttt{Alpha-page-numbers} (e.g.\ A),
-%\texttt{Appendix-page-numbers} (e.g.\ A.1 if the Alpha compositor
-%is a full stop or A-1 if the Alpha compositor is a
-%hyphen\footnote{see \ics{setAlphaCompositor} described in
-%\autoref{sec:newglosentry}}),
-%user defined location names (as specified by
-%\ics{GlsAddXdyLocation} in the order in which they were defined),
-%\texttt{see} (cross-referenced entries).
-%This ordering can be changed using:
+%In the \term{number list}, the locations are sorted according to
+%type. The default ordering is: \texttt{roman-page-numbers} (e.g.\
+%i), \texttt{arabic-page-numbers} (e.g.\ 1),
+%\texttt{arabic-section-numbers} (e.g.\ 1.1 if the compositor is a
+%full stop or 1-1 if the compositor is a hyphen\footnote{see
+%\ics{setCompositor} described in \sectionref{sec:newglosentry}}),
+%\texttt{alpha-page-numbers} (e.g.\ a), \texttt{Roman-page-numbers}
+%(e.g.\ I), \texttt{Alpha-page-numbers} (e.g.\ A),
+%\texttt{Appendix-page-numbers} (e.g.\ A.1 if the Alpha compositor is
+%a full stop or A-1 if the Alpha compositor is a hyphen\footnote{see
+%\ics{setAlphaCompositor} described in
+%\sectionref{sec:newglosentry}}), user defined location names (as
+%specified by \ics{GlsAddXdyLocation} in the order in which they were
+%defined), \texttt{see} (cross-referenced entries). This ordering can
+%be changed using:
%\begin{definition}[\DescribeMacro{\GlsSetXdyLocationClassOrder}]
%\cs{GlsSetXdyLocationClassOrder}\marg{location names}
%\end{definition}
%where each location name is delimited by double quote marks and
-%separated by white space.
-%For example:
+%separated by white space. For example:
%\begin{verbatim}
%\GlsSetXdyLocationClassOrder{
% "arabic-page-numbers"
@@ -3195,7 +3242,7 @@
%\GlsSetXdyMinRangeLength{3}
%\end{verbatim}
%The argument may also be the keyword \texttt{none}, to indicate that
-%there should be no range formations. See the \appname{xindy}
+%there should be no range formations. See the \app{xindy}
%manual for further details on range formations.
%
%\begin{important}
@@ -3206,11 +3253,12 @@
%\ics{makeglossaries}.
%\end{important}
%
-%See \autoref{sec:numberlists} for further details.
+%See \sectionref{sec:numberlists} for further details.
+%
%
%\paragraph{Glossary Groups}
%The glossary is divided into groups according to the first
-%letter of the sort key. The \sty{glossaries} package also adds
+%letter of the sort key. The \styfmt{glossaries} package also adds
%a number group by default, unless you suppress it in the
%\pkgopt{xindy} package option. For example:
%\begin{verbatim}
@@ -3220,7 +3268,7 @@
%number group is placed in the default group.
%
%If you have a number group, the default behaviour is to locate
-%it before the \dq{A} letter group. If you are not using a
+%it before the \qt{A} letter group. If you are not using a
%Roman alphabet, you can change this using\\[10pt]
%\cs{GlsSetXdyFirstLetterAfterDigits}\marg{letter}
%
@@ -3232,6 +3280,7 @@
%\ics{makeglossaries}.
%\end{important}
%
+%
%\subsection{Defining New Glossaries}
%\label{sec:newglossary}
%
@@ -3239,15 +3288,16 @@
%\begin{definition}[\DescribeMacro{\newglossary}]
%\cs{newglossary}\oarg{log-ext}\marg{name}\marg{in-ext}\marg{out-ext}\marg{title}\oarg{counter}
%\end{definition}
-%where \meta{name} is the label to assign to this glossary. The arguments
-%\meta{in-ext} and \meta{out-ext} specify the extensions to give to the
-%input and output files for that glossary, \meta{title} is the default
-%title for this new glossary and the final optional argument
-%\meta{counter} specifies which counter to use for the associated number
-%lists\iterm{number list} (see also \autoref{sec:numberlists}). The first optional argument specifies the extension for the
-%\appname{makeindex} or \appname{xindy} transcript file (this
-%information is only used by \appname{makeglossaries} which picks up
-%the information from the auxiliary file).
+%where \meta{name} is the label to assign to this glossary. The
+%arguments \meta{in-ext} and \meta{out-ext} specify the extensions to
+%give to the input and output files for that glossary, \meta{title}
+%is the default title for this new glossary and the final optional
+%argument \meta{counter} specifies which counter to use for the
+%associated number lists\iterm{number list} (see also
+%\sectionref{sec:numberlists}). The first optional argument specifies
+%the extension for the \app{makeindex} or \app{xindy} transcript file
+%(this information is only used by \app{makeglossaries} which picks
+%up the information from the auxiliary file).
%
%Note that the main (default) glossary is automatically created as:
%\begin{verbatim}
@@ -3274,35 +3324,36 @@
%ensure that the relevant output files are opened.
%\end{important}
%
+%
%\subsection{Acronyms}
%\label{sec:acronyms}
%
-%You may have noticed in \autoref{sec:newglosentry} that when you specify a new entry, you can specify alternate text to use when
-%the term is first used\ifirstuse\ in the document. This provides a useful
-%means to define acronyms. For convenience, the \sty{glossaries} package
-%defines the command:
+%You may have noticed in \sectionref{sec:newglosentry} that when you
+%specify a new entry, you can specify alternate text to use when the
+%term is first used\ifirstuse\ in the document. This provides a
+%useful means to define acronyms. For convenience, the
+%\styfmt{glossaries} package defines the command:
%\begin{definition}[\DescribeMacro{\newacronym}]
-%\cs{newacronym}\oarg{key-val list}\marg{label}\marg{abbrv}\marg{long}
+%\cs{newacronym}\oarg{key-val
+%list}\marg{label}\marg{abbrv}\marg{long}
%\end{definition}
-%By default, this is equivalent to:\vskip5pt
-%\begin{ttfamily}\par\noindent
-%\cs{newglossaryentry}\textrm{\marg{label}}\{type=\ics{acronymtype},\\
-%name=\textrm{\marg{abbrv}},\\
-%description=\textrm{\marg{long}},\\
-%text=\textrm{\marg{abbrv}},\\
-%first=\{\textrm{\meta{long}} (\textrm{\meta{abbrv}})\},\\
-%plural=\{\textrm{\meta{abbrv}}\cs{glspluralsuffix}\},\\
-%firstplural=\{\textrm{\meta{long}}\cs{glspluralsuffix}\cs{space}
-%(\textrm{\meta{abbrv}}\cs{glspluralsuffix})\},\\
-%\textrm{\meta{key-val list}}\}\par
-%\end{ttfamily}
-%\vskip5pt
-%As mentioned in the previous section, the command \ics{acronymtype}
-%is the name of the glossary in which the acronyms should appear. If
-%the \pkgopt{acronym} package option has been used, this will be
-%\texttt{acronym}, otherwise it will be \texttt{main}. The acronyms
-%can then be used in exactly the same way as any other glossary
-%entry. If you want more than one list of acronyms, you must
+%By default, this is equivalent to:
+%\begin{display}\ttfamily
+%\cs{newglossaryentry}\textrm{\marg{label}}\{type=\ics{acronymtype},
+%name=\textrm{\marg{abbrv}},
+%description=\textrm{\marg{long}},
+%text=\textrm{\marg{abbrv}},
+%first=\{\textrm{\meta{long}} (\textrm{\meta{abbrv}})\},
+%plural=\{\textrm{\meta{abbrv}}\cs{glspluralsuffix}\},
+%firstplural=\{\textrm{\meta{long}}\cs{glspluralsuffix}\cs{space} (\textrm{\meta{abbrv}}\cs{glspluralsuffix})\},
+%\textrm{\meta{key-val list}}\}
+%\end{display}
+%As mentioned in the previous section, the command
+%\ics{acronymtype} is the name of the glossary in which the acronyms
+%should appear. If the \pkgopt{acronym} package option has been used,
+%this will be \texttt{acronym}, otherwise it will be \texttt{main}.
+%The acronyms can then be used in exactly the same way as any other
+%glossary entry. If you want more than one list of acronyms, you must
%identify the others using the package options \pkgopt{acronymlists}.
%This ensures that options such as \pkgopt{footnote} and
%\pkgopt{smallcaps} work for the additional lists of acronyms.
@@ -3310,10 +3361,11 @@
%\begin{important}%
%\textbf{Note:} since \cs{newacronym} sets \verb|type=\acronymtype|,
%if you want to load a file containing acronym definitions using
-%\cs{loadglsentries}\oarg{type}\marg{filename}, the optional argument
+%\cs{loadglsentries}\oarg{type}\marg{filename}, the optional argument
%\meta{type} will not have an effect unless you explicitly set the
%type as \verb|type=\glsdefaulttype| in the optional argument to
-%\ics{newacronym}. See \autoref{sec:loadglsentries}.\end{important}
+%\ics{newacronym}. See \sectionref{sec:loadglsentries}.
+%\end{important}
%
%For example, the following defines the acronym IDN:
%\begin{verbatim}
@@ -3329,20 +3381,30 @@
%plural={IDNs},
%firstplural={identification numbers (IDNs)}}
%\end{verbatim}
-%so \verb|\gls{idn}| will produce \dq{identification number (IDN)} on
-%\firstuse\ and \dq{IDN} on subsequent uses.
+%so \verb|\gls{idn}| will produce \qt{identification number (IDN)} on
+%\firstuse\ and \qt{IDN} on subsequent uses.
%
%This section describes acronyms that have been defined using
-%\cs{newacronym}. If you prefer to define all your acronyms using
-%\cs{newglossaryentry} explicitly, then you should skip this section
-%and ignore the package options: \pkgopt{smallcaps}, \pkgopt{smaller},
-%\pkgopt{description}, \pkgopt{dua} and \pkgopt{footnote}, as these
-%options change the definition of \ics{newacronym} for common acronym
-%formats as well as the way that the link text is displayed (see
-%\autoref{sec:glsdisplay}). Likewise you should ignore the package option \pkgopt{shortcuts}
-%and the new commands described in this section,
-%such as \cs{acrshort}, as they vary according to the definition of
-%\ics{newacronym}.
+%\ics{newacronym}. If you prefer to define your acronyms using
+%\ics{newglossaryentry} explicitly, then you should skip this section
+%and ignore the package options: \pkgopt{smallcaps},
+%\pkgopt{smaller}, \pkgopt{description}, \pkgopt{dua} and
+%\pkgopt{footnote}, as these options change the definition of
+%\ics{newacronym} for common acronym formats as well as the way that
+%the link text is displayed (see \sectionref{sec:glsdisplay}).
+%Likewise you should ignore the package option \pkgopt{shortcuts} and
+%the new commands described in this section, such as \ics{acrshort},
+%as they vary according to the definition of \ics{newacronym}.
+%
+%If you want to define your own custom acronym style, see
+%\sectionref{sec:customacronym}.
+%
+%\begin{important}
+%If you try using \ics{newglossaryentry} for entries in a designated
+%list of acronyms in combination with any of the above named package
+%options you are likely to get unexpected results such as empty
+%brackets or empty footnotes.
+%\end{important}
%
%If you use any of the package options \pkgopt{smallcaps},
%\pkgopt{smaller}, \pkgopt{description} or
@@ -3372,7 +3434,7 @@
%\renewcommand*{\firstacronymfont}[1]{#1}
%\renewcommand*{\acronymfont}[1]{\emph{#1}}
%\end{verbatim}
-%(Note that it is for this reason that the \isty{relsize} package
+%(Note that it is for this reason that the \sty{relsize} package
%is not automatically loaded when selecting the
%\pkgopt{smaller} package option.)
%
@@ -3384,7 +3446,7 @@
%you should use lower case characters in \meta{abbrv}) and the
%\pkgopt{smaller} option redefines \cs{acronymfont} to use
%\cs{textsmaller},\footnote{you will need to load a package, such as
-%\sty{relsize}, that defines \cs{textsmaller} if you use this
+%\styfmt{relsize}, that defines \cs{textsmaller} if you use this
%option.}\ otherwise \cs{acronymfont} simply displays its argument in
%the surrounding font.
%
@@ -3443,7 +3505,7 @@
%\end{table}
%
%In case you can't remember which key stores the long or short forms
-%(or their plurals) the \sty{glossaries} package provides the
+%(or their plurals) the \styfmt{glossaries} package provides the
%commands:
%\begin{itemize}
%\item\DescribeMacro{\glsshortkey}\cs{glsshortkey}
@@ -3464,23 +3526,26 @@
%If the \firstuse\ uses the plural form, \verb|\glspl{dm}| will
%display: diagonal matrices (DMs).
%
-%Each of the package options \pkgopt{smallcaps}, \pkgopt{smaller},
-%\pkgopt{footnote}, \pkgopt{dua}
-%and \pkgopt{description} use \ics{defglsdisplay} and
-%\ics{defglsdisplayfirst} (described in \autoref{sec:glsdisplay})
-%to change the way the link text is displayed. This means that these
-%package options only work for the glossary type given by
-%\cs{acronymtype}. If you have multiple lists of acronyms, you
-%will need to make the appropriate changes for each additional
-%glossary type.
+%Each of the package options \pkgopt{smallcaps}, \pkgopt{smaller},
+%\pkgopt{footnote}, \pkgopt{dua} and \pkgopt{description} use
+%\ics{defglsdisplay} and \ics{defglsdisplayfirst} (described in
+%\sectionref{sec:glsdisplay}) to change the way the link text is
+%displayed. This means that these package options only work for the
+%glossary type given by \cs{acronymtype}. If you have multiple lists
+%of acronyms, you will need to make the appropriate changes for each
+%additional glossary type.
%
%\begin{description}
-%\item[\pkgopt{description},\pkgopt{footnote}]\mbox{}\par When these two package options are used together, the \firstuse\ displays
-%the entry as:\\[10pt]
+%\item[\pkgopt{description},\pkgopt{footnote}]\ifpdf\mbox{}\par\fi
+%When these two package options are used together, the \firstuse\ displays
+%the entry as:
+%\begin{display}
%\cs{firstacronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}
-%\\[10pt]
-%while subsequent use displays the entry as:\\[10pt]
-%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%\end{display}
+%while subsequent use displays the entry as:
+%\begin{display}
+%\cs{acronymfont}\marg{abbrv}\meta{insert}
+%\end{display}
%where \meta{insert} indicates the text supplied in the final
%optional argument to \cs{gls}, \cs{glspl} or their uppercase
%variants.
@@ -3492,16 +3557,20 @@
%be sorted according to the short form.
%
%Note also that when these two package options are used (in the
-%given order), the \sty{glossaries} package additionally implements the
+%given order), the \styfmt{glossaries} package additionally implements the
%\pkgopt{sanitize} option using
%\ipkgopt[description]{sanitize}\ipkgopt[symbol]{sanitize}\verb|sanitize={description=false,symbol=false}|, so
%remember to protect fragile commands when defining acronyms.
%
-%\item[\pkgopt{dua}]\mbox{}\par The \pkgopt{dua} package option always displays the expanded
+%\item[\pkgopt{dua}]\ifpdf\mbox{}\par\fi
+%The \pkgopt{dua} package option always displays the expanded
%form and so may not be used with \pkgopt{footnote}, \pkgopt{smaller} or
%\pkgopt{smallcaps}. Both \firstuse\ and subsequent use displays the
-%entry in the form:\\[10pt]
-%\meta{long}\meta{insert}\\[10pt]
+%entry in the form:
+%\begin{display}
+%\meta{long}\meta{insert}
+%\end{display}
+%
%If the \pkgopt{description} package option is also used, the
%\gloskey{name} key is set to the long form, otherwise the
%\gloskey{name} key is set to the short form and the
@@ -3516,11 +3585,16 @@
%short form (unless overridden by the \gloskey{sort} key in
%the optional argument of \ics{newacronym}).
%
-%\item[\pkgopt{description}]\mbox{}\par This package option displays the entry on \firstuse\ as:\\[10pt]
-%\meta{long}\meta{insert} (\cs{firstacronymfont}\marg{abbrv})\\[10pt]
-%while subsequent use displays the entry as:\\[10pt]
-%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
-%Note also that if this package option is used, the \sty{glossaries}
+%\item[\pkgopt{description}]\ifpdf\mbox{}\par\fi
+%This package option displays the entry on \firstuse\ as:
+%\begin{display}
+%\meta{long}\meta{insert} (\cs{firstacronymfont}\marg{abbrv})
+%\end{display}
+%while subsequent use displays the entry as:
+%\begin{display}
+%\cs{acronymfont}\marg{abbrv}\meta{insert}
+%\end{display}
+%Note also that if this package option is used, the \styfmt{glossaries}
%package additionally implements the option
%\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
%remember to protect fragile commands when defining acronyms.
@@ -3546,13 +3620,18 @@
%override this using the \gloskey{sort} key in the optional
%argument to \ics{newacronym}.
%
-%\item[\pkgopt{footnote}]\mbox{}\par This package option displays the entry on \firstuse\ as:\\[10pt]
-%\cs{firstacronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}\\[10pt]
-%while subsequent use displays the entry as:\\[10pt]
-%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%\item[\pkgopt{footnote}]\ifpdf\mbox{}\par\fi
+%This package option displays the entry on \firstuse\ as:
+%\begin{display}
+%\cs{firstacronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}
+%\end{display}
+%while subsequent use displays the entry as:
+%\begin{display}
+%\cs{acronymfont}\marg{abbrv}\meta{insert}
+%\end{display}
%Acronyms will be sorted according to the short form.
%
-%Note also that if this package option is used, the \sty{glossaries}
+%Note also that if this package option is used, the \styfmt{glossaries}
%package additionally implements the option
%\ipkgopt[description]{sanitize}\verb|sanitize={description=false}|, so
%remember to protect fragile commands when defining acronyms.
@@ -3560,48 +3639,59 @@
%Note that on \firstuse, it is the long form in the footnote that
%links to the relevant glossary entry (where hyperlinks are enabled),
%whereas on subsequent use, the acronym links to the relevant
-%glossary entry. It is possible to change this to make the acronym
-%on \firstuse\ have the hyperlink instead of the footnote, but
-%since the footnote marker will also be a hyperlink, you will
-%have two hyperlinks in immediate succession. This can be
-%ambiguous where the hyperlinks are coloured rather than boxed.
-%The code required to change the \firstuse\ to make the
-%acronym a hyperlink is as follows:
+%glossary entry. It is possible to change this to make the acronym on
+%\firstuse\ have the hyperlink instead of the footnote, but since the
+%footnote marker will also be a hyperlink, you will have two
+%hyperlinks in immediate succession. This can be ambiguous where the
+%hyperlinks are coloured rather than boxed. The code required to
+%change the \firstuse\ to make the acronym a hyperlink is as follows:
%\begin{verbatim}
% \defglsdisplayfirst[\acronymtype]{%
% \noexpand\protect\noexpand
% \glslink[\@gls@link@opts]{\@gls@link@label}{\firstacronymfont{#1}#4}%
% \noexpand\protect\noexpand\footnote{#2}}%
%\end{verbatim}
-%\textbf{Note} that this involves using internal commands
-%(i.e.\ commands whose name contains an \verb|@| character), so
-%if this code is place in a \texttt{.tex} file it needs to be
-%placed within a \cs{makeatletter} \ldots\ \cs{makeatother} pair.
-%(See \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsigns} for further details.)
-%
-%\item[\pkgopt{smallcaps}]\mbox{}\par If neither the \pkgopt{footnote} nor \pkgopt{description} options
-%have been set, this option displays the entry on \firstuse\ as:\\[10pt]
-%\meta{long}\meta{insert} (\cs{firstacronymfont}\marg{abbrv})\\[10pt]
-%while subsequent use displays the entry as:\\[10pt]
-%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%\textbf{Note} that this involves using internal commands (i.e.\
+%commands whose name contains an \verb|@| character), so if this code
+%is place in a \texttt{.tex} file it needs to be placed within a
+%\cs{makeatletter} \ldots\ \cs{makeatother} pair. (See
+%\urlref{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsigns}{\cs{@}
+%and \texttt{@} in macro names} for further details.)
+%
+%\item[\pkgopt{smallcaps}]\ifpdf\mbox{}\par\fi
+%If neither the \pkgopt{footnote} nor \pkgopt{description} options
+%have been set, this option displays the entry on \firstuse\ as:
+%\begin{display}
+%\meta{long}\meta{insert} (\cs{firstacronymfont}\marg{abbrv})
+%\end{display}
+%while subsequent use displays the entry as:
+%\begin{display}
+%\cs{acronymfont}\marg{abbrv}\meta{insert}
+%\end{display}
%where \cs{acronymfont} is set to \verb|\textsc{#1}|.
%
%\begin{important}
%Note that since the acronym is displayed using \ics{textsc},
%the short form, \meta{abbrv}, should be specified in lower case.
-%(Recall that "\textsc{abc}" produces \textsc{abc} whereas "\textsc{ABC}" produces \textsc{ABC}.)
+%\ifpdf(Recall that "\textsc{abc}" produces \textsc{abc} whereas
+%"\textsc{ABC}" produces \textsc{ABC}.)\fi
%\end{important}
%
-%Note also that if this package option is used, the \sty{glossaries}
+%Note also that if this package option is used, the \styfmt{glossaries}
%package additionally implements the option
%\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
%remember to protect fragile commands when defining acronyms.
%
-%\item[\pkgopt{smaller}]\mbox{}\par If neither the \pkgopt{footnote} nor \pkgopt{description} options
-%have been set, this option displays the entry on \firstuse\ as:\\[10pt]
-%\meta{long}\meta{insert} (\cs{firstacronymfont}\marg{abbrv})\\[10pt]
-%while subsequent use displays the entry as:\\[10pt]
-%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%\item[\pkgopt{smaller}]\ifpdf\mbox{}\par\fi
+%If neither the \pkgopt{footnote} nor \pkgopt{description} options
+%have been set, this option displays the entry on \firstuse\ as:
+%\begin{display}
+%\meta{long}\meta{insert} (\cs{firstacronymfont}\marg{abbrv})
+%\end{display}
+%while subsequent use displays the entry as:
+%\begin{display}
+%\cs{acronymfont}\marg{abbrv}\meta{insert}
+%\end{display}
%where \cs{acronymfont} is set to
%\verb|\textsmaller{#1}|.\footnote{not that this was change from
%using \ics{smaller} to \ics{textsmaller} as declarations
@@ -3610,34 +3700,39 @@
%
%\begin{important}
%Remember to load a package that defines \ics{textsmaller} (such as
-%\isty{relsize}) if you want to use this option, unless you want
+%\sty{relsize}) if you want to use this option, unless you want
%to redefine \ics{acronymfont} to use some other formatting command.
%\end{important}
%
-%Note also that if this package option is used, the \sty{glossaries}
+%Note also that if this package option is used, the \styfmt{glossaries}
%package additionally implements the option
%\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
%remember to protect fragile commands when defining acronyms.
%
-%\item[None of the above]\mbox{}\par If none of the package options \pkgopt{smallcaps}, \pkgopt{smaller},
+%\item[None of the above]\ifpdf \mbox{}\par\fi
+%If none of the package options \pkgopt{smallcaps}, \pkgopt{smaller},
%\pkgopt{footnote}, \pkgopt{dua} or \pkgopt{description} are used,
-%then on \firstuse\ the entry is displayed as:\\[10pt]
-%\meta{long} (\meta{abbrv})\meta{insert}\\[10pt]
-%while subsequent use displays the entry as:\\[10pt]
-%\meta{abbrv}\meta{insert}\\[10pt]
+%then on \firstuse\ the entry is displayed as:
+%\begin{display}
+%\meta{long} (\meta{abbrv})\meta{insert}
+%\end{display}
+%while subsequent use displays the entry as:
+%\begin{display}
+%\meta{abbrv}\meta{insert}
+%\end{display}
%Entries will be sorted according to the short form.
%Note that if none of the acronym-related package options are used,
%the \pkgopt{sanitize} option will not be affected.
%\end{description}
%
-%Recall from \autoref{sec:glslink} that you can access the values of individual keys using commands
-%like \ics{glstext}, so it is possible to use these commands to
-%print just the long form or just the abbreviation without affecting
-%the flag that determines whether the entry has been used. However
-%the keys that store the long and short form vary depending on
-%the acronym style, so the \sty{glossaries} package provides
-%commands that are set according to the package options. These are
-%as follows:
+%Recall from \sectionref{sec:glslink} that you can access the values
+%of individual keys using commands like \ics{glstext}, so it is
+%possible to use these commands to print just the long form or just
+%the abbreviation without affecting the flag that determines whether
+%the entry has been used. However the keys that store the long and
+%short form vary depending on the acronym style, so the
+%\styfmt{glossaries} package provides commands that are set according
+%to the package options. These are as follows:
%\begin{definition}[\DescribeMacro{\acrshort}]
%\cs{acrshort}\oarg{options}\marg{label}\oarg{insert}
%\end{definition}
@@ -3649,8 +3744,8 @@
%\end{definition}
%Print the abbreviated version with (if required) a hyperlink to the
%relevant entry in the glossary. This is usually equivalent to
-%\ics{glstext} (or its uppercase variants) but may additionally
-%put the link text within the argument to \ics{acronymfont}.
+%\ics{glstext} (or its uppercase variants) but may additionally put
+%the link text within the argument to \ics{acronymfont}.
%\begin{definition}[\DescribeMacro{\acrlong}]
%\cs{acrlong}\oarg{options}\marg{label}\oarg{insert}
%\end{definition}
@@ -3662,7 +3757,7 @@
%\end{definition}
%Print the long version with (if required) a hyperlink to the
%relevant entry in the glossary. This is may be equivalent to
-%\ics{glsdesc}, \ics{glssymbol} or \ics{glsfirst} (or their uppercase
+%\ics{glsdesc}, \ics{glssymbol} or \ics{glsfirst} (or their uppercase
%variants), depending on package options.
%\begin{definition}[\DescribeMacro{\acrfull}]
%\cs{acrfull}\oarg{options}\marg{label}\oarg{insert}
@@ -3673,9 +3768,8 @@
%\begin{definition}[\DescribeMacro{\ACRfull}]
%\cs{ACRfull}\oarg{options}\marg{label}\oarg{insert}
%\end{definition}
-%Print the long version followed by the abbreviation in brackets
-%with (if required) a hyperlink to the
-%relevant entry in the glossary.
+%Print the long version followed by the abbreviation in brackets with
+%(if required) a hyperlink to the relevant entry in the glossary.
%
%\begin{important}
%Note that if any of the above commands produce unexpected output
@@ -3696,7 +3790,7 @@
%
%The package option \pkgopt{shortcuts} provides the synonyms listed
%in \tableref{tab:shortcuts}. If any of those commands generate
-%an \dq{undefined control sequence} error message, check that you
+%an \qt{undefined control sequence} error message, check that you
%have enabled the shortcuts using the \pkgopt{shortcuts} package
%option. Note that there are no shortcuts for the commands that
%produce all upper case text.
@@ -3727,22 +3821,159 @@
%\end{center}
%\end{table}
%
+%\subsubsection{Defining A Custom Acronym Style}
+%\label{sec:customacronym}
+%
+%You may find that the predefined acronyms styles that come with the
+%\styfmt{glossaries} package don't suit your requirements. In this
+%case you can define your own style. This is done by redefining the
+%following commands:
+%\begin{definition}[\DescribeMacro{\CustomAcronymFields}]
+%\cs{CustomAcronymFields}
+%\end{definition}
+%This command sets up the keys for \ics{newglossaryentry} when
+%you define an acronym using \ics{newacronym}. Within the definition
+%of \cs{CustomAcronymFields}, you may use \cs{the}\ics{glslongtok} to
+%access the long form, \cs{the}\ics{glsshorttok} to access the short
+%form and \cs{the}\ics{glslabeltok} to access the label. This command
+%is typically used to set the \gloskey{name}, \gloskey{first},
+%\gloskey{firstplural}, \gloskey{text} and \gloskey{plural} keys. It
+%may also be used to set the \gloskey{symbol} or
+%\gloskey{description} keys depending on your requirements.
+%
+%\begin{definition}[\DescribeMacro{\SetCustomDisplayStyle}]
+%\cs{SetCustomDisplayStyle}\marg{type}
+%\end{definition}
+%This is used to set up the display style for the glossary given by
+%\meta{type}. This should typically just use \ics{defglsdisplayfirst}
+%and \ics{defglsdisplay}.
+%
+%Once you have redefined \cs{CustomAcronymFields} and
+%\cs{SetCustomDisplayStyle}, you must then switch to this style using
+%\begin{definition}[\DescribeMacro{\SetCustomStyle}]
+%\cs{SetCustomStyle}
+%\end{definition}
+%Note that you may still use the \pkgopt{shortcuts} package option
+%with your custom style.
+%
+%\begin{important}
+%If you omit \cs{SetCustomStyle}, or use it before you redefine
+%\cs{CustomAcronymFields} and \cs{SetCustomDisplayStyle}, your new
+%style won't be correctly implemented. You must set up the custom style
+%before defining new acronyms. The acronyms must be defined using
+%\ics{newacronym} not \ics{newglossaryentry}.
+%\end{important}
+%
+%As an example, suppose I want my acronym on first use to have the
+%short form in the text and the long form with the description in a
+%footnote. Suppose also that I want the short form to be put in small
+%caps in the main body of the document, but I want it in normal
+%capitals in the list of acronyms. In my list of acronyms, I want the
+%long form as the name with the short form in brackets followed by
+%the description.
+%
+%First, I need to redefine \ics{CustomAcronymFields} so that
+%\ics{newacronym} will correctly set the \gloskey{name},
+%\gloskey{text} and \gloskey{plural} keys. I want the long form to be
+%stored in the \gloskey{name} and the short form to be stored in
+%\gloskey{text}. In addition, I'm going to set the \gloskey{symbol}
+%to the short form in upper case so that it will appear in the list
+%of acronyms.
+%
+%\begin{verbatim}
+%\renewcommand*{\CustomAcronymFields}{%
+% name={\the\glslongtok},%
+% symbol={\MakeUppercase{\the\glsshorttok}},%
+% text={\textsc{\the\glsshorttok}},%
+% plural={\textsc{\the\glsshorttok}s}%
+%}
+%\end{verbatim}
+%
+%Note that in this case I haven't bothered with \ics{acrpluralsuffix}
+%and have just inserted an \qt{s}.
+%
+%When I use the custom acronym style, the short form is stored in
+%\gloskey{user1}, the plural short form is stored in \gloskey{user2},
+%the long form is stored in \gloskey{user3} and the plural long form
+%is stored in \gloskey{user4}. So when I use \ics{defglsdisplayfirst}
+%and \ics{defglsdisplay}, I can use \ics{glsentryuseriii} to access
+%the long form. Recall from \sectionref{sec:glsdisplay}, that the
+%optional argument to \ics{defglsdisplayfirst} and \ics{defglsdisplay}
+%indicates the glossary type. This is passed to
+%\ics{SetCustomDisplayStyle}. The mandatory argument sets up the
+%definition of \ics{glsdisplayfirst} and \ics{glsdisplay} for the
+%given glossary, where the first argument corresponds to the
+%\gloskey{first}, \gloskey{firstplural}, \gloskey{text} or
+%\gloskey{plural}, as appropriate, the second argument corresponds to
+%the \gloskey{description}, the third corresponds to the
+%\gloskey{symbol} and the fourth argument is the inserted text.
+%
+%\begin{verbatim}
+%\renewcommand*{\SetCustomDisplayStyle}[1]{%
+% \defglsdisplayfirst[#1]{##1##4\protect\footnote{%
+% \glsentryuseriii{\glslabel}: ##2%
+% }}
+% \defglsdisplay[#1]{##1##4}%
+%}
+%\end{verbatim}
+%
+%Since we have a definition inside a definition, \verb|#1| refers to
+%the argument of \ics{SetCustomDisplayStyle}, and \verb|##1|, \ldots,
+%\verb|##4|, refer to the arguments of \ics{glsdisplayfirst} and
+%\ics{glsdisplay}.
+%
+%Now that I've redefined \ics{CustomAcronymFields} and
+%\ics{SetCustomDisplayStyle}, I can set this style using
+%\begin{verbatim}
+%\SetCustomStyle
+%\end{verbatim}
+%and now I can define my acronyms:
+%\begin{verbatim}
+%\newacronym[description={set of tags for use in developing hypertext
+%documents}]{html}{html}{Hyper Text Markup Language}
+%
+%\newacronym[description={language used to describe the layout of a
+%document written in a markup language}]{css}{css}{Cascading Style
+%Sheet}
+%\end{verbatim}
+%
+%Note that since I've used the description in the main body of the
+%text, I need to switch off the sanitization otherwise any commands
+%within the description won't get interpreted. Also I want to use the
+%\sty{hyperref} package, but this will cause a problem on first use
+%as I'll get nested hyperlinks, so I need to switch off the
+%hyperlinks on first use. In addition, I want to use a glossary style
+%that displays the symbol. Therefore, in my preamble I have:
+%
+%\begin{verbatim}
+%\usepackage[colorlinks]{hyperref}
+%\usepackage[acronym, % create list of acronyms
+% nomain, % don't need main glossary for this example
+% style=tree, % need a style that displays the symbol
+% hyperfirst=false,% don't hyperlink first use
+% sanitize=none % switch off sanitization as description
+% % will be used in the main text
+% ]{glossaries}
+%\end{verbatim}
+%
+%Note that I haven't used the \pkgopt{description} or
+%\pkgopt{footnote} package options.
%
%\subsubsection{Upgrading From the glossary Package}
%\label{sec:oldacronym}
-%Users of the obsolete \isty{glossary} package may recall that
+%Users of the obsolete \sty{glossary} package may recall that
%the syntax used to define new acronyms has changed with the
-%replacement \sty{glossaries} package. In addition, the old
-%\isty{glossary} package created the command
+%replacement \styfmt{glossaries} package. In addition, the old
+%\sty{glossary} package created the command
%\cs{}\meta{acr-name} when defining the acronym \meta{acr-name}.
%
%In order to facilitate migrating from the old package to the new
-%one, the \sty{glossaries} package\footnote{as from version 1.18}
+%one, the \styfmt{glossaries} package\footnote{as from version 1.18}
%provides the command:
%\begin{definition}[\DescribeMacro{\oldacronym}]
%\cs{oldacronym}\oarg{label}\marg{abbrv}\marg{long}\marg{key-val list}
%\end{definition}
-%This uses the same syntax as the \isty{glossary} package's
+%This uses the same syntax as the \sty{glossary} package's
%method of defining acronyms. It is equivalent to:\\[10pt]
%\ics{newacronym}\oarg{key-val list}\marg{label}\marg{abbrv}\marg{long}\\[10pt]
%In addition, \ics{oldacronym} also defines the commands
@@ -3760,21 +3991,21 @@
%Recall that, in general, \LaTeX\ ignores spaces following command
%names consisting of alphabetical characters. This is also true for
%\cs{}\meta{label} unless you additionally load the
-%\isty{xspace} package.
+%\sty{xspace} package.
%\end{important}
%
-%The \sty{glossaries} package doesn't load the \isty{xspace} package
+%The \styfmt{glossaries} package doesn't load the \sty{xspace} package
%since there are both advantages and disadvantages to using
%\ics{xspace} in \cs{}\meta{label}. If you don't use the
-%\isty{xspace} package you need to explicitly force a space using
+%\sty{xspace} package you need to explicitly force a space using
%\verb*|\ | (backslash space) however you can follow \cs{}\meta{label}
%with additional text in square brackets (the final optional
-%argument to \ics{gls}). If you use the \isty{xspace} package
+%argument to \ics{gls}). If you use the \sty{xspace} package
%you don't need to escape the spaces but you can't use
%the optional argument to insert text (you will have to explicitly
%use \ics{gls}).
%
-%To illustrate this, suppose I define the acronym \dq{abc} as
+%To illustrate this, suppose I define the acronym \qt{abc} as
%follows:
%\begin{verbatim}
%\oldacronym{abc}{example acronym}{}
@@ -3782,19 +4013,19 @@
%This will create the command \cs{abc} and its starred version
%\cs{abc*}. \Tableref{tab:xspace} illustrates the effect of
%\cs{abc} (on subsequent use) according to whether or not the
-%\isty{xspace} package has been loaded. As can be seen from the
-%final row in the table, the \isty{xspace} package prevents the
+%\sty{xspace} package has been loaded. As can be seen from the
+%final row in the table, the \sty{xspace} package prevents the
%optional argument from being recognised.
%
%\begin{table}[htbp]
%\caption[The effect of using xspace]{The effect of using
-%\sty{xspace} with \cs{oldacronym}}
+%\styfmt{xspace} with \cs{oldacronym}}
%\label{tab:xspace}
%\vskip\baselineskip
%\centering
%\begin{tabular}{lll}
-%\bfseries Code & \bfseries With \sty{xspace} &
-%\bfseries Without \sty{xspace}\\
+%\bfseries Code & \bfseries With \styfmt{xspace} &
+%\bfseries Without \styfmt{xspace}\\
%\verb|\abc.| & abc. & abc.\\
%\verb|\abc xyz| & abc xyz & abcxyz\\
%\verb|\abc\ xyz| & abc xyz & abc xyz\\
@@ -3805,6 +4036,7 @@
%\end{table}
%
%
+%
%\subsection{Unsetting and Resetting Entry Flags}
%\label{sec:glsunset}
%
@@ -3857,9 +4089,10 @@
%entry has been used, \meta{true part} will be done, otherwise
%\meta{false part} will be done.
%
+%
%\subsection{Glossary Styles}
%\label{sec:styles}
-%The \sty{glossaries} package comes with some pre-defined
+%The \styfmt{glossaries} package comes with some pre-defined
%glossary styles. Note that the styles are suited to different
%types of glossaries: some styles ignore the associated
%symbol; some styles are not designed for hierarchical entries,
@@ -3878,7 +4111,7 @@
%A maximum level of 0 indicates a flat glossary (sub-entries
%are displayed in the same way as main entries). Where the maximum
%level is given as --- there is no limit, but note that
-%\appname{makeindex} imposes a limit of 2 sub-levels. If the
+%\app{makeindex} imposes a limit of 2 sub-levels. If the
%homograph column is checked, then the name is not displayed for
%sub-entries. If the symbol column is checked, then the symbol will
%be displayed if it has been defined.}
@@ -3915,7 +4148,7 @@
%\end{definition}
%Some of the glossary styles may also be set using the \pkgopt{style}
%package option, it depends if the package in which they are defined
-%is automatically loaded by the \sty{glossaries} package.
+%is automatically loaded by the \styfmt{glossaries} package.
%
%The tabular-like styles that allow multi-line descriptions and page
%lists use the length \DescribeMacro{\glsdescwidth}\cs{glsdescwidth}
@@ -3964,25 +4197,27 @@
% \changes{1.03}{2007 July 4}{'glspostdescription added}
%All the styles except for the three- and four-column styles and the
%\glostyle{listdotted} style use the command
-%\DescribeMacro{\glspostdescription}\cs{glspostdescription} after the
-%description. This simply displays a full stop by default. To eliminate
-%this full stop (or replace it with something else, say, a comma) you
-%will need to redefine \cs{glspostdescription} before the glossary is
-%displayed. Alternatively, you can suppress it for a given entry
-%by placing \ics{nopostdesc} in the entry's description.
+%\begin{definition}[\DescribeMacro{\glspostdescription}]
+%\cs{glspostdescription}
+%\end{definition}
+%after the description. This simply displays a full stop by default.
+%To eliminate this full stop (or replace it with something else, say,
+%a comma) you will need to redefine \cs{glspostdescription} before
+%the glossary is displayed. Alternatively, you can suppress it for a
+%given entry by placing \ics{nopostdesc} in the entry's description.
%
%\subsubsection{List Styles}
%\label{sec:liststyles}
%
%The styles described in this section are all defined in the package
-%\isty{glossary-list}. Since they all use the \envname{description}
+%\sty{glossary-list}. Since they all use the \env{description}
%environment, they are governed by the same parameters as that
%environment. These styles all ignore the entry's symbol. Note that
%these styles will automatically be available unless you use the
%\pkgopt{nolist} or \pkgopt{nostyles} package options.
%
%\begin{description}
-%\item[list] The \glostyle{list} style uses the \envname{description}
+%\item[list] The \glostyle{list} style uses the \env{description}
%environment. The entry name is placed in the optional argument of
%the \cs{item} command (so it will appear in bold by default). The
%description follows, and then the associated \term{number list} for
@@ -3993,15 +4228,17 @@
%\item[listgroup] The \glostyle{listgroup} style is like
%\glostyle{list} but the glossary groups have headings.
%
-%\item[listhypergroup] The \glostyle{listhypergroup} style is like
-%\glostyle{listgroup} but has a navigation line at the start of
-%the glossary with links to each group that is present in the
-%glossary. This requires an additional run through \LaTeX\ to ensure
-%the group information is up to date. In the navigation line, each
-%group is separated
-%by \DescribeMacro{\glshypernavsep}\cs{glshypernavsep} which
-%defaults to a vertical bar with a space on either side. For example,
-%to simply have a space separating each group, do:
+%\item[listhypergroup] The \glostyle{listhypergroup} style is like
+%\glostyle{listgroup} but has a navigation line at the start of the
+%glossary with links to each group that is present in the glossary.
+%This requires an additional run through \LaTeX\ to ensure the group
+%information is up to date. In the navigation line, each group is
+%separated by
+%\begin{definition}[\DescribeMacro{\glshypernavsep}]
+%\cs{glshypernavsep}
+%\end{definition}
+%which defaults to a vertical bar with a space on either side. For
+%example, to simply have a space separating each group, do:
%\begin{verbatim}
%\renewcommand*{\glshypernavsep}{\space}
%\end{verbatim}
@@ -4026,14 +4263,16 @@
%groups. The navigation line is the same as that for
%\glostyle{listhypergroup}, described above.
%
-%\item[listdotted] This style uses the \envname{description}
-%environment.\footnote{This style was supplied by Axel~Menzel.} Each
+%\item[listdotted] This style uses the \env{description}
+%environment.\footnote{This style was supplied by Axel~Menzel.} Each
%entry starts with \verb|\item[]|, followed by the name followed by a
%dotted line, followed by the description. Note that this style
%ignores both the \term{number list} and the symbol. The length
-%\DescribeMacro{\glslistdottedwidth}\cs{glslistdottedwidth} governs
-%where the description should start. This is a flat style, so child
-%entries are formatted in the same way as the parent entries.
+%\begin{definition}[\DescribeMacro{\glslistdottedwidth}]
+%\cs{glslistdottedwidth}
+%\end{definition}
+%governs where the description should start. This is a flat style, so
+%child entries are formatted in the same way as the parent entries.
%
%\item[sublistdotted] This is a variation on the \glostyle{listdotted}
%style designed for hierarchical glossaries. The main entries
@@ -4041,23 +4280,23 @@
%the same manner as \glostyle{listdotted}.
%\end{description}
%
+%
%\subsubsection{Longtable Styles}
%\label{sec:longstyles}
%
%The styles described in this section are all defined in the package
-%\isty{glossary-long}. Since they all use the \envname{longtable}
+%\sty{glossary-long}. Since they all use the \env{longtable}
%environment, they are governed by the same parameters as that
%environment. Note that these styles will automatically be available
%unless you use the \pkgopt{nolong} or \pkgopt{nostyles} package
%options. These styles fully justify the description and page list
%columns. If you want ragged right formatting instead, use the
-%analogous styles described in
-%\autoref{sec:longraggedstyles}.
+%analogous styles described in \sectionref{sec:longraggedstyles}.
%
%
%\begin{description}
-%\item[long] The \glostyle{long} style uses the \envname{longtable}
-%environment (defined by the \isty{longtable} package). It has two
+%\item[long] The \glostyle{long} style uses the \env{longtable}
+%environment (defined by the \sty{longtable} package). It has two
%columns: the first column contains the entry's name and the second
%column contains the description followed by the \term{number list}.
%The entry's symbol is ignored.
@@ -4137,25 +4376,26 @@
%descriptions and page lists.
%\end{description}
%
+%
%\subsubsection{Longtable Styles (Ragged Right)}
%\label{sec:longraggedstyles}
%
%The styles described in this section are all defined in the package
-%\isty{glossary-longragged}. These styles are analogous to those
-%defined in \isty{glossary-long} but the multiline columns are left
+%\sty{glossary-longragged}. These styles are analogous to those
+%defined in \sty{glossary-long} but the multiline columns are left
%justified instead of fully justified. Since these styles all use the
-%\envname{longtable} environment, they are governed by the same
-%parameters as that environment. The \isty{glossary-longragged}
-%package additionally requires the \isty{array} package. Note that
+%\env{longtable} environment, they are governed by the same
+%parameters as that environment. The \sty{glossary-longragged}
+%package additionally requires the \sty{array} package. Note that
%these styles will only be available if you explicitly load
-%\isty{glossary-longragged}:
+%\sty{glossary-longragged}:
%\begin{verbatim}
%\usepackage{glossaries}
%\usepackage{glossary-longragged}
%\end{verbatim}
%Note that you can't set these styles using the \pkgopt{style}
%package option since the styles aren't defined until after
-%the \sty{glossaries} package has been loaded.
+%the \styfmt{glossaries} package has been loaded.
%
%\begin{description}
%\item[longragged] The \glostyle{longragged} style has two
@@ -4223,26 +4463,25 @@
%
%\end{description}
%
+%
%\subsubsection{Supertabular Styles}
%\label{sec:superstyles}
%
%The styles described in this section are all defined in the package
-%\isty{glossary-super}. Since they all use the \envname{supertabular}
+%\sty{glossary-super}. Since they all use the \env{supertabular}
%environment, they are governed by the same parameters as that
%environment. Note that these styles will automatically be available
%unless you use the \pkgopt{nosuper} or \pkgopt{nostyles} package
-%options. In general, the \envname{longtable} environment is better,
+%options. In general, the \env{longtable} environment is better,
%but there are some circumstances where it is better to use
-%\envname{supertabular}.\footnote{e.g.\ with the \isty{flowfram}
+%\env{supertabular}.\footnote{e.g.\ with the \sty{flowfram}
%package.} These styles fully justify the description and page list
%columns. If you want ragged right formatting instead, use the
-%analogous styles described in
-%\autoref{sec:superraggedstyles}.
-%
+%analogous styles described in \sectionref{sec:superraggedstyles}.
%
%\begin{description}
-%\item[super] The \glostyle{super} style uses the \envname{supertabular}
-%environment (defined by the \isty{supertabular} package). It has two
+%\item[super] The \glostyle{super} style uses the \env{supertabular}
+%environment (defined by the \sty{supertabular} package). It has two
%columns: the first column contains the entry's name and the second
%column contains the description followed by the \term{number list}.
%The entry's symbol is ignored.
@@ -4323,30 +4562,31 @@
%descriptions and page lists.
%\end{description}
%
+%
%\subsubsection{Supertabular Styles (Ragged Right)}
%\label{sec:superraggedstyles}
%
%The styles described in this section are all defined in the package
-%\isty{glossary-superragged}. These styles are analogous to those
-%defined in \isty{glossary-super} but the multiline columns are left
+%\sty{glossary-superragged}. These styles are analogous to those
+%defined in \sty{glossary-super} but the multiline columns are left
%justified instead of fully justified. Since these styles all use the
-%\envname{supertabular} environment, they are governed by the same
-%parameters as that environment. The \isty{glossary-superragged}
-%package additionally requires the \isty{array} package. Note that
+%\env{supertabular} environment, they are governed by the same
+%parameters as that environment. The \sty{glossary-superragged}
+%package additionally requires the \sty{array} package. Note that
%these styles will only be available if you explicitly load
-%\isty{glossary-superragged}:
+%\sty{glossary-superragged}:
%\begin{verbatim}
%\usepackage{glossaries}
%\usepackage{glossary-superragged}
%\end{verbatim}
%Note that you can't set these styles using the \pkgopt{style}
%package option since the styles aren't defined until after
-%the \sty{glossaries} package has been loaded.
+%the \styfmt{glossaries} package has been loaded.
%
%\begin{description}
%\item[superragged] The \glostyle{superragged} style uses the
-%\envname{supertabular} environment (defined by the
-%\isty{supertabular} package). It has two columns: the first column
+%\env{supertabular} environment (defined by the
+%\sty{supertabular} package). It has two columns: the first column
%contains the entry's name and the second column contains the (left
%justified) description followed by the \term{number list}. The
%entry's symbol is ignored. Sub groups are separated with a blank
@@ -4411,11 +4651,12 @@
%
%\end{description}
%
+%
%\subsubsection{Tree-Like Styles}
%\label{sec:treestyles}
%
%The styles described in this section are all defined in the package
-%\isty{glossary-tree}. These styles are designed for hierarchical
+%\sty{glossary-tree}. These styles are designed for hierarchical
%glossaries but can also be used with glossaries that don't have
%sub-entries. These styles will display the entry's symbol if it
%exists. Note that these styles will automatically be available
@@ -4442,8 +4683,8 @@
%
%\item[tree] The \glostyle{tree} style is similar to the
%\glostyle{index} style except that it can have arbitrary levels.
-%(Note that \appname{makeindex} is limited to three levels, so
-%you will need to use \appname{xindy} if you want more than
+%(Note that \app{makeindex} is limited to three levels, so
+%you will need to use \app{xindy} if you want more than
%three levels.) Each sub-level is indented by
%\DescribeMacro{\glstreeindent}\cs{glstreeindent}. Note that the
%name, symbol (if present) and description are placed in the
@@ -4499,6 +4740,7 @@
%\end{description}
%
%
+%
%\subsection{Defining your own glossary style}
%\label{sec:newglossarystyle}
%
@@ -4512,15 +4754,15 @@
%needs to redefine all of the following:
%
%\begin{definition}[\DescribeEnv{theglossary}]
-%\envname{theglossary}
+%\env{theglossary}
%\end{definition}
%This environment defines how the main body of the glossary should
%be typeset. Note that this does not include the section heading,
%the glossary preamble (defined by \cs{glossarypreamble}) or the
%glossary postamble (defined by \cs{glossarypostamble}). For example,
-%the \glostyle{list} style uses the \envname{description} environment,
-%so the \envname{theglossary} environment is simply redefined to begin
-%and end the \envname{description} environment.
+%the \glostyle{list} style uses the \env{description} environment,
+%so the \env{theglossary} environment is simply redefined to begin
+%and end the \env{description} environment.
%
%\begin{definition}[\DescribeMacro{\glossaryheader}]
%\cs{glossaryheader}
@@ -4537,12 +4779,12 @@
%\end{definition}
%This macro indicates
%what to do at the start of each logical block within the main body
-%of the glossary. If you use \appname{makeindex} the glossary is
+%of the glossary. If you use \app{makeindex} the glossary is
%sub-divided into a maximum of twenty-eight logical blocks that are
%determined by the first character of the \gloskey{sort} key (or
%\gloskey{name} key if the \gloskey{sort} key is omitted). The
%sub-divisions are in the following order: symbols, numbers, A,
-%\ldots, Z\@. If you use \appname{xindy}, the sub-divisions depend on
+%\ldots, Z\@. If you use \app{xindy}, the sub-divisions depend on
%the language settings.
%
%Note that the argument to \cs{glsgroupheading}
@@ -4559,8 +4801,9 @@
%\begin{definition}[\DescribeMacro{\glsnavhypertarget}]
%\cs{glsnavhypertarget}\marg{label}\marg{text}
%\end{definition}
-%For further details about \cs{glsnavhypertarget}, see
-%\autoref{sec:code:hypernav}.
+%For further details about \cs{glsnavhypertarget}, see
+%\ifpdf\sectionref{sec:code:hypernav}\else the documented code of
+%\sty{glossary-hypernav} in \texttt{glossaries.pdf}\fi.
%
%
%Most of the predefined glossary styles redefine \cs{glsgroupheading}
@@ -4603,7 +4846,7 @@
%\cs{glstarget}\marg{label}\marg{text}
%\end{definition}
%where \meta{label} is the entry's label. Note that you
-%don't need to worry about whether the \isty{hyperref} package has
+%don't need to worry about whether the \sty{hyperref} package has
%been loaded, as \cs{glstarget} won't create a target if
%\cs{hypertarget} hasn't been defined.
%
@@ -4645,15 +4888,17 @@
%\ics{glossaryentryfield} described above.
%
%For further details of these commands, see
-%\autoref{sec:code:printglos}.
+%\ifpdf\sectionref{sec:code:printglos}\else the documented code in
+%\texttt{glossaries.pdf}\fi.
+%
%\subsubsection{Example: creating a completely new style}
%
%If you want a completely new style, you will need to redefine all
%of the commands and the environment listed above.
%
%For example, suppose you want each entry to start with a bullet point.
-%This means that the glossary should be placed in the \envname{itemize}
-%environment, so \envname{theglossary} should start and end that
+%This means that the glossary should be placed in the \env{itemize}
+%environment, so \env{theglossary} should start and end that
%environment. Let's also suppose that you don't want anything between
%the glossary groups (so \ics{glsgroupheading} and \ics{glsgroupskip}
%should do nothing) and suppose you don't want anything to appear
@@ -4688,6 +4933,7 @@
%Note that this style creates a flat glossary, where sub-entries
%are displayed in exactly the same way as the top level entries.
%
+%
%\subsubsection{Example: creating a new glossary style based on an
%existing style}
%
@@ -4708,6 +4954,7 @@
%}
%\end{verbatim}
%
+%
%\subsubsection{Example: creating a glossary style that uses the
%\gloskey{user1}, \ldots, \gloskey{user6} keys}
%
@@ -4717,7 +4964,7 @@
%example, suppose each entry not only has an associated symbol,
%but also units (stored in \gloskey{user1}) and dimension
%(stored in \gloskey{user2}). Then you can define a glossary style
-%that displays each entry in a \envname{longtable} as follows:
+%that displays each entry in a \env{longtable} as follows:
%\begin{verbatim}
%\newglossarystyle{long6col}{%
% % put the glossary in a longtable environment:
@@ -4749,10 +4996,11 @@
%}
%\end{verbatim}
%
+%
%\subsection{Accessibility Support}\label{sec:accsupp}
%Limited accessibility support is provided by the accompanying
-%\isty{glossaries-accsupp} package, but note that this package is
-%experimental and it requires the \isty{accsupp} package
+%\sty{glossaries-accsupp} package, but note that this package is
+%experimental and it requires the \sty{accsupp} package
%which is also listed as experimental. This package defines
%additional keys that may be used when defining glossary entries.
%The keys are as follows:
@@ -4795,14 +5043,16 @@
%\begin{verbatim}
%\BeginAccSupp{ActualText=TeX}\TeX\EndAccSupp{}
%\end{verbatim}
-%See \autoref{sec:code:accsupp} for further details. It is
-%recommended that you also read the \isty{accsupp} documentation.
+%See \ifpdf \sectionref{sec:code:accsupp} \else the section
+%\qt{glossaries-accsupp code} in the document \texttt{glossaries.pdf}
+%\fi for further details. It is recommended that you also read the
+%\sty{accsupp} documentation.
%
%\section{Mfirstuc Package}
%\label{sec:mfirstuc}
%
-%The \sty{glossaries} bundle is supplied with the package
-%\isty{mfirstuc} which provides the command:
+%The \styfmt{glossaries} bundle is supplied with the package
+%\sty{mfirstuc} which provides the command:
%\begin{definition}[\DescribeMacro{\makefirstuc}]
%\cs{makefirstuc}\marg{stuff}
%\end{definition}
@@ -4814,7 +5064,7 @@
%\item \verb|\makefirstuc{abc}| produces Abc
%
%\item \verb|\makefirstuc{\emph{abc}}| produces \emph{Abc}
-%(\ics{MakeUppercase} has been applied to the letter \dq{a} rather
+%(\ics{MakeUppercase} has been applied to the letter \qt{a} rather
%than \cs{emph}.) Note however that
%\verb|\makefirstuc{{\em abc}}| produces \emph{ABC} and
%\verb|{\makefirstuc{\em abc}}| produces abc.
@@ -4822,15 +5072,18 @@
%\item \verb|\makefirstuc{{\'a}bc}| produces \MakeUppercase{\'a}bc
%
%\item \verb|\makefirstuc{\ae bc}| produces \MakeUppercase{\ae}bc
+%
%\item \verb|\makefirstuc{{\ae}bc}| produces \MakeUppercase{\ae}bc
+%
%\item \verb|\makefirstuc{{ä}bc}| produces \MakeUppercase{ä}bc
+%
%\end{itemize}
%Note that non-Latin or accented characters appearing at the
%start of the text must be placed in a group (even if you are
-%using the \isty{inputenc} package) due to expansion issues.
+%using the \sty{inputenc} package) due to expansion issues.
%
%\begin{important}
-%In version 1.02 of \sty{mfirstuc}, a bug fix resulted in a change
+%In version 1.02 of \styfmt{mfirstuc}, a bug fix resulted in a change
%in output if the first object is a control sequence followed by
%an empty group. Prior to version 1.02, \verb|\makefirstuc{\ae{}bc}|
%produced \ae Bc. However as from version 1.02, it now produces
@@ -4862,7 +5115,7 @@
%
%If you want to use an alternative command to convert to uppercase,
%for example \cs{MakeTextUppercase},\footnote{defined in the
-%\sty{textcase} package} you can redefine the internal
+%\styfmt{textcase} package} you can redefine the internal
%command \cs{@gls@makefirstuc}. For example:
%\begin{verbatim}
%\renewcommand{\@gls@makefirstuc}[1]{\MakeTextUppercase #1}
@@ -4872,8 +5125,12 @@
%and \cs{makeatother}.)
%
%
-% \StopEventually{\clearpage\phantomsection\addcontentsline{toc}{section}{Index}\PrintIndex}
%
+%\StopEventually{%
+% \clearpage\phantomsection
+% \addcontentsline{toc}{section}{Index}\PrintIndex
+%
+%}
%
%
%
@@ -4888,7 +5145,7 @@
% This package requires \LaTeXe.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries}[2010/02/06 v2.05 (NLCT)]
+\ProvidesPackage{glossaries}[2010/06/14 v2.06 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -5047,7 +5304,7 @@ false,nolabel,autolabel}[nolabel]{%
%\changes{1.18}{2009 January 14}{new}
% This option prevents \isty{glossary-long} from being loaded.
% This means that the glossary styles that use the
-% \envname{longtable} environment will not be available. This option
+% \env{longtable} environment will not be available. This option
% is provided to reduce overhead caused by loading unrequired
% packages.
% \begin{macrocode}
@@ -5069,7 +5326,7 @@ false,nolabel,autolabel}[nolabel]{%
%\changes{1.18}{2009 January 14}{new}
% This option prevents \isty{glossary-super} from being loaded.
% This means that the glossary styles that use the
-% \envname{supertabular} environment will not be available. This option
+% \env{supertabular} environment will not be available. This option
% is provided to reduce overhead caused by loading unrequired
% packages.
% \begin{macrocode}
@@ -5346,8 +5603,8 @@ false,nolabel,autolabel}[nolabel]{%
% \end{macrocode}
%\end{macro}
% (There is no equivalent for the \gloskey{sort} key, since that
-% is only provided for the benefit of \appname{makeindex} or
-% \appname{xindy}, and so will always be sanitized.)
+% is only provided for the benefit of \app{makeindex} or
+% \app{xindy}, and so will always be sanitized.)
%
% Before defining the \pkgopt{sanitize} package option, The
% key-value list for the \pkgopt{sanitize} value needs to be defined.
@@ -5481,16 +5738,16 @@ name=true]{%
%\end{option}
%
%\begin{macro}{\glsorder}
-% Stores the glossary ordering. This may either be \dq{word}
-% or \dq{letter}. This passes the relevant information to
-% \appname{makeglossaries}. The default is word ordering.
+% Stores the glossary ordering. This may either be \qt{word}
+% or \qt{letter}. This passes the relevant information to
+% \app{makeglossaries}. The default is word ordering.
% \begin{macrocode}
\newcommand*{\glsorder}{word}
% \end{macrocode}
%\end{macro}
%\begin{macro}{\@glsorder}
% The ordering information is written to the auxiliary file
-% for \appname{makeglossaries}, so ignore the auxiliary
+% for \app{makeglossaries}, so ignore the auxiliary
% information.
% \begin{macrocode}
\newcommand*{\@glsorder}[1]{}
@@ -5508,18 +5765,18 @@ name=true]{%
%\changes{1.17}{2008 December 26}{added xindy support}
%\begin{macro}{\ifglsxindy}
%\changes{1.17}{2008 December 26}{new}
-% Provide boolean to determine whether \appname{xindy} or
-% \appname{makeindex} will be used to sort the glossaries.
+% Provide boolean to determine whether \app{xindy} or
+% \app{makeindex} will be used to sort the glossaries.
% \begin{macrocode}
\newif\ifglsxindy
% \end{macrocode}
%\end{macro}
-% The default is \appname{makeindex}:
+% The default is \app{makeindex}:
% \begin{macrocode}
\glsxindyfalse
% \end{macrocode}
%
-% Define package option to specify that \appname{makeindex} will
+% Define package option to specify that \app{makeindex} will
% be used to sort the glossaries:
% \begin{macrocode}
\DeclareOptionX{makeindex}{\glsxindyfalse}
@@ -5562,7 +5819,7 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%
-% Define package option to specify that \appname{xindy} will be
+% Define package option to specify that \app{xindy} will be
% used to sort the glossaries:
% \begin{macrocode}
\define@key{glossaries.sty}{xindy}[]{%
@@ -5726,7 +5983,7 @@ name=true]{%
\providecommand*{\pagelistname}{Page List}
% \end{macrocode}
%\end{macro}
-% Labels for \appname{makeindex}'s symbol and number groups:
+% Labels for \app{makeindex}'s symbol and number groups:
%\begin{macro}{\glssymbolsgroupname}
% \begin{macrocode}
\providecommand*{\glssymbolsgroupname}{Symbols}
@@ -5897,7 +6154,7 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%
-% The name of the \appname{makeindex} or \appname{xindy} style file
+% The name of the \app{makeindex} or \app{xindy} style file
% is given by \cs{istfilename}. This file is
% created by \ics{writeist} (which is used by
% \ics{makeglossaries}) so
@@ -5914,9 +6171,9 @@ name=true]{%
\fi
% \end{macrocode}
%\end{macro}
-% The \appname{makeglossaries} Perl script picks up this name
+% The \app{makeglossaries} Perl script picks up this name
% from the auxiliary file. If the name ends with \filetype{.xdy}
-% it calls \appname{xindy} otherwise it calls \appname{makeindex}.
+% it calls \app{xindy} otherwise it calls \app{makeindex}.
% Since its not required by
% \LaTeX, \cs{@istfilename} ignores its argument.
%\begin{macro}{\@istfilename}
@@ -5926,7 +6183,7 @@ name=true]{%
%\end{macro}
%
% This command is the value of the \istkey{page\_compositor}
-% \appname{makeindex} key. Again, any redefinition of this command
+% \app{makeindex} key. Again, any redefinition of this command
% must take place \emph{before} \cs{writeist} otherwise it
% will have no effect. As from 1.17, use \ics{glsSetCompositor}
% instead of directly redefining \cs{glscompositor}.
@@ -5948,13 +6205,13 @@ name=true]{%
%\end{macro}
%
% (The page compositor is usually defined as a dash when using
-% \appname{makeindex}, but most of the standard counters used
+% \app{makeindex}, but most of the standard counters used
% by \LaTeX\ use a full stop as the compositor, which is why I
-% have used it as the default.) If \appname{xindy} is used
+% have used it as the default.) If \app{xindy} is used
% \cs{glscompositor} only affects the \texttt{arabic-page-numbers}
% location class.
%\begin{macro}{\@glsAlphacompositor}
-% This is only used by \appname{xindy}. It specifies the
+% This is only used by \app{xindy}. It specifies the
% compositor to use when location numbers are in the form
% \meta{letter}\meta{compositor}\meta{number}. For example,
% if \cs{@glsAlphacompositor} is set to ``.'' then it allows
@@ -6039,7 +6296,7 @@ name=true]{%
%
% Individual numbers in an entry's associated number list are
% delimited using \cs{delimN} (which corresponds to the
-% \istkey{delim\_n} \appname{makeindex} keyword). The default value
+% \istkey{delim\_n} \app{makeindex} keyword). The default value
% is a comma followed by a space.
%\begin{macro}{\delimN}
% \begin{macrocode}
@@ -6048,7 +6305,7 @@ name=true]{%
%\end{macro}
% A range of numbers within an entry's associated number list is
% delimited using \cs{delimR} (which corresponds to the
-% \istkey{delim\_r} \appname{makeindex} keyword). The default is
+% \istkey{delim\_r} \app{makeindex} keyword). The default is
% an en-dash.
%\begin{macro}{\delimR}
% \begin{macrocode}
@@ -6058,7 +6315,7 @@ name=true]{%
%
% The glossary preamble is given by \cs{glossarypreamble}. This
% will appear after the glossary sectioning command, and before the
-% \envname{theglossary} environment. It is designed to allow the
+% \env{theglossary} environment. It is designed to allow the
% user to add information pertaining to the glossary (e.g.\ ``page
% numbers in italic indicate the primary definition'') therefore
% \cs{glossarypremable} shouldn't be affected by the glossary
@@ -6077,7 +6334,7 @@ name=true]{%
%
% The glossary postamble is given by \cs{glossarypostamble}.
% This is provided to allow the user to
-% add something after the end of the \envname{theglossary}
+% add something after the end of the \env{theglossary}
% environment (again, this shouldn't be affected by the
% glossary style). It is, of course, possible to simply add the
% text after \ics{printglossary}, but if you only want the
@@ -6228,9 +6485,9 @@ name=true]{%
%
%\subsection{Xindy}
% This section defines commands that only have an effect if
-% \appname{xindy} is used to sort the glossaries.
+% \app{xindy} is used to sort the glossaries.
%\begin{macro}{\glsnoxindywarning}
-% Issues a warning if \appname{xindy} hasn't been specified.
+% Issues a warning if \app{xindy} hasn't been specified.
% These warnings can be suppressed by redefining
% \cs{glsnoxindywarning} to ignore its argument
% \begin{macrocode}
@@ -6320,7 +6577,7 @@ name=true]{%
%\begin{macro}{\GlsAddXdyAlphabet}
% \cs{GlsAddXdyAlphabet}\marg{name}\marg{definition}
% adds a new alphabet called \meta{name}. The definition
-% must use \appname{xindy} syntax.
+% must use \app{xindy} syntax.
% \begin{macrocode}
\ifglsxindy
\newcommand*{\GlsAddXdyAlphabet}[2]{%
@@ -6351,9 +6608,9 @@ name=true]{%
%\begin{macro}{\GlsAddXdyLocation}
% \cs{GlsAddXdyLocation}\marg{name}\marg{definition}
% Define a new location called \meta{name}. The definition
-% must use \appname{xindy} syntax. (Note that this doesn't
+% must use \app{xindy} syntax. (Note that this doesn't
% check to see if the location is already defined. That is left
-% to \appname{xindy} to complain about.)
+% to \app{xindy} to complain about.)
% \begin{macrocode}
\ifglsxindy
\newcommand*{\GlsAddXdyLocation}[2]{%
@@ -6434,7 +6691,7 @@ name=true]{%
%
%\begin{macro}{\@xdyrequiredstyles}
% Define list of required styles (this should be a comma-separated
-% list of \appname{xindy} styles)
+% list of \app{xindy} styles)
% \begin{macrocode}
\ifglsxindy
\def\@xdyrequiredstyles{tex}
@@ -6442,7 +6699,7 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%\begin{macro}{\GlsAddXdyStyle}
-% Add a \appname{xindy} style to the list of required styles
+% Add a \app{xindy} style to the list of required styles
% \begin{macrocode}
\ifglsxindy
\newcommand*\GlsAddXdyStyle[1]{%
@@ -6467,9 +6724,9 @@ name=true]{%
%\end{macro}
%
%\begin{macro}{\findrootlanguage}
-% The root language name is required by \appname{xindy}. This
-% information is for \appname{makeglossaries} to pass to
-% \appname{xindy}. Since \ics{languagename} only stores the
+% The root language name is required by \app{xindy}. This
+% information is for \app{makeglossaries} to pass to
+% \app{xindy}. Since \ics{languagename} only stores the
% regional dialect rather than the root language name, some
% trickery is required to determine the root language.
% \begin{macrocode}
@@ -6552,9 +6809,9 @@ name=true]{%
%\end{macro}
%
%\begin{macro}{\@xdylanguage}
-% The \appname{xindy} language setting is required by
-% \appname{makeglossaries}, so provide a command for
-% \appname{makeglossaries} to pick up the information
+% The \app{xindy} language setting is required by
+% \app{makeglossaries}, so provide a command for
+% \app{makeglossaries} to pick up the information
% from the auxiliary file. This command is not needed by the
% \sty{glossaries} package, so define it to ignore its arguments.
% \begin{macrocode}
@@ -6583,9 +6840,9 @@ name=true]{%
%\end{macro}
%
%\begin{macro}{\@gls@codepage}
-% The \appname{xindy} codepage setting is required by
-% \appname{makeglossaries}, so provide a command for
-% \appname{makeglossaries} to pick up the information
+% The \app{xindy} codepage setting is required by
+% \app{makeglossaries}, so provide a command for
+% \app{makeglossaries} to pick up the information
% from the auxiliary file. This command is not needed by the
% \sty{glossaries} package, so define it to ignore its arguments.
% \begin{macrocode}
@@ -6628,7 +6885,7 @@ name=true]{%
%
%\begin{macro}{\GlsAddLetterGroup}
% Add a new letter group. The first argument is the name
-% of the letter group. The second argument is the \appname{xindy}
+% of the letter group. The second argument is the \app{xindy}
% code specifying prefixes and ordering.
% \begin{macrocode}
\newcommand*\GlsAddLetterGroup[2]{%
@@ -6760,19 +7017,19 @@ name=true]{%
% A new glossary type is defined using \cs{newglossary}.
% Syntax:\\[10pt]\cs{newglossary}\oarg{log-ext}\marg{name}\marg{in-ext}\marg{out-ext}%
%\marg{title}\oarg{counter}\\[10pt]%
-% where \meta{log-ext} is the extension of the \appname{makeindex}
+% where \meta{log-ext} is the extension of the \app{makeindex}
% transcript file, \meta{in-ext} is the extension of the glossary
% input file (read in by \ics{printglossary} and created by
-% \appname{makeindex}), \meta{out-ext} is the extension of the
-% glossary output file which is read in by \appname{makeindex}
+% \app{makeindex}), \meta{out-ext} is the extension of the
+% glossary output file which is read in by \app{makeindex}
% (lines are written to this file by the \ics{glossary} command),
% \meta{title} is the title of the glossary that is used in
% \ics{glossarysection} and
% \meta{counter} is the default counter to be used by entries
-% belonging to this glossary. The \appname{makeglossaries} Perl
+% belonging to this glossary. The \app{makeglossaries} Perl
% script reads in the relevant extensions from the auxiliary file,
% and passes the appropriate file names and switches to
-% \appname{makeindex}.
+% \app{makeindex}.
%\begin{macro}{\newglossary}
% \begin{macrocode}
\newcommand*{\newglossary}[5][glg]{%
@@ -6831,6 +7088,14 @@ name=true]{%
{\@gls@setcounter{#2}[\glscounter]}}}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\altnewglossary}
+%\changes{2.06}{2010 June 14}{new}
+% \begin{macrocode}
+\newcommand*{\altnewglossary}[3]{%
+ \newglossary[#2-glg]{#1}{#2-gls}{#2-glo}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
% Only define new glossaries in the preamble:
% \begin{macrocode}
\@onlypreamble{\newglossary}
@@ -6840,7 +7105,7 @@ name=true]{%
\@onlypremakeg\newglossary
% \end{macrocode}
%\cs{@newglossary} is used to specify the file extensions
-% for the \appname{makeindex} input, output and transcript files.
+% for the \app{makeindex} input, output and transcript files.
% It is written to the auxiliary file by \ics{newglossary}.
% Since it is not used by \LaTeX, \cs{@newglossary} simply
% ignores its arguments.
@@ -6908,7 +7173,7 @@ name=true]{%
% "sanitize={description=false}", and protect fragile
% commands). The \gloskey{description} key is required when
% defining a new glossary entry. (Be careful not to make the
-% description too long, because \appname{makeindex} has a limited
+% description too long, because \app{makeindex} has a limited
% buffer. \cs{@glo@desc} is defined to be a short command
% to discourage lengthy descriptions
% for this reason. If you do have a very long description, or if
@@ -6932,7 +7197,7 @@ name=true]{%
%
%\begin{key}{sort}
% The \gloskey{sort} key needs to be sanitized here
-% (the sort key is provided for \appname{makeindex}'s benefit,
+% (the sort key is provided for \app{makeindex}'s benefit,
% not for use in the document). The \gloskey{sort} key is optional
% when defining a new glossary entry. If omitted, the value
% is given by \meta{name} \meta{description}.
@@ -7517,7 +7782,7 @@ in it}}{%
\@gls@checkmkidxchars\@@glo@name
% \end{macrocode}
% Add the font command. (The backslash needs to be escaped for
-% \appname{xindy}.)
+% \app{xindy}.)
% \begin{macrocode}
\ifglsxindy
\protected@edef\@glo@name{\string\\glsnamefont{\@@glo@name}}%
@@ -7547,7 +7812,7 @@ in it}}{%
% \begin{macrocode}
\ifglsxindy
% \end{macrocode}
-% Store using \appname{xindy} syntax.
+% Store using \app{xindy} syntax.
% \begin{macrocode}
\ifx\@glo@parent\@empty
% \end{macrocode}
@@ -7572,7 +7837,7 @@ in it}}{%
\fi
\else
% \end{macrocode}
-% Store using \appname{makeindex} syntax.
+% Store using \app{makeindex} syntax.
% \begin{macrocode}
\ifx\@glo@parent\@empty
% \end{macrocode}
@@ -7926,7 +8191,7 @@ counter as its value}}{%
%\end{macro}
%\changes{1.01}{2007 May 17}{Added range facility in format key}%
% Set the formatting information in the format required by
-% \appname{makeindex}. The first argument is the format specified
+% \app{makeindex}. The first argument is the format specified
% by the user (via the format key), the second argument is the
% name of the counter used to indicate the location and the third
% argument is a control sequence which stores the required format.
@@ -8092,7 +8357,7 @@ counter as its value}}{%
%\end{macro}
%\begin{macro}{\@gls@checkescactual}
% Similarly for \verb|\?| (which is replaces @ as
-% \appname{makeindex}'s special character):
+% \app{makeindex}'s special character):
% \begin{macrocode}
\def\@gls@checkescactual#1\?#2\?#3\null{%
\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
@@ -8258,7 +8523,7 @@ counter as its value}}{%
%\end{macro}
%
%\begin{macro}{\@gls@xdycheckquote}
-% As before but for use with \appname{xindy}
+% As before but for use with \app{xindy}
% \begin{macrocode}
\def\@gls@xdycheckquote#1"#2"#3\null{%
\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
@@ -8287,7 +8552,7 @@ counter as its value}}{%
%\end{macro}
%
%\begin{macro}{\@gls@xdycheckbackslash}
-% Need to escape all backslashes for \appname{xindy}.
+% Need to escape all backslashes for \app{xindy}.
% Define command that will define \cs{@gls@xdycheckbackslash}
% \begin{macrocode}
\edef\def@gls@xdycheckbackslash{%
@@ -8509,6 +8774,7 @@ counter as its value}}{%
% \begin{macrocode}
\def\@gls@link@opts{#1}%
\def\@gls@link@label{#2}%
+\def\glslabel{#2}%
% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
@@ -8734,6 +9000,7 @@ counter as its value}}{%
% \begin{macrocode}
\def\@gls@link@opts{#1}%
\def\@gls@link@label{#2}%
+\def\glslabel{#2}%
% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text}). This needs to be expanded so that the
@@ -10926,10 +11193,10 @@ counter as its value}}{%
%
%\subsection{Creating associated files}
% The \cs{writeist} command creates the associated
-% customized \filetype{.ist} \appname{makeindex} style file.
+% customized \filetype{.ist} \app{makeindex} style file.
% While defining this command, some characters have their
% catcodes temporarily changed to ensure they get written to
-% the \filetype{.ist} file correctly. The \appname{makeindex}
+% the \filetype{.ist} file correctly. The \app{makeindex}
% actual character (usually "@") is redefined to be a "?", to allow
% internal commands to be written to the glossary file output file.
%
@@ -10939,7 +11206,7 @@ counter as its value}}{%
% but don't change these values, because the characters are
% encoded in the command definitions that are used to escape
% the special characters (which means that the user no longer
-% needs to worry about \appname{makeindex} special characters).
+% needs to worry about \app{makeindex} special characters).
%
% The symbols and numbers label for group headings are hardwired into
% the \filetype{.ist} file as \texttt{glssymbols} and
@@ -10976,7 +11243,7 @@ counter as its value}}{%
%
%\begin{macro}{\@glsfirstletter}
% Define the first letter to come after the digits 0,\ldots,9.
-% Only required for \appname{xindy}.
+% Only required for \app{xindy}.
% \begin{macrocode}
\ifglsxindy
\newcommand*{\@glsfirstletter}{A}
@@ -11006,7 +11273,7 @@ counter as its value}}{%
%\begin{macro}{\GlsSetXdyMinRangeLength}
% Set the minimum range length. The value must either be "none"
% or a positive integer. The \sty{glossaries} package doesn't
-% check if the argument is valid, that is left to \appname{xindy}.
+% check if the argument is valid, that is left to \app{xindy}.
% \begin{macrocode}
\ifglsxindy
\newcommand*{\GlsSetXdyMinRangeLength}[1]{%
@@ -11025,7 +11292,7 @@ counter as its value}}{%
\newwrite\istfile
\ifglsxindy
% \end{macrocode}
-% Code to use if \appname{xindy} is required.
+% Code to use if \app{xindy} is required.
% \begin{macrocode}
\def\writeist{%
% \end{macrocode}
@@ -11146,7 +11413,7 @@ counter as its value}}{%
% Cross-reference class. (The unverified option is used as the
% cross-references are supplied using the list of labels along with
% the optional argument for \ics{glsseeformat} which
-% \appname{xindy} won't recognise.)
+% \app{xindy} won't recognise.)
% \begin{macrocode}
\write\istfile{^^J; define cross-reference class^^J}%
\write\istfile{(define-crossref-class \string"see\string"
@@ -11155,7 +11422,7 @@ counter as its value}}{%
% Define how cross-references should be displayed. This adds an
% empty set of braces after the cross-referencing information
% allowing for the final argument of \cs{glsseeformat} which
-% gets ignored. (When using \appname{makeindex} this final argument
+% gets ignored. (When using \app{makeindex} this final argument
% contains the location information which is not required.)
% \begin{macrocode}
\write\istfile{(markup-crossref-list
@@ -11261,7 +11528,7 @@ counter as its value}}{%
\noist}
\else
% \end{macrocode}
-% Code to use if \appname{makeindex} is required.
+% Code to use if \app{makeindex} is required.
%\changes{2.01}{2009 May 30}{removed item\_02 - no such makeindex key}
% \begin{macrocode}
\edef\@gls@actualchar{\string?}
@@ -11351,11 +11618,11 @@ counter as its value}}{%
%
% \cs{@makeglossary} is an internal command that takes an
% argument indicating the glossary type. This command will
-% create the glossary file required by \appname{makeindex} for the
+% create the glossary file required by \app{makeindex} for the
% given glossary type, using the extension supplied by the
% \meta{out-ext} parameter used in \ics{newglossary}
% (and it will also activate the \ics{glossary} command,
-% and create the customized \filetype{.ist} \appname{makeindex}
+% and create the customized \filetype{.ist} \app{makeindex}
% style file).
%
% Note that you can't use \cs{@makeglossary} for only some of the
@@ -11400,7 +11667,7 @@ using \string\makeglossary}}}
% \begin{macrocode}
\newcommand*{\makeglossaries}{%
% Write the name of the style file to the aux file
-% (needed by \appname{makeglossaries})
+% (needed by \app{makeglossaries})
% \begin{macrocode}
\protected@write\@auxout{}{\string\@istfilename{\istfilename}}%
\protected@write\@auxout{}{\string\@glsorder{\glsorder}}
@@ -11476,10 +11743,11 @@ using \string\makeglossary}}}
%
% Define internal \cs{@glossary} to ignore its argument.
% This gets redefined in \cs{@makeglossary}. This is
-% defined to just \cs{index} as \icls{memoir} changes the definition of
+% defined to just \cs{index} as \cls{memoir} changes the definition of
% \cs{@index}. (Thanks to Dan Luecking for pointing this out.)
%\begin{macro}{\@glossary}
-%\changes{1.17}{2008 December 26}{changed definition to use 'index instead of '@index}
+%\changes{1.17}{2008 December 26}{changed definition to use
+%\cs{index} instead of \cs{@index}}
% \begin{macrocode}
\def\@glossary[#1]{\index}
% \end{macrocode}
@@ -11517,7 +11785,7 @@ using \string\makeglossary}}}
% \begin{macrocode}
\newcommand{\@do@wrglossary}[1]{%
% \end{macrocode}
-% Determine whether to use \appname{xindy} or \appname{makeindex}
+% Determine whether to use \app{xindy} or \app{makeindex}
% syntax
% \begin{macrocode}
\ifglsxindy
@@ -11540,7 +11808,7 @@ using \string\makeglossary}}}
\protected@edef\@glslocref{\theglsentrycounter}%
\@gls@checkmkidxchars\@glslocref
% \end{macrocode}
-% Write to the glossary file using \appname{xindy} syntax.
+% Write to the glossary file using \app{xindy} syntax.
% \begin{macrocode}
\glossary[\csname glo@#1@type\endcsname]{%
(indexentry :tkey (\csname glo@#1@index\endcsname)
@@ -11551,11 +11819,11 @@ using \string\makeglossary}}}
\else
% \end{macrocode}
% Convert the format information into the format required for
-% \appname{makeindex}
+% \app{makeindex}
% \begin{macrocode}
\@set@glo@numformat\@glo@numfmt\@gls@counter\@glsnumberformat
% \end{macrocode}
-% Write to the glossary file using \appname{makeindex} syntax.
+% Write to the glossary file using \app{makeindex} syntax.
% \begin{macrocode}
\glossary[\csname glo@#1@type\endcsname]{%
\string\glossaryentry{\csname glo@#1@index\endcsname
@@ -11728,8 +11996,8 @@ using \string\makeglossary}}}
% \begin{macrocode}
\newcommand*{\printglossary}[1][type=\glsdefaulttype]{%
% \end{macrocode}
-% If \appname{xindy} is being used, need to find the root language
-% for \appname{makeglossaries} to pass to \appname{xindy}.
+% If \app{xindy} is being used, need to find the root language
+% for \app{makeglossaries} to pass to \app{xindy}.
% \begin{macrocode}
\ifglsxindy\findrootlanguage\fi
% \end{macrocode}
@@ -11787,9 +12055,9 @@ using \string\makeglossary}}}
\IfFileExists{\jobname.\csname @glotype@\@glo@type @in\endcsname}{}%
{\null}%
% \end{macrocode}
-% If \appname{xindy} is being used, need to write the language
+% If \app{xindy} is being used, need to write the language
% dependent information to the \filetype{.aux} file for
-% \appname{makeglossaries}.
+% \app{makeglossaries}.
% \begin{macrocode}
\ifglsxindy
\@ifundefined{@xdy@\@glo@type @language}{%
@@ -11921,7 +12189,7 @@ false,nolabel,autolabel}[nolabel]{%
%\end{macro}
%
%\DescribeEnv{theglossary}
-% If the \envname{theglossary} environment has
+% If the \env{theglossary} environment has
% already been defined, a warning will be issued.
% This environment should be redefined by glossary styles.
% \begin{macrocode}
@@ -11936,7 +12204,7 @@ false,nolabel,autolabel}[nolabel]{%
% The glossary header is given by \cs{glossaryheader}.
% This forms part of the glossary style, and
% must indicate what should appear immediately after the start of the
-% \envname{theglossary} environment. (For example, if the glossary
+% \env{theglossary} environment. (For example, if the glossary
% uses a tabular-like environment, it may be used to set the
% header row.) Note that if you don't want a header row, the glossary
% style must redefine \cs{glossaryheader} to do nothing.
@@ -11981,11 +12249,11 @@ false,nolabel,autolabel}[nolabel]{%
%
% Within each glossary, the entries form distinct groups
% which are determined by the first character of the \gloskey{sort}
-% key. When using \appname{makeindex}, there will be a maximum of 28 groups: symbols, numbers,
+% key. When using \app{makeindex}, there will be a maximum of 28 groups: symbols, numbers,
% and the 26 alphabetical groups A, \ldots, Z\@. If you use
-% \appname{xindy} the groups will depend on whatever alphabet
+% \app{xindy} the groups will depend on whatever alphabet
% is used. This is determined by the language or custom
-% alphabets can be created in the \appname{xindy} style file.
+% alphabets can be created in the \app{xindy} style file.
% The command \cs{glsgroupskip}
% specifies what to do between glossary groups. Glossary styles
% must redefine this command. (Note that \cs{glsgroupskip}
@@ -12010,7 +12278,7 @@ false,nolabel,autolabel}[nolabel]{%
\newcommand*{\glsgroupheading}[1]{}
% \end{macrocode}
%\end{macro}
-% It is possible to ``trick'' \appname{makeindex} into
+% It is possible to ``trick'' \app{makeindex} into
% treating entries as though they belong to the same group,
% even if the terms don't start with the same letter, by
% modifying the \gloskey{sort} key. For example, all entries
@@ -12080,7 +12348,7 @@ style `#1' undefined}{}}{%
% New glossary styles can be defined using:\\[10pt]
% \cs{newglossarystyle}\marg{name}\marg{definition}\\[10pt]
% The \meta{definition} argument should redefine
-% \envname{theglossary}, \ics{glossaryheader},
+% \env{theglossary}, \ics{glossaryheader},
% \ics{glsgroupheading}, \ics{glossaryentryfield} and
% \ics{glsgroupskip} (see \autoref{sec:code:styles} for the
% definitions of predefined styles). Glossary styles should not
@@ -13531,6 +13799,134 @@ style `#1' undefined}{}}{%
% \end{macrocode}
%\end{macro}
%
+% Allow user to define their own custom acronyms. The short form is
+% stored in the user1 key, the plural short form is stored in the
+% user2 key, the long form is stored in the user3 key and the
+% plural long form is stored in the user4 key. Defaults to
+% displaying only the acronym with the long form as the description.
+%\begin{macro}{\SetCustomDisplayStyle}
+% Sets the acronym display style.
+%\changes{2.06}{2010 June 14}{new}
+% \begin{macrocode}
+\newcommand*{\SetCustomDisplayStyle}[1]{%
+ \defglsdisplay[#1]{##1##4}%
+ \defglsdisplayfirst[#1]{##1##4}%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\CustomAcronymFields}
+%\changes{2.06}{2010 June 14}{new}
+% \begin{macrocode}
+\newcommand*{\CustomAcronymFields}{%
+ name={\the\glsshorttok},%
+ description={\the\glslongtok},%
+ first={\the\glslongtok\space(\the\glsshorttok)},%
+ firstplural={\the\glslongtok\noexpand\acrpluralsuffix\space
+ (\the\glsshorttok)}%
+ text={\the\glsshorttok},%
+ plural={\the\glsshorttok\noexpand\acrpluralsuffix}%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\CustomNewAcronymDef}
+%\changes{2.06}{2010 June 14}{new}
+% \begin{macrocode}
+\newcommand*{\CustomNewAcronymDef}{%
+ \protected@edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ user1={\the\glsshorttok},%
+ user2={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ user3={\the\glslongtok},%
+ user4={\the\glslongtok\noexpand\acrpluralsuffix},%
+ \CustomAcronymFields,%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\SetCustomStyle}
+%\changes{2.06}{2010 June 14}{new}
+% \begin{macrocode}
+\newcommand*{\SetCustomStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetCustomDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \CustomNewAcronymDef
+ }%
+% \end{macrocode}
+% Set up the commands to make a note of the keys to store the long
+% and short forms:
+% \begin{macrocode}
+ \def\glsshortkey{user1}%
+ \def\glsshortpluralkey{user2}%
+ \def\glslongkey{user3}%
+ \def\glslongpluralkey{user4}%
+% \end{macrocode}
+% Set the display
+% \begin{macrocode}
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetCustomDisplayStyle{\@gls@type}%
+ }%
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort##1##2[##3]{\@glsuseri@{##1}{##2}[##3]}%
+ \def\@Acrshort##1##2[##3]{\@Glsuseri@{##1}{##2}[##3]}%
+ \def\@ACRshort##1##2[##3]{\@GLSuseri@{##1}{##2}[##3]}%
+% \end{macrocode}
+% Plural short form:
+% \begin{macrocode}
+ \def\@acrshortpl##1##2[##3]{\@glsuserii@{##1}{##2}[##3]}%
+ \def\@Acrshortpl##1##2[##3]{\@Glsuserii@{##1}{##2}[##3]}%
+ \def\@ACRshortpl##1##2[##3]{\@GLSuserii@{##1}{##2}[##3]}%
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong##1##2[##3]{\@glsuseriii@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsuseriii@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSuseriii@{##1}{##2}[##3]}%
+% \end{macrocode}
+% Plural long form:
+% \begin{macrocode}
+ \def\@acrlongpl##1##2[##3]{\@glsuseriv@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsuseriv@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSuseriv@{##1}{##2}[##3]}%
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull##1##2[##3]{\@glsuseriii@{##1}{##2}[##3]
+ (\acronymfont{\@glsuseri@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glsuseriii@{##1}{##2}[##3]
+ (\acronymfont{\@glsuseri@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLSuseriii@{##1}{##2}[##3]
+ (\acronymfont{\@GLSuseri@{##1}{##2}[##3]})}%
+% \end{macrocode}
+% Plural full form:
+% \begin{macrocode}
+ \def\@acrfullpl##1##2[##3]{\@glsuseriv@{##1}{##2}[##3]
+ (\acronymfont{\@glsuserii@{##1}{##2}[##3]})}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsuseriv@{##1}{##2}[##3]
+ (\acronymfont{\@glsuserii@{##1}{##2}[##3]})}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSuseriv@{##1}{##2}[##3]
+ (\acronymfont{\@GLSuserii@{##1}{##2}[##3]})}%
+}%
+% \end{macrocode}
+%\end{macro}
+%
+%
%\begin{macro}{\DefineAcronymSynonyms}
%\changes{2.04}{2009 November 10}{new}
% \begin{macrocode}
@@ -13657,12 +14053,12 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\@gls@loadlist
% \end{macrocode}
-% The styles that use the \envname{longtable} environment. These are
+% The styles that use the \env{longtable} environment. These are
% not loaded if the \pkgopt{nolong} package option is used.
% \begin{macrocode}
\@gls@loadlong
% \end{macrocode}
-% The styles that use the \envname{supertabular} environment. These are
+% The styles that use the \env{supertabular} environment. These are
% not loaded if the \pkgopt{nosuper} package option is used or if
% the \isty{supertabular} package isn't installed.
% \begin{macrocode}
@@ -13965,7 +14361,7 @@ style `#1' undefined}{}}{%
%\fi
% \subsection{List Style (glossary-list.sty)}
% The \isty{glossary-list} style file defines glossary styles
-% that use the \envname{description} environment. Note that since
+% that use the \env{description} environment. Note that since
% the entry name is placed in the optional argument to the
% \ics{item} command, it will appear in a bold font by
% default.
@@ -13974,7 +14370,7 @@ style `#1' undefined}{}}{%
% \end{macrocode}
%\begin{style}{list}
% The \glostyle{list} glossary style
-% uses the \envname{description} environment. The group separator
+% uses the \env{description} environment. The group separator
% \ics{glsgroupskip} is redefined as \cs{indexspace}
% which produces a gap between groups. The glossary heading
% and the group headings do nothing. Sub-entries immediately
@@ -13984,7 +14380,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{list}{%
% \end{macrocode}
-% Use \envname{description} environment:
+% Use \env{description} environment:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\begin{description}}{\end{description}}%
@@ -14187,7 +14583,7 @@ style `#1' undefined}{}}{%
% \subsection{Glossary Styles using longtable (the glossary-long
% package)}
% The glossary styles defined in the \isty{glossary-long} package
-% used the \envname{longtable} environment in the glossary.
+% used the \env{longtable} environment in the glossary.
% \begin{macrocode}
\ProvidesPackage{glossary-long}[2009/05/30 v2.01 (NLCT)]
% \end{macrocode}
@@ -14223,11 +14619,11 @@ style `#1' undefined}{}}{%
%
%\begin{style}{long}
% The \glostyle{long} glossary style command which
-% uses the \envname{longtable} environment:
+% uses the \env{longtable} environment:
% \begin{macrocode}
\newglossarystyle{long}{%
% \end{macrocode}
-% Use \envname{longtable} with two columns:
+% Use \env{longtable} with two columns:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\begin{longtable}{lp{\glsdescwidth}}}%
@@ -14268,7 +14664,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long}%
% \end{macrocode}
-% Use \envname{longtable} with two columns with vertical lines
+% Use \env{longtable} with two columns with vertical lines
% between each column:
% \begin{macrocode}
\renewenvironment{theglossary}{%
@@ -14324,7 +14720,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{long3col}{%
% \end{macrocode}
-% Use a \envname{longtable} with 3 columns:
+% Use a \env{longtable} with 3 columns:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}%
@@ -14367,7 +14763,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long3col}%
% \end{macrocode}
-% Use a \envname{longtable} with 3 columns with vertical lines
+% Use a \env{longtable} with 3 columns with vertical lines
% around them:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14425,7 +14821,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{long4col}{%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns:
+% Use a \env{longtable} with 4 columns:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\begin{longtable}{llll}}%
@@ -14489,7 +14885,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long4col}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns surrounded by vertical
+% Use a \env{longtable} with 4 columns surrounded by vertical
% lines:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14513,7 +14909,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long4col}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns surrounded by vertical
+% Use a \env{longtable} with 4 columns surrounded by vertical
% lines:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14540,7 +14936,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long4col}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14560,7 +14956,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long4colheader}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14580,7 +14976,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long4colborder}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14600,7 +14996,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{long4colheaderborder}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14622,7 +15018,7 @@ style `#1' undefined}{}}{%
% \subsection{Glossary Styles using longtable (the glossary-longragged
% package)}
% The glossary styles defined in the \isty{glossary-longragged} package
-% used the \envname{longtable} environment in the glossary and use
+% used the \env{longtable} environment in the glossary and use
% ragged right formatting for the multiline columns.
% \begin{macrocode}
\ProvidesPackage{glossary-longragged}[2009/05/30 v2.01 (NLCT)]
@@ -14664,7 +15060,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{longragged}{%
% \end{macrocode}
-% Use \envname{longtable} with two columns:
+% Use \env{longtable} with two columns:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\begin{longtable}{l>{\raggedright}p{\glsdescwidth}}}%
@@ -14707,7 +15103,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{longragged}%
% \end{macrocode}
-% Use \envname{longtable} with two columns with vertical lines
+% Use \env{longtable} with two columns with vertical lines
% between each column:
% \begin{macrocode}
\renewenvironment{theglossary}{%
@@ -14766,7 +15162,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{longragged3col}{%
% \end{macrocode}
-% Use a \envname{longtable} with 3 columns:
+% Use a \env{longtable} with 3 columns:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\begin{longtable}{l>{\raggedright}p{\glsdescwidth}%
@@ -14810,7 +15206,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{longragged3col}%
% \end{macrocode}
-% Use a \envname{longtable} with 3 columns with vertical lines
+% Use a \env{longtable} with 3 columns with vertical lines
% around them:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14871,7 +15267,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{altlongragged4col}{%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14917,7 +15313,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{altlongragged4col}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14945,7 +15341,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{altlongragged4col}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -14970,7 +15366,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{altlongragged4col}%
% \end{macrocode}
-% Use a \envname{longtable} with 4 columns where the second and
+% Use a \env{longtable} with 4 columns where the second and
% last columns may have multiple lines in each row:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15000,7 +15396,7 @@ style `#1' undefined}{}}{%
%\fi
% \subsection{Glossary Styles using supertabular environment (glossary-super package)}
% The glossary styles defined in the \isty{glossary-super} package
-% use the \envname{supertabular} environment.
+% use the \env{supertabular} environment.
% \begin{macrocode}
\ProvidesPackage{glossary-super}[2009/05/30 v2.01 (NLCT)]
% \end{macrocode}
@@ -15036,12 +15432,12 @@ style `#1' undefined}{}}{%
%
%\begin{style}{super}
% The \glostyle{super} glossary style uses the
-% \envname{supertabular} environment
+% \env{supertabular} environment
% (it uses lengths defined in the \isty{glossary-long} package.)
% \begin{macrocode}
\newglossarystyle{super}{%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15086,7 +15482,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15107,7 +15503,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15129,7 +15525,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns, a header and horizontal lines above and below the
% table:
% \begin{macrocode}
@@ -15149,7 +15545,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{super3col}{%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15194,7 +15590,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super3col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15215,7 +15611,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super3col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15237,7 +15633,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super3colborder}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns, a header with horizontal lines and a horizontal
% line in the tail:
% \begin{macrocode}
@@ -15260,7 +15656,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{super4col}{%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15306,7 +15702,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15330,7 +15726,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15351,7 +15747,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and a header bordered by horizontal lines and
% a horizontal line in the tail:
% \begin{macrocode}
@@ -15375,7 +15771,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15396,7 +15792,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4colheader}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15419,7 +15815,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4colborder}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15441,7 +15837,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{super4colheaderborder}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and a header bordered by horizontal lines and
% a horizontal line in the tail:
% \begin{macrocode}
@@ -15470,7 +15866,7 @@ style `#1' undefined}{}}{%
%\fi
% \subsection{Glossary Styles using supertabular environment (glossary-superragged package)}
% The glossary styles defined in the \isty{glossary-superragged}
-% package use the \envname{supertabular} environment. These styles
+% package use the \env{supertabular} environment. These styles
% are like those provided by the \isty{glossary-super} package,
% except that the multiline columns have ragged right justification.
% \begin{macrocode}
@@ -15508,11 +15904,11 @@ style `#1' undefined}{}}{%
%
%\begin{style}{superragged}
% The \glostyle{superragged} glossary style uses the
-% \envname{supertabular} environment.
+% \env{supertabular} environment.
% \begin{macrocode}
\newglossarystyle{superragged}{%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15559,7 +15955,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{superragged}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15580,7 +15976,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{superragged}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15603,7 +15999,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{superragged}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% two columns, a header and horizontal lines above and below the
% table:
% \begin{macrocode}
@@ -15623,7 +16019,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{superragged3col}{%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15669,7 +16065,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{superragged3col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15691,7 +16087,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{superragged3col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15714,7 +16110,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{superragged3colborder}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% three columns, a header with horizontal lines and a horizontal
% line in the tail:
% \begin{macrocode}
@@ -15738,7 +16134,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{altsuperragged4col}{%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and no head or tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15784,7 +16180,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{altsuperragged4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns, a header and no tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15808,7 +16204,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{altsuper4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and a horizontal line in the head and tail:
% \begin{macrocode}
\renewenvironment{theglossary}%
@@ -15831,7 +16227,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\glossarystyle{altsuperragged4col}%
% \end{macrocode}
-% Put the glossary in a \envname{supertabular} environment with
+% Put the glossary in a \env{supertabular} environment with
% four columns and a header bordered by horizontal lines and
% a horizontal line in the tail:
% \begin{macrocode}
@@ -15880,7 +16276,7 @@ style `#1' undefined}{}}{%
\newglossarystyle{index}{%
% \end{macrocode}
% Set the paragraph indentation and skip and define \ics{item}
-% to be the same as that used by \envname{theindex}:
+% to be the same as that used by \env{theindex}:
% \begin{macrocode}
\renewenvironment{theglossary}%
{\setlength{\parindent}{0pt}%
@@ -15997,7 +16393,7 @@ style `#1' undefined}{}}{%
\setlength{\parskip}{0pt plus 0.3pt}}%
{}%
% \end{macrocode}
-% Do nothing at the start of the \envname{theglossary} environment:
+% Do nothing at the start of the \env{theglossary} environment:
% \begin{macrocode}
\renewcommand*{\glossaryheader}{}%
% \end{macrocode}
@@ -16070,7 +16466,7 @@ style `#1' undefined}{}}{%
\glossarystyle{tree}%
% \end{macrocode}
% Put navigation links to the groups at the start of the
-% \envname{theglossary} environment:
+% \env{theglossary} environment:
% \begin{macrocode}
\renewcommand*{\glossaryheader}{%
\par\noindent\textbf{\glsnavigation}\par\indexspace}%
@@ -16178,7 +16574,7 @@ style `#1' undefined}{}}{%
\glossarystyle{treenoname}%
% \end{macrocode}
% Put navigation links to the groups at the start of the
-% \envname{theglossary} environment:
+% \env{theglossary} environment:
% \begin{macrocode}
\renewcommand*{\glossaryheader}{%
\par\noindent\textbf{\glsnavigation}\par\indexspace}%
@@ -16221,7 +16617,7 @@ style `#1' undefined}{}}{%
% \begin{macrocode}
\newglossarystyle{alttree}{%
% \end{macrocode}
-% Redefine \envname{theglossary} environment.
+% Redefine \env{theglossary} environment.
% \begin{macrocode}
\renewenvironment{theglossary}%
{\def\@gls@prevlevel{-1}%
@@ -18199,6 +18595,29 @@ style `#1' undefined}{}}{%
%\fi
%\iffalse
% \begin{macrocode}
+%<*glossaries-dictionary-Serbian.dict>
+% \end{macrocode}
+%\fi
+%\subsection{Serbian Dictionary}
+% This dictionary was provided by Zoran Filipovic.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Serbian}
+\providetranslation{Glossary}{Mali re\v cnik}
+\providetranslation{Acronyms}{Skra\' cenice}
+\providetranslation{Notation (glossaries)}{Oznaka}
+\providetranslation{Description (glossaries)}{Opis}
+\providetranslation{Symbol (glossaries)}{Simbol}
+\providetranslation{Page List (glossaries)}{Stranica}
+\providetranslation{Symbols (glossaries)}{Simboli}
+\providetranslation{Numbers (glossaries)}{Brojevi}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Serbian.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*glossaries-dictionary-Spanish.dict>
% \end{macrocode}
%\fi
@@ -18287,6 +18706,94 @@ First use: \glspl{aca}. Second use: \glspl{aca}.
%\fi
%\iffalse
% \begin{macrocode}
+%<*sample-custom-acronym.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass{report}
+
+\usepackage[colorlinks]{hyperref}
+\usepackage[acronym, % create list of acronyms
+ nomain, % don't need main glossary for this example
+ style=tree, % need a style that displays the symbol
+ hyperfirst=false,% don't hyperlink first use
+ sanitize=none % switch off sanitization as description
+ % will be used in the main text
+ ]{glossaries}
+
+\makeglossaries
+
+ % This is a sample file to illustrate how to define a custom
+ % acronym. This example defines the acronym so that on first use
+ % it displays the short form in the text and places the long form
+ % and its description in a footnote. In the main body of the
+ % document the short form will be displayed in small caps, but in
+ % the list of acronyms the short form is displayed in normal
+ % capitals. To ensure this, the short form should be written in
+ % lower case when the acronym is defined, and \MakeUppercase is
+ % used when it's displayed in the list of acronyms.
+
+ % In the list of acronyms, the long form is used as the name, the
+ % short form is used as the symbol and the user supplies the
+ % description when defining the acronym.
+
+\renewcommand*{\CustomAcronymFields}{%
+ name={\the\glslongtok},%
+ symbol={\MakeUppercase{\the\glsshorttok}},%
+ text={\textsc{\the\glsshorttok}},%
+ plural={\textsc{\the\glsshorttok}\noexpand\acrpluralsuffix}%
+}
+
+\renewcommand*{\SetCustomDisplayStyle}[1]{%
+ % ##1 corresponds to the 'first' key
+ % ##2 corresponds to the 'description' key
+ % ##3 corresponds to the 'symbol' key
+ % ##4 is the inserted text given by the final optional argument to
+ % commands like \gls
+ % The short form can be obtained via \glsentryuseri{\glslabel}
+ % The plural short form can be obtained via
+ % \glsentryuserii{\glslabel}
+ % The long form can be obtained via \glsentryuseriii{\glslabel}
+ % The plural long form can be obtained via
+ % \glsentryuseriv{\glslabel}
+ \defglsdisplayfirst[#1]{##1##4\protect\footnote{%
+ \glsentryuseriii{\glslabel}: ##2}}%
+ % ##1 corresponds to the 'text' key
+ % the rest as above
+ \defglsdisplay[#1]{##1##4}%
+}
+
+ % Now set the custom acronym style (to override the default style)
+\SetCustomStyle
+
+ % Now define the acronyms (must be done after setting the custom
+ % style)
+
+\newacronym[description={set of tags for use in developing hypertext
+documents}]{html}{html}{Hyper Text Markup Language}
+
+\newacronym[description={language used to describe the layout of a
+document written in a markup language}]{css}{css}{Cascading Style
+Sheet}
+
+\begin{document}
+
+\gls{css}. \gls{html}.
+
+\gls{css}. \gls{html}.
+
+\printglossaries
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sample-custom-acronym.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*sample.tex>
% \end{macrocode}
%\fi
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.ins b/Master/texmf-dist/source/latex/glossaries/glossaries.ins
deleted file mode 100644
index b3065eb8c58..00000000000
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.ins
+++ /dev/null
@@ -1,95 +0,0 @@
-% glossaries.ins generated using makedtx version 0.94b 2010/2/6 13:23
-\input docstrip
-
-\preamble
-
- glossaries.dtx
- Copyright 2010 Nicola Talbot
-
- This work may be distributed and/or modified under the
- conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
- The latest version of this license is in
- http://www.latex-project.org/lppl.txt
- and version 1.3 or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
-
- This work has the LPPL maintenance status `maintained'.
-
- 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, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.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-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy-mc.xdy, database1.tex, database2.tex, glossaries.perl.
-
-\endpreamble
-
-\askforoverwritefalse
-
-\generate{\file{glossaries.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries.sty,package}}
-\file{mfirstuc.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{mfirstuc.sty,package}}
-\file{glossary-hypernav.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-hypernav.sty,package}}
-\file{glossary-list.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-list.sty,package}}
-\file{glossary-long.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-long.sty,package}}
-\file{glossary-longragged.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-longragged.sty,package}}
-\file{glossary-super.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-super.sty,package}}
-\file{glossary-superragged.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-superragged.sty,package}}
-\file{glossary-tree.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-tree.sty,package}}
-\file{glossaries-accsupp.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-accsupp.sty,package}}
-\file{glossaries-babel.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-babel.sty,package}}
-\file{glossaries-polyglossia.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-polyglossia.sty,package}}
-\file{glossaries-dictionary-Brazilian.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Brazilian.dict,package}}
-\file{glossaries-dictionary-Danish.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Danish.dict,package}}
-\file{glossaries-dictionary-Dutch.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Dutch.dict,package}}
-\file{glossaries-dictionary-English.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-English.dict,package}}
-\file{glossaries-dictionary-French.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-French.dict,package}}
-\file{glossaries-dictionary-German.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-German.dict,package}}
-\file{glossaries-dictionary-Irish.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Irish.dict,package}}
-\file{glossaries-dictionary-Italian.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Italian.dict,package}}
-\file{glossaries-dictionary-Magyar.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Magyar.dict,package}}
-\file{glossaries-dictionary-Polish.dict}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Polish.dict,package}}
-\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{sample.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample.tex}}
-\file{sample4col.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample4col.tex}}
-\file{sampleaccsupp.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleaccsupp.tex}}
-\file{sampleAcr.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleAcr.tex}}
-\file{sampleAcrDesc.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleAcrDesc.tex}}
-\file{sampleacronyms.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleacronyms.tex}}
-\file{sampleDB.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleDB.tex}}
-\file{sampleDesc.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleDesc.tex}}
-\file{sampleEq.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleEq.tex}}
-\file{sampleEqPg.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleEqPg.tex}}
-\file{sampleNtn.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleNtn.tex}}
-\file{sampleSec.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleSec.tex}}
-\file{sampletree.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampletree.tex}}
-\file{sampleutf8.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sampleutf8.tex}}
-\file{samplexdy.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy.tex}}
-\file{samplexdy-mc.xdy}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy-mc.xdy}}
-\file{database1.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{database1.tex}}
-\file{database2.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{database2.tex}}
-\file{glossaries.perl}{\nopreamble\nopostamble\from{glossaries.dtx}{glossaries.perl}}
-}
-
-\endbatchfile
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.sty b/Master/texmf-dist/source/latex/glossaries/glossaries.sty
new file mode 100644
index 00000000000..b1cfd0b2f65
--- /dev/null
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.sty
@@ -0,0 +1,3442 @@
+%%
+%% This is file `glossaries.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries.sty,package')
+%%
+%% glossaries.dtx
+%% Copyright 2010 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% 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, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-longragged.sty, glossary-super.sty, glossary-superragged.sty, glossary-tree.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-custom-acronym.tex, sample.tex, sample4col.tex, sampleaccsupp.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleacronyms.tex, sampleDB.tex, sampleDesc.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, sampletree.tex, sampleutf8.tex, samplexdy.tex, samplexdy-mc.xdy, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{glossaries}[2010/06/14 v2.06 (NLCT)]
+\RequirePackage{ifthen}
+\RequirePackage{xkeyval}[2006/11/18]
+\RequirePackage{mfirstuc}
+\RequirePackage{xfor}
+\RequirePackage{amsgen}
+\define@boolkey{glossaries.sty}[gls]{toc}[true]{}
+\define@boolkey{glossaries.sty}[gls]{numberline}[true]{}
+\@ifundefined{chapter}{\newcommand*{\@@glossarysec}{section}}{%
+ \newcommand*{\@@glossarysec}{chapter}}
+\define@choicekey{glossaries.sty}{section}{part,chapter,section,%
+subsection,subsubsection,paragraph,subparagraph}[section]{%
+ \renewcommand*{\@@glossarysec}{#1}}
+\newcommand*{\@@glossarysecstar}{*}
+\newcommand*{\@@glossaryseclabel}{}
+\newcommand*{\glsautoprefix}{}
+\define@choicekey{glossaries.sty}{numberedsection}[\val\nr]{%
+false,nolabel,autolabel}[nolabel]{%
+ \ifcase\nr\relax
+ \renewcommand*{\@@glossarysecstar}{*}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+ \or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+ \or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{%
+ \label{\glsautoprefix\@glo@type}}%
+ \fi
+}
+\newcommand*{\@glossary@default@style}{list}
+\define@key{glossaries.sty}{style}{%
+\renewcommand*{\@glossary@default@style}{#1}}
+\newcommand*{\glossaryentrynumbers}[1]{#1}
+\DeclareOptionX{nonumberlist}{%
+\renewcommand*{\glossaryentrynumbers}[1]{}}
+\newcommand*{\@gls@loadlong}{\RequirePackage{glossary-long}}
+\DeclareOptionX{nolong}{\renewcommand*{\@gls@loadlong}{}}
+\IfFileExists{supertabular.sty}{%
+ \newcommand*{\@gls@loadsuper}{\RequirePackage{glossary-super}}}{%
+ \newcommand*{\@gls@loadsuper}{}}
+\DeclareOptionX{nosuper}{\renewcommand*{\@gls@loadsuper}{}}
+\newcommand*{\@gls@loadlist}{\RequirePackage{glossary-list}}
+\DeclareOptionX{nolist}{\renewcommand*{\@gls@loadlist}{}}
+\newcommand*{\@gls@loadtree}{\RequirePackage{glossary-tree}}
+\DeclareOptionX{notree}{\renewcommand*{\@gls@loadtree}{}}
+\DeclareOptionX{nostyles}{%
+ \renewcommand*{\@gls@loadlong}{}%
+ \renewcommand*{\@gls@loadsuper}{}%
+ \renewcommand*{\@gls@loadlist}{}%
+ \renewcommand*{\@gls@loadtree}{}%
+ \let\@glossary@default@style\relax
+}
+\newcommand*{\glsdefmain}{%
+ \newglossary{main}{gls}{glo}{\glossaryname}%
+}
+\newcommand*{\glsdefaulttype}{main}
+\newcommand*{\acronymtype}{\glsdefaulttype}
+\DeclareOptionX{nomain}{%
+ \let\glsdefaulttype\relax
+ \renewcommand*{\glsdefmain}{}%
+}
+\define@boolkey{glossaries.sty}[gls]{acronym}[true]{%
+ \DeclareAcronymList{acronym}%
+}
+\newcommand*{\@glsacronymlists}{}
+\newcommand*{\@addtoacronymlists}[1]{%
+ \ifx\@glsacronymlists\@empty
+ \protected@xdef\@glsacronymlists{#1}%
+ \else
+ \protected@xdef\@glsacronymlists{\@glsacronymlists,#1}%
+ \fi
+}
+\newcommand*{\DeclareAcronymList}[1]{%
+ \glsIfListOfAcronyms{#1}{}{\@addtoacronymlists{#1}}%
+}
+\newcommand{\glsIfListOfAcronyms}[1]{%
+ \edef\@do@gls@islistofacronyms{%
+ \noexpand\@gls@islistofacronyms{#1}{\@glsacronymlists}}%
+ \@do@gls@islistofacronyms
+}
+\newcommand{\@gls@islistofacronyms}[4]{%
+ \def\gls@islistofacronyms##1,#1,##2\end@gls@islistofacronyms{%
+ \def\@before{##1}\def\@after{##2}}%
+ \gls@islistofacronyms,#2,#1,\@nil\end@gls@islistofacronyms
+ \ifx\@after\@nnil
+ #4%
+ \else
+ #3%
+ \fi
+}
+\newif\if@glsisacronymlist
+\newcommand*{\gls@checkisacronymlist}[1]{%
+ \glsIfListOfAcronyms{#1}%
+ {\@glsisacronymlisttrue}{\@glsisacronymlistfalse}%
+}
+\newcommand*{\SetAcronymLists}[1]{%
+ \renewcommand*{\@glsacronymlists}{#1}%
+}
+\define@key{glossaries.sty}{acronymlists}{%
+ \@addtoacronymlists{#1}%
+}
+\newcommand{\glscounter}{page}
+\define@key{glossaries.sty}{counter}{%
+ \renewcommand*{\glscounter}{#1}%
+}
+\newcommand*{\@gls@sanitizedesc}{\@onelevel@sanitize\@glo@desc}
+\newcommand*{\@gls@sanitizename}{\@onelevel@sanitize\@glo@name}
+\newcommand*{\@gls@sanitizesymbol}{\@onelevel@sanitize\@glo@symbol}
+\define@boolkey[gls]{sanitize}{description}[true]{%
+\ifgls@sanitize@description
+ \renewcommand*{\@gls@sanitizedesc}{\@onelevel@sanitize\@glo@desc}%
+\else
+ \renewcommand*{\@gls@sanitizedesc}{}%
+\fi
+}
+\define@boolkey[gls]{sanitize}{name}[true]{%
+\ifgls@sanitize@name
+ \renewcommand*{\@gls@sanitizename}{\@onelevel@sanitize\@glo@name}%
+\else
+ \renewcommand*{\@gls@sanitizename}{}%
+\fi}
+\define@boolkey[gls]{sanitize}{symbol}[true]{%
+\ifgls@sanitize@symbol
+ \renewcommand*{\@gls@sanitizesymbol}{%
+\@onelevel@sanitize\@glo@symbol}%
+\else
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+\fi}
+\define@key{glossaries.sty}{sanitize}[description=true,symbol=true,
+name=true]{%
+\ifthenelse{\equal{#1}{none}}{%
+\renewcommand*{\@gls@sanitizedesc}{}%
+\renewcommand*{\@gls@sanitizename}{}%
+\renewcommand*{\@gls@sanitizesymbol}{}%
+}{\setkeys[gls]{sanitize}{#1}}%
+}
+\define@boolkey{glossaries.sty}[gls]{translate}[true]{}
+\glstranslatefalse
+\@ifpackageloaded{translator}{\glstranslatetrue}{%
+\@ifpackageloaded{babel}{\glstranslatetrue}{%
+\@ifpackageloaded{polyglossia}{\glstranslatetrue}{}}}
+\define@boolkey{glossaries.sty}[gls]{hyperfirst}[true]{}
+\glshyperfirsttrue
+\define@boolkey{glossaries.sty}[glsacr]{footnote}[true]{%
+\ifthenelse{\boolean{glsacrdescription}}{}%
+{\renewcommand*{\@gls@sanitizedesc}{}}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{description}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{smallcaps}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{smaller}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{dua}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{shortcuts}[true]{}
+\newcommand*{\glsorder}{word}
+\newcommand*{\@glsorder}[1]{}
+\define@choicekey{glossaries.sty}{order}{word,letter}{%
+ \def\glsorder{#1}}
+\newif\ifglsxindy
+\glsxindyfalse
+\DeclareOptionX{makeindex}{\glsxindyfalse}
+\define@boolkey[gls]{xindy}{glsnumbers}[true]{}
+\gls@xindy@glsnumberstrue
+\def\@xdy@main@language{\rootlanguagename}%
+\define@key[gls]{xindy}{language}{\def\@xdy@main@language{#1}}
+\@ifundefined{inputencodingname}{%
+ \def\gls@codepage{}}{%
+ \def\gls@codepage{\inputencodingname}
+}
+\define@key[gls]{xindy}{codepage}{\def\gls@codepage{#1}}
+\define@key{glossaries.sty}{xindy}[]{%
+ \glsxindytrue
+ \setkeys[gls]{xindy}{#1}%
+}
+\newcommand*{\GlossariesWarning}[1]{%
+ \PackageWarning{glossaries}{#1}%
+}
+\newcommand*{\GlossariesWarningNoLine}[1]{%
+ \PackageWarningNoLine{glossaries}{#1}%
+}
+\DeclareOptionX{nowarn}{%
+ \renewcommand*{\GlossariesWarning}[1]{}%
+ \renewcommand*{\GlossariesWarningNoLine}[1]{}%
+}
+\ProcessOptionsX
+\ifglstranslate
+ \@ifpackageloaded{babel}{\IfFileExists{translator.sty}{%
+ \RequirePackage{translator}}{}}{}
+\fi
+\ifthenelse{\equal{\glscounter}{section}}{%
+\@ifundefined{chapter}{}{%
+\let\@gls@old@chapter\@chapter
+\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}%
+\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}}}{}
+\newcommand*{\@gls@onlypremakeg}{}
+\newcommand*{\@onlypremakeg}[1]{%
+\ifx\@gls@onlypremakeg\@empty
+ \def\@gls@onlypremakeg{#1}%
+\else
+ \expandafter\toks@\expandafter{\@gls@onlypremakeg}%
+ \edef\@gls@onlypremakeg{\the\toks@,\noexpand#1}%
+\fi}
+\newcommand*{\@disable@onlypremakeg}{%
+\@for\@thiscs:=\@gls@onlypremakeg\do{%
+ \expandafter\@disable@premakecs\@thiscs%
+}}
+\newcommand*{\@disable@premakecs}[1]{%
+ \def#1{\PackageError{glossaries}{\string#1\space may only be
+ used before \string\makeglossaries}{You can't use
+ \string#1\space after \string\makeglossaries}}%
+}
+\providecommand*{\glossaryname}{Glossary}
+\providecommand*{\acronymname}{Acronyms}
+\newcommand*{\glssettoctitle}[1]{%
+\def\glossarytoctitle{\csname @glotype@#1@title\endcsname}}
+\providecommand*{\entryname}{Notation}
+\providecommand*{\descriptionname}{Description}
+\providecommand*{\symbolname}{Symbol}
+\providecommand*{\pagelistname}{Page List}
+\providecommand*{\glssymbolsgroupname}{Symbols}
+\providecommand*{\glsnumbersgroupname}{Numbers}
+\newcommand*{\glspluralsuffix}{s}
+\providecommand*{\seename}{see}
+\providecommand*{\andname}{\&}
+\newcommand*{\addglossarytocaptions}[1]{%
+ \@ifundefined{captions#1}{}{%
+ \expandafter\let\expandafter\@gls@tmp\csname captions#1\endcsname
+ \expandafter\toks@\expandafter{\@gls@tmp
+ \renewcommand*{\glossaryname}{\translate{Glossary}}%
+ }%
+ \expandafter\edef\csname captions#1\endcsname{\the\toks@}%
+ }%
+}
+\ifglstranslate
+ \@ifpackageloaded{translator}{%
+ \usedictionary{glossaries-dictionary}%
+ \addglossarytocaptions{portuges}%
+ \addglossarytocaptions{portuguese}%
+ \addglossarytocaptions{brazil}%
+ \addglossarytocaptions{brazilian}%
+ \addglossarytocaptions{danish}%
+ \addglossarytocaptions{dutch}%
+ \addglossarytocaptions{afrikaans}%
+ \addglossarytocaptions{english}%
+ \addglossarytocaptions{UKenglish}%
+ \addglossarytocaptions{USenglish}%
+ \addglossarytocaptions{american}%
+ \addglossarytocaptions{australian}%
+ \addglossarytocaptions{british}%
+ \addglossarytocaptions{canadian}%
+ \addglossarytocaptions{newzealand}%
+ \addglossarytocaptions{french}%
+ \addglossarytocaptions{frenchb}%
+ \addglossarytocaptions{francais}%
+ \addglossarytocaptions{acadian}%
+ \addglossarytocaptions{canadien}%
+ \addglossarytocaptions{german}%
+ \addglossarytocaptions{germanb}%
+ \addglossarytocaptions{austrian}%
+ \addglossarytocaptions{naustrian}%
+ \addglossarytocaptions{ngerman}%
+ \addglossarytocaptions{irish}%
+ \addglossarytocaptions{italian}%
+ \addglossarytocaptions{magyar}%
+ \addglossarytocaptions{hungarian}%
+ \addglossarytocaptions{polish}%
+ \addglossarytocaptions{spanish}%
+ \renewcommand*{\glssettoctitle}[1]{%
+ \ifthenelse{\equal{#1}{main}}{%
+ \translatelet{\glossarytoctitle}{Glossary}}{%
+ \ifthenelse{\equal{#1}{acronym}}{%
+ \translatelet{\glossarytoctitle}{Acronyms}}{%
+ \def\glossarytoctitle{\csname @glotype@#1@title\endcsname}}}}%
+ \renewcommand*{\glossaryname}{\translate{Glossary}}%
+ \renewcommand*{\acronymname}{\translate{Acronyms}}%
+ \renewcommand*{\entryname}{\translate{Notation (glossaries)}}%
+ \renewcommand*{\descriptionname}{%
+ \translate{Description (glossaries)}}%
+ \renewcommand*{\symbolname}{\translate{Symbol (glossaries)}}%
+ \renewcommand*{\pagelistname}{%
+ \translate{Page List (glossaries)}}%
+ \renewcommand*{\glssymbolsgroupname}{%
+ \translate{Symbols (glossaries)}}%
+ \renewcommand*{\glsnumbersgroupname}{%
+ \translate{Numbers (glossaries)}}%
+ }{%
+ \@ifpackageloaded{babel}%
+ {\RequirePackage{glossaries-babel}}%
+ {%
+ \@ifpackageloaded{polyglossia}{%
+ \RequirePackage{glossaries-polyglossia}}{}%
+ }}
+\fi
+\newcommand*{\glspostdescription}{.}
+\newcommand*{\nopostdesc}{}
+\newcommand*{\@nopostdesc}{%
+ \let\org@glspostdescription\glspostdescription
+ \def\glspostdescription{%
+ \let\glspostdescription\org@glspostdescription}%
+}
+\newcommand{\glspar}{\par}
+\ifglsxindy
+ \newcommand{\setStyleFile}[1]{%
+ \renewcommand{\istfilename}{#1.xdy}}
+\else
+ \newcommand{\setStyleFile}[1]{%
+ \renewcommand{\istfilename}{#1.ist}}
+\fi
+\@onlypremakeg\setStyleFile
+\ifglsxindy
+ \def\istfilename{\jobname.xdy}
+\else
+ \def\istfilename{\jobname.ist}
+\fi
+\newcommand*{\@istfilename}[1]{}
+\newcommand*{\glscompositor}{.}
+\newcommand*{\glsSetCompositor}[1]{%
+ \renewcommand*{\glscompositor}{#1}}
+\@onlypremakeg\glsSetCompositor
+\newcommand*{\@glsAlphacompositor}{\glscompositor}
+\ifglsxindy
+ \newcommand*\glsSetAlphaCompositor[1]{%
+ \renewcommand*\@glsAlphacompositor{#1}}
+\else
+ \newcommand*\glsSetAlphaCompositor[1]{%
+ \glsnoxindywarning\glsSetAlphaCompositor}
+\fi
+\@onlypremakeg\glsSetAlphaCompositor
+\newcommand*{\gls@suffixF}{}
+\newcommand*{\glsSetSuffixF}[1]{%
+ \renewcommand*{\gls@suffixF}{#1}}
+\@onlypremakeg\glsSetSuffixF
+\newcommand*{\gls@suffixFF}{}
+\newcommand*{\glsSetSuffixFF}[1]{%
+ \renewcommand*{\gls@suffixFF}{#1}}
+\@ifundefined{hyperlink}{%
+\newcommand*{\glsnumberformat}[1]{#1}}{%
+\newcommand*{\glsnumberformat}[1]{\glshypernumber{#1}}}
+\newcommand{\delimN}{, }
+\newcommand{\delimR}{--}
+\newcommand*{\glossarypreamble}{}
+\newcommand*{\glossarypostamble}{}
+\newcommand*{\glossarysection}[2][\@gls@title]{%
+ \def\@gls@title{#2}%
+ \@ifundefined{phantomsection}{%
+ \@glossarysection{#1}{#2}}{\@p@glossarysection{#1}{#2}}%
+ \glossarymark{\glossarytoctitle}%
+}
+\@ifundefined{glossarymark}{%
+ \newcommand{\glossarymark}[1]{\@mkboth{#1}{#1}}
+}{%
+ \GlossariesWarning{overriding \string\glossarymark}%
+ \@ifclassloaded{memoir}%
+ {
+ \renewcommand{\glossarymark}[1]{%
+ \markboth{\memUChead{#1}}{\memUChead{#1}}%
+ }
+ }
+ {
+ \renewcommand{\glossarymark}[1]{\@mkboth{#1}{#1}}
+ }
+}
+\newcommand*{\setglossarysection}[1]{%
+\setkeys{glossaries.sty}{section=#1}}
+\newcommand*{\@glossarysection}[2]{%
+\ifx\@@glossarysecstar\@empty
+ \csname\@@glossarysec\endcsname{#2}%
+\else
+ \csname\@@glossarysec\endcsname*{#2}%
+ \@gls@toc{#1}{\@@glossarysec}%
+\fi
+\@@glossaryseclabel}
+\newcommand*{\@p@glossarysection}[2]{%
+\glsclearpage
+\phantomsection
+\ifx\@@glossarysecstar\@empty
+ \csname\@@glossarysec\endcsname{#2}%
+\else
+ \@gls@toc{#1}{\@@glossarysec}%
+ \csname\@@glossarysec\endcsname*{#2}%
+\fi
+\@@glossaryseclabel}
+\newcommand*{\gls@doclearpage}{%
+\ifthenelse{\equal{\@@glossarysec}{chapter}}{%
+\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}}{}%
+}
+\newcommand*{\glsclearpage}{\gls@doclearpage}
+\newcommand*{\@gls@toc}[2]{%
+\ifglstoc
+ \ifglsnumberline
+ \addcontentsline{toc}{#2}{\numberline{}#1}%
+ \else
+ \addcontentsline{toc}{#2}{#1}%
+ \fi
+\fi}
+\newcommand*{\glsnoxindywarning}[1]{%
+ \GlossariesWarning{Not in xindy mode --- ignoring \string#1}%
+}
+\ifglsxindy
+ \edef\@xdyattributes{\string"default\string"}%
+\fi
+\ifglsxindy
+ \def\@xdylocref{}
+\fi
+\ifglsxindy
+ \newcommand*\GlsAddXdyAttribute[1]{%
+ \edef\@xdyattributes{\@xdyattributes ^^J \string"#1\string"}%
+ \expandafter\toks@\expandafter{\@xdylocref}%
+ \edef\@xdylocref{\the\toks@ ^^J%
+ (markup-locref
+ :open \string"\string~n\string\setentrycounter
+ {\noexpand\glscounter}%
+ \expandafter\string\csname#1\endcsname
+ \expandafter\@gobble\string\{\string" ^^J
+ :close \string"\expandafter\@gobble\string\}\string" ^^J
+ :attr \string"#1\string")}}
+ \@onlypremakeg\GlsAddXdyAttribute
+\else
+ \newcommand*\GlsAddXdyAttribute[1]{%
+ \glsnoxindywarning\GlsAddXdyAttribute}
+\fi
+\ifglsxindy
+ \GlsAddXdyAttribute{glsnumberformat}
+ \GlsAddXdyAttribute{textrm}
+ \GlsAddXdyAttribute{textsf}
+ \GlsAddXdyAttribute{texttt}
+ \GlsAddXdyAttribute{textbf}
+ \GlsAddXdyAttribute{textmd}
+ \GlsAddXdyAttribute{textit}
+ \GlsAddXdyAttribute{textup}
+ \GlsAddXdyAttribute{textsl}
+ \GlsAddXdyAttribute{textsc}
+ \GlsAddXdyAttribute{emph}
+ \GlsAddXdyAttribute{glshypernumber}
+ \GlsAddXdyAttribute{hyperrm}
+ \GlsAddXdyAttribute{hypersf}
+ \GlsAddXdyAttribute{hypertt}
+ \GlsAddXdyAttribute{hyperbf}
+ \GlsAddXdyAttribute{hypermd}
+ \GlsAddXdyAttribute{hyperit}
+ \GlsAddXdyAttribute{hyperup}
+ \GlsAddXdyAttribute{hypersl}
+ \GlsAddXdyAttribute{hypersc}
+ \GlsAddXdyAttribute{hyperemph}
+\fi
+\def\@xdyuseralphabets{}
+\ifglsxindy
+ \newcommand*{\GlsAddXdyAlphabet}[2]{%
+ \edef\@xdyuseralphabets{%
+ \@xdyuseralphabets ^^J
+ (define-alphabet "#1" (#2))}}
+\else
+ \newcommand*{\GlsAddXdyAlphabet}[2]{%
+ \glsnoxindywarning\GlsAddXdyAlphabet}
+\fi
+\def\@xdyuserlocationdefs{}
+\def\@xdyuserlocationnames{}
+\ifglsxindy
+ \newcommand*{\GlsAddXdyLocation}[2]{%
+ \edef\@xdyuserlocationdefs{%
+ \@xdyuserlocationdefs ^^J%
+ (define-location-class \string"#1\string"^^J\space\space
+ \space(#2))
+ }%
+ \edef\@xdyuserlocationnames{%
+ \@xdyuserlocationnames^^J\space\space\space
+ \string"#1\string"}%
+ }
+ \@onlypremakeg\GlsAddXdyLocation
+\else
+ \newcommand*{\GlsAddXdyLocation}[2]{%
+ \glsnoxindywarning\GlsAddXdyLocation}
+\fi
+\ifglsxindy
+ \edef\@xdylocationclassorder{^^J\space\space\space
+ \string"roman-page-numbers\string"^^J\space\space\space
+ \string"arabic-page-numbers\string"^^J\space\space\space
+ \string"arabic-section-numbers\string"^^J\space\space\space
+ \string"alpha-page-numbers\string"^^J\space\space\space
+ \string"Roman-page-numbers\string"^^J\space\space\space
+ \string"Alpha-page-numbers\string"^^J\space\space\space
+ \string"Appendix-page-numbers\string"
+ \@xdyuserlocationnames^^J\space\space\space
+ \string"see\string"
+ }
+\fi
+\ifglsxindy
+ \newcommand*\GlsSetXdyLocationClassOrder[1]{%
+ \def\@xdylocationclassorder{#1}}
+\else
+ \newcommand*\GlsSetXdyLocationClassOrder[1]{%
+ \glsnoxindywarning\GlsSetXdyLocationClassOrder}
+\fi
+\ifglsxindy
+ \def\@xdysortrules{}
+\fi
+\ifglsxindy
+ \newcommand*\GlsAddSortRule[2]{%
+ \expandafter\toks@\expandafter{\@xdysortrules}%
+ \protected@edef\@xdysortrules{\the\toks@ ^^J
+ (sort-rule \string"#1\string" \string"#2\string")}%
+ }
+\else
+ \newcommand*\GlsAddSortRule[2]{%
+ \glsnoxindywarning\GlsAddSortRule}
+\fi
+\ifglsxindy
+ \def\@xdyrequiredstyles{tex}
+\fi
+\ifglsxindy
+ \newcommand*\GlsAddXdyStyle[1]{%
+ \edef\@xdyrequiredstyles{\@xdyrequiredstyles,#1}}%
+\else
+ \newcommand*\GlsAddXdyStyle[1]{%
+ \glsnoxindywarning\GlsAddXdyStyle}
+\fi
+\ifglsxindy
+ \newcommand*\GlsSetXdyStyles[1]{%
+ \edef\@xdyrequiredstyles{#1}}
+\else
+ \newcommand*\GlsSetXdyStyles[1]{%
+ \glsnoxindywarning\GlsSetXdyStyles}
+\fi
+\ifglsxindy
+ \@ifpackageloaded{babel}{%
+ \def\findrootlanguage{\begingroup
+ \escapechar=-1\relax
+ \edef\languagename{%
+ \expandafter\string\csname\languagename\endcsname}%
+ \def\NeedsTeXFormat##1[##2]{}%
+ \def\ProvidesPackage##1[##2]{}%
+ \let\LdfInit\relax
+ \def\languageattribute##1##2{}%
+ \def\DeclareOption##1##2{%
+ \ifx##1*\expandafter\endinput\else
+ \edef\testlanguage{\expandafter\string\csname##1\endcsname}%
+ \ifx\testlanguage\languagename##2\fi
+ \fi}
+ \def\input##1{\stripldf##1}%
+ \def\stripldf##1.ldf{\gdef\rootlanguagename{##1}}%
+ \@@input babel.sty
+ \endgroup}%
+ }{%
+ \@ifpackageloaded{ngerman}{%
+ \def\findrootlanguage{%
+ \def\rootlanguagename{german}}%
+ }{%
+ \def\findrootlanguage{%
+ \def\rootlanguagename{english}}%
+ }%
+ }%
+\fi
+\def\rootlanguagename{english}
+\def\@xdylanguage#1#2{}
+\ifglsxindy
+ \newcommand*\GlsSetXdyLanguage[2][\glsdefaulttype]{%
+ \ifglossaryexists{#1}{%
+ \expandafter\def\csname @xdy@#1@language\endcsname{#2}%
+ }{%
+ \PackageError{glossaries}{Can't set language type for
+ glossary type `#1' --- no such glossary}{%
+ You have specified a glossary type that doesn't exist}}}
+\else
+ \newcommand*\GlsSetXdyLanguage[2][]{%
+ \glsnoxindywarning\GlsSetXdyLanguage}
+\fi
+\def\@gls@codepage#1#2{}
+\ifglsxindy
+ \newcommand*{\GlsSetXdyCodePage}[1]{%
+ \renewcommand*{\gls@codepage}{#1}%
+ }
+\else
+ \newcommand*{\GlsSetXdyCodePage}[1]{%
+ \glsnoxindywarning\GlsSetXdyCodePage}
+\fi
+\ifglsxindy
+ \ifgls@xindy@glsnumbers
+ \def\@xdylettergroups{(define-letter-group
+ \string"glsnumbers\string"^^J\space\space\space
+ :prefixes (\string"0\string" \string"1\string"
+ \string"2\string" \string"3\string" \string"4\string"
+ \string"5\string" \string"6\string" \string"7\string"
+ \string"8\string" \string"9\string")^^J\space\space\space
+ :before \string"\@glsfirstletter\string")}
+ \else
+ \def\@xdylettergroups{}
+ \fi
+\fi
+ \newcommand*\GlsAddLetterGroup[2]{%
+ \expandafter\toks@\expandafter{\@xdylettergroups}%
+ \protected@edef\@xdylettergroups{\the\toks@^^J%
+ (define-letter-group \string"#1\string"^^J\space\space\space#2)}%
+ }%
+\newcommand*{\forallglossaries}[3][\@glo@types]{%
+ \@for#2:=#1\do{\ifx#2\@empty\else#3\fi}%
+}
+\newcommand*{\forglsentries}[3][\glsdefaulttype]{%
+ \edef\@@glo@list{\csname glolist@#1\endcsname}%
+ \@for#2:=\@@glo@list\do{\ifx#2\@empty\else#3\fi}%
+}
+\newcommand*{\forallglsentries}[3][\@glo@types]{%
+\expandafter\forallglossaries\expandafter[#1]{\@@this@glo@}{%
+\forglsentries[\@@this@glo@]{#2}{#3}}}
+\newcommand{\ifglossaryexists}[3]{%
+ \@ifundefined{@glotype@#1@out}{#3}{#2}%
+}
+\newcommand{\ifglsentryexists}[3]{%
+\@ifundefined{glo@#1@name}{#3}{#2}}
+\newcommand*{\ifglsused}[3]{\ifthenelse{\boolean{glo@#1@flag}}{#2}{#3}}
+\newcommand{\glsdoifexists}[2]{%
+ \ifglsentryexists{#1}{#2}{%
+ \PackageError{glossaries}{Glossary entry `#1' has not been
+ defined}{You need to define a glossary entry before you
+ can use it.}}%
+}
+\newcommand{\glsdoifnoexists}[2]{%
+ \ifglsentryexists{#1}{%
+ \PackageError{glossaries}{Glossary entry `#1' has already
+ been defined}{}}{#2}%
+}
+\newcommand*{\@glo@types}{,}
+\newcommand*{\newglossary}[5][glg]{%
+\ifglossaryexists{#2}{%
+ \PackageError{glossaries}{Glossary type `#2' already exists}{%
+ You can't define a new glossary called `#2' because it already
+ exists}%
+}{%
+ \ifx\glsdefaulttype\relax
+ \gdef\glsdefaulttype{#2}%
+ \fi
+ \toks@{#2}\edef\@glo@types{\@glo@types\the\toks@,}%
+ \expandafter\gdef\csname glolist@#2\endcsname{,}%
+ \expandafter\def\csname @glotype@#2@in\endcsname{#3}%
+ \expandafter\def\csname @glotype@#2@out\endcsname{#4}%
+ \expandafter\def\csname @glotype@#2@title\endcsname{#5}%
+ \protected@write\@auxout{}{\string\@newglossary{#2}{#1}{#3}{#4}}%
+ \@ifundefined{gls@#2@display}{%
+ \expandafter\gdef\csname gls@#2@display\endcsname{%
+ \glsdisplay}}{}%
+ \@ifundefined{gls@#2@displayfirst}{%
+ \expandafter\gdef\csname gls@#2@displayfirst\endcsname{%
+ \glsdisplayfirst}}{}%
+ \@ifnextchar[{\@gls@setcounter{#2}}%
+ {\@gls@setcounter{#2}[\glscounter]}}}
+\newcommand*{\altnewglossary}[3]{%
+ \newglossary[#2-glg]{#1}{#2-gls}{#2-glo}{#3}%
+}
+\@onlypreamble{\newglossary}
+\@onlypremakeg\newglossary
+\newcommand*{\@newglossary}[4]{}
+\def\@gls@setcounter#1[#2]{%
+\expandafter\def\csname @glotype@#1@counter\endcsname{#2}%
+}
+\newcommand*{\@gls@getcounter}[1]{%
+\csname @glotype@#1@counter\endcsname}
+\glsdefmain
+\define@key{glossentry}{name}{%
+\def\@glo@name{#1}%
+}
+\define@key{glossentry}{description}{%
+\def\@glo@desc{#1}%
+}
+\define@key{glossentry}{descriptionplural}{%
+\def\@glo@descplural{#1}%
+}
+\define@key{glossentry}{sort}{%
+\def\@glo@sort{#1}}
+\define@key{glossentry}{text}{%
+\def\@glo@text{#1}%
+}
+\define@key{glossentry}{plural}{%
+\def\@glo@plural{#1}%
+}
+\define@key{glossentry}{first}{%
+\def\@glo@first{#1}%
+}
+\define@key{glossentry}{firstplural}{%
+\def\@glo@firstplural{#1}%
+}
+\define@key{glossentry}{symbol}{%
+\def\@glo@symbol{#1}%
+}
+\define@key{glossentry}{symbolplural}{%
+\def\@glo@symbolplural{#1}%
+}
+\define@key{glossentry}{type}{%
+\def\@glo@type{#1}}
+\define@key{glossentry}{counter}{%
+\@ifundefined{c@#1}{\PackageError{glossaries}{There is no counter
+called `#1'}{The counter key should have the name of a valid
+counter as its value}}{%
+\def\@glo@counter{#1}}}
+\define@key{glossentry}{see}{%
+\def\@glo@see{#1}}
+\define@key{glossentry}{parent}{%
+\def\@glo@parent{#1}}
+\define@key{glossentry}{nonumberlist}[none]{%
+\def\@glo@prefix{\glsnonextpages}}
+\define@key{glossentry}{user1}{%
+ \def\@glo@useri{#1}%
+}
+\define@key{glossentry}{user2}{%
+ \def\@glo@userii{#1}%
+}
+\define@key{glossentry}{user3}{%
+ \def\@glo@useriii{#1}%
+}
+\define@key{glossentry}{user4}{%
+ \def\@glo@useriv{#1}%
+}
+\define@key{glossentry}{user5}{%
+ \def\@glo@userv{#1}%
+}
+\define@key{glossentry}{user6}{%
+ \def\@glo@uservi{#1}%
+}
+\newcommand*{\@glsnoname}{%
+ \PackageError{glossaries}{name key required in
+ \string\newglossaryentry\space for entry `\@glo@label'}{You
+ haven't specified the entry name}}
+\newcommand*{\@glsdefaultplural}{\@glo@text\glspluralsuffix}
+\newcommand*{\@glsdefaultsort}{\@glo@name}
+\newcount\gls@level
+\DeclareRobustCommand{\newglossaryentry}[2]{%
+\glsdoifnoexists{#1}{%
+\def\@glo@label{#1}%
+\let\@glo@name\@glsnoname
+\def\@glo@desc{\PackageError{glossaries}{description key required in
+\string\newglossaryentry\space for entry `\@glo@label'}{You haven't specified the entry description}}%
+\def\@glo@descplural{\@glo@desc}%
+\def\@glo@type{\glsdefaulttype}%
+\def\@glo@symbol{\relax}%
+\def\@glo@symbolplural{\@glo@symbol}%
+\def\@glo@text{\@glo@name}%
+\let\@glo@plural\@glsdefaultplural
+\let\@glo@first\relax
+\let\@glo@firstplural\relax
+\let\@glo@sort\@glsdefaultsort
+\def\@glo@counter{\@gls@getcounter{\@glo@type}}%
+\def\@glo@see{}%
+\def\@glo@parent{}%
+\def\@glo@prefix{}%
+\def\@glo@useri{}%
+\def\@glo@userii{}%
+\def\@glo@useriii{}%
+\def\@glo@useriv{}%
+\def\@glo@userv{}%
+\def\@glo@uservi{}%
+ \@newglossaryentryprehook
+\setkeys{glossentry}{#2}%
+\@ifundefined{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}}{%
+\protected@edef\@glolist@{\csname glolist@\@glo@type\endcsname}%
+\expandafter\xdef\csname glolist@\@glo@type\endcsname{\@glolist@{#1},}%
+}%
+\gls@level=0\relax
+\ifx\@glo@parent\@empty
+ \expandafter\gdef\csname glo@#1@parent\endcsname{}%
+\else
+ \ifthenelse{\equal{#1}{\@glo@parent}}{%
+ \PackageError{glossaries}{Entry `#1' can't be its own parent}{}%
+ \def\@glo@parent{}%
+ \expandafter\gdef\csname glo@#1@parent\endcsname{}%
+ }{%
+ \ifglsentryexists{\@glo@parent}{%
+ \expandafter\xdef\csname glo@#1@parent\endcsname{\@glo@parent}%
+ \gls@level=\csname glo@\@glo@parent @level\endcsname\relax
+ \advance\gls@level by 1\relax
+ \ifx\@glo@name\@glsnoname
+ \expandafter\let\expandafter\@glo@name
+ \csname glo@\@glo@parent @name\endcsname
+ \ifx\@glo@plural\@glsdefaultplural
+ \expandafter\let\expandafter\@glo@plural
+ \csname glo@\@glo@parent @plural\endcsname
+ \fi
+ \fi
+ }{%
+ \PackageError{glossaries}{Invalid parent `\@glo@parent'
+ for entry `#1' - parent doesn't exist}{Parent entries
+ must be defined before their children}%
+ \def\@glo@parent{}%
+ \expandafter\gdef\csname glo@#1@parent\endcsname{}%
+ }%
+ }%
+\fi
+\expandafter\xdef\csname glo@#1@level\endcsname{\number\gls@level}%
+\ifx\relax\@glo@firstplural
+ \ifx\relax\@glo@first
+ \def\@glo@firstplural{\@glo@plural}%
+ \def\@glo@first{\@glo@text}%
+ \else
+ \def\@glo@firstplural{\@glo@first\glspluralsuffix}%
+ \fi
+\else
+ \ifx\relax\@glo@first
+ \def\@glo@first{\@glo@text}%
+ \fi
+\fi
+\expandafter
+ \protected@xdef\csname glo@#1@text\endcsname{\@glo@text}%
+\expandafter
+ \protected@xdef\csname glo@#1@plural\endcsname{\@glo@plural}%
+\expandafter
+ \protected@xdef\csname glo@#1@first\endcsname{\@glo@first}%
+\expandafter
+ \protected@xdef\csname glo@#1@firstpl\endcsname{\@glo@firstplural}%
+\expandafter
+ \protected@xdef\csname glo@#1@type\endcsname{\@glo@type}%
+\expandafter
+ \protected@xdef\csname glo@#1@counter\endcsname{\@glo@counter}%
+\expandafter
+ \protected@xdef\csname glo@#1@useri\endcsname{\@glo@useri}%
+\expandafter
+ \protected@xdef\csname glo@#1@userii\endcsname{\@glo@userii}%
+\expandafter
+ \protected@xdef\csname glo@#1@useriii\endcsname{\@glo@useriii}%
+\expandafter
+ \protected@xdef\csname glo@#1@useriv\endcsname{\@glo@useriv}%
+\expandafter
+ \protected@xdef\csname glo@#1@userv\endcsname{\@glo@userv}%
+\expandafter
+ \protected@xdef\csname glo@#1@uservi\endcsname{\@glo@uservi}%
+\@gls@sanitizename
+\expandafter\protected@xdef\csname glo@#1@name\endcsname{\@glo@name}%
+\def\@glo@@desc{\@glo@first}%
+\ifx\@glo@desc\@glo@@desc
+ \let\@glo@desc\@glo@first
+\fi
+\@gls@sanitizedesc
+\expandafter\protected@xdef\csname glo@#1@desc\endcsname{\@glo@desc}%
+\expandafter\protected@xdef\csname glo@#1@descplural\endcsname{\@glo@descplural}%
+\ifx\@glo@sort\@glsdefaultsort
+ \let\@glo@sort\@glo@name
+\fi
+\@onelevel@sanitize\@glo@sort
+\expandafter\protected@xdef\csname glo@#1@sort\endcsname{\@glo@sort}%
+\def\@glo@@symbol{\@glo@text}%
+\ifx\@glo@symbol\@glo@@symbol
+ \let\@glo@symbol\@glo@text
+\fi
+\@gls@sanitizesymbol
+\expandafter\protected@xdef\csname glo@#1@symbol\endcsname{\@glo@symbol}%
+\expandafter\protected@xdef\csname glo@#1@symbolplural\endcsname{\@glo@symbolplural}%
+\expandafter\gdef\csname glo@#1@flagfalse\endcsname{%
+\expandafter\global\expandafter
+\let\csname ifglo@#1@flag\endcsname\iffalse}%
+\expandafter\gdef\csname glo@#1@flagtrue\endcsname{%
+\expandafter\global\expandafter
+\let\csname ifglo@#1@flag\endcsname\iftrue}%
+\csname glo@#1@flagfalse\endcsname
+\ifx\@glo@see\@empty
+\else
+ \protected@edef\@do@glssee{%
+ \noexpand\@gls@fixbraces\noexpand\@glo@list\@glo@see
+ \noexpand\@nil
+ \noexpand\expandafter\noexpand\@glssee\noexpand\@glo@list{#1}}%
+ \@do@glssee
+\fi
+}%
+ \@glo@storeentry{#1}%
+ \@newglossaryentryposthook
+}
+\newcommand*{\@newglossaryentryprehook}{}
+\newcommand*{\@newglossaryentryposthook}{}
+\ifglsxindy
+ \newcommand*{\@glossaryentryfield}{\string\\glossaryentryfield}
+\else
+ \newcommand*{\@glossaryentryfield}{\string\glossaryentryfield}
+\fi
+\ifglsxindy
+ \newcommand*{\@glossarysubentryfield}{%
+ \string\\glossarysubentryfield}
+\else
+ \newcommand*{\@glossarysubentryfield}{%
+ \string\glossarysubentryfield}
+\fi
+\newcommand{\@glo@storeentry}[1]{%
+\protected@edef\@glo@sort{\csname glo@#1@sort\endcsname}%
+\@gls@checkmkidxchars\@glo@sort
+\protected@edef\@@glo@name{\csname glo@#1@name\endcsname}%
+\@gls@checkmkidxchars\@@glo@name
+\ifglsxindy
+ \protected@edef\@glo@name{\string\\glsnamefont{\@@glo@name}}%
+\else
+ \protected@edef\@glo@name{\string\glsnamefont{\@@glo@name}}%
+\fi
+\protected@edef\@glo@desc{\csname glo@#1@desc\endcsname}%
+\@gls@checkmkidxchars\@glo@desc
+\protected@edef\@glo@symbol{\csname glo@#1@symbol\endcsname}%
+\@gls@checkmkidxchars\@glo@symbol
+\@gls@checkmkidxchars\@glo@prefix
+\edef\@glo@parent{\csname glo@#1@parent\endcsname}%
+\ifglsxindy
+ \ifx\@glo@parent\@empty
+ \expandafter\protected@xdef\csname glo@#1@index\endcsname{%
+ (\string"\@glo@sort\string" %
+ \string"\@glo@prefix\@glossaryentryfield{#1}{\@glo@name
+ }{\@glo@desc}{\@glo@symbol}\string") %
+ }%
+ \else
+ \expandafter\protected@xdef\csname glo@#1@index\endcsname{%
+ \csname glo@\@glo@parent @index\endcsname
+ (\string"\@glo@sort\string" %
+ \string"\@glo@prefix\@glossarysubentryfield%
+ {\csname glo@#1@level\endcsname}{#1}{\@glo@name
+ }{\@glo@desc}{\@glo@symbol}\string") %
+ }%
+ \fi
+\else
+ \ifx\@glo@parent\@empty
+ \@onelevel@sanitize\@glo@prefix
+ \expandafter\protected@xdef\csname glo@#1@index\endcsname{%
+ \@glo@sort\@gls@actualchar\@glo@prefix
+ \@glossaryentryfield{#1}{\@glo@name}{\@glo@desc
+ }{\@glo@symbol}%
+ }%
+ \else
+ \expandafter\protected@xdef\csname glo@#1@index\endcsname{%
+ \csname glo@\@glo@parent @index\endcsname\@gls@levelchar
+ \@glo@sort\@gls@actualchar\@glo@prefix
+ \@glossarysubentryfield
+ {\csname glo@#1@level\endcsname}{#1}{\@glo@name}{\@glo@desc
+ }{\@glo@symbol}%
+ }%
+ \fi
+\fi
+}
+\newcommand*{\glsreset}[1]{%
+\glsdoifexists{#1}{%
+\expandafter\global\csname glo@#1@flagfalse\endcsname}}
+\newcommand*{\glslocalreset}[1]{%
+\glsdoifexists{#1}{%
+\expandafter\let\csname ifglo@#1@flag\endcsname\iffalse}}
+\newcommand*{\glsunset}[1]{%
+\glsdoifexists{#1}{%
+\expandafter\global\csname glo@#1@flagtrue\endcsname}}
+\newcommand*{\glslocalunset}[1]{%
+\glsdoifexists{#1}{%
+\expandafter\let\csname ifglo@#1@flag\endcsname\iftrue}}
+\newcommand*{\glsresetall}[1][\@glo@types]{%
+\forallglsentries[#1]{\@glsentry}{%
+\glsreset{\@glsentry}}}
+\newcommand*{\glslocalresetall}[1][\@glo@types]{%
+\forallglsentries[#1]{\@glsentry}{%
+\glslocalreset{\@glsentry}}}
+\newcommand*{\glsunsetall}[1][\@glo@types]{%
+\forallglsentries[#1]{\@glsentry}{%
+\glsunset{\@glsentry}}}
+\newcommand*{\glslocalunsetall}[1][\@glo@types]{%
+\forallglsentries[#1]{\@glsentry}{%
+\glslocalunset{\@glsentry}}}
+\newcommand*{\loadglsentries}[2][\@gls@default]{%
+\let\@gls@default\glsdefaulttype
+\def\glsdefaulttype{#1}\input{#2}%
+\let\glsdefaulttype\@gls@default}
+\@onlypreamble{\loadglsentries}
+\newcommand*{\glstextformat}[1]{#1}
+\newcommand*{\glsdisplayfirst}[4]{#1#4}
+\newcommand*{\glsdisplay}[4]{#1#4}
+\newcommand*{\defglsdisplay}[2][\glsdefaulttype]{%
+\expandafter\def\csname gls@#1@display\endcsname##1##2##3##4{#2}}
+\newcommand*{\defglsdisplayfirst}[2][\glsdefaulttype]{%
+\expandafter\def\csname gls@#1@displayfirst\endcsname##1##2##3##4{#2}}
+\define@key{glslink}{counter}{%
+\@ifundefined{c@#1}{\PackageError{glossaries}{There is no counter
+called `#1'}{The counter key should have the name of a valid
+counter as its value}}{%
+\def\@gls@counter{#1}}}
+\define@key{glslink}{format}{%
+\def\@glsnumberformat{#1}}
+\define@boolkey{glslink}{hyper}[true]{}
+\newcommand{\glslink}{%
+\@ifstar\@sgls@link\@gls@@link}
+\newcommand*{\@sgls@link}[1][]{\@gls@@link[hyper=false,#1]}
+\newcommand*{\@gls@@link}[3][]{%
+ \ifglsentryexists{#2}%
+ {%
+ \@gls@link[#1]{#2}{#3}%
+ }{%
+ \PackageError{glossaries}{Glossary entry `#2' has not been
+ defined}{You need to define a glossary entry before you
+ can use it.}%
+ \glstextformat{#3}%
+ }%
+}
+\def\@gls@link[#1]#2#3{%
+ \leavevmode
+ \def\glslabel{#2}%
+ \def\@glsnumberformat{glsnumberformat}%
+ \edef\@gls@counter{\csname glo@#2@counter\endcsname}%
+ \KV@glslink@hypertrue
+ \setkeys{glslink}{#1}%
+ \edef\theglsentrycounter{\expandafter\noexpand
+ \csname the\@gls@counter\endcsname}%
+ \@do@wrglossary{#2}%
+ \ifKV@glslink@hyper
+ \@glslink{glo:#2}{\glstextformat{#3}}%
+ \else
+ \glstextformat{#3}\relax
+ \fi
+}
+\def\@set@glo@numformat#1#2#3{%
+\expandafter\@glo@check@mkidxrangechar#3\@nil
+\protected@edef#1{\@glo@prefix setentrycounter{#2}%
+\expandafter\string\csname\@glo@suffix\endcsname}%
+\@gls@checkmkidxchars#1}
+\def\@glo@check@mkidxrangechar#1#2\@nil{%
+\if#1(\relax
+ \def\@glo@prefix{(}%
+ \if\relax#2\relax
+ \def\@glo@suffix{glsnumberformat}%
+ \else
+ \def\@glo@suffix{#2}%
+ \fi
+\else
+ \if#1)\relax
+ \def\@glo@prefix{)}%
+ \if\relax#2\relax
+ \def\@glo@suffix{glsnumberformat}%
+ \else
+ \def\@glo@suffix{#2}%
+ \fi
+ \else
+ \def\@glo@prefix{}\def\@glo@suffix{#1#2}%
+ \fi
+\fi}
+\newcommand*{\@gls@escbsdq}[1]{%
+ \def\@gls@checkedmkidx{}%
+ \let\gls@xdystring=#1\relax
+ \@onelevel@sanitize\gls@xdystring
+ \edef\do@gls@xdycheckbackslash{%
+ \noexpand\@gls@xdycheckbackslash\gls@xdystring\noexpand\@nil
+ \@backslashchar\@backslashchar\noexpand\null}%
+ \do@gls@xdycheckbackslash
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{\gls@xdystring}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@xdycheckquote\gls@xdystring\@nil""\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{\gls@xdystring}%
+ \let#1=\gls@xdystring
+}
+\newcommand{\@gls@checkmkidxchars}[1]{%
+\ifglsxindy
+ \@gls@escbsdq{#1}%
+\else
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checkquote#1\@nil""\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checkescquote#1\@nil\"\"\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checkescactual#1\@nil\?\?\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checkactual#1\@nil??\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checkbar#1\@nil||\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checkescbar#1\@nil\|\|\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+ \def\@gls@checkedmkidx{}%
+ \expandafter\@gls@checklevel#1\@nil!!\null
+ \expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
+\fi
+}
+\def\@gls@updatechecked#1\@nil#2{\def#2{#1}}
+\newtoks\@gls@tmpb
+\def\@gls@checkquote#1"#2"#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkquote{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@quotechar\@gls@quotechar\@gls@quotechar}%
+ \def\@@gls@checkquote{\@gls@checkquote#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@quotechar}%
+ \ifx\null#3\null
+ \def\@@gls@checkquote{\@gls@checkquote#2""\null}%
+ \else
+ \def\@@gls@checkquote{\@gls@checkquote#2"#3\null}%
+ \fi
+\fi
+\@@gls@checkquote}
+\def\@gls@checkescquote#1\"#2\"#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkescquote{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@quotechar
+ \@gls@quotechar\string\"\@gls@quotechar}%
+ \def\@@gls@checkescquote{\@gls@checkescquote#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@quotechar}%
+ \ifx\null#3\null
+ \def\@@gls@checkescquote{\@gls@checkescquote#2\"\"\null}%
+ \else
+ \def\@@gls@checkescquote{\@gls@checkescquote#2\"#3\null}%
+ \fi
+\fi
+\@@gls@checkescquote}
+\def\@gls@checkescactual#1\?#2\?#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkescactual{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@actualchar
+ \@gls@quotechar\string\"\@gls@actualchar}%
+ \def\@@gls@checkescactual{\@gls@checkescactual#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@actualchar}%
+ \ifx\null#3\null
+ \def\@@gls@checkescactual{\@gls@checkescactual#2\?\?\null}%
+ \else
+ \def\@@gls@checkescactual{\@gls@checkescactual#2\?#3\null}%
+ \fi
+\fi
+\@@gls@checkescactual}
+\def\@gls@checkescbar#1\|#2\|#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkescbar{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@encapchar
+ \@gls@quotechar\string\"\@gls@encapchar}%
+ \def\@@gls@checkescbar{\@gls@checkescbar#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@encapchar}%
+ \ifx\null#3\null
+ \def\@@gls@checkescbar{\@gls@checkescbar#2\|\|\null}%
+ \else
+ \def\@@gls@checkescbar{\@gls@checkescbar#2\|#3\null}%
+ \fi
+\fi
+\@@gls@checkescbar}
+\def\@gls@checkesclevel#1\!#2\!#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkesclevel{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@levelchar
+ \@gls@quotechar\string\"\@gls@levelchar}%
+ \def\@@gls@checkesclevel{\@gls@checkesclevel#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\string\"\@gls@levelchar}%
+ \ifx\null#3\null
+ \def\@@gls@checkesclevel{\@gls@checkesclevel#2\!\!\null}%
+ \else
+ \def\@@gls@checkesclevel{\@gls@checkesclevel#2\!#3\null}%
+ \fi
+\fi
+\@@gls@checkesclevel}
+\def\@gls@checkbar#1|#2|#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkbar{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@encapchar\@gls@quotechar\@gls@encapchar}%
+ \def\@@gls@checkbar{\@gls@checkbar#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@encapchar}%
+ \ifx\null#3\null
+ \def\@@gls@checkbar{\@gls@checkbar#2||\null}%
+ \else
+ \def\@@gls@checkbar{\@gls@checkbar#2|#3\null}%
+ \fi
+\fi
+\@@gls@checkbar}
+\def\@gls@checklevel#1!#2!#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checklevel{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@levelchar\@gls@quotechar\@gls@levelchar}%
+ \def\@@gls@checklevel{\@gls@checklevel#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@levelchar}%
+ \ifx\null#3\null
+ \def\@@gls@checklevel{\@gls@checklevel#2!!\null}%
+ \else
+ \def\@@gls@checklevel{\@gls@checklevel#2!#3\null}%
+ \fi
+\fi
+\@@gls@checklevel}
+\def\@gls@checkactual#1?#2?#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@checkactual{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@actualchar\@gls@quotechar\@gls@actualchar}%
+ \def\@@gls@checkactual{\@gls@checkactual#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \@gls@quotechar\@gls@actualchar}%
+ \ifx\null#3\null
+ \def\@@gls@checkactual{\@gls@checkactual#2??\null}%
+ \else
+ \def\@@gls@checkactual{\@gls@checkactual#2?#3\null}%
+ \fi
+\fi
+\@@gls@checkactual}
+\def\@gls@xdycheckquote#1"#2"#3\null{%
+\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
+\toks@={#1}%
+\ifx\null#2\null
+ \ifx\null#3\null
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}%
+ \def\@@gls@xdycheckquote{\relax}%
+ \else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \string\"\string\"}%
+ \def\@@gls@xdycheckquote{\@gls@xdycheckquote#3\null}%
+ \fi
+\else
+ \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@
+ \string\"}%
+ \ifx\null#3\null
+ \def\@@gls@xdycheckquote{\@gls@xdycheckquote#2""\null}%
+ \else
+ \def\@@gls@xdycheckquote{\@gls@xdycheckquote#2"#3\null}%
+ \fi
+\fi
+\@@gls@xdycheckquote
+}
+\edef\def@gls@xdycheckbackslash{%
+ \noexpand\def\noexpand\@gls@xdycheckbackslash##1\@backslashchar
+ ##2\@backslashchar##3\noexpand\null{%
+ \noexpand\@gls@tmpb=\noexpand\expandafter
+ {\noexpand\@gls@checkedmkidx}%
+ \noexpand\toks@={##1}%
+ \noexpand\ifx\noexpand\null##2\noexpand\null
+ \noexpand\ifx\noexpand\null##3\noexpand\null
+ \noexpand\edef\noexpand\@gls@checkedmkidx{%
+ \noexpand\the\noexpand\@gls@tmpb\noexpand\the\noexpand\toks@}%
+ \noexpand\def\noexpand\@@gls@xdycheckbackslash{\relax}%
+ \noexpand\else
+ \noexpand\edef\noexpand\@gls@checkedmkidx{%
+ \noexpand\the\noexpand\@gls@tmpb\noexpand\the\noexpand\toks@
+ \@backslashchar\@backslashchar\@backslashchar\@backslashchar}%
+ \noexpand\def\noexpand\@@gls@xdycheckbackslash{%
+ \noexpand\@gls@xdycheckbackslash##3\noexpand\null}%
+ \noexpand\fi
+ \noexpand\else
+ \noexpand\edef\noexpand\@gls@checkedmkidx{%
+ \noexpand\the\noexpand\@gls@tmpb\noexpand\the\noexpand\toks@
+ \@backslashchar\@backslashchar}%
+ \noexpand\ifx\noexpand\null##3\noexpand\null
+ \noexpand\def\noexpand\@@gls@xdycheckbackslash{%
+ \noexpand\@gls@xdycheckbackslash##2\@backslashchar
+ \@backslashchar\noexpand\null}%
+ \noexpand\else
+ \noexpand\def\noexpand\@@gls@xdycheckbackslash{%
+ \noexpand\@gls@xdycheckbackslash##2\@backslashchar
+ ##3\noexpand\null}%
+ \noexpand\fi
+ \noexpand\fi
+ \noexpand\@@gls@xdycheckbackslash
+ }%
+}
+\def@gls@xdycheckbackslash
+\@ifundefined{hyperlink}{%
+ \gdef\@glslink#1#2{#2}%
+}{%
+ \gdef\@glslink#1#2{\hyperlink{#1}{#2}}%
+}
+\newlength\gls@tmplen
+\@ifundefined{hypertarget}{%
+ \gdef\@glstarget#1#2{#2}%
+}{%
+ \gdef\@glstarget#1#2{%
+ \settoheight{\gls@tmplen}{#2}%
+ \raisebox{\gls@tmplen}{\hypertarget{#1}{}}#2}%
+}
+\newcommand{\glsdisablehyper}{%
+\renewcommand*\@glslink[2]{##2}%
+\renewcommand*\@glstarget[2]{##2}}
+\newcommand{\glsenablehyper}{%
+\renewcommand*\@glslink[2]{\hyperlink{##1}{##2}}%
+\renewcommand*\@glstarget[2]{%
+ \settoheight{\gls@tmplen}{##2}%
+ \raisebox{\gls@tmplen}{\hypertarget{##1}{}}##2}}
+\newcommand*{\gls}{\@ifstar\@sgls\@gls}
+\newcommand*{\@sgls}[1][]{\@gls[hyper=false,#1]}
+\newcommand*{\@gls}[2][]{%
+\new@ifnextchar[{\@gls@{#1}{#2}}{\@gls@{#1}{#2}[]}}
+\def\@gls@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+\ifglsused{#2}%
+{%
+ \def\@glo@text{%
+ \csname gls@\@glo@type @display\endcsname
+ {\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+}%
+{%
+ \def\@glo@text{%
+ \csname gls@\@glo@type @displayfirst\endcsname
+ {\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+}%
+\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}%
+ }%
+}%
+\glsunset{#2}}%
+}
+\newcommand*{\Gls}{\@ifstar\@sGls\@Gls}
+\newcommand*{\@sGls}[1][]{\@Gls[hyper=false,#1]}
+\newcommand*{\@Gls}[2][]{%
+\new@ifnextchar[{\@Gls@{#1}{#2}}{\@Gls@{#1}{#2}[]}}
+\def\@Gls@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+\def\glslabel{#2}%
+\ifglsused{#2}%
+{%
+ \protected@edef\@glo@text{%
+ \csname gls@\@glo@type @display\endcsname
+ {\glsentrytext{#2}}{\glsentrydesc{#2}}%
+ {\glsentrysymbol{#2}}{#3}}%
+}%
+{%
+ \protected@edef\@glo@text{%
+ \csname gls@\@glo@type @displayfirst\endcsname
+ {\glsentryfirst{#2}}{\glsentrydesc{#2}}%
+ {\glsentrysymbol{#2}}{#3}}%
+}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}}%
+}{%
+ \gls@checkisacronymlist\@glo@type
+ \ifthenelse{\(\boolean{@glsisacronymlist}\AND
+ \boolean{glsacrfootnote}\) \OR \NOT\boolean{glshyperfirst}}{%
+ \@gls@link[#1,hyper=false]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}}%
+ }{%
+ \@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}}%
+ }%
+}%
+\glsunset{#2}}%
+}
+\newcommand*{\GLS}{\@ifstar\@sGLS\@GLS}
+\newcommand*{\@sGLS}[1][]{\@GLS[hyper=false,#1]}
+\newcommand*{\@GLS}[2][]{%
+\new@ifnextchar[{\@GLS@{#1}{#2}}{\@GLS@{#1}{#2}[]}}
+\def\@GLS@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+\ifglsused{#2}{\def\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
+\def\@glo@text{%
+\csname gls@\@glo@type @displayfirst\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}{%
+ \gls@checkisacronymlist\@glo@type
+ \ifthenelse{\(\boolean{@glsisacronymlist}\AND
+ \boolean{glsacrfootnote}\) \OR \NOT\boolean{glshyperfirst}}{%
+ \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}%
+ }{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+ }%
+}%
+\glsunset{#2}}%
+}
+\newcommand*{\glspl}{\@ifstar\@sglspl\@glspl}
+\newcommand*{\@sglspl}[1][]{\@glspl[hyper=false,#1]}
+\newcommand*{\@glspl}[2][]{%
+\new@ifnextchar[{\@glspl@{#1}{#2}}{\@glspl@{#1}{#2}[]}}
+\def\@glspl@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+\ifglsused{#2}%
+{%
+ \def\@glo@text{%
+ \csname gls@\@glo@type @display\endcsname
+ {\glsentryplural{#2}}{\glsentrydescplural{#2}}%
+ {\glsentrysymbolplural{#2}}{#3}}%
+}%
+{%
+ \def\@glo@text{%
+ \csname gls@\@glo@type @displayfirst\endcsname
+ {\glsentryfirstplural{#2}}{\glsentrydescplural{#2}}%
+ {\glsentrysymbolplural{#2}}{#3}}%
+}%
+\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}%
+ }%
+}%
+\glsunset{#2}}%
+}
+\newcommand*{\Glspl}{\@ifstar\@sGlspl\@Glspl}
+\newcommand*{\@sGlspl}[1][]{\@Glspl[hyper=false,#1]}
+\newcommand*{\@Glspl}[2][]{%
+\new@ifnextchar[{\@Glspl@{#1}{#2}}{\@Glspl@{#1}{#2}[]}}
+\def\@Glspl@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+\def\glslabel{#2}%
+\ifglsused{#2}%
+{%
+ \protected@edef\@glo@text{%
+ \csname gls@\@glo@type @display\endcsname
+ {\glsentryplural{#2}}{\glsentrydescplural{#2}}%
+ {\glsentrysymbolplural{#2}}{#3}}%
+}%
+{%
+ \protected@edef\@glo@text{%
+ \csname gls@\@glo@type @displayfirst\endcsname
+ {\glsentryfirstplural{#2}}{\glsentrydescplural{#2}}%
+ {\glsentrysymbolplural{#2}}{#3}}%
+}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}}%
+}{%
+ \gls@checkisacronymlist\@glo@type
+ \ifthenelse{\(\boolean{@glsisacronymlist}\AND
+ \boolean{glsacrfootnote}\) \OR \NOT\boolean{glshyperfirst}}{%
+ \@gls@link[#1,hyper=false]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}}%
+ }{%
+ \@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}}%
+ }%
+}%
+\glsunset{#2}}%
+}
+\newcommand*{\GLSpl}{\@ifstar\@sGLSpl\@GLSpl}
+\newcommand*{\@sGLSpl}[1][]{\@GLSpl[hyper=false,#1]}
+\newcommand*{\@GLSpl}[2][]{%
+\new@ifnextchar[{\@GLSpl@{#1}{#2}}{\@GLSpl@{#1}{#2}[]}}
+\def\@GLSpl@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+\ifglsused{#2}{\def\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydescplural{#2}}{%
+\glsentrysymbolplural{#2}}{#3}}}{%
+\def\@glo@text{%
+\csname gls@\@glo@type @displayfirst\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydescplural{#2}}{%
+\glsentrysymbolplural{#2}}{#3}}}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}{%
+ \gls@checkisacronymlist\@glo@type
+ \ifthenelse{\(\boolean{@glsisacronymlist}\AND
+ \boolean{glsacrfootnote}\) \OR \NOT\boolean{glshyperfirst}}{%
+ \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}%
+ }{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+ }%
+}%
+\glsunset{#2}}%
+}
+\newcommand*{\glsdisp}{\@ifstar\@sglsdisp\@glsdisp}
+\newcommand*{\@sglsdisp}[1][]{\@glsdisp[hyper=false,#1]}
+\newcommand*{\@glsdisp}[3][]{%
+ \glsdoifexists{#2}{%
+ \edef\@glo@type{\glsentrytype{#2}}%
+ \def\@gls@link@opts{#1}%
+ \def\@gls@link@label{#2}%
+ \ifglsused{#2}%
+ {%
+ \def\@glo@text{%
+ \csname gls@\@glo@type @display\endcsname
+ {#3}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{}}%
+ }%
+ {%
+ \def\@glo@text{%
+ \csname gls@\@glo@type @displayfirst\endcsname
+ {#3}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{}}%
+ }%
+ \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}%
+ }%
+ }%
+ \glsunset{#2}%
+ }%
+}
+\newcommand*{\glstext}{\@ifstar\@sglstext\@glstext}
+\newcommand*{\@sglstext}[1][]{\@glstext[hyper=false,#1]}
+\newcommand*{\@glstext}[2][]{%
+\new@ifnextchar[{\@glstext@{#1}{#2}}{\@glstext@{#1}{#2}[]}}
+\def\@glstext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrytext{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\GLStext}{\@ifstar\@sGLStext\@GLStext}
+\newcommand*{\@sGLStext}[1][]{\@GLStext[hyper=false,#1]}
+\newcommand*{\@GLStext}[2][]{%
+\new@ifnextchar[{\@GLStext@{#1}{#2}}{\@GLStext@{#1}{#2}[]}}
+\def\@GLStext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrytext{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\Glstext}{\@ifstar\@sGlstext\@Glstext}
+\newcommand*{\@sGlstext}[1][]{\@Glstext[hyper=false,#1]}
+\newcommand*{\@Glstext}[2][]{%
+\new@ifnextchar[{\@Glstext@{#1}{#2}}{\@Glstext@{#1}{#2}[]}}
+\def\@Glstext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrytext{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\glsfirst}{\@ifstar\@sglsfirst\@glsfirst}
+\newcommand*{\@sglsfirst}[1][]{\@glsfirst[hyper=false,#1]}
+\newcommand*{\@glsfirst}[2][]{%
+\new@ifnextchar[{\@glsfirst@{#1}{#2}}{\@glsfirst@{#1}{#2}[]}}
+\def\@glsfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryfirst{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsfirst}{\@ifstar\@sGlsfirst\@Glsfirst}
+\newcommand*{\@sGlsfirst}[1][]{\@Glsfirst[hyper=false,#1]}
+\newcommand*{\@Glsfirst}[2][]{%
+\new@ifnextchar[{\@Glsfirst@{#1}{#2}}{\@Glsfirst@{#1}{#2}[]}}
+\def\@Glsfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryfirst{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSfirst}{\@ifstar\@sGLSfirst\@GLSfirst}
+\newcommand*{\@sGLSfirst}[1][]{\@GLSfirst[hyper=false,#1]}
+\newcommand*{\@GLSfirst}[2][]{%
+\new@ifnextchar[{\@GLSfirst@{#1}{#2}}{\@GLSfirst@{#1}{#2}[]}}
+\def\@GLSfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryfirst{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsplural}{\@ifstar\@sglsplural\@glsplural}
+\newcommand*{\@sglsplural}[1][]{\@glsplural[hyper=false,#1]}
+\newcommand*{\@glsplural}[2][]{%
+\new@ifnextchar[{\@glsplural@{#1}{#2}}{\@glsplural@{#1}{#2}[]}}
+\def\@glsplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryplural{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsplural}{\@ifstar\@sGlsplural\@Glsplural}
+\newcommand*{\@sGlsplural}[1][]{\@Glsplural[hyper=false,#1]}
+\newcommand*{\@Glsplural}[2][]{%
+\new@ifnextchar[{\@Glsplural@{#1}{#2}}{\@Glsplural@{#1}{#2}[]}}
+\def\@Glsplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryplural{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSplural}{\@ifstar\@sGLSplural\@GLSplural}
+\newcommand*{\@sGLSplural}[1][]{\@GLSplural[hyper=false,#1]}
+\newcommand*{\@GLSplural}[2][]{%
+\new@ifnextchar[{\@GLSplural@{#1}{#2}}{\@GLSplural@{#1}{#2}[]}}
+\def\@GLSplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryplural{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsfirstplural}{\@ifstar\@sglsfirstplural\@glsfirstplural}
+\newcommand*{\@sglsfirstplural}[1][]{\@glsfirstplural[hyper=false,#1]}
+\newcommand*{\@glsfirstplural}[2][]{%
+\new@ifnextchar[{\@glsfirstplural@{#1}{#2}}{\@glsfirstplural@{#1}{#2}[]}}
+\def\@glsfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryfirstplural{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsfirstplural}{\@ifstar\@sGlsfirstplural\@Glsfirstplural}
+\newcommand*{\@sGlsfirstplural}[1][]{\@Glsfirstplural[hyper=false,#1]}
+\newcommand*{\@Glsfirstplural}[2][]{%
+\new@ifnextchar[{\@Glsfirstplural@{#1}{#2}}{\@Glsfirstplural@{#1}{#2}[]}}
+\def\@Glsfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryfirstplural{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSfirstplural}{\@ifstar\@sGLSfirstplural\@GLSfirstplural}
+\newcommand*{\@sGLSfirstplural}[1][]{\@GLSfirstplural[hyper=false,#1]}
+\newcommand*{\@GLSfirstplural}[2][]{%
+\new@ifnextchar[{\@GLSfirstplural@{#1}{#2}}{\@GLSfirstplural@{#1}{#2}[]}}
+\def\@GLSfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryfirstplural{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsname}{\@ifstar\@sglsname\@glsname}
+\newcommand*{\@sglsname}[1][]{\@glsname[hyper=false,#1]}
+\newcommand*{\@glsname}[2][]{%
+\new@ifnextchar[{\@glsname@{#1}{#2}}{\@glsname@{#1}{#2}[]}}
+\def\@glsname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryname{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsname}{\@ifstar\@sGlsname\@Glsname}
+\newcommand*{\@sGlsname}[1][]{\@Glsname[hyper=false,#1]}
+\newcommand*{\@Glsname}[2][]{%
+\new@ifnextchar[{\@Glsname@{#1}{#2}}{\@Glsname@{#1}{#2}[]}}
+\def\@Glsname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryname{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSname}{\@ifstar\@sGLSname\@GLSname}
+\newcommand*{\@sGLSname}[1][]{\@GLSname[hyper=false,#1]}
+\newcommand*{\@GLSname}[2][]{%
+\new@ifnextchar[{\@GLSname@{#1}{#2}}{\@GLSname@{#1}{#2}[]}}
+\def\@GLSname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryname{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsdesc}{\@ifstar\@sglsdesc\@glsdesc}
+\newcommand*{\@sglsdesc}[1][]{\@glsdesc[hyper=false,#1]}
+\newcommand*{\@glsdesc}[2][]{%
+\new@ifnextchar[{\@glsdesc@{#1}{#2}}{\@glsdesc@{#1}{#2}[]}}
+\def\@glsdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrydesc{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsdesc}{\@ifstar\@sGlsdesc\@Glsdesc}
+\newcommand*{\@sGlsdesc}[1][]{\@Glsdesc[hyper=false,#1]}
+\newcommand*{\@Glsdesc}[2][]{%
+\new@ifnextchar[{\@Glsdesc@{#1}{#2}}{\@Glsdesc@{#1}{#2}[]}}
+\def\@Glsdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrydesc{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSdesc}{\@ifstar\@sGLSdesc\@GLSdesc}
+\newcommand*{\@sGLSdesc}[1][]{\@GLSdesc[hyper=false,#1]}
+\newcommand*{\@GLSdesc}[2][]{%
+\new@ifnextchar[{\@GLSdesc@{#1}{#2}}{\@GLSdesc@{#1}{#2}[]}}
+\def\@GLSdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrydesc{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsdescplural}{\@ifstar\@sglsdescplural\@glsdescplural}
+\newcommand*{\@sglsdescplural}[1][]{\@glsdescplural[hyper=false,#1]}
+\newcommand*{\@glsdescplural}[2][]{%
+\new@ifnextchar[{\@glsdescplural@{#1}{#2}}{\@glsdescplural@{#1}{#2}[]}}
+\def\@glsdescplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrydescplural{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsdescplural}{\@ifstar\@sGlsdescplural\@Glsdescplural}
+\newcommand*{\@sGlsdescplural}[1][]{\@Glsdescplural[hyper=false,#1]}
+\newcommand*{\@Glsdescplural}[2][]{%
+\new@ifnextchar[{\@Glsdescplural@{#1}{#2}}{\@Glsdescplural@{#1}{#2}[]}}
+\def\@Glsdescplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrydescplural{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSdescplural}{\@ifstar\@sGLSdescplural\@GLSdescplural}
+\newcommand*{\@sGLSdescplural}[1][]{\@GLSdescplural[hyper=false,#1]}
+\newcommand*{\@GLSdescplural}[2][]{%
+\new@ifnextchar[{\@GLSdescplural@{#1}{#2}}{\@GLSdescplural@{#1}{#2}[]}}
+\def\@GLSdescplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrydescplural{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glssymbol}{\@ifstar\@sglssymbol\@glssymbol}
+\newcommand*{\@sglssymbol}[1][]{\@glssymbol[hyper=false,#1]}
+\newcommand*{\@glssymbol}[2][]{%
+\new@ifnextchar[{\@glssymbol@{#1}{#2}}{\@glssymbol@{#1}{#2}[]}}
+\def\@glssymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrysymbol{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glssymbol}{\@ifstar\@sGlssymbol\@Glssymbol}
+\newcommand*{\@sGlssymbol}[1][]{\@Glssymbol[hyper=false,#1]}
+\newcommand*{\@Glssymbol}[2][]{%
+\new@ifnextchar[{\@Glssymbol@{#1}{#2}}{\@Glssymbol@{#1}{#2}[]}}
+\def\@Glssymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrysymbol{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSsymbol}{\@ifstar\@sGLSsymbol\@GLSsymbol}
+\newcommand*{\@sGLSsymbol}[1][]{\@GLSsymbol[hyper=false,#1]}
+\newcommand*{\@GLSsymbol}[2][]{%
+\new@ifnextchar[{\@GLSsymbol@{#1}{#2}}{\@GLSsymbol@{#1}{#2}[]}}
+\def\@GLSsymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrysymbol{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glssymbolplural}{\@ifstar\@sglssymbolplural\@glssymbolplural}
+\newcommand*{\@sglssymbolplural}[1][]{\@glssymbolplural[hyper=false,#1]}
+\newcommand*{\@glssymbolplural}[2][]{%
+\new@ifnextchar[{\@glssymbolplural@{#1}{#2}}{\@glssymbolplural@{#1}{#2}[]}}
+\def\@glssymbolplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrysymbolplural{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glssymbolplural}{\@ifstar\@sGlssymbolplural\@Glssymbolplural}
+\newcommand*{\@sGlssymbolplural}[1][]{\@Glssymbolplural[hyper=false,#1]}
+\newcommand*{\@Glssymbolplural}[2][]{%
+\new@ifnextchar[{\@Glssymbolplural@{#1}{#2}}{\@Glssymbolplural@{#1}{#2}[]}}
+\def\@Glssymbolplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrysymbolplural{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSsymbolplural}{\@ifstar\@sGLSsymbolplural\@GLSsymbolplural}
+\newcommand*{\@sGLSsymbolplural}[1][]{\@GLSsymbolplural[hyper=false,#1]}
+\newcommand*{\@GLSsymbolplural}[2][]{%
+\new@ifnextchar[{\@GLSsymbolplural@{#1}{#2}}{\@GLSsymbolplural@{#1}{#2}[]}}
+\def\@GLSsymbolplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentrysymbolplural{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsuseri}{\@ifstar\@sglsuseri\@glsuseri}
+\newcommand*{\@sglsuseri}[1][]{\@glsuseri[hyper=false,#1]}
+\newcommand*{\@glsuseri}[2][]{%
+\new@ifnextchar[{\@glsuseri@{#1}{#2}}{\@glsuseri@{#1}{#2}[]}}
+\def\@glsuseri@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseri{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsuseri}{\@ifstar\@sGlsuseri\@Glsuseri}
+\newcommand*{\@sGlsuseri}[1][]{\@Glsuseri[hyper=false,#1]}
+\newcommand*{\@Glsuseri}[2][]{%
+\new@ifnextchar[{\@Glsuseri@{#1}{#2}}{\@Glsuseri@{#1}{#2}[]}}
+\def\@Glsuseri@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseri{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSuseri}{\@ifstar\@sGLSuseri\@GLSuseri}
+\newcommand*{\@sGLSuseri}[1][]{\@GLSuseri[hyper=false,#1]}
+\newcommand*{\@GLSuseri}[2][]{%
+\new@ifnextchar[{\@GLSuseri@{#1}{#2}}{\@GLSuseri@{#1}{#2}[]}}
+\def\@GLSuseri@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseri{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsuserii}{\@ifstar\@sglsuserii\@glsuserii}
+\newcommand*{\@sglsuserii}[1][]{\@glsuserii[hyper=false,#1]}
+\newcommand*{\@glsuserii}[2][]{%
+\new@ifnextchar[{\@glsuserii@{#1}{#2}}{\@glsuserii@{#1}{#2}[]}}
+\def\@glsuserii@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuserii{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsuserii}{\@ifstar\@sGlsuserii\@Glsuserii}
+\newcommand*{\@sGlsuserii}[1][]{\@Glsuserii[hyper=false,#1]}
+\newcommand*{\@Glsuserii}[2][]{%
+\new@ifnextchar[{\@Glsuserii@{#1}{#2}}{\@Glsuserii@{#1}{#2}[]}}
+\def\@Glsuserii@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuserii{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSuserii}{\@ifstar\@sGLSuserii\@GLSuserii}
+\newcommand*{\@sGLSuserii}[1][]{\@GLSuserii[hyper=false,#1]}
+\newcommand*{\@GLSuserii}[2][]{%
+\new@ifnextchar[{\@GLSuserii@{#1}{#2}}{\@GLSuserii@{#1}{#2}[]}}
+\def\@GLSuserii@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuserii{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsuseriii}{\@ifstar\@sglsuseriii\@glsuseriii}
+\newcommand*{\@sglsuseriii}[1][]{\@glsuseriii[hyper=false,#1]}
+\newcommand*{\@glsuseriii}[2][]{%
+\new@ifnextchar[{\@glsuseriii@{#1}{#2}}{\@glsuseriii@{#1}{#2}[]}}
+\def\@glsuseriii@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseriii{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsuseriii}{\@ifstar\@sGlsuseriii\@Glsuseriii}
+\newcommand*{\@sGlsuseriii}[1][]{\@Glsuseriii[hyper=false,#1]}
+\newcommand*{\@Glsuseriii}[2][]{%
+\new@ifnextchar[{\@Glsuseriii@{#1}{#2}}{\@Glsuseriii@{#1}{#2}[]}}
+\def\@Glsuseriii@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseriii{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSuseriii}{\@ifstar\@sGLSuseriii\@GLSuseriii}
+\newcommand*{\@sGLSuseriii}[1][]{\@GLSuseriii[hyper=false,#1]}
+\newcommand*{\@GLSuseriii}[2][]{%
+\new@ifnextchar[{\@GLSuseriii@{#1}{#2}}{\@GLSuseriii@{#1}{#2}[]}}
+\def\@GLSuseriii@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseriii{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsuseriv}{\@ifstar\@sglsuseriv\@glsuseriv}
+\newcommand*{\@sglsuseriv}[1][]{\@glsuseriv[hyper=false,#1]}
+\newcommand*{\@glsuseriv}[2][]{%
+\new@ifnextchar[{\@glsuseriv@{#1}{#2}}{\@glsuseriv@{#1}{#2}[]}}
+\def\@glsuseriv@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseriv{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsuseriv}{\@ifstar\@sGlsuseriv\@Glsuseriv}
+\newcommand*{\@sGlsuseriv}[1][]{\@Glsuseriv[hyper=false,#1]}
+\newcommand*{\@Glsuseriv}[2][]{%
+\new@ifnextchar[{\@Glsuseriv@{#1}{#2}}{\@Glsuseriv@{#1}{#2}[]}}
+\def\@Glsuseriv@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseriv{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSuseriv}{\@ifstar\@sGLSuseriv\@GLSuseriv}
+\newcommand*{\@sGLSuseriv}[1][]{\@GLSuseriv[hyper=false,#1]}
+\newcommand*{\@GLSuseriv}[2][]{%
+\new@ifnextchar[{\@GLSuseriv@{#1}{#2}}{\@GLSuseriv@{#1}{#2}[]}}
+\def\@GLSuseriv@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuseriv{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsuserv}{\@ifstar\@sglsuserv\@glsuserv}
+\newcommand*{\@sglsuserv}[1][]{\@glsuserv[hyper=false,#1]}
+\newcommand*{\@glsuserv}[2][]{%
+\new@ifnextchar[{\@glsuserv@{#1}{#2}}{\@glsuserv@{#1}{#2}[]}}
+\def\@glsuserv@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuserv{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsuserv}{\@ifstar\@sGlsuserv\@Glsuserv}
+\newcommand*{\@sGlsuserv}[1][]{\@Glsuserv[hyper=false,#1]}
+\newcommand*{\@Glsuserv}[2][]{%
+\new@ifnextchar[{\@Glsuserv@{#1}{#2}}{\@Glsuserv@{#1}{#2}[]}}
+\def\@Glsuserv@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuserv{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSuserv}{\@ifstar\@sGLSuserv\@GLSuserv}
+\newcommand*{\@sGLSuserv}[1][]{\@GLSuserv[hyper=false,#1]}
+\newcommand*{\@GLSuserv}[2][]{%
+\new@ifnextchar[{\@GLSuserv@{#1}{#2}}{\@GLSuserv@{#1}{#2}[]}}
+\def\@GLSuserv@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuserv{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsuservi}{\@ifstar\@sglsuservi\@glsuservi}
+\newcommand*{\@sglsuservi}[1][]{\@glsuservi[hyper=false,#1]}
+\newcommand*{\@glsuservi}[2][]{%
+\new@ifnextchar[{\@glsuservi@{#1}{#2}}{\@glsuservi@{#1}{#2}[]}}
+\def\@glsuservi@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuservi{#2}}%
+\@gls@link[#1]{#2}{\@glo@text#3}%
+}%
+}
+\newcommand*{\Glsuservi}{\@ifstar\@sGlsuservi\@Glsuservi}
+\newcommand*{\@sGlsuservi}[1][]{\@Glsuservi[hyper=false,#1]}
+\newcommand*{\@Glsuservi}[2][]{%
+\new@ifnextchar[{\@Glsuservi@{#1}{#2}}{\@Glsuservi@{#1}{#2}[]}}
+\def\@Glsuservi@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuservi{#2}}%
+\@gls@link[#1]{#2}{%
+ \expandafter\makefirstuc\expandafter{\@glo@text}#3}%
+}%
+}
+\newcommand*{\GLSuservi}{\@ifstar\@sGLSuservi\@GLSuservi}
+\newcommand*{\@sGLSuservi}[1][]{\@GLSuservi[hyper=false,#1]}
+\newcommand*{\@GLSuservi}[2][]{%
+\new@ifnextchar[{\@GLSuservi@{#1}{#2}}{\@GLSuservi@{#1}{#2}[]}}
+\def\@GLSuservi@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{\glsentryuservi{#2}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}%
+}%
+}
+\newcommand*{\glsentryname}[1]{\csname glo@#1@name\endcsname}
+\newcommand*{\Glsentryname}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@name\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentrydesc}[1]{\csname glo@#1@desc\endcsname}
+\newcommand*{\Glsentrydesc}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@desc\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentrydescplural}[1]{%
+\csname glo@#1@descplural\endcsname}
+\newcommand*{\Glsentrydescplural}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@descplural\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentrytext}[1]{\csname glo@#1@text\endcsname}
+\newcommand*{\Glsentrytext}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@text\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryplural}[1]{\csname glo@#1@plural\endcsname}
+\newcommand*{\Glsentryplural}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@plural\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentrysymbol}[1]{\csname glo@#1@symbol\endcsname}
+\newcommand*{\Glsentrysymbol}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@symbol\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentrysymbolplural}[1]{%
+\csname glo@#1@symbolplural\endcsname}
+\newcommand*{\Glsentrysymbolplural}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@symbolplural\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryfirst}[1]{\csname glo@#1@first\endcsname}
+\newcommand*{\Glsentryfirst}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@first\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryfirstplural}[1]{%
+\csname glo@#1@firstpl\endcsname}
+\newcommand*{\Glsentryfirstplural}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@firstpl\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentrytype}[1]{\csname glo@#1@type\endcsname}
+\newcommand*{\glsentrysort}[1]{\csname glo@#1@sort\endcsname}
+\newcommand*{\glsentryuseri}[1]{\csname glo@#1@useri\endcsname}
+\newcommand*{\Glsentryuseri}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@useri\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryuserii}[1]{\csname glo@#1@userii\endcsname}
+\newcommand*{\Glsentryuserii}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@userii\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryuseriii}[1]{\csname glo@#1@useriii\endcsname}
+\newcommand*{\Glsentryuseriii}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@useriii\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryuseriv}[1]{\csname glo@#1@useriv\endcsname}
+\newcommand*{\Glsentryuseriv}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@useriv\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryuserv}[1]{\csname glo@#1@userv\endcsname}
+\newcommand*{\Glsentryuserv}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@userv\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glsentryuservi}[1]{\csname glo@#1@uservi\endcsname}
+\newcommand*{\Glsentryuservi}[1]{%
+\protected@edef\@glo@text{\csname glo@#1@uservi\endcsname}%
+\expandafter\makefirstuc\expandafter{\@glo@text}}
+\newcommand*{\glshyperlink}[2][\glsentryname{\@glo@label}]{%
+\def\@glo@label{#2}%
+\@glslink{glo:#2}{#1}}
+\define@key{glossadd}{counter}{\def\@gls@counter{#1}}
+\define@key{glossadd}{format}{\def\@glo@format{#1}}
+\define@key{glossadd}{types}{\def\@glo@type{#1}}
+\newcommand*{\glsadd}[2][]{%
+\glsdoifexists{#2}{%
+\def\@glsnumberformat{glsnumberformat}%
+\edef\@gls@counter{\csname glo@#2@counter\endcsname}%
+\setkeys{glossadd}{#1}%
+\edef\theglsentrycounter{\expandafter\noexpand
+ \csname the\@gls@counter\endcsname}%
+\@do@wrglossary{#2}%
+}}
+\newcommand*{\glsaddall}[1][]{%
+\edef\@glo@type{\@glo@types}%
+\setkeys{glossadd}{#1}%
+\forallglsentries[\@glo@type]{\@glo@entry}{%
+\glsadd[#1]{\@glo@entry}}%
+}
+\edef\glsopenbrace{\expandafter\@gobble\string\{}
+\edef\glsclosebrace{\expandafter\@gobble\string\}}
+\edef\glsquote#1{\string"#1\string"}
+\ifglsxindy
+ \newcommand*{\@glsfirstletter}{A}
+\fi
+\ifglsxindy
+ \newcommand*{\GlsSetXdyFirstLetterAfterDigits}[1]{%
+ \renewcommand*{\@glsfirstletter}{#1}}
+\else
+ \newcommand*{\GlsSetXdyFirstLetterAfterDigits}[1]{%
+ \glsnoxindywarning\GlsSetXdyFirstLetterAfterDigits}
+\fi
+\newcommand*{\@glsminrange}{2}
+\ifglsxindy
+ \newcommand*{\GlsSetXdyMinRangeLength}[1]{%
+ \renewcommand*{\@glsminrange}{#1}}
+\else
+ \newcommand*{\GlsSetXdyMinRangeLength}[1]{%
+ \glsnoxindywarning\GlsSetXdyMinRangeLength}
+\fi
+\newwrite\istfile
+\ifglsxindy
+ \def\writeist{%
+ \openout\istfile=\istfilename
+ \write\istfile{;; xindy style file created by the glossaries
+ package}%
+ \write\istfile{;; for document '\jobname' on
+ \the\year-\the\month-\the\day}%
+ \write\istfile{^^J; required styles^^J}
+ \@for\@xdystyle:=\@xdyrequiredstyles\do{%
+ \ifx\@xdystyle\@empty
+ \else
+ \protected@write\istfile{}{(require
+ \string"\@xdystyle.xdy\string")}%
+ \fi
+ }%
+ \write\istfile{^^J%
+ ; list of allowed attributes (number formats)^^J}%
+ \write\istfile{(define-attributes ((\@xdyattributes)))}%
+ \write\istfile{^^J; user defined alphabets^^J}%
+ \write\istfile{\@xdyuseralphabets}%
+ \write\istfile{^^J; location class definitions^^J}%
+ \protected@edef\@gls@roman{\@roman{0\string"
+ \string"roman-numbers-lowercase\string" :sep \string"}}%
+ \@onelevel@sanitize\@gls@roman
+ \edef\@tmp{\string" \string"roman-numbers-lowercase\string"
+ :sep \string"}%
+ \@onelevel@sanitize\@tmp
+ \ifx\@tmp\@gls@roman
+ \write\istfile{(define-location-class
+ \string"roman-page-numbers\string"^^J\space\space\space
+ (\string"roman-numbers-lowercase\string")
+ :min-range-length \@glsminrange)}%
+ \else
+ \write\istfile{(define-location-class
+ \string"roman-page-numbers\string"^^J\space\space\space
+ (:sep "\@gls@roman")
+ :min-range-length \@glsminrange)}%
+ \fi
+ \write\istfile{(define-location-class
+ \string"Roman-page-numbers\string"^^J\space\space\space
+ (\string"roman-numbers-uppercase\string")
+ :min-range-length \@glsminrange)}%
+ \write\istfile{(define-location-class
+ \string"arabic-page-numbers\string"^^J\space\space\space
+ (\string"arabic-numbers\string")
+ :min-range-length \@glsminrange)}%
+ \write\istfile{(define-location-class
+ \string"alpha-page-numbers\string"^^J\space\space\space
+ (\string"alpha\string")
+ :min-range-length \@glsminrange)}%
+ \write\istfile{(define-location-class
+ \string"Alpha-page-numbers\string"^^J\space\space\space
+ (\string"ALPHA\string")
+ :min-range-length \@glsminrange)}%
+ \write\istfile{(define-location-class
+ \string"Appendix-page-numbers\string"^^J\space\space\space
+ (\string"ALPHA\string"
+ :sep \string"\@glsAlphacompositor\string"
+ \string"arabic-numbers\string")
+ :min-range-length \@glsminrange)}%
+ \write\istfile{(define-location-class
+ \string"arabic-section-numbers\string"^^J\space\space\space
+ (\string"arabic-numbers\string"
+ :sep \string"\glscompositor\string"
+ \string"arabic-numbers\string")
+ :min-range-length \@glsminrange)}%
+ \write\istfile{^^J; user defined location classes}%
+ \write\istfile{\@xdyuserlocationdefs}%
+ \write\istfile{^^J; define cross-reference class^^J}%
+ \write\istfile{(define-crossref-class \string"see\string"
+ :unverified )}%
+ \write\istfile{(markup-crossref-list
+ :class \string"see\string"^^J\space\space\space
+ :open \string"\string\glsseeformat\string"
+ :close \string"{}\string")}%
+ \write\istfile{^^J; define the order of the location classes}%
+ \write\istfile{(define-location-class-order
+ (\@xdylocationclassorder))}%
+ \write\istfile{^^J; define the glossary markup^^J}%
+ \write\istfile{(markup-index^^J\space\space\space
+ :open \string"\string
+ \glossarysection[\string\glossarytoctitle]{\string
+ \glossarytitle}\string\glossarypreamble\string~n\string\begin
+ {theglossary}\string\glossaryheader\string~n\string" ^^J\space
+ \space\space:close \string"\expandafter\@gobble
+ \string\%\string~n\string
+ \end{theglossary}\string\glossarypostamble
+ \string~n\string" ^^J\space\space\space
+ :tree)}%
+ \write\istfile{(markup-letter-group-list
+ :sep \string"\string\glsgroupskip\string~n\string")}%
+ \write\istfile{(markup-indexentry
+ :open \string"\string\relax \string\glsresetentrylist
+ \string~n\string")}%
+ \write\istfile{(markup-locclass-list :open
+ \string"\glsopenbrace\string\glossaryentrynumbers
+ \glsopenbrace\string\relax\space \string"^^J\space\space\space
+ :sep \string", \string"
+ :close \string"\glsclosebrace\glsclosebrace\string")}%
+ \write\istfile{(markup-locref-list
+ :sep \string"\string\delimN\space\string")}%
+ \write\istfile{(markup-range
+ :sep \string"\string\delimR\space\string")}%
+ \@onelevel@sanitize\gls@suffixF
+ \@onelevel@sanitize\gls@suffixFF
+ \ifx\gls@suffixF\@empty
+ \else
+ \write\istfile{(markup-range
+ :close "\gls@suffixF" :length 1 :ignore-end)}%
+ \fi
+ \ifx\gls@suffixFF\@empty
+ \else
+ \write\istfile{(markup-range
+ :close "\gls@suffixFF" :length 2 :ignore-end)}%
+ \fi
+ \write\istfile{^^J; define format to use for locations^^J}%
+ \write\istfile{\@xdylocref}%
+ \write\istfile{^^J; define letter group list format^^J}%
+ \write\istfile{(markup-letter-group-list
+ :sep \string"\string\glsgroupskip\string~n\string")}%
+ \write\istfile{^^J; letter group headings^^J}%
+ \write\istfile{(markup-letter-group
+ :open-head \string"\string\glsgroupheading
+ \glsopenbrace\string"^^J\space\space\space
+ :close-head \string"\glsclosebrace\string")}%
+ \write\istfile{^^J; additional letter groups^^J}%
+ \write\istfile{\@xdylettergroups}%
+ \write\istfile{^^J; additional sort rules^^J}
+ \write\istfile{\@xdysortrules}%
+ \noist}
+\else
+ \edef\@gls@actualchar{\string?}
+ \edef\@gls@encapchar{\string|}
+ \edef\@gls@levelchar{\string!}
+ \edef\@gls@quotechar{\string"}
+ \def\writeist{\relax
+ \openout\istfile=\istfilename
+ \write\istfile{\expandafter\@gobble\string\% makeindex style file
+ created by the glossaries package}
+ \write\istfile{\expandafter\@gobble\string\% for document
+ '\jobname' on \the\year-\the\month-\the\day}
+ \write\istfile{actual '\@gls@actualchar'}
+ \write\istfile{encap '\@gls@encapchar'}
+ \write\istfile{level '\@gls@levelchar'}
+ \write\istfile{quote '\@gls@quotechar'}
+ \write\istfile{keyword \string"\string\\glossaryentry\string"}
+ \write\istfile{preamble \string"\string\\glossarysection[\string
+ \\glossarytoctitle]{\string\\glossarytitle}\string
+ \\glossarypreamble\string\n\string\\begin{theglossary}\string
+ \\glossaryheader\string\n\string"}
+ \write\istfile{postamble \string"\string\%\string\n\string
+ \\end{theglossary}\string\\glossarypostamble\string\n
+ \string"}
+ \write\istfile{group_skip \string"\string\\glsgroupskip\string\n
+ \string"}
+ \write\istfile{item_0 \string"\string\%\string\n\string"}
+ \write\istfile{item_1 \string"\string\%\string\n\string"}
+ \write\istfile{item_2 \string"\string\%\string\n\string"}
+ \write\istfile{item_01 \string"\string\%\string\n\string"}
+ \write\istfile{item_x1
+ \string"\string\\relax \string\\glsresetentrylist\string\n
+ \string"}
+ \write\istfile{item_12 \string"\string\%\string\n\string"}
+ \write\istfile{item_x2
+ \string"\string\\relax \string\\glsresetentrylist\string\n
+ \string"}
+ \write\istfile{delim_0 \string"\string\{\string
+ \\glossaryentrynumbers\string\{\string\\relax \string"}
+ \write\istfile{delim_1 \string"\string\{\string
+ \\glossaryentrynumbers\string\{\string\\relax \string"}
+ \write\istfile{delim_2 \string"\string\{\string
+ \\glossaryentrynumbers\string\{\string\\relax \string"}
+ \write\istfile{delim_t \string"\string\}\string\}\string"}
+ \write\istfile{delim_n \string"\string\\delimN \string"}
+ \write\istfile{delim_r \string"\string\\delimR \string"}
+ \write\istfile{headings_flag 1}
+ \write\istfile{heading_prefix
+ \string"\string\\glsgroupheading\string\{\string"}
+ \write\istfile{heading_suffix
+ \string"\string\}\string\\relax
+ \string\\glsresetentrylist \string"}
+ \write\istfile{symhead_positive \string"glssymbols\string"}
+ \write\istfile{numhead_positive \string"glsnumbers\string"}
+ \write\istfile{page_compositor \string"\glscompositor\string"}
+ \@gls@escbsdq\gls@suffixF
+ \@gls@escbsdq\gls@suffixFF
+ \ifx\gls@suffixF\@empty
+ \else
+ \write\istfile{suffix_2p \string"\gls@suffixF\string"}
+ \fi
+ \ifx\gls@suffixFF\@empty
+ \else
+ \write\istfile{suffix_3p \string"\gls@suffixFF\string"}
+ \fi
+ \noist
+ }
+\fi
+\newcommand{\noist}{\let\writeist\relax}
+\newcommand*{\@makeglossary}[1]{%
+\ifglossaryexists{#1}{%
+\edef\glo@out{\csname @glotype@#1@out\endcsname}%
+\expandafter\newwrite\csname glo@#1@file\endcsname
+\edef\@glo@file{\csname glo@#1@file\endcsname}%
+\immediate\openout\@glo@file=\jobname.\glo@out
+\@gls@renewglossary
+\PackageInfo{glossaries}{Writing glossary file \jobname.\glo@out}
+\writeist
+}{\PackageError{glossaries}{%
+Glossary type `#1' not defined}{New glossaries must be defined before
+using \string\makeglossary}}}
+\newcommand*{\warn@nomakeglossaries}{%
+ \GlossariesWarningNoLine{\string\makeglossaries\space
+ hasn't been used,^^Jthe glossaries will not be updated}%
+}
+\newcommand*{\makeglossaries}{%
+ \protected@write\@auxout{}{\string\@istfilename{\istfilename}}%
+ \protected@write\@auxout{}{\string\@glsorder{\glsorder}}
+ \@for\@glo@type:=\@glo@types\do{%
+ \ifthenelse{\equal{\@glo@type}{}}{}{%
+ \@makeglossary{\@glo@type}}%
+ }%
+ \renewcommand*\newglossary[4][]{%
+ \PackageError{glossaries}{New glossaries
+ must be created before \string\makeglossaries}{You need
+ to move \string\makeglossaries\space after all your
+ \string\newglossary\space commands}}%
+ \let\@makeglossary\relax
+ \let\makeglossary\relax
+ \let\makeglossaries\relax
+ \@disable@onlypremakeg
+ \let\warn@nomakeglossaries\relax
+}
+\let\makeglossary\makeglossaries
+\AtEndDocument{%
+ \warn@nomakeglossaries
+ \warn@noprintglossary
+}
+\renewcommand*{\glossary}[1][\glsdefaulttype]{%
+\@glossary[#1]}
+\def\@glossary[#1]{\index}
+\newcommand{\@gls@renewglossary}{%
+\gdef\@glossary[##1]{\@bsphack\begingroup\@wrglossary{##1}}%
+\let\@gls@renewglossary\@empty
+}
+\renewcommand*{\@wrglossary}[2]{%
+ \expandafter\protected@write\csname glo@#1@file\endcsname{}{#2}%
+ \endgroup\@esphack
+}
+\newcommand{\@do@wrglossary}[1]{%
+\ifglsxindy
+ \expandafter\@glo@check@mkidxrangechar\@glsnumberformat\@nil
+ \def\@glo@range{}%
+ \expandafter\if\@glo@prefix(\relax
+ \def\@glo@range{:open-range}%
+ \else
+ \expandafter\if\@glo@prefix)\relax
+ \def\@glo@range{:close-range}%
+ \fi
+ \fi
+\protected@edef\@glslocref{\theglsentrycounter}%
+\@gls@checkmkidxchars\@glslocref
+ \glossary[\csname glo@#1@type\endcsname]{%
+ (indexentry :tkey (\csname glo@#1@index\endcsname)
+ :locref \string"\@glslocref\string" %
+ :attr \string"\@glo@suffix\string" \@glo@range
+ )
+ }%
+\else
+ \@set@glo@numformat\@glo@numfmt\@gls@counter\@glsnumberformat
+ \glossary[\csname glo@#1@type\endcsname]{%
+ \string\glossaryentry{\csname glo@#1@index\endcsname
+ \@gls@encapchar\@glo@numfmt}{\theglsentrycounter}}%
+\fi
+}
+\newcommand{\@do@seeglossary}[2]{%
+\ifglsxindy
+ \glossary[\csname glo@#1@type\endcsname]{%
+ (indexentry
+ :tkey (\csname glo@#1@index\endcsname)
+ :xref (\string"#2\string")
+ :attr \string"see\string"
+ )
+ }%
+\else
+ \glossary[\csname glo@#1@type\endcsname]{%
+ \string\glossaryentry{\csname glo@#1@index\endcsname
+ \@gls@encapchar glsseeformat#2}{Z}}%
+\fi
+}
+\def\@gls@fixbraces#1#2#3\@nil{%
+ \ifx#2[\relax
+ \def#1{#2#3}%
+ \else
+ \def#1{{#2#3}}%
+ \fi
+}
+\newcommand*{\glssee}[3][\seename]{%
+ \@do@seeglossary{#2}{[#1]{#3}}}
+\newcommand*{\@glssee}[3][\seename]{%
+ \glssee[#1]{#3}{#2}}
+\newcommand*{\glsseeformat}[3][\seename]{\emph{#1} \glsseelist{#2}}
+\newcommand*{\glsseelist}[1]{%
+ \let\@gls@dolast\relax
+ \let\@gls@donext\relax
+ \@for\@gls@thislabel:=#1\do{%
+ \ifx\@xfor@nextelement\@nnil
+ \@gls@dolast
+ \else
+ \@gls@donext
+ \fi
+ \glsseeitem{\@gls@thislabel}%
+ \let\@gls@dolast\glsseelastsep
+ \let\@gls@donext\glsseesep
+ }%
+}
+\newcommand*{\glsseelastsep}{\space\andname\space}
+\newcommand*{\glsseesep}{, }
+\newcommand*{\glsseeitem}[1]{\glshyperlink{#1}}
+\def\warn@noprintglossary{\GlossariesWarningNoLine{No
+ \string\printglossary\space or \string\printglossaries\space
+ found.^^JThis document will not have a glossary}}
+\@ifundefined{printglossary}{}{%
+ \GlossariesWarning{Overriding \string\printglossary}%
+ \let\printglossary\undefined
+}
+\newcommand*{\printglossary}[1][type=\glsdefaulttype]{%
+ \ifglsxindy\findrootlanguage\fi
+ \def\@glo@type{\glsdefaulttype}%
+ \def\glossarytitle{\csname @glotype@\@glo@type @title\endcsname}%
+ \def\@glossarystyle{}%
+ \def\gls@dotoctitle{\glssettoctitle{\@glo@type}}%
+ \let\@org@glossaryentrynumbers\glossaryentrynumbers
+ \bgroup
+ \setkeys{printgloss}{#1}%
+ \let\org@glossaryentrynumbers\glossaryentrynumbers
+ \let\glsnonextpages\@glsnonextpages
+ \let\nopostdesc\@nopostdesc
+ \gls@dotoctitle
+ \@glossarystyle
+ \makeatletter
+ \@input@{\jobname.\csname @glotype@\@glo@type @in\endcsname}%
+\IfFileExists{\jobname.\csname @glotype@\@glo@type @in\endcsname}{}%
+{\null}%
+ \ifglsxindy
+ \@ifundefined{@xdy@\@glo@type @language}{%
+ \protected@write\@auxout{}{%
+ \string\@xdylanguage{\@glo@type}{\@xdy@main@language}}%
+ }{%
+ \protected@write\@auxout{}{%
+ \string\@xdylanguage{\@glo@type}{\csname @xdy@\@glo@type
+ @language\endcsname}}%
+ }%
+ \protected@write\@auxout{}{%
+ \string\@gls@codepage{\@glo@type}{\gls@codepage}}%
+ \fi
+ \egroup
+ \global\let\glossaryentrynumbers\@org@glossaryentrynumbers
+ \global\let\warn@noprintglossary\relax
+}
+\newcommand*{\printglossaries}{%
+\forallglossaries{\@@glo@type}{\printglossary[type=\@@glo@type]}}
+\define@key{printgloss}{type}{\def\@glo@type{#1}}
+\define@key{printgloss}{title}{\def\glossarytitle{#1}}
+\define@key{printgloss}{toctitle}{\def\glossarytoctitle{#1}%
+\let\gls@dotoctitle\relax
+}
+\define@key{printgloss}{style}{%
+\@ifundefined{@glsstyle@#1}{\PackageError{glossaries}{Glossary
+style `#1' undefined}{}}{%
+\def\@glossarystyle{\csname @glsstyle@#1\endcsname}}}
+\define@choicekey{printgloss}{numberedsection}[\val\nr]{%
+false,nolabel,autolabel}[nolabel]{%
+\ifcase\nr\relax
+ \renewcommand*{\@@glossarysecstar}{*}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+\or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+\or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{\label{\glsautoprefix\@glo@type}}%
+\fi}
+\define@boolkey{printgloss}[gls]{nonumberlist}[true]{%
+\ifglsnonumberlist
+ \def\glossaryentrynumbers##1{}%
+\else
+ \def\glossaryentrynumbers##1{##1}%
+\fi}
+\newcommand*{\@glsnonextpages}{%
+ \gdef\glossaryentrynumbers##1{%
+ \glsresetentrylist}}
+\newcommand*{\glsresetentrylist}{%
+ \global\let\glossaryentrynumbers\org@glossaryentrynumbers}
+\newcommand*{\glsnonextpages}{}
+\@ifundefined{theglossary}{%
+ \newenvironment{theglossary}{}{}%
+}{%
+ \GlossariesWarning{overriding `theglossary' environment}%
+ \renewenvironment{theglossary}{}{}%
+}
+\newcommand*{\glossaryheader}{}
+\newcommand*{\glstarget}[2]{\@glstarget{glo:#1}{#2}}
+\newcommand*{\glossaryentryfield}[5]{%
+\noindent\textbf{\glstarget{#1}{#2}} #4 #3. #5\par}
+\newcommand*{\glossarysubentryfield}[6]{%
+\glstarget{#2}{\strut}#4. #6\par}
+\newcommand*{\glsgroupskip}{}
+\newcommand*{\glsgroupheading}[1]{}
+\newcommand*{\glsgetgrouptitle}[1]{%
+\@ifundefined{#1groupname}{#1}{\csname #1groupname\endcsname}}
+\newcommand*{\glsgetgrouplabel}[1]{%
+\ifthenelse{\equals{#1}{\glssymbolsgroupname}}{glssymbols}{%
+\ifthenelse{\equals{#1}{\glsnumbersgroupname}}{glsnumbers}{#1}}}
+\newcommand*{\setentrycounter}[1]{\def\glsentrycounter{#1}}
+\newcommand*{\glossarystyle}[1]{%
+\@ifundefined{@glsstyle@#1}{\PackageError{glossaries}{Glossary
+style `#1' undefined}{}}{%
+\csname @glsstyle@#1\endcsname}}
+\newcommand{\newglossarystyle}[2]{%
+\@ifundefined{@glsstyle@#1}{%
+\expandafter\def\csname @glsstyle@#1\endcsname{#2}}{%
+\PackageError{glossaries}{Glossary style `#1' is already defined}{}}}
+\newcommand*{\glsnamefont}[1]{#1}
+\@ifundefined{hyperlink}{%
+\def\glshypernumber#1{#1}}{%
+\def\glshypernumber#1{%
+ \@glshypernumber#1\nohyperpage{}\@nil}}
+\def\@glshypernumber#1\nohyperpage#2#3\@nil{%
+ \ifx\\#1\\%
+ \else
+ \@delimR#1\delimR\delimR\\%
+ \fi
+ \ifx\\#2\\%
+ \else
+ #2%
+ \fi
+ \ifx\\#3\\%
+ \else
+ \@glshypernumber#3\@nil
+ \fi
+}
+\def\@delimR#1\delimR #2\delimR #3\\{%
+\ifx\\#2\\%
+ \@delimN{#1}%
+\else
+ \@gls@numberlink{#1}\delimR\@gls@numberlink{#2}%
+\fi}
+\def\@delimN#1{\@@delimN#1\delimN \delimN\\}
+\def\@@delimN#1\delimN #2\delimN#3\\{%
+\ifx\\#3\\%
+ \@gls@numberlink{#1}%
+\else
+ \@gls@numberlink{#1}\delimN\@gls@numberlink{#2}%
+\fi
+}
+\def\@gls@numberlink#1{%
+\begingroup
+ \toks@={}%
+ \@gls@removespaces#1 \@nil
+\endgroup}
+\def\@gls@removespaces#1 #2\@nil{%
+ \toks@=\expandafter{\the\toks@#1}%
+ \ifx\\#2\\%
+ \edef\x{\the\toks@}%
+ \ifx\x\empty
+ \else
+ \hyperlink{\glsentrycounter.\the\toks@}{\the\toks@}%
+ \fi
+ \else
+ \@gls@ReturnAfterFi{%
+ \@gls@removespaces#2\@nil
+ }%
+ \fi
+}
+\long\def\@gls@ReturnAfterFi#1\fi{\fi#1}
+\newcommand*{\hyperrm}[1]{\textrm{\glshypernumber{#1}}}
+\newcommand*{\hypersf}[1]{\textsf{\glshypernumber{#1}}}
+\newcommand*{\hypertt}[1]{\texttt{\glshypernumber{#1}}}
+\newcommand*{\hyperbf}[1]{\textbf{\glshypernumber{#1}}}
+\newcommand*{\hypermd}[1]{\textmd{\glshypernumber{#1}}}
+\newcommand*{\hyperit}[1]{\textit{\glshypernumber{#1}}}
+\newcommand*{\hypersl}[1]{\textsl{\glshypernumber{#1}}}
+\newcommand*{\hyperup}[1]{\textup{\glshypernumber{#1}}}
+\newcommand*{\hypersc}[1]{\textsc{\glshypernumber{#1}}}
+\newcommand*{\hyperemph}[1]{\emph{\glshypernumber{#1}}}
+\ifglsacronym
+ \newglossary[alg]{acronym}{acr}{acn}{\acronymname}
+ \renewcommand*{\acronymtype}{acronym}
+\fi
+\newcommand{\oldacronym}[4][\gls@label]{%
+ \def\gls@label{#2}%
+ \newacronym[#4]{#1}{#2}{#3}%
+ \@ifundefined{xspace}{%
+ \expandafter\edef\csname#1\endcsname{%
+ \noexpand\@ifstar{\noexpand\Gls{#1}}{\noexpand\gls{#1}}}%
+ }{%
+ \expandafter\edef\csname#1\endcsname{%
+ \noexpand\@ifstar{\noexpand\Gls{#1}\noexpand\xspace}{%
+ \noexpand\gls{#1}\noexpand\xspace}}%
+ }%
+}
+ \newcommand{\newacronym}[4][]{}
+\newcommand*{\acrpluralsuffix}{\glspluralsuffix}
+\newcommand*{\glsshortkey}{text}
+\newcommand*{\glsshortpluralkey}{plural}
+\newcommand*{\glslongkey}{description}
+\newcommand*{\glslongpluralkey}{descriptionplural}
+\newcommand*{\acrshort}[2][]{%
+ \new@ifnextchar[{\@acrshort{#1}{#2}}{\@acrshort{#1}{#2}[]}}
+\newcommand*{\Acrshort}[2][]{%
+ \new@ifnextchar[{\@Acrshort{#1}{#2}}{\@Acrshort{#1}{#2}[]}}
+\newcommand*{\ACRshort}[2][]{%
+ \new@ifnextchar[{\@ACRshort{#1}{#2}}{\@ACRshort{#1}{#2}[]}}
+\newcommand*{\acrshortpl}[2][]{%
+ \new@ifnextchar[{\@acrshortpl{#1}{#2}}{\@acrshortpl{#1}{#2}[]}}
+\newcommand*{\Acrshortpl}[2][]{%
+ \new@ifnextchar[{\@Acrshortpl{#1}{#2}}{\@Acrshortpl{#1}{#2}[]}}
+\newcommand*{\ACRshortpl}[2][]{%
+ \new@ifnextchar[{\@ACRshortpl{#1}{#2}}{\@ACRshortpl{#1}{#2}[]}}
+\newcommand*{\acrlong}[2][]{%
+ \new@ifnextchar[{\@acrlong{#1}{#2}}{\@acrlong{#1}{#2}[]}}
+\newcommand*{\Acrlong}[2][]{%
+ \new@ifnextchar[{\@Acrlong{#1}{#2}}{\@Acrlong{#1}{#2}[]}}
+\newcommand*{\ACRlong}[2][]{%
+ \new@ifnextchar[{\@ACRlong{#1}{#2}}{\@ACRlong{#1}{#2}[]}}
+\newcommand*{\acrlongpl}[2][]{%
+ \new@ifnextchar[{\@acrlongpl{#1}{#2}}{\@acrlongpl{#1}{#2}[]}}
+\newcommand*{\Acrlongpl}[2][]{%
+ \new@ifnextchar[{\@Acrlongpl{#1}{#2}}{\@Acrlongpl{#1}{#2}[]}}
+\newcommand*{\ACRlongpl}[2][]{%
+ \new@ifnextchar[{\@ACRlongpl{#1}{#2}}{\@ACRlongpl{#1}{#2}[]}}
+\newcommand*{\acrfull}[2][]{%
+ \new@ifnextchar[{\@acrfull{#1}{#2}}{\@acrfull{#1}{#2}[]}}
+\newcommand*{\Acrfull}[2][]{%
+ \new@ifnextchar[{\@Acrfull{#1}{#2}}{\@Acrfull{#1}{#2}[]}}
+\newcommand*{\ACRfull}[2][]{%
+ \new@ifnextchar[{\@ACRfull{#1}{#2}}{\@ACRfull{#1}{#2}[]}}
+\newcommand*{\acrfullpl}[2][]{%
+ \new@ifnextchar[{\@acrfullpl{#1}{#2}}{\@acrfullpl{#1}{#2}[]}}
+\newcommand*{\Acrfullpl}[2][]{%
+ \new@ifnextchar[{\@Acrfullpl{#1}{#2}}{\@Acrfullpl{#1}{#2}[]}}
+\newcommand*{\ACRfullpl}[2][]{%
+ \new@ifnextchar[{\@ACRfullpl{#1}{#2}}{\@ACRfullpl{#1}{#2}[]}}
+\newcommand{\acronymfont}[1]{#1}
+\newcommand{\firstacronymfont}[1]{\acronymfont{#1}}
+\newcommand*{\acrnameformat}[2]{\acronymfont{#1}}
+\newtoks\glskeylisttok
+\newtoks\glslabeltok
+\newtoks\glsshorttok
+\newtoks\glslongtok
+\newcommand*{\newacronymhook}{}
+\newcommand*{\SetDefaultAcronymDisplayStyle}[1]{%
+ \defglsdisplay[#1]{##1##4}%
+ \defglsdisplayfirst[#1]{##1##4}%
+}
+\newcommand*{\DefaultNewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\the\glsshorttok},%
+ description={\the\glslongtok},%
+ text={\the\glsshorttok},%
+ sort={\the\glsshorttok},%
+ descriptionplural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ first={\the\glslongtok\space(\the\glsshorttok)},%
+ plural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ firstplural={\noexpand\@glo@descplural\space
+ (\noexpand\@glo@plural)},%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetDefaultAcronymStyle}{%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetDefaultAcronymDisplayStyle{\@gls@type}%
+ }%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetDefaultAcronymDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \DefaultNewAcronymDef
+ }%
+ \renewcommand*{\acrpluralsuffix}{\glspluralsuffix}%
+ \renewcommand*{\glsshortkey}{text}%
+ \renewcommand*{\glsshortpluralkey}{plural}%
+ \renewcommand*{\glslongkey}{description}%
+ \renewcommand*{\glslongpluralkey}{descriptionplural}%
+ \def\@acrshort##1##2[##3]{\@glstext@{##1}{##2}[##3]}%
+ \def\@Acrshort##1##2[##3]{\@Glstext@{##1}{##2}[##3]}%
+ \def\@ACRshort##1##2[##3]{\@GLStext@{##1}{##2}[##3]}%
+ \def\@acrshortpl##1##2[##3]{\@glsplural@{##1}{##2}[##3]}%
+ \def\@Acrshortpl##1##2[##3]{\@Glsplural@{##1}{##2}[##3]}%
+ \def\@ACRshortpl##1##2[##3]{\@GLSplural@{##1}{##2}[##3]}%
+ \def\@acrlong##1##2[##3]{\@glsdesc@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsdesc@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSdesc@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsdescplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsdescplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSdescplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glsfirst@{##1}{##2}[##3]}%
+ \def\@Acrfull##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]}%
+ \def\@ACRfull##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]}%
+ \def\@acrfullpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]}%
+}
+\newcommand*{\SetDescriptionFootnoteAcronymDisplayStyle}[1]{%
+ \defglsdisplayfirst[#1]{%
+ \firstacronymfont{##1}##4%
+ \protect\footnote{%
+ \glslink[\@gls@link@opts]{\@gls@link@label}{##3}}}%
+ \defglsdisplay[#1]{\acronymfont{##1}##4}%
+}
+\newcommand*{\DescriptionFootnoteNewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\noexpand\acronymfont{\the\glsshorttok}},%
+ sort={\the\glsshorttok},%
+ text={\the\glsshorttok},%
+ plural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ symbol={\the\glslongtok},%
+ symbolplural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetDescriptionFootnoteAcronymStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetDescriptionFootnoteAcronymDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \DescriptionFootnoteNewAcronymDef
+ }%
+ \def\glsshortkey{text}%
+ \def\glsshortpluralkey{plural}%
+ \def\glslongkey{symbol}%
+ \def\glslongpluralkey{symbolplural}%
+ \def\@acrshort##1##2[##3]{%
+ \acronymfont{\@glstext@{##1}{##2}[##3]}}%
+ \def\@Acrshort##1##2[##3]{%
+ \acronymfont{\@Glstext@{##1}{##2}[##3]}}%
+ \def\@ACRshort##1##2[##3]{%
+ \acronymfont{\@GLStext@{##1}{##2}[##3]}}%
+ \def\@acrshortpl##1##2[##3]{%
+ \acronymfont{\@glsplural@{##1}{##2}[##3]}}%
+ \def\@Acrshortpl##1##2[##3]{%
+ \acronymfont{\@Glsplural@{##1}{##2}[##3]}}%
+ \def\@ACRshortpl##1##2[##3]{%
+ \acronymfont{\@GLSplural@{##1}{##2}[##3]}}%
+ \def\@acrlong##1##2[##3]{\@glssymbol@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glssymbol@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSsymbol@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glssymbolplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glssymbolplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSsymbolplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glssymbol@{##1}{##2}[##3]
+ (\acronymfont{\@glstext@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glssymbol@{##1}{##2}[##3]
+ (\acronymfont{\@glstext@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLSsymbol@{##1}{##2}[##3]
+ (\acronymfont{\@GLStext@{##1}{##2}[##3]})}%
+ \def\@acrfullpl##1##2[##3]{\@glssymbolplural@{##1}{##2}[##3]
+ (\acronymfont{\@glsplural@{##1}{##2}[##3]})}%
+ \def\@Acrfullpl##1##2[##3]{\@Glssymbolplural@{##1}{##2}[##3]
+ (\acronymfont{\@glsplural@{##1}{##2}[##3]})}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSsymbolplural@{##1}{##2}[##3]
+ (\acronymfont{\@GLSplural@{##1}{##2}[##3]})}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetDescriptionFootnoteAcronymDisplayStyle{\@gls@type}%
+ }%
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{##1}}%
+ \renewcommand*{\acrpluralsuffix}{%
+ \textup{\glspluralsuffix}}%
+ \else
+ \ifglsacrsmaller
+ \renewcommand*{\acronymfont}[1]{\textsmaller{##1}}%
+ \fi
+ \fi
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `footnote' and `dua'
+ can't both be set}{}%
+ \fi
+}%
+\newcommand*{\SetDescriptionDUAAcronymDisplayStyle}[1]{%
+ \defglsdisplay[#1]{##1##4}%
+ \defglsdisplayfirst[#1]{##1##4}%
+}
+\newcommand*{\DescriptionDUANewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\the\glslongtok},%
+ sort={\the\glslongtok},
+ text={\the\glslongtok},%
+ plural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ symbol={\the\glsshorttok},%
+ symbolplural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetDescriptionDUAAcronymStyle}{%
+ \ifglsacrsmallcaps
+ \PackageError{glossaries}{Option clash: `smallcaps' and `dua'
+ can't both be set}{}%
+ \else
+ \ifglsacrsmaller
+ \PackageError{glossaries}{Option clash: `smaller' and `dua'
+ can't both be set}{}%
+ \fi
+ \fi
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetDescriptionDUAAcronymDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \DescriptionDUANewAcronymDef
+ }%
+ \def\glsshortkey{symbol}%
+ \def\glsshortpluralkey{symbolplural}%
+ \def\glslongkey{first}%
+ \def\glslongpluralkey{plural}%
+ \def\@acrshort##1##2[##3]{%
+ \acronymfont{\@glssymbol@{##1}{##2}[##3]}}%
+ \def\@Acrshort##1##2[##3]{%
+ \acronymfont{\@Glssymbol@{##1}{##2}[##3]}}%
+ \def\@ACRshort##1##2[##3]{%
+ \acronymfont{\@GLSsymbol@{##1}{##2}[##3]}}%
+ \def\@acrshortpl##1##2[##3]{%
+ \acronymfont{\@glssymbolplural@{##1}{##2}[##3]}}%
+ \def\@Acrshortpl##1##2[##3]{%
+ \acronymfont{\@Glssymbolplural@{##1}{##2}[##3]}}%
+ \def\@ACRshortpl##1##2[##3]{%
+ \acronymfont{\@GLSsymbolplural@{##1}{##2}[##3]}}%
+ \def\@acrlong##1##2[##3]{\@glsfirst@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glsfirst@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbol@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbol@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]
+ (\acronymfont{\@GLSsymbol@{##1}{##2}[##3]})}%
+ \def\@acrfullpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbolplural@{##1}{##2}[##3]})}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbolplural@{##1}{##2}[##3]})}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@GLSsymbolplural@{##1}{##2}[##3]})}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetDescriptionDUAAcronymDisplayStyle{\@gls@type}%
+ }%
+}%
+\newcommand*{\SetDescriptionAcronymDisplayStyle}[1]{%
+ \defglsdisplayfirst[#1]{%
+ ##1##4 (\firstacronymfont{##3})}%
+ \defglsdisplay[#1]{\acronymfont{##1}##4}%
+}
+\newcommand*{\DescriptionNewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\noexpand
+ \acrnameformat{\the\glsshorttok}{\the\glslongtok}},%
+ sort={\the\glsshorttok},%
+ first={\the\glslongtok},%
+ firstplural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ text={\the\glsshorttok},%
+ plural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ symbol={\noexpand\@glo@text},%
+ symbolplural={\noexpand\@glo@plural},%
+ \the\glskeylisttok}%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetDescriptionAcronymStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetDescriptionAcronymDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \DescriptionNewAcronymDef
+ }%
+ \def\glsshortkey{text}%
+ \def\glsshortpluralkey{plural}%
+ \def\glslongkey{first}%
+ \def\glslongpluralkey{firstplural}%
+ \def\@acrshort##1##2[##3]{%
+ \acronymfont{\@glstext@{##1}{##2}[##3]}}%
+ \def\@Acrshort##1##2[##3]{%
+ \acronymfont{\@Glstext@{##1}{##2}[##3]}}%
+ \def\@ACRshort##1##2[##3]{%
+ \acronymfont{\@GLStext@{##1}{##2}[##3]}}%
+ \def\@acrshortpl##1##2[##3]{%
+ \acronymfont{\@glsplural@{##1}{##2}[##3]}}%
+ \def\@Acrshortpl##1##2[##3]{%
+ \acronymfont{\@Glsplural@{##1}{##2}[##3]}}%
+ \def\@ACRshortpl##1##2[##3]{%
+ \acronymfont{\@GLSplural@{##1}{##2}[##3]}}%
+ \def\@acrlong##1##2[##3]{\@glsfirst@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glsfirst@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbol@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbol@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]
+ (\acronymfont{\@GLSsymbol@{##1}{##2}[##3]})}%
+ \def\@acrfullpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbolplural@{##1}{##2}[##3]})}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbolplural@{##1}{##2}[##3]})}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@GLSsymbolplural@{##1}{##2}[##3]})}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetDescriptionAcronymDisplayStyle{\@gls@type}%
+ }%
+ \ifglsacrsmallcaps
+ \renewcommand{\acronymfont}[1]{\textsc{##1}}
+ \renewcommand*{\acrpluralsuffix}{%
+ \textup{\glspluralsuffix}}%
+ \else
+ \ifglsacrsmaller
+ \renewcommand*{\acronymfont}[1]{\textsmaller{##1}}%
+ \fi
+ \fi
+}%
+\newcommand*{\SetFootnoteAcronymDisplayStyle}[1]{%
+ \defglsdisplayfirst[#1]{%
+ \firstacronymfont{##1}##4\protect\footnote{%
+ \protect\glslink
+ [\@gls@link@opts]{\@gls@link@label}{##2}}}%
+ \defglsdisplay[#1]{\acronymfont{##1}##4}%
+}
+\newcommand*{\FootnoteNewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\noexpand\acronymfont{\the\glsshorttok}},%
+ sort={\the\glsshorttok},%
+ text={\the\glsshorttok},%
+ plural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ description={\the\glslongtok},%
+ descriptionplural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetFootnoteAcronymStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetFootnoteAcronymDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \FootnoteNewAcronymDef
+ }%
+ \def\glsshortkey{text}%
+ \def\glsshortpluralkey{plural}%
+ \def\glslongkey{description}%
+ \def\glslongpluralkey{descriptionplural}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetFootnoteAcronymDisplayStyle{\@gls@type}%
+ }%
+ \def\@acrshort##1##2[##3]{\acronymfont{\@glstext@{##1}{##2}[##3]}}%
+ \def\@Acrshort##1##2[##3]{\acronymfont{\@Glstext@{##1}{##2}[##3]}}%
+ \def\@ACRshort##1##2[##3]{\acronymfont{\@GLStext@{##1}{##2}[##3]}}%
+ \def\@acrshortpl##1##2[##3]{%
+ \acronymfont{\@glsplural@{##1}{##2}[##3]}}%
+ \def\@Acrshortpl##1##2[##3]{%
+ \acronymfont{\@Glsplural@{##1}{##2}[##3]}}%
+ \def\@ACRshortpl##1##2[##3]{%
+ \acronymfont{\@GLSplural@{##1}{##2}[##3]}}%
+ \def\@acrlong##1##2[##3]{\@glsdesc@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsdesc@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSdesc@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsdescplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsdescplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSdescplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glsdesc@{##1}{##2}[##3]
+ (\@glstext@{##1}{##2}[##3])}%
+ \def\@Acrfull##1##2[##3]{\@Glsdesc@{##1}{##2}[##3]
+ (\@glstext@{##1}{##2}[##3])}%
+ \def\@ACRfull##1##2[##3]{\@GLSdesc@{##1}{##2}[##3]
+ (\@GLStext@{##1}{##2}[##3])}%
+ \def\@acrfullpl##1##2[##3]{\@glsdescplural@{##1}{##2}[##3]
+ (\@glsplural@{##1}{##2}[##3])}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsdesctext@{##1}{##2}[##3]
+ (\@glsplural@{##1}{##2}[##3])}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSdesctext@{##1}{##2}[##3]
+ (\@GLSplural@{##1}{##2}[##3])}%
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{##1}}%
+ \renewcommand*{\acrpluralsuffix}{%
+ \textup{\glspluralsuffix}}%
+ \else
+ \ifglsacrsmaller
+ \renewcommand*{\acronymfont}[1]{\textsmaller{##1}}%
+ \fi
+ \fi
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `footnote' and `dua'
+ can't both be set}{}%
+ \fi
+}%
+\newcommand*{\SetSmallAcronymDisplayStyle}[1]{%
+ \defglsdisplayfirst[#1]{##1##4 (\firstacronymfont{##3})}
+ \defglsdisplay[#1]{\acronymfont{##1}##4}%
+}
+\newcommand*{\SmallNewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\noexpand\acronymfont{\the\glsshorttok}},%
+ sort={\the\glsshorttok},%
+ text={\noexpand\@glo@symbol},%
+ plural={\noexpand\@glo@symbolplural},%
+ first={\the\glslongtok},%
+ firstplural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ description={\noexpand\@glo@first},%
+ descriptionplural={\noexpand\@glo@firstplural},%
+ symbol={\the\glsshorttok},%
+ symbolplural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetSmallAcronymStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetSmallAcronymDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \SmallNewAcronymDef
+ }%
+ \def\glsshortkey{symbol}%
+ \def\glsshortpluralkey{symbolplural}%
+ \def\glslongkey{first}%
+ \def\glslongpluralkey{firstplural}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetSmallAcronymDisplayStyle{\@gls@type}%
+ }%
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{##1}}
+ \renewcommand*{\acrpluralsuffix}{%
+ \textup{\glspluralsuffix}}%
+ \else
+ \renewcommand*{\acronymfont}[1]{\textsmaller{##1}}
+ \fi
+ \def\@acrshort##1##2[##3]{%
+ \acronymfont{\@glstext@{##1}{##2}[##3]}}%
+ \def\@Acrshort##1##2[##3]{%
+ \acronymfont{\@Glstext@{##1}{##2}[##3]}}%
+ \def\@ACRshort##1##2[##3]{%
+ \acronymfont{\@GLStext@{##1}{##2}[##3]}}%
+ \def\@acrshortpl##1##2[##3]{%
+ \acronymfont{\@glsplural@{##1}{##2}[##3]}}%
+ \def\@Acrshortpl##1##2[##3]{%
+ \acronymfont{\@Glsplural@{##1}{##2}[##3]}}%
+ \def\@ACRshortpl##1##2[##3]{%
+ \acronymfont{\@GLSplural@{##1}{##2}[##3]}}%
+ \def\@acrlong##1##2[##3]{\@glsfirst@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glsfirst@{##1}{##2}[##3]
+ (\acronymfont{\@glstext@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glsfirst@{##1}{##2}[##3]
+ (\acronymfont{\@glstext@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLSfirst@{##1}{##2}[##3]
+ (\acronymfont{\@GLStext@{##1}{##2}[##3]})}%
+ \def\@acrfullpl##1##2[##3]{\@glsfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@glsplural@{##1}{##2}[##3]})}
+ \def\@Acrfullpl##1##2[##3]{\@Glsfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@glsplural@{##1}{##2}[##3]})}
+ \def\@ACRfullpl##1##2[##3]{\@GLSfirstplural@{##1}{##2}[##3]
+ (\acronymfont{\@GLSplural@{##1}{##2}[##3]})}
+ \ifglsacrdua
+ \ifglsacrsmallcaps
+ \PackageError{glossaries}{Option clash: `smallcaps' and `dua'
+ can't both be set}{}%
+ \else
+ \PackageError{glossaries}{Option clash: `smaller' and `dua'
+ can't both be set}{}%
+ \fi
+ \fi
+}%
+\newcommand*{\SetDUADisplayStyle}[1]{%
+ \defglsdisplay[#1]{##1##4}%
+ \defglsdisplayfirst[#1]{##1##4}%
+}
+\newcommand*{\DUANewAcronymDef}{%
+ \edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ name={\the\glsshorttok},%
+ text={\the\glslongtok},%
+ plural={\the\glslongtok\noexpand\acrpluralsuffix},%
+ description={\the\glslongtok},%
+ symbol={\the\glsshorttok},%
+ symbolplural={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetDUAStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetDUADisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \DUANewAcronymDef
+ }%
+ \def\glsshortkey{symbol}%
+ \def\glsshortpluralkey{symbolplural}%
+ \def\glslongkey{text}%
+ \def\glslongpluralkey{plural}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetDUADisplayStyle{\@gls@type}%
+ }%
+ \def\@acrshort##1##2[##3]{\@glssymbol@{##1}{##2}[##3]}%
+ \def\@Acrshort##1##2[##3]{\@Glssymbol@{##1}{##2}[##3]}%
+ \def\@ACRshort##1##2[##3]{\@GLSsymbol@{##1}{##2}[##3]}%
+ \def\@acrshortpl##1##2[##3]{\@glssymbolplural@{##1}{##2}[##3]}%
+ \def\@Acrshortpl##1##2[##3]{\@Glssymbolplural@{##1}{##2}[##3]}%
+ \def\@ACRshortpl##1##2[##3]{\@GLSsymbolplural@{##1}{##2}[##3]}%
+ \def\@acrlong##1##2[##3]{\@glstext@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glstext@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLStext@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsplural@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsplural@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSplural@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glstext@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbol@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glstext@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbol@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLStext@{##1}{##2}[##3]
+ (\acronymfont{\@GLSsymbol@{##1}{##2}[##3]})}%
+ \def\@acrfullpl##1##2[##3]{\@glsplural@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbolplural@{##1}{##2}[##3]})}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsplural@{##1}{##2}[##3]
+ (\acronymfont{\@glssymbolplural@{##1}{##2}[##3]})}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSplural@{##1}{##2}[##3]
+ (\acronymfont{\@GLSsymbolplural@{##1}{##2}[##3]})}%
+}%
+\newcommand*{\SetAcronymStyle}{%
+ \SetDefaultAcronymStyle
+ \ifglsacrdescription
+ \ifglsacrfootnote
+ \SetDescriptionFootnoteAcronymStyle
+ \else
+ \ifglsacrdua
+ \SetDescriptionDUAAcronymStyle
+ \else
+ \SetDescriptionAcronymStyle
+ \fi
+ \fi
+ \else
+ \ifglsacrfootnote
+ \SetFootnoteAcronymStyle
+ \else
+ \ifthenelse{\boolean{glsacrsmallcaps}\OR
+ \boolean{glsacrsmaller}}%
+ {%
+ \SetSmallAcronymStyle
+ }%
+ {%
+ \ifglsacrdua
+ \SetDUAStyle
+ \fi
+ }%
+ \fi
+ \fi
+}
+\SetAcronymStyle
+\newcommand*{\SetCustomDisplayStyle}[1]{%
+ \defglsdisplay[#1]{##1##4}%
+ \defglsdisplayfirst[#1]{##1##4}%
+}
+\newcommand*{\CustomAcronymFields}{%
+ name={\the\glsshorttok},%
+ description={\the\glslongtok},%
+ first={\the\glslongtok\space(\the\glsshorttok)},%
+ firstplural={\the\glslongtok\noexpand\acrpluralsuffix\space
+ (\the\glsshorttok)}%
+ text={\the\glsshorttok},%
+ plural={\the\glsshorttok\noexpand\acrpluralsuffix}%
+}
+\newcommand*{\CustomNewAcronymDef}{%
+ \protected@edef\@do@newglossaryentry{%
+ \noexpand\newglossaryentry{\the\glslabeltok}%
+ {%
+ type=\acronymtype,%
+ user1={\the\glsshorttok},%
+ user2={\the\glsshorttok\noexpand\acrpluralsuffix},%
+ user3={\the\glslongtok},%
+ user4={\the\glslongtok\noexpand\acrpluralsuffix},%
+ \CustomAcronymFields,%
+ \the\glskeylisttok
+ }%
+ }%
+ \@do@newglossaryentry
+}
+\newcommand*{\SetCustomStyle}{%
+ \renewcommand{\newacronym}[4][]{%
+ \ifx\@glsacronymlists\@empty
+ \def\@glo@type{\acronymtype}%
+ \setkeys{glossentry}{##1}%
+ \DeclareAcronymList{\@glo@type}%
+ \SetCustomDisplayStyle{\@glo@type}%
+ \fi
+ \glskeylisttok{##1}%
+ \glslabeltok{##2}%
+ \glsshorttok{##3}%
+ \glslongtok{##4}%
+ \newacronymhook
+ \CustomNewAcronymDef
+ }%
+ \def\glsshortkey{user1}%
+ \def\glsshortpluralkey{user2}%
+ \def\glslongkey{user3}%
+ \def\glslongpluralkey{user4}%
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetCustomDisplayStyle{\@gls@type}%
+ }%
+ \def\@acrshort##1##2[##3]{\@glsuseri@{##1}{##2}[##3]}%
+ \def\@Acrshort##1##2[##3]{\@Glsuseri@{##1}{##2}[##3]}%
+ \def\@ACRshort##1##2[##3]{\@GLSuseri@{##1}{##2}[##3]}%
+ \def\@acrshortpl##1##2[##3]{\@glsuserii@{##1}{##2}[##3]}%
+ \def\@Acrshortpl##1##2[##3]{\@Glsuserii@{##1}{##2}[##3]}%
+ \def\@ACRshortpl##1##2[##3]{\@GLSuserii@{##1}{##2}[##3]}%
+ \def\@acrlong##1##2[##3]{\@glsuseriii@{##1}{##2}[##3]}%
+ \def\@Acrlong##1##2[##3]{\@Glsuseriii@{##1}{##2}[##3]}%
+ \def\@ACRlong##1##2[##3]{\@GLSuseriii@{##1}{##2}[##3]}%
+ \def\@acrlongpl##1##2[##3]{\@glsuseriv@{##1}{##2}[##3]}%
+ \def\@Acrlongpl##1##2[##3]{\@Glsuseriv@{##1}{##2}[##3]}%
+ \def\@ACRlongpl##1##2[##3]{\@GLSuseriv@{##1}{##2}[##3]}%
+ \def\@acrfull##1##2[##3]{\@glsuseriii@{##1}{##2}[##3]
+ (\acronymfont{\@glsuseri@{##1}{##2}[##3]})}%
+ \def\@Acrfull##1##2[##3]{\@Glsuseriii@{##1}{##2}[##3]
+ (\acronymfont{\@glsuseri@{##1}{##2}[##3]})}%
+ \def\@ACRfull##1##2[##3]{\@GLSuseriii@{##1}{##2}[##3]
+ (\acronymfont{\@GLSuseri@{##1}{##2}[##3]})}%
+ \def\@acrfullpl##1##2[##3]{\@glsuseriv@{##1}{##2}[##3]
+ (\acronymfont{\@glsuserii@{##1}{##2}[##3]})}%
+ \def\@Acrfullpl##1##2[##3]{\@Glsuseriv@{##1}{##2}[##3]
+ (\acronymfont{\@glsuserii@{##1}{##2}[##3]})}%
+ \def\@ACRfullpl##1##2[##3]{\@GLSuseriv@{##1}{##2}[##3]
+ (\acronymfont{\@GLSuserii@{##1}{##2}[##3]})}%
+}%
+\newcommand*{\DefineAcronymSynonyms}{%
+ \let\acs\acrshort
+ \let\Acs\Acrshort
+ \let\acsp\acrshortpl
+ \let\Acsp\Acrshortpl
+ \let\acl\acrlong
+ \let\aclp\acrlongpl
+ \let\Acl\Acrlong
+ \let\Aclp\Acrlongpl
+ \let\acf\acrfull
+ \let\acfp\acrfullpl
+ \let\Acf\Acrfull
+ \let\Acfp\Acrfullpl
+ \let\ac\gls
+ \let\Ac\Gls
+ \let\acp\glspl
+ \let\Acp\Glspl
+}
+\ifglsacrshortcuts
+ \DefineAcronymSynonyms
+\fi
+\RequirePackage{glossary-hypernav}
+\@gls@loadlist
+\@gls@loadlong
+\@gls@loadsuper
+\@gls@loadtree
+\ifx\@glossary@default@style\relax
+\else
+ \glossarystyle{\@glossary@default@style}
+\fi
+\endinput
+%%
+%% End of file `glossaries.sty'.