diff options
author | Karl Berry <karl@freefriends.org> | 2011-04-04 23:19:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-04-04 23:19:17 +0000 |
commit | d49526563e8a66d6774a086ad2a91fbf249b35b3 (patch) | |
tree | aecb9254e4f4db280b2f7ab8a9dc9f154fa08dd7 /Master/texmf-dist/source | |
parent | aeb22f958bf3b465bb5e3f085176c7fe0f2ef562 (diff) |
glossaries 3.0 (4apr11)
git-svn-id: svn://tug.org/texlive/trunk@21968 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/glossaries/glossaries.dtx | 10996 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/glossaries/glossaries.ins | 13 |
2 files changed, 5019 insertions, 5990 deletions
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx index 43a001e0367..6de6f15c633 100644 --- a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx +++ b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx @@ -13,20 +13,21 @@ % -src "glossaries.sty\Z=>glossaries.sty" % -src "mfirstuc.sty\Z=>mfirstuc.sty" % -src "(glossary-.+)\.(sty)\Z=>\1.\2" +% -src "(glossaries-compatible-207)\.(sty)\Z=>\1.\2" % -src "(glossaries-accsupp)\.(sty)\Z=>\1.\2" % -src "(glossaries-babel)\.(sty)\Z=>\1.\2" % -src "(glossaries-polyglossia)\.(sty)\Z=>\1.\2" % -src "(glossaries-dictionary-.+)\.(dict)\Z=>\1.\2" % -src "(minimalgls\.tex)\Z=>\1" % -src "(sample.*\.tex)\Z=>\1" -% -src "(samplexdy-mc\.xdy)\Z=>\1" +% -src "(samplexdy-mc.*\.xdy)\Z=>\1" % -src "(database.*\.tex)\Z=>\1" % -src "(glossaries\.perl)\Z=>\1" % -doc "glossaries-manual.tex" % -author "Nicola Talbot" -% -codetitle "Glossaries Documented Code" +% -codetitle "Main Package Code" % glossaries -% Created on 2010/7/10 12:21 +% Created on 2011/4/3 22:26 %\fi %\iffalse %<*package> @@ -49,12 +50,17 @@ %\fi % \iffalse % Doc-Source file to use with LaTeX2e -% Copyright (C) 2010 Nicola Talbot, all rights reserved. +% Copyright (C) 2011 Nicola Talbot, all rights reserved. % \fi % \iffalse %<*driver> \documentclass{nlctdoc} +\iffalse +glossaries-manual.tex is a stub file used by makedtx to create +glossaries.dtx +\fi + \usepackage{alltt} \usepackage{pifont} \usepackage[utf8]{inputenc} @@ -69,12 +75,11 @@ \doxitem{Option}{option}{package options} \doxitem{GlsKey}{key}{glossary keys} \doxitem{Style}{style}{glossary styles} +\doxitem{Counter}{counter}{glossary counters} \setcounter{IndexColumns}{2} -\CheckSum{11106} - -\newcommand*{\tick}{\ding{51}} +\CheckSum{13110} \newcommand*{\ifirstuse}{\iterm{first use}} \newcommand*{\firstuse}{first use\ifirstuse} @@ -102,8 +107,7 @@ %\MakeShortVerb{"} %\DeleteShortVerb{\|} % -% \title{glossaries.sty v2.07: -% \LaTeXe\ Package to Assist Generating Glossaries} +% \title{Documented Code For glossaries v3.0} % \author{Nicola L.C. Talbot\\[10pt] %School of Computing Sciences\\ %University of East Anglia\\ @@ -111,5020 +115,43 @@ %NR4 7TJ. United Kingdom.\\ %\url{http://theoval.cmp.uea.ac.uk/~nlct/}} % -% \date{2010-07-10} +% \date{2011-04-02} % \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 \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 -%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 -%\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 \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 -%\docref{guide for beginners}{glossariesbegin}. -% -%\begin{important} -%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 \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 \sectionref{sec:samples} lists the sample documents provided -%with this package. -% -%\item \sectionref{sec:languages} provides information for users who -%wish to write in a language other than English. -% -%\item \sectionref{sec:makeglossaries} describes how to use a -%post-processor to create the sorted glossaries for your document. -% -%\item \sectionref{sec:trouble} provides some assistance in the event -%that you encounter a problem. -%\end{itemize} -% -% -%\subsection{Sample Documents} -%\label{sec:samples} -% -%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 -%\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{prompt} -%texdoc -l glossaries -%\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. -% -%If you can't find the sample files, they are available in the -%subdirectory \texttt{doc/latex/glossaries/samples/} in the -%\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: -% \begin{enumerate} -% \item Run \texttt{minimalgls.tex} through \LaTeX\ either by -% typing -%\begin{prompt} -%latex minimalgls -%\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 -% PDF\LaTeX\ you will also get warnings about non-existent -% 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 \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 \styfmt{xkeyval} -% package. -% -% \item Run \app{makeglossaries} on the document. This can -% be done on a terminal either by typing -%\begin{prompt} -%makeglossaries minimalgls -%\end{prompt} -% or by typing -%\begin{prompt} -%perl makeglossaries minimalgls -%\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 \app{makeindex} directly. You can do this -% in a terminal by typing (all on one line): -%\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 -% the double-quote character. -% -% \item Run \texttt{minimalgls.tex} through \LaTeX\ again (as step~1) -% \end{enumerate} -%You should now have a complete document. The number following -%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{prompt} -%latex sample4col -%makeglossaries sample4col -%latex sample4col -%\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{prompt} -%latex sampleAcr -%makeglossaries sampleAcr -%latex sampleAcr -%latex sampleAcr -%\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{prompt} -%latex sampleAcrDesc -%makeglossaries sampleAcrDesc -%latex sampleAcrDesc -%latex sampleAcrDesc -%\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{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{prompt} -%latex sampleDB -%makeglossaries sampleDB -%latex sampleDB -%\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{prompt} -%makeindex -s sampleDB.ist -t sampleDB.glg -o sampleDB.gls sampleDB.glo -%\end{prompt} -%\item Create the secondary glossary: -%\begin{prompt} -%makeindex -s sampleDB.ist -t sampleDB.nlg -o sampleDB.not sampleDB.ntn -%\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 \env{equation} environment. To create -%the document do: -%\begin{prompt} -%latex sampleEq -%makeglossaries sampleEq -%latex sampleEq -%\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{prompt} -%latex sampleEqPg -%makeglossaries sampleEqPg -%latex sampleEqPg -%latex sampleEqPg -%\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{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{prompt} -%latex sampleNtn -%makeglossaries sampleNtn -%latex sampleNtn -%latex sampleNtn -%\end{prompt} -%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{prompt} -%makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo -%\end{prompt} -%\item Create the secondary glossary: -%\begin{prompt} -%makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.not sampleNtn.ntn -%\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{prompt} -%latex sample -%makeglossaries sample -%latex sample -%latex sample -%\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{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 -%\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{prompt} -%latex samplexdy -%makeglossaries samplexdy -%latex samplexdy -%\end{prompt} -%If you don't have Perl installed, you will have to call -%\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{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{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{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{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{prompt} -%latex sampleutf8 -%makeglossaries sampleutf8 -%latex sampleutf8 -%\end{prompt} -%you will see that the entries that start with a non-Latin character -%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{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 \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 \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 \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 \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 \app{xindy}, remember to use the -%\pkgopt{xindy} package option. For example: -%\begin{verbatim} -%\documentclass[frenchb]{article} -%\usepackage[utf8]{inputenc} -%\usepackage[T1]{fontenc} -%\usepackage{babel} -%\usepackage[xindy]{glossaries} -%\end{verbatim} -% -%\begin{important} -%If you use an accented or other expandable character at the start of -%an entry name, you must place it in a group, or it will cause -%a problem for commands that convert the first letter to uppercase -%(e.g.\ \ics{Gls}) due to expansion issues. For example: -%\begin{verbatim} -%\newglossaryentry{elite}{name={{é}lite}, -%description={select group or class}} -%\end{verbatim} -%\end{important} -% -%If you use the \sty{inputenc} package, \app{makeglossaries} -%will pick up the encoding from the auxiliary file. If you use -%\app{xindy} explicitly instead of via \app{makeglossaries}, -%you may need to specify the encoding using the \texttt{-C} -%option. Read the \app{xindy} manual for further details. -% -%\subsubsection{Changing the Fixed Names} -%\label{sec:fixednames} -% -%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 \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 -%\sty{translator} package with the required languages. For example: -%\begin{verbatim} -%\usepackage[spanish]{babel} -%\usepackage[spanish]{translator} -%\usepackage{glossaries} -%\end{verbatim} -%Alternatively, specify the language as a class option rather -%than a package option. For example: -%\begin{verbatim} -%\documentclass[spanish]{report} -% -%\usepackage{babel} -%\usepackage{glossaries} -%\end{verbatim} -% -%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} -%\usepackage{ngerman} -%\usepackage{translator} -%\usepackage{glossaries} -%\end{verbatim} -% -%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\\ -%Brazilian Portuguese & 1.17\\ -%Danish & 1.08\\ -%Dutch & 1.08\\ -%English & 1.08\\ -%French & 1.08\\ -%German & 1.08\\ -%Irish & 1.08\\ -%Italian & 1.08\\ -%Hungarian & 1.08\\ -%Polish & 1.13\\ -%Serbian & 2.06\\ -%Spanish & 1.08 -%\end{tabular} -%\end{center} -%\end{table} -% -%The language dependent commands and \sty{translator} keys used by the -%glossaries package are listed in \tableref{tab:predefinednames}. -% -%\begin{table}[htbp] -%\caption{Customised Text} -%\label{tab:predefinednames} -%\begin{center} -%\begin{tabular}{@{}llp{0.4\linewidth}@{}} -%\bfseries Command Name & \bfseries Translator Key Word & -%\bfseries Purpose\\ -%\ics{glossaryname} & \texttt{Glossary} & Title of the main glossary.\\ -%\ics{acronymname} & \texttt{Acronyms} & Title of the list of acronyms -%(when used with package option \pkgopt{acronym}).\\ -%\ics{entryname} & \texttt{Notation (glossaries)} & -%Header for first column in the glossary (for 2, 3 or 4 column glossaries -%that support headers).\\ -%\ics{descriptionname} & \texttt{Description (glossaries)} & -%Header for second column in the glossary (for 2, 3 or 4 column glossaries -%that support headers).\\ -%\ics{symbolname} & \texttt{Symbol (glossaries)} & Header for symbol -%column in the glossary for glossary styles that support this option.\\ -%\ics{pagelistname} & \texttt{Page List (glossaries)} & -%Header for page list column in the glossary for glossaries that support -%this option.\\ -%\ics{glssymbolsgroupname} & \texttt{Symbols (glossaries)} & -%Header for symbols section of the glossary for glossary styles that -%support this option.\\ -%\ics{glsnumbersgroupname} & \texttt{Numbers (glossaries)} & Header for -%numbers section of the glossary for glossary styles that support -%this option. -%\end{tabular} -%\end{center} -%\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 -%\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 \sty{translator} documentation -%for further details. -% -%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 -%\sty{glossaries-babel} after \styfmt{glossaries} or specify you're own -%translations. For example: -%\begin{verbatim} -%\documentclass[british]{article} -% -%\usepackage{babel} -%\usepackage[translate=false]{glossaries} -%\usepackage{glossaries-babel} -%\end{verbatim} -%or: -%\begin{verbatim} -%\documentclass[british]{article} -% -%\usepackage{babel} -%\usepackage[translate=false]{glossaries} -% -%\addto\captionsbritish{% -% \renewcommand*{\glossaryname}{List of Terms}% -% \renewcommand*{\acronymname}{List of Acronyms}% -% \renewcommand*{\entryname}{Notation}% -% \renewcommand*{\descriptionname}{Description}% -% \renewcommand*{\symbolname}{Symbol}% -% \renewcommand*{\pagelistname}{Page List}% -% \renewcommand*{\glssymbolsgroupname}{Symbols}% -% \renewcommand*{\glsnumbersgroupname}{Numbers}% -%} -%\end{verbatim} -% -%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 \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 -%\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}. -%However, whilst it is strongly recommended that you use the -%\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 \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 \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}, -%description={fruit of any citrus tree. (See also -%\gls{orange})}} -% -%\newglossaryentry{orange}{name={orange}, -%description={an orange coloured fruit.}} -%\end{verbatim} -%and suppose you have \verb|\gls{citrusfruit}| in your document -%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 \app{makeglossaries}, \app{makeindex} or \app{xindy}. -%For example, if the document is called \texttt{myDoc.tex}, then -%you must do: -%\begin{prompt} -%latex myDoc -%makeglossaries myDoc -%latex myDoc -%makeglossaries myDoc -%latex myDoc -%\end{prompt} -% -%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 -%\LaTeX\ run may push glossary entries across page boundaries, which -%means that the number lists\iterm{number list} in the glossary may -%need updating. -% -%The examples in this document assume that you are accessing -%\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} explicitly} -%\label{tab:makeglossariesCmds} -%\vskip\baselineskip -%\begin{tabular}{@{}lll@{}} -%\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}=\{\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}\\ -%\ics{GlsSetXdyCodePage}\marg{code} & N/A & -%use \texttt{-C} \meta{code} -%\end{tabular} -%\par -%\end{table} -% -% -%\subsubsection{Using the makeglossaries Perl Script} -%\label{sec:makeglossariesapp} -% -%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{prompt} -%You may need to explicitly load \app{makeglossaries} into Perl: -%\begin{prompt} -%perl makeglossaries myDoc -%\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 \app{makeglossaries} script contains POD (Plain Old -%Documentation). If you want, you can create a man page for -%\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 \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 \app{xindy} -%explicitly or whether it's called implicitly via -%\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 \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 -%\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 -%directory. If any of the file names contain spaces, you must delimit -%them using double-quotes. -% -%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{prompt} -%xindy -L english -C utf8 -I xindy -M myDoc -t myDoc.glg -o myDoc.gls myDoc.glo -%\end{prompt} -% -%Note that this just creates the main glossary. You need to do -%the same for each of the other glossaries (including the -%list of acronyms if you have used the \pkgopt{acronym} -%package option), 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 would need to do: -%\begin{prompt} -%xindy -L english -C utf8 -I xindy -M myDoc -t myDoc.alg -o myDoc.acr myDoc.acn -%\end{prompt} -%For additional glossaries, the extensions are those supplied -%when you created the glossary with \ics{newglossary}. -% -%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{prompt} -%Note also that some commands and package options have no effect if -%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 \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 \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 \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 \app{makeindex} -%manual for further details. -% -%For example, if your document is called \texttt{myDoc.tex}, then -%type the following at the terminal: -%\begin{prompt} -%makeindex -s myDoc.ist -t myDoc.glg -o myDoc.gls myDoc.glo -%\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 -%\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{prompt} -%makeindex -s myDoc.ist -t myDoc.alg -o myDoc.acr myDoc.acn -%\end{prompt} -%For additional glossaries, the extensions are those supplied -%when you created the glossary with \ics{newglossary}. -% -%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{prompt} -%Note also that some commands and package options have no effect if -%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 \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 -%\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 \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 \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 -%information for the main glossary is written as: -%\begin{verbatim} -%\@newglossary{main}{glg}{gls}{glo} -%\end{verbatim} -% -%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: -%\begin{definition}[\DescribeMacro{\@glsorder}] -%\cs{@glsorder}\marg{order} -%\end{definition} -%where \meta{order} can be either \texttt{word} or \texttt{letter}. -% -%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} -%\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 \app{makeindex} should be used. -% -% -%\subsection{Troubleshooting} -%\label{sec:trouble} -% -%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 \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/}. -%Further information on debugging \LaTeX\ code is available at -%\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 \styfmt{glossaries} FAQ at -%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html}. -% -%\begin{enumerate} -%\item \textbf{Q.} I get the error message: -%\begin{verbatim} -%Missing \begin{document} -%\end{verbatim} -% -%\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 -%are displayed in normal sized upper case letters. -% -%\textbf{A.} The \pkgopt{smallcaps} package option uses \cs{textsc} to typeset -%the acronyms. This command converts lower case letters to small -%capitals, while upper case letters remain their usual size. Therefore -%you need to specify the acronym in lower case letters. -% -%\item \textbf{Q.} My acronyms won't break across a line when they're -%expanded. -% -%\textbf{A.} PDF\LaTeX\ can break hyperlinks across a line, but -%\LaTeX\ can't. If you can't use PDF\LaTeX\ then disable the first use -%links using the package option \pkgopt[false]{hyperfirst}. -% -%\item \textbf{Q.} How do I change the font that the acronyms are displayed in? -% -%\textbf{A.} The easiest way to do this is to specify the \pkgopt{smaller} package -%option and redefine \cs{acronymfont} to use the required typesetting -%command. For example, suppose you would like the acronyms displayed in -%a sans-serif font, then you can do: -%\begin{verbatim} -%\usepackage[smaller]{glossaries} -%\renewcommand*{\acronymfont}[1]{\textsf{#1}} -%\end{verbatim} -% -%\item \textbf{Q.} How do I change the font that the acronyms are displayed in -%on \firstuse? -% -%\textbf{A.} The easiest way to do this is to specify the \pkgopt{smaller} package -%option and redefine \cs{firstacronymfont} to use the required -%command. Note that if you don't want the acronym on subsequent use -%to use \cs{textsmaller}, you will also need to redefine \cs{acronymfont}, -%as above. For example to make the acronym emphasized on -%\firstuse, but use the surrounding font for subsequent use, you can do: -%\begin{verbatim} -%\usepackage[smaller]{glossaries} -%\renewcommand*{\firstacronymfont}[1]{\emph{#1}} -%\renewcommand*{\acronymfont}[1]{#1} -%\end{verbatim} -% -%\item \textbf{Q.} I don't have Perl installed, do I have to use -%\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 \styfmt{glossary} package: are there any -%instructions on migrating from the \sty{glossary} package to the -%\styfmt{glossaries} package? -% -%\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 \sty{babel} but the fixed names haven't -%been translated. -% -%\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 \sty{translator} package with the -%required languages explicitly (before you load the \styfmt{glossaries} -%package). For example: -%\begin{verbatim} -%\usepackage[ngerman]{babel} -%\usepackage[ngerman]{translator} -%\usepackage{glossaries} -%\end{verbatim} -%Alternatively, you can add the language as a global option -%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 -%like \ics{acrlong}. -% -%\textbf{A.} Switch off the sanitization: -%\begin{verbatim} -%\usepackage[sanitize=none]{glossaries} -%\end{verbatim} -%and protect fragile commands. -% -%\item \textbf{Q.} My glossaries haven't appeared. -% -%\textbf{A.} Remember to do the following: -%\begin{itemize} -%\item Add \ics{makeglossaries} to the document preamble. -% -%\item Use either \ics{printglossary} for each glossary that has -%been defined or \ics{printglossaries}. -% -%\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 \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 -%\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 -%warnings. -% -%\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 -%\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 \styfmt{glossaries} package options are as follows: +%This is the documented code for the \styfmt{glossaries} package. +%This bundle comes with the following documentation: %\begin{description} -%\item[\pkgopt{nowarn}] This suppresses all warnings generated by -%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 \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[\url{glossariesbegin.pdf}] +%If you are a complete beginner, start with \qt{The glossaries +%package: a guide for beginners}. % -%\item[\pkgopt{numberline}] When used with \pkgopt{toc}, this will -%add \cs{numberline}\verb|{}| in the final argument of -%\cs{addcontentsline}. This will align the table of contents entry -%with the numbered section titles. Note that this option has no -%effect if the \pkgopt{toc} option is omitted. If \pkgopt{toc} is -%used without \pkgopt{numberline}, the title will be aligned with -%the section numbers rather than the section titles. +%\item[\url{glossary2glossaries.pdf}] +%If you are moving over from the obsolete \sty{glossary} package, +%read \qt{Upgrading from the glossary package to the +%glossaries package}. % -%\item[\pkgopt{acronym}] This creates a new glossary with the -%label \texttt{acronym}. This is equivalent to: -%\begin{verbatim} -%\newglossary[alg]{acronym}{acr}{acn}{\acronymname} -%\end{verbatim} -%If the \pkgopt{acronym} package option is used, \ics{acronymtype} -%is set to \texttt{acronym} otherwise it is set to -%\texttt{main}.\footnote{Actually it sets \ics{acronymtype} to -%\ics{glsdefaulttype} if the \pkgopt{acronym} package option is -%not used, but \ics{glsdefaulttype} usually has the value -%\texttt{main}.} -%Entries that are defined using \ics{newacronym} are placed in -%the glossary whose label is given by \ics{acronymtype}, unless -%another glossary is explicitly specified. -% -%\item[\pkgopt{acronymlists}] By default, only the \texttt{acronym} -%glossary is considered to be a list of acronyms. If you have other -%lists of acronyms, you can specify them as a comma-separated list -%in the value of \pkgopt{acronymlists}. For example, if you want -%the \texttt{main} glossary to also contain a list of acronyms, you -%can do: -%\begin{verbatim} -%\usepackage[acronym,acronymlists={main}]{glossaries} -%\end{verbatim} -%No check is performed to determine if the listed glossaries exist, -%so you can add glossaries you haven't defined yet. For example: -%\begin{verbatim} -%\usepackage[acronym,acronymlists={main,acronym2}]{glossaries} -%\newglossary[alg2]{acronym2}{acr2}{acn2}{Statistical Acronyms} -%\end{verbatim} +%\item[\url{glossaries-user.pdf}] +%For the main user guide, read \qt{glossaries.sty v3.0: +%\LaTeX2e\ Package to Assist Generating Glossaries}. % -%\item[\pkgopt{section}] This is a \meta{key}=\meta{value} option. Its -%value should be the name of a sectional unit (e.g.\ chapter). -%This will make the glossaries appear in the named sectional unit, -%otherwise each glossary will appear in a chapter, if chapters -%exist, otherwise in a section. Unnumbered sectional units will be used -%by default. Example: -%\begin{verbatim} -%\usepackage[section=subsection]{glossaries} -%\end{verbatim} -%You can omit the value if you want to use sections, i.e.\ -%\begin{verbatim} -%\usepackage[section]{glossaries} -%\end{verbatim} -%is equivalent to -%\begin{verbatim} -%\usepackage[section=section]{glossaries} -%\end{verbatim} -%You can change this value later in the document using -%\begin{definition}[\DescribeMacro{\setglossarysection}] -%\cs{setglossarysection}\marg{name} -%\end{definition} -%where \meta{name} is the sectional unit. +%\item[\url{mfirstuc-manual.pdf}] +%The commands provided by the \sty{mfirstuc} package are briefly +%described in \qt{mfirstuc.sty: uppercasing first letter}. % -%The start of each glossary adds information to the page header via -%\begin{definition}[\DescribeMacro{\glossarymark}] -%\cs{glossarymark}\marg{glossary title} -%\end{definition} -%This defaults to \cs{@mkboth}, but you may need to redefine it. -%For example, to only change the right header: -%\begin{verbatim} -%\renewcommand{\glossarymark}[1]{\markright{#1}} -%\end{verbatim} -%or to prevent it from changing the headers: -%\begin{verbatim} -%\renewcommand{\glossarymark}[1]{} -%\end{verbatim} +%\item[glossaries.pdf] +%This document is for advanced users wishing to know more about the +%inner workings of the \styfmt{glossaries} package. % -%Occasionally you may find that another package defines -%\cs{cleardoublepage} when it is not required. This may cause an -%unwanted blank page to appear before each glossary. This can -%be fixed by redefining \ics{glsclearpage}: -%\begin{verbatim} -%\renewcommand*{\glsclearpage}{\clearpage} -%\end{verbatim} +%\item[INSTALL] Installation instructions. % -%\item[\pkgopt{numberedsection}] -%The glossaries are placed in unnumbered sectional units by default, -%but this can be changed using \pkgopt{numberedsection}. This option can take -%three possible values: \pkgoptval{false}{numberedsection} (no -%number, i.e.\ use starred form), \pkgoptval{nolabel}{numberedsection} -%(numbered, i.e.\ unstarred form, but not labelled) and -%\pkgoptval{autolabel}{numberedsection} (numbered with automatic -%labelling). If \pkgopt[autolabel]{numberedsection} is used, each -%glossary is given a label that matches the glossary type, so the -%main (default) glossary is labelled \texttt{main}, the list of -%acronyms is labelled \texttt{acronym}\footnote{if the -%\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 \styfmt{glossaries} -%using: -%\begin{verbatim} -%\usepackage[section,numberedsection=autolabel]{glossaries} -%\end{verbatim} -%then each glossary will appear in a numbered section, and can -%be referenced using something like: -%\begin{verbatim} -%The main glossary is in section~\ref{main} and the list of -%acronyms is in section~\ref{acronym}. -%\end{verbatim} -%If you can't decide whether to have the acronyms in the main -%glossary or a separate list of acronyms, you can use -%\ics{acronymtype} which is set to \texttt{main} if the -%\pkgopt{acronym} option is not used and is set to \texttt{acronym} -%if the \pkgopt{acronym} option is used. For example: -%\begin{verbatim} -%The list of acronyms is in section~\ref{\acronymtype}. -%\end{verbatim} +%\item[CHANGES] Change log. % -%As from version 1.14, you can add a prefix to the label by -%redefining -%\begin{definition}[\DescribeMacro{\glsautoprefix}] -%\cs{glsautoprefix} -%\end{definition} -%For example: -%\begin{verbatim} -%\renewcommand*{\glsautoprefix}{glo:} -%\end{verbatim} -%will add \texttt{glo:} to the automatically generated label, so -%you can then, for example, refer to the list of acronyms as follows: -%\begin{verbatim} -%The list of acronyms is in section~\ref{glo:\acronymtype}. -%\end{verbatim} -%Or, if you are undecided on a prefix: -%\begin{verbatim} -%The list of acronyms is in section~\ref{\glsautoprefix\acronymtype}. -%\end{verbatim} -% -% -%\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 \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 \styfmt{glossary-long} package. -% -%\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 \styfmt{glossary-super} package. -% -%\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 \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 \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 \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 \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 -%optional argument to \ics{printglossary}. -% -%\item[\pkgopt{nonumberlist}] This option will suppress the -%associated number lists\iterm{number list} in the glossaries (see also -%\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 \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 -%\pkgoptfmt{sanitize=\{name=false,description=false,symbol=false\}}. -% -%\begin{important}% -%\textbf{Note}: this sanitization only applies to the \gloskey{name}, -%\gloskey{description} and \gloskey{symbol} keys. It doesn't apply -%to any of the other keys (except the \gloskey{sort} key which is -%always sanitized) so fragile commands contained in the value of -%the other keys must always be protected using \cs{protect}. -%Since the value of the \gloskey{text} key is obtained from the -%\gloskey{name} key, you will still need to protect fragile commands -%in the \gloskey{name} key if you don't use the \gloskey{text} key. -%\end{important} -% -%\item[\pkgopt{description}] This option changes the definition of -%\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 -%\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 -%\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 \sty{relsize} -%package or otherwise define \ics{textsmaller} or redefine -%\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 \sectionref{sec:acronyms} for further details. -% -%\item[\pkgopt{shortcuts}] This option provides shortcut commands -%for acronyms. See \sectionref{sec:acronyms} for further details. -% -%\item[\pkgopt{makeindex}] (Default) The glossary information and -%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: -%\begin{verbatim} -%\usepackage[xindy={glsnumbers=false}]{glossaries} -%\end{verbatim} -%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 \app{makeglossaries}. -% -%\item[\pkgopt{translate}] This is a boolean option. The default 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 \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 -% \sty{translator} package interface. You can modify the -% translations by providing your own dictionary. If the -% \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 -% \sty{polyglossia} has been loaded, \sty{glossaries-polyglossia} -% will be loaded. -% -% \item[{\pkgopt[false]{translate}}] Don't provide translations, even -% if \sty{babel} or \sty{polyglossia} has been loaded. You can -% then provide you're own translations or explicitly load -% \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, -%unless explicitly suppressed using starred versions of commands -%such as \cs{gls*}). +%\item[README] Package summary. % %\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 -%\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 \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. -% -%\begin{important} -%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} -% -%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 \app{makeindex}) or -%\ics{jobname}\filetype{.xdy} (for \app{xindy}). This name may be -%changed using: -%\begin{definition}[\DescribeMacro{\setStyleFile}] -%\cs{setStyleFile}\marg{name} -%\end{definition} -%where \meta{name} is the name of the style file without the -%extension. Note that this command must be used before -%\cs{makeglossaries}. -% -%Each glossary entry is assigned a \term{number list} that lists all -%the locations in the document where that entry was used. By default, -%the location refers to the page number but this may be overridden -%using the \pkgopt{counter} package option. The default form of -%the location number assumes a full stop compositor (e.g.\ 1.2), -%but if your location numbers use a different compositor (e.g. 1-2) -%you need to set this using -%\begin{definition}[\DescribeMacro{\glsSetCompositor}] -%\cs{glsSetCompositor}\marg{symbol} -%\end{definition} -%For example: -%\begin{verbatim} -%\glsSetCompositor{-} -%\end{verbatim} -%Note that this command must be used before \cs{makeglossaries}. -% -%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: -%\begin{verbatim} -%\glsSetCompositor{.} \glsSetAlphaCompositor{-} -%\end{verbatim} -%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{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 -%the glossary). If this key is omitted and the \gloskey{parent} -%key is supplied, this value will be the same as the parent's name. -% -%\item[{\gloskey{description}}] A brief description of this term (to -%appear in the glossary). Within this value, you can use -%\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 -%\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} -%not \verb"\\" if you want to force a line break. -% -%\item[{\gloskey{parent}}] The label of the parent entry. Note that -%the parent entry must be defined before its sub-entries. -%See \sectionref{sec:subentries} for further details. -% -%\item[{\gloskey{descriptionplural}}] The plural form of the -%description (as passed to \ics{glsdisplay} and \ics{glsdisplayfirst} -%by \ics{glspl}, \ics{Glspl} and \ics{GLSpl}). If omitted, the value -%is set to the same as the \gloskey{description} key. -% -%\item[{\gloskey{text}}] How this entry will appear in the document text -%when using \ics{gls} (or one of its uppercase variants). If this -%field is omitted, the value of the \gloskey{name} key is used. -% -%\item[{\gloskey{first}}] How the entry will appear in the document text -%the first time it is used with \ics{gls}\ifirstusetext\ (or one of its uppercase -%variants). If this field is omitted, the value of the \gloskey{text} -%key is used. -% -%\item[{\gloskey{plural}}] How the entry will appear in the document text -%when using \ics{glspl} (or one of its uppercase variants). -%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 -%\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 -%uppercase variants). If this field is omitted, the value is obtained -%from the \gloskey{plural} key, if the \gloskey{first} key is omitted, -%or by appending \ics{glspluralsuffix} to the value of the -%\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 \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. -% -%\item[{\gloskey{symbol}}] This field is provided to allow the user to -%specify an associated symbol. If omitted, the value is set to -%\cs{relax}. Note that not all glossary styles display the -%symbol. -% -%\item[{\gloskey{symbolplural}}] This is the plural form of the -%symbol (as passed to \ics{glsdisplay} and \ics{glsdisplayfirst} -%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 \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 -%which this entry belongs. If omitted, the default glossary is -%assumed. The list of acronyms type is given by -%\ics{acronymtype} which will either be \texttt{main} or -%\texttt{acronym}, depending on whether the \pkgopt{acronym} package -%option was used. -% -%\item[{\gloskey{user1}, \ldots, \gloskey{user6}}] Six additional -%keys provided for any additional information the user may want -%to specify. (For example, an associated dimension or an alternative -%plural.) -% -%\item[{\gloskey{nonumberlist}}] Suppress the \term{number list} for -%this entry. -% -%\item[{\gloskey{see}}] Cross-reference another entry. Using the -%\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 \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 \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 -%cause a problem for commands like \cs{Gls} and \cs{Glspl}. -%For example: -%\begin{verbatim} -%\newglossaryentry{elite}{name={{\'e}lite}, -%description={select group or class}} -%\end{verbatim} -%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 \app{makeindex} -%whereas \app{xindy} is usually able to sort accented letters -%correctly. -% -% -% -%\subsubsection{Plurals} -%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 -%\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 \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, -%description={a fully grown female of any bovine animal}} -%\end{verbatim} -% -%If you are writing in a language that supports -%multiple plurals (for a given term) then use the \gloskey{plural} key -%for one of them and one of the user keys to specify the -%other plural form. For example: -%\begin{verbatim} -%\newglossaryentry{cow}{name=cow,description={a fully grown -%female of any bovine animal (plural cows, archaic plural kine)}, -%user1={kine}} -%\end{verbatim} -%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 -%\end{verbatim} -%Then you don't have to remember which key you used to store the -%alternative plural. -% -%If you are using a language that usually forms plurals -%by appending a different letter, or sequence of letters, you can -%redefine \cs{glspluralsuffix} as required. However, this must be -%done \emph{before} the entries are defined. For languages that don't -%form plurals by simply appending a suffix, all the plural forms must be -%specified using the \gloskey{plural} key (and the \gloskey{firstplural} -%key where necessary). -% -% -%\subsubsection{Sub-Entries} -%\label{sec:subentries} -% -%As from version 1.17, it is possible to specify sub-entries. These -%may be used to order the glossary into categories, in which case -%the sub-entry will have a different name to its parent entry, or -%it may be used to distinguish different definitions for the same -%word, in which case the sub-entries will have the same name as -%the parent entry. Note that not all glossary styles support -%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 \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 -%category entry as the value of the \gloskey{parent} key. For -%example, suppose I want a glossary of mathematical symbols that -%are divided into Greek letters and Roman letters. Then I can -%define the categories as follows: -%\begin{verbatim} -%\newglossaryentry{greekletter}{name={Greek letters}, -%description={\nopostdesc}} -% -%\newglossaryentry{romanletter}{name={Roman letters}, -%description={\nopostdesc}} -%\end{verbatim} -% -%Note that in this example, the category entries don't need a -%description so I have set the descriptions to \ics{nopostdesc}. -%This gives a blank description and suppresses the -%description terminator. -% -%I can now define my sub-entries as follows: -%\begin{verbatim} -%\newglossaryentry{pi}{name={pi}, -%description={ratio of the circumference of a circle to the diameter}, -%parent=greekletter} -% -%\newglossaryentry{C}{name=C, -%description={Euler's constant}, -%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 \qt{glossary} can mean a list of technical -%words or a collection of glosses. In both cases the plural is -%\qt{glossaries}. So first define the parent entry: -%\begin{verbatim} -%\newglossaryentry{glossary}{name=glossary, -%description={\nopostdesc}, -%plural={glossaries}} -%\end{verbatim} -%Again, the parent entry has no description, so the description -%terminator needs to be suppressed using \ics{nopostdesc}. -% -%Now define the two different meanings of the word: -%\begin{verbatim} -%\newglossaryentry{glossarylist}{ -%description={1) list of technical words}, -%sort={1}, -%parent={glossary}} -% -%\newglossaryentry{glossarycol}{ -%description={2) collection of glosses}, -%sort={2}, -%parent={glossary}} -%\end{verbatim} -%Note that if I reference the parent entry, the location will be -%added to the parent's \term{number list}, whereas if I reference -%any of the child entries, the location will be added to the child -%entry's number list. Note also that since the sub-entries have the -%same name, the \gloskey{sort} key is required. -% -%In the above example, the plural form for both of the child entries -%is the same as the parent entry, so the \gloskey{plural} key was -%not required for the child entries. However, if the sub-entries -%have different plurals, they will need to be specified. For example: -%\begin{verbatim} -%\newglossaryentry{bravo}{name={bravo}, -%description={\nopostdesc}} -% -%\newglossaryentry{bravocry}{description={1) cry of approval (pl.\ bravos)}, -%sort={1}, -%plural={bravos}, -%parent=bravo} -% -%\newglossaryentry{bravoruffian}{description={2) hired ruffian or -%killer (pl.\ bravoes)}, -%sort={2}, -%plural={bravoes}, -%parent=bravo} -%\end{verbatim} -% -% -%\subsubsection{Loading Entries From a File} -%\label{sec:loadglsentries} -% -%You can store all your glossary entry definitions in another -%file and use: -%\begin{definition}[\DescribeMacro{\loadglsentries}] -%\cs{loadglsentries}\oarg{type}\marg{filename} -%\end{definition} -%where \meta{filename} is the name of the file containing all the -%\cs{newglossaryentry} commands. The optional argument -%\meta{type} is the name of the glossary to which those entries -%should belong, for those entries where the \gloskey{type} key has -%been omitted (or, more specifically, for those entries whose -%type has been specified by \cs{glsdefaulttype}, which is what -%\cs{newglossaryentry} uses by default). For example, suppose I have -%a file called \texttt{myentries.tex} which contains: -%\begin{verbatim} -%\newglossaryentry{perl}{type=main, -%name={Perl}, -%description={A scripting language}} -% -%\newglossaryentry{tex}{name={\TeX}, -%description={A typesetting language},sort={TeX}} -% -%\newglossaryentry{html}{type=\glsdefaulttype, -%name={html}, -%description={A mark up language}} -%\end{verbatim} -%and suppose in my document preamble I use the command: -%\begin{verbatim} -%\loadglsentries[languages]{myentries} -%\end{verbatim} -%then this will add the entries \texttt{tex} and \texttt{html} -%to the glossary whose type is given by \texttt{languages}, but -%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 -%\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} -%then (supposing I have defined a new glossary type called -%\texttt{altacronym}) -%\begin{verbatim} -%\loadglsentries[altacronym]{myacronyms} -%\end{verbatim} -%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: -%\begin{verbatim} -%\newacronym[type=\glsdefaulttype]{aca}{aca}{a contrived acronym} -%\end{verbatim} -%and now -%\begin{verbatim} -%\loadglsentries[altacronym]{myacronyms} -%\end{verbatim} -%will add \texttt{aca} to the glossary type \texttt{altacronym}, -%regardless of whether or not the package option \pkgopt{acronym} is -%used. -% -%Note that only those entries that have been used -%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 \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 \app{makeindex} and \app{xindy} concatenate a -%sequence of 3 or more consecutive pages into a range. With -%\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. -% -%\begin{important} -%Note that \cs{GlsSetXdyMinRangeLength} must be used before -%\ics{makeglossaries} and has no effect if \ics{noist} is used. -%\end{important} -% -%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} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsSetSuffixFF}] -%\cs{glsSetSuffixFF}\marg{suffix} -%\end{definition} -%where the former command specifies the suffix to use for a 2 page -%list and the latter specifies the suffix to use for longer lists. -%For example: -%\begin{verbatim} -%\glsSetSuffixF{f.} -%\glsSetSuffixFF{ff.} -%\end{verbatim} -%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 \sty{hyperref} package, you will need -%to use \ics{nohyperpage} in the suffix to ensure that the hyperlinks -%work correctly. For example: -%\begin{verbatim} -%\glsSetSuffixF{\nohyperpage{f.}} -%\glsSetSuffixFF{\nohyperpage{ff.}} -%\end{verbatim} -% -%\begin{important} -%Note that \cs{glsSetSuffixF} and \cs{glsSetSuffixFF} must be used -%before \ics{makeglossaries} and have no effect if \ics{noist} is -%used. -%\end{important} -% -% -%\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 \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 -%defined in this section in the arguments of sectioning or caption -%commands. -%\end{important} -% -%The above warning is particularly important if you are using the -%\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 -%\begin{definition}[\DescribeMacro{\glstextformat}] -%\cs{glstextformat}\marg{text} -%\end{definition} -%For example, to make all \term{link text} appear in a sans-serif -%font, do: -%\begin{verbatim} -%\renewcommand*{\glstextformat}[1]{\textsf{#1}} -%\end{verbatim} -% -%Each entry has an associated conditional referred to as the -%\firstuseflag. This determines whether \ics{gls}, -%\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 \sectionref{sec:glsunset} for -%commands that unset or reset this conditional. -% -%The command: -%\begin{definition}[\DescribeMacro{\glslink}] -%\cs{glslink}\oarg{options}\marg{label}\marg{text} -%\end{definition} -%will place \cs{glstextformat}\marg{text} in the document at that -%point and add a line into the associated glossary file for the -%glossary entry given by \meta{label}. If hyperlinks are supported, -%\meta{text} will be a hyperlink to the relevant line in the -%glossary. (Note that this command doesn't affect the \firstuseflag: -%use \ics{glsdisp} instead.) The optional argument \meta{options} -%must be a \meta{key}=\meta{value} list which can take any of the -%following keys: -% -%\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 \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 -%beginning and ending of a number range. Again as with \cs{index}, -%the command should be the name of a command which takes an argument -%(which will be the associated location). Be careful not to use a -%declaration (such as \texttt{bfseries}) instead of a text block command -%(such as \texttt{textbf}) as the effect is not guaranteed to be -%localised. If you want to apply more than one style to a given entry -%(e.g.\ \textbf{bold} and \emph{italic}) you will need to create a -%command that applies both formats, e.g.\ -%\begin{verbatim} -%\newcommand*{\textbfem}[1]{\textbf{\emph{#1}}} -%\end{verbatim} -%and use that command. -% -%In this document, the standard formats refer to the standard text -%block commands such as \ics{textbf} or \ics{emph} or any of the -%commands listed in \tableref{tab:hyperxx}. -% -%\begin{important} -%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 -%\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 -%\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 -%\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] -%\caption{Predefined Hyperlinked Location Formats} -%\label{tab:hyperxx} -%\centering -%\vskip\baselineskip -%\begin{tabular}{ll} -%\locfmt{hyperrm} & serif hyperlink\\ -%\locfmt{hypersf} & sans-serif hyperlink\\ -%\locfmt{hypertt} & monospaced hyperlink\\ -%\locfmt{hyperbf} & bold hyperlink\\ -%\locfmt{hypermd} & medium weight hyperlink\\ -%\locfmt{hyperit} & italic hyperlink\\ -%\locfmt{hypersl} & slanted hyperlink\\ -%\locfmt{hyperup} & upright hyperlink\\ -%\locfmt{hypersc} & small caps hyperlink\\ -%\locfmt{hyperemph} & emphasized hyperlink -%\end{tabular} -%\par -%\end{table} -% -%Note that if the \ics{hyperlink} command hasn't been defined, -%the \texttt{hyper}\meta{xx} formats are equivalent to the -%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 -%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. \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} -%\end{verbatim} -% -%\item[{\gloskey[glslink]{counter}}] This specifies which counter -%to use for this location. This overrides the default counter -%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 -%effect if \cs{hyperlink} has not been defined.) The default -%value is \texttt{hyper=true}. -% -%\end{description} -%There is also a starred version: -%\begin{definition}[\DescribeMacro{\glslink*}] -%\cs{glslink*}\oarg{options}\marg{label}\marg{text} -%\end{definition} -%which is equivalent to \cs{glslink}, except it sets -%\texttt{hyper=false}. Similarly, all the following commands -%described in this section also have a starred version that disables -%the hyperlink. -% -%The command: -%\begin{definition}[\DescribeMacro{\gls}] -%\cs{gls}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%is the same as \cs{glslink}, except that the \term{link text} -%is determined from the values of the \gloskey{text} and -%\gloskey{first} keys supplied when the entry was defined using -%\ics{newglossaryentry}. If the entry has been marked as having -%been used\ifirstuseflag, the value of the \gloskey{text} key will be used, otherwise -%the value of the \gloskey{first} key will be used. -%On completion, \cs{gls} will mark the entry's first use flag\ifirstuseflag\ as -%used. -% -%There are two uppercase variants: -%\begin{definition}[\DescribeMacro{\Gls}] -%\cs{Gls}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%and -%\begin{definition}[\DescribeMacro{\GLS}] -%\cs{GLS}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%which make the first letter of the link text or all the link text -%uppercase, respectively. -% -%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 \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 -%have a starred version that disable the hyperlink. -% -%There are also analogous plural forms: -%\begin{definition}[\DescribeMacro{\glspl}] -%\cs{glspl}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glspl}] -%\cs{Glspl}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSpl}] -%\cs{GLSpl}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%These determine the link text from the \gloskey{plural} and -%\gloskey{firstplural} keys supplied when the entry was first -%defined. As before, these commands also have -%a starred version that disable the hyperlink. -% -%Note that \cs{glslink} doesn't use or affect the \firstuseflag, -%nor does it use \ics{glsdisplay} or \ics{glsdisplayfirst} (see -%\sectionref{sec:glsdisplay}). Instead, you can use: -%\begin{definition}[\DescribeMacro{\glsdisp}] -%\cs{glsdisp}\oarg{options}\marg{label}\marg{link text} -%\end{definition} -%This behaves in the same way as \cs{gls}, except that it uses -%\meta{link text} instead of the value of the \gloskey{first} -%or \gloskey{text} key. (Note that this command always sets -%\meta{insert} to nothing.) This command affects the \firstuseflag, -%and uses \ics{glsdisplay} or \ics{glsdisplayfirst}. -% -%The command: -%\begin{definition}[\DescribeMacro{\glstext}] -%\cs{glstext}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%is similar to \ics{gls} except that it always uses the value -%of the \gloskey{text} key and does not affect the -%\firstuseflag. -%Unlike \cs{gls}, the inserted text \meta{insert} -%is always appended to the link text since \cs{glstext} doesn't -%use \ics{glsdisplay} or \ics{glsdisplayfirst}. (The same is -%true for all the following commands described in this section.) -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glstext}] -%\cs{Glstext}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLStext}] -%\cs{GLStext}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\begin{definition}[\DescribeMacro{\glsfirst}] -%\cs{glsfirst}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%is similar to \ics{glstext} except that it always uses the value -%of the \gloskey{first} key. Again, \meta{insert} is always appended -%to the end of the link text and does not affect the -%\firstuseflag. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glsfirst}] -%\cs{Glsfirst}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSfirst}] -%\cs{GLSfirst}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\begin{definition}[\DescribeMacro{\glsplural}] -%\cs{glsplural}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%is similar to \ics{glstext} except that it always uses the value -%of the \gloskey{plural} key. Again, \meta{insert} is always appended -%to the end of the link text and does not mark the entry as having -%been used. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glsplural}] -%\cs{Glsplural}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSplural}] -%\cs{GLSplural}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\begin{definition}[\DescribeMacro{\glsfirstplural}] -%\cs{glsfirstplural}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%is similar to \ics{glstext} except that it always uses the value -%of the \gloskey{firstplural} key. Again, \meta{insert} is always -%appended to the end of the link text and does not mark the entry as -%having been used. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glsfirstplural}] -%\cs{Glsfirstplural}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSfirstplural}] -%\cs{GLSfirstplural}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\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. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glsname}] -%\cs{Glsname}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSname}] -%\cs{GLSname}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\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. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glssymbol}] -%\cs{Glssymbol}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSsymbol}] -%\cs{GLSsymbol}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\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. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glsdesc}] -%\cs{Glsdesc}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSdesc}] -%\cs{GLSdesc}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. -% -%The command: -%\begin{definition}[\DescribeMacro{\glsuseri}] -%\cs{glsuseri}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%is similar to \ics{glstext} except that it always uses the value -%of the \gloskey{user1} key. Again, \meta{insert} is always -%appended to the end of the link text and does not mark the entry as -%having been used. -% -%There are also analogous commands: -%\begin{definition}[\DescribeMacro{\Glsuseri}] -%\cs{Glsuseri}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSuseri}] -%\cs{GLSuseri}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%As before, these commands also have a starred version that disable -%the hyperlink. Similarly for the other user keys: -%\begin{definition}[\DescribeMacro{\glsuserii}] -%\cs{glsuserii}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsuserii}] -%\cs{Glsuserii}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSuserii}] -%\cs{GLSuserii}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsuseriii}] -%\cs{glsuseriii}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsuseriii}] -%\cs{Glsuseriii}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSuseriii}] -%\cs{GLSuseriii}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsuseriv}] -%\cs{glsuseriv}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsuseriv}] -%\cs{Glsuseriv}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSuseriv}] -%\cs{GLSuseriv}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsuserv}] -%\cs{glsuserv}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsuserv}] -%\cs{Glsuserv}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSuserv}] -%\cs{GLSuserv}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsuservi}] -%\cs{glsuservi}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsuservi}] -%\cs{Glsuservi}\oarg{options}\marg{text}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\GLSuservi}] -%\cs{GLSuservi}\oarg{options}\marg{text}\oarg{insert} -%\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}\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}\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 -%plural form given by the \gloskey{text}, \gloskey{plural}, -%\gloskey{first} or \gloskey{firstplural} keys (set when the term was -%defined) depending on context; the second argument is the term's -%description (as supplied by the \gloskey{description} or -%\gloskey{descriptionplural} keys); the third -%argument is the symbol associated with the term (as supplied by the -%\gloskey{symbol} or \gloskey{symbolplural} keys) and the fourth argument is the additional text -%supplied in the final optional argument to \cs{gls} or -%\cs{glspl} (or their uppercase variants). The default definitions -%of \cs{glsdisplay} and \cs{glsdisplayfirst} simply -%print the first argument immediately followed by the fourth argument. -%The remaining arguments are ignored. -% -%If required, you can access the label for the given entry via -%\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 -%need to use \ics{glsdisp} instead. -% -%For example, suppose you want a glossary of measurements and -%units, you can use the \gloskey{symbol} key to store the unit: -%\begin{verbatim} -%\newglossaryentry{distance}{name=distance, -%description={The length between two points}, -%symbol={km}} -%\end{verbatim} -%and now suppose you want \verb|\gls{distance}| to produce -%\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 \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). -% -%Note also that all of the \term{link text} will be formatted according -%to \ics{glstextformat} (described earlier). So if you do, say: -%\begin{verbatim} -%\renewcommand{\glstextformat}[1]{\textbf{#1}} -%\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)} -%\end{verbatim} -%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 -%glossaries appear when using the commands \ics{gls}, \ics{glspl}, their -%uppercase variants and \ics{glsdisp}. If you only -%want the change to affect entries for a given glossary, then you need -%to use -%\begin{definition}[\DescribeMacro{\defglsdisplay}] -%\cs{defglsdisplay}\oarg{type}\marg{definition} -%\end{definition} -%and -%\begin{definition}[\DescribeMacro{\defglsdisplayfirst}] -%\cs{defglsdisplayfirst}\oarg{type}\marg{definition} -%\end{definition} -%instead of redefining \cs{glsdisplay} and \cs{glsdisplayfirst}. -% -%Both \cs{defglsdisplay} and \cs{defglsdisplayfirst} take two arguments: -%the first (which is optional) is the glossary's label\footnote{\texttt{main} for the main -%(default) glossary, \cs{acronymtype} for the list of acronyms, or the -%name supplied in the first mandatory argument to \cs{newglossary} for -%additional glossaries.} and the second is how the term should be -%displayed when it is invoked using commands \cs{gls}, -%\cs{glspl}, their uppercase variants and \cs{glsdisp}. This is similar to the way \cs{glsdisplayfirst} was -%redefined above. -% -%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: -%\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$} -%} -%\end{verbatim} -%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. -% -%\subsubsection{Enabling and disabling hyperlinks to glossary entries} -% -%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: -%\begin{definition}[\DescribeMacro{\glsdisablehyper}] -%\cs{glsdisablehyper} -%\end{definition} -%and -%\begin{definition}[\DescribeMacro{\glsenablehyper}] -%\cs{glsenablehyper} -%\end{definition} -%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 \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} -% -%It is possible to add a line in the glossary file without -%generating any text at that point in the document using: -%\begin{definition}[\DescribeMacro{\glsadd}] -%\cs{glsadd}\oarg{options}\marg{label} -%\end{definition} -%This is similar to \ics{glslink}, only it doesn't produce -%any text (so therefore, there is no \gloskey[glslink]{hyper} key -%available in \meta{options} but all the other options that can -%be used with \cs{glslink} can be passed to \cs{glsadd}). -%For example, to add a page range to the glossary number list for the -%entry whose label is given by \texttt{set}: -%\begin{verbatim} -%\glsadd[format=(]{set} -%Lots of text about sets spanning many pages. -%\glsadd[format=)]{set} -%\end{verbatim} -% -%To add all entries that have been defined, use: -%\begin{definition}[\DescribeMacro{\glsaddall}] -%\cs{glsaddall}\oarg{options} -%\end{definition} -%The optional argument is the same as for \cs{glsadd}, except -%there is also a key \gloskey[glsaddall]{types} which can be -%used to specify which glossaries to use. This should be a -%comma separated list. For example, if you only want to add -%all the entries belonging to the list of acronyms (specified by -%the glossary type \cs{acronymtype}) and a list of -%notation (specified by the glossary type \texttt{notation}) then you can -%do: -%\begin{verbatim} -%\glsaddall[types={\acronymtype,notation}] -%\end{verbatim} -% -% -%\subsection{Cross-Referencing Entries} -%\label{sec:crossref} -% -%There are several ways of cross-referencing entries in the -%glossary: -% -%\begin{enumerate} -%\item You can use commands such as \ics{gls} in the -%entries description. For example: -%\begin{verbatim} -%\newglossaryentry{apple}{name=apple, -%description={firm, round fruit. See also \gls{pear}}} -%\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 -%\app{makeglossaries}: -%\begin{prompt} -%latex filename -%makeglossaries filename -%latex filename -%makeglossaries filename -%latex filename -%\end{prompt} -% -%\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}} -%\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 -%\sectionref{sec:glslink} or \sectionref{sec:glsadd}. -% -%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}, -%description={Series expansion}, -%see=[see also]{TaylorsTheorem}} -%\end{verbatim} -% -%\item After you have defined the entry, use -%\begin{definition}[\DescribeMacro{\glssee}] -%\cs{glssee}\oarg{tag}\marg{label}\marg{xr label list} -%\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 \qt{see} tag. -%For example: -%\begin{verbatim} -%\glssee[see also]{series}{FourierSeries,TaylorsTheorem} -%\end{verbatim} -%Note that this automatically adds the entry given by \meta{label} to -%the glossary but doesn't add the cross-referenced entries (specified -%by \meta{xr label list}) to the glossary. -%\end{enumerate} -% -%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 \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. -%\begin{definition}[\DescribeMacro{\glsentryname}] -%\cs{glsentryname}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentryname}] -%\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. -%\cs{Glsentryname} makes the first letter uppercase. -%\begin{definition}[\DescribeMacro{\glsentrytext}] -%\cs{glsentrytext}\marg{label} -%\end{definition} -%\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. -%\cs{Glsentrytext} makes the first letter uppercase. -%\begin{definition}[\DescribeMacro{\glsentryplural}] -%\cs{glsentryplural}\marg{label} -%\end{definition} -%\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. -%\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. -%\cs{Glsentryfirst} makes the first letter uppercase. -%\begin{definition}[\DescribeMacro{\glsentryfirstplural}] -%\cs{glsentryfirstplural}\marg{label} -%\end{definition} -%\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 -%letter uppercase. -%\begin{definition}[\DescribeMacro{\glsentrydesc}] -%\cs{glsentrydesc}\marg{label} -%\end{definition} -%\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. -%\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. -%\begin{definition}[\DescribeMacro{\glsentrysymbol}] -%\cs{glsentrysymbol}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentrysymbol}] -%\cs{Glsentrysymbol}\marg{label} -%\end{definition} -%These commands display the symbol for the glossary entry given by -%\meta{label}. \cs{Glsentrysymbol} makes the first letter uppercase. -%\begin{definition}[\DescribeMacro{\glsentrysymbolplural}] -%\cs{glsentrysymbolplural}\marg{label} -%\end{definition} -%\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. -%\begin{definition}[\DescribeMacro{\glsentryuseri}] -%\cs{glsentryuseri}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentryuseri}] -%\cs{Glsentryuseri}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsentryuserii}] -%\cs{glsentryuserii}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentryuserii}] -%\cs{Glsentryuserii}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsentryuseriii}] -%\cs{glsentryuseriii}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentryuseriii}] -%\cs{Glsentryuseriii}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsentryuseriv}] -%\cs{glsentryuseriv}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentryuseriv}] -%\cs{Glsentryuseriv}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsentryuserv}] -%\cs{glsentryuserv}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Glsentryuserv}] -%\cs{Glsentryuserv}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsentryuservi}] -%\cs{glsentryuservi}\marg{label} -%\end{definition} -%\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}. -%\begin{definition}[\DescribeMacro{\glshyperlink}] -%\cs{glshyperlink}\oarg{link text}\marg{label} -%\end{definition} -%This command provides a hyperlink to the glossary entry given by -%\meta{label} \textbf{but does not add any information to the -%glossary file}. The link text is given by -%\ics{glsentryname}\marg{label} by default, but can be overridden -%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 \sectionref{sec:glslink} or \sectionref{sec:glsadd} -%otherwise you will end up with a broken link. -%\end{important} -% -%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} -% -%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 -%\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}] -%\cs{printglossary}\oarg{options} -%\end{definition} -%where \meta{options} is a \meta{key}=\meta{value} list of options. -%The following keys are available: -%\begin{description} -%\item[{\gloskey[printglossary]{type}}] The value of this key -%specifies which glossary to print. If omitted, the default -%glossary is assumed. For example, to print the list of acronyms: -%\begin{verbatim} -%\printglossary[type=\acronymtype] -%\end{verbatim} -% -%\item[{\gloskey[printglossary]{title}}] This is the glossary's -%title (overriding the title specified when the glossary was -%defined). -% -%\item[{\gloskey[printglossary]{toctitle}}] This is the title -%to use for the table of contents (if the \pkgopt{toc} package -%option has been used). It may also be used for the page header, -%depending on the page style. If omitted, the glossary title is used. -% -%\item[{\gloskey[printglossary]{style}}] This specifies which -%glossary style to use for this glossary, overriding the effect -%of the \pkgopt{style} package option or \ics{glossarystyle}. -% -%\item[{\gloskey[printglossary]{numberedsection}}] This specifies -%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 \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 -%displayed for this glossary. If no value is supplied, true is -%assumed. -% -%\end{description} -% -%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 -%\begin{definition}[\DescribeMacro{\glossarypreamble}] -%\cs{glossarypreamble} -%\end{definition} -%For example: -%\begin{verbatim} -%\renewcommand{\glossarypreamble}{Numbers in italic indicate -%primary definitions.} -%\end{verbatim} -%This needs to be done before the glossary is displayed using -%\cs{printglossaries} or \cs{printglossary}. Note that if you -%want a different preamble for each glossary, you will need to -%use a separate \cs{printglossary} for each glossary and change -%the definition of \cs{glossarypreamble} between each glossary. -%For example: -%\begin{verbatim} -%\renewcommand{\glossarypreamble}{Numbers in italic indicate -%primary definitions.} -%\printglossary -%\renewcommand{\glossarypreamble}{} -%\printglossary[type=acronym] -%\end{verbatim} -%Alternatively, you can do something like: -%\begin{verbatim} -%\renewcommand{\glossarypreamble}{Numbers in italic indicate -%primary definitions.\gdef\glossarypreamble{}} -%\printglossaries -%\end{verbatim} -%which will print the preamble text for the first glossary and -%change the preamble to do nothing for subsequent glossaries. -%(Note that \cs{gdef} is required as the glossary is placed within -%a group.) -% -%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} -% -%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: -%\begin{verbatim} -%\renewcommand{\glsnamefont}[1]{\textsc{\mdseries #1}} -%\end{verbatim} -% -% -%\subsubsection{Xindy} -%\label{sec:xindy} -% -%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 -%\app{xindy} syntax. -% -%\sectionref{sec:makeglossaries} covers how to use the external -%indexing application. This section covers the commands provided -%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 \app{xindy} style -%file, the \styfmt{glossaries} package provides the following -%commands: -%\begin{definition}[\DescribeMacro{\glsopenbrace}] -%\cs{glsopenbrace} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsclosebrace}] -%\cs{glsclosebrace} -%\end{definition} -%which produce an open and closing brace. (This is needed because -%\verb|\{| and \verb|\}| don't expand to a simple brace character -%when written to a file.) -% -%In addition, if you are using a package that makes the double -%quote character active (e.g. \sty{ngerman}) you can use: -%\begin{definition}[\DescribeMacro{\glsquote}] -%\cs{glsquote}\marg{text} -%\end{definition} -%which will produce \verb|"|\meta{text}\verb|"|. Alternatively, -%you can use \verb|\string"| to write the double-quote character. -%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 \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 \app{xindy}, you need to specify the language -%and encoding used (unless you have written your own custom -%\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 \styfmt{glossaries} package attempts to -%find the root language, but in the event that it gets it wrong or if -%\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} -%\end{definition} -%where \meta{language} is the name of the language. The -%optional argument can be used if you have multiple glossaries -%in different languages. If \meta{glossary type} is omitted, it -%will be applied to all glossaries, otherwise the language -%setting will only be applied to the glossary given by -%\meta{glossary type}. -% -%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}] -%\cs{GlsSetXdyCodePage}\marg{code} -%\end{definition} -%where \meta{code} is the name of the encoding. For example: -%\begin{verbatim} -%\GlsSetXdyCodePage{utf8} -%\end{verbatim} -% -%Note that you can also specify the language and encoding using -%the package option -%\verb|xindy={language=|\meta{lang}\verb|,codepage=|\meta{code}\verb|}|. -%For example: -%\begin{verbatim} -%\usepackage[xindy={language=english,codepage=utf8}]{glossaries} -%\end{verbatim} -% -%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} -%\GlsSetXdyLanguage{} -%\end{verbatim} -%(and remember to use \ics{noist} to prevent the style file from -%being overwritten). -% -%\begin{important} -%The commands \cs{GlsSetXdyLanguage} and \cs{GlsSetXdyCodePage} -%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 \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} -%\end{definition} -%where \meta{name} is the name of the attribute, as used in -%the \gloskey[glslink]{format} key. For example, suppose I want a -%bold, italic, hyperlinked location. I first need to define a -%command that will do this: -%\begin{verbatim} -%\newcommand*{\hyperbfit}[1]{\textit{\hyperbf{#1}}} -%\end{verbatim} -%but with \app{xindy}, I also need to add this as an allowed -%attribute: -%\begin{verbatim} -%\GlsAddXdyAttribute{hyperbfit} -%\end{verbatim} -% -%\begin{important} -%Note that \cs{GlsAddXdyAttribute} has no effect if \ics{noist} is -%used or if \ics{makeglossaries} is omitted. -% -%\cs{GlsAddXdyAttribute} must be used before \ics{makeglossaries}. -%\end{important} -% -%If the location numbers don't get expanded to a simple Arabic or -%Roman number or a letter from a, \ldots, z or A, \ldots, Z, then -%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 \sty{fmtcount} package to -%do this. You can redefine \ics{thepage} as follows: -%\begin{verbatim} -%\renewcommand*{\thepage}{\Numberstring{page}} -%\end{verbatim} -%This gets expanded to \verb|\protect \Numberstringnum |\marg{n} -%where \meta{n} is the Arabic page number. This means that you need to -%define a new location that has that form: -%\begin{verbatim} -%\GlsAddXdyLocation{Numberstring}{:sep "\string\protect\space -% \string\Numberstringnum\space\glsopenbrace" -% "arabic-numbers" :sep "\glsclosebrace"} -%\end{verbatim} -%Note that it's necessary to use \cs{space} to indicate that -%spaces also appear in the format, since, unlike \TeX, -%\app{xindy} doesn't ignore spaces after control sequences. -% -%\begin{important} -%Note that \cs{GlsAddXdyLocation} has no effect if \ics{noist} is -%used or if \ics{makeglossaries} is omitted. -% -%\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 \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: -%\begin{verbatim} -%\GlsSetXdyLocationClassOrder{ -% "arabic-page-numbers" -% "arabic-section-numbers" -% "roman-page-numbers" -% "Roman-page-numbers" -% "alpha-page-numbers" -% "Alpha-page-numbers" -% "Appendix-page-numbers" -% "see" -%} -%\end{verbatim} -% -%\begin{important} -%Note that \cs{GlsSetXdyLocationClassOrder} has no effect if -%\ics{noist} is used or if \ics{makeglossaries} is omitted. -% -%\cs{GlsSetXdyLocationClassOrder} must be used before -%\ics{makeglossaries}. -%\end{important} -% -%If a \term{number list} consists of a sequence of consecutive -%numbers, the range will be concatenated. The -%number of consecutive locations that causes a range formation -%defaults to 2, but can be changed using: -%\begin{definition}[\DescribeMacro{\GlsSetXdyMinRangeLength}] -%\cs{GlsSetXdyMinRangeLength}\marg{n} -%\end{definition} -%For example: -%\begin{verbatim} -%\GlsSetXdyMinRangeLength{3} -%\end{verbatim} -%The argument may also be the keyword \texttt{none}, to indicate that -%there should be no range formations. See the \app{xindy} -%manual for further details on range formations. -% -%\begin{important} -%Note that \cs{GlsSetXdyMinRangeLength} has no effect if \ics{noist} -%is used or if \ics{makeglossaries} is omitted. -% -%\cs{GlsSetXdyMinRangeLength} must be used before -%\ics{makeglossaries}. -%\end{important} -% -%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 \styfmt{glossaries} package also adds -%a number group by default, unless you suppress it in the -%\pkgopt{xindy} package option. For example: -%\begin{verbatim} -%\usepackage[xindy={glsnumbers=false}]{glossaries} -%\end{verbatim} -%Any entry that doesn't go in one of the letter groups or the -%number group is placed in the default group. -% -%If you have a number group, the default behaviour is to locate -%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} -% -%\begin{important} -%Note that \cs{GlsSetXdyFirstLetterAfterDigits} has no effect if -%\ics{noist} is used or if \ics{makeglossaries} is omitted. -% -%\cs{GlsSetXdyFirstLetterAfterDigits} must be used before -%\ics{makeglossaries}. -%\end{important} -% -% -%\subsection{Defining New Glossaries} -%\label{sec:newglossary} -% -%A new glossary can be defined using: -%\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 -%\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} -%\newglossary{main}{gls}{glo}{\glossaryname} -%\end{verbatim} -%so it can be identified by the label \texttt{main} (unless the -%\pkgopt{nomain} package option is used). Using the -%\pkgopt{acronym} package option is equivalent to: -%\begin{verbatim} -%\newglossary[alg]{acronym}{acr}{acn}{\acronymname} -%\end{verbatim} -%so it can be identified by the label \texttt{acronym}. If you are -%not sure whether the \pkgopt{acronym} option has been used, you -%can identify the list of acronyms by the command -%\DescribeMacro{\acronymtype}\cs{acronymtype} which is set to -%\texttt{acronym}, if the \pkgopt{acronym} option has been used, -%otherwise it is set to \texttt{main}. Note that if you are using -%the main glossary as your list of acronyms, you need to declare -%it as a list of acronyms using the package option -%\pkgopt{acronymlists}. -% -%\begin{important} -%All glossaries must be defined before \ics{makeglossaries} to -%ensure that the relevant output files are opened. -%\end{important} -% -% -%\subsection{Acronyms} -%\label{sec:acronyms} -% -%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} -%\end{definition} -%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. -% -%\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 -%\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 \sectionref{sec:loadglsentries}. -%\end{important} -% -%For example, the following defines the acronym IDN: -%\begin{verbatim} -%\newacronym{idn}{IDN}{identification number} -%\end{verbatim} -%This is equivalent to: -%\begin{verbatim} -%\newglossaryentry{idn}{type=\acronymtype, -%name={IDN}, -%description={identification number}, -%text={IDN}, -%first={identification number (IDN)}, -%plural={IDNs}, -%firstplural={identification numbers (IDNs)}} -%\end{verbatim} -%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 -%\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 -%\pkgopt{footnote}, the acronyms will be displayed in the document -%using: -%\begin{definition}[\DescribeMacro{\acronymfont}] -%\cs{acronymfont}\marg{text} -%\end{definition} -%and -%\begin{definition}[\DescribeMacro{\firstacronymfont}] -%\cs{firstacronymfont}\marg{text} -%\end{definition} -%where \cs{firstacronymfont} is applied on \firstuse\ and -%\cs{acronymfont} is applied on subsequent use. Note that if you -%don't use any of the above package options, changing the definition -%of \cs{acronymfont} or \cs{firstacronymfont} will have no effect. In -%this case, the recommended route is to use either the -%\pkgopt{smaller} or the \pkgopt{smallcaps} package option and -%redefine \cs{acronymfont} and \cs{firstacronymfont} as required. -%(The \pkgopt{smallcaps} option sets the default plural suffix in an -%upright font to cancel the effect of \cs{textsc}, whereas -%\pkgopt{smaller} sets the suffix in the surrounding font.) -%For example, if you want acronyms in a normal font on first use and -%emphasized on subsequent use, do: -%\begin{verbatim} -%\usepackage[smaller]{glossaries} -%\renewcommand*{\firstacronymfont}[1]{#1} -%\renewcommand*{\acronymfont}[1]{\emph{#1}} -%\end{verbatim} -%(Note that it is for this reason that the \sty{relsize} package -%is not automatically loaded when selecting the -%\pkgopt{smaller} package option.) -% -%\Tableref{tab:acronymsettings} lists the package options that govern -%the acronym styles and how the \ics{newglossaryentry} keys are used -%to store \meta{long} (the long form) and \meta{abbrv} (the short -%form). Note that the \pkgopt{smallcaps} option redefines -%\cs{acronymfont} so that it sets its argument using \cs{textsc} (so -%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 -%\styfmt{relsize}, that defines \cs{textsmaller} if you use this -%option.}\ otherwise \cs{acronymfont} simply displays its argument in -%the surrounding font. -% -%\begin{table}[htbp] -%\caption{Package options governing \cs{newacronym} and how the -%information is stored in the keys for \cs{newglossaryentry}} -%\label{tab:acronymsettings} -%\begin{center} -%\begin{tabular}{lllll} -%\bfseries Package Option & -%\gloskey{first} key & -%\gloskey{text} key & -%\gloskey{description} key & -%\gloskey{symbol} key\\ -%\pkgopt{description},\pkgopt{footnote} & -%\meta{abbrv} & -%\meta{abbrv} & -%user supplied & -%\meta{long}\\ -%\pkgopt{description},\pkgopt{dua} & -%\meta{long} & -%\meta{long} & -%user supplied & -%\meta{abbrv}\\ -%\pkgopt{description} & -%\meta{long} & -%\meta{abbrv} & -%user supplied & -%\meta{abbrv}\\ -%\pkgopt{footnote} & -%\meta{abbrv} & -%\meta{abbrv} & -%\meta{long} & -% \\ -%\pkgopt{smallcaps} & -%\meta{long} & -%\meta{abbrv} & -%\meta{long} & -%\meta{abbrv}\\ -%\pkgopt{smaller} & -%\meta{long} & -%\meta{abbrv} & -%\meta{long} & -%\meta{abbrv}\\ -%\pkgopt{dua} & -%\meta{long} & -%\meta{long} & -%\meta{long} & -%\meta{abbrv}\\ -%None of the above& -%\meta{long} (\meta{abbrv}) & -%\meta{abbrv} & -%\meta{long} & -%\end{tabular} -%\end{center} -%\end{table} -% -%In case you can't remember which key stores the long or short forms -%(or their plurals) the \styfmt{glossaries} package provides the -%commands: -%\begin{itemize} -%\item\DescribeMacro{\glsshortkey}\cs{glsshortkey} -%The key used to store the short form. -%\item\DescribeMacro{\glsshortpluralkey}\cs{glsshortpluralkey} -%The key used to store the plural version of the short form. -%\item\DescribeMacro{\glslongkey}\cs{glslongkey} -%The key used to store the long form. -%\item\DescribeMacro{\glslongpluralkey}\cs{glslongpluralkey} -%The key used to store the plural version of the long form. -%\end{itemize} -%These can be used in the optional argument of \cs{newacronym} -%to override the defaults. For example: -%\begin{verbatim} -%\newacronym[\glslongpluralkey={diagonal matrices}]{dm}{DM}{diagonal -%matrix} -%\end{verbatim} -%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 -%\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}]\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} -%\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. -% -%In this case, the long form is stored in the \gloskey{symbol} key. -%This means that the long form will not be displayed in the list of -%acronyms unless you use a glossary style that displays the entry's -%symbol (for example, the \glostyle{index} style). Entries will -%be sorted according to the short form. -% -%Note also that when these two package options are used (in 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}]\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: -%\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 -%\gloskey{description} key is set to the long form. In both -%cases the \gloskey{symbol} is set to the short form. Therefore, -%if you use the \pkgopt{description} package option and you want -%the short form to appear in the list of acronyms, you will need -%to use a glossary style that displays the entry's symbol (for -%example, the \glostyle{index} style). Entries will be sorted -%according to the long form if the \pkgopt{description} option -%is used, otherwise they will be sorted according to the -%short form (unless overridden by the \gloskey{sort} key in -%the optional argument of \ics{newacronym}). -% -%\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. -% -%Note that with this option, you need to specify the description -%using the \gloskey{description} key in the optional argument -%of \ics{newacronym}. When this option is used without -%the \pkgopt{footnote} or \pkgopt{dua} options, the name field -%is specified as -%\begin{definition}[\DescribeMacro{\acrnameformat}] -%\cs{acrnameformat}\marg{short}\marg{long} -%\end{definition} -%This defaults to \ics{acronymfont}\marg{short}, which means that the -%long form will not appear in the list of acronyms by default. -%To change this, you need to redefine \ics{acrnameformat} as -%appropriate. For example, to display the long form followed -%by the short form in parentheses do: -%\begin{verbatim} -%\renewcommand*{\acrnameformat}[2]{#2 (\acronymfont{#1})} -%\end{verbatim} -%Note that even if you redefine \ics{acrnameformat}, the -%entries will be sorted according to the short form, unless you -%override this using the \gloskey{sort} key in the optional -%argument to \ics{newacronym}. -% -%\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 \styfmt{glossaries} -%package additionally implements the option -%\ipkgopt[description]{sanitize}\verb|sanitize={description=false}|, so -%remember to protect fragile commands when defining acronyms. -% -%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: -%\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 -%\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. -%\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 \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}]\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 -%cause a problem for \ics{makefirstuc}.} -%The entries will be sorted according to the short form. -% -%\begin{important} -%Remember to load a package that defines \ics{textsmaller} (such as -%\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 \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]\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: -%\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 \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} -%\begin{definition}[\DescribeMacro{\Acrshort}] -%\cs{ACRshort}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\ACRshort}] -%\cs{ACRshort}\oarg{options}\marg{label}\oarg{insert} -%\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}. -%\begin{definition}[\DescribeMacro{\acrlong}] -%\cs{acrlong}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Acrlong}] -%\cs{ACRlong}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\ACRlong}] -%\cs{ACRlong}\oarg{options}\marg{label}\oarg{insert} -%\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 -%variants), depending on package options. -%\begin{definition}[\DescribeMacro{\acrfull}] -%\cs{acrfull}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\begin{definition}[\DescribeMacro{\Acrfull}] -%\cs{ACRfull}\oarg{options}\marg{label}\oarg{insert} -%\end{definition} -%\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. -% -%\begin{important} -%Note that if any of the above commands produce unexpected output -%and you haven't used any of the acronym-related package options, -%you will need to switch off the sanitization\ipkgopt{sanitize}. -%For example: -%\begin{verbatim} -%\usepackage[sanitize=none]{glossaries} -%\end{verbatim} -%However, if you do this, you must remember to protect fragile -%commands when defining acronyms or glossary entries. -%\end{important} -% -%Note that if you change the definition of \ics{newacronym}, you -%may additionally need to change the above commands as well as -%changing the way the text is displayed using \ics{defglsdisplay} -%and \ics{defglsdisplayfirst}. -% -%The package option \pkgopt{shortcuts} provides the synonyms listed -%in \tableref{tab:shortcuts}. If any of those commands generate -%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. -% -%\begin{table}[htbp] -%\caption[Synonyms provided by the package option shortcuts]{Synonyms provided by the package option \pkgopt{shortcuts}} -%\label{tab:shortcuts} -%\begin{center} -%\begin{tabular}{ll} -%\bfseries Shortcut Command & \bfseries Equivalent Command\\ -%\ics{acs} & \ics{acrshort}\\ -%\ics{Acs} & \ics{Acrshort}\\ -%\ics{acsp} & \ics{acrshortpl}\\ -%\ics{Acsp} & \ics{Acrshortpl}\\ -%\ics{acl} & \ics{acrlong}\\ -%\ics{Acl} & \ics{Acrlong}\\ -%\ics{aclp} & \ics{acrlongpl}\\ -%\ics{Aclp} & \ics{Acrlongpl}\\ -%\ics{acf} & \ics{acrfull}\\ -%\ics{Acf} & \ics{Acrfull}\\ -%\ics{acfp} & \ics{acrfullpl}\\ -%\ics{Acfp} & \ics{Acrfullpl}\\ -%\ics{ac} & \ics{gls}\\ -%\ics{Ac} & \ics{Gls}\\ -%\ics{acp} & \ics{glspl}\\ -%\ics{Acp} & \ics{Glspl} -%\end{tabular} -%\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 \sty{glossary} package may recall that -%the syntax used to define new acronyms has changed with the -%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 \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 \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 -%\cs{}\meta{label}, which is equivalent to \ics{gls}\marg{label}, -%and \cs{}\meta{label}\texttt{*}, which is equivalent to -%\ics{Gls}\marg{label}. If \meta{label} is omitted, \meta{abbrv} -%is used. Since commands names must consist only of alphabetical -%characters, \meta{label} must also only consist of alphabetical -%characters. Note that \cs{}\meta{label} doesn't allow you to use -%the first optional argument of \ics{gls} or \ics{Gls} --- you will -%need to explicitly use \ics{gls} or \ics{Gls} to change the -%settings. -% -%\begin{important} -%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 -%\sty{xspace} package. -%\end{important} -% -%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 -%\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 \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 \qt{abc} as -%follows: -%\begin{verbatim} -%\oldacronym{abc}{example acronym}{} -%\end{verbatim} -%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 -%\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 -%\styfmt{xspace} with \cs{oldacronym}} -%\label{tab:xspace} -%\vskip\baselineskip -%\centering -%\begin{tabular}{lll} -%\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\\ -%\verb|\abc* xyz| & Abc xyz & Abc xyz\\ -%\verb|\abc['s] xyz| & abc ['s] xyz & abc's xyz -%\end{tabular} -%\par -%\end{table} -% -% -% -%\subsection{Unsetting and Resetting Entry Flags} -%\label{sec:glsunset} -% -%When using \ics{gls}, \ics{glspl} and their uppercase variants it is -%possible that you may want to use the value given by the -%\gloskey{first} key, even though you have already used the glossary -%entry\ifirstuse. Conversely, you may want to use the value given by the -%\gloskey{text} key, even though you haven't used the glossary entry. -%The former can be achieved by one of the following commands: -%\begin{definition}[\DescribeMacro{\glsreset}] -%\cs{glsreset}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glslocalreset}] -%\cs{glslocalreset}\marg{label} -%\end{definition} -%while the latter can be achieved by one of the following commands: -%\begin{definition}[\DescribeMacro{\glsunset}] -%\cs{glsunset}\marg{label} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glslocalunset}] -%\cs{glslocalunset}\marg{label} -%\end{definition} -%You can also reset or unset all entries for a given glossary or list of -%glossaries using: -%\begin{definition}[\DescribeMacro{\glsresetall}] -%\cs{glsresetall}\oarg{glossary list} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glslocalresetall}] -%\cs{glslocalresetall}\oarg{glossary list} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glsunsetall}] -%\cs{glsunsetall}\oarg{glossary list} -%\end{definition} -%\begin{definition}[\DescribeMacro{\glslocalunsetall}] -%\cs{glslocalunsetall}\oarg{glossary list} -%\end{definition} -%where \meta{glossary list} is a comma-separated list of -%glossary labels. If omitted, all defined glossaries are assumed. -%For example, to reset all entries in the main glossary and the -%list of acronyms: -%\begin{verbatim} -%\glsresetall[main,acronym] -%\end{verbatim} -% -%You can determine whether an entry's first use flag is set using: -%\begin{definition}[\DescribeMacro{\ifglsused}] -%\cs{ifglsused}\marg{label}\marg{true part}\marg{false part} -%\end{definition} -%where \meta{label} is the label of the required entry. If the -%entry has been used, \meta{true part} will be done, otherwise -%\meta{false part} will be done. -% -% -%\subsection{Glossary Styles} -%\label{sec:styles} -%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, -%so they display sub-entries in the same way as they display top -%level entries; some styles are designed for homographs, so they -%ignore the name for sub-entries. You should therefore pick a style -%that suits your type of glossary. See \tableref{tab:styles} for -%a summary of the available styles. -% -%\begin{table}[htbp] -%\caption[Glossary Styles]{Glossary Styles. An asterisk in the style -%name indicates anything that matches that doesn't match any -%previously listed style (e.g.\ \texttt{long3col*} -%matches \glostyle{long3col}, \glostyle{long3colheader}, -%\glostyle{long3colborder} and \glostyle{long3colheaderborder}). -%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 -%\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.} -%\label{tab:styles} -%\vskip\baselineskip -%\centering -%\begin{tabular}{lccc} -%\bfseries Style & \bfseries Maximum Level & -%\bfseries Homograph & \bfseries Symbol\\ -%\ttfamily listdotted & 0 & & \\ -%\ttfamily sublistdotted & 1 & & \\ -%\ttfamily list* & 1 & \tick & \\ -%\ttfamily altlist* & 1 & \tick & \\ -%\ttfamily long*3col* & 1 & \tick & \\ -%\ttfamily long4col* & 1 & \tick & \tick \\ -%\ttfamily altlong*4col* & 1 & \tick & \tick \\ -%\ttfamily long* & 1 & \tick & \\ -%\ttfamily super*3col* & 1 & \tick & \\ -%\ttfamily super4col* & 1 & \tick & \tick \\ -%\ttfamily altsuper*4col* & 1 & \tick & \tick \\ -%\ttfamily super* & 1 & \tick & \\ -%\ttfamily index* & 2 & & \tick\\ -%\ttfamily treenoname* & --- & \tick & \tick\\ -%\ttfamily tree* & --- & & \tick\\ -%\ttfamily alttree* & --- & & \tick -%\end{tabular} -%\par -%\end{table} -% -%The glossary style can be set using the \gloskey[printglossary]{style} key in the optional -%argument to \ics{printglossary} or using the command: -%\begin{definition}[\DescribeMacro{\glossarystyle}] -%\cs{glossarystyle}\marg{style-name} -%\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 \styfmt{glossaries} package. -% -%The tabular-like styles that allow multi-line descriptions and page -%lists use the length \DescribeMacro{\glsdescwidth}\cs{glsdescwidth} -%to set the width of the description column and the length -%\DescribeMacro{\glspagelistwidth}\cs{glspagelistwidth} to set the -%width of the page list column.\footnote{these lengths will not be -%available if you use both the \pkgopt{nolong} and \pkgopt{nosuper} -%package options or if you use the \pkgopt{nostyles} package option -%unless you explicitly load the relevant package.} -%These will need to be changed using \cs{setlength} if the glossary -%is too wide. Note that the \glostyle{long4col} and -%\glostyle{super4col} styles (and their header and border variations) -%don't use these lengths as they are designed for single line -%entries. Instead you should use the analogous \glostyle{altlong4col} -%and \glostyle{altsuper4col} styles. If you want to -%explicitly create a line-break within a multi-line description in -%a tabular-like style you should use \ics{newline} instead of -%\verb|\\|. -% -%Note that if you use the \gloskey[printglossary]{style} key in the -%optional argument to \ics{printglossary}, it will override any -%previous style settings for the given glossary, so if, for example, -%you do -%\begin{verbatim} -%\renewcommand*{\glsgroupskip}{} -%\printglossary[style=long] -%\end{verbatim} -%then the new definition of \ics{glsgroupskip} will not have an affect -%for this glossary, as \cs{glsgroupskip} is redefined by -%\verb|style=long|. Likewise, \ics{glossarystyle} will also -%override any previous style definitions, so, again -%\begin{verbatim} -%\renewcommand*{\glsgroupskip}{} -%\glossarystyle{long} -%\end{verbatim} -%will reset \cs{glsgroupskip} back to its default definition for the -%named glossary style (\glostyle{long} in this case). If you want to -%modify the styles, either use \ics{newglossarystyle} (described -%in the next section) or make the modifications after -%\ics{glossarystyle}, e.g.: -%\begin{verbatim} -%\glossarystyle{long} -%\renewcommand*{\glsgroupskip}{} -%\end{verbatim} -% -% \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 -%\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 -%\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 \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 -%that entry. The symbol is ignored. If the entry has child entries, -%the description and number list follows (but not the name) for each -%child entry. Groups are separated using \cs{indexspace}. -% -%\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 -%\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} -% -%Note that the hyper-navigation line is now (as from version 1.14) -%set inside the optional argument to \cs{item} instead of after it -%to prevent a spurious space at the start. This can be changed -%by redefining \ics{glossaryheader}, but note that this needs to -%be done \emph{after} the glossary style has been set. -% -%\item[altlist] The \glostyle{altlist} style is like \glostyle{list} -%but the description starts on the line following the name. (As -%with the \glostyle{list} style, the symbol is ignored.) Each child -%entry starts a new line, but as with the \glostyle{list} style, -%the name associated with each child entry is ignored. -% -%\item[altlistgroup] The \glostyle{altlistgroup} style is like -%\glostyle{altlist} but the glossary groups have headings. -% -%\item[altlisthypergroup] The \glostyle{altlisthypergroup} style is like -%\glostyle{altlistgroup} but has a set of links to the glossary -%groups. The navigation line is the same as that for -%\glostyle{listhypergroup}, described above. -% -%\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 -%\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 -%have just the name displayed. The sub entries are displayed in -%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 -%\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 \sectionref{sec:longraggedstyles}. -% -% -%\begin{description} -%\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. -%Sub groups are separated with a blank row. The width of the -%first column is governed by the widest entry in that column. The -%width of the second column is governed by the length -%\ics{glsdescwidth}. Child entries have a similar format to the -%parent entries except that their name is suppressed. -% -%\item[longborder] The \glostyle{longborder} style is like -%\glostyle{long} but has horizontal and vertical lines around it. -% -%\item[longheader] The \glostyle{longheader} style is like -%\glostyle{long} but has a header row. -% -%\item[longheaderborder] The \glostyle{longheaderborder} style is -%like \glostyle{longheader} but has horizontal and vertical lines -%around it. -% -%\item[long3col] The \glostyle{long3col} style is like -%\glostyle{long} but has three columns. The first column contains -%the entry's name, the second column contains the description -%and the third column contains the \term{number list}. -%The entry's symbol is ignored. The width of the -%first column is governed by the widest entry in that column, the -%width of the second column is governed by the length -%\ics{glsdescwidth}, and the width of the third column is governed by the -%length \ics{glspagelistwidth}. -% -%\item[long3colborder] The \glostyle{long3colborder} style is like -%the \glostyle{long3col} style but has horizontal and vertical -%lines around it. -% -%\item[long3colheader] The \glostyle{long3colheader} style is like -%\glostyle{long3col} but has a header row. -% -%\item[long3colheaderborder] The \glostyle{long3colheaderborder} style is -%like \glostyle{long3colheader} but has horizontal and vertical lines -%around it. -% -%\item[long4col] The \glostyle{long4col} style is like -%\glostyle{long3col} but has an additional column in which the -%entry's associated symbol appears. This style is used for brief -%single line descriptions. The column widths are governed by the -%widest entry in the given column. Use \glostyle{altlong4col} for -%multi-line descriptions. -% -%\item[long4colborder] The \glostyle{long4colborder} style is like -%the \glostyle{long4col} style but has horizontal and vertical -%lines around it. -% -%\item[long4colheader] The \glostyle{long4colheader} style is like -%\glostyle{long4col} but has a header row. -% -%\item[long4colheaderborder] The \glostyle{long4colheaderborder} style is -%like \glostyle{long4colheader} but has horizontal and vertical lines -%around it. -% -%\item[altlong4col] The \glostyle{altlong4col} style is like -%\glostyle{long4col} but allows multi-line descriptions and page -%lists. The width of the description column is governed by the -%length \ics{glsdescwidth} and the width of the page list column is -%governed by the length \ics{glspagelistwidth}. The widths of the -%name and symbol columns are governed by the widest entry in the -%given column. -% -%\item[altlong4colborder] The \glostyle{altlong4colborder} style is like -%the \glostyle{long4colborder} but allows multi-line descriptions and -%page lists. -% -%\item[altlong4colheader] The \glostyle{altlong4colheader} style is like -%\glostyle{long4colheader} but allows multi-line descriptions and -%page lists. -% -%\item[altlong4colheaderborder] The \glostyle{altlong4colheaderborder} -%style is like \glostyle{long4colheaderborder} but allows multi-line -%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 -%\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 -%\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 -%\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 \styfmt{glossaries} package has been loaded. -% -%\begin{description} -%\item[longragged] The \glostyle{longragged} style 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 row. The width of the -%first column is governed by the widest entry in that column. The -%width of the second column is governed by the length -%\ics{glsdescwidth}. Child entries have a similar format to the -%parent entries except that their name is suppressed. -% -%\item[longraggedborder] The \glostyle{longraggedborder} style is like -%\glostyle{longragged} but has horizontal and vertical lines around it. -% -%\item[longraggedheader] The \glostyle{longraggedheader} style is like -%\glostyle{longragged} but has a header row. -% -%\item[longraggedheaderborder] The \glostyle{longraggedheaderborder} -%style is like \glostyle{longraggedheader} but has horizontal and -%vertical lines around it. -% -%\item[longragged3col] The \glostyle{longragged3col} style is like -%\glostyle{longragged} but has three columns. The first column -%contains the entry's name, the second column contains the (left -%justified) description and the third column contains the (left -%justified) \term{number list}. The entry's symbol is ignored. The -%width of the first column is governed by the widest entry in that -%column, the width of the second column is governed by the length -%\ics{glsdescwidth}, and the width of the third column is governed by -%the length \ics{glspagelistwidth}. -% -%\item[longragged3colborder] The \glostyle{longragged3colborder} -%style is like the \glostyle{longragged3col} style but has horizontal -%and vertical lines around it. -% -%\item[longragged3colheader] The \glostyle{longragged3colheader} style is like -%\glostyle{longragged3col} but has a header row. -% -%\item[longragged3colheaderborder] The \glostyle{longragged3colheaderborder} style is -%like \glostyle{longragged3colheader} but has horizontal and vertical lines -%around it. -% -%\item[altlongragged4col] The \glostyle{altlongragged4col} style is -%like \glostyle{longragged3col} but has an additional column in which -%the entry's associated symbol appears. The width of the description -%column is governed by the length \ics{glsdescwidth} and the width of -%the page list column is governed by the length -%\ics{glspagelistwidth}. The widths of the name and symbol columns -%are governed by the widest entry in the given column. -% -%\item[altlongragged4colborder] The -%\glostyle{altlongragged4colborder} style is like the -%\glostyle{altlongragged4col} but has horizontal and vertical lines -%around it. -% -%\item[altlongragged4colheader] The -%\glostyle{altlongragged4colheader} style is like -%\glostyle{altlongragged4col} but has a header row. -% -%\item[altlongragged4colheaderborder] The -%\glostyle{altlongragged4colheaderborder} style is like -%\glostyle{altlongragged4colheader} but has horizontal and vertical -%lines around it. -% -%\end{description} -% -% -%\subsubsection{Supertabular Styles} -%\label{sec:superstyles} -% -%The styles described in this section are all defined in the package -%\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 \env{longtable} environment is better, -%but there are some circumstances where it is better to use -%\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 \sectionref{sec:superraggedstyles}. -% -%\begin{description} -%\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. -%Sub groups are separated with a blank row. The width of the -%first column is governed by the widest entry in that column. The -%width of the second column is governed by the length -%\ics{glsdescwidth}. Child entries have a similar format to the -%parent entries except that their name is suppressed. -% -%\item[superborder] The \glostyle{superborder} style is like -%\glostyle{super} but has horizontal and vertical lines around it. -% -%\item[superheader] The \glostyle{superheader} style is like -%\glostyle{super} but has a header row. -% -%\item[superheaderborder] The \glostyle{superheaderborder} style is -%like \glostyle{superheader} but has horizontal and vertical lines -%around it. -% -%\item[super3col] The \glostyle{super3col} style is like -%\glostyle{super} but has three columns. The first column contains -%the entry's name, the second column contains the description -%and the third column contains the \term{number list}. The -%entry's symbol is ignored. The width of the -%first column is governed by the widest entry in that column. The -%width of the second column is governed by the length -%\ics{glsdescwidth}. The width of the third column is governed by the -%length \ics{glspagelistwidth}. -% -%\item[super3colborder] The \glostyle{super3colborder} style is like -%the \glostyle{super3col} style but has horizontal and vertical -%lines around it. -% -%\item[super3colheader] The \glostyle{super3colheader} style is like -%\glostyle{super3col} but has a header row. -% -%\item[super3colheaderborder] The \glostyle{super3colheaderborder} style -%is like \glostyle{super3colheader} but has horizontal and vertical -%lines around it. -% -%\item[super4col] The \glostyle{super4col} style is like -%\glostyle{super3col} but has an additional column in which the -%entry's associated symbol appears. This style is designed for -%entries with brief single line descriptions. The column widths are governed by the -%widest entry in the given column. Use \glostyle{altsuper4col} -%for multi-line descriptions. -% -%\item[super4colborder] The \glostyle{super4colborder} style is like -%the \glostyle{super4col} style but has horizontal and vertical -%lines around it. -% -%\item[super4colheader] The \glostyle{super4colheader} style is like -%\glostyle{super4col} but has a header row. -% -%\item[super4colheaderborder] The \glostyle{super4colheaderborder} style -%is like \glostyle{super4colheader} but has horizontal and vertical -%lines around it. -% -%\item[altsuper4col] The \glostyle{altsuper4col} style is like -%\glostyle{super4col} but allows multi-line descriptions and page -%lists. -%The width of the description column is governed by the length -%\ics{glsdescwidth} and the width of the page list column is -%governed by the length \ics{glspagelistwidth}. The width of the name -%and symbol columns is governed by the widest entry in the -%given column. -% -%\item[altsuper4colborder] The \glostyle{altsuper4colborder} style is like -%the \glostyle{super4colborder} style but allows multi-line descriptions -%and page lists. -% -%\item[altsuper4colheader] The \glostyle{altsuper4colheader} style is like -%\glostyle{super4colheader} but allows multi-line descriptions and -%page lists. -% -%\item[altsuper4colheaderborder] The \glostyle{altsuper4colheaderborder} -%style is like \glostyle{super4colheaderborder} but allows multi-line -%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 -%\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 -%\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 -%\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 \styfmt{glossaries} package has been loaded. -% -%\begin{description} -%\item[superragged] The \glostyle{superragged} 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 (left -%justified) description followed by the \term{number list}. The -%entry's symbol is ignored. Sub groups are separated with a blank -%row. The width of the first column is governed by the widest entry -%in that column. The width of the second column is governed by the -%length \ics{glsdescwidth}. Child entries have a similar format to -%the parent entries except that their name is suppressed. -% -%\item[superraggedborder] The \glostyle{superraggedborder} style is -%like \glostyle{superragged} but has horizontal and vertical lines -%around it. -% -%\item[superraggedheader] The \glostyle{superraggedheader} style is -%like \glostyle{superragged} but has a header row. -% -%\item[superraggedheaderborder] The -%\glostyle{superraggedheaderborder} style is like -%\glostyle{superraggedheader} but has horizontal and vertical lines -%around it. -% -%\item[superragged3col] The \glostyle{superragged3col} style is like -%\glostyle{superragged} but has three columns. The first column -%contains the entry's name, the second column contains the (left -%justified) description and the third column contains the (left -%justified) \term{number list}. The entry's symbol is ignored. The -%width of the first column is governed by the widest entry in that -%column. The width of the second column is governed by the length -%\ics{glsdescwidth}. The width of the third column is governed by the -%length \ics{glspagelistwidth}. -% -%\item[superragged3colborder] The \glostyle{superragged3colborder} -%style is like the \glostyle{superragged3col} style but has -%horizontal and vertical lines around it. -% -%\item[superragged3colheader] The \glostyle{superragged3colheader} -%style is like \glostyle{superragged3col} but has a header row. -% -%\item[superragged3colheaderborder] The -%\glostyle{superragged3colheaderborder} style is like -%\glostyle{superragged3colheader} but has horizontal and vertical -%lines around it. -% -%\item[altsuperragged4col] The \glostyle{altsuperragged4col} style is -%like \glostyle{superragged3col} but has an additional column in -%which the entry's associated symbol appears. The column widths for -%the name and symbol column are governed by the widest entry in the -%given column. -% -%\item[altsuperragged4colborder] The -%\glostyle{altsuperragged4colborder} style is like the -%\glostyle{altsuperragged4col} style but has horizontal and vertical -%lines around it. -% -%\item[altsuperragged4colheader] The -%\glostyle{altsuperragged4colheader} style is like -%\glostyle{altsuperragged4col} but has a header row. -% -%\item[altsuperragged4colheaderborder] The -%\glostyle{altsuperragged4colheaderborder} style is like -%\glostyle{altsuperragged4colheader} but has horizontal and vertical -%lines around it. -% -%\end{description} -% -% -%\subsubsection{Tree-Like Styles} -%\label{sec:treestyles} -% -%The styles described in this section are all defined in the package -%\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 -%unless you use the \pkgopt{notree} or \pkgopt{nostyles} package -%options. -% -%\begin{description} -%\item[index] The \glostyle{index} style is similar to the way -%indices are usually formatted in that it has a hierarchical -%structure up to three levels (the main level plus two sub-levels). -%The name is typeset in bold, and if the symbol is present it is set -%in parentheses after the name and before the description. -%Sub-entries are indented and also include the name, the symbol -%in brackets (if present) and the description. Groups are separated -%using \ics{indexspace}. -% -%\item[indexgroup] The \glostyle{indexgroup} style is similar to -%the \glostyle{index} style except that each group has a heading. -% -%\item[indexhypergroup] The \glostyle{indexhypergroup} style is like -%\glostyle{indexgroup} but has a set of links to the glossary -%groups. The navigation line is the same as that for -%\glostyle{listhypergroup}, described above. -% -%\item[tree] The \glostyle{tree} style is similar to the -%\glostyle{index} style except that it can have arbitrary levels. -%(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 -%same paragraph block. If you want the name to be apart from the -%description, use the \glostyle{alttree} style instead. (See below.) -% -%\item[treegroup] The \glostyle{treegroup} style is similar to -%the \glostyle{tree} style except that each group has a heading. -% -%\item[treehypergroup] The \glostyle{treehypergroup} style is like -%\glostyle{treegroup} but has a set of links to the glossary -%groups. The navigation line is the same as that for -%\glostyle{listhypergroup}, described above. -% -%\item[treenoname] The \glostyle{treenoname} style is like -%the \glostyle{tree} style except that the name for each sub-entry -%is ignored. -% -%\item[treenonamegroup] The \glostyle{treenonamegroup} style is -%similar to the \glostyle{treenoname} style except that each group -%has a heading. -% -%\item[treenonamehypergroup] The \glostyle{treenonamehypergroup} -%style is like \glostyle{treenonamegroup} but has a set of links to -%the glossary groups. The navigation line is the same as that for -%\glostyle{listhypergroup}, described above. -% -%\item[alttree] The \glostyle{alttree} style is similar to the -%\glostyle{tree} style except that the indentation for each level -%is determined by the width of the text specified by -%\begin{definition}[\DescribeMacro{\glssetwidest}] -%\cs{glssetwidest}\oarg{level}\marg{text} -%\end{definition} -%The optional argument \meta{level} indicates the level, where -%0 indicates the top-most level, 1 indicates the first level -%sub-entries, etc. If \cs{glssetwidest} hasn't been used for a -%given sub-level, the level~0 widest text is used instead. If -%\meta{level} is omitted, 0 is assumed. -% -%For each level, the name is placed to the left of the paragraph -%block containing the symbol (optional) and the description. If the -%symbol is present, it is placed in parentheses before the -%description. -% -%\item[alttreegroup] The \glostyle{alttreegroup} is like the -%\glostyle{alttree} style except that each group has a heading. -% -%\item[alttreehypergroup] The \glostyle{alttreehypergroup} style is -%like \glostyle{alttreegroup} but has a set of links to the glossary -%groups. The navigation line is the same as that for -%\glostyle{listhypergroup}, described above. -% -%\end{description} -% -% -% -%\subsection{Defining your own glossary style} -%\label{sec:newglossarystyle} -% -%If the predefined styles don't fit your requirements, you can -%define your own style using: -%\begin{definition}[\DescribeMacro{\newglossarystyle}] -%\cs{newglossarystyle}\marg{name}\marg{definitions} -%\end{definition} -%where \meta{name} is the name of the new glossary style (to be -%used in \cs{glossarystyle}). The second argument \meta{definitions} -%needs to redefine all of the following: -% -%\begin{definition}[\DescribeEnv{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 \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} -%\end{definition} -%This macro indicates what to do at the start of the main body -%of the glossary. Note that this is not the same as -%\cs{glossarypreamble}, which should not be affected by changes in -%the glossary style. The \glostyle{list} glossary style redefines -%\cs{glossaryheader} to do nothing, whereas the \glostyle{longheader} -%glossary style redefines \cs{glossaryheader} to do a header row. -% -%\begin{definition}[\DescribeMacro{\glsgroupheading}] -%\cs{glsgroupheading}\marg{label} -%\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 \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 \app{xindy}, the sub-divisions depend on -%the language settings. -% -%Note that the argument to \cs{glsgroupheading} -%is a label \emph{not} the group title. The group title can be obtained -%via -%\begin{definition}[\DescribeMacro{\glsgetgrouptitle}] -%\cs{glsgetgrouptitle}\marg{label} -%\end{definition} -%This obtains the title as follows: if -%\cs{}\meta{label}\texttt{groupname} exists, this is taken to be the -%title, otherwise the title is just \meta{label}. -% -%A navigation hypertarget can be created using -%\begin{definition}[\DescribeMacro{\glsnavhypertarget}] -%\cs{glsnavhypertarget}\marg{label}\marg{text} -%\end{definition} -%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} -%to simply ignore its argument. The \glostyle{listhypergroup} style -%redefines \cs{glsgroupheading} as follows: -%\begin{verbatim} -%\renewcommand*{\glsgroupheading}[1]{% -%\item[\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}]} -%\end{verbatim} -%See also \cs{glsgroupskip} below. (Note that command definitions within -%\cs{newglossarystyle} must use \verb|##1| instead of \verb|#1| etc.) -% -%\begin{definition}[\DescribeMacro{\glsgroupskip}] -%\cs{glsgroupskip} -%\end{definition} -%This macro determines what to do after one logical group but before -%the header for the next logical group. The \glostyle{list} glossary -%style simply redefines \cs{glsgroupskip} to be \cs{indexspace}, -%whereas the tabular-like styles redefine \cs{glsgroupskip} to -%produce a blank row. -% -%\begin{definition}[\DescribeMacro{\glossaryentryfield}] -%\cs{glossaryentryfield}\marg{label}\marg{formatted -%name}\marg{description}\marg{symbol} -%\marg{number list} -%\end{definition} -%This macro indicates what to do for a given glossary entry. -%Note that \meta{formatted name} will always be in the form -%\cs{glsnamefont}\marg{name}. This allows the user to set a given -%font for the entry name, regardless of the glossary style used. -%Note that \meta{label} is the label used when the glossary entry -%was defined via either \cs{newglossaryentry} or \cs{newacronym}. -% -%Each time you use a glossary entry it creates a hyperlink (if -%hyperlinks are enabled) to the relevant line in the glossary. -%Your new glossary style must therefore redefine -%\cs{glossaryentryfield} to set the appropriate target. This -%is done using -%\begin{definition}[\DescribeMacro{\glstarget}] -%\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 \sty{hyperref} package has -%been loaded, as \cs{glstarget} won't create a target if -%\cs{hypertarget} hasn't been defined. -% -%For example, the -%\glostyle{list} style defines \cs{glossaryentryfield} as follows: -%\begin{verbatim} -%\renewcommand*{\glossaryentryfield}[5]{% -%\item[\glstarget{##1}{##2}] ##3\glspostdescription\space ##5} -%\end{verbatim} -% -%Note also that \meta{number list} will always be of the form\\[10pt] -%\cs{glossaryentrynumbers}\{\cs{relax}\\ -%\cs{setentrycounter}\marg{counter name}\cs{glsnumberformat}\marg{number(s)}\}\\[10pt] -%where \meta{number(s)} -%may contain \cs{delimN} (to delimit individual numbers) and/or -%\cs{delimR} (to indicate a range of numbers). There may be -%multiple occurrences of -%\cs{setentrycounter}\marg{counter name}\cs{glsnumberformat}\marg{number(s)}, but note -%that the entire number list is enclosed within the argument -%to \ics{glossaryentrynumbers}. The user can redefine this to change -%the way the entire number list is formatted, regardless of -%the glossary style. However the most common use of -%\cs{glossaryentrynumbers} is to provide a means of suppressing the -%number list altogether. (In fact, the \pkgopt{nonumberlist} option -%redefines \cs{glossaryentrynumbers} to ignore its argument.) -%Therefore, when you define a new glossary style, you don't need -%to worry about whether the user has specified the -%\pkgopt{nonumberlist} package option. -% -%\begin{definition}[\DescribeMacro{\glossarysubentryfield}] -%\cs{glossarysubentryfield}\marg{level}\marg{label}\marg{formatted -%name}\marg{description}\marg{symbol} -%\marg{number list} -%\end{definition} -%This is new to version 1.17, and is used to display sub-entries. -%The first argument, \meta{level}, indicates the sub-entry level. -%This must be an integer from 1 (first sub-level) onwards. The -%remaining arguments are analogous to those for -%\ics{glossaryentryfield} described above. -% -%For further details of these commands, see -%\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 \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 -%immediately after \verb|\begin{theglossary}| (so \ics{glossaryheader} -%should do nothing). In addition, let's suppose the symbol should -%appear in brackets after the name, followed by the description and -%last of all the \term{number list} should appear within square brackets -%at the end. Then you can create this new glossary style, called, say, -%\texttt{mylist}, as follows: -%\begin{verbatim} -% \newglossarystyle{mylist}{% -% % put the glossary in the itemize environment: -% \renewenvironment{theglossary}{\begin{itemize}}{\end{itemize}}% -% % have nothing after \begin{theglossary}: -% \renewcommand*{\glossaryheader}{}% -% % have nothing between glossary groups: -% \renewcommand*{\glsgroupheading}[1]{}% -% \renewcommand*{\glsgroupskip}{}% -% % set how each entry should appear: -% \renewcommand*{\glossaryentryfield}[5]{% -% \item % bullet point -% \glstarget{##1}{##2}% the entry name -% \space (##4)% the symbol in brackets -% \space ##3% the description -% \space [##5]% the number list in square brackets -% }% -% % set how sub-entries appear: -% \renewcommand*{\glossarysubentryfield}[6]{% -% \glossaryentryfield{##2}{##3}{##4}{##5}{##6}}% -% } -%\end{verbatim} -%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} -% -%\changes{1.11}{2008 March 1}{Fixed error in manual (glossary style -%is set using \cs{glossarystyle} not \cs{setglossarystyle})}% -%If you want to define a new style that is a slightly modified -%version of an existing style, you can use \cs{glossarystyle} -%within the second argument of \cs{newglossarystyle} followed by -%whatever alterations you require. For example, suppose you want -%a style like the \glostyle{list} style but you don't want the extra -%vertical space created by \cs{indexspace} between groups, then you -%can create a new glossary style called, say, \texttt{mylist} as -%follows: -%\begin{verbatim} -%\newglossarystyle{mylist}{% -%\glossarystyle{list}% base this style on the list style -%\renewcommand{\glsgroupskip}{}% make nothing happen between groups -%} -%\end{verbatim} -% -% -%\subsubsection{Example: creating a glossary style that uses the -%\gloskey{user1}, \ldots, \gloskey{user6} keys} -% -%Since \ics{glossaryentryfield} and \ics{glossarysubentryfield} -%provide the label for the entry, it's also possible to access -%the values of the generic user keys, such as \gloskey{user1}. For -%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 \env{longtable} as follows: -%\begin{verbatim} -%\newglossarystyle{long6col}{% -% % put the glossary in a longtable environment: -% \renewenvironment{theglossary}% -% {\begin{longtable}{lp{\glsdescwidth}cccp{\glspagelistwidth}}}% -% {\end{longtable}}% -% % Set the table's header: -% \renewcommand*{\glossaryheader}{% -% \bfseries Term & \bfseries Description & \bfseries Symbol & -% \bfseries Units & \bfseries Dimensions & \bfseries Page List -% \\\endhead}% -% % No heading between groups: -% \renewcommand*{\glsgroupheading}[1]{}% -% % Main (level 0) entries displayed in a row: -% \renewcommand*{\glossaryentryfield}[5]{% -% \glstarget{##1}{##2}% Name -% & ##3% Description -% & ##4% Symbol -% & \glsentryuseri{##1}% Units -% & \glsentryuserii{##1}% Dimensions -% & ##5% Page list -% \\% end of row -% }% -% % Sub entries treated the same as level 0 entries: -% \renewcommand*{\glossarysubentryfield}[6]{% -% \glossaryentryfield{##2}{##3}{##4}{##5}{##6}}% -% % Nothing between groups: -% \renewcommand*{\glsgroupskip}{}% -%} -%\end{verbatim} -% -% -%\subsection{Accessibility Support}\label{sec:accsupp} -%Limited accessibility support is provided by the accompanying -%\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: -%\begin{description} -%\item[{\gloskey{access}}] The replacement text corresponding to -%the \gloskey{name} key. -% -%\item[{\gloskey{textaccess}}] The replacement text corresponding -%to the \gloskey{text} key. -% -%\item[{\gloskey{firstaccess}}] The replacement text corresponding -%to the \gloskey{first} key. -% -%\item[{\gloskey{pluralaccess}}] The replacement text corresponding -%to the \gloskey{plural} key. -% -%\item[{\gloskey{firstpluralaccess}}] The replacement text corresponding -%to the \gloskey{firstplural} key. -% -%\item[{\gloskey{symbolaccess}}] The replacement text corresponding -%to the \gloskey{symbol} key. -% -%\item[{\gloskey{symbolpluralaccess}}] The replacement text corresponding -%to the \gloskey{symbolplural} key. -% -%\item[{\gloskey{descriptionaccess}}] The replacement text corresponding -%to the \gloskey{description} key. -% -%\item[{\gloskey{descriptionpluralaccess}}] The replacement text corresponding -%to the \gloskey{descriptionplural} key. -% -%\end{description} -% -%For example: -%\begin{verbatim} -%\newglossaryentry{tex}{name={\TeX},description={Document preparation -%language},access={TeX}} -%\end{verbatim} -%Now \verb|\gls{tex}| will be equivalent to -%\begin{verbatim} -%\BeginAccSupp{ActualText=TeX}\TeX\EndAccSupp{} -%\end{verbatim} -%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 \styfmt{glossaries} bundle is supplied with the package -%\sty{mfirstuc} which provides the command: -%\begin{definition}[\DescribeMacro{\makefirstuc}] -%\cs{makefirstuc}\marg{stuff} -%\end{definition} -%which makes the first object of -%\meta{stuff} uppercase unless \meta{stuff} starts with a control -%sequence followed by a non-empty group, in which case the first -%object in the group is converted to uppercase. Examples: -%\begin{itemize} -%\item \verb|\makefirstuc{abc}| produces Abc -% -%\item \verb|\makefirstuc{\emph{abc}}| produces \emph{Abc} -%(\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. -% -%\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 \sty{inputenc} package) due to expansion issues. -% -%\begin{important} -%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 -%\AE bc. -%\end{important} -% -%Note also that -%\begin{verbatim} -%\newcommand{\abc}{abc} -%\makefirstuc{\abc} -%\end{verbatim} -%produces: ABC. This is because the first object in the argument of -%\cs{makefirstuc} is \cs{abc}, so it does \verb|\MakeUppercase\abc|. -%Whereas: -%\begin{verbatim} -%\newcommand{\abc}{abc} -%\expandafter\makefirstuc\expandafter{\abc} -%\end{verbatim} -%produces: Abc. There is a short cut command which will do this:\\[10pt] -%\begin{definition}[\DescribeMacro{\xmakefirstuc}] -%\cs{xmakefirstuc}\marg{stuff} -%\end{definition} -%This is equivalent to \cs{expandafter}\cs{makefirstuc}\cs{expandafter}\marg{stuff}. So -%\begin{verbatim} -%\newcommand{\abc}{abc} -%\xmakefirstuc{\abc} -%\end{verbatim} -%produces: Abc. -% -%If you want to use an alternative command to convert to uppercase, -%for example \cs{MakeTextUppercase},\footnote{defined in the -%\styfmt{textcase} package} you can redefine the internal -%command \cs{@gls@makefirstuc}. For example: -%\begin{verbatim} -%\renewcommand{\@gls@makefirstuc}[1]{\MakeTextUppercase #1} -%\end{verbatim} -%(Remember that command names that contain the @ character must -%either be placed in packages or be placed between \cs{makeatletter} -%and \cs{makeatother}.) -% -% +%\clearpage +%\tableofcontents % %\StopEventually{% % \clearpage\phantomsection @@ -5134,7 +161,7 @@ % % % -%\section{Glossaries Documented Code} +%\section{Main Package Code} %\iffalse % \begin{macrocode} %<*glossaries.sty> @@ -5145,7 +172,7 @@ % This package requires \LaTeXe. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries}[2010/07/10 v2.07 (NLCT)] +\ProvidesPackage{glossaries}[2011/04/02 v3.0 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -5163,6 +190,11 @@ % \begin{macrocode} \RequirePackage{amsgen} % \end{macrocode} +%\changes{3.0}{2011/04/02}{etoolbox now loaded} +% As from v3.0, now loading \sty{etoolbox}: +% \begin{macrocode} +\RequirePackage{etoolbox} +% \end{macrocode} % % \subsection{Package Options}\label{sec:pkgopt} %\begin{option}{toc} @@ -5183,14 +215,17 @@ % \end{macrocode} %\end{option} % +%\begin{macro}{\@@glossarysec} % The sectional unit used to start the glossary is stored in % \cs{@@glossarysec}. If chapters are defined, this % is initialised to \texttt{chapter}, otherwise it is % initialised to \texttt{section}. -%\begin{macro}{\@@glossarysec} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{chapter}{\newcommand*{\@@glossarysec}{section}}{% - \newcommand*{\@@glossarysec}{chapter}} +\ifcsundef{chapter}% + {\newcommand*{\@@glossarysec}{section}}% + {\newcommand*{\@@glossarysec}{chapter}} % \end{macrocode} %\end{macro} % @@ -5294,6 +329,24 @@ false,nolabel,autolabel}[nolabel]{% % \end{macrocode} %\end{option} % +%\begin{macro}{\@glo@seeautonumberlist} +% \begin{macrocode} +\newcommand*\@glo@seeautonumberlist{} +% \end{macrocode} +%\end{macro} +% +%\begin{option}{seeautonumberlist} +% Automatically activates number list for entries containing the +% \gloskey{see} key. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\DeclareOptionX{seeautonumberlist}{% + \renewcommand*{\@glo@seeautonumberlist}{% + \def\@glo@prefix{\glsnextpages}% + }% +} +% \end{macrocode} +%\end{option} %\begin{macro}{\@gls@loadlong} %\changes{1.18}{2009 January 14}{new} % \begin{macrocode} @@ -5384,6 +437,202 @@ false,nolabel,autolabel}[nolabel]{% % \end{macrocode} %\end{option} % +%\begin{option}{entrycounter} +% Defines a counter that can be used in the standard glossary styles +% to number each (main) entry. If true, this will define a counter called +% \ctr{glossaryentry}. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\define@boolkey{glossaries.sty}[gls]{entrycounter}[true]{} +\glsentrycounterfalse +% \end{macrocode} +%\end{option} +% +%\begin{option}{entrycounterwithin} +% This option can be used to set a parent counter for +% \ctr{glossaryentry}. This option automatically sets +% \pkgopt[true]{entrycounter}. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\define@key{glossaries.sty}{counterwithin}{% + \renewcommand*{\@gls@counterwithin}{#1}% + \glsentrycountertrue +} +% \end{macrocode} +%\end{option} +%\begin{macro}{\@gls@counterwithin} +%\changes{3.0}{2011/04/02}{new} +% The default value is no parent counter: +% \begin{macrocode} +\newcommand*{\@gls@counterwithin}{} +% \end{macrocode} +%\end{macro} +% +%\begin{option}{subentrycounter} +% Define a counter that can be used in the standard glossary styles +% to number each level~1 entry. If true, this will define a counter called +% \ctr{glossarysubentry}. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\define@boolkey{glossaries.sty}[gls]{subentrycounter}[true]{} +\glssubentrycounterfalse +% \end{macrocode} +%\end{option} +% +%\begin{option}{sort} +%\changes{3.0}{2011/04/02}{new} +% Define the sort method: \pkgopt[standard]{sort} (default), +% \pkgopt[def]{sort} (order of definition) or +% \pkgopt[use]{sort} (order of use). +% \begin{macrocode} +\define@choicekey{glossaries.sty}{sort}{standard,def,use}{% + \csname @gls@setupsort@#1\endcsname +} +% \end{macrocode} +%\end{option} +%\begin{macro}{\@gls@setupsort@standard} +%\changes{3.0}{2011/04/02}{new} +% Set up the macros for default sorting. +% \begin{macrocode} +\newcommand*{\@gls@setupsort@standard}{% +% \end{macrocode} +% Store entry information when it's defined. +% \begin{macrocode} + \def\do@glo@storeentry{\@glo@storeentry}% +% \end{macrocode} +% No count register required for standard sort. +% \begin{macrocode} + \def\@gls@defsortcount##1{}% +% \end{macrocode} +% Sort according to sort key (\cs{@glo@sort}) if provided otherwise +% sort according to the entry's name (\cs{@glo@name}). +% \begin{macrocode} + \def\@gls@defsort##1##2{% + \ifx\@glo@sort\@glsdefaultsort + \let\@glo@sort\@glo@name + \fi + \@onelevel@sanitize\@glo@sort + \expandafter\protected@xdef\csname glo@##2@sort\endcsname{\@glo@sort}% + }% +% \end{macrocode} +% Don't need to do anything when the entry is used. +% \begin{macrocode} + \def\@gls@setsort##1{}% +} +% \end{macrocode} +% Set standard sort as the default: +% \begin{macrocode} +\@gls@setupsort@standard +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssortnumberfmt} +%\changes{3.0}{2011/04/02}{new} +% Format the number used as the sort key by \pkgopt[def]{sort} and +% \pkgopt[use]{sort}. Defaults to six digit numbering. +% \begin{macrocode} +\newcommand*\glssortnumberfmt[1]{% + \ifnum#1<100000 0\fi + \ifnum#1<10000 0\fi + \ifnum#1<1000 0\fi + \ifnum#1<100 0\fi + \ifnum#1<10 0\fi + \number#1% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@setupsort@def} +%\changes{3.0}{2011/04/02}{new} +% Set up the macros for order of definition sorting. +% \begin{macrocode} +\newcommand*{\@gls@setupsort@def}{% +% \end{macrocode} +% Store entry information when it's defined. +% \begin{macrocode} + \def\do@glo@storeentry{\@glo@storeentry}% +% \end{macrocode} +% Defined count register associated with the glossary. +% \begin{macrocode} + \def\@gls@defsortcount##1{% + \expandafter\global + \expandafter\newcount\csname glossary@##1@sortcount\endcsname + }% +% \end{macrocode} +% Increment count register associated with the glossary and use as +% the sort key. +% \begin{macrocode} + \def\@gls@defsort##1##2{% + \expandafter\global\expandafter + \advance\csname glossary@##1@sortcount\endcsname by 1\relax + \expandafter\protected@xdef\csname glo@##2@sort\endcsname{% + \expandafter\glssortnumberfmt + {\csname glossary@##1@sortcount\endcsname}}% + }% +% \end{macrocode} +% Don't need to do anything when the entry is used. +% \begin{macrocode} + \def\@gls@setsort##1{}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@setupsort@use} +%\changes{3.0}{2011/04/02}{new} +% Set up the macros for order of use sorting. +% \begin{macrocode} +\newcommand*{\@gls@setupsort@use}{% +% \end{macrocode} +% Don't store entry information when it's defined. +% \begin{macrocode} + \let\do@glo@storeentry\@gobble +% \end{macrocode} +% Defined count register associated with the glossary. +% \begin{macrocode} + \def\@gls@defsortcount##1{% + \expandafter\global + \expandafter\newcount\csname glossary@##1@sortcount\endcsname + }% +% \end{macrocode} +% Initialise the sort key to empty. +% \begin{macrocode} + \def\@gls@defsort##1##2{% + \expandafter\gdef\csname glo@##2@sort\endcsname{}% + }% +% \end{macrocode} +% If the sort key hasn't been set, increment the counter associated +% with the glossary and set the sort key. +% \begin{macrocode} + \def\@gls@setsort##1{% +% \end{macrocode} +% Get the parent, if one exists +% \begin{macrocode} + \edef\@glo@parent{\csname glo@##1@parent\endcsname}% +% \end{macrocode} +% Set the information for the parent entry if not already done. +% \begin{macrocode} + \ifx\@glo@parent\@empty + \else + \expandafter\@gls@setsort\expandafter{\@glo@parent}% + \fi +% \end{macrocode} +% Set index information for this entry +% \begin{macrocode} + \edef\@glo@type{\csname glo@##1@type\endcsname}% + \edef\@gls@tmp{\csname glo@##1@sort\endcsname}% + \ifx\@gls@tmp\@empty + \expandafter\global\expandafter + \advance\csname glossary@\@glo@type @sortcount\endcsname by 1\relax + \expandafter\protected@xdef\csname glo@##1@sort\endcsname{% + \expandafter\glssortnumberfmt + {\csname glossary@\@glo@type @sortcount\endcsname}}% + \@glo@storeentry{##1}% + \fi + }% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsdefmain} %\changes{2.01}{2009 May 30}{new} % Define the main glossary. This will be the first glossary to @@ -5807,8 +1056,10 @@ name=true]{% %\begin{macro}{\gls@codepage} % Define the code page. If \ics{inputencodingname} is defined % use that, otherwise have initialise with no codepage. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{inputencodingname}{% +\ifcsundef{inputencodingname}{% \def\gls@codepage{}}{% \def\gls@codepage{\inputencodingname} } @@ -5828,6 +1079,19 @@ name=true]{% } % \end{macrocode} % +%\begin{option}{savewrites} +%\changes{3.0}{2011/04/02}{new} +% The \pkgopt{savewrites} package option is provided to save on +% the number of write registers. +% \begin{macrocode} +\define@boolkey{glossaries.sty}[gls]{savewrites}[true]{} +% \end{macrocode} +%\end{option} +% Set default: +% \begin{macrocode} +\glssavewritesfalse +% \end{macrocode} +% %\begin{macro}{\GlossariesWarning} % Prints a warning message. % \begin{macrocode} @@ -5851,6 +1115,14 @@ name=true]{% \renewcommand*{\GlossariesWarningNoLine}[1]{}% } % \end{macrocode} +%\begin{option}{compatible-2.07} +%\changes{3.0}{2011/04/02}{compatible-2.07 option added} +% \begin{macrocode} +\define@boolkey{glossaries.sty}[gls]{compatible-2.07}[true]{} +\csname glscompatible-2.07false\endcsname +% \end{macrocode} +%\end{option} +% % % Process package options: % \begin{macrocode} @@ -5881,12 +1153,19 @@ name=true]{% % will have to specify a different counter for the entries % that give rise to a \texttt{name}"{"\meta{section-level}"."\meta{n}".0}" % non-existent warning (e.g. "\gls[counter=chapter]{label}"). +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\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}{}}}}}{} +\ifthenelse{\equal{\glscounter}{section}}% +{% + \ifcsundef{chapter}{}% + {% + \let\@gls@old@chapter\@chapter + \def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}% + \ifcsundef{hyperdef}{}{\hyperdef{section}{\thesection}{}}}% + }% +}% +{} % \end{macrocode} % %\begin{macro}{\@gls@onlypremakeg} @@ -6020,9 +1299,12 @@ name=true]{% % redefine \cs{glossaryname} whenever the language is set, so % override it. (Don't use \ics{addto} as \isty{polyglossia} doesn't % define it.) +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand*{\addglossarytocaptions}[1]{% - \@ifundefined{captions#1}{}{% + \ifcsundef{captions#1}{}% + {% \expandafter\let\expandafter\@gls@tmp\csname captions#1\endcsname \expandafter\toks@\expandafter{\@gls@tmp \renewcommand*{\glossaryname}{\translate{Glossary}}% @@ -6275,10 +1557,12 @@ name=true]{% % Sets the suffix to use for a three page list. % \begin{macrocode} \newcommand*{\glsSetSuffixFF}[1]{% - \renewcommand*{\gls@suffixFF}{#1}} + \renewcommand*{\gls@suffixFF}{#1}% +} % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsnumberformat} % The command \cs{glsnumberformat} indicates the default % format for the page numbers in the glossary. (Note that this % is not the same as \ics{glossaryentrynumbers}, but applies @@ -6286,11 +1570,16 @@ name=true]{% % associated number list.) If hyperlinks are defined, it will use % \ics{glshypernumber}, otherwise it will simply display its % argument ``as is''. -%\begin{macro}{\glsnumberformat} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{hyperlink}{% -\newcommand*{\glsnumberformat}[1]{#1}}{% -\newcommand*{\glsnumberformat}[1]{\glshypernumber{#1}}} +\ifcsdef{hyperlink}% +{% + \newcommand*{\glsnumberformat}[1]{#1}% +}% +{% + \newcommand*{\glsnumberformat}[1]{\glshypernumber{#1}}% +} % \end{macrocode} %\end{macro} % @@ -6350,6 +1639,7 @@ name=true]{% % \end{macrocode} %\end{macro} % +%\begin{macro}{\glossarysection} % The sectioning command that starts a glossary is given by % \cs{glossarysection}. (This does not form part of the % glossary style, and so should not be changed by a glossary @@ -6358,12 +1648,18 @@ name=true]{% % uses \cs{@glossarysection}. %\changes{1.05}{2007 Aug 10}{added '@mkboth to 'glossarysection} %\changes{2.02}{2009 July 13}{changed '@mkboth to 'glossarymark} -%\begin{macro}{\glossarysection} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand*{\glossarysection}[2][\@gls@title]{% \def\@gls@title{#2}% - \@ifundefined{phantomsection}{% - \@glossarysection{#1}{#2}}{\@p@glossarysection{#1}{#2}}% + \ifcsundef{phantomsection}% + {% + \@glossarysection{#1}{#2}% + }% + {% + \@p@glossarysection{#1}{#2}% + }% \glossarymark{\glossarytoctitle}% } % \end{macrocode} @@ -6374,10 +1670,14 @@ name=true]{% %defined} % Sets the header mark for the glossary. Takes the glossary short % (TOC) title as the argument. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{glossarymark}{% +\ifcsundef{glossarymark}% +{% \newcommand{\glossarymark}[1]{\@mkboth{#1}{#1}} -}{% +}% +{% \GlossariesWarning{overriding \string\glossarymark}% \@ifclassloaded{memoir}% { @@ -6443,15 +1743,20 @@ name=true]{% % \end{macrocode} %\end{macro} % +%\begin{macro}{\gls@doclearpage} %The \cs{gls@doclearpage} command is used to issue a % \cs{clearpage} (or \cs{cleardoublepage}) depending % on whether the glossary sectional unit is a chapter. If the % sectional unit is something else, do nothing. -%\begin{macro}{\gls@doclearpage} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand*{\gls@doclearpage}{% -\ifthenelse{\equal{\@@glossarysec}{chapter}}{% -\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}}{}% + \ifthenelse{\equal{\@@glossarysec}{chapter}}% + {% + \ifcsundef{cleardoublepage}{\clearpage}{\cleardoublepage}% + }% + {}% } % \end{macrocode} %\end{macro} @@ -6506,6 +1811,15 @@ name=true]{% \fi % \end{macrocode} %\end{macro} +%\begin{macro}{\@xdyattributelist} +% Comma-separated list of attributes. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\ifglsxindy + \edef\@xdyattributelist{}% +\fi +% \end{macrocode} +%\end{macro} %\begin{macro}{\@xdylocref} % Define list of markup location references. % \begin{macrocode} @@ -6515,21 +1829,130 @@ name=true]{% % \end{macrocode} %\end{macro} % +%\begin{macro}{\@gls@ifinlist} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\@gls@ifinlist}[4]{% + \def\@do@ifinlist##1,#1,##2\end@doifinlist{% + \def\@gls@listsuffix{##2}% + \ifx\@gls@listsuffix\@empty + #4% + \else + #3% + \fi + }% + \@do@ifinlist,#2,#1,\end@doifinlist +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GlsAddXdyCounters} +%\changes{3.0}{2011/04/02}{new} +% Need to know all the counters that will be used in location +% numbers for Xindy. Argument may be a single counter name or a +% comma-separated list of counter names. +% \begin{macrocode} +\ifglsxindy + \newcommand*{\@xdycounters}{\glscounter} + \newcommand*\GlsAddXdyCounters[1]{% + \@for\@gls@ctr:=#1\do{% +% \end{macrocode} +% Check if already in list before adding. +% \begin{macrocode} + \edef\@do@addcounter{% + \noexpand\@gls@ifinlist{\@gls@ctr}{\@xdycounters}{}% + {% + \noexpand\edef\noexpand\@xdycounters{\@xdycounters,% + \noexpand\@gls@ctr}% + }% + }% + \@do@addcounter + } + } +% \end{macrocode} +% Only has an effect before \ics{writeist}: +% \begin{macrocode} + \@onlypremakeg\GlsAddXdyCounters +\else + \newcommand*\GlsAddXdyCounters[1]{% + \glsnoxindywarning\GlsAddXdyAttribute + } +\fi +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@disabled@glsaddxdycounters} +% Counters must all be identified before adding attributes. +% \begin{macrocode} +\newcommand*\@disabled@glsaddxdycounters{% + \PackageError{glossaries}{\string\GlsAddXdyCounters\space + can't be used after \string\GlsAddXdyAttribute}{Move all + occurrences of \string\GlsAddXdyCounters\space before the first + instance of \string\GlsAddXdyAttribute}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\GlsAddXdyAttribute} % Adds an attribute. % \begin{macrocode} \ifglsxindy +% \end{macrocode} +% First define internal command that adds an attribute for a given +% counter (2nd argument is the counter): +% \begin{macrocode} + \newcommand*\@glsaddxdyattribute[2]{% +% \end{macrocode} +% Add to xindy attribute list +% \begin{macrocode} + \edef\@xdyattributes{\@xdyattributes ^^J \string"#1\string" ^^J + \string"#2#1\string"}% +% \end{macrocode} +% Add to xindy markup location. +% \begin{macrocode} + \expandafter\toks@\expandafter{\@xdylocref}% + \edef\@xdylocref{\the\toks@ ^^J% + (markup-locref + :open \string"\string~n% + \expandafter\string\csname glsX#2X#1\endcsname + \string" ^^J + :close \string"\string" ^^J + :attr \string"#2#1\string")}% +% \end{macrocode} +% Define associated attribute command +% \cs{glsX}\meta{counter}"X"\meta{attribute}\marg{Hprefix}\marg{n} +% \begin{macrocode} + \expandafter\gdef\csname glsX#2X#1\endcsname##1##2{% + \setentrycounter[##1]{#2}\csname #1\endcsname{##2}% + }% + } +% \end{macrocode} +% High-level command: +% \begin{macrocode} \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")}} +% \end{macrocode} +% Add to comma-separated attribute list +% \begin{macrocode} + \ifx\@xdyattributelist\@empty + \edef\@xdyattributelist{#1}% + \else + \edef\@xdyattributelist{\@xdyattributelist,#1}% + \fi +% \end{macrocode} +% Iterate through all specified counters and add counter-dependent +% attributes: +% \begin{macrocode} + \@for\@this@counter:=\@xdycounters\do{% + \protected@edef\gls@do@addxdyattribute{% + \noexpand\@glsaddxdyattribute{#1}{\@this@counter}% + } + \gls@do@addxdyattribute + }% +% \end{macrocode} +% All occurrences of \cs{GlsAddXdyCounters} must be used before this +% command +% \begin{macrocode} + \let\GlsAddXdyCounters\@disabled@glsaddxdycounters + } % \end{macrocode} % Only has an effect before \ics{writeist}: % \begin{macrocode} @@ -6540,9 +1963,12 @@ name=true]{% \fi % \end{macrocode} %\end{macro} -% Add known attributes: +% +%\begin{macro}{\@gls@addpredefinedattributes} +% Add known attributes for all defined counters % \begin{macrocode} \ifglsxindy +\newcommand*{\@gls@addpredefinedattributes}{% \GlsAddXdyAttribute{glsnumberformat} \GlsAddXdyAttribute{textrm} \GlsAddXdyAttribute{textsf} @@ -6565,8 +1991,12 @@ name=true]{% \GlsAddXdyAttribute{hypersl} \GlsAddXdyAttribute{hypersc} \GlsAddXdyAttribute{hyperemph} +} +\else + \let\@gls@addpredefinedattributes\relax \fi % \end{macrocode} +%\end{macro} % %\begin{macro}{\@xdyuseralphabets} % List of additional alphabets @@ -6591,34 +2021,162 @@ name=true]{% % \end{macrocode} %\end{macro} % +% This code is only required for xindy: +% \begin{macrocode} +\ifglsxindy +% \end{macrocode} +% +%\begin{macro}{\@gls@xdy@locationlist} +%\changes{3.0}{2011/04/02}{new} +% List of predefined location names. +% \begin{macrocode} + \newcommand*{\@gls@xdy@locationlist}{% + roman-page-numbers,% + Roman-page-numbers,% + arabic-page-numbers,% + alpha-page-numbers,% + Alpha-page-numbers,% + Appendix-page-numbers,% + arabic-section-numbers% + } +% \end{macrocode} +%\end{macro} +% Each location class \meta{name} has the format stored in +% \cs{@gls@xdy@Lclass@}\meta{name}. Set up predefined +% formats. +% +%\begin{macro}{\@gls@xdy@Lclass@roman-page-numbers} +% Lower case Roman numerals (i, ii, \ldots). In the event that +% \ics{roman} has been redefined to produce a fancy form of +% roman numerals, attempt to work out how it will be written +% to the output file. +% \begin{macrocode} + \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 + \expandafter + \edef\csname @gls@xdy@Lclass@roman-page-numbers\endcsname{% + \string"roman-numbers-lowercase\string"% + }% + \else + \expandafter + \edef\csname @gls@xdy@Lclass@roman-page-numbers\endcsname{ + :sep \string"\@gls@roman\string"% + }% + \fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@xdy@Lclass@Roman-page-numbers} +% Upper case Roman numerals (I, II, \ldots). +% \begin{macrocode} + \expandafter\def\csname @gls@xdy@Lclass@Roman-page-numbers\endcsname{% + \string"roman-numbers-uppercase\string"% + }% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@xdy@Lclass@arabic-page-numbers} +% Arabic numbers (1, 2, \ldots). +% \begin{macrocode} + \expandafter\def\csname @gls@xdy@Lclass@arabic-page-numbers\endcsname{% + \string"arabic-numbers\string"% + }% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@xdy@Lclass@alpha-page-numbers} +% Lower case alphabetical (a, b, \ldots). +% \begin{macrocode} + \expandafter\def\csname @gls@xdy@Lclass@alpha-page-numbers\endcsname{% + \string"alpha\string"% + }% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@xdy@Lclass@Alpha-page-numbers} +% Upper case alphabetical (A, B, \ldots). +% \begin{macrocode} + \expandafter\def\csname @gls@xdy@Lclass@Alpha-page-numbers\endcsname{% + \string"ALPHA\string"% + }% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@xdy@Lclass@Appendix-page-numbers} +% Appendix style locations (e.g.\ A-1, A-2, \ldots, B-1, B-2, +% \ldots). The separator is given by \ics{@glsAlphacompositor}. +% \begin{macrocode} + \expandafter\def\csname @gls@xdy@Lclass@Appendix-page-numbers\endcsname{% + \string"ALPHA\string" + :sep \string"\@glsAlphacompositor\string" + \string"arabic-numbers\string"% + } +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@gls@xdy@Lclass@arabic-section-numbers} +% Section number style locations (e.g.\ 1.1, 1.2, \ldots). The +% compositor is given by \ics{glscompositor}. +% \begin{macrocode} + \expandafter\def\csname @gls@xdy@Lclass@arabic-section-numbers\endcsname{% + \string"arabic-numbers\string" + :sep \string"\glscompositor\string" + \string"arabic-numbers\string"% + }% +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\@xdyuserlocationdefs} % List of additional location definitions % (separated by "^^J") % \begin{macrocode} -\def\@xdyuserlocationdefs{} + \def\@xdyuserlocationdefs{} % \end{macrocode} %\end{macro} %\begin{macro}{\@xdyuserlocationnames} % List of additional user location names % \begin{macrocode} -\def\@xdyuserlocationnames{} + \def\@xdyuserlocationnames{} % \end{macrocode} %\end{macro} % +% End of xindy-only block: +% \begin{macrocode} +\fi +% \end{macrocode} +% %\begin{macro}{\GlsAddXdyLocation} -% \cs{GlsAddXdyLocation}\marg{name}\marg{definition} +% \cs{GlsAddXdyLocation}\oarg{prefix-loc}\marg{name}\marg{definition} % Define a new location called \meta{name}. The definition % must use \app{xindy} syntax. (Note that this doesn't % check to see if the location is already defined. That is left % to \app{xindy} to complain about.) % \begin{macrocode} \ifglsxindy - \newcommand*{\GlsAddXdyLocation}[2]{% - \edef\@xdyuserlocationdefs{% - \@xdyuserlocationdefs ^^J% - (define-location-class \string"#1\string"^^J\space\space - \space(#2)) - }% + \newcommand*{\GlsAddXdyLocation}[3][]{% + \def\@gls@tmp{#1}% + \ifx\@gls@tmp\@empty + \edef\@xdyuserlocationdefs{% + \@xdyuserlocationdefs ^^J% + (define-location-class \string"#2\string"^^J\space\space + \space(:sep \string"{}\glsopenbrace\string" #3 + :sep \string"\glsclosebrace\string")) + }% + \else + \edef\@xdyuserlocationdefs{% + \@xdyuserlocationdefs ^^J% + (define-location-class \string"#2\string"^^J\space\space + \space(:sep "\glsopenbrace" + #1 + :sep "\glsclosebrace\glsopenbrace" #3 + :sep "\glsclosebrace")) + }% + \fi \edef\@xdyuserlocationnames{% \@xdyuserlocationnames^^J\space\space\space \string"#1\string"}% @@ -6880,7 +2438,7 @@ name=true]{% \def\@xdylettergroups{} \fi \fi -% \end{macrocode} +% \end{macrocode} %\end{macro} % %\begin{macro}{\GlsAddLetterGroup} @@ -6944,9 +2502,11 @@ name=true]{% % To check to see if a glossary exists use:\\[10pt] %\cs{ifglossaryexists}\marg{type}\marg{true-text}\marg{false-text}\\[10pt] %where \meta{type} is the glossary's label. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand{\ifglossaryexists}[3]{% - \@ifundefined{@glotype@#1@out}{#3}{#2}% + \ifcsundef{@glotype@#1@out}{#3}{#2}% } % \end{macrocode} %\end{macro} @@ -6955,9 +2515,12 @@ name=true]{% % To check to see if a glossary entry has been defined use:\\[10pt] % \cs{ifglsentryexists}\marg{label}\marg{true text}\marg{false text}\\[10pt] %where \meta{label} is the entry's label. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand{\ifglsentryexists}[3]{% -\@ifundefined{glo@#1@name}{#3}{#2}} + \ifcsundef{glo@#1@name}{#3}{#2}% +} % \end{macrocode} %\end{macro} % @@ -7072,20 +2635,34 @@ name=true]{% %\changes{2.04}{2009 November 10}{added check to determine if % \cs{gls@\meta{type}@display} and \cs{gls@\meta{type}@displayfirst} % have been defined.} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} +% \begin{macrocode} + \ifcsundef{gls@#2@display}% + {% + \expandafter\gdef\csname gls@#2@display\endcsname{\glsdisplay}% + }% + {}% + \ifcsundef{gls@#2@displayfirst}% + {% + \expandafter\gdef\csname gls@#2@displayfirst\endcsname{% + \glsdisplayfirst + }% + }% + {}% +% \end{macrocode} +% Define sort counter if required: +%\changes{3.0}{2011/04/02}{added \cs{@gls@defsortcount}} % \begin{macrocode} - \@ifundefined{gls@#2@display}{% - \expandafter\gdef\csname gls@#2@display\endcsname{% - \glsdisplay}}{}% - \@ifundefined{gls@#2@displayfirst}{% - \expandafter\gdef\csname gls@#2@displayfirst\endcsname{% - \glsdisplayfirst}}{}% + \@gls@defsortcount{#2}% % \end{macrocode} % Find out if the final optional argument has been specified, and % use it to set the counter associated with this glossary. (Uses % \ics{glscounter} if no optional argument is present.) % \begin{macrocode} \@ifnextchar[{\@gls@setcounter{#2}}% - {\@gls@setcounter{#2}[\glscounter]}}} + {\@gls@setcounter{#2}[\glscounter]}}% +} % \end{macrocode} %\end{macro} %\begin{macro}{\altnewglossary} @@ -7120,7 +2697,13 @@ name=true]{% %\begin{macro}{\@gls@setcounter} % \begin{macrocode} \def\@gls@setcounter#1[#2]{% -\expandafter\def\csname @glotype@#1@counter\endcsname{#2}% + \expandafter\def\csname @glotype@#1@counter\endcsname{#2}% +% \end{macrocode} +% Add counter to xindy list, if not already added: +% \begin{macrocode} + \ifglsxindy + \GlsAddXdyCounters{#2}% + \fi } % \end{macrocode} %\end{macro} @@ -7293,21 +2876,35 @@ name=true]{% %\begin{key}{counter} % The \gloskey{counter} key specifies the name of the counter % associated with this glossary entry: +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \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}}} + \ifcsundef{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}% + }% +} % \end{macrocode} %\end{key} % %\begin{key}{see} % The \gloskey{see} key specifies a list of cross-references % \changes{1.17}{2008 December 26}{new} +% \changes{3.0}{2011/04/02}{added \cs{@glo@seeautonumberlist}} % \begin{macrocode} \define@key{glossentry}{see}{% -\def\@glo@see{#1}} + \def\@glo@see{#1}% + \@glo@seeautonumberlist +} % \end{macrocode} %\end{key} % @@ -7322,12 +2919,18 @@ counter as its value}}{% %\end{key} % %\begin{key}{nonumberlist} -% The \gloskey{nonumberlist} key suppresses the number list +% The \gloskey{nonumberlist} key suppresses or activates the number list % for the given entry. % \changes{1.17}{2008 December 26}{new} +%\changes{3.0}{2011/04/02}{now boolean} % \begin{macrocode} -\define@key{glossentry}{nonumberlist}[none]{% -\def\@glo@prefix{\glsnonextpages}} +\define@choicekey{glossentry}{nonumberlist}[\val\nr]{true,false}[true]{% + \ifcase\nr\relax + \def\@glo@prefix{\glsnonextpages}% + \else + \def\@glo@prefix{\glsnextpages}% + \fi +} % \end{macrocode} %\end{key} % @@ -7380,6 +2983,48 @@ counter as its value}}{% % \end{macrocode} %\end{key} % +%\begin{key}{short} +%\changes{3.0}{2011/04/02}{new} +% This key is provided for use by \ics{newacronym}. It's not +% designed for general purpose use, so isn't described in the user +% manual. +% \begin{macrocode} +\define@key{glossentry}{short}{% + \def\@glo@short{#1}% +} +% \end{macrocode} +%\end{key} +% +%\begin{key}{shortplural} +%\changes{3.0}{2011/04/02}{new} +% This key is provided for use by \ics{newacronym}. +% \begin{macrocode} +\define@key{glossentry}{shortplural}{% + \def\@glo@shortpl{#1}% +} +% \end{macrocode} +%\end{key} +% +%\begin{key}{long} +%\changes{3.0}{2011/04/02}{new} +% This key is provided for use by \ics{newacronym}. +% \begin{macrocode} +\define@key{glossentry}{long}{% + \def\@glo@long{#1}% +} +% \end{macrocode} +%\end{key} +% +%\begin{key}{longplural} +%\changes{3.0}{2011/04/02}{new} +% This key is provided for use by \ics{newacronym}. +% \begin{macrocode} +\define@key{glossentry}{longplural}{% + \def\@glo@longpl{#1}% +} +% \end{macrocode} +%\end{key} +% %\begin{macro}{\@glsnoname} % \changes{1.17}{2008 December 26}{new} % Define command to generate error if \gloskey{name} key is missing. @@ -7419,8 +3064,10 @@ counter as its value}}{% % There are two required fields in \meta{key-val list}: % \gloskey{name} (or \gloskey{parent}) and % \gloskey{description}. (See above.) +%\changes{3.0}{2011/04/02}{replaced \cs{DeclareRobustCommand} with +%\cs{newrobustcmd}} % \begin{macrocode} -\DeclareRobustCommand{\newglossaryentry}[2]{% +\newrobustcmd{\newglossaryentry}[2]{% % \end{macrocode} % Check to see if this glossary entry has already been defined: % \begin{macrocode} @@ -7506,6 +3153,13 @@ counter as its value}}{% \def\@glo@userv{}% \def\@glo@uservi{}% % \end{macrocode} +%\changes{3.0}{2011/04/02}{added short and long keys} +% \begin{macrocode} +\def\@glo@short{}% +\def\@glo@shortpl{}% +\def\@glo@long{}% +\def\@glo@longpl{}% +% \end{macrocode} % Add start hook in case another package wants to add extra keys. % \begin{macrocode} \@newglossaryentryprehook @@ -7516,13 +3170,19 @@ counter as its value}}{% % \end{macrocode} % Check to see if this glossary type has been defined, if it has, % add this label to the relevant list, otherwise generate an error. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@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},}% +\ifcsundef{glolist@\@glo@type}% +{% + \PackageError{glossaries}% + {Glossary type '\@glo@type' has not been defined}% + {You need to define a new glossary type, before making entries + in it}% +}% +{% + \protected@edef\@glolist@{\csname glolist@\@glo@type\endcsname}% + \expandafter\xdef\csname glolist@\@glo@type\endcsname{\@glolist@{#1},}% }% % \end{macrocode} % Initialise level to 0. @@ -7639,6 +3299,14 @@ in it}}{% \protected@xdef\csname glo@#1@userv\endcsname{\@glo@userv}% \expandafter \protected@xdef\csname glo@#1@uservi\endcsname{\@glo@uservi}% +\expandafter + \protected@xdef\csname glo@#1@short\endcsname{\@glo@short}% +\expandafter + \protected@xdef\csname glo@#1@shortpl\endcsname{\@glo@shortpl}% +\expandafter + \protected@xdef\csname glo@#1@long\endcsname{\@glo@long}% +\expandafter + \protected@xdef\csname glo@#1@longpl\endcsname{\@glo@longpl}% \@gls@sanitizename \expandafter\protected@xdef\csname glo@#1@name\endcsname{\@glo@name}% % \end{macrocode} @@ -7655,18 +3323,12 @@ in it}}{% \expandafter\protected@xdef\csname glo@#1@desc\endcsname{\@glo@desc}% \expandafter\protected@xdef\csname glo@#1@descplural\endcsname{\@glo@descplural}% % \end{macrocode} -% Sanitize sort value: %\changes{1.18}{2009 January 14}{moved sort sanitization to % 'newglossaryentry} -% \begin{macrocode} -\ifx\@glo@sort\@glsdefaultsort - \let\@glo@sort\@glo@name -\fi -\@onelevel@sanitize\@glo@sort -% \end{macrocode} +%\changes{3.0}{2011/04/02}{added \cs{@gls@defsort}} % Set the sort key for this entry: % \begin{macrocode} -\expandafter\protected@xdef\csname glo@#1@sort\endcsname{\@glo@sort}% +\@gls@defsort{\@glo@type}{#1}% % \end{macrocode} %\changes{1.15}{2008 August 15}{check for '@glo@text in symbol}% % \begin{macrocode} @@ -7706,7 +3368,7 @@ in it}}{% % format when entry % is defined}% % \begin{macrocode} - \@glo@storeentry{#1}% + \do@glo@storeentry{#1}% % \end{macrocode} % Add end hook in case another package wants to add extra keys. % \begin{macrocode} @@ -8081,12 +3743,23 @@ in it}}{% % The following keys can be used in the first optional % argument. The \gloskey[glslink]{counter} key checks that the % value is the name of a valid counter. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \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}}} + \ifcsundef{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}% + }% +} % \end{macrocode} % The value of the \gloskey[glslink]{format} key should be the name of a % command (without the initial backslash) that has a single mandatory @@ -8162,7 +3835,7 @@ counter as its value}}{% % \begin{macrocode} \def\@gls@link[#1]#2#3{% % \end{macrocode} -%\changes{2.03}{2009 Sep 23}{Moved entry existance check to +%\changes{2.03}{2009 Sep 23}{Moved entry existence check to % avoid } %\changes{2.03}{2009 Sep 23}{added \cs{leavevmode}} % Inserting \cs{leavevmode} suggested by Donald~Arseneau (avoids @@ -8174,8 +3847,16 @@ counter as its value}}{% \edef\@gls@counter{\csname glo@#2@counter\endcsname}% \KV@glslink@hypertrue \setkeys{glslink}{#1}% - \edef\theglsentrycounter{\expandafter\noexpand - \csname the\@gls@counter\endcsname}% +% \end{macrocode} +% Store the entry's counter in \cs{theglsentrycounter} +%\changes{3.0}{2011/04/02}{added \cs{@gls@saveentrycounter}} +% \begin{macrocode} + \@gls@saveentrycounter +% \end{macrocode} +%\changes{3.0}{2011/04/02}{added \cs{@gls@setsort}} +% Define sort key if necessary: +% \begin{macrocode} + \@gls@setsort{#2}% % \end{macrocode} %\changes{2.01}{2009 May 30}{moved \cs{@do@wrglossary} before term is displayed % to prevent unwanted whatsit} @@ -8189,19 +3870,94 @@ counter as its value}}{% } % \end{macrocode} %\end{macro} +% +%\begin{macro}{\@gls@saveentrycounter} +%\changes{3.0}{2011/04/02}{new} +% Need to check if using \ctr{equation} counter in \env{align} +% environment: +% \begin{macrocode} +\newcommand*{\@gls@saveentrycounter}{% + \def\@gls@Hcounter{}% +% \end{macrocode} +% Are we using \ctr{equation} counter? +% \begin{macrocode} + \ifthenelse{\equal{\@gls@counter}{equation}}% + { +% \end{macrocode} +% If we in \env{align} environment, \cs{xatlevel@} will be defined. +% (Can't test for \cs{@currenvir} as may be inside an inner +% environment.) +% \begin{macrocode} + \ifcsundef{xatlevel@}% + {% + \edef\theglsentrycounter{\expandafter\noexpand + \csname the\@gls@counter\endcsname}% + }% + {% + \ifx\xatlevel@\@empty + \edef\theglsentrycounter{\expandafter\noexpand + \csname the\@gls@counter\endcsname}% + \else + \savecounters@ + \advance\c@equation by 1\relax + \edef\theglsentrycounter{\csname the\@gls@counter\endcsname}% +% \end{macrocode} +% Check if hyperref version of this counter +% \begin{macrocode} + \ifcsundef{theH\@gls@counter}% + {% + \def\@gls@Hcounter{\theglsentrycounter}% + }% + {% + \def\@gls@Hcounter{\csname theH\@gls@counter\endcsname}% + }% + \protected@edef\theHglsentrycounter{\@gls@Hcounter}% + \restorecounters@ + \fi + }% + }% + {% +% \end{macrocode} +% Not using \ctr{equation} counter so no special measures: +% \begin{macrocode} + \edef\theglsentrycounter{\expandafter\noexpand + \csname the\@gls@counter\endcsname}% + }% +% \end{macrocode} +% Check if hyperref version of this counter +% \begin{macrocode} + \ifx\@gls@Hcounter\@empty + \ifcsundef{theH\@gls@counter}% + {% + \def\theHglsentrycounter{\theglsentrycounter}% + }% + {% + \protected@edef\theHglsentrycounter{\expandafter\noexpand + \csname theH\@gls@counter\endcsname}% + }% + \fi +} +% \end{macrocode} +%\end{macro} +% %\changes{1.01}{2007 May 17}{Added range facility in format key}% +%\begin{macro}{\@set@glo@numformat} % Set the formatting information in the format required by % \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. -%\begin{macro}{\@set@glo@numformat} -% \begin{macrocode} -\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} +% name of the counter used to indicate the location, the third +% argument is a control sequence which stores the required format +% and the fourth argument (new to v3.0) is the hyper-prefix. +%\changes{3.0}{2010/03/31}{added 4th argument} +% \begin{macrocode} +\def\@set@glo@numformat#1#2#3#4{% + \expandafter\@glo@check@mkidxrangechar#3\@nil + \protected@edef#1{% + \@glo@prefix setentrycounter[#4]{#2}% + \expandafter\string\csname\@glo@suffix\endcsname + }% + \@gls@checkmkidxchars#1% +} % \end{macrocode} %\end{macro} % Check to see if the given string starts with a ( or ). If it @@ -8601,10 +4357,14 @@ counter as its value}}{% % If \ics{hyperlink} is not defined \cs{@glslink} % ignores its first argument and just does the second argument, % otherwise it is equivalent to \ics{hyperlink}. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{hyperlink}{% +\ifcsundef{hyperlink}% +{% \gdef\@glslink#1#2{#2}% -}{% +}% +{% \gdef\@glslink#1#2{\hyperlink{#1}{#2}}% } % \end{macrocode} @@ -8619,12 +4379,15 @@ counter as its value}}{% % scroll off the top of the page} % \begin{macrocode} \newlength\gls@tmplen -\@ifundefined{hypertarget}{% +\ifcsundef{hypertarget}% +{% \gdef\@glstarget#1#2{#2}% -}{% - \gdef\@glstarget#1#2{% +}% +{% + \gdef\@glstarget#1#2{% \settoheight{\gls@tmplen}{#2}% - \raisebox{\gls@tmplen}{\hypertarget{#1}{}}#2}% + \raisebox{\gls@tmplen}{\hypertarget{#1}{}}#2% + }% } % \end{macrocode} %\end{macro} @@ -10843,6 +6606,477 @@ counter as its value}}{% } % \end{macrocode} % +% Now deal with acronym related keys. First the short form: +%\begin{macro}{\acrshort} +% \begin{macrocode} +\newcommand*{\acrshort}{\@ifstar\s@acrshort\ns@acrshort} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@acrshort}[2][]{% + \new@ifnextchar[{\@acrshort{hyper=false,#1}{#2}}% + {\@acrshort{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@acrshort}[2][]{% + \new@ifnextchar[{\@acrshort{#1}{#2}}{\@acrshort{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@acrshort#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentryshort{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\@glo@text}#3}% + }% +} +% \end{macrocode} +% +%\begin{macro}{\Acrshort} +% \begin{macrocode} +\newcommand*{\Acrshort}{\@ifstar\s@Acrshort\ns@Acrshort} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@Acrshort}[2][]{% + \new@ifnextchar[{\@Acrshort{hyper=false,#1}{#2}}% + {\@Acrshort{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@Acrshort}[2][]{% + \new@ifnextchar[{\@Acrshort{#1}{#2}}{\@Acrshort{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@Acrshort#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentryshort{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}% + {% + \acronymfont{\expandafter\makefirstuc\expandafter{\@glo@text}}#3% + }% + }% +} +% \end{macrocode} +% +%\begin{macro}{\ACRshort} +% \begin{macrocode} +\newcommand*{\ACRshort}{\@ifstar\s@ACRshort\ns@ACRshort} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@ACRshort}[2][]{% + \new@ifnextchar[{\@ACRshort{hyper=false,#1}{#2}}% + {\@ACRshort{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@ACRshort}[2][]{% + \new@ifnextchar[{\@ACRshort{#1}{#2}}{\@ACRshort{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@ACRshort#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentryshort{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\MakeUppercase{\@glo@text#3}}}% + }% +} +% \end{macrocode} +% +% Short plural: +%\begin{macro}{\acrshortpl} +% \begin{macrocode} +\newcommand*{\acrshortpl}{\@ifstar\s@acrshortpl\ns@acrshortpl} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@acrshortpl}[2][]{% + \new@ifnextchar[{\@acrshortpl{hyper=false,#1}{#2}}% + {\@acrshortpl{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@acrshortpl}[2][]{% + \new@ifnextchar[{\@acrshortpl{#1}{#2}}{\@acrshortpl{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@acrshortpl#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentryshortpl{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\@glo@text}#3}% + }% +} +% \end{macrocode} +% +%\begin{macro}{\Acrshortpl} +% \begin{macrocode} +\newcommand*{\Acrshortpl}{\@ifstar\s@Acrshortpl\ns@Acrshortpl} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@Acrshortpl}[2][]{% + \new@ifnextchar[{\@Acrshortpl{hyper=false,#1}{#2}}% + {\@Acrshortpl{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@Acrshortpl}[2][]{% + \new@ifnextchar[{\@Acrshortpl{#1}{#2}}{\@Acrshortpl{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@Acrshortpl#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentryshortpl{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}% + {% + \acronymfont{\expandafter\makefirstuc\expandafter{\@glo@text}}#3% + }% + }% +} +% \end{macrocode} +% +%\begin{macro}{\ACRshortpl} +% \begin{macrocode} +\newcommand*{\ACRshortpl}{\@ifstar\s@ACRshortpl\ns@ACRshortpl} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@ACRshortpl}[2][]{% + \new@ifnextchar[{\@ACRshortpl{hyper=false,#1}{#2}}% + {\@ACRshortpl{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@ACRshortpl}[2][]{% + \new@ifnextchar[{\@ACRshortpl{#1}{#2}}{\@ACRshortpl{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@ACRshortpl#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentryshortpl{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\MakeUppercase{\@glo@text#3}}}% + }% +} +% \end{macrocode} +% +%\begin{macro}{\acrlong} +% \begin{macrocode} +\newcommand*{\acrlong}{\@ifstar\s@acrlong\ns@acrlong} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@acrlong}[2][]{% + \new@ifnextchar[{\@acrlong{hyper=false,#1}{#2}}% + {\@acrlong{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@acrlong}[2][]{% + \new@ifnextchar[{\@acrlong{#1}{#2}}{\@acrlong{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@acrlong#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentrylong{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\@glo@text#3}% + }% +} +% \end{macrocode} +% +%\begin{macro}{\Acrlong} +% \begin{macrocode} +\newcommand*{\Acrlong}{\@ifstar\s@Acrlong\ns@Acrlong} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@Acrlong}[2][]{% + \new@ifnextchar[{\@Acrlong{hyper=false,#1}{#2}}% + {\@Acrlong{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@Acrlong}[2][]{% + \new@ifnextchar[{\@Acrlong{#1}{#2}}{\@Acrlong{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@Acrlong#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentrylong{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}% + {% + \expandafter\makefirstuc\expandafter{\@glo@text}#3% + }% + }% +} +% \end{macrocode} +% +%\begin{macro}{\ACRlong} +% \begin{macrocode} +\newcommand*{\ACRlong}{\@ifstar\s@ACRlong\ns@ACRlong} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@ACRlong}[2][]{% + \new@ifnextchar[{\@ACRlong{hyper=false,#1}{#2}}% + {\@ACRlong{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@ACRlong}[2][]{% + \new@ifnextchar[{\@ACRlong{#1}{#2}}{\@ACRlong{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@ACRlong#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentrylong{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}% + }% +} +% \end{macrocode} +% +% Short plural: +%\begin{macro}{\acrlongpl} +% \begin{macrocode} +\newcommand*{\acrlongpl}{\@ifstar\s@acrlongpl\ns@acrlongpl} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@acrlongpl}[2][]{% + \new@ifnextchar[{\@acrlongpl{hyper=false,#1}{#2}}% + {\@acrlongpl{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@acrlongpl}[2][]{% + \new@ifnextchar[{\@acrlongpl{#1}{#2}}{\@acrlongpl{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@acrlongpl#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentrylongpl{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\@glo@text#3}% + }% +} +% \end{macrocode} +% +%\begin{macro}{\Acrlongpl} +% \begin{macrocode} +\newcommand*{\Acrlongpl}{\@ifstar\s@Acrlongpl\ns@Acrlongpl} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@Acrlongpl}[2][]{% + \new@ifnextchar[{\@Acrlongpl{hyper=false#1}{#2}}% + {\@Acrlongpl{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@Acrlongpl}[2][]{% + \new@ifnextchar[{\@Acrlongpl{#1}{#2}}{\@Acrlongpl{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@Acrlongpl#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentrylongpl{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}% + {% + \expandafter\makefirstuc\expandafter{\@glo@text}#3% + }% + }% +} +% \end{macrocode} +% +%\begin{macro}{\ACRlongpl} +% \begin{macrocode} +\newcommand*{\ACRlongpl}{\@ifstar\s@ACRlongpl\ns@ACRlongpl} +% \end{macrocode} +%\end{macro} +% Define the starred form: +% \begin{macrocode} +\newcommand*{\s@ACRlongpl}[2][]{% + \new@ifnextchar[{\@ACRlongpl{hyper=false,#1}{#2}}% + {\@ACRlongpl{hyper=false,#1}{#2}[]}% +} +% \end{macrocode} +% Defined the un-starred form. Need to determine if there is +% a final optional argument +% \begin{macrocode} +\newcommand*{\ns@ACRlongpl}[2][]{% + \new@ifnextchar[{\@ACRlongpl{#1}{#2}}{\@ACRlongpl{#1}{#2}[]}% +} +% \end{macrocode} +% Read in the final optional argument: +% \begin{macrocode} +\def\@ACRlongpl#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \protected@edef\@glo@text{\glsentrylongpl{#2}}% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text#3}}% + }% +} +% \end{macrocode} +% % \subsubsection{Displaying entry details without adding % information to the glossary} %\label{sec:code:glsnolink} @@ -11126,6 +7360,108 @@ counter as its value}}{% % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsentryshort} +% Get the short key (as specified by the +% \gloskey{short} the entry was defined). The argument +% is the label associated with the entry. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\glsentryshort}[1]{\csname glo@#1@short\endcsname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Glsentryshort} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\Glsentryshort}[1]{% +\protected@edef\@glo@text{\csname glo@#1@short\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsentryshortpl} +% Get the short plural key (as specified by the +% \gloskey{shortplural} the entry was defined). The argument +% is the label associated with the entry. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\glsentryshortpl}[1]{\csname glo@#1@shortpl\endcsname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Glsentryshortpl} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\Glsentryshortpl}[1]{% +\protected@edef\@glo@text{\csname glo@#1@shortpl\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsentrylong} +% Get the long key (as specified by the +% \gloskey{long} the entry was defined). The argument +% is the label associated with the entry. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\glsentrylong}[1]{\csname glo@#1@long\endcsname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Glsentrylong} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\Glsentrylong}[1]{% +\protected@edef\@glo@text{\csname glo@#1@long\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsentrylongpl} +% Get the long plural key (as specified by the +% \gloskey{longplural} the entry was defined). The argument +% is the label associated with the entry. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\glsentrylongpl}[1]{\csname glo@#1@longpl\endcsname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Glsentrylongpl} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\Glsentrylongpl}[1]{% +\protected@edef\@glo@text{\csname glo@#1@longpl\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +% \end{macrocode} +%\end{macro} +% +% Short cut macros to access full form: +%\begin{macro}{\glsentryfull} +% \begin{macrocode} +\newcommand*{\glsentryfull}[1]{% + \glsentrylong{#1}\space(\glsentryshort{#1})% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Glsentryfull} +% \begin{macrocode} +\newcommand*{\Glsentryfull}[1]{% + \Glsentrylong{#1}\space(\glsentryshort{#1})% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsentryfullpl} +% \begin{macrocode} +\newcommand*{\glsentryfullpl}[1]{% + \glsentrylongpl{#1}\space(\glsentryshort{#1})% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Glsentryfullpl} +% \begin{macrocode} +\newcommand*{\Glsentryfullpl}[1]{% + \Glsentrylongpl{#1}\space(\glsentryshort{#1})% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glshyperlink} % Provide a hyperlink to a glossary entry without adding information % to the glossary file. The entry needs to be added using a @@ -11134,8 +7470,10 @@ counter as its value}}{% % the link text. The entry name is used by default. The second % argument is the entry label. %\changes{1.17}{2008 December 26}{new} +%\changes{3.0}{2011/04/02}{changed default from \cs{glsentryname} +%to \cs{glsentrytext}} % \begin{macrocode} -\newcommand*{\glshyperlink}[2][\glsentryname{\@glo@label}]{% +\newcommand*{\glshyperlink}[2][\glsentrytext{\@glo@label}]{% \def\@glo@label{#2}% \@glslink{glo:#2}{#1}} % \end{macrocode} @@ -11169,14 +7507,19 @@ counter as its value}}{% %\changes{2.04}{2009 November 10}{fixed bug that ignored counter} % \begin{macrocode} \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}% -}} + \glsdoifexists{#2}% + {% + \def\@glsnumberformat{glsnumberformat}% + \edef\@gls@counter{\csname glo@#2@counter\endcsname}% + \setkeys{glossadd}{#1}% +% \end{macrocode} +% Store the entry's counter in \cs{theglsentrycounter} +%\changes{3.0}{2011/04/02}{added \cs{@gls@saveentrycounter}} +% \begin{macrocode} + \@gls@saveentrycounter + \@do@wrglossary{#2}% + }% +} % \end{macrocode} %\end{macro} %\vskip5pt @@ -11288,140 +7631,115 @@ counter as its value}}{% \fi % \end{macrocode} %\end{macro} -% + %\begin{macro}{\writeist} %\changes{1.17}{2008 December 26}{added xindy support} %\changes{1.01}{2007 May 17}{Added spaces after 'delimN and 'delimR in ist file}% +%\changes{3.0}{2011/04/02}{modified to support new format} % \begin{macrocode} -\newwrite\istfile \ifglsxindy % \end{macrocode} % Code to use if \app{xindy} is required. % \begin{macrocode} \def\writeist{% % \end{macrocode} -% Open the style file +% Update attributes list % \begin{macrocode} - \openout\istfile=\istfilename + \@gls@addpredefinedattributes +% \end{macrocode} +% Open the file. +% \begin{macrocode} + \openout\glswrite=\istfilename % \end{macrocode} % Write header comment at the start of the file % \begin{macrocode} - \write\istfile{;; xindy style file created by the glossaries - package}% - \write\istfile{;; for document '\jobname' on - \the\year-\the\month-\the\day}% + \write\glswrite{;; xindy style file created by the glossaries + package}% + \write\glswrite{;; for document '\jobname' on + \the\year-\the\month-\the\day}% % \end{macrocode} % Specify the required styles % \begin{macrocode} - \write\istfile{^^J; required styles^^J} + \write\glswrite{^^J; required styles^^J} \@for\@xdystyle:=\@xdyrequiredstyles\do{% - \ifx\@xdystyle\@empty - \else - \protected@write\istfile{}{(require - \string"\@xdystyle.xdy\string")}% - \fi + \ifx\@xdystyle\@empty + \else + \protected@write\glswrite{}{(require + \string"\@xdystyle.xdy\string")}% + \fi }% % \end{macrocode} % List the allowed attributes (possible values used by the % \gloskey{format} key) % \begin{macrocode} - \write\istfile{^^J% + \write\glswrite{^^J% ; list of allowed attributes (number formats)^^J}% - \write\istfile{(define-attributes ((\@xdyattributes)))}% + \write\glswrite{(define-attributes ((\@xdyattributes)))}% % \end{macrocode} % Define any additional alphabets % \begin{macrocode} - \write\istfile{^^J; user defined alphabets^^J}% - \write\istfile{\@xdyuseralphabets}% + \write\glswrite{^^J; user defined alphabets^^J}% + \write\glswrite{\@xdyuseralphabets}% % \end{macrocode} % Define location classes. % \begin{macrocode} - \write\istfile{^^J; location class definitions^^J}% -% \end{macrocode} -% Lower case Roman numerals (i, ii, \ldots). In the event that -% \ics{roman} has been redefined to produce a fancy form of -% roman numerals, attempt to work out how it will be written -% to the output file. -% \begin{macrocode} - \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 -% \end{macrocode} -% Upper case Roman numerals (I, II, \ldots) -% \begin{macrocode} - \write\istfile{(define-location-class - \string"Roman-page-numbers\string"^^J\space\space\space - (\string"roman-numbers-uppercase\string") - :min-range-length \@glsminrange)}% -% \end{macrocode} -% Arabic numbers (1, 2, \ldots) -% \begin{macrocode} - \write\istfile{(define-location-class - \string"arabic-page-numbers\string"^^J\space\space\space - (\string"arabic-numbers\string") - :min-range-length \@glsminrange)}% -% \end{macrocode} -% Lower case alphabetical locations (a, b, \ldots) -% \begin{macrocode} - \write\istfile{(define-location-class - \string"alpha-page-numbers\string"^^J\space\space\space - (\string"alpha\string") - :min-range-length \@glsminrange)}% + \write\glswrite{^^J; location class definitions^^J}% % \end{macrocode} -% Upper case alphabetical locations (A, B, \ldots) +% As from version 3.0, locations are now specified as +% \marg{Hprefix}\marg{number}, so need to add all possible +% combinations of location types. % \begin{macrocode} - \write\istfile{(define-location-class - \string"Alpha-page-numbers\string"^^J\space\space\space - (\string"ALPHA\string") - :min-range-length \@glsminrange)}% + \@for\@gls@classI:=\@gls@xdy@locationlist\do{% % \end{macrocode} -% Appendix style locations (e.g.\ A-1, A-2, \ldots, B-1, B-2, -% \ldots). The separator is given by \ics{@glsAlphacompositor}. +% Case were \meta{Hprefix} is empty: % \begin{macrocode} - \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)}% + \protected@write\glswrite{}{(define-location-class + \string"\@gls@classI\string"^^J\space\space\space + ( + :sep "{}{" + \csname @gls@xdy@Lclass@\@gls@classI\endcsname\space + :sep "}" + ) + ^^J\space\space\space + :min-range-length \@glsminrange^^J% + ) + }% % \end{macrocode} -% Section number style locations (e.g.\ 1.1, 1.2, \ldots). The -% compositor is given by \ics{glscompositor}. +% Nested iteration over all classes: % \begin{macrocode} - \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)}% + {% + \@for\@gls@classII:=\@gls@xdy@locationlist\do{% + \protected@write\glswrite{}{(define-location-class + \string"\@gls@classII-\@gls@classI\string" + ^^J\space\space\space + ( + :sep "{" + \csname @gls@xdy@Lclass@\@gls@classII\endcsname\space + :sep "}{" + \csname @gls@xdy@Lclass@\@gls@classI\endcsname\space + :sep "}" + ) + ^^J\space\space\space + :min-range-length \@glsminrange^^J% + ) + }% + }% + }% + }% % \end{macrocode} -% User defined location classes. +% User defined location classes (needs checking for new location format). % \begin{macrocode} - \write\istfile{^^J; user defined location classes}% - \write\istfile{\@xdyuserlocationdefs}% + \write\glswrite{^^J; user defined location classes}% + \write\glswrite{\@xdyuserlocationdefs}% % \end{macrocode} % 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 % \app{xindy} won't recognise.) % \begin{macrocode} - \write\istfile{^^J; define cross-reference class^^J}% - \write\istfile{(define-crossref-class \string"see\string" - :unverified )}% + \write\glswrite{^^J; define cross-reference class^^J}% + \write\glswrite{(define-crossref-class \string"see\string" + :unverified )}% % \end{macrocode} % Define how cross-references should be displayed. This adds an % empty set of braces after the cross-referencing information @@ -11429,59 +7747,91 @@ counter as its value}}{% % gets ignored. (When using \app{makeindex} this final argument % contains the location information which is not required.) % \begin{macrocode} - \write\istfile{(markup-crossref-list - :class \string"see\string"^^J\space\space\space - :open \string"\string\glsseeformat\string" - :close \string"{}\string")}% + \write\glswrite{(markup-crossref-list + :class \string"see\string"^^J\space\space\space + :open \string"\string\glsseeformat\string" + :close \string"{}\string")}% % \end{macrocode} % List the order to sort the classes. % \begin{macrocode} - \write\istfile{^^J; define the order of the location classes}% - \write\istfile{(define-location-class-order - (\@xdylocationclassorder))}% + \write\glswrite{^^J; define the order of the location classes}% + \write\glswrite{(define-location-class-order + (\@xdylocationclassorder))}% % \end{macrocode} % Specify what to write to the start and end of the glossary file. % \begin{macrocode} - \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\glswrite{^^J; define the glossary markup^^J}% +% \end{macrocode} +%\changes{3.0}{2011/04/02}{added xindy-only macro definitions to +%glossary open tag} +% \begin{macrocode} + \write\glswrite{(markup-index^^J\space\space\space + :open \string"\string + \glossarysection[\string\glossarytoctitle]{\string + \glossarytitle}\string\glossarypreamble}% +% \end{macrocode} +% Add all the xindy-only macro definitions (needed to prevent errors +% in the event that the user changes from \pkgopt{xindy} to +% \pkgopt{makeindex}) +% \begin{macrocode} + \@for\@this@ctr:=\@xdycounters\do{% + {% + \@for\@this@attr:=\@xdyattributelist\do{% + \protected@write\glswrite{}{\string\providecommand*% + \expandafter\string + \csname glsX\@this@ctr X\@this@attr\endcsname[2]% + {% + \string\setentrycounter + [\expandafter\@gobble\string\#1]{\@this@ctr}% + \expandafter\string + \csname\@this@attr\endcsname + {\expandafter\@gobble\string\#2}% + }% + }% + }% + }% + }% +% \end{macrocode} +% Add the end part of the open tag and the rest of the markup-index +% information: +% \begin{macrocode} + \write\glswrite{% + \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)}% % \end{macrocode} % Specify what to put between letter groups % \begin{macrocode} - \write\istfile{(markup-letter-group-list - :sep \string"\string\glsgroupskip\string~n\string")}% + \write\glswrite{(markup-letter-group-list + :sep \string"\string\glsgroupskip\string~n\string")}% % \end{macrocode} % Specify what to put between entries % \begin{macrocode} - \write\istfile{(markup-indexentry - :open \string"\string\relax \string\glsresetentrylist - \string~n\string")}% + \write\glswrite{(markup-indexentry + :open \string"\string\relax \string\glsresetentrylist + \string~n\string")}% % \end{macrocode} % Specify how to format entries % \begin{macrocode} - \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\glswrite{(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")}% % \end{macrocode} % Specify how to separate location numbers % \begin{macrocode} - \write\istfile{(markup-locref-list - :sep \string"\string\delimN\space\string")}% + \write\glswrite{(markup-locref-list + :sep \string"\string\delimN\space\string")}% % \end{macrocode} % Specify how to indicate location ranges % \begin{macrocode} - \write\istfile{(markup-range - :sep \string"\string\delimR\space\string")}% + \write\glswrite{(markup-range + :sep \string"\string\delimR\space\string")}% % \end{macrocode} % Specify 2-page and 3-page suffixes, if defined. % First, the values must be sanitized to write them explicity. @@ -11492,44 +7842,52 @@ counter as its value}}{% % \begin{macrocode} \ifx\gls@suffixF\@empty \else - \write\istfile{(markup-range - :close "\gls@suffixF" :length 1 :ignore-end)}% + \write\glswrite{(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)}% + \write\glswrite{(markup-range + :close "\gls@suffixFF" :length 2 :ignore-end)}% \fi % \end{macrocode} % Specify how to format locations. % \begin{macrocode} - \write\istfile{^^J; define format to use for locations^^J}% - \write\istfile{\@xdylocref}% + \write\glswrite{^^J; define format to use for locations^^J}% + \write\glswrite{\@xdylocref}% % \end{macrocode} % Specify how to separate letter groups. % \begin{macrocode} - \write\istfile{^^J; define letter group list format^^J}% - \write\istfile{(markup-letter-group-list - :sep \string"\string\glsgroupskip\string~n\string")}% + \write\glswrite{^^J; define letter group list format^^J}% + \write\glswrite{(markup-letter-group-list + :sep \string"\string\glsgroupskip\string~n\string")}% % \end{macrocode} % Define letter group headings. % \begin{macrocode} - \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\glswrite{^^J; letter group headings^^J}% + \write\glswrite{(markup-letter-group + :open-head \string"\string\glsgroupheading + \glsopenbrace\string"^^J\space\space\space + :close-head \string"\glsclosebrace\string")}% % \end{macrocode} % Define additional letter groups. % \begin{macrocode} - \write\istfile{^^J; additional letter groups^^J}% - \write\istfile{\@xdylettergroups}% + \write\glswrite{^^J; additional letter groups^^J}% + \write\glswrite{\@xdylettergroups}% % \end{macrocode} % Define additional sort rules % \begin{macrocode} - \write\istfile{^^J; additional sort rules^^J} - \write\istfile{\@xdysortrules}% - \noist} + \write\glswrite{^^J; additional sort rules^^J} + \write\glswrite{\@xdysortrules}% +% \end{macrocode} +% Close the style file +% \begin{macrocode} + \closeout\glswrite +% \end{macrocode} +% Suppress any further calls. +% \begin{macrocode} + \let\writeist\relax + } \else % \end{macrocode} % Code to use if \app{makeindex} is required. @@ -11540,83 +7898,87 @@ counter as its value}}{% \edef\@gls@levelchar{\string!} \edef\@gls@quotechar{\string"} \def\writeist{\relax - \openout\istfile=\istfilename - \write\istfile{\expandafter\@gobble\string\% makeindex style file + \openout\glswrite=\istfilename + \write\glswrite{\expandafter\@gobble\string\% makeindex style file created by the glossaries package} - \write\istfile{\expandafter\@gobble\string\% for document + \write\glswrite{\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 + \write\glswrite{actual '\@gls@actualchar'} + \write\glswrite{encap '\@gls@encapchar'} + \write\glswrite{level '\@gls@levelchar'} + \write\glswrite{quote '\@gls@quotechar'} + \write\glswrite{keyword \string"\string\\glossaryentry\string"} + \write\glswrite{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 + \write\glswrite{postamble \string"\string\%\string\n\string \\end{theglossary}\string\\glossarypostamble\string\n \string"} - \write\istfile{group_skip \string"\string\\glsgroupskip\string\n + \write\glswrite{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 + \write\glswrite{item_0 \string"\string\%\string\n\string"} + \write\glswrite{item_1 \string"\string\%\string\n\string"} + \write\glswrite{item_2 \string"\string\%\string\n\string"} + \write\glswrite{item_01 \string"\string\%\string\n\string"} + \write\glswrite{item_x1 \string"\string\\relax \string\\glsresetentrylist\string\n \string"} - \write\istfile{item_12 \string"\string\%\string\n\string"} - \write\istfile{item_x2 + \write\glswrite{item_12 \string"\string\%\string\n\string"} + \write\glswrite{item_x2 \string"\string\\relax \string\\glsresetentrylist\string\n \string"} % \end{macrocode} %\changes{2.05}{2010 Feb 6}{Added \cs{string} before opening % and closing braces. Patch provided by Segiu Dotenco} % \begin{macrocode} - \write\istfile{delim_0 \string"\string\{\string + \write\glswrite{delim_0 \string"\string\{\string \\glossaryentrynumbers\string\{\string\\relax \string"} - \write\istfile{delim_1 \string"\string\{\string + \write\glswrite{delim_1 \string"\string\{\string \\glossaryentrynumbers\string\{\string\\relax \string"} - \write\istfile{delim_2 \string"\string\{\string + \write\glswrite{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 + \write\glswrite{delim_t \string"\string\}\string\}\string"} + \write\glswrite{delim_n \string"\string\\delimN \string"} + \write\glswrite{delim_r \string"\string\\delimR \string"} + \write\glswrite{headings_flag 1} + \write\glswrite{heading_prefix \string"\string\\glsgroupheading\string\{\string"} - \write\istfile{heading_suffix + \write\glswrite{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"} + \write\glswrite{symhead_positive \string"glssymbols\string"} + \write\glswrite{numhead_positive \string"glsnumbers\string"} + \write\glswrite{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"} + \write\glswrite{suffix_2p \string"\gls@suffixF\string"} \fi \ifx\gls@suffixFF\@empty \else - \write\istfile{suffix_3p \string"\gls@suffixFF\string"} + \write\glswrite{suffix_3p \string"\gls@suffixFF\string"} \fi - \noist + \closeout\glswrite + \let\writeist\relax } \fi % \end{macrocode} %\end{macro} % %The command \cs{noist} will suppress the creation of -% the \filetype{.ist} file (it simply redefines -% \cs{writeist} to do nothing). Obviously you need to use this -% command before \cs{writeist} to have any effect. Since -% the \filetype{.ist} file should only be created once, \cs{noist} -% is called at the end of \cs{writeist}. +% the \filetype{.ist} file. Obviously you need to use this +% command before \cs{writeist} to have any effect. %\begin{macro}{\noist} % \begin{macrocode} -\newcommand{\noist}{\let\writeist\relax} +\newcommand{\noist}{% +% \end{macrocode} +% Update attributes list +% \begin{macrocode} + \@gls@addpredefinedattributes + \let\writeist\relax +} % \end{macrocode} %\end{macro} % @@ -11638,17 +8000,39 @@ counter as its value}}{% %\begin{macro}{\@makeglossary} % \begin{macrocode} \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}}} + \ifglossaryexists{#1}% + {% +% \end{macrocode} +% Only create a new write if \pkgopt[false]{savewrites} otherwise +% create a token to collect the information. +%\changes{3.0}{2010 Jul 12}{Added check for \pkgopt{savewrites}} +% \begin{macrocode} + \ifglssavewrites + \expandafter\newtoks\csname glo@#1@filetok\endcsname + \else + \expandafter\newwrite\csname glo@#1@file\endcsname + \expandafter\@glsopenfile\csname glo@#1@file\endcsname{#1}% + \fi + \@gls@renewglossary + \writeist + }% + {% + \PackageError{glossaries}% + {Glossary type `#1' not defined}% + {New glossaries must be defined before using \string\makeglossary}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsopenfile} +% Open write file associated with the given glossary. +% \begin{macrocode} +\newcommand*{\@glsopenfile}[2]{% + \immediate\openout#1=\jobname.\csname @glotype@#2@out\endcsname + \PackageInfo{glossaries}{Writing glossary file + \jobname.\csname @glotype@#2@out\endcsname}% +} % \end{macrocode} %\end{macro} % @@ -11670,6 +8054,7 @@ using \string\makeglossary}}} %\begin{macro}{\makeglossaries} % \begin{macrocode} \newcommand*{\makeglossaries}{% +% \end{macrocode} % Write the name of the style file to the aux file % (needed by \app{makeglossaries}) % \begin{macrocode} @@ -11731,6 +8116,51 @@ using \string\makeglossary}}} % \end{macrocode} % %\subsection{Writing information to associated files} +% +% +%\begin{macro}{\glswrite} +% The write used for style file also used for all other output files +% if \pkgopt[true]{savewrites}. +% \begin{macrocode} +\newwrite\glswrite +% \end{macrocode} +%\end{macro} +%\begin{macro}{\istfile} +%\changes{3.0}{2011/04/02}{deprecated} +% Deprecated. +% \begin{macrocode} +\def\istfile{\glswrite} +% \end{macrocode} +%\end{macro} +% +% At the end of the document, the files should be created if +% \pkgopt[true]{savewrites}. +% \begin{macrocode} +\AtEndDocument{% + \glswritefiles +} +% \end{macrocode} +%\begin{macro}{\glswritefiles} +% Only write the files if \pkgopt[true]{savewrites} +% \begin{macrocode} +\ifglssavewrites + \newcommand*{\glswritefiles}{% +% \end{macrocode} +% Iterate through all the glossaries +% \begin{macrocode} + \forallglossaries{\@glo@type}{% + \@glsopenfile{\glswrite}{\@glo@type}% + \immediate\write\glswrite{% + \expandafter\the\csname glo@\@glo@type @filetok\endcsname}% + \immediate\closeout\glswrite + }% + } +\else + \let\glswritefiles\relax +\fi +% \end{macrocode} +%\end{macro} +% % The \cs{glossary} command is redefined so that it takes an % optional argument \meta{type} to specify the glossary type (use % \cs{glsdefaulttype} glossary by default). @@ -11762,8 +8192,8 @@ using \string\makeglossary}}} %\begin{macro}{\@gls@renewglossary} % \begin{macrocode} \newcommand{\@gls@renewglossary}{% -\gdef\@glossary[##1]{\@bsphack\begingroup\@wrglossary{##1}}% -\let\@gls@renewglossary\@empty + \gdef\@glossary[##1]{\@bsphack\begingroup\@wrglossary{##1}}% + \let\@gls@renewglossary\@empty } % \end{macrocode} %\end{macro} @@ -11773,9 +8203,17 @@ using \string\makeglossary}}} % (the format of which is set in \cs{glslink}). %\begin{macro}{\@wrglossary} %\changes{1.17}{2008 December 26}{modified to allow for xindy support} +%\changes{3.0}{2010 Jul 12}{modified to take into account +%\pkgopt{savewrites}} % \begin{macrocode} \renewcommand*{\@wrglossary}[2]{% - \expandafter\protected@write\csname glo@#1@file\endcsname{}{#2}% + \ifglssavewrites + \protected@edef\@gls@tmp{\the\csname glo@#1@filetok\endcsname#2}% + \expandafter\global\expandafter\csname glo@#1@filetok\endcsname + \expandafter{\@gls@tmp^^J}% + \else + \expandafter\protected@write\csname glo@#1@file\endcsname{}{#2}% + \fi \endgroup\@esphack } % \end{macrocode} @@ -11784,11 +8222,32 @@ using \string\makeglossary}}} %\begin{macro}{\@do@wrglossary} %\changes{1.17}{2008 December 26}{new} % Write the glossary entry in the appropriate format. -% (Need to set \@glsnumberformat and \@gls@counter prior to use.) +% (Need to set \cs{@glsnumberformat} and \cs{@gls@counter} prior to use.) % The argument is the entry's label. +%\changes{3.0}{2011/04/02}{modified to use new format} % \begin{macrocode} \newcommand{\@do@wrglossary}[1]{% % \end{macrocode} +% Get the location and escape any special characters +% \begin{macrocode} + \protected@edef\@glslocref{\theglsentrycounter}% + \@gls@checkmkidxchars\@glslocref +% \end{macrocode} +% Check if the hyper-location is the same as the location and set +% the hyper prefix. +%\changes{3.0}{2011/04/02}{added check for hyper location prefix} +% \begin{macrocode} + \expandafter\ifx\theHglsentrycounter\theglsentrycounter + \def\@glo@counterprefix{}% + \else + \protected@edef\@glsHlocref{\theHglsentrycounter}% + \@gls@checkmkidxchars\@glsHlocref + \edef\@do@gls@getcounterprefix{\noexpand\@gls@getcounterprefix + {\@glslocref}{\@glsHlocref}% + }% + \@do@gls@getcounterprefix + \fi +% \end{macrocode} % Determine whether to use \app{xindy} or \app{makeindex} % syntax % \begin{macrocode} @@ -11807,17 +8266,13 @@ using \string\makeglossary}}} \fi \fi % \end{macrocode} -% Get the location and escape any special characters -% \begin{macrocode} -\protected@edef\@glslocref{\theglsentrycounter}% -\@gls@checkmkidxchars\@glslocref -% \end{macrocode} % Write to the glossary file using \app{xindy} syntax. % \begin{macrocode} \glossary[\csname glo@#1@type\endcsname]{% (indexentry :tkey (\csname glo@#1@index\endcsname) - :locref \string"\@glslocref\string" % - :attr \string"\@glo@suffix\string" \@glo@range + :locref \string"{\@glo@counterprefix}{\@glslocref}\string" % + :attr \string"\@gls@counter\@glo@suffix\string" + \@glo@range ) }% \else @@ -11825,7 +8280,8 @@ using \string\makeglossary}}} % Convert the format information into the format required for % \app{makeindex} % \begin{macrocode} - \@set@glo@numformat\@glo@numfmt\@gls@counter\@glsnumberformat + \@set@glo@numformat{\@glo@numfmt}{\@gls@counter}{\@glsnumberformat}% + {\@glo@counterprefix}% % \end{macrocode} % Write to the glossary file using \app{makeindex} syntax. % \begin{macrocode} @@ -11837,6 +8293,34 @@ using \string\makeglossary}}} % \end{macrocode} %\end{macro} % +%\begin{macro}{\@gls@getcounterprefix} +% Get the prefix that needs to be prepended to counter in order to +% get the hyper counter. (For example, with the standard +% \cls{article} class and \sty{hyperref}, \ics{theequation} needs to +% be prefixed with \meta{section num}|.| to get the equivalent +% \ics{theHequation}.) NB this assumes that the prefix ends with a +% dot, which is the standard. (Otherwise it makes the xindy location +% classes more complicated.) +% \begin{macrocode} +\newcommand*\@gls@getcounterprefix[2]{% + \edef\@gls@thisloc{#1}\edef\@gls@thisHloc{#2}% + \ifx\@gls@thisloc\@gls@thisHloc + \def\@glo@counterprefix{}% + \else + \def\@gls@get@counterprefix##1.#1##2\end@getprefix{% + \def\@glo@tmp{##2}% + \ifx\@glo@tmp\@empty + \def\@glo@counterprefix{}% + \else + \def\@glo@counterprefix{##1}% + \fi + }% + \@gls@get@counterprefix#2.#1\end@getprefix + \fi +} +% \end{macrocode} +%\end{macro} +% %\subsection{Glossary Entry Cross-References} %\begin{macro}{\@do@seeglossary} %\changes{1.17}{2008 December 26}{new} @@ -11844,20 +8328,25 @@ using \string\makeglossary}}} % The first argument is the entry's label, the second must be in % the form \oarg{tag}\marg{list}, where \meta{tag} is a tag % such as ``see'' and \meta{list} is a list of labels. +%\changes{3.0}{2011/04/02}{Sanitize and escape cross-referencing +%information} % \begin{macrocode} \newcommand{\@do@seeglossary}[2]{% +\def\@gls@xref{#2}% +\@onelevel@sanitize\@gls@xref +\@gls@checkmkidxchars\@gls@xref \ifglsxindy \glossary[\csname glo@#1@type\endcsname]{% (indexentry :tkey (\csname glo@#1@index\endcsname) - :xref (\string"#2\string") + :xref (\string"\@gls@xref\string") :attr \string"see\string" ) }% \else \glossary[\csname glo@#1@type\endcsname]{% \string\glossaryentry{\csname glo@#1@index\endcsname - \@gls@encapchar glsseeformat#2}{Z}}% + \@gls@encapchar glsseeformat\@gls@xref}{Z}}% \fi } % \end{macrocode} @@ -11879,12 +8368,12 @@ using \string\makeglossary}}} %\begin{macro}{\glssee} %\cs{glssee}\marg{label}\marg{cross-ref list} %\changes{1.17}{2008 December 26}{new} -% \begin{macrocode} +% \begin{macrocode} \newcommand*{\glssee}[3][\seename]{% \@do@seeglossary{#2}{[#1]{#3}}} \newcommand*{\@glssee}[3][\seename]{% \glssee[#1]{#3}{#2}} -% \end{macrocode} +% \end{macrocode} %\end{macro} % %\begin{macro}{\glsseeformat} @@ -11951,8 +8440,19 @@ using \string\makeglossary}}} %\begin{macro}{\glsseeitem} %\cs{glsseeitem}\marg{label} formats individual entry in a % cross-referencing list. +%\changes{3.0}{2011/04/02}{hyperlink uses \cs{glsseeitemformat} instead +%of \cs{glsentryname}} +% \begin{macrocode} +\newcommand*{\glsseeitem}[1]{\glshyperlink[\glsseeitemformat{#1}]{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsseeitemformat} +%\changes{3.0}{2011/04/02}{new} +% As from v3.0, default is to use \ics{glsentrytext} instead of +% \ics{glsentryname}. (To avoid problems with the \gloskey{name} key being +% sanitized.) % \begin{macrocode} -\newcommand*{\glsseeitem}[1]{\glshyperlink{#1}} +\newcommand*{\glsseeitemformat}[1]{\glsentrytext{#1}} % \end{macrocode} %\end{macro} % @@ -11985,14 +8485,17 @@ using \string\makeglossary}}} % The TOC title needs to be processed in a different manner % to the main title in case the \sty{translator} and \sty{hyperref} packages % are both being used. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{printglossary}{}{% +\ifcsundef{printglossary}{}% +{% % \end{macrocode} % If \cs{printglossary} is already defined, issue a warning % and undefine it. % \begin{macrocode} \GlossariesWarning{Overriding \string\printglossary}% - \let\printglossary\undefined + \undef\printglossary } % \end{macrocode} % \cs{printglossary} has an optional argument. The default @@ -12009,6 +8512,7 @@ using \string\makeglossary}}} % \begin{macrocode} \def\@glo@type{\glsdefaulttype}% \def\glossarytitle{\csname @glotype@\@glo@type @title\endcsname}% + \let\org@glossarytitle\glossarytitle \def\@glossarystyle{}% \def\gls@dotoctitle{\glssettoctitle{\@glo@type}}% % \end{macrocode} @@ -12025,11 +8529,32 @@ using \string\makeglossary}}} % \begin{macrocode} \setkeys{printgloss}{#1}% % \end{macrocode} +% If title has been set, but toctitle hasn't, make toctitle the same +% as given title (rather than the title used when the glossary was +% defined) +%\changes{3.0}{2011/04/02}{make toctitle default to title} +% \begin{macrocode} + \ifx\glossarytitle\org@glossarytitle + \else + \expandafter\let\csname @glotype@\@glo@type @title\endcsname + \glossarytitle + \fi +% \end{macrocode} +% Allow a high-level user command to indicate the current glossary +%\changes{3.0}{2011/04/02}{added \cs{currentglossary}} +% \begin{macrocode} + \let\currentglossary\@glo@type +% \end{macrocode} %Enable individual number lists to be suppressed. % \begin{macrocode} \let\org@glossaryentrynumbers\glossaryentrynumbers \let\glsnonextpages\@glsnonextpages % \end{macrocode} +% Enable individual number list to be activated: +%\changes{3.0}{2011/04/02}{added \cs{glsnextpages}} +% \begin{macrocode} + \let\glsnextpages\@glsnextpages +% \end{macrocode} % Enable suppression of description terminators. % \begin{macrocode} \let\nopostdesc\@nopostdesc @@ -12062,12 +8587,16 @@ using \string\makeglossary}}} % If \app{xindy} is being used, need to write the language % dependent information to the \filetype{.aux} file for % \app{makeglossaries}. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \ifglsxindy - \@ifundefined{@xdy@\@glo@type @language}{% + \ifcsundef{@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}}% @@ -12126,11 +8655,19 @@ using \string\makeglossary}}} % \end{macrocode} % The \gloskey[printglossary]{style} key sets the glossary style (but only for % the given glossary). +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \define@key{printgloss}{style}{% -\@ifundefined{@glsstyle@#1}{\PackageError{glossaries}{Glossary -style `#1' undefined}{}}{% -\def\@glossarystyle{\csname @glsstyle@#1\endcsname}}} + \ifcsundef{@glsstyle@#1}% + {% + \PackageError{glossaries}% + {Glossary style `#1' undefined}{}% + }% + {% + \def\@glossarystyle{\csname @glsstyle@#1\endcsname}% + }% +} % \end{macrocode} % \changes{1.14}{2008 June 17}{added numberedsection key to 'printglossary} % The \gloskey[printglossary]{numberedsection} key determines if this @@ -12176,6 +8713,21 @@ false,nolabel,autolabel}[nolabel]{% \glsresetentrylist}} % \end{macrocode} %\end{macro} +%\begin{macro}{\@glsnextpages} +%\changes{3.0}{2011/04/02}{new}% +% Activate the next number list only. Global assignments required +% as it may not occur in the same level of grouping as the +% next numberlist. (For example, if \cs{glsnextpages} is place +% in the entry's description and 3 column tabular style glossary +% is used.) \cs{org@glossaryentrynumbers} needs to be set at +% the start of each glossary, in the event that +% \ics{glossaryentrynumber} is redefined. +% \begin{macrocode} +\newcommand*{\@glsnextpages}{% + \gdef\glossaryentrynumbers##1{% + ##1\glsresetentrylist}} +% \end{macrocode} +%\end{macro} %\begin{macro}{\glsresetentrylist} % Resets \cs{glossaryentrynumbers} % \begin{macrocode} @@ -12192,18 +8744,178 @@ false,nolabel,autolabel}[nolabel]{% % \end{macrocode} %\end{macro} % -%\DescribeEnv{theglossary} +%\begin{macro}{\glsnextpages} +% Outside of \cs{printglossary} this does nothing. +% \begin{macrocode} +\newcommand*{\glsnextpages}{} +% \end{macrocode} +%\end{macro} +% +%\begin{counter}{glossaryentry} +%\changes{3.0}{2011/04/02}{new} +% If the \pkgopt{entrycounter} package option has been used, define +% a counter to number each level~0 entry. +% \begin{macrocode} +\ifglsentrycounter + \ifx\@gls@counterwithin\@empty + \newcounter{glossaryentry} + \else + \newcounter{glossaryentry}[\@gls@counterwithin] + \fi + \def\theHglossaryentry{\currentglossary.\theglossaryentry} +\fi +% \end{macrocode} +%\end{counter} +% +%\begin{counter}{glossarysubentry} +%\changes{3.0}{2011/04/02}{new} +% If the \pkgopt{subentrycounter} package option has been used, define +% a counter to number each level~1 entry. +% \begin{macrocode} +\ifglssubentrycounter + \ifglsentrycounter + \newcounter{glossarysubentry}[glossaryentry] + \else + \newcounter{glossarysubentry} + \fi + \def\theHglossarysubentry{\currentglssubentry.\theglossarysubentry} +\fi +% \end{macrocode} +%\end{counter} +% +%\begin{macro}{\glsresetsubentrycounter} +%\changes{3.0}{2011/04/02}{new} +% Resets the \ctr{glossarysubentry} counter. +% \begin{macrocode} +\ifglssubentrycounter + \newcommand*{\glsresetsubentrycounter}{% + \setcounter{glossarysubentry}{0}% + } +\else + \newcommand*{\glsresetsubentrycounter}{} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsstepentry} +%\changes{3.0}{2011/04/02}{new} +% Advance the \ctr{glossaryentry} counter if in use. The argument is +% the label associated with the entry. +% \begin{macrocode} +\ifglsentrycounter + \newcommand*{\glsstepentry}[1]{% + \refstepcounter{glossaryentry}% + \label{glsentry-#1}% + } +\else + \newcommand*{\glsstepentry}[1]{} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsstepsubentry} +%\changes{3.0}{2011/04/02}{new} +% Advance the \ctr{glossarysubentry} counter if in use. The argument is +% the label associated with the subentry. +% \begin{macrocode} +\ifglssubentrycounter + \newcommand*{\glsstepsubentry}[1]{% + \def\currentglssubentry{#1}% + \refstepcounter{glossarysubentry}% + \label{glsentry-#1}% + } +\else + \newcommand*{\glsstepsubentry}[1]{} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsrefentry} +%\changes{3.0}{2011/04/02}{new} +% Reference the entry or sub-entry counter if in use, otherwise just do +% \ics{gls}. +% \begin{macrocode} +\ifglsentrycounter + \newcommand*{\glsrefentry}[1]{\ref{glsentry-#1}} +\else + \ifglssubentrycounter + \newcommand*{\glsrefentry}[1]{\ref{glsentry-#1}} + \else + \newcommand*{\glsrefentry}[1]{\gls{#1}} + \fi +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsentrycounterlabel} +%\changes{3.0}{2011/04/02}{new} +% Defines how to display the \ctr{glossaryentry} counter. +% \begin{macrocode} +\ifglsentrycounter + \newcommand*{\glsentrycounterlabel}{\theglossaryentry.\space} +\else + \newcommand*{\glsentrycounterlabel}{} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssubentrycounterlabel} +%\changes{3.0}{2011/04/02}{new} +% Defines how to display the \ctr{glossarysubentry} counter. +% \begin{macrocode} +\ifglssubentrycounter + \newcommand*{\glssubentrycounterlabel}{\theglossarysubentry)\space} +\else + \newcommand*{\glssubentrycounterlabel}{} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsentryitem} +% Step and display \ctr{glossaryentry} counter, if appropriate. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\ifglsentrycounter + \newcommand*{\glsentryitem}[1]{% + \glsstepentry{#1}\glsentrycounterlabel + } +\else + \newcommand*{\glsentryitem}[1]{\glsresetsubentrycounter} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glssubentryitem} +% Step and display \ctr{glossarysubentry} counter, if appropriate. +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\ifglssubentrycounter + \newcommand*{\glssubentryitem}[1]{% + \glsstepsubentry{#1}\glssubentrycounterlabel + } +\else + \newcommand*{\glssubentryitem}[1]{} +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{environment}{theglossary} % If the \env{theglossary} environment has % already been defined, a warning will be issued. % This environment should be redefined by glossary styles. +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{theglossary}{% +\ifcsundef{theglossary}% +{% \newenvironment{theglossary}{}{}% -}{% +}% +{% \GlossariesWarning{overriding `theglossary' environment}% \renewenvironment{theglossary}{}{}% } % \end{macrocode} +%\end{environment} % % The glossary header is given by \cs{glossaryheader}. % This forms part of the glossary style, and @@ -12306,9 +9018,12 @@ false,nolabel,autolabel}[nolabel]{% % \texttt{A}, \ldots, \texttt{Z}\@. If you want to redefine % the group titles, you will need to redefine this command. %\begin{macro}{\glsgetgrouptitle} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand*{\glsgetgrouptitle}[1]{% -\@ifundefined{#1groupname}{#1}{\csname #1groupname\endcsname}} + \ifcsundef{#1groupname}{#1}{\csname #1groupname\endcsname}% +} % \end{macrocode} %\end{macro} %\vskip5pt @@ -12332,19 +9047,35 @@ false,nolabel,autolabel}[nolabel]{% % \ics{glossary} argument so that the relevant counter is % set prior to the formatting command. %\begin{macro}{\setentrycounter} +%\changes{3.0}{2011/04/02}{added optional argument} % \begin{macrocode} -\newcommand*{\setentrycounter}[1]{\def\glsentrycounter{#1}} +\newcommand*{\setentrycounter}[2][]{% + \def\@glo@counterprefix{#1}% + \ifx\@glo@counterprefix\@empty + \def\@glo@counterprefix{.}% + \else + \def\@glo@counterprefix{.#1.}% + \fi + \def\glsentrycounter{#2}% +} % \end{macrocode} %\end{macro} % % The current glossary style can be set using % \cs{glossarystyle}\marg{style}. %\begin{macro}{\glossarystyle} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand*{\glossarystyle}[1]{% -\@ifundefined{@glsstyle@#1}{\PackageError{glossaries}{Glossary -style `#1' undefined}{}}{% -\csname @glsstyle@#1\endcsname}} + \ifcsundef{@glsstyle@#1}% + {% + \PackageError{glossaries}{Glossary style `#1' undefined}{}% + }% + {% + \csname @glsstyle@#1\endcsname + }% +} % \end{macrocode} %\end{macro} % @@ -12361,11 +9092,18 @@ style `#1' undefined}{}}{% % the user should be able to switch between styles without affecting % the pre- and postambles. %\changes{1.17}{2008 December 26}{made 'newglossarystyle long} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand{\newglossarystyle}[2]{% -\@ifundefined{@glsstyle@#1}{% -\expandafter\def\csname @glsstyle@#1\endcsname{#2}}{% -\PackageError{glossaries}{Glossary style `#1' is already defined}{}}} + \ifcsundef{@glsstyle@#1}% + {% + \expandafter\def\csname @glsstyle@#1\endcsname{#2}% + }% + {% + \PackageError{glossaries}{Glossary style `#1' is already defined}{}% + }% +} % \end{macrocode} %\end{macro} % @@ -12405,11 +9143,16 @@ style `#1' undefined}{}}{% %\begin{macro}{\glshypernumber} %\changes{1.17}{2008 December 26}{modified to allow material % to be attached to location} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} -\@ifundefined{hyperlink}{% -\def\glshypernumber#1{#1}}{% -\def\glshypernumber#1{% - \@glshypernumber#1\nohyperpage{}\@nil}} +\ifcsundef{hyperlink}% +{% + \def\glshypernumber#1{#1}% +}% +{% + \def\glshypernumber#1{\@glshypernumber#1\nohyperpage{}\@nil} +} % \end{macrocode} %\end{macro} % @@ -12480,7 +9223,11 @@ style `#1' undefined}{}}{% \edef\x{\the\toks@}% \ifx\x\empty \else - \hyperlink{\glsentrycounter.\the\toks@}{\the\toks@}% +% \end{macrocode} +%\changes{3.0}{2011/04/02}{added prefix to hyperlink} +% \begin{macrocode} + \hyperlink{\glsentrycounter\@glo@counterprefix\the\toks@}% + {\the\toks@}% \fi \else \@gls@ReturnAfterFi{% @@ -12583,17 +9330,23 @@ style `#1' undefined}{}}{% % \cs{gls} explicitly, e.g.\ "\gls{svm}['s]". Note that it is % up to the user to load \isty{xspace} if desired. %\changes{1.18}{2009 January 14}{new} +%\changes{3.0}{2011/04/02}{replaced \cs{@ifundefined} with +%\cs{ifcsundef}} % \begin{macrocode} \newcommand{\oldacronym}[4][\gls@label]{% \def\gls@label{#2}% \newacronym[#4]{#1}{#2}{#3}% - \@ifundefined{xspace}{% + \ifcsundef{xspace}% + {% \expandafter\edef\csname#1\endcsname{% - \noexpand\@ifstar{\noexpand\Gls{#1}}{\noexpand\gls{#1}}}% - }{% + \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}}% + \noexpand\gls{#1}\noexpand\xspace}% + }% }% } % \end{macrocode} @@ -12641,160 +9394,201 @@ style `#1' undefined}{}}{% % \end{macrocode} %\end{macro} % -% Make a note of the keys that are used to store the long and -% short forms: +% The following are defined for compatibility with version 2.07 and +% earlier. %\begin{macro}{\glsshortkey} % \begin{macrocode} -\newcommand*{\glsshortkey}{text} +\newcommand*{\glsshortkey}{short} % \end{macrocode} %\end{macro} %\begin{macro}{\glsshortpluralkey} % \begin{macrocode} -\newcommand*{\glsshortpluralkey}{plural} +\newcommand*{\glsshortpluralkey}{shortplural} % \end{macrocode} %\end{macro} %\begin{macro}{\glslongkey} % \begin{macrocode} -\newcommand*{\glslongkey}{description} +\newcommand*{\glslongkey}{long} % \end{macrocode} %\end{macro} %\begin{macro}{\glslongpluralkey} % \begin{macrocode} -\newcommand*{\glslongpluralkey}{descriptionplural} +\newcommand*{\glslongpluralkey}{longplural} % \end{macrocode} %\end{macro} % -% Using the default definitions, \ics{acrshort} is the same as -% \ics{glstext}, which means that it will print the abbreviation. -%\begin{macro}{\acrshort} +%\begin{macro}{\acrfull} +% Full form of the acronym. % \begin{macrocode} -\newcommand*{\acrshort}[2][]{% - \new@ifnextchar[{\@acrshort{#1}{#2}}{\@acrshort{#1}{#2}[]}} +\newcommand*{\acrfull}{% + \@ifstar\s@acrfull\ns@acrfull +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\Acrshort} -%\changes{1.13}{2008 May 10}{fixed bug that used all lower case version} +%\changes{3.0}{2011/04/02}{added starred version} % \begin{macrocode} -\newcommand*{\Acrshort}[2][]{% - \new@ifnextchar[{\@Acrshort{#1}{#2}}{\@Acrshort{#1}{#2}[]}} +\newcommand*\s@acrfull[2][]{% + \new@ifnextchar[{\@acrfull{hyper=false,#1}{#2}}% + {\@acrfull{hyper=false,#1}{#2}[]}% +} +\newcommand*\ns@acrfull[2][]{% + \new@ifnextchar[{\@acrfull{#1}{#2}}% + {\@acrfull{#1}{#2}[]}% +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\ACRshort} -%\changes{1.13}{2008 May 10}{fixed bug that used all lower case version} +% Low-level macro: % \begin{macrocode} -\newcommand*{\ACRshort}[2][]{% - \new@ifnextchar[{\@ACRshort{#1}{#2}}{\@ACRshort{#1}{#2}[]}} +\def\@acrfull#1#2[#3]{% + \acrlinkfullformat{\@acrlong}{\@acrshort}{#1}{#2}{#3}% +} % \end{macrocode} %\end{macro} -% Plural: -%\begin{macro}{\acrshortpl} -%\changes{1.13}{2008 May 10}{new} +% +%\begin{macro}{\acrlinkfullformat} +% Format for full links like \ics{acrfull}. Syntax: +% \cs{acrlinkfullformat}\marg{long cs}\marg{short +% cs}\marg{options}\marg{label}\marg{insert} % \begin{macrocode} -\newcommand*{\acrshortpl}[2][]{% - \new@ifnextchar[{\@acrshortpl{#1}{#2}}{\@acrshortpl{#1}{#2}[]}} +\newcommand{\acrlinkfullformat}[5]{% + \acrfullformat{#1{#3}{#4}[#5]}{#2{#3}{#4}[]}% +} % \end{macrocode} %\end{macro} -%\begin{macro}{\Acrshortpl} -%\changes{1.13}{2008 May 10}{new} +% +%\begin{macro}{\acrfullformat} +% Default full form is \meta{long} +% (\cs{acronymfont}"{"\meta{short}"}"). % \begin{macrocode} -\newcommand*{\Acrshortpl}[2][]{% - \new@ifnextchar[{\@Acrshortpl{#1}{#2}}{\@Acrshortpl{#1}{#2}[]}} +\newcommand{\acrfullformat}[2]{#1\space(\acronymfont{#2})} % \end{macrocode} %\end{macro} -%\begin{macro}{\ACRshortpl} -%\changes{1.13}{2008 May 10}{new} +% +% Default format for full acronym +%\begin{macro}{\Acrfull} % \begin{macrocode} -\newcommand*{\ACRshortpl}[2][]{% - \new@ifnextchar[{\@ACRshortpl{#1}{#2}}{\@ACRshortpl{#1}{#2}[]}} +\newcommand*{\Acrfull}{% + \@ifstar\s@Acrfull\ns@Acrfull +} +% \end{macrocode} +%\changes{3.0}{2011/04/02}{added starred version} +% \begin{macrocode} +\newcommand*\s@Acrfull[2][]{% + \new@ifnextchar[{\@Acrfull{hyper=false,#1}{#2}}% + {\@Acrfull{hyper=false,#1}{#2}[]}% +} +\newcommand*\ns@Acrfull[2][]{% + \new@ifnextchar[{\@Acrfull{#1}{#2}}% + {\@Acrfull{#1}{#2}[]}% +} +% \end{macrocode} +% Low-level macro: +% \begin{macrocode} +\def\@Acrfull#1#2[#3]{% + \acrlinkfullformat{\@Acrlong}{\@acrshort}{#1}{#2}{#3}% +} % \end{macrocode} %\end{macro} % -% \ics{acrlong} is set to \ics{glsdesc}, so it will print the long -% form, unless the description key has been set to something else. -%\begin{macro}{\acrlong} +%\begin{macro}{\ACRfull} % \begin{macrocode} -\newcommand*{\acrlong}[2][]{% - \new@ifnextchar[{\@acrlong{#1}{#2}}{\@acrlong{#1}{#2}[]}} +\newcommand*{\ACRfull}{% + \@ifstar\s@ACRfull\ns@ACRfull +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\Acrlong} -%\changes{1.13}{2008 May 10}{fixed bug that used all lower case version} +%\changes{3.0}{2011/04/02}{added starred version} % \begin{macrocode} -\newcommand*{\Acrlong}[2][]{% - \new@ifnextchar[{\@Acrlong{#1}{#2}}{\@Acrlong{#1}{#2}[]}} +\newcommand*\s@ACRfull[2][]{% + \new@ifnextchar[{\@ACRfull{hyper=false,#1}{#2}}% + {\@ACRfull{hyper=false,#1}{#2}[]}% +} +\newcommand*\ns@ACRfull[2][]{% + \new@ifnextchar[{\@ACRfull{#1}{#2}}% + {\@ACRfull{#1}{#2}[]}% +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\ACRlong} -%\changes{1.13}{2008 May 10}{fixed bug that used all lower case version} +% Low-level macro: % \begin{macrocode} -\newcommand*{\ACRlong}[2][]{% - \new@ifnextchar[{\@ACRlong{#1}{#2}}{\@ACRlong{#1}{#2}[]}} +\def\@ACRfull#1#2[#3]{% + \acrlinkfullformat{\@ACRlong}{\@ACRshort}{#1}{#2}{#3}% +} % \end{macrocode} %\end{macro} +% % Plural: -%\begin{macro}{\acrlongpl} +%\begin{macro}{\acrfullpl} %\changes{1.13}{2008 May 10}{new} % \begin{macrocode} -\newcommand*{\acrlongpl}[2][]{% - \new@ifnextchar[{\@acrlongpl{#1}{#2}}{\@acrlongpl{#1}{#2}[]}} +\newcommand*{\acrfullpl}{% + \@ifstar\s@acrfullpl\ns@acrfullpl +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\Acrlongpl} -%\changes{1.13}{2008 May 10}{new} +%\changes{3.0}{2011/04/02}{added starred version} % \begin{macrocode} -\newcommand*{\Acrlongpl}[2][]{% - \new@ifnextchar[{\@Acrlongpl{#1}{#2}}{\@Acrlongpl{#1}{#2}[]}} +\newcommand*\s@acrfullpl[2][]{% + \new@ifnextchar[{\@acrfullpl{hyper=false,#1}{#2}}% + {\@acrfullpl{hyper=false,#1}{#2}[]}% +} +\newcommand*\ns@acrfullpl[2][]{% + \new@ifnextchar[{\@acrfullpl{#1}{#2}}% + {\@acrfullpl{#1}{#2}[]}% +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\ACRlongpl} -%\changes{1.13}{2008 May 10}{new} +% Low-level macro: % \begin{macrocode} -\newcommand*{\ACRlongpl}[2][]{% - \new@ifnextchar[{\@ACRlongpl{#1}{#2}}{\@ACRlongpl{#1}{#2}[]}} +\def\@acrfullpl#1#2[#3]{% + \acrlinkfullformat{\@acrlongpl}{\@acrshortpl}{#1}{#2}{#3}% +} % \end{macrocode} %\end{macro} % -% -% \ics{acrfull} is set to \ics{glsfirst}, so it should display the -% full form. -%\begin{macro}{\acrfull} +%\begin{macro}{\Acrfullpl} +%\changes{1.13}{2008 May 10}{new} % \begin{macrocode} -\newcommand*{\acrfull}[2][]{% - \new@ifnextchar[{\@acrfull{#1}{#2}}{\@acrfull{#1}{#2}[]}} +\newcommand*{\Acrfullpl}{% + \@ifstar\s@Acrfullpl\ns@Acrfullpl +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\Acrfull} +%\changes{3.0}{2011/04/02}{added starred version} % \begin{macrocode} -\newcommand*{\Acrfull}[2][]{% - \new@ifnextchar[{\@Acrfull{#1}{#2}}{\@Acrfull{#1}{#2}[]}} +\newcommand*\s@Acrfullpl[2][]{% + \new@ifnextchar[{\@Acrfullpl{hyper=false,#1}{#2}}% + {\@Acrfullpl{hyper=false,#1}{#2}[]}% +} +\newcommand*\ns@Acrfullpl[2][]{% + \new@ifnextchar[{\@Acrfullpl{#1}{#2}}% + {\@Acrfullpl{#1}{#2}[]}% +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\ACRfull} +% Low-level macro: % \begin{macrocode} -\newcommand*{\ACRfull}[2][]{% - \new@ifnextchar[{\@ACRfull{#1}{#2}}{\@ACRfull{#1}{#2}[]}} +\def\@Acrfullpl#1#2[#3]{% + \acrlinkfullformat{\@Acrlong}{\@acrshort}{#1}{#2}{#3}% +} % \end{macrocode} %\end{macro} -% Plural: -%\begin{macro}{\acrfullpl} +% +%\begin{macro}{\ACRfullpl} %\changes{1.13}{2008 May 10}{new} % \begin{macrocode} -\newcommand*{\acrfullpl}[2][]{% - \new@ifnextchar[{\@acrfullpl{#1}{#2}}{\@acrfullpl{#1}{#2}[]}} +\newcommand*{\ACRfullpl}{% + \@ifstar\s@ACRfullpl\ns@ACRfullpl +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\Acrfullpl} -%\changes{1.13}{2008 May 10}{new} +%\changes{3.0}{2011/04/02}{added starred version} % \begin{macrocode} -\newcommand*{\Acrfullpl}[2][]{% - \new@ifnextchar[{\@Acrfullpl{#1}{#2}}{\@Acrfullpl{#1}{#2}[]}} +\newcommand*\s@ACRfullpl[2][]{% + \new@ifnextchar[{\@ACRfullpl{hyper=false,#1}{#2}}% + {\@ACRfullpl{hyper=false,#1}{#2}[]}% +} +\newcommand*\ns@ACRfullpl[2][]{% + \new@ifnextchar[{\@ACRfullpl{#1}{#2}}% + {\@ACRfullpl{#1}{#2}[]}% +} % \end{macrocode} -%\end{macro} -%\begin{macro}{\ACRfullpl} -%\changes{1.13}{2008 May 10}{new} +% Low-level macro: % \begin{macrocode} -\newcommand*{\ACRfullpl}[2][]{% - \new@ifnextchar[{\@ACRfullpl{#1}{#2}}{\@ACRfullpl{#1}{#2}[]}} +\def\@ACRfullpl#1#2[#3]{% + \acrlinkfullformat{\@ACRlongpl}{\@ACRshortpl}{#1}{#2}{#3}% +} % \end{macrocode} %\end{macro} % @@ -12869,14 +9663,21 @@ style `#1' undefined}{}}{% {% 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)},% + text={\the\glsshorttok},% + first={\acrfullformat{\the\glslongtok}{\the\glsshorttok}},% plural={\the\glsshorttok\noexpand\acrpluralsuffix},% - firstplural={\noexpand\@glo@descplural\space - (\noexpand\@glo@plural)},% + firstplural={\acrfullformat{\noexpand\@glo@longpl}% + {\noexpand\@glo@shortpl}},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% + description={\the\glslongtok},% + descriptionplural={\the\glslongtok\noexpand\acrpluralsuffix},% +% \end{macrocode} +% Remaining options specified by the user: +% \begin{macrocode} \the\glskeylisttok }% }% @@ -12917,32 +9718,31 @@ style `#1' undefined}{}}{% \newacronymhook \DefaultNewAcronymDef }% + \renewcommand*{\acrpluralsuffix}{\glspluralsuffix}% +} % \end{macrocode} -% Define short cuts. +%\end{macro} +% +%\begin{macro}{\acrfootnote} +%\changes{3.0}{2011/04/02}{new} +% Used by the footnote acronym styles. % \begin{macrocode} - \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*{\acrfootnote}[3]{\acrlinkfootnote{#1}{#2}{#3}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acrlinkfootnote} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\acrlinkfootnote}[3]{% + \footnote{\glslink[#1]{#2}{#3}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\acrnolinkfootnote} +%\changes{3.0}{2011/04/02}{new} +% \begin{macrocode} +\newcommand*{\acrnolinkfootnote}[3]{% + \footnote{#3}% } % \end{macrocode} %\end{macro} @@ -12951,12 +9751,14 @@ style `#1' undefined}{}}{% % Sets the acronym display style for given glossary for the % description and footnote combination. %\changes{2.04}{2009 November 10}{new} +%\changes{3.0}{2011/04/02}{expanded options link options} % \begin{macrocode} \newcommand*{\SetDescriptionFootnoteAcronymDisplayStyle}[1]{% \defglsdisplayfirst[#1]{% \firstacronymfont{##1}##4% - \protect\footnote{% - \glslink[\@gls@link@opts]{\@gls@link@label}{##3}}}% + \expandafter\protect\expandafter\acrfootnote\expandafter + {\@gls@link@opts}{\@gls@link@label}{##3} + }% \defglsdisplay[#1]{\acronymfont{##1}##4}% } % \end{macrocode} @@ -12972,6 +9774,10 @@ style `#1' undefined}{}}{% sort={\the\glsshorttok},% text={\the\glsshorttok},% plural={\the\glsshorttok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% symbol={\the\glslongtok},% symbolplural={\the\glslongtok\noexpand\acrpluralsuffix},% \the\glskeylisttok @@ -13004,62 +9810,6 @@ style `#1' undefined}{}}{% \DescriptionFootnoteNewAcronymDef }% % \end{macrocode} -% Set up the commands to make a note of the keys to store the long -% and short forms: -% \begin{macrocode} - \def\glsshortkey{text}% - \def\glsshortpluralkey{plural}% - \def\glslongkey{symbol}% - \def\glslongpluralkey{symbolplural}% -% \end{macrocode} -% Set up short cuts. Short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Plural form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} -% Plural full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} % % If \pkgopt{footnote} package option is specified, set the first % use to append the long form (stored in \gloskey{symbol}) as a @@ -13119,6 +9869,10 @@ style `#1' undefined}{}}{% sort={\the\glslongtok}, text={\the\glslongtok},% plural={\the\glslongtok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% symbol={\the\glsshorttok},% symbolplural={\the\glsshorttok\noexpand\acrpluralsuffix},% \the\glskeylisttok @@ -13159,62 +9913,6 @@ style `#1' undefined}{}}{% \DescriptionDUANewAcronymDef }% % \end{macrocode} -% Set up the commands to make a note of the keys to store the long -% and short forms: -% \begin{macrocode} - \def\glsshortkey{symbol}% - \def\glsshortpluralkey{symbolplural}% - \def\glslongkey{first}% - \def\glslongpluralkey{plural}% -% \end{macrocode} -% Set up short cuts. Short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Plural short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} -% Plural full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} % Set display. % \begin{macrocode} \@for\@gls@type:=\@glsacronymlists\do{% @@ -13226,7 +9924,7 @@ style `#1' undefined}{}}{% % %\begin{macro}{\SetDescriptionAcronymDisplayStyle} % Sets the acronym display style for given glossary using -% the description setting (but not footnote or dua). +% the description setting (but not \pkgopt{footnote} or \pkgopt{dua}). %\changes{2.04}{2009 November 10}{new} % \begin{macrocode} \newcommand*{\SetDescriptionAcronymDisplayStyle}[1]{% @@ -13250,6 +9948,10 @@ style `#1' undefined}{}}{% firstplural={\the\glslongtok\noexpand\acrpluralsuffix},% text={\the\glsshorttok},% plural={\the\glsshorttok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% symbol={\noexpand\@glo@text},% symbolplural={\noexpand\@glo@plural},% \the\glskeylisttok}% @@ -13283,62 +9985,6 @@ style `#1' undefined}{}}{% \DescriptionNewAcronymDef }% % \end{macrocode} -% Set up the commands to make a note of the keys to store the long -% and short forms: -% \begin{macrocode} - \def\glsshortkey{text}% - \def\glsshortpluralkey{plural}% - \def\glslongkey{first}% - \def\glslongpluralkey{firstplural}% -% \end{macrocode} -% Set up short cuts. Short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Plural short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} -% Plural full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} % Set display. % \begin{macrocode} \@for\@gls@type:=\@glsacronymlists\do{% @@ -13366,14 +10012,15 @@ style `#1' undefined}{}}{% % %\begin{macro}{\SetFootnoteAcronymDisplayStyle} % Sets the acronym display style for given glossary with -% footnote setting (but not description or dua). +% footnote setting (but not \pkgopt{description} or \pkgopt{dua}). %\changes{2.04}{2009 November 10}{new} % \begin{macrocode} \newcommand*{\SetFootnoteAcronymDisplayStyle}[1]{% \defglsdisplayfirst[#1]{% - \firstacronymfont{##1}##4\protect\footnote{% - \protect\glslink - [\@gls@link@opts]{\@gls@link@label}{##2}}}% + \firstacronymfont{##1}##4% + \expandafter\protect\expandafter\acrfootnote\expandafter + {\@gls@link@opts}{\@gls@link@label}{##2}% + }% \defglsdisplay[#1]{\acronymfont{##1}##4}% } % \end{macrocode} @@ -13389,6 +10036,10 @@ style `#1' undefined}{}}{% sort={\the\glsshorttok},% text={\the\glsshorttok},% plural={\the\glsshorttok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% description={\the\glslongtok},% descriptionplural={\the\glslongtok\noexpand\acrpluralsuffix},% \the\glskeylisttok @@ -13420,14 +10071,6 @@ style `#1' undefined}{}}{% \FootnoteNewAcronymDef }% % \end{macrocode} -% Set up the commands to make a note of the keys to store the long -% and short forms: -% \begin{macrocode} - \def\glsshortkey{text}% - \def\glsshortpluralkey{plural}% - \def\glslongkey{description}% - \def\glslongpluralkey{descriptionplural}% -% \end{macrocode} % Set display %\changes{1.12}{2008 Mar 8}{Added 'protect before 'footnote and % 'glslink} @@ -13436,51 +10079,6 @@ style `#1' undefined}{}}{% \SetFootnoteAcronymDisplayStyle{\@gls@type}% }% % \end{macrocode} -% Set up short cuts. Short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Plural short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Full form: -% \begin{macrocode} - \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])}% -% \end{macrocode} -% Plural full form: -% \begin{macrocode} - \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])}% -% \end{macrocode} % Redefine \ics{acronymfont} if small caps required. The plural suffix % is set in an upright font so that it remains in normal lower case, % otherwise it looks as though it's part of the acronym. @@ -13532,6 +10130,10 @@ style `#1' undefined}{}}{% plural={\noexpand\@glo@symbolplural},% first={\the\glslongtok},% firstplural={\the\glslongtok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% description={\noexpand\@glo@first},% descriptionplural={\noexpand\@glo@firstplural},% symbol={\the\glsshorttok},% @@ -13565,14 +10167,6 @@ style `#1' undefined}{}}{% \SmallNewAcronymDef }% % \end{macrocode} -% Set up the commands to make a note of the keys to store the long -% and short forms: -% \begin{macrocode} - \def\glsshortkey{symbol}% - \def\glsshortpluralkey{symbolplural}% - \def\glslongkey{first}% - \def\glslongpluralkey{firstplural}% -% \end{macrocode} % Change the display since \gloskey{first} only contains long form. % \begin{macrocode} \@for\@gls@type:=\@glsacronymlists\do{% @@ -13593,54 +10187,6 @@ style `#1' undefined}{}}{% \renewcommand*{\acronymfont}[1]{\textsmaller{##1}} \fi % \end{macrocode} -% Set up short cuts. Short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Plural short form: -% \begin{macrocode} - \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]}}% -% \end{macrocode} -% Long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} -% Plural full form: -% \begin{macrocode} - \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]})} -% \end{macrocode} % check for option clash % \begin{macrocode} \ifglsacrdua @@ -13677,6 +10223,10 @@ style `#1' undefined}{}}{% name={\the\glsshorttok},% text={\the\glslongtok},% plural={\the\glslongtok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% description={\the\glslongtok},% symbol={\the\glsshorttok},% symbolplural={\the\glsshorttok\noexpand\acrpluralsuffix},% @@ -13706,62 +10256,12 @@ style `#1' undefined}{}}{% \DUANewAcronymDef }% % \end{macrocode} -% Set up the commands to make a note of the keys to store the long -% and short forms: -% \begin{macrocode} - \def\glsshortkey{symbol}% - \def\glsshortpluralkey{symbolplural}% - \def\glslongkey{text}% - \def\glslongpluralkey{plural}% -% \end{macrocode} % Set the display % \begin{macrocode} \@for\@gls@type:=\@glsacronymlists\do{% \SetDUADisplayStyle{\@gls@type}% }% -% \end{macrocode} -% Set up short cuts. Short form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural short form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Plural long form: -% \begin{macrocode} - \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]}% -% \end{macrocode} -% Full form: -% \begin{macrocode} - \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]})}% -% \end{macrocode} -% Plural full form: -% \begin{macrocode} - \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]})}% -}% +} % \end{macrocode} %\end{macro} % @@ -13803,10 +10303,11 @@ style `#1' undefined}{}}{% % \end{macrocode} %\end{macro} % -% Allow user to define their own custom acronyms. The short form is +% Allow user to define their own custom acronyms. +% (For compatibility with versions before v3.0, 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 +% 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. @@ -13824,9 +10325,9 @@ style `#1' undefined}{}}{% \newcommand*{\CustomAcronymFields}{% name={\the\glsshorttok},% description={\the\glslongtok},% - first={\the\glslongtok\space(\the\glsshorttok)},% - firstplural={\the\glslongtok\noexpand\acrpluralsuffix\space - (\the\glsshorttok)}% + first={\noexpand\acrfullformat{\the\glslongtok}{\the\glsshorttok}},% + firstplural={\noexpand\acrfullformat + {\the\glslongtok\noexpand\acrpluralsuffix}{\the\glsshorttok}}% text={\the\glsshorttok},% plural={\the\glsshorttok\noexpand\acrpluralsuffix}% } @@ -13840,6 +10341,10 @@ style `#1' undefined}{}}{% \noexpand\newglossaryentry{\the\glslabeltok}% {% type=\acronymtype,% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% user1={\the\glsshorttok},% user2={\the\glsshorttok\noexpand\acrpluralsuffix},% user3={\the\glslongtok},% @@ -13871,62 +10376,12 @@ style `#1' undefined}{}}{% \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} % @@ -14082,6 +10537,387 @@ style `#1' undefined}{}}{% \glossarystyle{\@glossary@default@style} \fi % \end{macrocode} +% +%\subsection{Debugging Commands} +% +%\begin{macro}{\showgloparent} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showgloparent}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showgloparent}[1]{% + \expandafter\show\csname glo@#1@parent\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglolevel} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglolevel}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglolevel}[1]{% + \expandafter\show\csname glo@#1@level\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglotext} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglotext}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglotext}[1]{% + \expandafter\show\csname glo@#1@text\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showgloplural} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showgloplural}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showgloplural}[1]{% + \expandafter\show\csname glo@#1@plural\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglofirst} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglofirst}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglofirst}[1]{% + \expandafter\show\csname glo@#1@first\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglofirstpl} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglofirstpl}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglofirstpl}[1]{% + \expandafter\show\csname glo@#1@firstpl\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglotype} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglotype}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglotype}[1]{% + \expandafter\show\csname glo@#1@type\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglocounter} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglocounter}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglocounter}[1]{% + \expandafter\show\csname glo@#1@counter\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglouseri} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglouseri}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglouseri}[1]{% + \expandafter\show\csname glo@#1@useri\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglouserii} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglouserii}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglouserii}[1]{% + \expandafter\show\csname glo@#1@userii\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglouseriii} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglouseriii}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglouseriii}[1]{% + \expandafter\show\csname glo@#1@useriii\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglouseriv} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglouseriv}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglouseriv}[1]{% + \expandafter\show\csname glo@#1@useriv\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglouserv} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglouserv}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglouserv}[1]{% + \expandafter\show\csname glo@#1@userv\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglouservi} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglouservi}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglouservi}[1]{% + \expandafter\show\csname glo@#1@uservi\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showgloname} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showgloname}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showgloname}[1]{% + \expandafter\show\csname glo@#1@name\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglodesc} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglodesc}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglodesc}[1]{% + \expandafter\show\csname glo@#1@desc\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglodescplural} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglodescplural}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglodescplural}[1]{% + \expandafter\show\csname glo@#1@descplural\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglosort} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglosort}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglosort}[1]{% + \expandafter\show\csname glo@#1@sort\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglosymbol} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglosymbol}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglosymbol}[1]{% + \expandafter\show\csname glo@#1@symbol\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglosymbolplural} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglosymbolplural}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showglosymbolplural}[1]{% + \expandafter\show\csname glo@#1@symbolplural\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showgloindex} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showgloindex}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showgloindex}[1]{% + \expandafter\show\csname glo@#1@index\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showgloflag} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showgloflag}\marg{label} +%\end{definition} +% \begin{macrocode} +\newcommand*{\showgloflag}[1]{% + \expandafter\show\csname ifglo@#1@flag\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showacronymlists} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showacronymlists} +%\end{definition} +% Show list of glossaries that have been flagged as a list of +% acronyms. +% \begin{macrocode} +\newcommand*{\showacronymlists}{% + \show\@glsacronymlists +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglossaries} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglossaries} +%\end{definition} +% Show list of defined glossaries. +% \begin{macrocode} +\newcommand*{\showglossaries}{% + \show\@glo@types +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglossaryin} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglossaryin}\marg{glossary-label} +%\end{definition} +% Show the `in' extension for the given glossary. +% \begin{macrocode} +\newcommand*{\showglossaryin}[1]{% + \expandafter\show\csname @glotype@#1@in\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglossaryout} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglossaryout}\marg{glossary-label} +%\end{definition} +% Show the `out' extension for the given glossary. +% \begin{macrocode} +\newcommand*{\showglossaryout}[1]{% + \expandafter\show\csname @glotype@#1@out\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglossarytitle} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglossarytitle}\marg{glossary-label} +%\end{definition} +% Show the title for the given glossary. +% \begin{macrocode} +\newcommand*{\showglossarytitle}[1]{% + \expandafter\show\csname @glotype@#1@title\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglossarycounter} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglossarycounter}\marg{glossary-label} +%\end{definition} +% Show the counter for the given glossary. +% \begin{macrocode} +\newcommand*{\showglossarycounter}[1]{% + \expandafter\show\csname @glotype@#1@counter\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\showglossaryentries} +%\changes{3.0}{2011/04/02}{new} +%\begin{definition} +%\cs{showglossaryentries}\marg{glossary-label} +%\end{definition} +% Show the list of entry labels for the given glossary. +% \begin{macrocode} +\newcommand*{\showglossaryentries}[1]{% + \expandafter\show\csname @glolist@#1\endcsname +} +% \end{macrocode} +%\end{macro} +% +%\subsection{Compatibility with version 2.07 and below} +% +% In order to fix some bugs in v3.0, it was necessary to change the +% way information is written to the \filetype{glo} file, which also meant +% a change in the format of the Xindy style file. The compatibility +% option is meant for documents that use a customised Xindy style +% file with \ics{noist}. With the compatibility option, hopefully +% \app{xindy} will still be able to process the old document, but +% the bugs will remain. The issues in versions 2.07 and below: +%\begin{itemize} +% \item With \pkgopt{xindy}, the counter used by the entry was +% hard-coded into the Xindy style file. This meant that you couldn't +% use the \gloskey[glslink]{counter} to swap counters. +% \item With both \pkgopt{xindy} and \pkgopt{makeindex}, if used +% with \sty{hyperref} and \cs{theH}\meta{counter} was different to +% \cs{thecounter}, the link in the location number would be +% undefined. +%\end{itemize} +% \begin{macrocode} +\csname ifglscompatible-2.07\endcsname + \RequirePackage{glossaries-compatible-207} +\fi +% \end{macrocode} %\iffalse % \begin{macrocode} %</glossaries.sty> @@ -14096,7 +10932,7 @@ style `#1' undefined}{}}{% %\label{sec:code:mfirstuc} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mfirstuc}[2009/11/03 v1.04 (NLCT)] +\ProvidesPackage{mfirstuc}[2011/04/02 v1.05 (NLCT)] % \end{macrocode} %\begin{macro}{\makefirstuc} % Syntax:\\ @@ -14129,22 +10965,22 @@ style `#1' undefined}{}}{% \if@glscs \@gls@getbody #1{}\@nil \ifx\@gls@rest\@empty - \@gls@makefirstuc{#1}% + \glsmakefirstuc{#1}% \else \expandafter\@gls@split\@gls@rest\@nil \ifx\@gls@first\@empty - \@gls@makefirstuc{#1}% + \glsmakefirstuc{#1}% \else \expandafter\@glsmfirst\expandafter{\@gls@first}% \expandafter\@glsmrest\expandafter{\@gls@rest}% \edef\@gls@domfirstuc{\noexpand\@gls@body - {\noexpand\@gls@makefirstuc\the\@glsmfirst}% + {\noexpand\glsmakefirstuc\the\@glsmfirst}% \the\@glsmrest}% \@gls@domfirstuc \fi \fi \else - \@gls@makefirstuc{#1}% + \glsmakefirstuc{#1}% \fi \fi } @@ -14171,6 +11007,13 @@ style `#1' undefined}{}}{% % \begin{macrocode} \def\@gls@makefirstuc#1{\MakeUppercase #1} % \end{macrocode} +%\begin{macro}{\glsmakefirstuc} +%\changes{1.05}{2011/04/02}{new} +% Provide a user command to make it easier to customise. +% \begin{macrocode} +\newcommand*{\glsmakefirstuc}[1]{\@gls@makefirstuc{#1}} +% \end{macrocode} +%\end{macro} % % Get the first grouped argument and stores in \cs{@gls@body}. % \begin{macrocode} @@ -14370,7 +11213,7 @@ style `#1' undefined}{}}{% % \ics{item} command, it will appear in a bold font by % default. % \begin{macrocode} -\ProvidesPackage{glossary-list}[2009/05/30 v2.01 (NLCT)] +\ProvidesPackage{glossary-list}[2011/03/28 v3.0 (NLCT)] % \end{macrocode} %\begin{style}{list} % The \glostyle{list} glossary style @@ -14400,11 +11243,13 @@ style `#1' undefined}{}}{% % Main (level 0) entries start a new item in the list: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \item[\glstarget{##1}{##2}] ##3\glspostdescription\space ##5}% + \item[\glsentryitem{##1}\glstarget{##1}{##2}] + ##3\glspostdescription\space ##5}% % \end{macrocode} % Sub-entries continue on the same line: % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% + \glssubentryitem{##2}% \glstarget{##2}{\strut}##4\glspostdescription\space ##6.}% % \end{macrocode} % Add vertical space between groups: @@ -14470,13 +11315,15 @@ style `#1' undefined}{}}{% % line break after the entry name: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \item[\glstarget{##1}{##2}]\mbox{}\newline + \item[\glsentryitem{##1}\glstarget{##1}{##2}]\mbox{}\newline ##3\glspostdescription\space ##5}% % \end{macrocode} % Sub-entries start a new paragraph: % \begin{macrocode} \renewcommand{\glossarysubentryfield}[6]{% - \par\glstarget{##2}{\strut}##4\glspostdescription\space ##6}% + \par + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4\glspostdescription\space ##6}% } % \end{macrocode} %\end{style} @@ -14538,13 +11385,16 @@ style `#1' undefined}{}}{% % Each main (level 0) entry starts a new item: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \item[]\makebox[\glslistdottedwidth][l]{\glstarget{##1}{##2}% - \unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}##3}% + \item[]\makebox[\glslistdottedwidth][l]{% + \glsentryitem{##1}\glstarget{##1}{##2}% + \unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}##3}% % \end{macrocode} % Sub entries have the same format as main entries: % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - \item[]\makebox[\glslistdottedwidth][l]{\glstarget{##2}{##3}% + \item[]\makebox[\glslistdottedwidth][l]{% + \glssubentryitem{##2}% + \glstarget{##2}{##3}% \unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}##4}% } % \end{macrocode} @@ -14570,7 +11420,7 @@ style `#1' undefined}{}}{% % Main (level 0) entries just display the name: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \item[\glstarget{##1}{##2}]}% + \item[\glsentryitem{##1}\glstarget{##1}{##2}]}% } % \end{macrocode} %\end{style} @@ -14589,7 +11439,7 @@ style `#1' undefined}{}}{% % The glossary styles defined in the \isty{glossary-long} package % used the \env{longtable} environment in the glossary. % \begin{macrocode} -\ProvidesPackage{glossary-long}[2009/05/30 v2.01 (NLCT)] +\ProvidesPackage{glossary-long}[2011/03/28 v3.0 (NLCT)] % \end{macrocode} % Requires the \isty{longtable} package: % \begin{macrocode} @@ -14644,12 +11494,14 @@ style `#1' undefined}{}}{% % Main (level 0) entries displayed in a row: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3\glspostdescription\space ##5\\}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3\glspostdescription\space ##5\\}% % \end{macrocode} % Sub entries displayed on the following row without the name: % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4\glspostdescription\space ##6\\}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4\glspostdescription\space ##6\\}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -14742,13 +11594,15 @@ style `#1' undefined}{}}{% % description in second column, page list in last column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##5\\}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##5\\}% % \end{macrocode} % Sub-entries on a separate row (no name, description in % second column, page list in third column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##6\\}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##6\\}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -14844,13 +11698,15 @@ style `#1' undefined}{}}{% % in last column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##4 & ##5\\}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##4 & ##5\\}% % \end{macrocode} % Sub entries on a single row with no name (description in second % column, symbol in third column, page list in last column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##5 & ##6\\}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##5 & ##6\\}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -15025,7 +11881,7 @@ style `#1' undefined}{}}{% % 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)] +\ProvidesPackage{glossary-longragged}[2011/03/28 v3.0 (NLCT)] % \end{macrocode} % Requires the \isty{array} package: % \begin{macrocode} @@ -15081,13 +11937,15 @@ style `#1' undefined}{}}{% % Main (level 0) entries displayed in a row: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3\glspostdescription\space ##5% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3\glspostdescription\space ##5% \tabularnewline}% % \end{macrocode} % Sub entries displayed on the following row without the name: % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4\glspostdescription\space ##6% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4\glspostdescription\space ##6% \tabularnewline}% % \end{macrocode} % Blank row between groups: @@ -15185,13 +12043,15 @@ style `#1' undefined}{}}{% % description in second column, page list in last column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##5\tabularnewline}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##5\tabularnewline}% % \end{macrocode} % Sub-entries on a separate row (no name, description in % second column, page list in third column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##6\tabularnewline}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##6\tabularnewline}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -15292,13 +12152,15 @@ style `#1' undefined}{}}{% % in last column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##4 & ##5\tabularnewline}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##4 & ##5\tabularnewline}% % \end{macrocode} % Sub entries on a single row with no name (description in second % column, symbol in third column, page list in last column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##5 & ##6\tabularnewline}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##5 & ##6\tabularnewline}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -15402,7 +12264,7 @@ style `#1' undefined}{}}{% % The glossary styles defined in the \isty{glossary-super} package % use the \env{supertabular} environment. % \begin{macrocode} -\ProvidesPackage{glossary-super}[2009/05/30 v2.01 (NLCT)] +\ProvidesPackage{glossary-super}[2011/03/28 v3.0 (NLCT)] % \end{macrocode} % Requires the \isty{supertabular} package: % \begin{macrocode} @@ -15461,13 +12323,15 @@ style `#1' undefined}{}}{% % description and page list in second column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3\glspostdescription\space ##5\\}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3\glspostdescription\space ##5\\}% % \end{macrocode} % Sub entries put in a row (no name, description and page list % in second column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4\glspostdescription\space ##6\\}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4\glspostdescription\space ##6\\}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -15569,13 +12433,15 @@ style `#1' undefined}{}}{% % description in second column, page list in last column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##5\\}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##5\\}% % \end{macrocode} % Sub entries on a row (no name, description in second column, % page list in last column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##6\\}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##6\\}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -15681,13 +12547,15 @@ style `#1' undefined}{}}{% % and page list in last column: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##4 & ##5\\}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##4 & ##5\\}% % \end{macrocode} % Sub entries on a row with no name, the description in the second % column, symbol in third column and page list in last column: % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##5 & ##6\\}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##5 & ##6\\}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -15874,7 +12742,7 @@ style `#1' undefined}{}}{% % are like those provided by the \isty{glossary-super} package, % except that the multiline columns have ragged right justification. % \begin{macrocode} -\ProvidesPackage{glossary-superragged}[2009/05/30 v2.01 (NLCT)] +\ProvidesPackage{glossary-superragged}[2011/03/28 v3.0 (NLCT)] % \end{macrocode} % Requires the \isty{array} package: % \begin{macrocode} @@ -15932,14 +12800,16 @@ style `#1' undefined}{}}{% % description and page list in second column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3\glspostdescription\space ##5% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3\glspostdescription\space ##5% \tabularnewline}% % \end{macrocode} % Sub entries put in a row (no name, description and page list % in second column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4\glspostdescription\space ##6% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4\glspostdescription\space ##6% \tabularnewline}% % \end{macrocode} % Blank row between groups: @@ -16044,13 +12914,15 @@ style `#1' undefined}{}}{% % description in second column, page list in last column): % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##5\tabularnewline}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##5\tabularnewline}% % \end{macrocode} % Sub entries on a row (no name, description in second column, % page list in last column): % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##6\tabularnewline}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##6\tabularnewline}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -16160,12 +13032,14 @@ style `#1' undefined}{}}{% % and page list in last column: % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% - \glstarget{##1}{##2} & ##3 & ##4 & ##5\tabularnewline}% + \glsentryitem{##1}\glstarget{##1}{##2} & ##3 & ##4 & ##5\tabularnewline}% % \end{macrocode} % Sub entries on a row with no name, the description in the second% column, symbol in third column and page list in last column: % \begin{macrocode} \renewcommand*{\glossarysubentryfield}[6]{% - & \glstarget{##2}{\strut}##4 & ##5 & ##6\tabularnewline}% + & + \glssubentryitem{##2}% + \glstarget{##2}{\strut}##4 & ##5 & ##6\tabularnewline}% % \end{macrocode} % Blank row between groups: % \begin{macrocode} @@ -16264,7 +13138,7 @@ style `#1' undefined}{}}{% % that have a tree-like structure. These are designed for % hierarchical glossaries. % \begin{macrocode} -\ProvidesPackage{glossary-tree}[2009/01/14 v1.01 (NLCT)] +\ProvidesPackage{glossary-tree}[2011/03/28 v3.0 (NLCT)] % \end{macrocode} % %\begin{style}{index} @@ -16301,7 +13175,7 @@ style `#1' undefined}{}}{% % and the page list. % \begin{macrocode} \renewcommand*{\glossaryentryfield}[5]{% -\item\textbf{\glstarget{##1}{##2}}% +\item\glsentryitem{##1}\textbf{\glstarget{##1}{##2}}% \ifx\relax##4\relax \else \space(##4)% @@ -16322,6 +13196,7 @@ style `#1' undefined}{}}{% \or % level 1 \subitem + \glssubentryitem{##2}% \else % all other levels \subsubitem @@ -16411,7 +13286,7 @@ style `#1' undefined}{}}{% \renewcommand{\glossaryentryfield}[5]{% \hangindent0pt\relax \parindent0pt\relax - \textbf{\glstarget{##1}{##2}}% + \glsentryitem{##1}\textbf{\glstarget{##1}{##2}}% \ifx\relax##4\relax \else \space(##4)% @@ -16426,6 +13301,9 @@ style `#1' undefined}{}}{% \renewcommand{\glossarysubentryfield}[6]{% \hangindent##1\glstreeindent\relax \parindent##1\glstreeindent\relax + \ifnum##1=1\relax + \glssubentryitem{##2}% + \fi \textbf{\glstarget{##2}{##3}}% \ifx\relax##5\relax \else @@ -16524,7 +13402,7 @@ style `#1' undefined}{}}{% \renewcommand{\glossaryentryfield}[5]{% \hangindent0pt\relax \parindent0pt\relax - \textbf{\glstarget{##1}{##2}}% + \glsentryitem{##1}\textbf{\glstarget{##1}{##2}}% \ifx\relax##4\relax \else \space(##4)% @@ -16538,6 +13416,9 @@ style `#1' undefined}{}}{% \renewcommand{\glossarysubentryfield}[6]{% \hangindent##1\glstreeindent\relax \parindent##1\glstreeindent\relax + \ifnum##1=1\relax + \glssubentryitem{##2}% + \fi \glstarget{##2}{\strut}% ##4\glspostdescription\space ##6\par}% % \end{macrocode} @@ -16657,7 +13538,7 @@ style `#1' undefined}{}}{% % Put the name to the left of the paragraph block. % \begin{macrocode} \makebox[0pt][r]{\makebox[\glstreeindent][l]{% - \textbf{\glstarget{##1}{##2}}}}% + \glsentryitem{##1}\textbf{\glstarget{##1}{##2}}}}% % \end{macrocode} % If the symbol is missing, ignore it, otherwise put it in % brackets. @@ -16681,6 +13562,13 @@ style `#1' undefined}{}}{% % \begin{macrocode} \renewcommand{\glossarysubentryfield}[6]{% % \end{macrocode} +% Increment and display the sub-entry counter if this is a level~1 +% entry and the sub-entry counter is in use. +% \begin{macrocode} + \ifnum##1=1\relax + \glssubentryitem{##2}% + \fi +% \end{macrocode} % If the level hasn't changed, keep the same settings, otherwise % adjust \cs{glstreeindent} accordingly. % \begin{macrocode} @@ -16821,10 +13709,375 @@ style `#1' undefined}{}}{% %\fi %\iffalse % \begin{macrocode} +%<*glossaries-compatible-207.sty> +% \end{macrocode} +%\fi +%\section{glossaries-compatible-207} +% Provides compatibility with version 2.07 and below. This uses +% original \sty{glossaries} xindy and makeindex formatting, so can +% be used with old documents that had customized style files, but +% hyperlinks may not work properly. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{glossaries-compatible-207}[2011/04/02 v1.0 (NLCT)] +% \end{macrocode} +%\begin{macro}{\GlsAddXdyAttribute} +% Adds an attribute in old format. +% \begin{macrocode} +\ifglsxindy + \renewcommand*\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")}} +% \end{macrocode} +% Only has an effect before \ics{writeist}: +% \begin{macrocode} +\fi +% \end{macrocode} +%\end{macro} +%\begin{macro}{\GlsAddXdyCounters} +% \begin{macrocode} +\renewcommand*\GlsAddXdyCounters[1]{% + \GlossariesWarning{\string\GlsAddXdyCounters\space not available + in compatibility mode.}% +} +% \end{macrocode} +%\end{macro} +% Add predefined attributes +% \begin{macrocode} + \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} +% \end{macrocode} +% +%\begin{macro}{\GlsAddXdyLocation} +% Restore v2.07 definition: +% \begin{macrocode} +\ifglsxindy + \renewcommand*{\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"}% + } +\fi +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@do@wrglossary} +% \begin{macrocode} +\renewcommand{\@do@wrglossary}[1]{% +% \end{macrocode} +% Determine whether to use \app{xindy} or \app{makeindex} +% syntax +% \begin{macrocode} +\ifglsxindy +% \end{macrocode} +% Need to determine if the formatting information starts with +% a ( or ) indicating a range. +% \begin{macrocode} + \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 +% \end{macrocode} +% Get the location and escape any special characters +% \begin{macrocode} + \protected@edef\@glslocref{\theglsentrycounter}% + \@gls@checkmkidxchars\@glslocref +% \end{macrocode} +% Write to the glossary file using \app{xindy} syntax. +% \begin{macrocode} + \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 +% \end{macrocode} +% Convert the format information into the format required for +% \app{makeindex} +% \begin{macrocode} + \@set@glo@numformat\@glo@numfmt\@gls@counter\@glsnumberformat +% \end{macrocode} +% Write to the glossary file using \app{makeindex} syntax. +% \begin{macrocode} + \glossary[\csname glo@#1@type\endcsname]{% + \string\glossaryentry{\csname glo@#1@index\endcsname + \@gls@encapchar\@glo@numfmt}{\theglsentrycounter}}% +\fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@set@glo@numformat} +% Only had 3 arguments in v2.07 +% \begin{macrocode} +\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% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\writeist} +% Redefine \cs{writeist} back to the way it was in v2.07, but change +% \cs{istfile} to \cs{glswrite}. +% \begin{macrocode} +\ifglsxindy + \def\writeist{% + \openout\glswrite=\istfilename + \write\glswrite{;; xindy style file created by the glossaries + package in compatible-2.07 mode}% + \write\glswrite{;; for document '\jobname' on + \the\year-\the\month-\the\day}% + \write\glswrite{^^J; required styles^^J} + \@for\@xdystyle:=\@xdyrequiredstyles\do{% + \ifx\@xdystyle\@empty + \else + \protected@write\glswrite{}{(require + \string"\@xdystyle.xdy\string")}% + \fi + }% + \write\glswrite{^^J% + ; list of allowed attributes (number formats)^^J}% + \write\glswrite{(define-attributes ((\@xdyattributes)))}% + \write\glswrite{^^J; user defined alphabets^^J}% + \write\glswrite{\@xdyuseralphabets}% + \write\glswrite{^^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\glswrite{(define-location-class + \string"roman-page-numbers\string"^^J\space\space\space + (\string"roman-numbers-lowercase\string") + :min-range-length \@glsminrange)}% + \else + \write\glswrite{(define-location-class + \string"roman-page-numbers\string"^^J\space\space\space + (:sep "\@gls@roman") + :min-range-length \@glsminrange)}% + \fi + \write\glswrite{(define-location-class + \string"Roman-page-numbers\string"^^J\space\space\space + (\string"roman-numbers-uppercase\string") + :min-range-length \@glsminrange)}% + \write\glswrite{(define-location-class + \string"arabic-page-numbers\string"^^J\space\space\space + (\string"arabic-numbers\string") + :min-range-length \@glsminrange)}% + \write\glswrite{(define-location-class + \string"alpha-page-numbers\string"^^J\space\space\space + (\string"alpha\string") + :min-range-length \@glsminrange)}% + \write\glswrite{(define-location-class + \string"Alpha-page-numbers\string"^^J\space\space\space + (\string"ALPHA\string") + :min-range-length \@glsminrange)}% + \write\glswrite{(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\glswrite{(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\glswrite{^^J; user defined location classes}% + \write\glswrite{\@xdyuserlocationdefs}% + \write\glswrite{^^J; define cross-reference class^^J}% + \write\glswrite{(define-crossref-class \string"see\string" + :unverified )}% + \write\glswrite{(markup-crossref-list + :class \string"see\string"^^J\space\space\space + :open \string"\string\glsseeformat\string" + :close \string"{}\string")}% + \write\glswrite{^^J; define the order of the location classes}% + \write\glswrite{(define-location-class-order + (\@xdylocationclassorder))}% + \write\glswrite{^^J; define the glossary markup^^J}% + \write\glswrite{(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\glswrite{(markup-letter-group-list + :sep \string"\string\glsgroupskip\string~n\string")}% + \write\glswrite{(markup-indexentry + :open \string"\string\relax \string\glsresetentrylist + \string~n\string")}% + \write\glswrite{(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\glswrite{(markup-locref-list + :sep \string"\string\delimN\space\string")}% + \write\glswrite{(markup-range + :sep \string"\string\delimR\space\string")}% + \@onelevel@sanitize\gls@suffixF + \@onelevel@sanitize\gls@suffixFF + \ifx\gls@suffixF\@empty + \else + \write\glswrite{(markup-range + :close "\gls@suffixF" :length 1 :ignore-end)}% + \fi + \ifx\gls@suffixFF\@empty + \else + \write\glswrite{(markup-range + :close "\gls@suffixFF" :length 2 :ignore-end)}% + \fi + \write\glswrite{^^J; define format to use for locations^^J}% + \write\glswrite{\@xdylocref}% + \write\glswrite{^^J; define letter group list format^^J}% + \write\glswrite{(markup-letter-group-list + :sep \string"\string\glsgroupskip\string~n\string")}% + \write\glswrite{^^J; letter group headings^^J}% + \write\glswrite{(markup-letter-group + :open-head \string"\string\glsgroupheading + \glsopenbrace\string"^^J\space\space\space + :close-head \string"\glsclosebrace\string")}% + \write\glswrite{^^J; additional letter groups^^J}% + \write\glswrite{\@xdylettergroups}% + \write\glswrite{^^J; additional sort rules^^J} + \write\glswrite{\@xdysortrules}% + \noist} +\else + \edef\@gls@actualchar{\string?} + \edef\@gls@encapchar{\string|} + \edef\@gls@levelchar{\string!} + \edef\@gls@quotechar{\string"} + \def\writeist{\relax + \openout\glswrite=\istfilename + \write\glswrite{\expandafter\@gobble\string\% makeindex style file + created by the glossaries package} + \write\glswrite{\expandafter\@gobble\string\% for document + '\jobname' on \the\year-\the\month-\the\day} + \write\glswrite{actual '\@gls@actualchar'} + \write\glswrite{encap '\@gls@encapchar'} + \write\glswrite{level '\@gls@levelchar'} + \write\glswrite{quote '\@gls@quotechar'} + \write\glswrite{keyword \string"\string\\glossaryentry\string"} + \write\glswrite{preamble \string"\string\\glossarysection[\string + \\glossarytoctitle]{\string\\glossarytitle}\string + \\glossarypreamble\string\n\string\\begin{theglossary}\string + \\glossaryheader\string\n\string"} + \write\glswrite{postamble \string"\string\%\string\n\string + \\end{theglossary}\string\\glossarypostamble\string\n + \string"} + \write\glswrite{group_skip \string"\string\\glsgroupskip\string\n + \string"} + \write\glswrite{item_0 \string"\string\%\string\n\string"} + \write\glswrite{item_1 \string"\string\%\string\n\string"} + \write\glswrite{item_2 \string"\string\%\string\n\string"} + \write\glswrite{item_01 \string"\string\%\string\n\string"} + \write\glswrite{item_x1 + \string"\string\\relax \string\\glsresetentrylist\string\n + \string"} + \write\glswrite{item_12 \string"\string\%\string\n\string"} + \write\glswrite{item_x2 + \string"\string\\relax \string\\glsresetentrylist\string\n + \string"} + \write\glswrite{delim_0 \string"\string\{\string + \\glossaryentrynumbers\string\{\string\\relax \string"} + \write\glswrite{delim_1 \string"\string\{\string + \\glossaryentrynumbers\string\{\string\\relax \string"} + \write\glswrite{delim_2 \string"\string\{\string + \\glossaryentrynumbers\string\{\string\\relax \string"} + \write\glswrite{delim_t \string"\string\}\string\}\string"} + \write\glswrite{delim_n \string"\string\\delimN \string"} + \write\glswrite{delim_r \string"\string\\delimR \string"} + \write\glswrite{headings_flag 1} + \write\glswrite{heading_prefix + \string"\string\\glsgroupheading\string\{\string"} + \write\glswrite{heading_suffix + \string"\string\}\string\\relax + \string\\glsresetentrylist \string"} + \write\glswrite{symhead_positive \string"glssymbols\string"} + \write\glswrite{numhead_positive \string"glsnumbers\string"} + \write\glswrite{page_compositor \string"\glscompositor\string"} + \@gls@escbsdq\gls@suffixF + \@gls@escbsdq\gls@suffixFF + \ifx\gls@suffixF\@empty + \else + \write\glswrite{suffix_2p \string"\gls@suffixF\string"} + \fi + \ifx\gls@suffixFF\@empty + \else + \write\glswrite{suffix_3p \string"\gls@suffixFF\string"} + \fi + \noist + } +\fi +% \end{macrocode} +%\end{macro} +%\begin{macro}{\noist} +% \begin{macrocode} +\renewcommand*{\noist}{\let\writeist\relax} +% \end{macrocode} +%\end{macro} +%\iffalse +% \begin{macrocode} +%</glossaries-compatible-207.sty> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} %<*glossaries-accsupp.sty> % \end{macrocode} %\fi -%\section{Accessibilty Support (glossaries-accsupp Code)} +%\section{Accessibility Support (glossaries-accsupp Code)} %\label{sec:code:accsupp} % The \isty{glossaries-accsupp} package is experimental. It is % intended to provide a means of using the PDF accessibilty support @@ -16832,7 +14085,13 @@ style `#1' undefined}{}}{% % further details about accessibility support. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-accsupp}[2009/11/02 v0.2 (NLCT)] +% \end{macrocode} +% Package version number now in line with main glossaries package number +% but will only be updated when \texttt{glossaries-accsupp.sty} is +% modified. +% \begin{macrocode} +\ProvidesPackage{glossaries-accsupp}[2011/04/02 v3.0 (NLCT) + Experimental glossaries accessibility] % \end{macrocode} % Pass all options to \sty{glossaries}: % \begin{macrocode} @@ -16927,6 +14186,38 @@ style `#1' undefined}{}}{% } % \end{macrocode} %\end{key} +%\begin{key}{shortaccess} +% The replacement text corresponding to the \gloskey{short} key: +% \begin{macrocode} +\define@key{glossentry}{shortaccess}{% + \def\@glo@shortaccess{#1}% +} +% \end{macrocode} +%\end{key} +%\begin{key}{shortpluralaccess} +% The replacement text corresponding to the \gloskey{shortplural} key: +% \begin{macrocode} +\define@key{glossentry}{shortpluralaccess}{% + \def\@glo@shortpluralaccess{#1}% +} +% \end{macrocode} +%\end{key} +%\begin{key}{longaccess} +% The replacement text corresponding to the \gloskey{long} key: +% \begin{macrocode} +\define@key{glossentry}{longaccess}{% + \def\@glo@longaccess{#1}% +} +% \end{macrocode} +%\end{key} +%\begin{key}{longpluralaccess} +% The replacement text corresponding to the \gloskey{longplural} key: +% \begin{macrocode} +\define@key{glossentry}{longpluralaccess}{% + \def\@glo@longpluralaccess{#1}% +} +% \end{macrocode} +%\end{key} % There are no equivalent keys for the \gloskey{user1}\ldots %\gloskey{user6} keys. The replacement text would have to be % explicitly put in the value, e.g., @@ -16958,6 +14249,10 @@ style `#1' undefined}{}}{% \def\@glo@symbolpluralaccess{\@glo@symbolaccess}% \def\@glo@descaccess{\relax}% \def\@glo@descpluralaccess{\@glo@descaccess}% + \def\@glo@shortaccess{\relax}% + \def\@glo@shortpluralaccess{\@glo@shortaccess}% + \def\@glo@longaccess{\relax}% + \def\@glo@longpluralaccess{\@glo@longaccess}% } % \end{macrocode} % Add to the end hook: @@ -16995,6 +14290,18 @@ style `#1' undefined}{}}{% \expandafter \protected@xdef\csname glo@\@glo@label @descpluralaccess\endcsname{% \@glo@descpluralaccess}% + \expandafter + \protected@xdef\csname glo@\@glo@label @shortaccess\endcsname{% + \@glo@shortaccess}% + \expandafter + \protected@xdef\csname glo@\@glo@label @shortpluralaccess\endcsname{% + \@glo@shortpluralaccess}% + \expandafter + \protected@xdef\csname glo@\@glo@label @longaccess\endcsname{% + \@glo@longaccess}% + \expandafter + \protected@xdef\csname glo@\@glo@label @longpluralaccess\endcsname{% + \@glo@longpluralaccess}% } % \end{macrocode} % @@ -17081,6 +14388,43 @@ style `#1' undefined}{}}{% % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsentryshortaccess} +% Get the value of the \gloskey{shortaccess} key for the entry with +% the given label: +% \begin{macrocode} +\newcommand*{\glsentryshortaccess}[1]{% + \csname glo@#1@shortaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsentryshortpluralaccess} +% Get the value of the \gloskey{shortpluralaccess} key for the entry with +% the given label: +% \begin{macrocode} +\newcommand*{\glsentryshortpluralaccess}[1]{% + \csname glo@#1@shortpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsentrylongaccess} +% Get the value of the \gloskey{longaccess} key for the entry with +% the given label: +% \begin{macrocode} +\newcommand*{\glsentrylongaccess}[1]{% + \csname glo@#1@longaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsentrylongpluralaccess} +% Get the value of the \gloskey{longpluralaccess} key for the entry with +% the given label: +% \begin{macrocode} +\newcommand*{\glsentrylongpluralaccess}[1]{% + \csname glo@#1@longpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsaccsupp} %\cs{glsaccsupp}\marg{replacement text}\marg{text}\\[10pt] % This can be redefined to use "E" or "Alt" instead of @@ -17220,6 +14564,61 @@ style `#1' undefined}{}}{% } % \end{macrocode} %\end{macro} +%\begin{macro}{\glsshortaccessdisplay} +% As above but for the \gloskey{shortaccess} replacement text. +% \begin{macrocode} +\DeclareRobustCommand*{\glsshortaccessdisplay}[2]{% + \protected@edef\@glo@access{\glsentryshortaccess{#2}}% + \ifx\@glo@access\@gls@noaccess + #1% + \else + \xglsaccsupp{\@glo@access}{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsshortpluralaccessdisplay} +% As above but for the \gloskey{shortpluralaccess} replacement text. +% \begin{macrocode} +\DeclareRobustCommand*{\glsshortpluralaccessdisplay}[2]{% + \protected@edef\@glo@access{\glsentryshortpluralaccess{#2}}% + \ifx\@glo@access\@gls@noaccess + #1% + \else + \xglsaccsupp{\@glo@access}{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glslongaccessdisplay} +% As above but for the \gloskey{longaccess} replacement text. +% \begin{macrocode} +\DeclareRobustCommand*{\glslongaccessdisplay}[2]{% + \protected@edef\@glo@access{\glsentrylongaccess{#2}}% + \ifx\@glo@access\@gls@noaccess + #1% + \else + \xglsaccsupp{\@glo@access}{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glslongpluralaccessdisplay} +% As above but for the \gloskey{longpluralaccess} replacement text. +% \begin{macrocode} +\DeclareRobustCommand*{\glslongpluralaccessdisplay}[2]{% + \protected@edef\@glo@access{\glsentrylongpluralaccess{#2}}% + \ifx\@glo@access\@gls@noaccess + #1% + \else + \xglsaccsupp{\@glo@access}{#1}% + \fi +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsaccessdisplay} % Gets the replacement text corresponding to the named key given % by the first argument and calls the appropriate command @@ -17597,6 +14996,138 @@ style `#1' undefined}{}}{% % \end{macrocode} %\end{macro} % +%\begin{macro}{\@acrshort} +% \begin{macrocode} +\def\@acrshort#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \def\@glo@text{% + \glsshortaccessdisplay{\glsentryshort{#2}}{#2}% + }% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\@glo@text}#3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Acrshort} +% \begin{macrocode} +\def\@Acrshort#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \def\@glo@text{% + \glsshortaccessdisplay{\Glsentryshort{#2}}{#2}% + }% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\@glo@text}#3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@ACRshort} +% \begin{macrocode} +\def\@ACRshort#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \def\@glo@text{% + \glsshortaccessdisplay{\MakeUppercase{\glsentryshort{#2}}}{#2}% + }% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\acronymfont{\@glo@text#3}}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@acrlong} +% \begin{macrocode} +\def\@acrlong#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \def\@glo@text{% + \glslongaccessdisplay{\glsentrylong{#2}}{#2}% + }% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\@glo@text#3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@Acrlong} +% \begin{macrocode} +\def\@Acrlong#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \def\@glo@text{% + \glslongaccessdisplay{\Glsentrylong{#2}}{#2}% + }% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\@glo@text#3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@ACRlong} +% \begin{macrocode} +\def\@ACRlong#1#2[#3]{% + \glsdoifexists{#2}% + {% + \edef\@glo@type{\glsentrytype{#2}}% +% \end{macrocode} +% Determine what the link text should be (this is stored in +% \cs{@glo@text}) +% \begin{macrocode} + \def\@glo@text{% + \glslongaccessdisplay{\MakeUppercase{\glsentrylong{#2}}}{#2}% + }% +% \end{macrocode} +% Call \cs{@gls@link} +% \begin{macrocode} + \@gls@link[#1]{#2}{\@glo@text#3}% + }% +} +% \end{macrocode} +%\end{macro} +% %\subsection{Displaying the Glossary} % Entries within the glossary or list of acronyms are now formatted % via \cs{accsuppglossaryentryfield} and @@ -17649,7 +15180,7 @@ style `#1' undefined}{}}{% % the access text to the long version by default. % \begin{macrocode} \renewcommand*{\newacronymhook}{% - \edef\@gls@keylist{\glsshortkey access=\the\glslongtok,% + \edef\@gls@keylist{shortaccess=\the\glslongtok,% \the\glskeylisttok}% \expandafter\glskeylisttok\expandafter{\@gls@keylist}% } @@ -17666,21 +15197,26 @@ style `#1' undefined}{}}{% description={\the\glslongtok},% descriptionaccess=\relax, text={\the\glsshorttok},% - textaccess={\the\glslongtok},% access={\noexpand\@glo@textaccess},% sort={\the\glsshorttok},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + shortaccess={\the\glslongtok},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% descriptionplural={\the\glslongtok\noexpand\acrpluralsuffix},% - firstaccess=\relax, - first={\noexpand\glsdescriptionaccessdisplay + first={\noexpand\glslongaccessdisplay {\the\glslongtok}{\the\glslabeltok}\space - (\noexpand\glstextaccessdisplay + (\noexpand\glsshortaccessdisplay {\the\glsshorttok}{\the\glslabeltok})},% plural={\the\glsshorttok\acrpluralsuffix},% - firstplural={\noexpand\glsdescriptionpluralaccessdisplay - {\noexpand\@glo@descplural}{\the\glslabeltok}\space - (\noexpand\glspluralaccessdisplay - {\noexpand\@glo@plural}{\the\glslabeltok})},% + firstplural={\noexpand\glslongpluralaccessdisplay + {\noexpand\@glo@longpl}{\the\glslabeltok}\space + (\noexpand\glsshortpluralaccessdisplay + {\noexpand\@glo@shortpl}{\the\glslabeltok})},% + firstaccess=\relax, firstpluralaccess=\relax, + textaccess={\noexpand\@glo@shortaccess},% \the\glskeylisttok }% }% @@ -17698,11 +15234,17 @@ style `#1' undefined}{}}{% name={\noexpand\acronymfont{\the\glsshorttok}},% sort={\the\glsshorttok},% text={\the\glsshorttok},% - textaccess={\the\glslongtok},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + shortaccess={\the\glslongtok},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% access={\noexpand\@glo@textaccess},% plural={\the\glsshorttok\noexpand\acrpluralsuffix},% symbol={\the\glslongtok},% symbolplural={\the\glslongtok\noexpand\acrpluralsuffix},% + firstpluralaccess=\relax, + textaccess={\noexpand\@glo@shortaccess},% \the\glskeylisttok }% }% @@ -17721,6 +15263,11 @@ style `#1' undefined}{}}{% \acrnameformat{\the\glsshorttok}{\the\glslongtok}},% access={\noexpand\@glo@textaccess},% sort={\the\glsshorttok},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + shortaccess={\the\glslongtok},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% first={\the\glslongtok},% firstaccess=\relax, firstplural={\the\glslongtok\noexpand\acrpluralsuffix},% @@ -17730,6 +15277,8 @@ style `#1' undefined}{}}{% symbol={\noexpand\@glo@text},% symbolaccess={\noexpand\@glo@textaccess},% symbolplural={\noexpand\@glo@plural},% + firstpluralaccess=\relax, + textaccess={\noexpand\@glo@shortaccess},% \the\glskeylisttok}% }% \@do@newglossaryentry @@ -17744,11 +15293,15 @@ style `#1' undefined}{}}{% {% type=\acronymtype,% name={\noexpand\acronymfont{\the\glsshorttok}},% - access={\noexpand\@glo@textaccess},% sort={\the\glsshorttok},% text={\the\glsshorttok},% textaccess={\the\glslongtok},% + access={\noexpand\@glo@textaccess},% plural={\the\glsshorttok\noexpand\acrpluralsuffix},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% description={\the\glslongtok},% descriptionplural={\the\glslongtok\noexpand\acrpluralsuffix},% \the\glskeylisttok @@ -17768,9 +15321,14 @@ style `#1' undefined}{}}{% name={\noexpand\acronymfont{\the\glsshorttok}},% access={\noexpand\@glo@symbolaccess},% sort={\the\glsshorttok},% - text={\noexpand\@glo@symbol},% - textaccess={\noexpand\@glo@symbolaccess},% - plural={\noexpand\@glo@symbolplural},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + shortaccess={\the\glslongtok},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% + text={\noexpand\@glo@short},% + textaccess={\noexpand\@glo@shortaccess},% + plural={\noexpand\@glo@shortpl},% first={\the\glslongtok},% firstaccess=\relax, firstplural={\the\glslongtok\noexpand\acrpluralsuffix},% @@ -17786,7 +15344,9 @@ style `#1' undefined}{}}{% } % \end{macrocode} %\end{macro} -% Add means of referencing accessibility support for acronyms: +% +% The following are kept for compatibility with versions before +% 3.0: %\begin{macro}{\glsshortaccesskey} % \begin{macrocode} \newcommand*{\glsshortaccesskey}{\glsshortkey access}% @@ -17807,6 +15367,99 @@ style `#1' undefined}{}}{% \newcommand*{\glslongpluralaccesskey}{\glslongpluralkey access}% % \end{macrocode} %\end{macro} +%\subsection{Debugging Commands} +% +%\begin{macro}{\showglonameaccess} +% \begin{macrocode} +\newcommand*{\showglonameaccess}[1]{% + \expandafter\show\csname glo@#1@textaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglotextaccess} +% \begin{macrocode} +\newcommand*{\showglotextaccess}[1]{% + \expandafter\show\csname glo@#1@textaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglopluralaccess} +% \begin{macrocode} +\newcommand*{\showglopluralaccess}[1]{% + \expandafter\show\csname glo@#1@pluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglofirstaccess} +% \begin{macrocode} +\newcommand*{\showglofirstaccess}[1]{% + \expandafter\show\csname glo@#1@firstaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglofirstpluralaccess} +% \begin{macrocode} +\newcommand*{\showglofirstpluralaccess}[1]{% + \expandafter\show\csname glo@#1@firstpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglosymbolaccess} +% \begin{macrocode} +\newcommand*{\showglosymbolaccess}[1]{% + \expandafter\show\csname glo@#1@symbolaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglosymbolpluralaccess} +% \begin{macrocode} +\newcommand*{\showglosymbolpluralaccess}[1]{% + \expandafter\show\csname glo@#1@symbolpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglodescaccess} +% \begin{macrocode} +\newcommand*{\showglodescaccess}[1]{% + \expandafter\show\csname glo@#1@descaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglodescpluralaccess} +% \begin{macrocode} +\newcommand*{\showglodescpluralaccess}[1]{% + \expandafter\show\csname glo@#1@descpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showgloshortaccess} +% \begin{macrocode} +\newcommand*{\showgloshortaccess}[1]{% + \expandafter\show\csname glo@#1@shortaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showgloshortpluralaccess} +% \begin{macrocode} +\newcommand*{\showgloshortpluralaccess}[1]{% + \expandafter\show\csname glo@#1@shortpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglolongaccess} +% \begin{macrocode} +\newcommand*{\showglolongaccess}[1]{% + \expandafter\show\csname glo@#1@longaccess\endcsname +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\showglolongpluralaccess} +% \begin{macrocode} +\newcommand*{\showglolongpluralaccess}[1]{% + \expandafter\show\csname glo@#1@longpluralaccess\endcsname +} +% \end{macrocode} +%\end{macro} %\iffalse % \begin{macrocode} %</glossaries-accsupp.sty> @@ -18654,6 +16307,8 @@ style `#1' undefined}{}}{% %\fi %\iffalse % \begin{macrocode} + % This file is public domain. + % % This is a minimal file for testing and debugging % the glossaries package. Change the class file as % desired, and add the relevant package options to @@ -18710,11 +16365,57 @@ First use: \glspl{aca}. Second use: \glspl{aca}. %\fi %\iffalse % \begin{macrocode} +%<*sample-crossref.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +\documentclass{article} + +\usepackage[colorlinks]{hyperref} +\usepackage[sanitize={description=false}]{glossaries} + +\makeglossaries + +\renewcommand{\glsseeitemformat}[1]{\textsc{\glsentryname{#1}}} + +\newglossaryentry{pear}{name=pear, +description={an oddly shaped fruit}} + +\newglossaryentry{apple}{name=apple, +description={firm, round fruit}, +see=[see also]{pear}} + +\newglossaryentry{banana}{name=banana, +description={a yellow fruit with an even odder shape than +a \protect\gls{pear}}} + +\newglossaryentry{fruit}{name=fruit, +description={sweet, fleshy product of plant containing seed}} + +\glssee{fruit}{pear,apple,banana} + +\begin{document} +\gls{pear}, \gls{apple} and \gls{banana}. + +\printglossaries + +\end{document} +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%</sample-crossref.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} %<*sample-custom-acronym.tex> % \end{macrocode} %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{report} \usepackage[colorlinks]{hyperref} @@ -18755,14 +16456,14 @@ First use: \glspl{aca}. Second use: \glspl{aca}. % ##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 short form can be obtained via \glsentryshort{\glslabel} % The plural short form can be obtained via - % \glsentryuserii{\glslabel} - % The long form can be obtained via \glsentryuseriii{\glslabel} + % \glsentryshortplural{\glslabel} + % The long form can be obtained via \glsentrylong{\glslabel} % The plural long form can be obtained via - % \glsentryuseriv{\glslabel} + % \glsentrylongplural{\glslabel} \defglsdisplayfirst[#1]{##1##4\protect\footnote{% - \glsentryuseriii{\glslabel}: ##2}}% + \glsentrylong{\glslabel}: ##2}}% % ##1 corresponds to the 'text' key % the rest as above \defglsdisplay[#1]{##1##4}% @@ -18798,35 +16499,79 @@ Sheet} %\fi %\iffalse % \begin{macrocode} +%<*sample-dual.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} + % This file is public domain +\documentclass{article} + +\usepackage[acronym]{glossaries} + + % \newdualentry[main options]{label}{short}{long}{description} + +\newcommand*{\newdualentry}[5][]{% + \newglossaryentry{main-#2}{name={#4},% + text={#3\protect\glsadd{#2}},% + description={#5},% + #1 + }% + \newacronym{#2}{#3\protect\glsadd{main-#2}}{#4} +} + +\newdualentry{svm}% label + {SVM}% abbreviation + {support vector machine}% long form + {Statistical pattern recognition technique}% description + +\makeglossaries + +\begin{document} + +\gls{svm}. + +\printglossaries +\end{document} +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%</sample-dual.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} %<*sample.tex> % \end{macrocode} %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass[a4paper]{report} \usepackage[plainpages=false,colorlinks]{hyperref} -\usepackage[toc,style=treenoname,order=word,acronym]{glossaries} +\usepackage[toc,style=treenoname,order=word,subentrycounter]{glossaries} \makeglossaries +\newglossaryentry{Perl}{name=\texttt{Perl}, +sort=Perl, % need a sort key because name contains a command +description=A scripting language} + \newglossaryentry{glossary}{name=glossary, description={\nopostdesc}, plural={glossaries}} -\newglossaryentry{glossarylist}{ -description={1) list of technical words}, -sort={1}, -parent={glossary}} - \newglossaryentry{glossarycol}{ -description={2) collection of glosses}, +description={collection of glosses}, sort={2}, parent={glossary}} -\newglossaryentry{Perl}{name=\texttt{Perl}, -sort=Perl, % need a sort key because name contains a command -description=A scripting language} +\newglossaryentry{glossarylist}{ +description={list of technical words}, +sort={1}, +parent={glossary}} \newglossaryentry{pagelist}{name=page list, % description value has to be enclosed in braces @@ -18859,12 +16604,12 @@ female of any bovine animal}} \newglossaryentry{bravo}{name={bravo}, description={\nopostdesc}} -\newglossaryentry{bravo1}{description={1) cry of approval (pl.\ bravos)}, +\newglossaryentry{bravo1}{description={cry of approval (pl.\ bravos)}, sort={1}, plural={bravos}, parent=bravo} -\newglossaryentry{bravo2}{description={2) hired ruffian or killer (pl.\ bravoes)}, +\newglossaryentry{bravo2}{description={hired ruffian or killer (pl.\ bravoes)}, sort={2}, plural={bravoes}, parent=bravo} @@ -18888,11 +16633,11 @@ description={large seal}} \chapter{Introduction} \pagenumbering{arabic} -A \gls{glossarylist} is a very useful addition to any -technical document, although a \gls{glossarycol} can -also simply be a collection of glosses, which is -another thing entirely. Some documents have -multiple \glspl{glossarylist}. +A \gls{glossarylist} (definition~\glsrefentry{glossarylist}) is a +very useful addition to any technical document, although a +\gls{glossarycol} (definition~\glsrefentry{glossarycol}) can also +simply be a collection of glosses, which is another thing entirely. +Some documents have multiple \glspl{glossarylist}. Once you have run your document through \LaTeX, you will then need to run the \texttt{.glo} file through @@ -18920,9 +16665,10 @@ explicitly specify the alternative form using \verb|\glslink|. \Glspl{seal} and \glspl{sealion} have regular plural forms. \Gls{bravo} is a homograph, but the plural forms are spelt -differently. The plural of \gls{bravo1}, a cry of approval, -is \glspl{bravo1}, whereas the plural of \gls{bravo2}, a hired -ruffian or killer, is \glspl{bravo2}. +differently. The plural of \gls{bravo1}, a cry of approval +(definition~\glsrefentry{bravo1}), is \glspl{bravo1}, whereas the +plural of \gls{bravo2}, a hired ruffian or killer +(definition~\glsrefentry{bravo2}), is \glspl{bravo2}. \Glspl{par} can cause a problem in commands, so care is needed when having a paragraph break in a \gls{glossarylist} entry. @@ -18950,6 +16696,7 @@ There are two types of ordering: word ordering (which places %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass[a4paper]{article} \usepackage[style=long4colheaderborder]{glossaries} @@ -18988,6 +16735,7 @@ measured in kilograms. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{article} \usepackage[acronym,smallcaps]{glossaries-accsupp} @@ -18996,7 +16744,7 @@ measured in kilograms. \newglossaryentry{dr}{name=Dr,description={Doctor},access={Doctor}} -\newacronym[\glsshortaccesskey=S V M]{svm}{svm}{support vector machine} +\newacronym[shortaccess=S V M]{svm}{svm}{support vector machine} \newacronym{eg}{e.g.}{for example} @@ -19004,9 +16752,12 @@ measured in kilograms. \gls{dr}~Jones. \gls{dr}~Jones. -\Gls{eg}, \gls{eg} +\Gls{eg}, \gls{eg}, \acrshort{eg}, \acrlong{eg}, \acrfull{eg}. -\gls{svm}. \gls{svm}. +\Acrshort{eg}, \ACRshort{eg}. \Acrlong{eg}, \ACRlong{eg}. +\Acrfull{eg}, \ACRfull{eg}. + +\gls{svm}. \gls{svm}, \acrshort{svm}, \acrlong{svm}, \acrfull{svm}. \printglossaries \end{document} @@ -19024,10 +16775,14 @@ measured in kilograms. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass[a4paper]{report} \usepackage[colorlinks,plainpages=false]{hyperref} -\usepackage[style=long,toc]{glossaries} +\usepackage[style=long,% use 'long' style for the glossary + toc,% add glossary to table of contents + smallcaps% Use small caps for acronyms + ]{glossaries} \makeglossaries @@ -19045,30 +16800,60 @@ measured in kilograms. \chapter{Support Vector Machines} \Glspl{svm} are used widely in the area of pattern recognition. +Subsequent use: \gls{svm}. -This is the text produced without a link: \glsentrytext{svm}. -This is the text produced on first use without a link: -\glsentryfirst{svm}. This is the entry's description without -a link: \glsentrydesc{svm}. +Short version: \acrshort{svm}. Long version: \acrlong{svm}. Full +version: \acrfull{svm}. Description: \glsentrydesc{svm}. This is the entry in uppercase: \GLS{svm}. \chapter{Kernel Support Vector Machines} The \gls{ksvm} is \ifglsused{svm}{an}{a} \gls{svm} that uses -the so called ``kernel trick''. Plural: \glspl{ksvm}. +the so called ``kernel trick''. Plural: \glspl{ksvm}. Resetting +acronyms. \glsresetall Possessive: \gls{ksvm}['s]. Make the glossary entry number bold for this -one \gls[format=hyperbf]{svm}. +one \gls[format=hyperbf]{ksvm}. + +\chapter{Short, Long and Full Forms} + +These commands don't affect the first use flag: + +\begin{center} +\begin{tabular}{lll} + & Unstarred & Starred\\ +acrshort & \acrshort{svm} & \acrshort*{svm}\\ +Acrshort & \Acrshort{svm} & \Acrshort*{svm}\\ +ACRshort & \ACRshort{svm} & \ACRshort*{svm}\\ +acrlong & \acrlong{svm} & \acrlong*{svm}\\ +Acrlong & \Acrlong{svm} & \Acrlong*{svm}\\ +ACRlong & \ACRlong{svm} & \ACRlong*{svm}\\ +acrfull & \acrfull{svm} & \acrfull*{svm}\\ +Acrfull & \Acrfull{svm} & \Acrfull*{svm}\\ +ACRfull & \ACRfull{svm} & \ACRfull*{svm}\\ +\\ +& Insert Unstarred & Insert Starred\\ +acrshort & \acrshort{svm}['s] & \acrshort*{svm}['s]\\ +Acrshort & \Acrshort{svm}['s] & \Acrshort*{svm}['s]\\ +ACRshort & \ACRshort{svm}['s] & \ACRshort*{svm}['s]\\ +acrlong & \acrlong{svm}['s] & \acrlong*{svm}['s]\\ +Acrlong & \Acrlong{svm}['s] & \Acrlong*{svm}['s]\\ +ACRlong & \ACRlong{svm}['s] & \ACRlong*{svm}['s]\\ +acrfull & \acrfull{svm}['s] & \acrfull*{svm}['s]\\ +Acrfull & \Acrfull{svm}['s] & \Acrfull*{svm}['s]\\ +ACRfull & \ACRfull{svm}['s] & \ACRfull*{svm}['s] +\end{tabular} +\end{center} \chapter{Another chapter} You don't need to worry about makeindex's special characters: \gls{rna}. -\printglossary[title={Acronyms}] +\printglossary[title={List of Acronyms}] \end{document} % \end{macrocode} @@ -19085,26 +16870,40 @@ You don't need to worry about makeindex's special characters: %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass[a4paper]{report} \usepackage[colorlinks,plainpages=false]{hyperref} -\usepackage[style=altlist, % use altlist style +\usepackage[acronym,% create 'acronym' glossary type + nomain,% 'main' glossary not needed as using 'acronym' + style=altlist, % use altlist style toc, % add the glossary to the table of contents sanitize={description=false},% want to use description in main document + smallcaps,% description% acronyms have a user-supplied description ]{glossaries} \makeglossaries +% Change the "see" items so that they use \acronymfont: +\renewcommand*{\glsseeitemformat}[1]{\acronymfont{\glsentrytext{#1}}} + +% Change the default style for the "name" key: +\renewcommand*{\acrnameformat}[2]{\acronymfont{#1} (#2)} + +% Not using a font that supports bold smallcaps so change the way +% the name is formatted in the glossary: + +\renewcommand*{\glsnamefont}[1]{\textmd{#1}} + \newacronym[description={Statistical pattern recognition technique~\protect\cite{svm}}, % acronym's description -name={Support vector machine (svm)}% change the default way of displaying the entry name in the list of acronyms ]{svm}{svm}{support vector machine} \newacronym[description={Statistical pattern recognition technique -using the ``kernel trick'' (see also \glshyperlink[SVM]{svm})},% acronym's description -name={Kernel support vector machine (ksvm)}% change the default way of displaying the entry name in the list of acronyms +using the ``kernel trick''},% acronym's description +see={[see also]{svm}}, ]{ksvm}{ksvm}{kernel support vector machine} @@ -19117,10 +16916,8 @@ The \gls{svm} is used widely in the area of pattern recognition. % plural form with initial letter in uppercase: \Glspl{svm} are \ldots -This is the text produced without a link: \glsentrytext{svm}. -This is the text produced on first use without a link: -\glsentryfirst{svm}. This is the entry's description without -a link: \glsentrydesc{svm}. +Short version: \acrshort{svm}. Long version: \acrlong{svm}. Full +version: \acrfull{svm}. Description: \glsentrydesc{svm}. This is the entry in uppercase: \GLS{svm}. @@ -19156,6 +16953,7 @@ one \gls[format=hyperbf]{svm}. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{article} \usepackage[acronym,footnote,acronymlists={main,acronym2}]{glossaries} @@ -19204,6 +17002,7 @@ one \gls[format=hyperbf]{svm}. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{article} \usepackage[colorlinks,plainpages=false]{hyperref} @@ -19237,7 +17036,9 @@ one \gls[format=hyperbf]{svm}. %\fi %\iffalse % \begin{macrocode} -% See also sampleAcrDesc.tex + % This file is public domain + % + % See also sampleAcrDesc.tex \documentclass[a4paper]{report} \usepackage[colorlinks,plainpages=false]{hyperref} @@ -19317,6 +17118,7 @@ one \gls[format=hyperbf]{svm}. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass[a4paper,12pt]{report} \usepackage{amsmath} @@ -19331,7 +17133,7 @@ one \gls[format=hyperbf]{svm}. % redefine the way hyperref creates the target for equations % so that the glossary links to equation numbers work -\renewcommand*\theHequation{\thechapter.\arabic{equation}} + \renewcommand*\theHequation{\theHchapter.\arabic{equation}} % Change the glossary headings @@ -19567,6 +17369,8 @@ Bessel functions $Z_\nu$ are solutions of %\fi %\iffalse % \begin{macrocode} + % This file is public domain + % % To ensure that the page numbers are up-to-date: % % latex sampleEqPg @@ -19867,11 +17671,12 @@ Bessel functions $Z_\nu(z)$ are solutions of %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{report} \usepackage[plainpages=false,colorlinks]{hyperref} \usepackage{html} -\usepackage[toc]{glossaries} +\usepackage[toc,savewrites,xindy]{glossaries} % Define a new glossary type called notation \newglossary[nlg]{notation}{not}{ntn}{Notation} @@ -19963,6 +17768,7 @@ The factorial symbol: \gls{not:fact}. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{report} \usepackage[plainpages=false,colorlinks]{hyperref} @@ -20035,6 +17841,7 @@ Another \gls{ident} entry. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{report} \usepackage[colorlinks]{hyperref} @@ -20113,6 +17920,7 @@ The letter \gls{C} represents Euler's constant. %\fi %\iffalse % \begin{macrocode} + % This file is public domain \documentclass{article} \usepackage[utf8]{inputenc} @@ -20170,28 +17978,31 @@ description=man-eating giant} %\fi %\iffalse % \begin{macrocode} -%<*samplexdy.tex> +%<*samplexdy-compatible207.tex> % \end{macrocode} %\fi %\iffalse % \begin{macrocode} + % This file is public domain. + % % This is a sample document illustrating how to use the - % glossaries package with xindy. To create the document: + % glossaries package with xindy using the compatibility option. + % To create the document: % - % latex samplexdy - % makeglossaries samplexdy - % latex samplexdy + % latex samplexdy-compatible207 + % makeglossaries samplexdy-compatible207 + % latex samplexdy-compatible207 % % If you don't have Perl installed, then use one of the % following instead of makeglossaries: % % If you want to have a separate "Mc" letter group do: % - % xindy -I xindy -M samplexdy-mc -t samplexdy.glg -o samplexdy.gls samplexdy.glo + % xindy -I xindy -M samplexdy-mc207 -t samplexdy-compatible207.glg -o samplexdy-compatible207.gls samplexdy-compatible207.glo % % Otherwise do: % - % xindy -L english -C utf8 -I xindy -M samplexdy -t samplexdy.glg -o samplexdy.gls samplexdy.glo + % xindy -L english -C utf8 -I xindy -M samplexdy-compatible207 -t samplexdy-compatible207.glg -o samplexdy-compatible207.gls samplexdy-compatible207.glo % \documentclass{article} @@ -20203,7 +18014,7 @@ description=man-eating giant} % the following line: % \usepackage[colorlinks]{hyperref} -\usepackage[xindy,style=altlistgroup]{glossaries} +\usepackage[xindy,compatible-2.07,style=altlistgroup]{glossaries} % Define a new command to do bold italic (it uses \hyperbf % rather than \textbf in case I later introduce hyperlinks @@ -20235,6 +18046,249 @@ description=man-eating giant} % To have Mc as a separate group uncomment the following three % lines: + \setStyleFile{samplexdy-mc207} % note no extension + \noist + \GlsSetXdyLanguage{} + + % The above three lines specify to use samplexdy-mc.xdy (supplied + % with this file) and don't overwrite it. The language is + % unset using \GlsSetXdyLanguage{} as all the language + % dependent information is contained in samplexdy-mc.xdy + % Note that using \noist means that commands like + % \GlsAddXdyAttribute and \GlsAddXdyLocation will no longer have + % an effect. + + % Write the style file (if \noist isn't used) + % and activate glossary entries + +\makeglossaries + + % Define glossary entries + % \glshyperlink is used instead of \gls to prevent the glossary + % page numbers also appear in the locations, however I need + % to ensure that the referenced entries are added to the + % glossary via commands that use \glslink, \glsadd or \glssee + +\newglossaryentry{mcadam}{name={McAdam, John Loudon}, +first={John Loudon McAdam},text={McAdam}, +description={Scottish engineer}} + +\newglossaryentry{maclaurin}{name={Maclaurin, Colin}, +first={Colin Maclaurin},text={Maclaurin}, +description={Scottish mathematician best known for the +\gls{maclaurinseries}}} + +\newglossaryentry{maclaurinseries}{name={Maclaurin series}, +description={Series expansion},see={taylorstheorem}} + +\newglossaryentry{taylorstheorem}{name={Taylor's theorem}, +description={Theorem expressing a function $f(x)$ as the sum of +a polynomial and a remainder: +\[f(x) = f(a)+f'(a)(x-a)+f''(a)(x-a^2)/2!+\cdots+R_n\] +If $n\to\infty$ the expansion is a \glshyperlink{taylorseries} +and if $a=0$, the series is called a +\gls{maclaurinseries}}} + +\newglossaryentry{taylorseries}{name={Taylor series}, +description={Series expansion},see={taylorstheorem}} + +\newglossaryentry{taylor}{name={Taylor, Brook}, +first={Brook Taylor},text={Taylor}, +description={English mathematician}} + +\newglossaryentry{mcnemar}{name={McNemar, Quinn}, +first={Quinn McNemar},text={McNemar}, +description={Mathematician who introduced +\gls{mcnemarstest}. This entry has the number list +suppressed},nonumberlist} + +\newglossaryentry{mcnemarstest}{name={McNemar's test}, +description={A nonparametric test introduced by +\gls{mcnemar} in 1947}} + +\newglossaryentry{mach}{name={Mach, Ernst}, +first={Ernst Mach},text={Mach}, + % if using samplexdy-mc.xdy, the following line is needed + % to prevent this entry being put in the "Mc" group +sort={mach, Ernst}, +description={Czech/Austrian physicist and philosopher}} + +\newglossaryentry{machnumber}{name={Mach number}, + % if using samplexdy-mc.xdy, the following line is needed + % to prevent this entry being put in the "Mc" group +sort={mach number}, +description={Ratio of the speed of a body in a fluid to the +speed of sound in that fluid named after \gls{mach}}} + +\newglossaryentry{malthus}{name={Malthus, Thomas Robert}, +first={Thomas Robert Malthus},text={Malthus}, +description={English mathematician, sociologist and classicist}} + +\newglossaryentry{ampereandre}{name={Ampère, André-Marie}, +first={André-Marie Ampère},text={Ampère}, +description={French mathematician and physicist}} + +\newglossaryentry{ampere}{name={ampere}, +description={SI unit of electric current named after +\gls{ampereandre}}} + +\newglossaryentry{archimedes}{name={Archimedes of Syracuse}, +first={Archimedes of Syracuse},text={Archimedes}, +description={Greek mathematician}} + +\newglossaryentry{archimedesprinciple}{name={Archemedes' principle}, +description={Principle that if a body is submerged in a fluid +it experiences upthrust equal to the weight of the displaced +fluid. Named after \gls{archimedes}}} + +\newglossaryentry{galton}{name={Galton, Sir Francis}, +first={Sir Francis Galton},text={Galton}, +description={English anthropologist}} + +\newglossaryentry{gauss}{name={Gauss, Karl Friedrich}, +first={Karl Friedrich Gauss},text={Gauss}, +description={German mathematician}} + +\newglossaryentry{gaussianint}{name={Gaussian integer}, +description={Complex number where both real and imaginary +parts are integers}} + +\newglossaryentry{peano}{name={Peano, Giuseppe}, +first={Giuseppe Peano},text={Peano}, +description={Italian mathematician}} + +\newglossaryentry{peanoscurve}{name={Peano's curve}, +description={A space-filling curve discovered by +\gls{peano}}} + +\newglossaryentry{pearson}{name={Pearson, Karl}, +first={Karl Pearson},text={Pearson}, +description={English mathematician}} + +\newglossaryentry{pearspmcc}{name={Pearson's product moment +correlation coefficient},description={Product moment correlation +coefficient named after \gls{pearson}}} + +\begin{document} +\title{Sample Document Using the Glossaries Package With Xindy} +\author{Nicola Talbot} +\maketitle + +\section{\glsentryfirst{gauss}} + +This is a section on \gls[format=(]{gauss}. This section spans +several pages. + +\newpage + +This page talks about \glspl[format=hyperbfit]{gaussianint}. Since +it's the principle definition, the user-defined hyperbfit format is +used. + +\newpage + +The section on \gls[format=)]{gauss} ends here. + +\section{Series Expansions} + +This section is about series expansions. It mentions +\gls{maclaurin} and \gls{taylor}. It also discusses +\gls{taylorstheorem} which is related to the \gls{taylorseries}. +The \gls{maclaurinseries} is a special case of the +\gls{taylorseries}. + +\section{\glsentryname{archimedesprinciple}} + +This section discusses \gls{archimedesprinciple} which was +introduced by \gls{archimedes}. + +\section{Another section} + +This section covers \gls{mach} who introduced the \gls{machnumber}. +It also mentions \gls{ampereandre} after whom the +SI unit \gls{ampere} is named. It then discusses \gls{galton} +and \gls{malthus}. Finally it mentions \gls{mcadam}. + +\newpage +This page discusses \gls{mcnemar} who introduced +\gls{mcnemarstest} and \gls{peano} who discovered \gls{peanoscurve}. + +\printglossaries +\end{document} +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%</samplexdy-compatible207.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*samplexdy.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} + % This file is public domain. + % + % This is a sample document illustrating how to use the + % glossaries package with xindy. To create the document: + % + % latex samplexdy + % makeglossaries samplexdy + % latex samplexdy + % + % If you don't have Perl installed, then use one of the + % following instead of makeglossaries: + % + % If you want to have a separate "Mc" letter group do: + % + % xindy -I xindy -M samplexdy-mc -t samplexdy.glg -o samplexdy.gls samplexdy.glo + % + % Otherwise do: + % + % xindy -L english -C utf8 -I xindy -M samplexdy -t samplexdy.glg -o samplexdy.gls samplexdy.glo + % +\documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{fmtcount} + +\usepackage[colorlinks,plainpages]{hyperref} +\usepackage[xindy,style=altlistgroup]{glossaries} + + % Define a new command to do bold italic: + +\newcommand*{\hyperbfit}[1]{\textit{\hyperbf{#1}}} + + % Need to add this to the list of attributes in order + % to use it with xindy: + % (This command will have no effect if \noist is used) + +\GlsAddXdyAttribute{hyperbfit} + + % Redefine the page numbers so that they appear as a word: + + \renewcommand*{\thepage}{\Numberstring{page}} + + % Need to add this to the list of location styles. + % \Numberstring{page} gets expanded to + % \protect \Numberstringnum {<n>} (where <n> is the page number) + % so need to define the location in that format: + % (This command will have no effect if \noist is used) + +\GlsAddXdyLocation{Numberstring}{:sep "\string\protect\space + \string\Numberstringnum\space\glsopenbrace" + "arabic-numbers" :sep "\glsclosebrace"} + + % (Need to redefine \glsXpageXhyperbfit and + % \glsXpageXglsnumberformat after \makeglossaries to get the + % hyperlinks working correctly.) + + % To have Mc as a separate group uncomment the following three + % lines: + %\setStyleFile{samplexdy-mc} % note no extension %\noist %\GlsSetXdyLanguage{} @@ -20252,6 +18306,24 @@ description=man-eating giant} \makeglossaries + % Each page location will be specified in the form: + % + % "\glsXpageXglsnumberformat{}{\protect \Numberstringnum "\marg{n}"}" + % or + % "\glsXpageXhyperbfit{}{\protect \Numberstringnum "\marg{n}"}" + % + % Redefine to allow hyperlinks: + +\renewcommand{\glsXpageXglsnumberformat}[2]{% + \linkpagenumber#2% +} + +\renewcommand{\glsXpageXhyperbfit}[2]{% + \textbf{\em\linkpagenumber#2}% +} + +\newcommand{\linkpagenumber}[3]{\hyperlink{page.#3}{#1#2{#3}}} + % Define glossary entries % \glshyperlink is used instead of \gls to prevent the glossary % page numbers also appear in the locations, however I need @@ -20413,6 +18485,86 @@ This page discusses \gls{mcnemar} who introduced %\fi %\iffalse % \begin{macrocode} +%<*samplexdy2.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} + % This file is public domain + % + % This is a sample document illustrating how to use the + % glossaries package with xindy. To create the document: + % + % pdflatex samplexdy2 + % makeglossaries samplexdy2 + % pdflatex samplexdy2 + % + % This sample file won't work with makeindex + % +\documentclass{report} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks]{hyperref} +\usepackage[xindy,counter=section]{glossaries} + + % Set up somewhat eccentric section numbering system: + +\renewcommand*{\thesection}{[\thechapter]\arabic{section}} + +\renewcommand*{\theHsection}{\thepart.\thesection} +\renewcommand*{\thepart}{\Roman{part}} + +\GlsAddXdyLocation["roman-numbers-uppercase"]{section}{:sep "[" + "arabic-numbers" :sep "]" "arabic-numbers" +} + + % If part is 0, then \thepart will be empty, so add an extra + % case to catch this: + +\GlsAddXdyLocation{zero.section}{:sep "[" + "arabic-numbers" :sep "]" "arabic-numbers" +} + + % (Note that the above will stop xindy giving a warning, but the + % location hyper links will be invalid if no \part is used.) + +\makeglossaries + +\newglossaryentry{sample}{name=sample,description={an example}} +\newglossaryentry{sample2}{name=sample2,description={another example}} + +\begin{document} +This is a sample document illustrating Xindy specific commands in +the glossaries package. + +\part{First Part} + +\chapter{Sample Chapter} + +\section{First Section} + +\gls{sample}. \gls{sample2}. + +\section{Second Section} + +\gls{sample2}. + +\section{Third Section} + +\gls{sample}. \gls{sample2}. + +\printglossaries +\end{document} +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%</samplexdy2.tex> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} %<*samplexdy-mc.xdy> % \end{macrocode} %\fi @@ -20834,6 +18986,876 @@ This page discusses \gls{mcnemar} who introduced ; list of allowed attributes (number formats) (define-attributes (("default" + "hyperbfit" + "pagehyperbfit" + "glsnumberformat" + "pageglsnumberformat" + "textrm" + "pagetextrm" + "textsf" + "pagetextsf" + "texttt" + "pagetexttt" + "textbf" + "pagetextbf" + "textmd" + "pagetextmd" + "textit" + "pagetextit" + "textup" + "pagetextup" + "textsl" + "pagetextsl" + "textsc" + "pagetextsc" + "emph" + "pageemph" + "glshypernumber" + "pageglshypernumber" + "hyperrm" + "pagehyperrm" + "hypersf" + "pagehypersf" + "hypertt" + "pagehypertt" + "hyperbf" + "pagehyperbf" + "hypermd" + "pagehypermd" + "hyperit" + "pagehyperit" + "hyperup" + "pagehyperup" + "hypersl" + "pagehypersl" + "hypersc" + "pagehypersc" + "hyperemph" + "pagehyperemph"))) + +; user defined alphabets + + + +; location class definitions + +(define-location-class "roman-page-numbers" + ( :sep "{}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-roman-page-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-roman-page-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-roman-page-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-roman-page-numbers" + ( :sep "{" "alpha" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-roman-page-numbers" + ( :sep "{" "ALPHA" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-roman-page-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-roman-page-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "roman-numbers-lowercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers" + ( :sep "{}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-Roman-page-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-Roman-page-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-Roman-page-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-Roman-page-numbers" + ( :sep "{" "alpha" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-Roman-page-numbers" + ( :sep "{" "ALPHA" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-Roman-page-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-Roman-page-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "roman-numbers-uppercase" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers" + ( :sep "{}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-arabic-page-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-arabic-page-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-arabic-page-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-arabic-page-numbers" + ( :sep "{" "alpha" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-arabic-page-numbers" + ( :sep "{" "ALPHA" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-arabic-page-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-arabic-page-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers" + ( :sep "{}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-alpha-page-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-alpha-page-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-alpha-page-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-alpha-page-numbers" + ( :sep "{" "alpha" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-alpha-page-numbers" + ( :sep "{" "ALPHA" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-alpha-page-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-alpha-page-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "alpha" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers" + ( :sep "{}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-Alpha-page-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-Alpha-page-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-Alpha-page-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-Alpha-page-numbers" + ( :sep "{" "alpha" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-Alpha-page-numbers" + ( :sep "{" "ALPHA" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-Alpha-page-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-Alpha-page-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "ALPHA" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers" + ( :sep "{}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-Appendix-page-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-Appendix-page-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-Appendix-page-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-Appendix-page-numbers" + ( :sep "{" "alpha" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-Appendix-page-numbers" + ( :sep "{" "ALPHA" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-Appendix-page-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-Appendix-page-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "ALPHA" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers" + ( :sep "{}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "roman-page-numbers-arabic-section-numbers" + ( :sep "{" "roman-numbers-lowercase" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Roman-page-numbers-arabic-section-numbers" + ( :sep "{" "roman-numbers-uppercase" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-page-numbers-arabic-section-numbers" + ( :sep "{" "arabic-numbers" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "alpha-page-numbers-arabic-section-numbers" + ( :sep "{" "alpha" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Alpha-page-numbers-arabic-section-numbers" + ( :sep "{" "ALPHA" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "Appendix-page-numbers-arabic-section-numbers" + ( :sep "{" "ALPHA" :sep "." "arabic-numbers" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) +(define-location-class "arabic-section-numbers-arabic-section-numbers" + ( :sep "{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}{" "arabic-numbers" :sep "." "arabic-numbers" :sep "}" ) + :min-range-length 2 +) + +; user defined location classes + +(define-location-class "Numberstring" + (:sep "{}{" :sep "\protect \Numberstringnum {" "arabic-numbers" :sep "}" :sep "}")) + +; define cross-reference class + +(define-crossref-class "see" :unverified ) +(markup-crossref-list :class "see" + :open "\glsseeformat" :close "{}") + +; define the order of the location classes +(define-location-class-order ( + "roman-page-numbers" + "arabic-page-numbers" + "arabic-section-numbers" + "alpha-page-numbers" + "Roman-page-numbers" + "Alpha-page-numbers" + "Appendix-page-numbers" + "see" )) + +; define the glossary markup + +(markup-index + :open "\glossarysection[\glossarytoctitle]{\glossarytitle}\glossarypreamble +\providecommand*\glsXpageXhyperbfit[2]{\setentrycounter[#1]{page}\hyperbfit{#2}} +\providecommand*\glsXpageXglsnumberformat[2]{\setentrycounter[#1]{page}\glsnumberformat{#2}} +\providecommand*\glsXpageXtextrm[2]{\setentrycounter[#1]{page}\textrm{#2}} +\providecommand*\glsXpageXtextsf[2]{\setentrycounter[#1]{page}\textsf{#2}} +\providecommand*\glsXpageXtexttt[2]{\setentrycounter[#1]{page}\texttt{#2}} +\providecommand*\glsXpageXtextbf[2]{\setentrycounter[#1]{page}\textbf{#2}} +\providecommand*\glsXpageXtextmd[2]{\setentrycounter[#1]{page}\textmd{#2}} +\providecommand*\glsXpageXtextit[2]{\setentrycounter[#1]{page}\textit{#2}} +\providecommand*\glsXpageXtextup[2]{\setentrycounter[#1]{page}\textup{#2}} +\providecommand*\glsXpageXtextsl[2]{\setentrycounter[#1]{page}\textsl{#2}} +\providecommand*\glsXpageXtextsc[2]{\setentrycounter[#1]{page}\textsc{#2}} +\providecommand*\glsXpageXemph[2]{\setentrycounter[#1]{page}\emph{#2}} +\providecommand*\glsXpageXglshypernumber[2]{\setentrycounter[#1]{page}\glshypernumber{#2}} +\providecommand*\glsXpageXhyperrm[2]{\setentrycounter[#1]{page}\hyperrm{#2}} +\providecommand*\glsXpageXhypersf[2]{\setentrycounter[#1]{page}\hypersf{#2}} +\providecommand*\glsXpageXhypertt[2]{\setentrycounter[#1]{page}\hypertt{#2}} +\providecommand*\glsXpageXhyperbf[2]{\setentrycounter[#1]{page}\hyperbf{#2}} +\providecommand*\glsXpageXhypermd[2]{\setentrycounter[#1]{page}\hypermd{#2}} +\providecommand*\glsXpageXhyperit[2]{\setentrycounter[#1]{page}\hyperit{#2}} +\providecommand*\glsXpageXhyperup[2]{\setentrycounter[#1]{page}\hyperup{#2}} +\providecommand*\glsXpageXhypersl[2]{\setentrycounter[#1]{page}\hypersl{#2}} +\providecommand*\glsXpageXhypersc[2]{\setentrycounter[#1]{page}\hypersc{#2}} +\providecommand*\glsXpageXhyperemph[2]{\setentrycounter[#1]{page}\hyperemph{#2}} +\begin{theglossary}\glossaryheader~n" + :close "%~n\end{theglossary}\glossarypostamble~n" + :tree) +(markup-letter-group-list :sep "\glsgroupskip~n") +(markup-indexentry :open "\relax\glsresetentrylist~n") +(markup-locclass-list :open "{\glossaryentrynumbers{\relax " + :sep ", " :close "}}") +(markup-locref-list :sep "\delimN ") +(markup-range :sep "\delimR ") + +; define format to use for locations + + +(markup-locref :open "~n\glsXpageXhyperbfit" + :close "" + :attr "pagehyperbfit") +(markup-locref :open "~n\glsXpageXglsnumberformat" + :close "" + :attr "pageglsnumberformat") +(markup-locref :open "~n\glsXpageXtextrm" + :close "" + :attr "pagetextrm") +(markup-locref :open "~n\glsXpageXtextsf" + :close "" + :attr "pagetextsf") +(markup-locref :open "~n\glsXpageXtexttt" + :close "" + :attr "pagetexttt") +(markup-locref :open "~n\glsXpageXtextbf" + :close "" + :attr "pagetextbf") +(markup-locref :open "~n\glsXpageXtextmd" + :close "" + :attr "pagetextmd") +(markup-locref :open "~n\glsXpageXtextit" + :close "" + :attr "pagetextit") +(markup-locref :open "~n\glsXpageXtextup" + :close "" + :attr "pagetextup") +(markup-locref :open "~n\glsXpageXtextsl" + :close "" + :attr "pagetextsl") +(markup-locref :open "~n\glsXpageXtextsc" + :close "" + :attr "pagetextsc") +(markup-locref :open "~n\glsXpageXemph" + :close "" + :attr "pageemph") +(markup-locref :open "~n\glsXpageXglshypernumber" + :close "" + :attr "pageglshypernumber") +(markup-locref :open "~n\glsXpageXhyperrm" + :close "" + :attr "pagehyperrm") +(markup-locref :open "~n\glsXpageXhypersf" + :close "" + :attr "pagehypersf") +(markup-locref :open "~n\glsXpageXhypertt" + :close "" + :attr "pagehypertt") +(markup-locref :open "~n\glsXpageXhyperbf" + :close "" + :attr "pagehyperbf") +(markup-locref :open "~n\glsXpageXhypermd" + :close "" + :attr "pagehypermd") +(markup-locref :open "~n\glsXpageXhyperit" + :close "" + :attr "pagehyperit") +(markup-locref :open "~n\glsXpageXhyperup" + :close "" + :attr "pagehyperup") +(markup-locref :open "~n\glsXpageXhypersl" + :close "" + :attr "pagehypersl") +(markup-locref :open "~n\glsXpageXhypersc" + :close "" + :attr "pagehypersc") +(markup-locref :open "~n\glsXpageXhyperemph" + :close "" + :attr "pagehyperemph") + +; define letter group list format + +(markup-letter-group-list :sep "\glsgroupskip~n") + +; letter group headings + +(markup-letter-group :open-head "\glsgroupheading{" + :close-head "}") + +; additional letter groups + +(define-letter-group "glsnumbers" + :prefixes ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9") + :before "A") + +; additional sort rules + + +; The following is copied from xindy/lang/english/utf8-lang.xdy + +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("en-alphabetize" "en-ignore-special")) +(use-rule-set :run 1 + :rule-set ("en-resolve-diacritics" "en-ignore-special")) +(use-rule-set :run 2 + :rule-set ("en-resolve-case" "en-ignore-special")) +(use-rule-set :run 3 + :rule-set ("en-resolve-special")) + +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%</samplexdy-mc.xdy> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*samplexdy-mc207.xdy> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +;; xindy style file for samplexdy.tex that has Mc letter group + +(define-letter-group "A" :prefixes ("")) +(define-letter-group "B" :after "A" :prefixes ("")) +(define-letter-group "C" :after "B" :prefixes ("")) +(define-letter-group "D" :after "C" :prefixes ("")) +(define-letter-group "E" :after "D" :prefixes ("")) +(define-letter-group "F" :after "E" :prefixes ("")) +(define-letter-group "G" :after "F" :prefixes ("")) +(define-letter-group "H" :after "G" :prefixes ("¤")) +(define-letter-group "I" :after "H" :prefixes ("¨")) +(define-letter-group "J" :after "I" :prefixes ("¬")) +(define-letter-group "K" :after "J" :prefixes ("®")) +(define-letter-group "L" :after "K" :prefixes ("´")) +(define-letter-group "Mc" :after "L" :prefixes ("»")) +(define-letter-group "M" :after "Mc" :prefixes ("»")) +(define-letter-group "N" :after "M" :prefixes ("¼")) +(define-letter-group "O" :after "N" :prefixes ("Ã")) +(define-letter-group "P" :after "O" :prefixes ("È")) +(define-letter-group "Q" :after "P" :prefixes ("Ê")) +(define-letter-group "R" :after "Q" :prefixes ("Ë")) +(define-letter-group "S" :after "R" :prefixes ("Ð")) +(define-letter-group "T" :after "S" :prefixes ("Ú")) +(define-letter-group "U" :after "T" :prefixes ("à")) +(define-letter-group "V" :after "U" :prefixes ("å")) +(define-letter-group "W" :after "V" :prefixes ("æ")) +(define-letter-group "X" :after "W" :prefixes ("ë")) +(define-letter-group "Y" :after "X" :prefixes ("í")) +(define-letter-group "È" :after "Y" :prefixes ("ï")) +(define-letter-group "Z" :after "È" :prefixes ("ð")) +(define-letter-group "Ã" :after "Z" :prefixes ("ö")) +(define-letter-group "Æ¿" :after "Ã" :prefixes ("÷")) + +(define-rule-set "en-alphabetize" + + :rules (("à " "" :string) + ("Ã" "" :string) + ("Ã" "" :string) + ("æ" "" :string) + ("Ã" "" :string) + ("ç" "" :string) + ("ð" "" :string) + ("Ã" "" :string) + ("Ã" "" :string) + ("Ã" "" :string) + ("Ã" "" :string) + ("Ã" "" :string) + ("è" "" :string) + ("ë" "" :string) + ("ê" "" :string) + ("é" "" :string) + ("Ã" "¨" :string) + ("ï" "¨" :string) + ("Ã" "¼" :string) + ("ñ" "¼" :string) + ("Ã" "Ã" :string) + ("Ã" "Ã" :string) + ("ô" "Ã" :string) + ("ö" "Ã" :string) + ("Å" "Ã" :string) + ("Å" "Ã" :string) + ("È" "ï" :string) + ("È" "ï" :string) + ("þ" "ö" :string) + ("Ã" "ö" :string) + ("Ç·" "÷" :string) + ("Æ¿" "÷" :string) + ("a" "" :string) + ("A" "" :string) + ("b" "" :string) + ("B" "" :string) + ("C" "" :string) + ("c" "" :string) + ("d" "" :string) + ("D" "" :string) + ("E" "" :string) + ("e" "" :string) + ("F" "" :string) + ("f" "" :string) + ("g" "" :string) + ("G" "" :string) + ("H" "¤" :string) + ("h" "¤" :string) + ("I" "¨" :string) + ("i" "¨" :string) + ("J" "¬" :string) + ("j" "¬" :string) + ("K" "®" :string) + ("k" "®" :string) + ("L" "´" :string) + ("l" "´" :string) + ("Mc" "»" :string) + ("Mac" "»" :string) + ("M" "»" :string) + ("m" "»" :string) + ("N" "¼" :string) + ("n" "¼" :string) + ("O" "Ã" :string) + ("o" "Ã" :string) + ("P" "È" :string) + ("p" "È" :string) + ("q" "Ê" :string) + ("Q" "Ê" :string) + ("r" "Ë" :string) + ("R" "Ë" :string) + ("S" "Ð" :string) + ("s" "Ð" :string) + ("T" "Ú" :string) + ("t" "Ú" :string) + ("u" "à" :string) + ("U" "à" :string) + ("v" "å" :string) + ("V" "å" :string) + ("w" "æ" :string) + ("W" "æ" :string) + ("X" "ë" :string) + ("x" "ë" :string) + ("Y" "í" :string) + ("y" "í" :string) + ("z" "ð" :string) + ("Z" "ð" :string) + )) + +(define-rule-set "en-resolve-diacritics" + + :rules (("È" "¢" :string) + ("þ" "¢" :string) + ("Ç·" "¢" :string) + ("Ã" "¢" :string) + ("È" "¢" :string) + ("Æ¿" "¢" :string) + ("Ã" "£" :string) + ("Ã" "£" :string) + ("ð" "£" :string) + ("Ã" "£" :string) + ("Ã" "£" :string) + ("Ã" "£" :string) + ("ï" "£" :string) + ("ö" "£" :string) + ("ñ" "£" :string) + ("ç" "£" :string) + ("à " "£" :string) + ("Ã" "£" :string) + ("é" "£" :string) + ("Ã" "£" :string) + ("Ã" "¤" :string) + ("ô" "¤" :string) + ("Ã" "¤" :string) + ("è" "¤" :string) + ("Ã" "¥" :string) + ("ë" "¥" :string) + ("Ã" "¦" :string) + ("ê" "¦" :string) + ("Å" "ÿ" :string) + ("Ã" "ÿ" :string) + ("Å" "ÿ" :string) + ("æ" "ÿ" :string) + ("S" "¢" :string) + ("K" "¢" :string) + ("d" "¢" :string) + ("Y" "¢" :string) + ("E" "¢" :string) + ("y" "¢" :string) + ("g" "¢" :string) + ("e" "¢" :string) + ("J" "¢" :string) + ("q" "¢" :string) + ("D" "¢" :string) + ("b" "¢" :string) + ("z" "¢" :string) + ("w" "¢" :string) + ("Q" "¢" :string) + ("M" "¢" :string) + ("C" "¢" :string) + ("L" "¢" :string) + ("X" "¢" :string) + ("P" "¢" :string) + ("T" "¢" :string) + ("a" "¢" :string) + ("N" "¢" :string) + ("j" "¢" :string) + ("Z" "¢" :string) + ("u" "¢" :string) + ("k" "¢" :string) + ("t" "¢" :string) + ("W" "¢" :string) + ("v" "¢" :string) + ("s" "¢" :string) + ("B" "¢" :string) + ("H" "¢" :string) + ("c" "¢" :string) + ("I" "¢" :string) + ("G" "¢" :string) + ("U" "¢" :string) + ("F" "¢" :string) + ("r" "¢" :string) + ("x" "¢" :string) + ("V" "¢" :string) + ("h" "¢" :string) + ("f" "¢" :string) + ("i" "¢" :string) + ("A" "¢" :string) + ("O" "¢" :string) + ("n" "¢" :string) + ("m" "¢" :string) + ("l" "¢" :string) + ("p" "¢" :string) + ("R" "¢" :string) + ("o" "¢" :string) + )) + +(define-rule-set "en-resolve-case" + + :rules (("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("Ç·" "8" :string) + ("Ã" "8" :string) + ("Ã" "8" :string) + ("È" "8" :string) + ("Ã" "8" :string) + ("Ã" "89" :string) + ("Å" "89" :string) + ("ð" "9" :string) + ("ô" "9" :string) + ("È" "9" :string) + ("ï" "9" :string) + ("ö" "9" :string) + ("ñ" "9" :string) + ("ç" "9" :string) + ("à " "9" :string) + ("þ" "9" :string) + ("è" "9" :string) + ("ë" "9" :string) + ("ê" "9" :string) + ("é" "9" :string) + ("Æ¿" "9" :string) + ("Å" "99" :string) + ("æ" "99" :string) + ("S" "8" :string) + ("K" "8" :string) + ("Y" "8" :string) + ("E" "8" :string) + ("J" "8" :string) + ("D" "8" :string) + ("Q" "8" :string) + ("M" "8" :string) + ("C" "8" :string) + ("L" "8" :string) + ("X" "8" :string) + ("P" "8" :string) + ("T" "8" :string) + ("N" "8" :string) + ("Z" "8" :string) + ("W" "8" :string) + ("B" "8" :string) + ("H" "8" :string) + ("I" "8" :string) + ("G" "8" :string) + ("U" "8" :string) + ("F" "8" :string) + ("V" "8" :string) + ("A" "8" :string) + ("O" "8" :string) + ("R" "8" :string) + ("d" "9" :string) + ("y" "9" :string) + ("g" "9" :string) + ("e" "9" :string) + ("q" "9" :string) + ("b" "9" :string) + ("z" "9" :string) + ("w" "9" :string) + ("a" "9" :string) + ("j" "9" :string) + ("u" "9" :string) + ("k" "9" :string) + ("t" "9" :string) + ("v" "9" :string) + ("s" "9" :string) + ("c" "9" :string) + ("r" "9" :string) + ("x" "9" :string) + ("h" "9" :string) + ("f" "9" :string) + ("i" "9" :string) + ("n" "9" :string) + ("m" "9" :string) + ("l" "9" :string) + ("p" "9" :string) + ("o" "9" :string) + )) + +(define-rule-set "en-ignore-special" + + :rules (("-" "" :string) + ("!" "" :string) + ("{" "" :string) + ("'" "" :string) + ("}" "" :string) + ("?" "" :string) + ("." "" :string) + )) + +(define-rule-set "en-resolve-special" + + :rules (("Ã" "¤" :string) + ("Ã" "¤" :string) + ("ð" "¤" :string) + ("Ã" "¤" :string) + ("Ã" "¤" :string) + ("Ã" "¤" :string) + ("ô" "¤" :string) + ("Ã" "¤" :string) + ("È" "¤" :string) + ("ï" "¤" :string) + ("Ã" "¤" :string) + ("ö" "¤" :string) + ("ñ" "¤" :string) + ("Ã" "¤" :string) + ("ç" "¤" :string) + ("Ã" "¤" :string) + ("à " "¤" :string) + ("þ" "¤" :string) + ("Ç·" "¤" :string) + ("è" "¤" :string) + ("Ã" "¤" :string) + ("ë" "¤" :string) + ("Ã" "¤" :string) + ("ê" "¤" :string) + ("é" "¤" :string) + ("È" "¤" :string) + ("Æ¿" "¤" :string) + ("Ã" "¤" :string) + ("Å" "¤¤" :string) + ("Ã" "¤¤" :string) + ("Å" "¤¤" :string) + ("æ" "¤¤" :string) + ("?" "¡" :string) + ("!" "¢" :string) + ("." "£" :string) + ("S" "¤" :string) + ("K" "¤" :string) + ("d" "¤" :string) + ("Y" "¤" :string) + ("E" "¤" :string) + ("y" "¤" :string) + ("g" "¤" :string) + ("e" "¤" :string) + ("J" "¤" :string) + ("q" "¤" :string) + ("D" "¤" :string) + ("b" "¤" :string) + ("z" "¤" :string) + ("w" "¤" :string) + ("Q" "¤" :string) + ("M" "¤" :string) + ("C" "¤" :string) + ("L" "¤" :string) + ("X" "¤" :string) + ("P" "¤" :string) + ("T" "¤" :string) + ("a" "¤" :string) + ("N" "¤" :string) + ("j" "¤" :string) + ("Z" "¤" :string) + ("u" "¤" :string) + ("k" "¤" :string) + ("t" "¤" :string) + ("W" "¤" :string) + ("v" "¤" :string) + ("s" "¤" :string) + ("B" "¤" :string) + ("H" "¤" :string) + ("c" "¤" :string) + ("I" "¤" :string) + ("G" "¤" :string) + ("U" "¤" :string) + ("F" "¤" :string) + ("r" "¤" :string) + ("x" "¤" :string) + ("V" "¤" :string) + ("h" "¤" :string) + ("f" "¤" :string) + ("i" "¤" :string) + ("A" "¤" :string) + ("O" "¤" :string) + ("n" "¤" :string) + ("m" "¤" :string) + ("l" "¤" :string) + ("p" "¤" :string) + ("R" "¤" :string) + ("o" "¤" :string) + ("-" "¥" :string) + ("'" "¦" :string) + ("{" "§" :string) + ("}" "¨" :string) + )) + +; The following section is customised for samplexdy.tex +; (copied from samplexdy.xdy automatically generated by +; samplexdy.tex) + +; required styles + +(require "tex.xdy") + +; list of allowed attributes (number formats) + +(define-attributes (("default" "glsnumberformat" "textrm" "textsf" @@ -21016,7 +20038,7 @@ This page discusses \gls{mcnemar} who introduced %\fi %\iffalse % \begin{macrocode} -%</samplexdy-mc.xdy> +%</samplexdy-mc207.xdy> % \end{macrocode} %\fi %\iffalse @@ -21080,7 +20102,7 @@ description={the ``at'' symbol}} \newglossaryentry{excl}{name={!}, description={the exclamation mark symbol}} -\newglossaryentry{bar}{name={$|$}, +\newglossaryentry{bar}{name={\ensuremath{|}}, description={the vertical bar symbol}} \newglossaryentry{hash}{name={\#}, diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.ins b/Master/texmf-dist/source/latex/glossaries/glossaries.ins index 86a04b70a07..13f67b0f5c4 100644 --- a/Master/texmf-dist/source/latex/glossaries/glossaries.ins +++ b/Master/texmf-dist/source/latex/glossaries/glossaries.ins @@ -1,10 +1,10 @@ -% glossaries.ins generated using makedtx version 0.94b 2010/7/10 12:21 +% glossaries.ins generated using makedtx version 0.94b 2011/4/3 22:26 \input docstrip \preamble glossaries.dtx - Copyright 2010 Nicola Talbot + Copyright 2011 Nicola Talbot This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -18,7 +18,7 @@ The Current Maintainer of this work is Nicola Talbot. - This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, 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. + 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-compatible-207.sty, glossaries-accsupp.sty, glossaries-babel.sty, glossaries-polyglossia.sty, glossaries-dictionary-Brazilian.dict, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Polish.dict, glossaries-dictionary-Serbian.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample-crossref.tex, sample-custom-acronym.tex, sample-dual.tex, sample.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-compatible207.tex, samplexdy.tex, samplexdy2.tex, samplexdy-mc.xdy, samplexdy-mc207.xdy, database1.tex, database2.tex, glossaries.perl. \endpreamble @@ -42,6 +42,8 @@ \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-compatible-207.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-compatible-207.sty,package}} \file{glossaries-accsupp.sty}{\usepreamble\defaultpreamble \usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-accsupp.sty,package}} \file{glossaries-babel.sty}{\usepreamble\defaultpreamble @@ -73,7 +75,9 @@ \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-crossref.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-crossref.tex}} \file{sample-custom-acronym.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-custom-acronym.tex}} +\file{sample-dual.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{sample-dual.tex}} \file{sample.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}} @@ -88,8 +92,11 @@ \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-compatible207.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy-compatible207.tex}} \file{samplexdy.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy.tex}} +\file{samplexdy2.tex}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy2.tex}} \file{samplexdy-mc.xdy}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy-mc.xdy}} +\file{samplexdy-mc207.xdy}{\nopreamble\nopostamble\from{glossaries.dtx}{samplexdy-mc207.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}} |