diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-14 22:31:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-14 22:31:40 +0000 |
commit | b3f1741ccbe6dede2fc5cc309815e40728c0330f (patch) | |
tree | e9c7d2ffc516d8fff6defbf3b85205078e1701f9 /Master/texmf-dist/source/latex/glossaries | |
parent | fa2a29ef6564da92ff9b4caede3dd5456dd48eb6 (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.dtx | 3049 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/glossaries/glossaries.ins | 95 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/glossaries/glossaries.sty | 3442 |
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'. |