summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-05-18 16:16:38 +0000
committerKarl Berry <karl@freefriends.org>2007-05-18 16:16:38 +0000
commit746c3964c5c60a06f25b93438ad3271ff2113458 (patch)
tree841b253699e5d16e72028b12f7ef1d61b402cfc5 /Master/texmf-dist/source
parent20a9ebe1f7a852ec5c82045ece1e87bc3540ba2c (diff)
glossary replaced by glossaries
git-svn-id: svn://tug.org/texlive/trunk@4306 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/glossary/glossary.dtx5915
-rw-r--r--Master/texmf-dist/source/latex/glossary/glossary.ins38
2 files changed, 0 insertions, 5953 deletions
diff --git a/Master/texmf-dist/source/latex/glossary/glossary.dtx b/Master/texmf-dist/source/latex/glossary/glossary.dtx
deleted file mode 100644
index 6d31a8d363b..00000000000
--- a/Master/texmf-dist/source/latex/glossary/glossary.dtx
+++ /dev/null
@@ -1,5915 +0,0 @@
-%\iffalse
-% glossary.dtx generated using makedtx version 0.91b (c) Nicola Talbot
-% Command line args:
-% -macrocode ".*\.p.*l"
-% -macrocode ".*\.bat"
-% -macrocode ".*\.tex"
-% -setambles ".*\.p.*l=>\nopreamble\nopostamble"
-% -setambles ".*\.bat=>\nopreamble\nopostamble"
-% -src "(.+)\.(sty)\Z=>\1.\2"
-% -src "(.+)\.(pl)\Z=>\1.\2"
-% -src "(.+)\.(bat)\Z=>\1.\2"
-% -src "(.+)\.(perl)\Z=>\1.\2"
-% -src "(.+)\.(tex)\Z=>\1.\2"
-% -doc "manual.tex"
-% -author "Nicola Talbot"
-% -prefinale "\\fi"
-% -dir "source"
-% glossary
-% Created on 2006/7/25 18:13
-%\fi
-%\iffalse
-%<*package>
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%</package>
-%\fi
-% \iffalse
-% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2006 Nicola Talbot, all rights reserved.
-% \fi
-% \iffalse
-%<*driver>
-\documentclass[a4paper]{ltxdoc}
-\usepackage{ifthen}
-\usepackage[colorlinks,
- bookmarks,
- hyperindex=false,
- pdfauthor={N.L.C. Talbot},
- pdftitle={glossary.sty: LaTeX2e Package to Assist Generating Glossaries},
- pdfkeywords={LaTeX,package,glossary,acronym}]{hyperref}
-
- %hyperindex conflicts with doc
- %(end up with |usage|hyperpage in indexentry)
- %This unfortunately means that the changes section doesn't
- %have active links, but at least it will keep makeindex happy.
-
-
-\renewcommand{\usage}[1]{\textit{\hyperpage{#1}}}
-\renewcommand{\main}[1]{\hyperpage{#1}}
-\newcommand{\see}[2]{\emph{see} #1}
-\makeatletter
-\def\index@prologue{\section*{Index}}
-\makeatother
-\RecordChanges
-\PageIndex
- %\OnlyDescription
-
-
-\newcommand{\cmdname}[1]{\texttt{\symbol{92}#1}}
-\newcommand{\istkey}[1]{\texttt{#1}\index{makeindex key>#1|hyperpage}}
-\newcommand{\icmdname}[1]{\texttt{\symbol{92}#1}\SpecialMainIndex{#1}}
-\newcommand{\appname}[1]{\texttt{#1}\index{#1=\texttt{#1}|hyperpage}}
-\newcommand{\gloskey}[1]{\texttt{#1}\index{glossary keys=\cmdname{glossary} keys>#1|hyperpage}}
-\newcommand{\setglos}[1]{\texttt{#1}\index{setglossary keys=\cmdname{setglossary} keys>#1|hyperpage}}
-\newcommand{\glsnumfmt}[1]{\texttt{#1}%
-\index{page number formats>#1|hyperpage}%
-\index{glossary keys=\cmdname{glossary} keys>format>#1|hyperpage}}
-\newcommand{\pkgopt}[2][]{%
-\ifthenelse{\equal{#1}{}}{%
-\texttt{#2}\index{package options>#2|hyperpage}}{%
-\texttt{#2=#1}\index{package options>#2>#1|hyperpage}}}
-\newcommand{\pkgoptval}[2]{\texttt{#1}\index{package options>#2>#1|hyperpage}}
-\newcommand{\filetype}[1]{\texttt{#1}\index{file types>#1|hyperpage}}
-\newcommand{\styname}[1]{\textsf{#1}\index{#1=\textsf{#1}|hyperpage}}
-\newcommand{\envname}[1]{\textsf{#1}}
-
-
-\begin{document}
-\DocInput{glossary.dtx}
-\end{document}
-%</driver>
-%\fi
-%\MakeShortVerb{"}
-%\DeleteShortVerb{\|}
-%
-% \title{glossary.sty v 2.4: \LaTeXe\ Package to Assist Generating Glossaries}
-% \author{Nicola L.C. Talbot}
-% \date{20th July 2006}
-% \maketitle
-%\tableofcontents
-%
-% \section{Introduction}
-% \changes{1.0}{2004 July 29}{Initial version}
-% The \styname{glossary} package is provided to assist
-%generating a glossary. It has a certain amount of flexibility,
-%allowing the user to customize the format of the glossary, and
-%define new glossary-style objects.
-%
-%\section{Installation}
-%
-%You need to make sure you have downloaded the following three
-%files:
-%\begin{verbatim}
-%glossary.ins
-%glossary.dtx
-%README
-%\end{verbatim}
-%To extract the code from the \texttt{glossary.dtx} file, you
-%will need to run the installation file through LaTeX:
-%\begin{verbatim}
-%latex glossary.ins
-%\end{verbatim}
-%This will create the following files:
-%\begin{verbatim}
-%glossary.sty
-%glossary.perl
-%makeglos.pl
-%makeglos.bat
-%\end{verbatim}
-%along with several sample files. The file \texttt{glossary.sty}
-%should be placed somewhere in the \LaTeX\ path, e.g.\
-%\texttt{texmf/tex/latex/glossary/} or
-%\texttt{localtexmf/tex/latex/glossary/}. Remember to update the
-%\TeX\ database if you are installing this package for the first time.
-%The file \texttt{glossary.perl} is a \LaTeX2HTML\ style file, and
-%should be placed in the \LaTeX2HTML\ style file directory (usually
-%\texttt{latex2html/styles/}). The file \texttt{makeglos.pl}
-%is a Perl script which calls \appname{makeindex}. If you are
-%using UNIX or Linux, you will need to set the permissions so
-%that you can execute the file:
-%\begin{verbatim}
-%chmod a+x makeglos.pl
-%\end{verbatim}
-%You should then place this file somewhere on your path.
-%(You may also need to edit the first line of
-%this file, if \appname{perl} is located in a directory other than \verb"/usr/bin/"\footnote{and you can also remove the \texttt{.pl}
-%extension which isn't to everyone's liking.}.)
-%
-%If you are not using UNIX or Linux etc, you may have to explicitly
-%load the file into Perl, so you would need to do
-%\texttt{perl makeglos.pl} instead of just \texttt{makeglos.pl}.
-%If you are using Windows, a batch file, \texttt{makeglos.bat}
-%is provided which will run Perl on \texttt{makeglos.pl}.
-%Both \texttt{makeglos.pl} and \texttt{makeglos.bat} should
-%be placed somewhere specified by the PATH environment
-%variable. (For example, put them both in the same
-%directory as \appname{makeindex}, which will probably
-%be in \verb+\texmf\miktex\bin\+).
-%\changes{2.22}{2005 Sept 12}{added makeglos.bat file}
-%
-%If you don't have Perl installed on your system, you can just use
-%\appname{makeindex}, only you will have to remember all the
-%command line switches, and you won't be able to merge entries
-%that have the same name, but different descriptions.
-%
-%Note that if you are updating the glossary package, it is
-%a good idea to update \texttt{makeglos.pl} as it may also
-%have been modified.
-%
-% \section{Generating Glossary Information}
-%
-% The standard \LaTeX\ command \cmdname{makeglossary}\DescribeMacro{\makeglossary}{} (analogous to \cmdname{makeindex})
-% should be placed in the document preamble. If this command
-%is omitted, glossary information will be ignored. Glossary
-%entries are generated using the command
-%\cmdname{glossary}\verb"{"\meta{key-val list}\verb'}'\DescribeMacro{\glossary}.
-% This command is a slightly modified version of the standard
-%\cmdname{glossary} command, in order to separate out the
-%information into \meta{entry-name} and \meta{entry-description}.
-%The argument to \cmdname{glossary} must be a comma-separated
-%list of \meta{key}=\meta{value} pairs. The following keys are
-%available:
-%\begin{center}
-%\begin{tabular}{lp{0.8\linewidth}}
-%\bfseries Key & \bfseries Value\\
-%\ttfamily \gloskey{name} & The entry name\\
-%\ttfamily \gloskey{description} & A description about the entry\\
-%\ttfamily \gloskey{sort} & How to sort the entry. (Entry name used if sort omitted)\\
-%\ttfamily \gloskey{format} & How to format the page number\\
-%\ttfamily \gloskey{number} & Override the page number with a different
-%counter. The value should be the name of a counter (e.g.\
-%\texttt{number=section}).
-%\end{tabular}
-%\end{center}
-% For example:
-%\begin{verbatim}
-%\glossary{name={singular matrix},
-% description={A matrix with zero determinant}}
-%\end{verbatim}
-% The following example sorts on the text \texttt{U} instead of
-%\verb"$\mathcal{U}$":
-%\begin{verbatim}
-%\glossary{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U}
-%\end{verbatim}
-%Note that you should always use the \gloskey{sort}
-%key if the \gloskey{name} key contains commands, this is particularly
-%important if you are using hyperlinks, as the target is constructed
-%from the \gloskey{name} key if the \gloskey{sort} key is omitted.
-%
-%In the glossary, each entry is followed by a list of page numbers
-%that correspond to the pages where the relevant \cmdname{glossary}
-%command is placed. By default the numbers are formatted in the
-%current font, but the page number format for individual entries can be
-%changed using the \gloskey{format} key. This should be the name of a
-%\LaTeX\ formatting command without the preceding \verb'\' (as with the
-%\verb'|' operator in \cmdname{index}.) For example:
-%\begin{verbatim}
-%\glossary{name={$\mathbb{R}$},
-% description={The set of real numbers},
-% sort=R,
-% format=textbf}
-%\end{verbatim}
-%In addition, the following formats are also available:
-%\changes{2.0}{2004 September 21}{Hyper page formats:
-%\texttt{'hypersf}, \texttt{'hypertt}, \texttt{'hyperbf} and
-%\texttt{'hyperbf}}
-%\changes{2.12}{2004 November 1}{Hyper page format:
-%\texttt{'hyperrm}}
-%\changes{2.4}{2006 July 20}{Hyper page formats updated to take two
-%arguments. Additional formats also provided}
-%\begin{center}
-%\begin{tabular}{ll}
-%\glsnumfmt{hyperrm} & The number is a hyper link in roman \\
-%\glsnumfmt{hypersf} & The number is a hyper link in sans-serif \\
-%\glsnumfmt{hypertt} & The number is a hyper link in typewriter font \\
-%\glsnumfmt{hyperbf} & The number is a hyper link in bold \\
-%\glsnumfmt{hypermd} & The number is a hyper link in medium weight \\
-%\glsnumfmt{hyperit} & The number is a hyper link in italic\\
-%\glsnumfmt{hypersl} & The number is a hyper link in slanted font\\
-%\glsnumfmt{hyperup} & The number is a hyper link in upright font\\
-%\glsnumfmt{hypersc} & The number is a hyper link in small caps\\
-%\glsnumfmt{hyperem} & The number is a hyper link using \cmdname{emph}
-%\end{tabular}
-%\end{center}
-%If the \pkgopt{hyper} option has not been set,
-%\glsnumfmt{hyperem} is equivalent to \texttt{emph}, and the remaining
-%\glsnumfmt{hyperrm} etc are equivalent to \texttt{textrm} etc.
-%Note that it is important the you use \texttt{hyperrm} instead of
-%\texttt{hyperpage}, as the \cmdname{hyperpage} command won't
-%work on a list or range of numbers in the glossary%
-%\footnote{This is because the list and number ranges are
-%delimited using \cmdname{delimR} and \cmdname{delimN} instead of
-%explicitly using a comma or en-dash.}. If you want to define your
-%own command that uses hyper links, it must be defined in an
-%analogous manner to \icmdname{hyperrm}. For example, if you want
-%to display a page number in a bold italic format, that contains a
-%hyperlink to the appropriate page, you would need to define it as
-%follows:
-%\begin{verbatim}
-%\newcommand{\hyperbfit}[2][\gls@number]{%
-%\textbf{\itshape\glshyper{#1}{#2}}}
-%\end{verbatim}
-%As can be seen from the definition, all the \cmdname{hyper}\meta{xx}
-%commands have an optional argument. This argument is the name of the
-%counter being used. You do not need to worry about this argument if
-%you only use these commands within the \icmdname{glossary} command.
-%So the previous example can simply be rewritten as:
-%\begin{verbatim}
-%\glossary{name={$\mathbb{R}$},
-% description={The set of real numbers},
-% sort=R,
-% format=hyperbf}
-%\end{verbatim}
-%
-%\textbf{Note:} although the numbers in the glossary are referred to
-%as ``page'' numbers in this manual, they may in fact refer to some
-%other counter, such as the \texttt{section} counter, depending on
-%whether the \gloskey{number} key has been used.
-%
-%As with the \cmdname{index} command, care must be taken if you
-%want to use the special characters: \verb'@' \verb/|/ \verb+"+ and
-%\verb'!'. These characters should be preceded by the double quote
-%character. For example:
-%\begin{verbatim}
-%\glossary{name={$"|\mathcal{S}"|$,
-%description=The cardinality of the set \mathcal{S}}}
-%\end{verbatim}
-%There is no provision for sub-entries, as these are
-%generally only applicable in an index, and not in a glossary.
-%
-%\changes{2.14}{2005 May 28}{'xglossary added}%
-%As from version 2.14, there is an additional command available:
-%\DescribeMacro{\xglossary}
-%\par\vspace{10pt}\noindent\cmdname{xglossary}\verb'{'\meta{gls-entry}%
-%\verb'}{'\meta{text}\verb"}"
-%\par\vspace{10pt}\noindent This is equivalent to\meta{text}\icmdname{glossary}\verb'{'\meta{gls-entry}\verb"}",
-%where \meta{text} will be made a hyper link to the
-%relevant entry in the glossary, if hyper
-%links are supported.
-%
-%\subsection{Storing Glossary Information}
-%
-%It is very cumbersome having to use the \icmdname{glossary} command
-%throughout your document, every time you use a term that you want in
-%your glossary. This is particularly true for terms with a long
-%description. The \styname{glossary} package provides a means
-%of storing the glossary information at the beginning of the document,
-%and then using it whenever required. It is strongly recommended
-%that you use this approach, rather than explicity using the
-%\icmdname{glossary} command.
-%
-%\changes{2.17}{2005 June 28}{'storeglosentry added}
-%\DescribeMacro{\storeglosentry}
-%The following command:\\[10pt]
-%\begin{ttfamily}
-%\cmdname{storeglosentry}[\textrm{\meta{gls-type}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{gls-entry}}\}
-%\end{ttfamily}\\[10pt]
-%can be used to store glossary information, where \meta{label} is
-%a unique label assigned to this entry. The information
-%can then be used later with any of the following commands:\\[10pt]
-%\changes{2.14}{2005 May 28}{'useglosentry added}
-%\changes{2.14}{2005 May 28}{'useGlosentry added}
-%\changes{2.18}{2005 July 5}{'gls added}
-%\begin{ttfamily}
-%\cmdname{useglosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\DescribeMacro{\useglosentry}\\
-%\cmdname{useGlosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{text}}\}\DescribeMacro{\useGlosentry}\\
-%\cmdname{gls}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\DescribeMacro{\gls}
-%\end{ttfamily}\\[10pt]
-%\cmdname{useglosentry} adds the glossary entry whose label is given by
-%\meta{label} to the appropriate glossary,
-%\cmdname{useGlosentry} adds the glossary entry, and
-%makes \meta{text} a hyperlink to that entry (if hyperlinks are
-%supported). The third command, \cmdname{gls}, is like
-%\cmdname{useGlosentry}, but forms \meta{text} from the name
-%given in the glossary entry.
-%
-%Returning to an earlier example, instead of typing:
-%\begin{verbatim}
-%\glossary{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U}
-%\end{verbatim}
-%every time you want to add this entry to the glossary, you
-%can instead store the information:
-%\changes{2.19}{2005 July 8}{fixed bug in 'storeglosentry}
-%\begin{verbatim}
-%\storeglosentry{glos:U}{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U}
-%\end{verbatim}
-%Now, instead of continually copying and pasting the glossary command
-%for this entry (which can have quite a large \gloskey{description}
-%field), you can use either:
-%\begin{verbatim}
-%\useglosentry{glos:U}
-%\end{verbatim}
-%which is equivalent to:
-%\begin{verbatim}
-%\glossary{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U}
-%\end{verbatim}
-%or you can use:
-%\begin{verbatim}
-%\useGlosentry{glos:U}{text}
-%\end{verbatim}
-%which is equivalent to:
-%\begin{verbatim}
-%\xglossary{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U}{text}
-%\end{verbatim}
-%or you can use:
-%\begin{verbatim}
-%\gls{glos:U}
-%\end{verbatim}
-%which is equivalent to:
-%\begin{verbatim}
-%\xglossary{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U}{$\mathcal{U}$}
-%\end{verbatim}
-%If you want to use glossary entries in an equation, it is better
-%to use \cmdname{ensuremath} instead of \verb|$|\ldots\verb'$'.
-%For example:
-%\begin{verbatim}
-%\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)},
-%description=Gamma function,
-%sort=Gamma}
-%\end{verbatim}
-%You can then use this entry in either text or math mode:
-%\begin{verbatim}
-%The \useGlosentry{Gamma}{Gamma function} is defined as
-%\begin{equation}
-%\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
-%\end{equation}
-%\end{verbatim}
-%If you are using hyper links, and you want to use
-%\cmdname{useGlosentry} within math mode, you must use
-%\cmdname{ensuremath}:
-%\begin{verbatim}
-%\begin{equation}
-%\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x)
-%\end{equation}
-%\end{verbatim}
-%
-%The optional argument to \icmdname{storeglosentry} (\meta{gls-type})
-%indicates the glossary type (see
-%\autoref{sec:newglostype} to find out how to define new
-%glossary types). If omitted, the standard glossary is used.
-%
-%The optional argument to \icmdname{useglosentry},
-%\icmdname{useGlosentry} and \icmdname{gls} (\meta{opt}) allows you to
-%add additional information to the glossary entry, for example:
-%\begin{verbatim}
-%\useglosentry[format=textbf]{glos:U}
-%\end{verbatim}
-%is equivalent to:
-%\begin{verbatim}
-%\glossary{name={$\mathcal{U}$},
-% description={The universal set},
-% sort=U,
-% format=textbf}
-%\end{verbatim}
-%Since version 2.4, \icmdname{storeglosentry} is robust, and
-%\cmdname{protect} should no longer be needed, however
-%the identifying label, \meta{label}, should not
-%contain any special characters.
-%
-%As from version 2.36, if you want to use all glossary entries
-%which have been defined using \cmdname{storeglosentry}, do:
-%\verb|\useglosentry{*}|. (Note that this option is not
-%available for \cmdname{useGlosentry} and \cmdname{gls}.)
-%
-%\section{makeglos.pl}
-%
-%Whenever a glossary entry is used, either explicity using
-%\cmdname{glossary} or \cmdname{xglossary} or implicitly using
-%\cmdname{useglosentry}, \cmdname{useGlosentry} and \cmdname{gls},
-%the information is saved in a file with the extension \filetype{glo}
-%(unless the \icmdname{makeglossary} command is omitted, in which case
-%the glossary information is simply ignored.) A \appname{makeindex}
-%style file\index{makeindex style file (.ist)|see{file types, ist}}
-%(\filetype{ist}) is also created, which is customized for the
-%document, and can be passed to \appname{makeindex}.
-%
-%For example, suppose your document is called \texttt{mydoc.tex},
-%the glossary will be saved in the file
-%\texttt{mydoc.}\filetype{glo}, and the \appname{makeindex} style
-%file \texttt{mydoc.}\filetype{ist} will be created.
-% These files can then be passed to \appname{makeindex} as follows:
-%\begin{verbatim}
-%makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
-%\end{verbatim}
-%which generates the output file \texttt{mydoc.}\filetype{gls},
-%with transcript written to
-%\texttt{mydoc.}\filetype{glg}.
-%
-%The Perl script \appname{makeglos.pl} provided with this package
-%allows you to use \appname{makeindex} without having to remember
-%all the command line options. The command
-%\begin{verbatim}
-%makeglos.pl mydoc
-%\end{verbatim}
-%will perform the command:
-%\begin{verbatim}
-%makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
-%\end{verbatim}
-%In addition, \appname{makeglos.pl} also takes the option
-%\texttt{-m} which can be used to collate entries where the
-%same name has multiple descriptions.
-%\changes{2.14}{2005 May 28}{makeglos -m switch added}
-%
-%\appname{makeglos.pl} has the following syntax:
-%\begin{verbatim}
-%makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] <filename>
-%\end{verbatim}
-%where all switches, apart from \texttt{-m} are the same as
-%those for \appname{makeindex}. If there are multiple glossary types
-%(see
-%\autoref{sec:newglostype}) and the file extension is omitted, \appname{makeglos.pl} will
-%iterate through each glossary type (it will pick up the relevant
-%information from the auxiliary file).
-%
-%The name of the \filetype{ist} file can be changed by redefining
-%the command \cmdname{istfilename}\DescribeMacro{\istfilename}
-%\emph{before} \cmdname{makeglossary}.
-%For example:
-%\begin{verbatim}
-%\renewcommand{\istfilename}{foo.ist}
-%\makeglossary
-%\end{verbatim}
-%Only one \filetype{ist} file will be created per document, even if
-%you have multiple glossaries with different styles. The only
-%circumstance where you will need multiple \filetype{ist} files for
-%a single document is when you have multiple glossaries that use
-%different counters with different compositors, but this is rarely
-%likely to occur.
-%
-%Creation of the \filetype{ist} file can be suppressed by issuing
-%the command \cmdname{noist}\DescribeMacro{\noist}\ before
-%\icmdname{makeglossary}. It will also be suppressed when the
-%command \icmdname{nofiles} is used, or if the command
-%\icmdname{makeglossary} is omitted.
-%
-%It should be noted that there are a few packages that can
-%cause problems with the creation of the \filetype{ist} file,
-%for example \styname{ngerman}. If you encounter problems
-%when \LaTeX\ is processing the \icmdname{makeglossary} command,
-%or if you get errors from \appname{makeindex} complaining about
-%the style file, this is the most probable cause.
-%See \autoref{sec:trouble}, item~\ref{itm:ngerman} for
-%information on how to fix this.
-%
-%\section{Displaying the Glossary}
-%
-% Once the \filetype{gls} file has been created by
-%\appname{makeindex} (as described in the previous
-% section) the glossary can then be included in the document with
-%the command \cmdname{printglossary}\DescribeMacro{\printglossary}.
-% If chapters are defined, the glossary will start
-%with\SpecialMainIndex{glossaryname}
-%\begin{verbatim}
-%\chapter*{\glossaryname}
-%\end{verbatim}
-%If not, it will start with
-%\begin{verbatim}
-%\section*{\glossaryname}
-%\end{verbatim}
-%The format of the main body of the glossary depends on the
-%options passed to the package.
-%
-%\section{Package Options}
-%\label{sec:options}
-%
-%The package options must be specified as a comma-separated list
-%of \meta{key}=\meta{value} pairs. Available options are:
-%\begin{description}
-%\item[\pkgopt{style}] The glossary style. Values:
-%\index{glossary style|see{package options, style}}
-%\begin{description}
-%\item[\pkgoptval{list}{style}] use
-%\envname{description} environment in the glossary
-%\item[\pkgoptval{altlist}{style}] modified
-%version of \pkgopt[list]{style}. The description starts on the
-%line following the name of the term being defined.
-%\changes{2.0}{2004 September 21}{Package option \texttt{altlist}
-%style}
-%\item[\pkgoptval{super}{style}] use
-%\envname{supertabular} environment in the glossary
-%\item[\pkgoptval{long}{style}] use
-%\envname{longtable} environment in the glossary (Default)
-%\end{description}
-%
-%\item[\pkgopt{header}]\index{glossary header|see{package options, header}} Glossary
-%header. Values:
-%\begin{description}
-%\item[\pkgoptval{none}{header}] The glossary
-%doesn't have a heading (Default)
-%\item[\pkgoptval{plain}{header}] The glossary
-%has a heading
-%\end{description}
-%
-%\item[\pkgopt{border}]\index{glossary border|see{package options, border}} Glossary
-%border. Values:
-%\begin{description}
-%\item[\pkgoptval{none}{border}] The glossary
-%doesn't have a border (Default)
-%\item[\pkgoptval{plain}{border}] Border
-%around the main body of the glossary
-%\end{description}
-%
-%\item[\pkgopt{cols}]\index{glossary columns|see{package options, cols}} Number of
-%columns. Values:
-%\begin{description}
-%\item[\pkgoptval{2}{cols}] The entry name and description are in two separate
-%columns with the associated page numbers in the same column as
-%the description. (Default)
-%\item[\pkgoptval{3}{cols}] The entry name, description and associated page numbers
-%are in three separate columns.
-%\end{description}
-%
-% \changes{1.1}{2004 August 14}{Package option \texttt{number}}
-% \changes{2.4}{2006 July 20}{Package option \texttt{number} modified
-%so that any counter can be used}
-%\item[\pkgopt{number}]
-% Associated number corresponding to each entry.
-%This may either be the keyword \pkgoptval{none}, indicating that
-%the corresponding numbers should be suppressed, or it can be the
-%name of a \LaTeX\ counter. The default is \pkgopt[page]{number}.
-%
-%\item[\pkgopt{toc}]\index{table of contents, adding to|see{package options, toc}}
-%Boolean variable:
-%\changes{2.0}{2004 September 21}{Package option \texttt{toc}}
-%\begin{description}
-%\item[\pkgoptval{true}{toc}] Add glossary to table of contents
-%\item[\pkgoptval{false}{toc}] Omit glossary from table of contents (Default)
-%\end{description}
-%Note that if you specify this option, you will need to run
-%\LaTeX\ twice after generating the glossary.
-%
-%\item[\pkgopt{hypertoc}]
-%Boolean variable. This is similar to the package option
-%\pkgopt{toc}, but if you are using the \styname{hyperref}
-%package, \pkgopt{hypertoc} will generate a link to the
-%point immediately before the glossary title, whereas \pkgopt{toc} will
-%have a hyperlink to just after the glossary title. Note
-%that you can not use both \pkgopt[true]{toc} and
-%\pkgopt[true]{hypertoc}. Default value:
-%\pkgopt[false]{hypertoc}.
-%\changes{2.24}{2005 September 27}{Package option \texttt{hypertoc}}
-%
-%\item[\pkgopt{hyper}] Boolean
-%variable:
-%\changes{2.0}{2004 September 21}{Package option \texttt{hyper}}
-%\begin{description}
-%\item[\pkgoptval{true}{hyper}] Make associated numbers in the
-%glossary a hypertext link, and also make acronyms, and the text
-%given by \icmdname{xglossary} have a hyperlink to their
-%corresponding entries in the glossary.
-%\item[\pkgoptval{false}{hyper}] Don't make associated numbers a hypertext link
-%\end{description}
-%If the \styname{hyperref} or \styname{html} package has
-%been loaded prior to loading \texttt{glossary.sty},
-%\pkgopt[true]{hyper} is set, otherwise
-%the default is \pkgopt[false]{hyper}. Note that this package
-%option now encompasses the old \pkgopt{hyperacronym} option.
-%
-%\item[\pkgopt{section}] Boolean variable:
-%\changes{2.12}{2004 November 1}{Package option \texttt{section}}
-%\begin{description}
-%\item[\pkgoptval{true}{section}] Make the glossary an unnumbered
-%section, even if chapters are defined%
-%
-%\item[\pkgoptval{false}{section}] Only make glossary an
-%unnumbered section if chapters are not defined (default).
-%\end{description}
-%
-%\item[\pkgopt{acronym}] Boolean variable:
-%\changes{2.17}{2005 June 28}{Package option \texttt{acronym}}
-%\begin{description}
-%\item[\pkgoptval{true}{acronym}] Make the list of acronyms
-%separate from the main glossary.
-%
-%\item[\pkgoptval{false}{acronym}] The acronyms will all
-%be placed in the main glossary. (Default)
-%\end{description}
-%
-%\item[\pkgopt{global}] Boolean variable:
-%\changes{2.31}{2005 December 5}{Package option \texttt{global}}
-%\begin{description}
-%\item[\pkgoptval{false}{global}] Acronym commands only have
-%a local effect. (Default)
-%\item[\pkgoptval{true}{global}] Acronym commands have a global
-%effect.
-%\end{description}
-%\end{description}
-% The \pkgopt{border}, \pkgopt{header} and \pkgopt{cols} options
-%should not be used in conjunction with \pkgopt[list]{style}
-%or \pkgopt[altlist]{style}, as they only make sense with one of
-%the tabular-style options.
-%The value for the boolean variables can be omitted if they are
-%to be set. For example
-% \pkgopt{toc} is equivalent to \pkgopt[true]{toc}. Note that the
-%\pkgoptval{altlist}{style} style is better suited to
-%glossaries with long entry names.
-%
-%You can set up your own preferred defaults in a configuration
-%file%
-%\index{glossary.cfg|see{file type, cfg}}.
-%The file must be called \texttt{glossary.}\filetype{cfg} and
-%should be placed somewhere on the \TeX\ path. In this file you
-%can use the command \DescribeMacro{\glossarypackageoptions}%
-%\noindent
-%\cmdname{glossarypackageoptions}\verb'{'\meta{option-list}\verb/}/
-%\noindent
-%where \meta{option-list} is a comma-separated list of
-%\meta{key}=\meta{value} pairs, as passed to the
-%\styname{glossary}
-%package. Note that this command may only be used in the
-%configuration file.
-%
-%\subsection{Examples}
-% Suppose the document has the following \icmdname{glossary}
-%commands:
-%\begin{center}\ttfamily
-%\begin{tabular}{@{\rmfamily}ll@{}l}
-%\bfseries Page & \multicolumn{2}{c}{\bfseries\rmfamily Command}\\
-%1 & \cmdname{glossary}\{&name=diagonal matrix,\\
-% & &description=Matrix whose only non-zero\\
-% & &entries are along the leading diagonal\}\\
-%2 & \cmdname{glossary}\{&name=identity matrix,\\
-% & &description=Diagonal matrix with 1s along the \\
-% & &leading diagonal\}\\
-%4 & \cmdname{glossary}\{&name=singular matrix,\\
-% & &description=Matrix with zero determinant\}
-%\end{tabular}
-%\end{center}
-%
-%\noindent Variations:
-%\begin{enumerate}
-%\item If \pkgopt[list]{style} is chosen, the glossary will look like:
-%\begin{description}
-%\item[diagonal matrix] Matrix whose only non-zero entries are along the leading
-% diagonal, 1
-%\item[identity matrix] Diagonal matrix with 1s along the leading diagonal, 2
-%\item[singular matrix] Matrix with zero determinant, 4
-%\end{description}
-%
-%\item If \pkgopt[altlist]{style} is chosen, the glossary will look like:
-%\begin{description}
-%\item[diagonal matrix]\mbox{}\par Matrix whose only non-zero entries are along the leading
-% diagonal, 1
-%\item[identity matrix]\mbox{}\par Diagonal matrix with 1s along the leading diagonal, 2
-%\item[singular matrix]\mbox{}\par Matrix with zero determinant, 4
-%\end{description}
-%
-%\item If \pkgopt[list]{style},\pkgopt[none]{number}%
-% is chosen, the glossary will look like:
-%\begin{description}
-%\item[diagonal matrix] Matrix whose only non-zero entries are along the leading
-% diagonal
-%\item[identity matrix] Diagonal matrix with 1s along the leading diagonal
-%\item[singular matrix] Matrix with zero determinant
-%\end{description}
-%
-%\item If \pkgopt[long]{style},\pkgopt[none]{border},%
-%\pkgopt[none]{header},\pkgopt[page]{number}
-%is chosen (default), the glossary will look like:\\[10pt]
-%\newlength{\descriptionwidth}\setlength{\descriptionwidth}{0.6\textwidth}
-%\begin{tabular}{@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}} &
-%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading
-% diagonal, 1
-%\\ &
-%\\identity matrix & Diagonal matrix with 1s along the leading diagonal, 2
-%\\ &
-%\\ singular matrix & Matrix with zero determinant, 4
-%\end{tabular}
-%
-%\item If \pkgopt[long]{style},\pkgopt[plain]{border},%
-%\pkgopt[none]{header} is chosen,
-%the glossary will look like:
-%\\[10pt]
-%\begin{tabular}{|@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}|}\hline &
-%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading
-% diagonal, 1
-%\\ &
-%\\identity matrix & Diagonal matrix with 1s along the leading diagonal, 2
-%\\ &
-%\\ singular matrix & Matrix with zero determinant, 4
-%\\ & \\\hline
-%\end{tabular}
-%
-%\item If \pkgopt[long]{style},\pkgopt[plain]{border},%
-%\pkgopt[plain]{header} is
-%chosen, the glossary will look like:
-%\\[10pt]
-%\begin{tabular}{|@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}|}\hline
-%\bfseries Notation & \bfseries Description\\\hline\hline &
-%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading
-% diagonal, 1
-%\\ &
-%\\identity matrix & Diagonal matrix with 1s along the leading diagonal, 2
-%\\ &
-%\\ singular matrix & Matrix with zero determinant, 4
-%\\ & \\\hline
-%\end{tabular}
-%
-%\item If \pkgopt[long]{style},\pkgopt[none]{border},%
-%\pkgopt[plain]{header},\pkgopt[3]{cols} is chosen, the
-%glossary will look like:
-%\\[10pt]
-%\begin{tabular}{@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}l}
-%\bfseries Notation & \bfseries Description & \\ &
-%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading
-% diagonal & 1
-%\\ &
-%\\identity matrix & Diagonal matrix with 1s along the leading diagonal & 2
-%\\ &
-%\\ singular matrix & Matrix with zero determinant & 4
-%\\ & \\
-%\end{tabular}
-%\end{enumerate}
-%
-%
-%\section{Defining New Glossary Types}
-%\label{sec:newglostype}
-%
-%A new type of glossary can be defined using the command:\DescribeMacro{\newglossarytype}\\[5pt]
-%\cmdname{newglossarytype}\verb/[/\meta{log-ext}\verb"]{"\meta{name}\verb'}{'\meta{out-ext}\verb+}{+\meta{in-ext}\verb!}[!\meta{style list}\verb-]-\\[5pt]
-%For example, suppose you want your document to have a separate
-%index of terms and index of notation,
-%you could use \icmdname{makeglossary}, \icmdname{glossary},
-%\icmdname{xglossary} and \icmdname{printglossary} for the first
-%glossary, and define a new type of glossary called say,
-%\texttt{notation}, using
-%\begin{verbatim}
-%\newglossarytype[nlg]{notation}{not}{ntn}
-%\end{verbatim}
-%which will create the analogous commands:
-%\cmdname{makenotation}, \cmdname{notation}, \cmdname{xnotation}
-%and \cmdname{printnotation} which can be used for the second
-%glossary.
-%
-%\changes{2.3}{2005 Nov 18}{Added extra optional argument to 'newglosarytype}
-%As from version 2.3, \cmdname{newglossarytype} now has an
-%additional optional argument \meta{style list}. This should
-%be a comma separated list of \meta{key}=\meta{value} pairs
-%that can be used to specify the style of the new glossary.
-%If omitted, the new glossary will have the same format
-%as the main glossary. The following options are available:
-%\texttt{number}, \texttt{style}, \texttt{header}, \texttt{border} and
-%\texttt{cols}. These can take the same values as those
-%given in the package options (described in section~\ref{sec:options}).
-%
-%The command \cmdname{newglossarytype} should only occur in the
-%preamble. The new commands
-% \cmdname{make}\meta{name}, \verb'\'\meta{name},
-%\verb'\x'\meta{name} and \cmdname{print}\meta{name} all have the
-%same format as their ``glossary'' counter-parts.
-%
-%The glossary information will be saved to a file
-%with the extension given by \meta{out-ext} (analogous to
-%\filetype{glo}), which can then be passed to \appname{makeindex}
-%either directly or via \appname{makeglos.pl},
-%and the file to be read in (i.e.\ the file created by
-%\appname{makeindex}) will have the extension \meta{in-ext}
-%(analogous to \filetype{gls}).
-%
-%The optional argument \meta{log-ext} indicates
-%the extension for the \appname{makeindex} log file, if omitted the
-%extension \filetype{glg} is used. This is not used by \LaTeX,
-%however \appname{makeglos.pl} reads in this information from
-%the \LaTeX\ auxiliary file and passes it to \appname{makeindex}.\changes{2.22}{2005 Sept 12}{changed makeglos to read information in from .aux instead of .log file}
-%
-%For the above \texttt{notation}
-%example, if your document is called, say, \texttt{mydoc.tex},
-% you will need to do the following:
-%\begin{verbatim}
-%latex mydoc
-%makeglos.pl mydoc
-%latex mydoc
-%\end{verbatim}
-%(You may need to do an extra \verb"latex mydoc" to get
-%cross-references up-to-date.) Note that if you don't specify the
-%file extension when using \appname{makeglos.pl}, it will
-%check the transcript file from the \LaTeX\ run to determine
-%all the glossary types, so, for this example,
-%\begin{verbatim}
-%makeglos.pl mydoc
-%\end{verbatim}
-%is equivalent to:
-%\begin{verbatim}
-%makeglos.pl mydoc.glo
-%makeglos.pl mydoc.not
-%\end{verbatim}
-%since \appname{makeglos.pl} has read in the information
-%for the \texttt{notation} glossary type from the file
-%\texttt{mydoc.log}.
-%
-%If you don't have Perl installed
-%on your system, or for any other reason are unable to use
-%\appname{makeglos.pl}, you can call \appname{makeindex}
-%explicitly:
-%\begin{verbatim}
-%latex mydoc
-%makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
-%makeindex -s mydoc.ist -t mydoc.nlg -o mydoc.ntn mydoc.not
-%latex mydoc
-%\end{verbatim}
-%
-%Note that you can use the command
-%\icmdname{printglossary}\texttt[\meta{name}\texttt]
-%instead of \verb'\print'\meta{name}.
-%These two commands have the same effect when using \LaTeX,
-%however, they have a slightly different effect when
-%using \LaTeX2HTML (see \autoref{sec:l2h}).
-%
-%If the command \verb'\'\meta{glossary-type}\verb"name"
-%is defined, (e.g.\ \verb'\notationname' in the above example)
-%this will be used as the title for the specified
-%glossary. If this command is not defined, \icmdname{glossaryname}
-%will be used instead.
-%If the command \verb'\short'\meta{glossary-type}\verb"name"
-%is defined, (e.g.\ \cmdname{shortnotationname} in the above
-%example) this will be used for the table of contents
-%entry, otherwise \verb'\'\meta{glossary-type}\verb"name" will
-%be used instead.
-%For example:
-%\begin{verbatim}
-%\newglossarytype[nlg]{notation}{not}{ntn}
-%\newcommand{\notationname}{Index of Notation}
-%\newcommand{\shortnotationname}{Notation}
-%\end{verbatim}
-%
-%\section{Acronyms}
-%
-%\changes{2.0}{2004 September 21}{Acronyms}
-%The \styname{glossary} package provides the command\DescribeMacro{\newacronym}:\\[5pt]
-%\begin{ttfamily}
-%\cmdname{newacronym}[\textrm{\meta{cmd-name}}]\{\textrm{\meta{acronym}}\}\{\textrm{\meta{long}}\}\{\textrm{\meta{glossary entry}}\}
-%\end{ttfamily}\\[5pt]
-%which can be used to define acronyms. The argument \meta{long}
-%is the full name, the argument \meta{acronym} is the acronym for
-%\meta{long} and \meta{glossary entry} is the glossary information
-%in the form used by the \icmdname{glossary} command. If the
-%optional argument \meta{cmd-name} is missing,
-%\cmdname{newacronym} will create a command called
-%\verb!\!\meta{acronym}, otherwise it will create a command
-%called \verb'\'\meta{cmd-name} (henceforth denoted \cmdname{}\meta{acr-name}).
-%This command can then be used throughout the text. The first
-%instance of this command is equivalent to:\\[10pt]
-%\meta{long} \texttt(\icmdname{xacronym}\verb"{"\gloskey{name}\texttt{=}\meta{long} \texttt(\meta{acronym}\texttt{),}\meta{glossary entry}\verb'}{'\meta{acronym}\verb/}/\texttt)\\[10pt]
-%subsequent instances will be equivalent to:\\[10pt]
-%\icmdname{xacronym}\verb"{"\gloskey{name}\texttt{=}\meta{long} \texttt(\meta{acronym}\texttt{),}\meta{glossary entry}\verb'}{'\meta{acronym}\verb/}/\\[10pt]
-%The command \cmdname{}\meta{acr-name} also has a starred
-%version, which will make the first letter of \meta{long}
-%uppercase (for use at the start of a sentence).
-%
-%Note that if you want to change the format of the acronym,
-%for example, if you want the acronym to appear in small caps,
-%you will need to not only use the optional argument, but you
-%will also need to use the \gloskey{sort} key, otherwise you
-%will get an error. For example:
-%\begin{verbatim}
-%\newacronym[SVM]{\textsc{svm}}{Support Vector Machine}%
-%{description=Statistical pattern recognition
-%technique,sort=svm}
-%\end{verbatim}
-%
-%If the package option \pkgopt{acronym} is not set (default)
-%\icmdname{xacronym}, is a synonym for \icmdname{xglossary}, and
-%the acronyms will appear in the main glossary (remember to
-%specify \cmdname{makeglossary} and \cmdname{printglossary}).
-%If the package option \pkgopt[true]{acronym} is specified, a
-%new glossary type called \texttt{acronym} will be defined as:
-%\begin{verbatim}
-%\newglossarytype[alg]{acronym}{acr}{acn}
-%\providecommand{\acronymname}{List of Acronyms}
-%\end{verbatim}
-%You will then need to use the commands \icmdname{makeacronym}
-%and \icmdname{printacronym} to make the list of acronyms appear.
-%You will also need to run the \filetype{acr} file through
-%\appname{makeindex} (or \appname{makeglos.pl}). For example:
-%\begin{verbatim}
-%makeindex -s mydoc.ist -t mydoc.alg -o mydoc.acn mydoc.acr
-%\end{verbatim}
-%alternatively:
-%\begin{verbatim}
-%makeglos.pl mydoc
-%\end{verbatim}
-%Note that the package option \pkgopt[true]{acronym} is only
-%appropriate if you want both a glossary and a separate list of
-%acronyms. If you do not write in English, you can set up your
-%own language definition
-%for \cmdname{acronymname} in the configuration file
-%\texttt{glossary}\filetype{cfg}. For example:
-%\begin{verbatim}
-%\newcommand{\acronymname}{Akronyme}
-%\end{verbatim}
-%(If \texttt{glossary.cfg} does not exist, create a new file, add the
-%appropriate definition of \cmdname{acronymname}, and save it to the
-%same directory as \texttt{glossary.sty}.)
-%
-%\changes{2.1}{2004 October 25}{name field can be omitted in
-%\texttt{'newacronym}}
-%The \gloskey{name} key does not need to appear in \meta{glossary
-%entry}, as it is constructed from \meta{long} and
-%\meta{acronym}. By default this will be in the form:
-%\meta{long} (\meta{acronym}), however the format can be
-%overridden using the
-%command:\DescribeMacro{\setacronymnamefmt}\\[10pt]
-%\cmdname{setacronymnamefmt}\{\meta{format}\}\\[10pt]
-%Within \meta{format} the following commands may
-%be used to represent \meta{long} and \meta{acronym}:
-%\DescribeMacro{\glolong}\icmdname{glolong} and
-%\DescribeMacro{\gloshort}\icmdname{gloshort}. For example,
-%suppose you just want the acronym to appear in the glossary entry,
-%and not its full length name, then you would need to do:
-%\begin{verbatim}
-%\setacronymnamefmt{\gloshort}
-%\end{verbatim}
-%
-%\changes{2.32}{2006 January 5}{added \texttt{'setacronymdescfmt}}
-%As from version 2.32, you can also modify the way the description
-%key is formatted for acronyms using\DescribeMacro{\setacronymdescfmt}:\\[10pt]
-%\cmdname{setacronymdescfmt}\{\meta{format}\}\\[10pt]
-%Within \meta{format} you may use the commands \icmdname{glolong}
-%and \icmdname{gloshort} (as above), and you can also use
-%the command \icmdname{glodesc} which is the description as
-%specified by the \gloskey{description} key in
-%\icmdname{newacronym}. This means that if you are using
-%a tabular style glossary, you can have the abbreviated
-%form in one column and the long form in the second column
-%with the description. For example, the following:
-%\begin{verbatim}
-%\setacronymnamefmt{\gloshort}
-%\setacronymdescfmt{\glolong: \glodesc}
-%\newacronym{svm}{support vector machine}{description=Statistical
-%pattern recognition technique}
-%\end{verbatim}
-%will generate a glossary entry of the form:
-%\begin{verbatim}
-%\glossary{name=svm,description=support vector machine: Statistical
-%pattern recognition technique}
-%\end{verbatim}
-%Note that if you omit \icmdname{glodesc} from
-%\cmdname{setacronymdescfmt} the description specified
-%in \cmdname{newacronym} will be ignored. So
-%\begin{verbatim}
-%\setacronymnamefmt{\gloshort}
-%\setacronymdescfmt{\glolong}
-%\newacronym{svm}{support vector machine}{description=Statistical
-%pattern recognition technique}
-%\end{verbatim}
-%will generate a glossary entry of the form:
-%\begin{verbatim}
-%\glossary{name=svm,description=support vector machine}
-%\end{verbatim}
-%
-%You will need to specify the \gloskey{name} key explicitly if
-%the name contains a \appname{makeindex} special character.
-%For example:
-%\begin{verbatim}
-%\newacronym{RNA}{Ribonukleins\"aure}{name={Ribonukleins\""aure (RNA)}}
-%\end{verbatim}
-%Note that this will override any formatting specified by
-%\icmdname{setacronymnamefmt}.
-%
-%Given an acronym named \meta{acr-name} (the command name
-%associated with the acronym as defined in
-%\cmdname{newacronym} without the preceding backslash),
-%the following commands are also available:
-%
-%\vspace{10pt}
-%\changes{2.11}{2004 October 25}{\texttt{'useacronym}}
-%\changes{2.18}{2005 July 5}{Fixed bug in 'useacronym}
-%\changes{2.26}{2005 November 17}{Fixed bug in 'useacronym}
-%\noindent
-%\cmdname{useacronym}\verb"["\meta{insert}\verb']{'\meta{acr-name}\verb!}!\DescribeMacro{\useacronym}\\[5pt]
-%This command can be used instead of \cmdname{}\meta{acr-name}.
-%\cmdname{useacronym} also has a starred version equivalent to
-%\cmdname{}\meta{acr-name}\texttt{*}.
-%The optional argument \meta{insert} allows you to insert text
-%after \meta{long}, if this is the first occurrence of the
-%acronym, or after the acronym on subsequent occurrences.
-%
-%\vspace{10pt}
-%\changes{2.14}{2005 May 28}{'resetacronym added}\noindent
-%\cmdname{resetacronym}\verb'{'\meta{acr-name}\verb"}"
-%\DescribeMacro{\resetacronym}\\[10pt]
-%This command will cause the next use of \cmdname{}\meta{acr-name}
-%to produce the long version. To reset all acronyms
-%do \cmdname{resetallacronyms}.\DescribeMacro{\resetallacronyms}
-%\changes{2.21}{2005 July 27}{'resetallacronyms added}
-%
-%\vspace{10pt}
-%\changes{2.31}{2005 December 5}{'unsetacronym added}\noindent
-%\cmdname{unsetacronym}\verb'{'\meta{acr-name}\verb"}"
-%\DescribeMacro{\unsetacronym}\\[10pt]
-%This command will cause all subsequent uses of
-%\cmdname{}\meta{acr-name} to produce the short version.
-%To unset all acronyms
-%do \cmdname{unsetallacronyms}.\DescribeMacro{\unsetallacronyms}
-%\changes{2.31}{2005 December 5}{'unsetallacronyms added}
-%
-%\vspace{10pt}
-%\changes{2.14}{2005 May 28}{'ifacronymfirstuse added}\noindent
-%\cmdname{ifacronymfirstuse}%
-%\verb'{'\meta{acr-name}%
-%\verb'}{'\meta{true text}\verb"}{"\meta{false text}\verb!}!
-%\DescribeMacro{\ifacronymfirstuse}\\[10pt]
-%This will test if the acronym has been used yet. If it has been
-%used, \meta{true text} will be implemented, otherwise
-%\meta{false text} will be implemented.
-%
-%The long and short forms of an acronym can be produced explicitly
-%without a corresponding glossary entry, using the commands:\\[10pt]
-%\changes{2.19}{2005 July 8}{'acrln added}%
-%\cmdname{acrln}\verb'{'\meta{acr-name}\verb/}/\DescribeMacro{\acrln}\\
-%\cmdname{acrsh}\verb'{'\meta{acr-name}\verb/}/\DescribeMacro{\acrsh}
-%\changes{2.19}{2005 July 8}{'acrsh added}\\[10pt]
-%Or, alternatively:\\[10pt]
-%\cmdname{}\meta{acr-name}\texttt{long}\\
-%\cmdname{}\meta{acr-name}\texttt{short}\\[10pt]
-%The first two commands (\cmdname{acrln} and \cmdname{acrsh})
-%have a starred form that makes the first letter uppercase.
-%The other two commands, simply contain \meta{long} and
-%\meta{acronym}.
-%
-%Note that since these four commands do not generate glossary
-%entries they will therefore not contain any hyperlinks, even if
-%you have specified the \pkgopt{hyper} package option. They are
-%provided for use in situations where the associated glossary
-%command may cause problems (e.g.\ in a sectioning command.)
-%
-%Note that, as with all \LaTeX\ commands, spaces following
-%command names are ignored so if, for example, you defined
-%a new acronym called, say, SVM, then the command \verb/\SVM/ will
-%ignore any spaces following it. To force a space, you
-%can either place an empty set of braces after the command
-%name (e.g.\ \verb/\SVM{}/) or use
-%\cmdname{\textvisiblespace} i.e.\ a backslash followed by
-%a space (e.g.\ \verb/\SVM\ /). Alternatively, as from
-%version 2.22, if you load the \styname{xspace} package
-%before loading the \styname{glossary} package, spaces will
-%be put in automatically using \icmdname{xspace}.
-%\changes{2.22}{2005 Sept 16}{Added provision for 'xspace}
-%\changes{2.23}{2005 Sept 17}{Fixed minor bug with hyperlinks and 'glsxspace}
-%\changes{2.28}{2005 July 9}{Fixed erroneous spaces occuring while
-%using xspace}
-%
-%\DescribeMacro{\acronymfont}
-%\changes{2.22}{2005 Sept 12}{Added 'acronymfont}%
-%If you want the acronym to appear in a particular font,
-%for example, small caps, you can redefine the command
-%\cmdname{acronymfont}. For example:
-%\begin{verbatim}
-%\renewcommand{\acronymfont}[1]{\textsc{#1}}
-%\end{verbatim}
-%The default definition of \cmdname{acronymfont} is:
-%\begin{verbatim}
-%\newcommand{\acronymfont}[1]{#1}
-%\end{verbatim}
-%
-%\subsection{Examples}
-%
-%\begin{verbatim}
-%\newacronym{SVM}{Support Vector Machine}{description=Statistical
-%pattern recognition technique}
-%\end{verbatim}
-%This will define the command \cmdname{SVM}. The first time this
-%command is used will display the text: Support Vector Machine
-%(SVM). Subsequent use will simply display: SVM. The next
-%example uses the optional argument \meta{cmd-name} since the
-%acronym contains a non-alphabetical character:
-%\begin{verbatim}
-%\newacronym[KSVM]{K-SVM}{Kernel Support Vector
-%Machine}{description=Statistical pattern recognition
-%technique using the ``kernel trick''}
-%\end{verbatim}
-%This will define the command \cmdname{KSVM}. The first time
-%this command is used will display the text: Kernel Support Vector
-%Machine (K-SVM). Subsequent use will simply display: K-SVM.
-%
-%To test whether or not an acronym has been used:
-%\begin{verbatim}
-%\ifacronymfirstuse{SVM}{a}{an} \SVM\ is \ldots
-%\end{verbatim}
-%If the acronym has not been used, the following text will
-%be produced:\\[10pt]
-%a Support Vector Machine is \ldots\\[10pt]
-%otherwise it will produce:\\[10pt]
-%an SVM is \ldots\\[10pt]
-%To expand the acronym a second time:
-%\begin{verbatim}
-%\chapter{An overview of the \protect\SVM}
-%\resetacronym{SVM}
-%The \SVM\ \ldots
-%\end{verbatim}
-%Note the use of \cmdname{protect} (see
-%note~\ref{itm:fragile} on page~\pageref{itm:fragile}.) In fact, in this situation
-%it would be better to do:
-%\begin{verbatim}
-%\chapter[An overview of the \SVMlong]{An overview of the \protect\SVM}
-%\resetacronym{SVM}
-%The \SVM\ \ldots
-%\end{verbatim}
-%
-%Now suppose you want the text: support vector machine,
-%instead of Support Vector Machine (i.e.\ you don't like the
-%uppercase letters). You can define the acronym as follows:
-%\begin{verbatim}
-%\newacronym{SVM}{support vector machine}{description=Statistical
-%pattern recognition technique}
-%\end{verbatim}
-%however, if the command \cmdname{SVM} occurs at the start of the
-%sentence, you would clearly want the first letter as an
-%uppercase letter. This can be done using \cmdname{SVM*} instead
-%of \cmdname{SVM}. For example:
-%\begin{verbatim}
-%\SVM*\ techniques are widely used \ldots
-%\end{verbatim}
-%This will then come out as: Support vector machine (SVM)
-%techniques are widely used \ldots (Assuming this is the first
-%use of either \cmdname{SVM} or \cmdname{SVM*}.)
-%
-%Alternatively, \icmdname{useacronym}\verb'{SVM}' can be used instead of
-%\cmdname{SVM}. For example:
-%\begin{verbatim}
-%\useacronym*[s]{SVM} are widely used in the area of pattern
-%recognition.
-%\end{verbatim}
-%If this is the first use of the acronym SVM, it will produce the
-%following text:\\[10pt]
-%Support vector machines (SVM) are widely used in the area of
-%pattern recognition.\\[10pt]
-%If this is not the first use of this acronym, it will produce the
-%following text:\\[10pt]
-%SVMs are widely used in the area of pattern recognition.
-%
-%\section{Customizing the Glossary}
-%The \styname{glossary} package provides commands which can be redefined to customize the
-%glossary. The following name commands are defined by this package:
-%\begin{center}\DescribeMacro{\glossaryname}\DescribeMacro{\entryname}\DescribeMacro{\descriptionname}\relax
-%\begin{tabular}{ll}
-%\bfseries Command & \bfseries Default Value\\
-%\cmdname{glossaryname} & Glossary\\
-%\cmdname{shortglossaryname} & \cmdname{glossaryname}\\
-%\cmdname{entryname} & Notation\\
-%\cmdname{descriptionname} & Description
-%\end{tabular}
-%\end{center}
-%The commands \cmdname{entryname} and \cmdname{descriptionname}
-%are put in the first two columns of the header row if you
-%are using one of the tabular glossary styles together with a
-%header row (as specified by the \pkgopt[true]{header} package option).
-%If you are using \pkgopt[3]{cols}, the command
-%\cmdname{glspageheader}\DescribeMacro{\glspageheader}\ will be
-%put in the third column of the header row. By default, this command
-%does nothing.\changes{2.4}{2006 July 20}{'glspageheader added}
-%
-%\changes{2.2}{2005 July 15}{'glossaryname now defined using 'providecommand instead of 'newcommand}
-% \changes{2.15}{2005 June 5}{'shortglossaryname}
-%\changes{2.16}{2005 June 8}{fixed bug preventing changes
-%to 'glossaryname and 'shortglossaryname}
-%\DescribeMacro{\shortglossaryname}
-%The command \cmdname{shortglossaryname} is used for the
-%page headers and table of contents entry.
-% \changes{1.1}{2004 August 14}{'glossarypreamble}%
-% \changes{1.1}{2004 August 14}{'glossarypostamble}%
-%Any text required before or after the glossary can be added
-%by redefining the commands \DescribeMacro{\glossarypreamble}\cmdname{glossarypreamble}
-%and \DescribeMacro{\glossarypostamble}\cmdname{glossarypostamble}.
-%For example.
-%\begin{verbatim}
-%\renewcommand{\glossarypreamble}{Page numbers in
-%italic indicate the main definition\par}
-%\end{verbatim}
-%By default, \cmdname{glossarypreamble} and \cmdname{glossarypostamble} do nothing.
-%
-%\changes{2.3}{2005 Nov 18}{'glsbeforenum}%
-%\changes{2.3}{2005 Nov 18}{'glsafternum}%
-%Any text required before or after the list of page numbers
-%are specified by the commands \cmdname{glsbeforenum}
-%\DescribeMacro{\glsbeforenum}
-%and \cmdname{glsafternum}\DescribeMacro{\glsafternum}.
-%By default, these commands do nothing, any redefinition
-%of these commands should come somewhere before the
-%relevant \cmdname{printglossary} command. For example:
-%\begin{verbatim}
-%\printglossary
-%\renewcommand{\glsbeforenum}{(}
-%\renewcommand{\glsafternum}{)}
-%\printnotation
-%\end{verbatim}
-%This will put the page number list in brackets for the
-%second glossary, but not the first.
-%
-%Individual glossaries can have their styles changed either
-%by setting the style in the final optional argument
-%to \icmdname{newglossarystyle} (see
-%\autoref{sec:newglostype}) or using the command\DescribeMacro{setglossarystyle}:\\[10pt]
-%\cmdname{setglossarystyle}[\meta{type}]\{\meta{style list}\}\\[10pt]
-%For example:
-%\begin{verbatim}
-%\setglossarystyle[acronym]{style=long,border=true,cols=2}
-%\end{verbatim}
-%If \meta{type} is omitted, the change is applied to the main
-%glossary.
-%
-%\changes{1.1}{2004 August 14}{\relax Increased User Flexibility}%
-%\changes{2.14}{2005 May 29}{'setglossary added}
-%\DescribeMacro{\setglossary}
-%The command \cmdname{setglossary}\verb'{'\meta{key-val list}\verb"}"
-%can be used to modify some of the glossary settings. The argument
-%\meta{key-val list} is a comma-separated list of
-%\meta{key}=\meta{value} pairs. Available keys are:
-%\begin{description}
-%\item[\setglos{type}] This is the glossary type.
-%If it is omitted, the standard glossary is assumed.
-%
-%\item[\setglos{glsnumformat}]
-%\changes{1.1}{2004 August 14}{\texttt{'glsnumformat}}%
-%This is the name of the command,
-%\emph{without} the preceding backslash\footnote{Note, you should
-%no longer try redefining the command \cmdname{glsnumformat}, as
-%this now takes an optional argument, allowing for different
-%glossary types}, to format the
-%entry numbers. For example, to make all the entry numbers italic,
-%do:
-%\begin{verbatim}
-%\setglossary{glsnumformat=textit}
-%\end{verbatim}
-%To suppress numbering altogether, you can do:
-%\begin{verbatim}
-%\setglossary{glsnumformat=ignore}
-%\end{verbatim}
-%
-%\item[\setglos{glodelim}] This
-%specifies what to do after the entry description and
-%before the page numbers. The default value is a comma, unless the \pkgopt[3]{cols} option is specified,
-%in which case it has the value \verb"&", or if
-%\pkgopt[altlist]{style},
-%in which case it is simply a space\footnote{This
-%is because the \texttt{altlist} style is intended for use with long descriptions that will look better ending with a
-% full stop which the user can add if desired.}. If the package option \pkgopt[none]{number} is
-%specified, \setglos{glodelim} will have an empty value (unless
-%\pkgopt[3]{cols} is specified,
-%where, again, it will have the value \verb"&".)
-%This setting corresponds to the \istkey{delim\_0} key in the
-%\appname{makeindex} style file.
-%
-%Note that if you want a new line between the description
-%and the list of page numbers you will need to use
-%\cmdname{noexpand}. For example:
-%\begin{verbatim}
-%\setglossary{glodelim={\noexpand\newline}}
-%\end{verbatim}
-%
-%\item[\setglos{delimN}]
-%\changes{1.1}{2004 August 14}{\texttt{'delimN}}
-%The delimiter to be inserted between two
-%page numbers for the same entry. (This corresponds to the
-%\istkey{delim\_n} key in the \appname{makeindex} style file.)
-%By default, this has the value
-%\texttt{,\textvisiblespace} (comma followed by a space). If the
-%package option \pkgopt[none]{number} is chosen, the value is set
-%to empty.
-%
-%\item[\setglos{delimR}]
-%\changes{1.1}{2004 August 14}{'delimR}
-%The delimiter to be inserted between the starting and ending page
-%number range for the same entry. (This corresponds to the
-%\istkey{delim\_r} key in the \appname{makeindex} style file.)
-%By default, this has the value \verb"--". If the
-%package option \pkgopt[none]{number} is chosen, the value is set
-%to empty.
-%
-%\item[\setglos{gloskip}]
-%\changes{2.3}{2005 Nov 18}{'gloskip}
-%This specifies what to do between groups.
-%If \pkgopt[list]{style} or \pkgopt[altlist]{style} this has the
-%value \cmdname{indexspace}, otherwise it creates a blank row
-% in the \envname{longtable} or \envname{supertabular} environment.
-%This command corresponds to the \istkey{group\_skip} key in
-%the \appname{makeindex} style file.
-%Note that as from version 2.3, you should no longer redefine
-%the command \cmdname{gloskip}.
-%
-%\item[\setglos{delimT}]
-%\changes{2.3}{2005 Nov 18}{'delimT}
-%The text to be inserted after the list of
-%page numbers for an entry. (This corresponds to the
-%\istkey{delim\_t} key in the \appname{makeindex} style file.)
-%The default value depends on the glossary style. It does
-%nothing for the list-type styles, and has the value
-%\verb/\\/ for the tabular-type styles. Note that
-%\setglos{delimT} is separate from \cmdname{glsafternum}.
-%
-%For example, if you are using a 2 column tabular style,
-%and you want a blank line after every entry (not just
-%after every group) you can do the following:
-%\begin{verbatim}
-%\setglossary{delimT={\cr & \cr},gloskip={}}
-%\end{verbatim}
-%Note the use of \cmdname{cr} instead of \verb/\\/ and
-%\setglos{gloskip} is set to nothing otherwise there would be
-%a double space between groups.
-%\end{description}
-%Note that:
-%\begin{verbatim}
-%\setglossary{glsnumformat=ignore}
-%\end{verbatim}
-%is equivalent to
-%\begin{verbatim}
-%\setglossary{glsnumformat=ignore,delimN={},delimR={}}
-%\end{verbatim}
-%
-%As from version 2.4\changes{2.4}{2006 July 20}{Added facility to insert text between groups},
-%you can insert text between groups by redefining the
-%commands \cmdname{glogroupSymbols},
-%\cmdname{glogroupNumbers}, \cmdname{glogroupA} \ldots\
-%\cmdname{glogroupZ}. For example, if you are using one
-%of the list styles, the following will print the appropriate
-%heading in bold, followed by a gap:
-%\begin{verbatim}
-%\renewcommand{\glogroupSymbols}{\textbf{Symbols}\indexspace}
-%\renewcommand{\glogroupNumbers}{\textbf{Numbers}\indexspace}
-%\renewcommand{\glogroupA}{\textbf{A}\indexspace}
-%....% similar lines omitted
-%\renewcommand{\glosgroupZ}{\textbf{Z}\indexspace}
-%\end{verbatim}
-%
-%The start and end of the main body of the glossary is given by the commands:
-%\cmdname{beforeglossary}\DescribeMacro{\beforeglossary}{} and
-%\cmdname{afterglossary}\DescribeMacro{\afterglossary}.
-%If the \pkgopt[list]{style}
-%or \pkgopt[altlist]{style}
-%package options are chosen these commands simply begin and end
-%the \envname{description}
-%environment, otherwise these commands begin and end the
-%\envname{longtable} or
-%\envname{supertabular}
-%environment with argument specified by
-%\cmdname{glossaryalignment}\footnote{This isn't quite true
-%anymore, see the documented code for clarification}.\DescribeMacro{\glossaryalignment}
-%
-%\changes{2.1}{2004 October 25}{made glossary compatible with array package}
-%\changes{2.3}{2005 Nov 18}{made glossary compatible with array package}
-%The glossary package no longer conflicts with the \styname{array}
-%package. Changes can now be made to \cmdname{glossaryalignment}
-%regardless of whether or not the \styname{array}
-%package has been used.
-%
-%The command \cmdname{gloitem}\DescribeMacro{\gloitem}\ indicates
-%what to do at the start of each glossary entry.
-%This command takes one argument, which will be the text specified by the \gloskey{name} key
-%in the \icmdname{glossary} command. In the case of the
-%\pkgopt[list]{style} option,
-%\cmdname{gloitem}\verb"{"\meta{text}\verb'}'
-%will do\\[5pt]
-%\verb"\item["\meta{text}\verb']'\\[5pt]
-%or if \pkgopt[altlist]{style}:\\[5pt]
-%\verb"\item["\meta{text}\verb']\mbox{}\par'\\[5pt]
-%otherwise it will do\\[5pt]
-%\meta{text}\verb" &"\\[5pt]
-%This command corresponds to the \istkey{item\_0} key in the
-%\appname{makeindex} style file.
-%
-%If the glossary has a tabular style with a header row
-%(\pkgopt[true]{header} and either \pkgopt[long]{style} or
-%\pkgopt[super]{style}), then the header row for \pkgopt[2]{cols}
-%will be given by:
-%\begin{verbatim}
-%\bfseries\entryname & \bfseries \descriptionname\\
-%\end{verbatim}
-%and the header row for \pkgopt[3]{cols} will be given by:
-%\begin{verbatim}
-%\bfseries\entryname & \bfseries\descriptionname &
-%\bfseries\glspageheader\\
-%\end{verbatim}
-%(It may also contain \cmdname{hline}\cmdname{hline} if the
-%\pkgopt{border} key is set.)
-%
-%If you want to override this, you need to define the command
-%\cmdname{glossaryheader}\footnote{Note that as from version~2.4,
-%you must use \cmdname{newcommand} \emph{not} \cmdname{renewcommand}}%
-%\DescribeMacro{\glossaryheader}.
-%
-%For example, if you are using a tabular style with \pkgopt[2]{cols},
-%and you want the \icmdname{descriptionname} to be centred, you could
-%do:
-%\begin{verbatim}
-%\newcommand{\glossaryheader}{\bfseries\entryname &
-% \hfil\bfseries\descriptionname\\}
-%\end{verbatim}
-%
-%If you want an extra row below the header row, you can define
-%the command\cmdname{glossarysubheader}\DescribeMacro{\glossarysubheader}
-%\changes{2.4}{2006 July 20}{provision for 'glossarysubheader added}
-%For example, if you are using \pkgopt[3]{cols}, and you want an
-%extra row after the header row, you can do:
-%\begin{verbatim}
-%\newcommand{\glossarysubheader}{ & & \\}
-%\end{verbatim}
-%
-%The command \cmdname{glosstail}\DescribeMacro{\glosstail}\ indicates what to do at the end of
-%the \envname{longtable} or \envname{supertabular} environment.
-%
-%The width of the second column for the tabular-type styles is given by the length
-%\cmdname{descriptionwidth}\DescribeMacro{\descriptionwidth}. This value can be changed using
-%the \cmdname{setlength} command (the default value is \verb"0.6\linewidth").
-%
-%\section{Sample Documents}
-%This package comes with the following sample documents:
-%\begin{itemize}
-%\item \texttt{sampleSec.tex} --- This document uses the options:
-%\pkgopt[altlist]{style}, \pkgopt{toc} and
-%\pkgopt[section]{number}. It also loads the
-%\styname{hyperref} package before loading the
-%\styname{glossary} package, so the glossary has hyperlinks
-%to the section numbers. Experimenting with different package
-%options, will illustrate the different glossary styles.
-%You will need to do:
-%\begin{verbatim}
-%pdflatex sampleSec
-%makeglos.pl sampleSec
-%pdflatex sampleSec
-%pdflatex sampleSec
-%\end{verbatim}
-%If you don't want to use \appname{makeglos.pl}, you will need
-%to do
-%\begin{verbatim}
-%makeindex -s sampleSec.ist -t sampleSec.glg -o sampleSec.gls sampleSec.glo
-%\end{verbatim}
-%
-%\item \texttt{sampleNtn.tex} --- This has a glossary and defines
-%a new glossary type called \texttt{notation}. The glossary has
-%associated page numbers, but the new glossary type doesn't.
-%The two glossaries have different styles.
-%You will need to do:
-%\begin{verbatim}
-%latex sampleNtn
-%makeglos.pl sampleNtn
-%latex sampleNtn
-%latex sampleNtn
-%\end{verbatim}
-%If you don't want to use \appname{makeglos.pl}, you will need
-%to do
-%\begin{verbatim}
-%makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo
-%makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.ntn sampleNtn.not
-%\end{verbatim}
-%
-%\item \texttt{sampleNtn2.tex} ---This is similar to
-%\texttt{sampleNtn.tex}, but uses \icmdname{storeglosentry}.
-%
-%\item \texttt{sampleEq.tex} --- This has a glossary where the
-%numbers in the glossary refer to the equation number rather than
-%the page number (achieved with the package option
-%\pkgopt[equation]{number}). The \icmdname{entryname},
-%\icmdname{descriptionname}, \icmdname{glossaryname} and
-%\icmdname{glspageheader} are all redefined to customize the
-%glossary. You will need to do:
-%\begin{verbatim}
-%latex sampleEq
-%makeglos.pl sampleEq
-%latex sampleEq
-%\end{verbatim}
-%If you don't want to use \appname{makeglos.pl}, you will need
-%to do
-%\begin{verbatim}
-%makeindex -s sampleEq.ist -t sampleEq.glg -o sampleEq.gls sampleEq.glo
-%\end{verbatim}
-%
-%\item \texttt{sampleEqPg.tex} --- This is a modified version of
-%\texttt{sampleEq.tex}. This example has one glossary, where some
-%of the entry numbers refer to the corresponding page number, and
-%some of the entry numbers refer to the corresponding equation
-%number. You will need to do:
-%\begin{verbatim}
-%latex sampleEqPg
-%makeglos.pl sampleEqPg
-%latex sampleEqPg
-%\end{verbatim}
-%If you don't want to use \appname{makeglos.pl}, you will need
-%to do
-%\begin{verbatim}
-%makeindex -s sampleEqPg.ist -t sampleEqPg.glg -o sampleEqPg.gls sampleEqPg.glo
-%\end{verbatim}
-%
-%\item \texttt{sampleAcr.tex} --- This has a glossary containing
-%acronyms. It uses the style \pkgoptval{altlist}{style} as this is better
-%suited to glossaries with long names. It also uses the
-%\styname{hyperref} package, so the page numbers in the
-%glossary will automatically be hyperlinks, and the acronyms
-%within the text will have hyperlinks to their corresponding entry
-%in the glossary. You will need to do:
-%\begin{verbatim}
-%pdflatex sampleAcr
-%makeglos.pl sampleAcr
-%pdflatex sampleAcr
-%pdflatex sampleAcr
-%\end{verbatim}
-%If you don't want to use \appname{makeglos.pl}, you will need
-%to do
-%\begin{verbatim}
-%makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo
-%\end{verbatim}
-%
-%
-%\item \texttt{sample.tex} --- This has a glossary entry
-%with two different definitions of the same name.
-%If you just use \appname{makeindex}, the two entries
-%will be treated separately, however, if you want them
-%concatenated, you can use \appname{makeglos.pl} with
-%the \texttt{-m} switch. You will need to do:
-%\begin{verbatim}
-%pdflatex sample
-%makeglos.pl -m sample
-%pdflatex sample
-%pdflatex sample
-%\end{verbatim}
-%(Depending on the configuration of your system, you
-%may have to do \texttt{perl makeglos.pl} instead of
-%just \appname{makeglos.pl})
-%
-%If you don't want to use \appname{makeglos.pl}, you will need
-%to do
-%\begin{verbatim}
-%makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo
-%\end{verbatim}
-%however, the entries with the same name but multiple descriptions
-%will not be merged. You will also have to given them different sort
-%keys otherwise you will get duplicate hyper targets.
-%
-%\item \texttt{sample4col.tex}---This illustrates how to
-%modify the glossary style so that it has 4 columns. You
-%will need to do:
-%\begin{verbatim}
-%latex sample4col
-%makeglos.pl sample4col
-%latex sample4col
-%\end{verbatim}
-%
-%\end{itemize}
-%
-%\section{LaTeX2HTML Style File}
-%\label{sec:l2h}
-%
-%A \LaTeX2HTML\ Perl script, \texttt{glossary.}\filetype{perl}, is
-%provided with this package for those wishing to use the
-%glossary package with the \LaTeX2HTML translator.
-%The file \texttt{glossary.}\filetype{perl} should be extracted
-%along with \texttt{glossary.sty} when you run the
-%installation script (\texttt{glossary.ins}) through \LaTeX.
-%
-%\subsection{Limitations}
-%
-%\begin{itemize}
-%\item The only package options supported are:
-%\pkgopt[altlist]{style}, \pkgopt[true]{hyper}, \pkgopt[true]{toc},
-%\pkgopt[true]{acronym} and \pkgopt[false]{acronym}.
-%
-%\item If you have more than one glossary type, the
-%secondary glossaries will occur in the same segment
-%as the primary glossary if you use the command
-%\verb'\print'\meta{name} instead of
-%\verb'\printglossary['\meta{name}\verb"]", where
-%\meta{name} is the name of the glossary type.
-%
-%\item The command \icmdname{setglossary} must be
-%placed in the preamble to have an effect.
-%
-%\item The \icmdname{storeglosentry} commands must be in
-%the document environment to have an effect. (They don't
-%seem to work in the preamble, I don't know why.)
-%
-%\item If you place a \icmdname{glossary} command
-%inside an environment not translated by \LaTeX2HTML
-%(for example, inside a mathematics environment),
-%it will not be entered into the glossary.
-%
-%\item The combinations \verb'""', \verb!"|!, \verb+"!+
-%and \verb'"@' will be correctly translated, unless they
-%occur within a maths environment. This is because
-%the maths environment is translated before being
-%passed to \icmdname{glossary}. You can overcome this
-%by doing, e.g.:\\
-%\cmdname{begin}\verb'{latexonly}'\\
-%\verb'\glossary{name=$"|\mathcal{S}"|$,description=cardinality of set'\\
-%\verb'$\mathcal{S}$,sort=cardinality}'\\
-%\cmdname{end}\verb'{latexonly}'\\
-%\cmdname{begin}\verb'{htmlonly}'\\
-%\verb'\glossary{name=$|\mathcal{S}|$,description=cardinality of set'\\
-%\verb'$\mathcal{S}$,sort=cardinality}'\\
-%\cmdname{end}\verb'{htmlonly}'
-%
-%Alternative, you can use \cmdname{mid} instead:
-%\begin{verbatim}
-%\glossary{name=$\mid\mathcal{S}\mid$,description=cardinality of
-%set $\mathcal{S}$,sort=cardinality}
-%\end{verbatim}
-%
-%\item Glossary items with the same names but different
-%definitions will not be merged.
-%
-%\item The configuration file \texttt{glossary.cfg} is ignored.
-%
-%\end{itemize}
-%
-%
-%\section{Troubleshooting}
-%\label{sec:trouble}
-%
-%This is a list of common problems, for a more up-to-date FAQ, see
-%\url{http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/}.
-%
-%\begin{enumerate}
-%\item My glossary hasn't appeared.
-%
-%Check the following:
-%\begin{itemize}
-%\item Have you included the command \icmdname{makeglossary}
-%in the preamble?
-%
-%\item Have you put the command \icmdname{printglossary} where
-%you want the glossary to appear?
-%
-%\item Have you used \appname{makeglos.pl} or \appname{makeindex},
-%and if you did, did it successfully create the \filetype{gls}
-%file? (Check the transcript \filetype{glg} file.)
-%
-%\begin{itemize}
-%\item If you used \appname{makeindex} directly, did you specify
-%the \filetype{ist} file created by \icmdname{makeglossary},
-%and did you remember to specify the output file with the extension
-%\filetype{gls}?
-%
-%\item When \appname{makeindex} scans the \filetype{ist} file,
-%it should generate the message:
-%\begin{verbatim}
-%9 attributes redefined, 0 ignored
-%\end{verbatim}
-%If you have a number other than 0 ignored, then there is something
-%wrong with the \filetype{ist} file. Some packages can cause
-%problems with the creation of this file, see
-%item~\ref{itm:ngerman} below.
-%\end{itemize}
-%
-%\item Have you remembered to \LaTeX\ your document again
-%after using \appname{makeglos.pl} or \appname{makeindex}?
-%
-%\item Have you used \icmdname{glossary} or \icmdname{xglossary}?
-%
-%\item If you have used \icmdname{storeglosentry}, have you also
-%used \icmdname{useglosentry}, \icmdname{useGlosentry} or
-%\icmdname{gls}?
-%\end{itemize}
-%
-%If you have defined a new glossary type, have you checked
-%all the analogous commands to the above?
-%
-%\item My list of acronyms hasn't appeared.
-%
-%Have you used the \pkgopt[true]{acronym} package option? If no,
-%check the answers to the previous item, if yes, make sure
-%you have used \icmdname{makeacronym} and \icmdname{printacronym}.
-%Have you used any of the acronyms you have defined? Remember
-%that \cmdname{acrsh}, \cmdname{acrln},
-%\cmdname{}\meta{acr-name}\texttt{short} and
-%\cmdname{}\meta{acr-name}\texttt{long} don't generate entries
-%in the list of acronyms, where \cmdname{}\meta{acr-name} is the
-%name of an acronym command.
-%
-%\item My acronym has been expanded twice.
-%
-%By default, if any of your acronym commands occur within a
-%group (this includes environments which form implicit grouping)
-%the effect will be local to that group. You can either unset
-%the acronym outside the group, or use the \pkgopt{global}
-%package option.
-%
-%\item I get an error when using the command
-%\icmdname{saveglosentry}.
-%
-%Don't use this command it's obsolete, use
-%\icmdname{storeglosentry} instead.
-%
-%\item One of more of my glossary entries hasn't appeared.
-%
-%Check the following
-%\begin{itemize}
-%\item If you defined the entry using \icmdname{storeglosentry}
-%have you used either \icmdname{useglosentry},
-%\icmdname{useGlosentry} or \icmdname{gls}?
-%
-%\item Have you remembered to \icmdname{protect} commands
-%such as \cmdname{mathcal} within \icmdname{storeglosentry}?
-%
-%\item Have you used the characters \texttt{@} \texttt{!}
-%\texttt{\textbar} \verb'"'? If so, have you preceded them
-%with a double quote character?
-%\end{itemize}
-%
-%Check the \appname{makeindex} log file to see if there are
-%any error messages.
-%
-%\item My glossary has duplicate entries on separate lines.
-%
-%\LaTeX\ treats multiple spaces equivalent to a single space, but \appname{makeindex}
-%takes spaces into account when determining whether two entries are identical.
-%For example:
-%\begin{verbatim*}
-%\glossary{name=Identity matrix,
-%description=diagonal matrix with 1's along the diagonal}
-%\end{verbatim*}
-%and
-%\begin{verbatim*}
-%\glossary{name=Identity matrix,
-%description=diagonal matrix with 1's along the diagonal}
-%\end{verbatim*}
-%will be treated as different entries by \appname{makeindex},
-%because the first has only one space
-%between `Identity' and `matrix' and the second has two.
-%The easiest way to ensure consistency is to use
-%\icmdname{storeglosentry} together with \icmdname{useglosentry},
-%\icmdname{useGlosentry} or \icmdname{gls}.
-%
-%\item I had an error, fixed it, but I keep getting the same error message.
-%
-%Suppose you've made an error in the \icmdname{glossary} command. For example:
-%\begin{verbatim}
-%\glossary{name=Java,description=A programming language,format=texbf}
-%\end{verbatim}
-%In this case \texttt{textbf} has been mis-spelt. This error will be copied to the \filetype{glo} file,
-%which in turn will be copied to the \filetype{gls} file by
-%\appname{makeindex}. A subsequent run of \LaTeX\ will
-%read this error in. If you fix the error in your main document, the error will still be read in from
-%the \filetype{gls} file. The best thing to do is to delete the
-%\filetype{gls} file, and try again.
-%
-%\item My glossary has ended up wider than my page.
-%
-%This may occur if you have long entry names, and you are using
-%either the \pkgopt[long]{style} or \pkgopt[super]{style}
-%options. The width of the description column is proportional to
-%the line width (in fact, it's \verb"0.6\linewidth")
-%but the first column is as wide as the widest entry name. You
-%can either redefine \icmdname{glossaryalignment} to change the
-%column specifications, or use one of the list-type styles.
-%
-%\item The page numbers in my glossary don't match up with the actual page numbers where the entry
-%was defined.
-%
-%You may need to \LaTeX\ your document again (just as you have to do
-%with \cmdname{tableofcontents}, \cmdname{listoffigures} etc).
-%
-%\item I'm getting a \appname{keyval} error.
-%
-%The \styname{glossary} package uses the \styname{keyval}
-%package to extract the information from \meta{key}=\meta{value}
-%comma separated lists. You need to make sure the syntax is correct.
-%If your \meta{value} contains a
-%comma, you will need to enclose \meta{value} in curly braces. See the \styname{keyval} documentation for
-%further information\footnote{This should be in the directory
-%\texttt{texmf/doc/latex/graphics/}}.
-%
-%\item I've used the \pkgopt{hyper} option, but nothing happens
-%when I click on the numbers in the glossary.
-%
-%Check the following:
-%\begin{enumerate}
-%\item Have you remembered to use PDF\LaTeX\ instead of \LaTeX,
-%or used a driver that understands hyperlinks?
-%\item Have you remembered to use the \styname{hyperref} or
-%\styname{html} package?
-%\item Have you remembered to use a formatting command which uses \cmdname{hyperlink}? (E.g.\ using \glsnumfmt{hyperbf} instead
-%of \texttt{textbf})? Remember to check the \gloskey{format} key
-%in your \icmdname{glossary} commands, and the
-%\setglos{glsnumformat} key in the \icmdname{setglossary}
-%command.
-%\item What application are you using to view the PDF file?
-%Ghostview can display a PDF file, but ignores the links. If you are using Windows, try
-%using Adobe's Acrobat Reader, or if you are using UNIX or Linux, try using \appname{xpdf} or \appname{acroread}.
-%\end{enumerate}
-%
-%\item The \styname{glossary} package conflicts with the
-%\styname{datetime} package.
-%\changes{2.01}{21 Oct 2004}{Fixed conflict with datetime package}
-%
-%This has been fixed in version 2.01.
-%
-%\item I get an error when using certain commands, such as \cmdname{cite} or \verb"~" in \icmdname{newacronym}.
-%
-%This has been fixed in version 2.1.
-%
-%\item I get the following error:
-%\begin{verbatim}
-%! Package array Error: Illegal pream-token (\glossaryalignment): `c' used.
-%\end{verbatim}
-%
-%The \styname{glossary} package used to conflict with the
-%\styname{array} package. This was fixed in version 2.1.
-%As from version 2.3, it doesn't matter whether you load
-%the \styname{glossary} package before or after the
-%\styname{array} package.
-%
-%\item\label{itm:fragile} I get the following error:
-%\begin{verbatim}
-%Use of \@chapter doesn't match its definition
-%\end{verbatim}
-%or
-%\begin{verbatim}
-%! Argument of \@sect has an extra }
-%\end{verbatim}
-%
-%If you want to use an acronym command in a moving argument (such as a chapter heading)
-%you need to \cmdname{protect} it first. Note that if you do put an acronym in a chapter etc
-%heading, it will be expanded for the first time in the table of contents, not
-%in the chapter heading. The best way to get around this is to use the
-%optional argument, e.g.
-%\begin{verbatim}
-%\chapter[Introduction to Kernel Support Vector Machines]{Introduction
-%to \protect\KSVM}
-%\end{verbatim}
-%You will also need to do this if you are using bookmarks in a PDF document.
-%
-%Alternatively, you can do:
-%\begin{verbatim}
-%\resetacronym{KSVM}
-%\chapter{Introduction to \protect\KSVM}
-%\end{verbatim}
-%or if you are using PDFLaTeX:
-%\begin{verbatim}
-%\resetacronym{KSVM}
-%\chapter{Introduction to \texorpdfstring{\protect\KSVM}{KSVM}}
-%\end{verbatim}
-%
-%\item\label{itm:ngerman} The \styname{glossary} package conflicts with
-%\styname{ngerman}.
-%
-%This problem is caused by the fact that \styname{ngerman}
-%redefines the effect of the double quote
-%character, but this character is used in the creation of the
-%\filetype{ist} \appname{makeindex} style file.
-%Try one of the following methods:
-%\begin{enumerate}
-%\item Include the \styname{ngerman} package after the
-%\icmdname{makeglossary} command:
-%\begin{verbatim}
-%\usepackage{glossary}
-%\makeglossary
-%\usepackage{ngerman}
-%\end{verbatim}
-%
-%\item First omit the \styname{ngerman} package and include
-%\icmdname{makeglossary} then \LaTeX\ your document.
-%This will create the \filetype{ist} file. Then include the
-%\styname{ngerman} package, and insert \icmdname{noist} before
-%the \icmdname{makeglossary} command, this will prevent further attempts to generate the \filetype{ist} file.
-%\begin{verbatim}
-%\usepackage{ngerman}
-%\usepackage{glossary}
-%\noist\makeglossary
-%\end{verbatim}
-%
-%\item Use \icmdname{noist}, as above, and create the
-%\filetype{ist} file
-%in an ordinary text editor. The file should contain the
-%following lines:
-%\begin{verbatim}
-%keyword "\\glossaryentry"
-%preamble "\\begin{theglossary}"
-%postamble "\n\\end{theglossary}\n"
-%group_skip "\\gloskip "
-%item_0 "\n\\gloitem "
-%delim_0 "\n\\glodelim "
-%page_compositor "-"
-%delim_n "\\delimN "
-%delim_r "\\delimR "
-%\end{verbatim}
-%\end{enumerate}
-%It is possible that there may be other packages which will
-%also cause a problem, if so, try any of the above.
-%
-%\item \appname{makeglos.pl} gives the following error message:
-%\begin{verbatim}
-%unable to extract name from glossary item:
-%\end{verbatim}
-%
-%You are using an old version of \appname{makeglos.pl} with a
-%new version of the \styname{glossary} package. You will need
-%to update your version \appname{makeglos.pl}.
-%\end{enumerate}
-%Let me know if you encounter any other problems or if you have any comments regarding this package.
-%
-%\section{Obsolete Commands}
-%
-%The commands described in this section are now obsolete, but
-%are currently still provided for backwards compatibility. Their
-%use is deprecated.
-%
-%\changes{2.14}{2005 May 28}{'saveglosentry added}
-%\DescribeMacro{\saveglosentry}
-%\icmdname{saveglosentry}\{\textrm{\meta{name}}\}\{\meta{description}\}\\
-%This command has now been replaced by \cmdname{storeglosentry}.
-%
-%\changes{2.0}{2004 November 1}{primary acronym number format
-%\texttt{'glsprimaryfmt}}
-%\changes{2.12}{2004 November 1}{primary acronym number format
-%\texttt{'glsprimaryfmt} no longer used}
-%\changes{2.4}{2006 July 20}{primary acronym number format
-%\texttt{'glsprimaryfmt} has been removed}
-%\DescribeMacro{\glsprimaryfmt}%
-%The command \cmdname{glsprimaryfmt} has now been removed.
-%
-%The package option \pkgopt{hyperacronym} is now superseded by the package option
-%\pkgopt{hyper}. This option was implemented prior to the
-%introduction of the command \icmdname{xglossary}. Since the
-%acronyms now use \icmdname{xglossary}, there is no difference
-%between the \pkgopt{hyperacronym} and \pkgopt{hyper} options.
-%This option has a boolean value:
-%\changes{2.13}{2004 December 1}{Package option \texttt{hyperacronym}}
-%\begin{description}
-%\item[\pkgoptval{true}{hyperacronym}] Make acronyms link to their corresponding entry in the glossary
-%\item[\pkgoptval{false}{hyperacronym}] Acronyms don't have a hyperlink.
-%\end{description}
-%If the \styname{hyperref} package has been loaded prior to
-%loading \texttt{glossary.sty} or if \pkgopt[true]{hyper} is set,
-%\pkgopt[true]{hyperacronym} otherwise
-%\pkgopt[false]{hyperacronym}.%
-%
-%\section{Contact Details}
-%\noindent
-%Dr Nicola Talbot\\
-%School of Computing Sciences\\
-%University of East Anglia\\
-%Norwich. Norfolk\\
-%NR4 7TJ. United Kingdom.\\
-%\url{http://theoval.cmp.uea.ac.uk/~nlct/}
-%
-%\section{Acknowledgements}
-%
-%I would like to thank all the many people who have made suggestions
-%and pointed out bugs.
-%
-% \StopEventually{\PrintChanges\addcontentsline{toc}{section}{Change History}\PrintIndex\addcontentsline{toc}{section}{Index}}
-%
-%
-%
-%
-%\section{The Code}
-% \begin{macrocode}
-%<*glossary.sty>
-% \end{macrocode}
-% \subsection{Package Definition}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary}[2006/07/20 2.4 (NLCT)]
-% \end{macrocode}
-% Load packages needed by glossary.sty:
-% \begin{macrocode}
-\RequirePackage{ifthen}
-\RequirePackage{keyval}
-% \end{macrocode}
-% The package options are in the form of a comma-separated list of
-% \meta{key}=\meta{value} pairs. First need to set up the keys.
-%
-% The \pkgopt{style} key. This may be one of \pkgoptval{list}{style},
-% \pkgoptval{altlist}{style} (use \envname{description} environment),
-% \pkgoptval{super}{style} (use \envname{supertabular} environment) or
-% \pkgoptval{long}{style} (use \envname{longtable} environment).
-% \begin{macrocode}
-\define@key{gloss}
-{style}
-{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist}
-\or \equal{#1}{super} \or \equal{#1}{long}}
-{\def\gls@style{#1}}
-{\PackageError{glossary}
-{Unknown glossary style '#1'}
-{Available styles are: list, altlist, super and long}}}
-% \end{macrocode}
-% The \pkgopt{header} key. This can either be \pkgoptval{none}{header}
-% or \pkgoptval{plain}{header}. Should only be used in conjunction
-% with \pkgopt[style]{super} or \pkgopt[long]{style}.
-% \begin{macrocode}
-\define@key{gloss}
-{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}}
-{\def\gls@header{#1}}
-{\PackageError{glossary}
-{Unknown glossary style '#1'}
-{Available styles are: none and plain}}}
-% \end{macrocode}
-% The \pkgopt{border} key. This can either be \pkgoptval{none}{border}
-% or \pkgoptval{plain}{border}. Should only be used in conjunction
-% with \pkgopt[super]{style} or \pkgopt[long]{style}.
-% \begin{macrocode}
-\define@key{gloss}
-{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}}
-{\def\gls@border{#1}}
-{\PackageError{glossary}
-{Unknown glossary border '#1'}
-{Available styles are: none and plain}}}
-% \end{macrocode}
-% Number of columns (either \pkgoptval{2}{cols} or
-% \pkgoptval{3}{cols}). Should only be used in conjunction with
-% \pkgopt[super]{style} or \pkgopt[long]{style}.
-% \begin{macrocode}
-\newcount\gls@cols
-\define@key{gloss}{cols}{\gls@cols=#1\relax
-\ifthenelse{\gls@cols<2 \or \gls@cols>3}
-{\PackageError{glossary}
-{invalid number of columns}
-{The cols option can only be 2 or 3}}
-{}}
-% \end{macrocode}
-% The number key may either be \pkgoptval{none}{number} or the name of
-% a counter.
-% \begin{macrocode}
-\define@key{gloss}
-{number}
-{\ifthenelse{\equal{#1}{none}}
-{\def\gls@glossary@number{#1}}
-{\@ifundefined{c@#1}{
-\PackageError{glossary}
-{Unknown glossary number style '#1'}
-{You may either specify "none" or the name of a counter,
-e.g. "section"}\def\gls@glossary@number{page}}{\def\gls@glossary@number{#1}}}}
-% \end{macrocode}
-% The \pkgopt{toc} key. If set, adds the glossary to the table of
-% contents
-% \begin{macrocode}
-\newif\ifgls@toc
-\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true}
-\or \equal{#1}{false}}
-{\csname gls@toc#1\endcsname}
-{\PackageError{glossary}{Glossary option 'toc' is boolean}
-{The value of 'toc' can only be set to 'true' or 'false'}}}
-% \end{macrocode}
-% The \pkgopt{hypertoc} key. Like \pkgopt{toc}, but puts the anchor
-% before the section heading. Should only be used if the
-% \styname{hyperref} package is used (because it uses
-% \icmdname{phantomsection}).
-% \begin{macrocode}
-\newif\ifgls@hypertoc
-\define@key{gloss}{hypertoc}[true]{%
-\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}
-{\csname gls@hypertoc#1\endcsname}
-{\PackageError{glossary}{Glossary option 'hypertoc' is boolean}
-{The value of 'hypertoc' can only be set to 'true' or 'false'}}}
-% \end{macrocode}
-% The \pkgopt{section} key. This will put the glossary in an unnumbered
-% section, even if chapters are defined.
-% \begin{macrocode}
-\newif\ifgls@section
-\define@key{gloss}{section}[true]{%
-\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}
-{\csname gls@section#1\endcsname}
-{\PackageError{glossary}{Glossary option 'section' is boolean}
-{The value of 'section' can only be set to 'true' or 'false'}}}
-\gls@sectionfalse
-% \end{macrocode}
-% Enable hyperlinks. If \styname{hyperref} or \styname{html}
-% packages loaded, \pkgopt[true]{hyper} is the default.
-% \begin{macrocode}
-\newif\ifglshyper
-\newif\ifglshyperacronym
-\define@key{gloss}{hyper}[true]{%
-\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}
-{\csname glshyper#1\endcsname\glshyperacronymtrue}
-{\PackageError{glossary}{Glossary option 'hyper' is boolean}
-{The value of 'hyper' can only be set to 'true' or 'false'}}}
-% \end{macrocode}
-% Enable hyperlinks for acronyms. Deprecated: use \pkgopt{hyper}
-% instead.
-% \begin{macrocode}
-\define@key{gloss}{hyperacronym}[true]{%
-\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}
-{\csname glshyperacronym#1\endcsname}
-{\PackageError{glossary}{Glossary option 'hyperacronym' is boolean}
-{The value of 'hyperacronym' can only be set to 'true' or 'false'}}}
-% \end{macrocode}
-% The \pkgopt{acronym} key. If set, the acronyms will be separate from
-% main glossary entries. Remember to use \icmdname{makeacronym}
-% and \icmdname{printacronym} if \pkgoptval{true}{acronym}.
-% \begin{macrocode}
-\newif\ifglsacronym
-\define@key{gloss}{acronym}[true]{%
-\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}
-{\setboolean{glsacronym}{#1}}{%
-\PackageError{glossary}{Glossary option 'acronym' is boolean}{The
-value of 'acronym' can only be set to 'true' or 'false'}}}
-% \end{macrocode}
-% The \pkgopt{global} key. If not set, any acronyms expanded in a
-% group will be treated as unused once outside of the group.
-% Set \pkgopt[true]{global} to prevent this.
-% \begin{macrocode}
-\newif\ifglsglobal
-\define@key{gloss}{global}[true]{\ifthenelse{\equal{#1}{true}\or
-\equal{#1}{false}}{\setboolean{glsglobal}{#1}}{%
-\PackageError{glossary}{Glossary option 'global' is boolean}{The
-value of 'global' can only be set to 'true' or 'false'}}}
-% \end{macrocode}
-% Set up defaults
-% \begin{macrocode}
-\def\gls@style{long}
-\def\gls@header{none}
-\def\gls@border{none}
-\def\gls@glossary@number{page}
-\gls@cols=2\relax
-\gls@tocfalse
-% \end{macrocode}
-% If \icmdname{hyperpage} is defined, then assume hyperlinks required
-% \begin{macrocode}
-\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{%
-\glshypertrue\glshyperacronymtrue}
-% \end{macrocode}
-% If \icmdname{hypertarget} defined, then \icmdname{glosslabel} will make a
-% target ("#1") and \icmdname{glossref} will make a hyperlink (to "#1").
-% Otherwise will simply print the second argument.
-% \begin{macrocode}
-\@ifundefined{hypertarget}{
-% no hyperlinks
-\newcommand{\glosslabel}[2]{#2}%
-\newcommand{\glossref}[2]{#2}%
-}{%
-\newcommand{\glosslabel}[2]{\hypertarget{#1}{#2}}%
-\newcommand{\glossref}[2]{\hyperlink{#1}{#2}}
-}
-% \end{macrocode}
-% If the \styname{xspace} package has been loaded, use \icmdname{xspace}
-% in acronyms.
-% \begin{macrocode}
-\@ifundefined{xspace}{%
-\let\glsxspace\relax}{%
-\let\glsxspace\xspace}
-% \end{macrocode}
-% Set \icmdname{glossaryalignment} to "\relax" before loading
-% configuration file.
-% \begin{macrocode}
-\let\glossaryalignment\relax
-% \end{macrocode}
-% Load configuation file if it exists
-% \begin{macrocode}
-\newcommand{\glossarypackageoptions}[1]{\setkeys{gloss}{#1}}
-\InputIfFileExists{glossary.cfg}{%
-\typeout{Glossary configuration file loaded}}{%
-\typeout{No configuration file glossary.cfg found}}
-\renewcommand{\glossarypackageoptions}[1]{%
-\PackageError{glossary}{Command \string\glossarypackageoptions
-^^Jcan only be used in configuration file}{}}
-% \end{macrocode}
-% Set up the options so that they are treated as a
-% \meta{key}=\meta{value} list.
-% \begin{macrocode}
-\DeclareOption*{\edef\@pkg@ptions{\noexpand
-\setkeys{gloss}{\CurrentOption}}
-\ifthenelse{\equal{\CurrentOption}{}}{}{\@pkg@ptions}}
-% \end{macrocode}
-% Process options
-% \begin{macrocode}
-\ProcessOptions
-% \end{macrocode}
-%Check to make sure that the options don't conflict.
-% \begin{macrocode}
-\ifthenelse{\(\equal{\gls@style}{list} \or
-\equal{\gls@style}{altlist}\) \and
-\(\not\equal{\gls@header}{none} \or \not\equal{\gls@border}{none}
-\or \gls@cols=3\)}
-{\PackageError{glossary}{You can't have option 'style=list' or
-'style=altlist' in combination with any of the other style
-options}{The 'list' and 'altlist' options don't have a header,
-border or number of columns option.}}
-{}
-% \end{macrocode}
-% Can't have both toc and hypertoc. Make it a warning rather
-% than an error.
-% \begin{macrocode}
-\ifthenelse{\boolean{gls@hypertoc} \and \boolean{gls@toc}}{%
-\PackageWarning{glossary}{Can't have both 'toc' and
-'hypertoc', ignoring 'toc' option}
-\ifgls@hypertoc\gls@tocfalse\fi}{}
-% \end{macrocode}
-%\subsection{Redefining \texorpdfstring{\texttt{\symbol{92}glossary}}{\textbackslash glossary} format}
-% The glossary is going to be redefined so that it accepts
-% \meta{key}=\meta{value} information, so need to define the keys (see
-% keyval documentation for further details
-% on how to do this.) Added "\@onelevel@sanitize" at the recommendation
-% of Dan~Luecking and Ulrich~Diez.
-% \begin{macrocode}
-\define@key{wrgloss}{name}{%
-\def\@glo@n@me{#1}%
-\@onelevel@sanitize\@glo@n@me%
-\global\let\@glo@n@me\@glo@n@me}
-\define@key{wrgloss}{description}{%
-\def\@descr{#1}%
-\@onelevel@sanitize\@descr}
-\define@key{wrgloss}{sort}{%
-\def\@s@rt{#1}%
-\@onelevel@sanitize\@s@rt
-\global\let\@s@rt\@s@rt}
-\define@key{wrgloss}{format}{\def\@f@rm@t{#1}}
-\define@key{wrgloss}{number}{\def\@glo@num{#1}}
-% \end{macrocode}
-% Redefine "\@wrglossary" so that it separates out the entry name and
-% entry description. This was rewritten in version 2.4. It is now
-% used for both the main glossary, and user-defined glossaries.
-% The command "\@@wrglossary" is called at the end of "\@wrglossary",
-% by default this does nothing, but some commands temporarily
-% redefine it.
-% \begin{macrocode}
-\newcommand{\@@wrglossary}{}
-% \end{macrocode}
-% The label for each entry is usually made up of the glossary prefix
-% followed by the sort value, this can be over-ridden by redefining
-% \cmdname{@glo@l@bel}. (This is done if the optional argument to
-% \icmdname{glossary} is used.) By default this does nothing.
-% \begin{macrocode}
-\newcommand{\@glo@l@bel}{}
-% \end{macrocode}
-% Define the prefix for the principle glossary. (Added to version
-% 2.4.)
-% \begin{macrocode}
-\newcommand{\@gls@glossary@type}{glo}
-% \end{macrocode}
-% The optional first argument was added in version 2.4. This
-% is the name of the glossary type.
-% \begin{macrocode}
-\renewcommand{\@wrglossary}[2][glossary]{\relax
-\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}%
-\edef\@glo@num{\csname gls@#1@number\endcsname}\relax
-\xdef\@pr@fix{\csname @gls@#1@type\endcsname}%
- \setkeys{wrgloss}{#2}\relax
-\ifthenelse{\equal{\@glo@num}{none}}{\def\@@glo@num{\thepage}}{%
-\@ifundefined{c@\@glo@num}{\PackageError{glossary}{%
-Not such counter '\@glo@num'}{The value of the 'number' key
-must be the name of a counter or the word "none"}%
-\def\@@glo@num{\thepage}}{%
-\edef\@@glo@num{\csname the\@glo@num\endcsname}}}%
-\ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}%
-\ifthenelse{\equal{\@glo@l@bel}{}}{%
-\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}%
-% \end{macrocode}
-% User has not specified a format, so use default
-% \begin{macrocode}
-\ifthenelse{\equal{\@f@rm@t}{}}
-{\expandafter\protected@write\csname @#1file\endcsname{}%
-{\string\glossaryentry{\@s@rt @{%
-\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr
-\string\relax|glsnumformat}{\@@glo@num}}}
-% \end{macrocode}
-% User has specified a format. If it is one of the
-% "\hyper"\meta{xx} types, append the required counter.
-% This is needed if the glossary contains a mixture of
-% counters used (as in "sampleEqPg.tex").
-% \begin{macrocode}
-{\ifthenelse{\equal{\@f@rm@t}{hyperrm} \or
-\equal{\@f@rm@t}{hypersf} \or \equal{\@f@rm@t}{hypertt}
-\or \equal{\@f@rm@t}{hypermd} \or \equal{\@f@rm@t}{hyperbf}
-\or \equal{\@f@rm@t}{hyperit} \or \equal{\@f@rm@t}{hyperem}
-\or \equal{\@f@rm@t}{hypersl} \or \equal{\@f@rm@t}{hyperup}
-\or \equal{\@f@rm@t}{hypersc}}
-{\expandafter\protected@write\csname @#1file\endcsname{}%
- {\string\glossaryentry{\@s@rt @{%
- \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr
- \string\relax|\@f@rm@t[\@glo@num]}{\@@glo@num}}}
-{\expandafter\protected@write\csname @#1file\endcsname{}%
- {\string\glossaryentry{\@s@rt @{%
- \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr
- \string\relax|\@f@rm@t}{\@@glo@num}}}}\relax
- \endgroup\@esphack
-\@@wrglossary
-}
-% \end{macrocode}
-% Command to extract name key from glossary entry. This shouldn't
-% be sanitized, so define a new key for this
-% \begin{macrocode}
-\define@key{wrnsgloss}{name}{\def\@glo@n@me{#1}}
-\define@key{wrnsgloss}{description}{\def\@descr{#1}}
-\define@key{wrnsgloss}{sort}{\def\@s@rt{#1}}
-\define@key{wrnsgloss}{format}{\def\@f@rm@t{#1}}
-\define@key{wrnsgloss}{number}{\def\@glo@num{#1}}
-% \end{macrocode}
-% Extract name from key-value list. Name stored in "\@glo@n@me".
-% \begin{macrocode}
-\newcommand{\@gls@getn@me}[1]{%
-\def\@glo@n@me{}\setkeys{wrnsgloss}{#1}%
-}
-% \end{macrocode}
-% Command to extract description key from glossary entry.
-% \begin{macrocode}
-\newcommand{\@gls@getdescr}[1]{%
-\@bsphack\begingroup
-\def\@descr{}%
-\setkeys{wrgloss}{#1}%
-\global\let\@glo@desc\@descr
-\endgroup\@esphack
-}
-% \end{macrocode}
-% Now define \icmdname{xglossary} so you can have a hyperlink that takes
-% you to the entry in the glossary
-% \begin{macrocode}
-\newcommand{\xglossary}{\renewcommand{\@@wrglossary}[1]{%
-\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}%
-\glossary}
-% \end{macrocode}
-%\subsection{Storing Glossary Entries}
-% Provide a means to store glossary information to save typing
-% and ensure consistency (new to v2.17).
-%
-% Store label in list (new to version 2.36) so that all
-% entries can be added to the glossary with a single command.
-% \begin{macrocode}
-\newcommand*{\@glo@label@list}{}
-\toksdef\gls@ta=0 \toksdef\gls@tb=2
-\newcommand{\@glo@label@addtolist}[1]{%
-\gls@ta={{#1}}\gls@tb=\expandafter{\@glo@label@list}%
-\xdef\@glo@label@list{\the\gls@ta,\the\gls@tb}}
-% \end{macrocode}
-% First define command to store details (don't allow a label
-% consisting solely of a "*" as this represents all entries
-% when passed to \icmdname{useglosentry}.)
-% \begin{macrocode}
-\newcommand*{\storeglosentry}[3][glossary]{%
-\ifthenelse{\equal{#2}{*}}{%
-\PackageError{glossary}{Glossary label '*' invalid}{You can't have
-a glossary entry with a * as the label}}{%
-\@ifundefined{glo@#2@entry}{%
-\@glo@label@addtolist{#2}%
-\expandafter\def\csname glo@#2@type\endcsname{#1}%
-\expandafter\def\csname glo@#2@entry\endcsname{#3}%
-\@gls@getn@me{#3}%
-\expandafter\protected@edef\csname glo@#2@name\endcsname{\@glo@n@me}%
-}{%
-\PackageError{glossary}{Glossary entry '#2' already
-defined}{There already exists a glossary entry with the label '#2'}}}%
-}
-% \end{macrocode}
-% This command will not produce text in the document, but will
-% produce the relevant glossary entry.
-% \begin{macrocode}
-\providecommand{\useglosentry}[2][\relax]{%
-\ifthenelse{\equal{#2}{*}}{\@for\@glolab:=\@glo@label@list\do{%
-\ifthenelse{\equal{\@glolab}{}}{}{\useglosentry[#1]{\@glolab}}}}{%
-\@ifundefined{glo@#2@type}{%
-\PackageError{glossary}{Glossary entry '#2' undefined}{You need
-to define the entry using \string\storeglosentry\space before
-using it.}}{{%
-\edef\@glostype{\csname glo@#2@type\endcsname}%
-\@glo@tb=\expandafter\expandafter\expandafter
-{\csname glo@#2@entry\endcsname}%
-\ifx#1\relax
-\edef\@glo@cmd{\expandafter\noexpand
-\csname\@glostype\endcsname{\the\@glo@tb}}%
-\else
-\edef\@glo@cmd{\expandafter\noexpand
-\csname\@glostype\endcsname{\the\@glo@tb,#1}}%
-\fi
-\@glo@cmd
-}}}}
-% \end{macrocode}
-% This command will produce the specified text in the document
-% (with a hyperlink if enabled), and will produce the relevant
-% glossary entry.
-% \begin{macrocode}
-\providecommand{\useGlosentry}[3][\relax]{%
-\@ifundefined{glo@#2@type}{%
-\PackageError{glossary}{Glossary entry '#2' undefined}{You need
-to define the entry using \string\storeglosentry\space before
-using it.}}{{%
-\edef\@glostype{x\csname glo@#2@type\endcsname}%
-\@glo@tb=\expandafter\expandafter\expandafter
-{\csname glo@#2@entry\endcsname}%
-\ifx#1\relax
-\edef\@glo@cmd{\expandafter\noexpand
-\csname\@glostype\endcsname{\the\@glo@tb}}%
-\else
-\edef\@glo@cmd{\expandafter\noexpand
-\csname\@glostype\endcsname{\the\@glo@tb,#1}}%
-\fi
-\@glo@cmd{#3}%
-}}}
-% \end{macrocode}
-% As above, but the text displayed in the document is constructed from
-% the \gloskey{name} key.
-% \begin{macrocode}
-\newcommand{\gls}[2][\relax]{%
-\useGlosentry[#1]{#2}{%
-\csname glo@#2@name\endcsname}}
-% \end{macrocode}
-% This command was defined in earlier verions, but doesn't
-% work very well, currently retained for backwards compatibility,
-% but may well be removed at a later date.
-% \begin{macrocode}
-\providecommand{\saveglosentry}[3][glossary]{%
-\PackageWarning{glossary}{\string\saveglosentry\space is obsolete,
-please use \string\storeglosentry\space instead}%
-\expandafter\def\csname glo@#2@type\endcsname{#1}%
-\expandafter\def\csname glo@#2@entry\endcsname{%
-name={#2},description={#3}}}
-% \end{macrocode}
-%Set up default number formats, dependent on the package \pkgopt{number}
-% option. Define default page compositor. Any redefinition of the
-% page compositor will need to come before the ".ist" file is
-% written. The other commands can be redefined at any point before
-% \icmdname{printglossary}.
-%
-% Define a command to set up the glossary counter.
-% The optional argument specifies the glossary type
-% (defaults to the main glossary). The mandatory
-% command is the name of the counter, or "none".
-% \begin{macrocode}
-\newcommand*{\@gls@setnumbering}[2][glossary]{%
-% \end{macrocode}
-% If no numbering (\pkgopt[none]{number}):
-% \begin{macrocode}
-\ifthenelse{\equal{#2}{none}}{%
-\def\pagecompositor{-}
-\expandafter\def\csname @#1@delimN\endcsname{}
-\expandafter\def\csname @#1@delimR\endcsname{}
-\expandafter\def\csname glsX#1Xnumformat\endcsname##1{}}{%
-% \end{macrocode}
-% If "number=page", set the page compositor to
-% "-" (dash) otherwise set it to "." (dot).
-% \begin{macrocode}
-\ifthenelse{\equal{#2}{page}}{%
-\def\pagecompositor{-}}{%
-\def\pagecompositor{.}}
-% \end{macrocode}
-% Set up delimiters and formats
-% \begin{macrocode}
-\expandafter\def\csname @#1@delimN\endcsname{, }
-\expandafter\def\csname @#1@delimR\endcsname{--}
-\ifglshyper
-\expandafter\def\csname glsX#1Xnumformat\endcsname##1{%
-\hyperrm[#2]{##1}}%
-\else
-\expandafter\def\csname glsX#1Xnumformat\endcsname##1{##1}\fi
-}
-% \end{macrocode}
-% End of "\@gls@setnumbering" definition:
-% \begin{macrocode}
-}
-% \end{macrocode}
-% Now call it to set up current numbering:
-% \begin{macrocode}
-\@gls@setnumbering{\gls@glossary@number}
-% \end{macrocode}
-% Provide a means of changing the page number format for a
-% given glossary type.
-% \begin{macrocode}
-\newcommand{\glsnumformat}[1]{%
-\@ifundefined{\@glostype}{\def\@glostype{glossary}}{}%
-\@ifundefined{glsX\@glostype Xnumformat}{%
-\PackageError{glossary}{Glossary type '\@glostype' undefined}{}}{%
-\csname glsX\@glostype Xnumformat\endcsname{#1}}}
-% \end{macrocode}
-% Set the default glossary type
-% \begin{macrocode}
-\def\@glostype{glossary}
-% \end{macrocode}
-% Make the delimiters etc depend on the glossary type.
-% "\@glostype" should be set to the appropriate glossary type
-% before using any of these commands.
-% \begin{macrocode}
-\newcommand{\delimN}{\csname @\@glostype @delimN\endcsname}
-\newcommand{\delimR}{\csname @\@glostype @delimR\endcsname}
-\newcommand{\gloitem}{\csname @\@glostype @gloitem\endcsname}
-\newcommand{\gloskip}{\csname @\@glostype @gloskip\endcsname}
-\newcommand{\delimT}{\glsafternum
-\csname @\@glostype @delimT\endcsname}
-\newcommand{\glodelim}{\csname @\@glostype @glodelim\endcsname
-\glsbeforenum}
-% \end{macrocode}
-% Add facility to insert text between groups. By default these do
-% nothing.
-% \begin{macrocode}
-\newcommand{\glogroupSymbols}{}
-\newcommand{\glogroupNumbers}{}
-\newcommand{\glogroupA}{}
-\newcommand{\glogroupB}{}
-\newcommand{\glogroupC}{}
-\newcommand{\glogroupD}{}
-\newcommand{\glogroupE}{}
-\newcommand{\glogroupF}{}
-\newcommand{\glogroupG}{}
-\newcommand{\glogroupH}{}
-\newcommand{\glogroupI}{}
-\newcommand{\glogroupJ}{}
-\newcommand{\glogroupK}{}
-\newcommand{\glogroupL}{}
-\newcommand{\glogroupM}{}
-\newcommand{\glogroupN}{}
-\newcommand{\glogroupO}{}
-\newcommand{\glogroupP}{}
-\newcommand{\glogroupQ}{}
-\newcommand{\glogroupR}{}
-\newcommand{\glogroupS}{}
-\newcommand{\glogroupT}{}
-\newcommand{\glogroupU}{}
-\newcommand{\glogroupV}{}
-\newcommand{\glogroupW}{}
-\newcommand{\glogroupX}{}
-\newcommand{\glogroupY}{}
-\newcommand{\glogroupZ}{}
-% \end{macrocode}
-% Allow user to change number format for different
-% glossary types.
-% \begin{macrocode}
-\define@key{glossnum}{glsnumformat}{\def\@glsnumformat{#1}}
-\define@key{glossnum}{type}{\def\@glsnumtype{#1}}
-\define@key{glossnum}{delimN}{\def\@delimN{#1}}
-\define@key{glossnum}{delimR}{\def\@delimR{#1}}
-\define@key{glossnum}{delimT}{\def\@delimT{#1}}
-\define@key{glossnum}{gloskip}{\def\@gloskip{#1}}
-\define@key{glossnum}{glodelim}{\def\@glodelim{#1}}
-% \end{macrocode}
-% Define a command that will ignore its argument. This is used
-% when suppressing the page numbers.
-% \begin{macrocode}
-\providecommand{\ignore}[1]{}
-% \end{macrocode}
-% Define command that allows the user to modify the style for a
-% given glossary type.
-% \begin{macrocode}
-\newcommand{\setglossary}[1]{%
-\def\@glsnumformat{}%
-\def\@glsnumtype{glossary}%
-\def\@delimN{@dontchange@}%
-\def\@delimR{@dontchange@}%
-\def\@delimT{@dontchange@}%
-\def\@gloskip{@dontchange@}%
-\def\@glodelim{@dontchange@}%
-\setkeys{glossnum}{#1}\relax
-\@ifundefined{print\@glsnumtype}{%
-\PackageError{glossary}{Invalid glossary type '\@glsnumtype'}{%
-Glossary type '\@glsnumtype' has not been defined}
-}{%
-\ifthenelse{\equal{\@glsnumformat}{}}{}{%
-\expandafter\xdef\csname glsX\@glsnumtype Xnumformat\endcsname{%
-\noexpand\csname\@glsnumformat\noexpand\endcsname}%
-\ifthenelse{\equal{\@glsnumformat}{ignore}}{%
-\expandafter\xdef\csname @\@glsnumtype @delimN\endcsname{}%
-\expandafter\xdef\csname @\@glsnumtype @delimR\endcsname{}%
-}{}%
-}%
-%
-\ifthenelse{\equal{\@delimN}{@dontchange@}}{}{%
-\expandafter\xdef\csname @\@glsnumtype @delimN\endcsname{%
-\@delimN}}%
-%
-\ifthenelse{\equal{\@delimR}{@dontchange@}}{}{%
-\expandafter\xdef\csname @\@glsnumtype @delimR\endcsname{%
-\@delimR}}%
-%
-\ifthenelse{\equal{\@delimT}{@dontchange@}}{}{%
-\expandafter\xdef\csname @\@glsnumtype @delimT\endcsname{%
-\@delimT}}%
-%
-\ifthenelse{\equal{\@gloskip}{@dontchange@}}{}{%
-\expandafter\xdef\csname @\@glsnumtype @gloskip\endcsname{%
-\@gloskip}}%
-%
-\ifthenelse{\equal{\@glodelim}{@dontchange@}}{}{%
-\expandafter\xdef\csname @\@glsnumtype @glodelim\endcsname{%
-\@glodelim}%
-}%
-}}
-% \end{macrocode}
-% Now define the command \icmdname{printglossary} which will print the
-% contents of the glossary file. Define the file extension for the main
-% glossary:
-% \begin{macrocode}
-\newcommand{\@gls@glossary@inext}{gls}
-% \end{macrocode}
-% The optional argument is the glossary type, the default is the
-% main glossary. This sets "\gls@number" to "\gls@#1@number"
-% before reading in the file. This ensures that \icmdname{hyperrm} etc
-% use the correct counter in the target name.
-% \begin{macrocode}
-\newcommand\printglossary[1][glossary]{%
-\def\@glostype{#1}%
-\@ifundefined{#1name}{%
-\renewcommand{\@glossaryname}{\glossaryname}}{%
-\renewcommand{\@glossaryname}{\csname #1name\endcsname}}%
-\@ifundefined{short#1name}{%
-\renewcommand{\@shortglossaryname}{\@glossaryname}}{%
-\renewcommand{\@shortglossaryname}{\csname short#1name\endcsname}}%
-\expandafter\let\expandafter\gls@number\csname gls@#1@number\endcsname
-\@input@{\jobname.\csname @gls@#1@inext\endcsname}}
-% \end{macrocode}
-% Define contextual names. Changed \verb/\newcommand/
-% to \verb/\providecommand/ in version 2.2.
-% \begin{macrocode}
-\providecommand{\glossaryname}{Glossary}
-\newcommand{\shortglossaryname}{\glossaryname}
-\newcommand{\entryname}{Notation}
-\newcommand{\descriptionname}{Description}
-\newcommand{\istfilename}{\jobname.ist}
-\def\@glossaryname{\glossaryname}
-\def\@shortglossaryname{\shortglossaryname}
-% \end{macrocode}
-% Version 2.4 also writes ist filename to aux file. This
-% is only used by makeglos.pl, so ignore.
-% \begin{macrocode}
-\newcommand{\@istfilename}[1]{}
-% \end{macrocode}
-% Define command to generate glossary title (new to
-% version 2.24)
-% \begin{macrocode}
-\providecommand{\glossarytitle}{%
-\@ifundefined{chapter}%
-% \end{macrocode}
-% "\chapter" not defined, use "\section*"
-% \begin{macrocode}
-{%
-\ifgls@hypertoc
-% \end{macrocode}
-% \pkgopt{hypertoc} option used, so use "\phantomsection" to add
-% anchor \emph{before} "\section*"
-% \begin{macrocode}
-\phantomsection
-\@glosaddtoc{section}%
-\section*{\@glossaryname}\relax
-\else
-% \end{macrocode}
-% \pkgopt[false]{hypertoc}: add to toc after "\section*"
-% \begin{macrocode}
-\section*{\@glossaryname}\relax
-% \end{macrocode}
-% only add contentsline if toc=true
-% \begin{macrocode}
-\ifgls@toc\@glosaddtoc{section}\fi
-\fi}%
-% \end{macrocode}
-% "\chapter" defined, but has user requested "\section" instead?
-% \begin{macrocode}
-{%
-\ifthenelse{\boolean{gls@section}}%
-{%
-% \end{macrocode}
-% user requested "\section"
-% \begin{macrocode}
-\ifgls@hypertoc
-% \end{macrocode}
-% User request \pkgopt[true]{hypertoc}, so add anchor \emph{before}
-% "\section":
-% \begin{macrocode}
-\phantomsection
-\@glosaddtoc{section}%
-\section*{\@glossaryname}\relax
-\else
-% \end{macrocode}
-% \pkgopt[false]{hypertoc} so add contentsline (if applicable) after
-% "\section"
-% \begin{macrocode}
-\section*{\@glossaryname}\relax
-\ifgls@toc\@glosaddtoc{section}\fi
-\fi}%
-{%
-% \end{macrocode}
-% User has not requested "\section", so use "\chapter"
-% \begin{macrocode}
-\ifgls@hypertoc
-% \end{macrocode}
-% User has requested \pkgopt[true]{hypertoc}.
-% Chapters usually start a new page, so to ensure
-% anchor is at the top of the correct page, issue
-% a "\clearpage" (or "\cleardoublepage") to place the
-% anchor at the correct place.
-% \begin{macrocode}
-\@ifundefined{if@twoside}{%
-% \end{macrocode}
-% Document class doesn't support twosided documents so
-% just do "\clearpage"
-% \begin{macrocode}
-\clearpage}{%
-\if@twoside
-% \end{macrocode}
-% Document is two-sided
-% If "\cleardoublepage" is defined, use that
-% otherwise just do "\clearpage"
-% \begin{macrocode}
-\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}%
-\else
-% \end{macrocode}
-% One-sided document, just do "\clearpage"
-% \begin{macrocode}
-\clearpage
-\fi}%
-% \end{macrocode}
-% add anchor before "\chapter"
-% \begin{macrocode}
-\phantomsection
-\@glosaddtoc{chapter}%
-\fi
-\chapter*{\@glossaryname}\relax
-% \end{macrocode}
-% both \pkgopt[true]{hypertoc} and \pkgopt[true]{toc}, so won't get
-% toc entry twice.)
-% \begin{macrocode}
-\ifgls@toc\@glosaddtoc{chapter}\fi}}
-\markboth{\@shortglossaryname}{\@shortglossaryname}%
-}
-% \end{macrocode}
-% Now define theglossary environment. Version 2.2:
-% check to see if defined already
-% \begin{macrocode}
-\@ifundefined{theglossary}{%
-\newenvironment{theglossary}{}{}}{%
-\PackageWarning{glossary}{Redefining 'theglossary' environment}}
-\renewenvironment{theglossary}{%
-\glossarytitle
-\glossarypreamble\@bef@reglos}{\@ftergl@s\glossarypostamble}
-% \end{macrocode}
-% Provide a means to add text to the beginning or end
-% of the glossary.
-% \begin{macrocode}
-\newcommand{\glossarypreamble}{}
-\newcommand{\glossarypostamble}{}
-% \end{macrocode}
-% By default, add the short title to the table of contents.
-% \begin{macrocode}
-\newcommand{\@glosaddtoc}[1]{%
-\addcontentsline{toc}{#1}{\@shortglossaryname}
-}
-% \end{macrocode}
-% Set up switch to determine whether the item is the first item in
-% the glossary (in the event that a special case is needed for the
-% first item)
-% \begin{macrocode}
-\newif\ifgloitemfirst
-\newcommand{\@bef@reglos}{\global\gloitemfirsttrue\beforeglossary}
-\newcommand{\@ftergl@s}{\afterglossary\global\gloitemfirstfalse}
-% \end{macrocode}
-% Set up defaults.
-% \begin{macrocode}
-\newcommand{\glossaryalignment}{\relax}
-\newcommand{\@gls@align@glossary}{}
-\newcommand{\glosstail}{%
-\@ifundefined{@gls@tail@\@glostype}{%
-\PackageError{glossary}{No glossary tail defined for glossary
-type '\@glostype'}{}}{%
-\csname @gls@tail@\@glostype\endcsname}}
-\newcommand{\@gls@tail@glossary}{}
-\newcommand{\afterglossary}{%
-\@ifundefined{@gls@afterglos@\@glostype}{%
-\PackageError{glossary}{No after glossary defined for glossary
-type '\@glostype'}{}}{%
-\csname @gls@afterglos@\@glostype\endcsname}}
-\newcommand{\beforeglossary}{%
-\@ifundefined{@gls@beforeglos@\@glostype}{%
-\PackageError{glossary}{No before glossary defined for glossary
-type '\@glostype'}{}}{%
-\csname @gls@beforeglos@\@glostype\endcsname}}
-\newcommand{\@gls@beforeglos@glossary}{}
-\newcommand{\@gls@afterglos@glossary}{}
-\newcommand{\@glossary@glodelim}{}
-\newcommand{\@glossary@delimT}{}
-\newcommand{\glsafternum}{}
-\newcommand{\glsbeforenum}{}
-\newcommand{\@glossary@gloskip}{}
-\newcommand{\@glossary@gloitem}[1]{#1}
-% \end{macrocode}
-% Now define what to do depending on which style has been selected.
-% First define command to switch to \pkgopt{list} style:
-% \begin{macrocode}
-\newcommand{\gls@setlist}[1][glossary]{%
-\expandafter\def\csname @gls@beforeglos@#1\endcsname{%
-\begin{description}}%
-\expandafter\def\csname @gls@afterglos@#1\endcsname{%
-\end{description}}%
-\expandafter\def\csname @#1@gloskip\endcsname{\indexspace}%
-\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{%
-\expandafter\def\csname @#1@glodelim\endcsname{}}{%
-\expandafter\def\csname @#1@glodelim\endcsname{, }}%
-\expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]}%
-\expandafter\def\csname @#1@delimT\endcsname{}
-}
-% \end{macrocode}
-% Next define command to switch to \pkgopt{altlist} style:
-% \begin{macrocode}
-\newcommand{\gls@setaltlist}[1][glossary]{%
-\expandafter\def\csname @gls@beforeglos@#1\endcsname{%
-\begin{description}}%
-\expandafter\def\csname @gls@afterglos@#1\endcsname{%
-\end{description}}%
-\expandafter\def\csname @#1@gloskip\endcsname{\indexspace}%
-\expandafter\def\csname @#1@gloitem\endcsname##1{%
-\item[##1]\mbox{}\nopagebreak\par\nopagebreak}%
-\expandafter\def\csname @#1@glodelim\endcsname{ }%
-\expandafter\def\csname @#1@delimT\endcsname{}
-}
-% \end{macrocode}
-%Now deal with the other styles. I orginally used a \envname{tabular}
-% environment, but obviously this doesn't work for a glossary longer
-% than one page (this package started out as a simple example
-% accompanying one of my tutorials). Nick van Foreest recommended
-% the \envname{supertabular} environment. The \envname{longtable} environment also
-% works, so have both options, and leave it to
-% the user.
-% \begin{macrocode}
-\ifthenelse{\equal{\gls@style}{super}}{
-\IfFileExists{supertab.sty}{\RequirePackage{supertab}}
-{\IfFileExists{supertabular.sty}{\RequirePackage{supertabular}}
-{\PackageError{glossary}{Option "super" chosen, but can't find
-"supertab" package}{If you want the "super" option, you have to have
-the "supertab" package installed.}}}}
-{\RequirePackage{longtable}}
-% \end{macrocode}
-% Define new length specifying the width of the description field.
-% \begin{macrocode}
-\newlength{\descriptionwidth}
-\setlength{\descriptionwidth}{0.6\linewidth}
-% \end{macrocode}
-% If user has defined the command \icmdname{glossaryheader}, use it
-% otherwise use header as specified by glossary style.
-% Added \icmdname{glossarysubheader} in version 2.4. This is provided
-% to add a sub heading, or to add a bit of space between
-% the header row and the table.
-% \begin{macrocode}
-\newcommand{\@glossaryheader}{%
-\@ifundefined{glossaryheader}{\csname @\@glostype @header\endcsname}
-{\glossaryheader}%
-\@ifundefined{glossarysubheader}{}{\glossarysubheader}%
-}
-% \end{macrocode}
-% Define command to set header style. Added \icmdname{glspageheader} in
-% version 2.4. (Third column header)
-% \begin{macrocode}
-\newcommand{\gls@setheader}[1][glossary]{%
-\ifthenelse{\equal{\gls@header}{none}}%
-{%
-\ifthenelse{\equal{\gls@border}{none}}
-{\expandafter\def\csname @#1@header\endcsname{}%
-}{\expandafter\def\csname @#1@header\endcsname{\hline}}%
-}{%
-\ifnum\gls@cols=2\relax
-\ifthenelse{\equal{\gls@border}{none}}
-{%
-\expandafter\def\csname @#1@header\endcsname{%
-\bfseries\entryname & \bfseries \descriptionname\\}}%
-{%
-\expandafter\def\csname @#1@header\endcsname{%
-\hline\bfseries\entryname & \bfseries\descriptionname
-\\\hline\hline}}%
-\else
-\ifthenelse{\equal{\gls@border}{none}}
-{%
-\expandafter\def\csname @#1@header\endcsname{%
-\bfseries\entryname & \bfseries \descriptionname &
-\bfseries \glspageheader \\}}%
-{%
-\expandafter\def\csname @#1@header\endcsname{%
-\hline\bfseries\entryname &\bfseries\descriptionname &
-\bfseries \glspageheader \\\hline\hline}}%
-\fi
-}}
-% \end{macrocode}
-% Define \icmdname{glspageheader} to do nothing, to keep it compatible
-% with earlier versions:
-% \begin{macrocode}
-\newcommand*{\glspageheader}{}
-% \end{macrocode}
-% Define command to set glossary alignment and borders
-% \begin{macrocode}
-\newcommand{\gls@setalignment}[1][glossary]{%
-\ifthenelse{\equal{\gls@border}{none}}
-{
-\ifnum\gls@cols=2\relax
-\expandafter\def\csname @gls@align@#1\endcsname{%
-@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}}
-\else
-\expandafter\def\csname @gls@align@#1\endcsname{%
-@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}l}
-\fi
-%
-\expandafter\def\csname @gls@tail@#1\endcsname{}%
-}{%
-\ifnum\gls@cols=2\relax
-\expandafter\def\csname @gls@align@#1\endcsname{%
-|@{\hspace{\tabcolsep}\bfseries
-}lp{\descriptionwidth}|}
-\else
-\expandafter\def\csname @gls@align@#1\endcsname{%
-|@{\hspace{\tabcolsep}\bfseries
-}lp{\descriptionwidth}l|}
-\fi
-%
-\expandafter\def\csname @gls@tail@#1\endcsname{\hline}%
-}%
-%
-\expandafter\def\csname @#1@delimT\endcsname{\\}
-%
-\ifnum\gls@cols=2\relax
-\expandafter\def\csname @#1@gloskip\endcsname{& \\}%
-\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{%
-\expandafter\def\csname @#1@glodelim\endcsname{}}{%
-\expandafter\def\csname @#1@glodelim\endcsname{, }}%
-\else
-\expandafter\def\csname @#1@gloskip\endcsname{& & \\}%
-\expandafter\def\csname @#1@glodelim\endcsname{& }%
-\fi
-\expandafter\def\csname @#1@gloitem\endcsname##1{##1 &}%
-}
-% \end{macrocode}
-% Need a way to avoid conflict with the \styname{array} package. In an
-% earlier version I defined a new column type if the \styname{array}
-% package was being used, however this restricts the ability
-% to have multiple glossaries with different column alignments.
-% \begin{macrocode}
-\newcommand{\@st@rtglostable}[2]{%
-\gls@ta={\begin{#1}}\gls@tb=\expandafter{#2}%
-\edef\@st@rtglost@ble{\the\gls@ta{\the\gls@tb}}
-\@st@rtglost@ble}
-% \end{macrocode}
-% Define command to switch to \pkgopt{super} style:
-% \begin{macrocode}
-\newcommand{\gls@setsuper}[1][glossary]{%
-\gls@setalignment[#1]%
-\gls@setheader[#1]%
-%
-\expandafter\def\csname @gls@beforeglos@#1\endcsname{%
-\tablehead{\@glossaryheader}\tabletail{\glosstail}%
-\if\glossaryalignment\relax
-\expandafter\let\expandafter\@glossaryalignment
-\csname @gls@align@#1\endcsname
-\else
-\let\@glossaryalignment\glossaryalignment
-\fi
-\@st@rtglostable{supertabular}\@glossaryalignment}
-%
-\expandafter\def\csname @gls@afterglos@#1\endcsname{%
-\end{supertabular}}%
-}
-% \end{macrocode}
-% Define command to switch to \pkgopt{long} style:
-% \begin{macrocode}
-\newcommand{\gls@setlong}[1][glossary]{%
-\gls@setalignment[#1]%
-\gls@setheader[#1]%
-%
-\expandafter\def\csname @gls@beforeglos@#1\endcsname{%
-\if\relax\glossaryalignment
-\expandafter\let\expandafter\@glossaryalignment
-\csname @gls@align@#1\endcsname
-\else
-\let\@glossaryalignment\glossaryalignment
-\fi
-\@st@rtglostable{longtable}{\@glossaryalignment}
-\@glossaryheader\endhead\glosstail\endfoot}
-%
-\expandafter\def\csname @gls@afterglos@#1\endcsname{%
-\end{longtable}}%
-}
-% \end{macrocode}
-% Define command to set the glossary style.
-% \begin{macrocode}
-\newcommand{\@setglossarystyle}[1][glossary]{%
-\@ifundefined{gls@set\gls@style}{%
-\PackageError{glossary}{Glossary style '\gls@style' undefined}{}}{%
-\ifthenelse{\equal{\gls@number}{}}{}{%
-\expandafter\edef\csname gls@#1@number\endcsname{\gls@number}%
-\@gls@setnumbering[#1]{\gls@number}%
-}%
-\csname gls@set\gls@style\endcsname[#1]}}
-% \end{macrocode}
-% Set main glossary style as per package options
-% \begin{macrocode}
-\let\gls@number\gls@glossary@number
-\@setglossarystyle
-% \end{macrocode}
-% Define keys to change glossary style. The \pkgopt{style} key sets
-% the basic style.
-% \begin{macrocode}
-\define@key{glosstyle}
-{style}
-{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist}
-\or \equal{#1}{super} \or \equal{#1}{long}}
-{\def\gls@style{#1}}
-{\PackageError{glossary}
-{Unknown glossary style '#1'}
-{Available styles are: list, altlist, super and long}}}
-% \end{macrocode}
-% The \pkgopt{header} key should only be used in conjunction with
-% one of the tabular-type styles. If set to \pkgoptval{plain}{header}, a
-% header row will be used.
-% \begin{macrocode}
-\define@key{glosstyle}
-{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}}
-{\def\gls@header{#1}}
-{\PackageError{glossary}
-{Unknown glossary style '#1'}
-{Available styles are: none and plain}}}
-% \end{macrocode}
-% The \pkgopt{border} key should only be used in conjunction with one
-% of the tabular-type styles. If set to \pkgoptval{plain}{border}, a border will
-% be placed around the glossary.
-% \begin{macrocode}
-\define@key{glosstyle}
-{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}}
-{\def\gls@border{#1}}
-{\PackageError{glossary}
-{Unknown glossary border '#1'}
-{Available styles are: none and plain}}}
-% \end{macrocode}
-% The \pkgopt{cols} key should only be used in conjunction with one of
-% the tabular-type styles. If set to \pkgoptval{2}{cols}, the description and page
-% list will both be placed in the second column, if set to \pkgoptval{3}{cols},
-% the description will go in the second column, and the page list
-% will go in the third column.
-% \begin{macrocode}
-\define@key{glosstyle}{cols}{\gls@cols=#1\relax
-\ifthenelse{\gls@cols<2 \or \gls@cols>3}
-{\PackageError{glossary}
-{invalid number of columns}
-{The cols option can only be 2 or 3}}
-{}}
-% \end{macrocode}
-% The \pkgopt{number} key may either be \pkgoptval{none}{number} or the name of a counter.
-% \begin{macrocode}
-\define@key{glosstyle}
-{number}
-{\ifthenelse{\equal{#1}{none}}
-{\def\gls@number{#1}}
-{\@ifundefined{c@#1}{
-\PackageError{glossary}
-{Unknown glossary number style '#1'}
-{You may either specify "none" or the name of a counter,
-e.g. "section"}\def\gls@number{page}}{\def\gls@number{#1}}}}
-% \end{macrocode}
-% Provide a means of setting the style for a given glossary type.
-% \begin{macrocode}
-\newcommand{\setglossarystyle}[2][glossary]{%
-\def\gls@number{}%
-\setkeys{glosstyle}{#2}%
-\@setglossarystyle[#1]%
-}
-% \end{macrocode}
-% Set the delimiter for the case where there is no numbering
-% and there aren't 3 columns.
-% \begin{macrocode}
-\ifthenelse{\equal{\gls@glossary@number}{none} \and \gls@cols<3}{%
-\renewcommand{\@glossary@glodelim}{}}{}
-% \end{macrocode}
-% \subsection{Makeindex style file}
-%This is the code to generate the ".ist" file.
-% First define a switch that governs whether or not to write the
-% ist file.
-% \begin{macrocode}
-\newif\ifist
-\let\noist=\istfalse
-\if@filesw\isttrue\else\istfalse\fi
-% \end{macrocode}
-% Provide a command to write the ist file. This will cause
-% a problem with \styname{ngerman} because the behaviour
-% of the double quote character changes. Any packages that modify
-% this character should be loaded after the ".ist" file is written.
-% \begin{macrocode}
-\newwrite\istfile
-\catcode`\%11\relax
-\newcommand{\writeist}{
-\protected@write\@auxout{}{\protect\@istfilename{\istfilename}}
-\openout\istfile=\istfilename
-\write\istfile{% makeindex style file created by LaTeX for document "\jobname" on \the\year-\the\month-\the\day}
-\write\istfile{keyword "\string\\glossaryentry"}
-\write\istfile{preamble "\string\\begin{theglossary}"}
-\write\istfile{postamble "\string\n\string\\end{theglossary}\string\n"}
-\write\istfile{group_skip "\string\\gloskip "}
-\write\istfile{item_0 "\string\n\string\n\string\\gloitem "}
-\write\istfile{delim_0 "\string\n\string\\glodelim "}
-\write\istfile{page_compositor "\pagecompositor"}
-\write\istfile{delim_n "\string\\delimN "}
-\write\istfile{delim_r "\string\\delimR "}
-\write\istfile{delim_t "\string\\delimT "}
-\write\istfile{headings_flag 1}
-\write\istfile{heading_prefix "\string\\glogroup"}
-\write\istfile{symhead_positive "Symbols"}
-\write\istfile{numhead_positive "Numbers"}
-\closeout\istfile
-}
-\catcode`\%14\relax
-% \end{macrocode}
-%Redefine \icmdname{makeglossary} so that it creates the ".ist" file.
-% Once it is created, the \icmdname{ifist} flag is set to false to prevent
-% repeated creation of the file in the event that another
-% glossary-style type is created. If a different ".ist" file is
-% desired for each glossary type, you will need to precede each
-% "\make"\meta{type} with \icmdname{isttrue} and changed the definition
-% of \icmdname{istfilename}. (This is unlikely to occur unless more than
-% one type of page compositor is required.) If you do this, remember
-% to pass the correct ist file to makeindex. I have removed
-% "\@sanitize" at the
-% recommendation of Ulrich~Diez.
-% \begin{macrocode}
-\renewcommand{\makeglossary}{
-\newwrite\@glossaryfile
-\immediate\openout\@glossaryfile=\jobname.glo
-\renewcommand{\glossary}[1][]{\gdef\@glo@l@bel{##1}%
-\@bsphack \begingroup \@wrglossary }
-\typeout {Writing glossary file \jobname .glo }
-\let \makeglossary \@empty
-\ifist\writeist\fi
-\noist}
-% \end{macrocode}
-% The \icmdname{glossary} command has been modified to allow for an optional
-% argument to modify the label. This is the default definition of
-% \icmdname{glossary}, it doesn't write anything to the ".glo" file.
-% It doesn't use "\setkeys", so "\@sanitize" is used here.
-% Use \icmdname{makeglossary} to redefine it so that entries are written
-% to the ".glo" file.
-% \begin{macrocode}
-\renewcommand{\glossary}[1][]{%
-\@bsphack\begingroup\@sanitize\@index}
-% \end{macrocode}
-%\subsection{Defining a new glossary type}
-% First parameter (optional) is the extension of the log file
-% (information used by "makeglos.pl" but not \LaTeX).
-% Second parameter is the name of new glossary type
-% e.g.\ "notation". Third parameter is the extension of output
-% file (equivalent to "ind" or "glo". Fourth parameter
-% is the extension of input file (equivalent to "idx" or "gls").
-% The fifth parameter (optional) is the format.
-% \begin{macrocode}
-\newcommand{\newglossarytype}[4][glg]{
-\@ifundefined{#2}{%
-\protected@write\@auxout{}{\@newglossarytype[#1]{#2}{#3}{#4}}%
-\def\@glstype{#2}\def\@glsout{#3}\def\@glsin{#4}%
-\expandafter\edef\csname gls@\@glstype @number\endcsname{%
-\gls@glossary@number}%
-\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{%
-\glsXglossaryXnumformat}%
-\expandafter\gdef\csname @\@glstype @delimN\endcsname{%
-\@glossary@delimN}%
-\expandafter\gdef\csname @\@glstype @delimR\endcsname{%
-\@glossary@delimR}%
-\expandafter\gdef\csname @gls@\@glstype @inext\endcsname{#4}%
-\expandafter\def\csname @gls@#2@type\endcsname{#4}%
-\expandafter\edef\csname make\@glstype\endcsname{%
-\noexpand\@m@kegl@ss{\@glstype}{\@glsout}}
-\expandafter\edef\csname \@glstype\endcsname{%
-\noexpand\@gl@ss@ary{\@glstype}}
-\expandafter\edef\csname x\@glstype\endcsname{%
-\noexpand\@Gl@ss@ary{\@glstype}}
-\@namedef{print\@glstype}{%
-\printglossary[#2]}%
-}{\PackageError{glossary}{Command
-\expandafter\string\csname #2\endcsname \space already defined}{%
-You can't call your new glossary type '#2' because there already
-exists a command with this name}}%
-\@@n@wglostype}
-\newcommand{\@@n@wglostype}[1][]{%
-\setglossarystyle[\@glstype]{#1}}
-% \end{macrocode}
-% The command "\@newglossarytype" is written to the auxiliary file
-% and is only used by makeglos.pl. \LaTeX\ should ignore it.
-% \begin{macrocode}
-\newcommand{\@newglossarytype}[4][glg]{}
-% \end{macrocode}
-% Define equivalent of \icmdname{makeglossary}:
-% \begin{macrocode}
-\newcommand\@m@kegl@ss[2]{%
-\expandafter\newwrite\csname @#1file\endcsname
-\expandafter\immediate\expandafter
-\openout\csname @#1file\endcsname=\jobname.#2
-\typeout {Writing #1 file \jobname .#2 }
-\expandafter\let \csname make#1\endcsname \@empty
-\ifist\writeist\fi
-\expandafter\def\csname the#1num\endcsname{\thepage}
-\noist
-}
-% \end{macrocode}
-% Define the equivalent of \icmdname{glossary}.
-% \begin{macrocode}
-\newcommand\@gl@ss@ary[2][]{\@ifundefined{@#2file}{%
-\@bsphack\begingroup\@sanitize \@index}{%
-\gdef\@glo@l@bel{#1}%
-\@bsphack \begingroup \@wrglossary[#2]}}
-% \end{macrocode}
-% Define the equivalent of \icmdname{xglossary}.
-% \begin{macrocode}
-\newcommand{\@Gl@ss@ary}{%
-\renewcommand{\@@wrglossary}[1]{%
-\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}%
-\@gl@ss@ary}
-% \end{macrocode}
-% The command \icmdname{newglossarytype} should only be used in the preamble.
-% \begin{macrocode}
-\@onlypreamble{\newglossarytype}
-% \end{macrocode}
-%\subsection{Acronyms}
-% Define \icmdname{newacronym}[\meta{cmd-name}]\{\meta{abbrv}\}\{\meta{long name}\}\{\meta{glos entry}\}
-% \begin{macrocode}
-\newcommand\@acrnmsh{}
-\newcommand\@sacrnmsh{}
-\newcommand\@acrnmln{}
-\newcommand\@acrnmcmd{}
-\newcommand\@acrnmgls{}
-\newcommand\@acrnmins{}
-% \end{macrocode}
-% List of all defined acronyms.
-% \begin{macrocode}
-\toksdef\@glo@tb=2
-\newcommand{\@acr@list}{}
-% \end{macrocode}
-% append acronym to list
-% \begin{macrocode}
-\newcommand{\@acr@addtolist}[1]{\edef\@glo@ta{#1}%
-\ifthenelse{\equal{\@acr@list}{}}{%
-\edef\@acr@list{\@glo@ta}}{%
-\@glo@tb=\expandafter{\@acr@list}%
-\edef\@acr@list{\the\@glo@tb,\@glo@ta}}}
-% \end{macrocode}
-% Specify how to control the way the name key is
-% set for acronyms.
-% \begin{macrocode}
-\newcommand{\@acronymnamefmt}{\glolong\ (\gloshort)}
-\newcommand{\setacronymnamefmt}[1]{\def\@acronymnamefmt{#1}}
-% \end{macrocode}
-% Specify how to control the way the description key is
-% set for acronyms.
-% \begin{macrocode}
-\newcommand{\@acronymdescfmt}{\glodesc}
-\newcommand{\setacronymdescfmt}[1]{\def\@acronymdescfmt{#1}}
-% \end{macrocode}
-% Format the acronym abbreviation in the format specified
-% by \verb'\acronymfont'. This simply prints its
-% argument by default.
-% \begin{macrocode}
-\newcommand{\acronymfont}[1]{#1}
-% \end{macrocode}
-% This command has been restructured as from v2.17
-% \begin{macrocode}
-\newcommand{\newacronym}[4][]{%
-\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{%
-\renewcommand\@acrnmcmd{#1}}
-\@ifundefined{\@acrnmcmd}{%
-\expandafter\newcommand\csname\@acrnmcmd short\endcsname{%
-#2\protect\glsxspace}
-\expandafter\newcommand\csname\@acrnmcmd @nx@short\endcsname{#2}
-\expandafter\newcommand\csname\@acrnmcmd long\endcsname{%
-#3\protect\glsxspace}
-\expandafter\newcommand\csname\@acrnmcmd @nx@long\endcsname{#3}
-\def\@acrn@entry{#4}%
-{%
-% extract description
-\expandafter\@gls@getdescr\expandafter{\@acrn@entry}%
-\let\glodesc\@glo@desc%
-\def\glolong{#3}%
-\@onelevel@sanitize\glolong
-\def\gloshort{\noexpand\acronymfont{#2}}%
-\@onelevel@sanitize\gloshort
-\expandafter\protected@xdef\expandafter\@acrnamefmt{\@acronymnamefmt}
-\expandafter\protected@xdef\expandafter\@acrdesc{\@acronymdescfmt}
-}%
-\@acr@addtolist{\@acrnmcmd}
-\@glo@tb=\expandafter{\@acrn@entry}%
-\protected@edef\@acr@glsentry{name={\@acrnamefmt},%
-format=glsnumformat,sort={\@acrnmcmd},\the\@glo@tb,%
-description={\@acrdesc}}%
-\@glo@tb=\expandafter{\@acr@glsentry}%
-\newboolean{\@acrnmcmd first}\setboolean{\@acrnmcmd first}{true}
-\expandafter\protected@edef\csname \@acrnmcmd\endcsname{%
-\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{%
-\csname @\@acrnmcmd\endcsname}}
-\ifglshyperacronym % hyperlinks
-% unstarred version
-\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{%
-\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
-\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
-(\noexpand\xacronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
-})\noexpand\unsetacronym{\@acrnmcmd}%
-}{\noexpand\xacronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
-\noexpand\@acrnmins}}\noexpand\glsxspace}
-% starred version
-\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{%
-\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
-\noexpand\expandafter\noexpand\MakeUppercase
-\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
-(\noexpand\xacronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
-})%
-\noexpand\unsetacronym{\@acrnmcmd}}{%
-\noexpand\xacronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase
-\csname\@acrnmcmd @nx@short\endcsname}%
-\noexpand\@acrnmins}}\noexpand\glsxspace}
-\else % no hyperlinks
-% unstarred version
-\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{%
-\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
-\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
-(\noexpand\acronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
-})\noexpand\unsetacronym{\@acrnmcmd}%
-}{\noexpand\acronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
-\noexpand\@acrnmins}}%
-\noexpand\glsxspace}
-% starred version
-\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{%
-\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
-\noexpand\expandafter
-\noexpand\MakeUppercase
-\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
-(\noexpand\acronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
-})%
-\noexpand\unsetacronym{\@acrnmcmd}}{%
-\noexpand\acronym{\the\@glo@tb}{%
-\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase
-\csname\@acrnmcmd @nx@short\endcsname}%
-\noexpand\@acrnmins}}\noexpand\glsxspace}
-\fi
-}{%
-\PackageError{glossary}{Command '\expandafter\string
-\csname\@acrnmcmd\endcsname' already defined}{%
-The command name specified by \string\newacronym already exists.}}}
-% \end{macrocode}
-% Define a command to use a given acronym.
-% \begin{macrocode}
-\newcommand{\useacronym}{\@ifstar\@suseacronym\@useacronym}
-\newcommand{\@suseacronym}[2][]{{\let\glsxspace\relax
-\def\@acrnmins{#1}\csname @s@#2\endcsname}%
-\setboolean{#2first}{false}}
-\newcommand{\@useacronym}[2][]{{\let\glsxspace\relax
-\def\@acrnmins{#1}\csname @#2\endcsname}%
-\setboolean{#2first}{false}}
-% \end{macrocode}
-% Define a command to use the long form of an acronym without
-% generating a glossary entry. The starred form makes the first
-% character uppercase.
-% \begin{macrocode}
-\newcommand{\acrln}{\@ifstar\@sacrln\@acrln}
-% \end{macrocode}
-% Unstarred form:
-% \begin{macrocode}
-\newcommand{\@acrln}[1]{\@ifundefined{#1long}{%
-\PackageError{glossary}{Acronym '#1' has not been defined}{}}{%
-\csname#1@nx@long\endcsname}}
-% \end{macrocode}
-% Starred form:
-% \begin{macrocode}
-\newcommand{\@sacrln}[1]{\@ifundefined{#1long}{%
-\PackageError{glossary}{Acronym '#1' has not been defined}{}}{%
-\expandafter\expandafter\expandafter
-\MakeUppercase\csname#1@nx@long\endcsname}}
-% \end{macrocode}
-% As above, but for the short form.
-% \begin{macrocode}
-\newcommand{\acrsh}{\@ifstar\@sacrsh\@acrsh}
-% \end{macrocode}
-% Unstarred form:
-% \begin{macrocode}
-\newcommand{\@acrsh}[1]{\@ifundefined{#1short}{%
-\PackageError{glossary}{Acronym '#1' has not been defined}{}}{%
-\acronymfont{\csname#1@nx@short\endcsname}}}
-% \end{macrocode}
-% Starred form:
-% \begin{macrocode}
-\newcommand{\@sacrsh}[1]{\@ifundefined{#1short}{%
-\PackageError{glossary}{Acronym '#1' has not been defined}{}}{%
-\acronymfont{\expandafter\expandafter\expandafter
-\MakeUppercase\csname#1@nx@short\endcsname}}}
-% \end{macrocode}
-% Define a means of determining whether an acronym has been
-% used or not. This was mainly included for use with LaTeX2HTML
-% which currently has no \styname{ifthen} style.
-% \begin{macrocode}
-\newcommand{\ifacronymfirstuse}[3]{%
-\@ifundefined{if#1first}{%
-\PackageError{glossary}{Acronym '#1' not defined}{}}{%
-\ifthenelse{\boolean{#1first}}{#2}{#3}}}
-% \end{macrocode}
-% Provide a means of resetting an acronym so that it is expanded
-% next time it is used.
-% \begin{macrocode}
-\newcommand{\resetacronym}[1]{%
-\@ifundefined{if#1first}{%
-\PackageError{glossary}{Acronym '#1' not defined}{}}{%
-\ifglsglobal
-\expandafter\global\csname #1firsttrue\endcsname
-\else
-\setboolean{#1first}{true}%
-\fi}}
-% \end{macrocode}
-% Reverse of the above.
-% \begin{macrocode}
-\newcommand{\unsetacronym}[1]{%
-\@ifundefined{if#1first}{%
-\PackageError{glossary}{Acronym '#1' not defined}{}}{%
-\ifglsglobal
-\expandafter\global\csname #1firstfalse\endcsname
-\else
-\setboolean{#1first}{false}%
-\fi}}
-% \end{macrocode}
-% Reset all acronyms so that they will all be expanded when next
-% used.
-% \begin{macrocode}
-\newcommand{\resetallacronyms}{%
-\@for\@acr:=\@acr@list\do{\resetacronym{\@acr}}}
-% \end{macrocode}
-% Ensure that all acronyms are not expanded, even if they haven't
-% yet been used.
-% \begin{macrocode}
-\newcommand{\unsetallacronyms}{%
-\@for\@acr:=\@acr@list\do{\unsetacronym{\@acr}}}
-% \end{macrocode}
-% Check to see if acronyms should be separate from glossary
-% \begin{macrocode}
-\ifglsacronym
-\newglossarytype[alg]{acronym}{acr}{acn}
-\providecommand{\acronymname}{List of Acronyms}
-\else
-\let\acronym=\glossary
-\let\xacronym=\xglossary
-\fi
-% \end{macrocode}
-%\subsection{Glossary Hyperlinks}
-% This section deals with commands that are used to make the
-% numbers in the glossary have hyperlinks, if hyperlinks are
-% supported.
-%
-% The command \icmdname{glshyper} is a modification of \styname{hyperref}'s
-% \icmdname{hyperpage} command, but it uses \icmdname{delimR} instead of a dash, and
-% \icmdname{delimN} instead of a comma. The command was originally called
-% \icmdname{glshyperpage} but was modified in version 2.4 to
-% enable "page" to be substituted with some arbitrary counter
-% (which should be specified as the first argument).
-% \begin{macrocode}
-\ifglshyper
-\def\glshyper#1#2{\@glshyper{#1}#2\delimR \delimR \\}
-\def\@glshyper#1#2\delimR #3\delimR #4\\{%
-\ifx\\#3\\%
-\@delimNhyper{#1}{#2}%
-\else
-\@ifundefined{hyperlink}{#2\delimR #3}{%
-\hyperlink{#1.#2}{#2}\delimR \hyperlink{#1.#3}{#3}}%
-\fi
-}
-% \end{macrocode}
-% For a list of individual pages instead of a range:
-% \begin{macrocode}
-\def\@delimNhyper#1#2{\@@delimNhyper{#1}#2\delimN \delimN\\}
-\def\@@delimNhyper#1#2\delimN #3\delimN #4\\{%
- \ifx\\#3\\%
- \@ifundefined{hyperlink}{#2}{\hyperlink{#1.#2}{#2}}%
- \else
- \@ifundefined{hyperlink}{#2\delimN #3}{%
-\hyperlink{#1.#2}{#2}\delimN \hyperlink{#1.#3}{#3}}%
- \fi
-}
-% \end{macrocode}
-% To maintain backwards compatibility, define \icmdname{glshyperpage}
-% and \icmdname{glshypersection}. These commands may be removed at a
-% later date, so don't use them.
-% \begin{macrocode}
-\newcommand\glshyperpage[1]{\glshyper{page}{#1}}
-\newcommand\glshypersection[1]{\glshyper{section}{#1}}
-% \end{macrocode}
-% If chapters are defined, modify "\@chapter" so that is adds
-% a "section."\meta{n}".0" target (otherwise it gets too complicated
-% if you have to work out whether to use the chapter or section
-% counter---there's more than enough conditional code in this
-% package already!)
-% \begin{macrocode}
-\@ifundefined{chapter}
-{}
-{\let\@gls@old@chapter\@chapter
-\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}%
-\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}}
-% \end{macrocode}
-% Provide "\hyper"\meta{xx} to make it easier to change the page
-% number format to "bf", "sf", "tt" and "it" if you are using
-% hyperlinks.
-% The optional first argument (new to version 2.4) specifies
-% the counter being used.
-% \begin{macrocode}
-\providecommand\hyperrm[2][\gls@number]{%
-\textrm{\glshyper{#1}{#2}}}
-\providecommand\hypersf[2][\gls@number]{%
-\textsf{\glshyper{#1}{#2}}}
-\providecommand\hypertt[2][\gls@number]{%
-\texttt{\glshyper{#1}{#2}}}
-\providecommand\hyperbf[2][\gls@number]{%
-\textbf{\glshyper{#1}{#2}}}
-\providecommand\hyperit[2][\gls@number]{%
-\textit{\glshyper{#1}{#2}}}
-% \end{macrocode}
-% The following were added in version 2.4:
-% \begin{macrocode}
-\providecommand\hyperem[2][\gls@number]{%
-\emph{\glshyper{#1}{#2}}}
-\providecommand\hyperup[2][\gls@number]{%
-\textup{\glshyper{#1}{#2}}}
-\providecommand\hypersl[2][\gls@number]{%
-\textsl{\glshyper{#1}{#2}}}
-\providecommand\hypersc[2][\gls@number]{%
-\textsc{\glshyper{#1}{#2}}}
-\providecommand\hypermd[2][\gls@number]{%
-\textmd{\glshyper{#1}{#2}}}
-% \end{macrocode}
-% Hyperlinks not enabled.
-% \begin{macrocode}
-\else
-\providecommand\hyperrm[2][]{\textrm{#2}}
-\providecommand\hypersf[2][]{\textsf{#2}}
-\providecommand\hypertt[2][]{\texttt{#2}}
-\providecommand\hypermd[2][]{\textmd{#2}}
-\providecommand\hyperbf[2][]{\textbf{#2}}
-\providecommand\hyperit[2][]{\textit{#2}}
-\providecommand\hypersl[2][]{\textsl{#2}}
-\providecommand\hyperup[2][]{\textup{#2}}
-\providecommand\hypersc[2][]{\textsc{#2}}
-\providecommand\hyperem[2][]{\emph{#2}}
-\fi
-% \end{macrocode}
-%\iffalse
-%\subsection{Additional Files}
-% The remainder of this document simply lists the contents
-% of all the additional files that accompany the \styname{glossary}
-% package. There is no further documentation. Some lines may not
-% fit on the page. If you like, you can comment out this section
-% using "\iffalse" and "\fi".
-% \begin{macrocode}
-%</glossary.sty>
-% \end{macrocode}
-% \begin{macrocode}
-%<*makeglos.pl>
-% \end{macrocode}
-% \begin{macrocode}
-#!/usr/bin/perl
-
-# File : makeglos
-# Author : Nicola Talbot
-# Version : 1.5 (2006/07/20)
-# Description: simple Perl script that calls makeindex.
-# Intended for use with "glossary.sty" (saves having to remember
-# all the various switches)
-
-use Getopt::Std;
-
-if ($#ARGV < 0)
-{
- die "Syntax : $0 [-ilqrcgm] [-s sty] [-o gls] [-t log] [-p num] <filename>\n";
-}
-
-getopt('sotp');
-getopts('ilqrcgm');
-
-# define known extensions
-
- %exttype = (
- glossary => {in=>'glo', out=>'gls', 'log'=>'glg'},
- );
-
-$ext = '';
-
-if (length(@ARGV[0]) < 4)
-{
- $name = @ARGV[0];
-}
-elsif (substr(@ARGV[0],-4,1) eq ".")
-{
- $name = substr(@ARGV[0],0,length(@ARGV[0])-4);
-
- $ext = substr(@ARGV[0],-3,3);
-}
-else
-{
- $name = @ARGV[0];
-}
-
-$istfile = "$name.ist";
-
-# check log file for other glossary types
-# and for ist file name
-
-if (open AUXFILE, "$name.aux")
-{
- while (<AUXFILE>)
- {
- if (m/\\\@newglossarytype\s*\[(.*)\]{(.*)}{(.*)}{(.*)}/)
- {
- $exttype{$2}{'in'} = $3;
- $exttype{$2}{'out'} = $4;
- $exttype{$2}{'log'} = $1;
-
- if (!$opt_q)
- {
- print "added glossary type '$2' ($3,$4,$1)\n";
- }
- }
-
- if (m/\\\@istfilename\s*{([^}]*)}/)
- {
- $istfile = $1;
- }
- }
-
- close AUXFILE;
-}
-else
-{
- print "unable to open $name.aux\n";
-}
-
-# save all the general makeindex switches
-
-$mkidxopts = '';
-
-if ($opt_i)
-{
- $mkidxopts .= " -i";
-}
-
-if ($opt_l)
-{
- $mkidxopts .= " -l";
-}
-
-if ($opt_q)
-{
- $mkidxopts .= " -q";
-}
-
-if ($opt_r)
-{
- $mkidxopts .= " -r";
-}
-
-if ($opt_c)
-{
- $mkidxopts .= " -c";
-}
-
-if ($opt_g)
-{
- $mkidxopts .= " -g";
-}
-
-unless ($opt_p eq "")
-{
- $mkidxopts .= " -p $opt_p";
-}
-
-unless ($opt_s eq "")
-{
- $istfile = $opt_s;
-}
-
-if ($ext ne '')
-{
- %thistype = %{$exttype{'glossary'}}; #default
-
- foreach $type (keys %exttype)
- {
- if ($exttype{$type}{'in'} eq $ext)
- {
- %thistype = %{$exttype{$type}};
-
- last;
- }
- }
-
- if ($opt_o eq "")
- {
- $outfile = "$name.$thistype{out}";
- }
- else
- {
- $outfile = $opt_o;
- }
-
- if ($opt_t eq "")
- {
- $transcript = "$name.$thistype{'log'}";
- }
- else
- {
- $transcript = $opt_t;
- }
-
- &makeindex("$name.$ext",$outfile,$transcript,$istfile,
- $mkidxopts,$opt_q,$opt_m);
-}
-else
-{
- foreach $type (keys %exttype)
- {
- %thistype = %{$exttype{$type}};
-
- $inputfile = "$name.$thistype{in}";
-
- if (-r $inputfile)
- {
- if ($opt_o eq "")
- {
- $outfile = "$name.$thistype{out}";
- }
- else
- {
- $outfile = $opt_o;
- }
-
- if ($opt_t eq "")
- {
- $transcript = "$name.$thistype{'log'}";
- }
- else
- {
- $transcript = $opt_t;
- }
-
- &makeindex($inputfile,$outfile,$transcript,
- $istfile,$mkidxopts,$opt_q,$opt_m);
- }
- elsif (!$opt_q)
- {
- print "no read access for '$inputfile'\n";
- }
- }
-}
-
-sub makeindex{
- local($in,$out,$trans,$ist,$rest,$quiet,$merge) = @_;
- local($name,$cmdstr,$buffer,$n,$i,$j);
- local(@stuff,@item);
-
- if ($merge)
- {
- $cmdstr = "$rest -s $ist -t $trans -o tmp_$out $in";
- }
- else
- {
- $cmdstr = "$rest -s $ist -t $trans -o $out $in";
- }
-
- unless ($quiet)
- {
- print "makeindex $cmdstr\n";
- }
-
- `makeindex $cmdstr`;
-
- if ($merge)
- {
- print "Merging entries\n";
-
- open INPUT, "<tmp_$out";
-
- $buffer = "";
-
- while (<INPUT>)
- {
- $buffer .= $_;
- }
-
- close INPUT;
-
- open OUTPUT, ">$out";
-
- @stuff = split /\\gloitem /, $buffer;
-
- $n = scalar(@stuff);
-
- if ($n < 2)
- {
- print OUTPUT $buffer;
- }
- else
- {
- print OUTPUT $stuff[0];
-
- for ($i = 1, $j=-1; $i < $n; $i++)
- {
- if ($stuff[$i]=~s/{\\glosslabel{(.+)}{(.+)}}//)
- {
- $name = $&;
-
- if ($j==-1)
- {
- $j = 0;
- $item[0]{'name'} = $name;
- $item[0]{'desc'} = $stuff[$i];
- }
- else
- {
- # makeindex has already sorted the entries
- # alphabetically, so duplicate entries
- # will be one after the other
-
- if ($item[$j]{'name'} eq $name)
- {
- $item[$j]{'desc'} .= $stuff[$i];
-
- print "collating $name\n";
- }
- else
- {
- $j++;
- $item[$j]{'name'} = $name;
- $item[$j]{'desc'} = $stuff[$i];
- }
- }
- }
- else
- {
- print STDERR
- "unable to extract name from glossary item:\n",
- $stuff[$i];
- }
- }
-
- for ($i=0; $i <= $j; $i++)
- {
- # remove all but the last \delimT
- while ($item[$i]{'desc'}=~s/\\delimT/$&/sg > 1)
- {
- $item[$i]{'desc'}=~s/\\delimT//s;
- }
- print OUTPUT "\\gloitem ", $item[$i]{'name'},
- $item[$i]{'desc'};
- }
- }
-
- close OUTPUT;
-
- print "Output written in $out\n";
-
- unlink "tmp_$out" or print "Can't delete tmp_$out: $!\n";
- }
-}
-
-1;
-% \end{macrocode}
-% \begin{macrocode}
-%</makeglos.pl>
-% \end{macrocode}
-% \begin{macrocode}
-%<*makeglos.bat>
-% \end{macrocode}
-% \begin{macrocode}
-@rem = '-*- Perl -*-
-@echo off
-perl -S %~dp0makeglos.pl %*
-% \end{macrocode}
-% \begin{macrocode}
-%</makeglos.bat>
-% \end{macrocode}
-% \begin{macrocode}
-%<*glossary.perl>
-% \end{macrocode}
-% \begin{macrocode}
-# File : glossary.perl
-# Author : Nicola Talbot
-# Date : 5 December 2005
-# Version : 1.03
-# Description : LaTeX2HTML implementation of glossary package.
-
-package main;
-
-# These are the only package options implemented.
-
-sub do_glossary_style_altlist{
-}
-
-sub do_glossary_style_hyper{
-}
-
-sub do_glossary_style_hyper_true{
-}
-
-sub do_glossary_style_hyperacronym{
-}
-
-sub do_glossary_style_hyperacronym_true{
-}
-
-sub do_glossary_toc{
-}
-
-sub do_glossary_toc_true{
-}
-
-$acronymtype = 'glossary';
-
-sub do_glossary_acronym{
- &do_glossary_acronym_true
-}
-
-sub do_glossary_acronym_true{
- $gls_mark{'acronym'} = "<tex2html_acronym_mark>";
- $gls_file_mark{'acronym'} = "<tex2html_acronym_file_mark>";
- $gls_title{'acronym'} = "\\acronymname";
- $delimN{'acronym'} = ", ";
- $glodelim{'acronym'} = " ";
- $glsnumformat{'acronym'} = "textrm";
- $acronymtype = 'acronym';
-}
-
-sub do_glossary_acronym_false{
- $acronymtype = 'glossary';
-}
-
-sub do_cmd_acronymname{
- join('', 'List of Acronyms', $_[0]);
-}
-
-# modify set_depth_levels so that glossary is added
-
-$gls_mark{'glossary'} = "<tex2html_gls_mark>";
-$gls_file_mark{'glossary'} = "<tex2html_gls_file_mark>";
-$gls_title{'glossary'} = "Glossary";
-$delimN{'glossary'} = ", ";
-$glodelim{'glossary'} = " ";
-$glsnumformat{'glossary'} = "textrm";
-
-sub replace_glossary_markers{
- foreach $type (keys %gls_mark)
- {
- if (defined &add_gls_hook)
- {&add_gls_hook if (/$gls_mark{$type}/);}
- else
- {&add_gls($type) if (/$gls_mark{$type}/);}
-
- s/$gls_file_mark{$type}/$glsfile{$type}/g;
- }
-}
-
-# there must be a better way of doing this
-# other than copying the orginal code and adding to it.
-sub replace_general_markers {
- if (defined &replace_infopage_hook) {&replace_infopage_hook if (/$info_page_mark/);}
- else { &replace_infopage if (/$info_page_mark/); }
- if (defined &add_idx_hook) {&add_idx_hook if (/$idx_mark/);}
- else {&add_idx if (/$idx_mark/);}
- &replace_glossary_markers;
-
- if ($segment_figure_captions) {
-s/$lof_mark/$segment_figure_captions/o
- } else { s/$lof_mark/$figure_captions/o }
- if ($segment_table_captions) {
-s/$lot_mark/$segment_table_captions/o
- } else { s/$lot_mark/$table_captions/o }
- &replace_morelinks();
- if (defined &replace_citations_hook) {&replace_citations_hook if /$bbl_mark/;}
- else {&replace_bbl_marks if /$bbl_mark/;}
- if (defined &add_toc_hook) {&add_toc_hook if (/$toc_mark/);}
- else {&add_toc if (/$toc_mark/);}
- if (defined &add_childs_hook) {&add_childs_hook if (/$childlinks_on_mark/);}
- else {&add_childlinks if (/$childlinks_on_mark/);}
- &remove_child_marks;
-
- if (defined &replace_cross_references_hook) {&replace_cross_references_hook;}
- else {&replace_cross_ref_marks if /$cross_ref_mark||$cross_ref_visible_mark/;}
- if (defined &replace_external_references_hook) {&replace_external_references_hook;}
- else {&replace_external_ref_marks if /$external_ref_mark/;}
- if (defined &replace_cite_references_hook) {&replace_cite_references_hook;}
- else { &replace_cite_marks if /$cite_mark/; }
- if (defined &replace_user_references) {
- &replace_user_references if /$user_ref_mark/; }
-
-}
-
-sub add_gls{
- local($sidx_style, $eidx_style) =('<STRONG>','</STRONG>');
- if ($INDEX_STYLES) {
-if ($INDEX_STYLES =~/,/) {
-local(@styles) = split(/\s*,\s*/,$INDEX_STYLES);
- $sidx_style = join('','<', join('><',@styles) ,'>');
- $eidx_style = join('','</', join('></',reverse(@styles)) ,'>');
-} else {
- $sidx_style = join('','<', $INDEX_STYLES,'>');
- $eidx_style = join('','</', $INDEX_STYLES,'>');
-}
- }
- &add_real_gls
-}
-
-sub gloskeysort{
- local($x, $y) = ($a, $b);
- $x=~s/^(.*)###(\d+)$/\l\1/;
- local($x_id) = $2;
- $y=~s/^(.*)###(\d+)$/\l\1/;
- local($y_id) = $2;
-
- local($n) = ($x cmp $y);
-
- if ($n == 0)
- {
- $n = ($x_id <=> $y_id);
- }
-
- $n;
-}
-
-sub add_real_gls{
- local($type) = @_;
- print "\nDoing the $type ...";
- local($key, $str, @keys, $glossary, $level, $count,
- @previous, @current, $id, $linktext, $delimN);
-
- @keys = keys %{$glossary{$type}};
-
- @keys = sort gloskeysort @keys;
-
- $level = 0;
-
- $delimN = $delimN{$type};
-
- foreach $key (@keys) {
- $current = $key;
-$str = $current;
-$str =~ s/\#\#\#\d+$//o; # Remove the unique id's
- #$linktext = $cross_ref_visible_mark;
- $id = ++$global{'max_id'};
- $linktext = "\\$glossary_format{$type}{$key}${OP}$id${CP}$glossary_linktext{$type}{$key}${OP}$id${CP}";
- $linktext = &translate_commands($linktext);
-$glossary .=
- # If it's the same string don't start a new line
- (&index_key_eq($current, $previous) ?
- $delimN
- . $glossary{$type}{$key}
- . $linktext
- . "</A>\n"
- : "<DT>"
- . $glossary_name{$type}{$key}
- . "<DD>". $glossary_desc{$type}{$key}
- . $glodelim{$type} . $glossary{$type}{$key}
- . $linktext. "</A>\n");
-$previous = $current;
- }
- $glossary = '<DD>'.$glossary unless ($glossary =~ /^\s*<D(T|D)>/);
-
- $glossary =~ s/(<A [^>]*>)(<D(T|D)>)/$2$1/g;
-
- $str = &translate_commands("\\glossarypostamble");
- s/$gls_mark{$type}/$preglossary\n<DL COMPACT>\n$glossary<\/DL>$str\n/s;
-}
-
-sub set_depth_levels {
- # Sets $outermost_level
- local($level);
- # scan the document body, not the preamble, for use of sectioning commands
- my ($contents) = $_;
- if ($contents =~ /\\begin\s*((?:$O|$OP)\d+(?:$C|$CP))document\1|\\startdocument/s) {
-$contents = $';
- }
- foreach $level ("part", "chapter", "section", "subsection",
- "subsubsection", "paragraph") {
-last if (($outermost_level) = $contents =~ /\\($level)$delimiter_rx/);
-last if (($outermost_level) = $contents =~ /\\endsegment\s*\[\s*($level)\s*\]/s);
-if ($contents =~ /\\segment\s*($O\d+$C)[^<]+\1\s*($O\d+$C)\s*($level)\s*\2/s)
-{ $outermost_level = $3; last };
- }
- $level = ($outermost_level ? $section_commands{$outermost_level} :
- do {$outermost_level = 'section'; 3;});
-
- if ($REL_DEPTH && $MAX_SPLIT_DEPTH) {
-$MAX_SPLIT_DEPTH = $level + $MAX_SPLIT_DEPTH;
- } elsif (!($MAX_SPLIT_DEPTH)) { $MAX_SPLIT_DEPTH = 1 };
-
- %unnumbered_section_commands = (
- 'tableofcontents', $level
-, 'listoffigures', $level
-, 'listoftables', $level
-, 'bibliography', $level
-, 'textohtmlindex', $level
-, 'textohtmlglossary', $level
- , %unnumbered_section_commands
- );
-
- %section_commands = (
- %unnumbered_section_commands
- , %section_commands
- );
-}
-
-sub add_bbl_and_idx_dummy_commands {
- local($id) = $global{'max_id'};
-
- s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
- ## if ($bbl_cnt == 1) {
-s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo;
- #}
- $global{'max_id'} = $id;
- s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
- s/[\\]printindex/\\textohtmlindex /o;
- &add_gls_dummy_commands;
- &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands);
-}
-
-# this gets called before do_cmd_newglossarytype
-# so currently only substitutes \\printglossary and \\printacronym
-sub add_gls_dummy_commands{
- #foreach $type (keys %gls_mark)
- #{
- # #$id = ++$global{'max_id'};
- # s/[\\]print$type/\\textohtmlglossary[$type]/sg;
- #}
-
- s/[\\]printglossary/\\textohtmlglossary/sg;
- s/[\\]printacronym/\\textohtmlglossary[$acronymtype]/sg;
-}
-
-# This is modified from do_cmd_textohtmlindex
-
-sub do_cmd_textohtmlglossary{
- local($_) = @_;
-
- local($type);
-
- $_[0]=~s/^\s*\[([^]]*)\]//;
- $type = $1;
- if ($type eq '') {$type = 'glossary';}
-
- unless (defined $gls_mark{$type})
- {
- &write_warnings("glossary type '$type' not implemented");
- }
-
- if (eval "(defined \&do_cmd_${type}name) ||\$new_command{\"${type}name\"}")
- {
- local($br_id)=++$global{'max_id'};
- $TITLE = &translate_environments("$O$br_id$C\\${type}name$O$br_id$C");
- }
- else
- { $TITLE = $gls_title{$type} }
- $toc_sec_title = $TITLE;
- $glsfile{$type} = $CURRENT_FILE;
- if (%glossary_labels) { &make_glossary_labels(); }
- if (($SHORT_INDEX) && (%glossary_segment))
- { &make_preglossary(); }
- else
- { $preglossary = &translate_commands("\\glossarypreamble"); }
- local $idx_head = $section_headings{'textohtmlindex'};
- local($heading) = join(''
- , &make_section_heading($TITLE, $idx_head)
- , $gls_mark{$type} );
- local($pre,$post) = &minimize_open_tags($heading);
- join('',"<BR>\n" , $pre, $_[0]);
-}
-
-sub make_glossary_labels {
- local($key, @keys);
- @keys = keys %glossary_labels;
- foreach $key (@keys) {
- if (($ref_files{$key}) && !($ref_files{$key} eq "$glsfile{'glossary'}")) {
- local($tmp) = $ref_files{$key};
- &write_warnings("\nmultiple label $key , target in $glsfile{'glossary'} masks $tmp ");
- }
- $ref_files{$key} .= $glsfile{'glossary'};
- }
-}
-
-sub make_preglossary{ &make_real_preglossary }
-sub make_real_preglossary{
- local($key, @keys, $head, $body);
- $head = "<HR>\n<H4>Legend:</H4>\n<DL COMPACT>";
- @keys = keys %glossary_segment;
- foreach $key (@keys) {
- local($tmp) = "segment$key";
- $tmp = $ref_files{$tmp};
- $body .= "\n<DT>$key<DD>".&make_named_href('',$tmp,$glossary_segment{$key});
- }
- $preglossary = join('', $head, $body, "\n</DL>") if ($body);
-}
-
-sub do_cmd_glossary { &do_real_glossary(@_) }
-sub do_real_glossary {
- local($_) = @_;
- local($br_id, $str);
- local($type) = "glossary";
- local($anchor);
-
- if (s/^\S*$OP(\d+)${CP}type=(.+)$OP\1$CP//)
- {
- $type = $2;
- }
-
- local($idx_option,$pat) = &get_next_optional_argument;
-
- $str = &missing_braces unless (
-(s/$next_pair_pr_rx/($br_id, $str) = ($1, $2);''/eo)
-||(s/$next_pair_rx/($br_id, $str) = ($1, $2);''/eo));
-
- # the maths gets processed before being passed
- # to do_cmd_glossary. How can I do this
- # substitution before it gets converted to an image?
- $str=~s/\"\"/\"/gs;
- $str=~s/\"\|/\|/gs;
- $str=~s/\"@/@/gs;
- $str=~s/\"!/!/gs;
-
- $str=~s/;SPMquot;;SPMquot;/;SPMquot;/gs;
- $str=~s/;SPMquot;\|/\|/gs;
- $str=~s/;SPMquot;\@/\@/gs;
- $str=~s/;SPMquot;!/!/gs;
-
- $anchor = &make_glossary_entry($br_id,$str,$anchor_invisible_mark,$type);
-
- join('', $anchor, $_);
-}
-
-sub make_glossary_entry { &make_real_glossary_entry(@_) }
-sub make_real_glossary_entry {
- local($br_id,$str,$text,$type) = @_;
- local($this_file) = $CURRENT_FILE;
- $TITLE = $saved_title if (($saved_title)&&(!($TITLE)||($TITLE eq $default_title)));
- #extract name, sort, description and format data from $str
- local($name,$sort,$description,$format);
-
- unless (($str=~/name\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($name=$2)) ||
- ($str=~/name\s*=\s*([^,]+)\s*,?/s && ($name=$1)))
- {
- &write_warnings("can't determine name key from $str");
- }
-
- unless (($str=~/sort\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($sort=$2)) ||
- ($str=~/sort\s*=\s*([^,]+)\s*,?/s && ($sort=$1)))
- {
- $sort = $name;
- }
-
- unless (($str=~/description\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($description=$2)) ||
- ($str=~/description\s*=\s*([^,]+)\s*,?/s && ($description=$1)))
- {
- &write_warnings("can't determine description key from $str");
- }
-
- unless (($str=~/format\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($format=$2)) ||
- ($str=~/format\s*=\s*([^,]+)\s*,?/s && ($format=$1)))
- {
- $format = "glsnumformat[$type]";
- }
-
- # Save the reference
- $str = "$sort$description###" . ++$global{'max_id'}; # Make unique
- # concatenate multiple spaces into a single space
- # otherwise keys won't sort properly
- $str=~s/\s+/ /gs;
- $glossary{$type}{$str} .= &make_half_href($this_file."#$br_id");
- $glossary_name{$type}{$str} = $name;
- $glossary_format{$type}{$str} = $format;
- $glossary_desc{$type}{$str} = $description;
- $glossary_linktext{$type}{$str} = $TITLE;
- "<A HREF=$gls_file_mark{$type}#tex2html$href_name NAME=\"$br_id\">$text<\/A>";
-}
-
-sub do_cmd_xglossary{
- local($_) = @_;
- local($entry,$text);
- local($type) = "glossary";
-
- if (s/^$OP(\d+)${CP}type=(.+)$OP\1$CP//)
- {
- $type = $2;
- }
-
- $entry = &missing_braces unless
- s/$next_pair_pr_rx/$entry=$2;''/eo;
-
- $text = &missing_braces unless
- s/$next_pair_pr_rx/$text=$2;''/eo;
-
- $entry=~s/\"\"/\"/gs;
- $entry=~s/\"\|/\|/gs;
- $entry=~s/\"\@/\@/gs;
- $entry=~s/\"!/!/gs;
-
- $entry=~s/;SPMquot;;SPMquot;/;SPMquot;/gs;
- $entry=~s/;SPMquot;\|/\|/gs;
- $entry=~s/;SPMquot;\@/\@/gs;
- $entry=~s/;SPMquot;!/!/gs;
-
- $br_id = ++$global{'max_id'};
- join('', &make_glossary_entry($br_id,$entry,$text,$type),
- $_);
-}
-
-sub do_cmd_newglossarytype{
- local($type,$out,$in);
- $type = &missing_braces unless
- ($_[0]=~s/$next_pair_pr_rx//o&&($type=$2));
- $out = &missing_braces unless
- ($_[0]=~s/$next_pair_pr_rx//o&&($out=$2));
- $in = &missing_braces unless
- ($_[0]=~s/$next_pair_pr_rx//o&&($in=$2));
-
- &make_newglossarytype($type);
-
- $_[0];
-}
-
-sub make_newglossarytype{
- local($type) = @_;
-
- eval ("sub do_cmd_make$type\{\}");
-
- $gls_mark{$type} = "<tex2html_${type}_mark>";
- $gls_file_mark{$type} = "<tex2html_${type}_file_mark>";
- $gls_title{$type} = "\\glossaryname";
-
- local($tmp) = 'sub do_cmd_' . $type. '{';
- $tmp .= 'local($id) = ++$global{\'max_id\'};';
- $tmp .= '"\\\\glossary$OP$id${CP}type=' . $type . '$OP$id$CP".$_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_x' . $type. '{';
- $tmp .= 'local($id) = ++$global{\'max_id\'};';
- $tmp .= '"\\\\xglossary$OP$id${CP}type=' . $type . '$OP$id$CP".$_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_print' . $type. '{';
- #$tmp .= 'local($id)=++$global{\'max_id\'};';
- $tmp .= '"\\\\textohtmlglossary[' . $type
- . ']" . $_[0]';
- $tmp .= '}';
-
- eval($tmp);
-
- $delimN{$type} = ", ";
- $glodelim{$type} = "";
- $glsnumformat{$type} = "";
-
-}
-
-sub do_cmd_gloshort{
- local($_) = @_;
- join('', "<tex2html_GLOSHORT_mark>", $_);
-}
-
-sub do_cmd_glolong{
- local($_) = @_;
- join('', "<tex2html_GLOLONG_mark>", $_);
-}
-
-$acronymnamefmt = "<tex2html_GLOLONG_mark> (<tex2html_GLOSHORT_mark>)";
-
-sub do_cmd_setacronymnamefmt{
- local($_) = @_;
-
- $acronymnamefmt = &missing_braces unless
- s/$next_pair_pr_rx/$acronymnamefmt=$2;''/eo;
-
- $_;
-}
-
-sub do_cmd_acronymfont{
- local($_) = @_;
- local($text) = &missing_braces unless
- s/$next_pair_pr_rx/$text=$2;''/eo;
-
- $text . $_;
-}
-
- %acronym = ();
-
-sub do_cmd_newacronym{
- local($_) = @_;
- local($cmdname,$pat,$abbrv,$long,$glsentry,$name);
-
- ($cmdname,$pat) = &get_next_optional_argument;
-
- $abbrv = &missing_braces unless
- (s/$next_pair_pr_rx/$abbrv=$2;''/eo);
- $long = &missing_braces unless
- (s/$next_pair_pr_rx/$long=$2;''/eo);
- $glsentry = &missing_braces unless
- (s/$next_pair_pr_rx/$glsentry=$2;''/eo);
-
- if ($cmdname eq '')
- {
- $cmdname = $abbrv;
- }
-
- local($id);
- $id = ++$global{'max_id'};
- local($fmtedabbrv) = &translate_commands("\\acronymfont$OP$id$CP$abbrv$OP$id$CP");
-
- unless ($glsentry=~/name=/)
- {
- $name = $acronymnamefmt;
- $name=~s/<tex2html_GLOSHORT_mark>/$fmtedabbrv/egs;
- $name=~s/<tex2html_GLOLONG_mark>/$long/egs;
- $id = ++$global{'max_id'};
- $glsentry .= ",name=$OP$id$CP$name$OP$id$CP";
- }
-
- $global{"${cmdname}first"} = 1;
- $acronym{$cmdname}{'abbrv'} = $abbrv;
- $acronym{$cmdname}{'long'} = $long;
- $acronym{$cmdname}{'entry'} = $glsentry;
-
- local($tmp);
-
- unless ($cmdname=~/[^a-zA-Z]/)
- {
- $tmp = 'sub do_cmd_' . $cmdname . '{';
- $tmp .= 'local($_)=@_;';
- $tmp .= 'local($id)=++$global{\'max_id\'};';
- $tmp .= 'local($str);';
- $tmp .= '$str="${OP}$id${CP}'
- . $cmdname
- . '${OP}$id${CP}";';
- $tmp .= '&do_cmd_useacronym($str . $_[0])';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_' . $cmdname . 'star{';
- $tmp .= 'local($_)=@_;';
- $tmp .= 'local($id)=++$global{\'max_id\'};';
- $tmp .= 'local($str);';
- $tmp .= '$str="${OP}$id${CP}'
- . $cmdname
- . '${OP}$id${CP}";';
- $tmp .= '&do_cmd_useacronymstar($str . $_[0])';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_' . $cmdname . 'long{';
- $tmp .= 'local($_)=@_;';
- $tmp .= 'join("", \'' . $long . '\', $_[0])';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_' . $cmdname . 'short{';
- $tmp .= 'local($_)=@_;';
- $tmp .= 'join("", \'' . $fmtedabbrv . '\', $_[0])';
- $tmp .= '}';
-
- eval($tmp);
- }
-
- $_;
-}
-
-sub do_cmd_acrsh{
- local($_) = @_;
- local($cmdname,$text,$id);
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
-
- $text = &translate_commands("\\${cmdname}short");
-
- $text . $_;
-}
-
-sub do_cmd_acrshstar{
- local($_) = @_;
- local($cmdname,$text,$id);
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
-
- $text = &translate_commands("\\${cmdname}short");
-
- $text=~s/(<.*>)?(\w)/\1\u\2/;
-
- $text . $_;
-}
-
-sub do_cmd_acrln{
- local($_) = @_;
- local($cmdname,$text,$id);
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
-
- $text = &translate_commands("\\${cmdname}long");
-
- $text . $_;
-}
-
-sub do_cmd_acrlnstar{
- local($_) = @_;
- local($cmdname,$text,$id);
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
-
- $text = &translate_commands("\\${cmdname}long");
-
- $text=~s/(\w)/\u\1/;
-
- $text . $_;
-}
-
-sub do_cmd_useacronym{
- local($_)=@_;
- local($str,$abbrv,$long,$entry,$id);
-
- local($optarg,$pat)=&get_next_optional_argument;
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
-
- if (defined %{$acronym{$cmdname}})
- {
- $abbrv = $acronym{$cmdname}{'abbrv'};
- $long = $acronym{$cmdname}{'long'};
- $entry = $acronym{$cmdname}{'entry'};
- $id = ++$global{'max_id'};
- $abbrv = "\\acronymfont$OP$id$CP$abbrv$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $str = "\\xglossary${OP}$id${CP}type="
- . $acronymtype. "${OP}$id${CP}";
- $id = ++$global{'max_id'};
- $str .= "${OP}$id${CP}"
- . $entry . "${OP}$id${CP}";
- $id = ++$global{'max_id'};
- $str .= "${OP}$id${CP}";
- $str .= ($global{"${cmdname}first"} ? "$long$optarg ($abbrv)" : "$abbrv$optarg");
- $str .= "${OP}$id${CP}";
-
- $global{"${cmdname}first"} = 0;
- }
- else
- {
- &write_warnings("acronym '$cmdname' not defined");
- }
-
- $str . $_
-}
-
-sub do_cmd_useacronymstar{
- local($_)=@_;
- local($str,$abbrv,$long,$entry,$id);
- local($optarg,$pat)=&get_next_optional_argument;
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
-
- if (defined %{$acronym{$cmdname}})
- {
- $abbrv = $acronym{$cmdname}{'abbrv'};
- $long = $acronym{$cmdname}{'long'};
- $entry = $acronym{$cmdname}{'entry'};
-
- if ($global{"${cmdname}first"})
- {
- $long=~s/^([^a-zA-Z]*)([a-zA-Z])/\1\u\2/;
- }
- else
- {
- $abbrv=~s/^([^a-zA-Z]*)([a-zA-Z])/\1\u\2/;
- }
-
- $id = ++$global{'max_id'};
- $abbrv = "\\acronymfont$OP$id$CP$abbrv$OP$id$CP";
-
- $name = ($global{"${cmdname}first"} ? "$long$optarg ($abbrv)" : "$abbrv$optarg");
-
- $id = ++$global{'max_id'};
- $str = "\\xglossary${OP}$id${CP}type="
- . $acronymtype . "${OP}$id${CP}";
- $id = ++$global{'max_id'};
- $str .= "${OP}$id${CP}"
- . $entry . "${OP}$id${CP}";
- $id = ++$global{'max_id'};
- $str .= "${OP}$id${CP}";
- $str .= $name;
- $str .= "${OP}$id${CP}";
-
- $global{"${cmdname}first"} = 0;
- }
- else
- {
- &write_warnings("acronym '$cmdname' not defined");
- }
-
- $str . $_
-}
-
-sub do_cmd_ifacronymfirstuse{
- local($_) = @_;
- local($acronym,$truebit,$falsebit,$str);
-
- $acronym = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($acronym=$2));
- $truebit = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($truebit=$2));
- $falsebit = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($falsebit=$2));
-
- $str = ($global{"${acronym}true"} ? $truebit : $falsebit);
-
- $str . $_[0];
-}
-
-sub do_cmd_resetacronym{
- local($_) = @_;
- local($cmdname);
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
-
- if (defined %{$acronym{$cmdname}})
- {
- $global{"${cmdname}first"} = 1;
- }
- else
- {
- &write_warnings("acronym '$cmdname' not defined");
- }
-
- $_;
-}
-
-sub do_cmd_resetallacronyms{
- local($_) = @_;
-
- foreach $key (keys %acronym)
- {
- $global{"${key}first"} = 1;
- }
-
- $_;
-}
-
-sub do_cmd_unsetacronym{
- local($_) = @_;
- local($cmdname);
-
- $cmdname = &missing_braces unless
- (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
-
- if (defined %{$acronym{$cmdname}})
- {
- $global{"${cmdname}first"} = 0;
- }
- else
- {
- &write_warnings("acronym '$cmdname' not defined");
- }
-
- $_;
-}
-
-sub do_cmd_unsetallacronyms{
- local($_) = @_;
-
- foreach $key (keys %acronym)
- {
- $global{"${key}first"} = 0;
- }
-
- $_;
-}
-
- %savedglosentry = ();
-
-# This command is deprecated
-sub do_cmd_saveglosentry{
- local($_) = @_;
- local($name,$desc,$type,$pat);
-
- ($type,$pat) = &get_next_optional_argument;
-
- $name = &missing_braces unless
- s/$next_pair_pr_rx/$name=$2;''/eo;
- $desc = &missing_braces unless
- s/$next_pair_pr_rx/$desc=$2;''/eo;
-
- $savedglosentry{$name}{'entry'} = "name=$name,description=$desc";
- $savedglosentry{$name}{'type'} = $type;
-
- $_;
-}
-
-sub do_cmd_storeglosentry{
- local($_) = @_;
- local($type,$pat,$entry,$label);
-
- ($type,$pat) = &get_next_optional_argument;
-
- if ($type eq '')
- {
- $type = 'glossary';
- }
-
- $label = &missing_braces unless
- s/$next_pair_pr_rx/$label=$2;''/eo;
-
- $entry = &missing_braces unless
- s/$next_pair_pr_rx/$entry=$2;''/eo;
-
- $savedglosentry{$label}{'entry'} = $entry;
- $savedglosentry{$label}{'type'} = $type;
-
- $_;
-}
-
-sub do_cmd_useglosentry{
- local($_) = @_;
- local($optarg,$pat,$name,$str,$id);
- ($optarg,$pat) = &get_next_optional_argument;
-
- $name = &missing_braces unless
- (s/$next_pair_pr_rx/$name=$2;''/eo);
-
- if (defined $savedglosentry{$name}{type})
- {
- $id = ++$global{'max_id'};
- $str = "\\$savedglosentry{$name}{type}${OP}$id${CP}$savedglosentry{$name}{entry}";
-
- unless ($optarg eq "")
- {
- $str .= ",$optarg";
- }
-
- $str .= "${OP}$id${CP}";
- }
- else
- {
- &write_warnings("glossary entry '$name' undefined");
- $str = '';
- }
-
- $str . $_;
-}
-
-sub do_cmd_useGlosentry{
- local($_) = @_;
- local($optarg,$pat,$name,$str,$id);
- ($optarg,$pat) = &get_next_optional_argument;
-
- $name = &missing_braces unless
- (s/$next_pair_pr_rx/$name=$2;''/eo);
-
- if (defined $savedglosentry{$name}{type})
- {
- $id = ++$global{'max_id'};
- $str = "\\x$savedglosentry{$name}{type}${OP}$id${CP}$savedglosentry{$name}{entry}";
-
- unless ($optarg eq "")
- {
- $str .= ",$optarg";
- }
-
- $str .= "${OP}$id${CP}";
- }
- else
- {
- &write_warnings("glossary entry '$name' undefined");
- $str = '';
- }
-
- $str . $_;
-}
-
-sub do_cmd_gls{
- local($_) = @_;
- local($optarg,$pat,$label,$str,$id,$name);
- ($optarg,$pat) = &get_next_optional_argument;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- if (defined $savedglosentry{$label}{type})
- {
- $str = $savedglosentry{$label}{'entry'};
-
- if ($str=~/name=[ ]*${OP}(\d+)${CP}(.*)${OP}\1${CP}/s)
- {
- $name = $2;
- }
- elsif (($str=~/name=[ ]*([^,]+),/m)
- || ($str=~/name=[ ]*([^,]+)\Z(?!\n)/m))
- {
- $name = $1;
- }
-
- $id = ++$global{'max_id'};
- $str = "\\x$savedglosentry{$label}{type}${OP}$id${CP}$savedglosentry{$label}{entry}";
-
- unless ($optarg eq "")
- {
- $str .= ",$optarg";
- }
-
- $str .= "${OP}$id${CP}";
- $id = ++$global{'max_id'};
- $str .= "${OP}$id${CP}$name${OP}$id${CP}";
- }
- else
- {
- &write_warnings("glossary entry '$label' undefined");
- $str = '';
- }
-
- $str . $_;
-}
-
-sub do_cmd_glossarypreamble{
- local($_) = @_;
- $_[0];
-}
-
-sub do_cmd_glossarypostamble{
- local($_) = @_;
- $_[0];
-}
-
-sub do_cmd_glsnumformat{
- local($_) = @_;
- local($type,$pat) = &get_next_optional_argument;
-
- if ($type eq '')
- {
- $type = 'glossary';
- }
-
- local($cmd) = '';
- unless ($glsnumformat{$type} eq '')
- {
- $cmd = "\\$glsnumformat{$type}";
- }
-
- $cmd . $_;
-}
-
-sub do_cmd_setglossary{
- local($_) = @_;
- local($str,$type,$format,$delimN,$glodelim);
- $str = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($str=$2));
-
- unless (($str=~/type=([^,]+),|$/&&($type=$1)) ||
- ($str=~/type=${OP}(\d+)${CP}(.*)${OP}\1${CP}/&&($type=$2)))
- {
- $type = 'glossary';
- }
-
- if ($str=~/glsnumformat=[ ]*${OP}(\d+)${CP}(.*)${OP}\1${CP}/s)
- {
- $format = $2;
- }
- elsif (($str=~/glsnumformat=[ ]*([^,]+),/m)
- || ($str=~/glsnumformat=[ ]*([^,]+)\Z(?!\n)/m))
- {
- $format = $1;
- }
-
- if ($format ne '')
- {
- $glsnumformat{$type} = $format;
-
- if ($format eq 'ignore')
- {
- $delimN{$type} = '';
- }
- }
-
- if (($str=~/delimN=([^,]+),|$/&&($delimN=$1)) ||
- ($str=~/delimN=${OP}(\d+)${CP}(.*)${OP}\1${CP}/&&($delimN=$2)))
- {
- $delimN{$type} = $delimN;
- }
-
- if (($str=~/glodelim=([^,]+),|$/&&($glodelim=$1)) ||
- ($str=~/glodelim=${OP}(\d+)${CP}(.*)${OP}\1${CP}/&&($glodelim=$2)))
- {
- $glodelim{$type} = $glodelim;
- }
-
- $_[0];
-}
-
-sub do_cmd_ignore{
- local($_) = @_;
- local($str);
- $str = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($str=$2));
-
- $_[0];
-}
-
-sub do_cmd_hyperit{
- join('', "\\textit ", $_[0]);
-}
-
-sub do_cmd_hyperrm{
- join('', "\\textrm ", $_[0]);
-}
-
-sub do_cmd_hypertt{
- join('', "\\texttt ", $_[0]);
-}
-
-sub do_cmd_hypersf{
- join('', "\\textsf ", $_[0]);
-}
-
-sub do_cmd_hyperbf{
- join('', "\\textbf ", $_[0]);
-}
-
-&ignore_commands( <<_IGNORED_CMDS_ );
-makeglossary
-makeacronym
-_IGNORED_CMDS_
-
-1;
-% \end{macrocode}
-% \begin{macrocode}
-%</glossary.perl>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sample.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass[a4paper]{report}
-
-\usepackage[plainpages=false,colorlinks]{hyperref}
-\usepackage{glossary}
-
-\makeglossary
-
-% You need to use the -m switch with makeglos.pl to concatenate
-% entries with the same name but different descriptions
-% If you don't, and you use PDFLaTeX you will get a warning
-% about duplicate labels. To prevent this, set a different
-% sort key for each entry, e.g. sort=glossary1 for the first
-% entry and sort=glossary2 for the second entry
-
-\storeglosentry{glossary1}{name=glossary,
-description=1) list of technical words}
-
-\storeglosentry{glossary2}{name=glossary,
-description=2) collection of glosses}
-
-\storeglosentry{Perl}{name=\texttt{Perl},
-sort=Perl, % need a sort key because name contains a command
-description=A scripting language}
-
-\storeglosentry{pagelist}{name=page list,
-% description value has to be enclosed in braces
-% because it contains commas
-description={a list of individual pages or page ranges,
-e.g.\ 1,2,4,7-9}}
-
-\begin{document}
-
-\title{Sample Document Using glossary Package}
-\author{Nicola Talbot}
-\pagenumbering{alph}% prevent duplicate page link names if using PDF
-\maketitle
-
-\pagenumbering{roman}
-\tableofcontents
-
-\chapter{Introduction}
-\pagenumbering{arabic}
-
-A \gls{glossary1} is a very useful addition to any
-technical document, although a \gls{glossary2} can
-also simply be a collection of glosses, which is
-another thing entirely.
-
-Once you have run your document through \LaTeX, you
-will then need to run the \texttt{.glo} file through
-\texttt{makeindex}. You will need to set the output
-file so that it creates a \texttt{.gls} file instead
-of an \texttt{.ind} file, and change the name of
-the log file so that it doesn't overwrite the index
-log file (if you have an index for your document).
-Rather than having to remember all the command line
-switches, you can call the \gls{Perl} script
-\texttt{makeglos.pl} which provides a convenient
-wrapper.
-
-If you have two terms with different meanings in your
-\gls{glossary1}, \texttt{makeindex} will of course treat them as two
-separate entries, however, some people prefer to
-merge them. This can be done using \texttt{makeglos.pl}, and
-passing the option \texttt{-m}.
-
-If a comma appears within the name or description, grouping
-must be used: \gls{pagelist}.
-
-\printglossary
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sample.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sample4col.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass[a4paper]{article}
-
-% start out with 3 column format to make it easier to modify
-\usepackage[style=long,cols=3]{glossary}[2006/07/20]
-
-% make glossary have 4 columns all left aligned
-% (this assumes entries can fit onto a single line
-% otherwise use p{} specifier instead of l)
-\renewcommand{\glossaryalignment}{llll}
-
-% Define header row
-\newcommand{\glossaryheader}{%
-\bfseries Name & \bfseries Description & \bfseries Unit &
-\bfseries Page}
-
-\makeglossary
-
-\storeglosentry{w}{name={$w$},sort=w,description={width&m}}
-\storeglosentry{M}{name={$M$},sort=M,description={mass&kg}}
-
-\begin{document}
-
-\printglossary
-
-The width, \gls{w}, is measured in meters. The mass, \gls{M} is
-measured in kilograms.
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sample4col.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sampleAcr.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass[a4paper]{report}
-
-\usepackage[colorlinks,plainpages=false]{hyperref}
-\usepackage[style=altlist,hypertoc,acronym]{glossary}
-
-% use \makeglossary if using package option
-% acronym=false
-%\makeglossary
-% use \makeacronym if using package option
-% acronym=true
-\makeacronym
-
-\newacronym{svm}{support vector machine}{%
-description=Statistical pattern recognition
-technique~\cite{svm}}
-
-\newacronym[ksvm]{k-svm}{kernel support vector machine}{%
-description={Statistical pattern recognition technique
-using the ``kernel trick'' (see also SVM)}}
-
-\begin{document}
-\tableofcontents
-
-\chapter{Support Vector Machines}
-
-The \svm\ is used widely in the area of pattern recognition.
-\useacronym*[s]{svm} are \ldots
-
-This is the long version: \svmlong\ or alternatively:
-\acrln*{svm}.
-Abbreviation: \svmshort\ or \acrsh*{svm}.
-
-\chapter{Kernel Support Vector Machines}
-
-The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses
-the so called ``kernel trick''.
-
-%\resetacronym{ksvm}
-\resetallacronyms
-\useacronym*[s]{ksvm} \ldots
-\svm.
-
-\begin{thebibliography}{1}
-\bibitem{svm} \ldots
-\end{thebibliography}
-
-%\printglossary
-\printacronym
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sampleAcr.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sampleEq.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass[a4paper,12pt]{report}
-
-\usepackage{amsmath}
-\usepackage[colorlinks]{hyperref}
-\usepackage[header,border=none,cols=3,number=equation]{glossary}[2006/07/20]
-
-\newcommand{\erf}{\operatorname{erf}}
-\newcommand{\erfc}{\operatorname{erfc}}
-
-\makeglossary
-
-% Uncomment the following line to put a blank line between
-% every entry:
-%\setglossary{delimT={\cr & \cr},gloskip={}}
-
-% Change the glossary title:
-
-\renewcommand{\glossaryname}{Index of Special Functions
-and Notations}
-
-% Change the glossary headings
-
-\renewcommand{\entryname}{Notation}
-
-\renewcommand{\descriptionname}{Function Name}
-
-\renewcommand{\glspageheader}{Number of Formula}
-
-% Add a blank row after the header row
-\newcommand{\glossarysubheader}{ & & \\}
-
-% Store entries for later use
-
-\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)},
-description=Gamma function,sort=Gamma}
-
-\storeglosentry{gamma}{name={\ensuremath{\gamma(\alpha,x)}},
-description=Incomplete gamma function,sort=gamma}
-
-\storeglosentry{iGamma}{name={\ensuremath{\Gamma(\alpha,x)}},
-description=Incomplete gamma function,sort=Gamma}
-
-\storeglosentry{psi}{name=\ensuremath{\psi(x)},
-description=Psi function,sort=psi}
-
-\storeglosentry{erf}{name=\ensuremath{\erf(x)},
-description=Error function,sort=erf}
-
-\storeglosentry{erfc}{name=\ensuremath{\erfc},
-description=Complementary error function,sort=erfc}
-
-\storeglosentry{B}{name={\ensuremath{B(x,y)}},
-description=Beta function,sort=B}
-
-\storeglosentry{Bx}{name={\ensuremath{B_x(p,q)}},
-description=Incomplete beta function,sort=Bx}
-
-\storeglosentry{Tn}{name=\ensuremath{T_n(x)},
-description=Chebyshev's polynomials of the first kind,sort=Tn}
-
-\storeglosentry{Un}{name=\ensuremath{U_n(x)},
-description=Chebyshev's polynomials of the second kind,sort=Un}
-
-\storeglosentry{Hn}{name=\ensuremath{H_n(x)},
-description=Hermite polynomials,sort=Hn}
-
-\storeglosentry{Ln}{name=\ensuremath{L_n^\alpha(x)},
-description=Laguerre polynomials,sort=Lna}
-
-\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)},
-description=Bessel functions,sort=Z}
-
-\storeglosentry{Phi}{name={\ensuremath{\Phi(\alpha,\gamma;z)}},
-description=confluent hypergeometric function,sort=Pagz}
-
-\storeglosentry{knu}{name=\ensuremath{k_\nu(x)},
-description=Bateman's function,sort=kv}
-
-\storeglosentry{Dp}{name=\ensuremath{D_p(z)},
-description=Parabolic cylinder functions,sort=Dp}
-
-\storeglosentry{F}{name={\ensuremath{F(\phi,k)}},
-description=Elliptical integral of the first kind,sort=Fpk}
-
-\storeglosentry{C}{name=\ensuremath{C},
-description=Euler's constant,sort=C}
-
-\storeglosentry{G}{name=\ensuremath{G},
-description=Catalan's constant,sort=G}
-
-\begin{document}
-\title{A Sample Document Using glossary.sty}
-\author{Nicola Talbot}
-\maketitle
-
-\begin{abstract}
-This is a sample document illustrating the use of the \textsf{glossary}
-package. The functions here have been taken from ``Tables of
-Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik.
-The glossary is a list of special functions, so
-the equation number has been used rather than the page number. This
-can be done using the \texttt{number=equation} package
-option.
-\end{abstract}
-
-\printglossary
-
-\chapter{Gamma Functions}
-
-\begin{equation}
-\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
-\end{equation}
-
-\verb|\ensuremath| is only required here if using
-hyperlinks.
-\begin{equation}
-\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x)
-%\useGlosentry{Gamma}{\Gamma(x+1)} = x\Gamma(x)
-\end{equation}
-
-\begin{equation}
-\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt
-\end{equation}
-
-\begin{equation}
-\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt
-\end{equation}
-
-\newpage
-
-\begin{equation}
-\gls{Gamma} = \Gamma(\alpha, x) + \gamma(\alpha, x)
-\end{equation}
-
-\begin{equation}
-\gls{psi} = \frac{d}{dx}\ln\Gamma(x)
-\end{equation}
-
-\chapter{Error Functions}
-
-\begin{equation}
-\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt
-\end{equation}
-
-\begin{equation}
-\gls{erfc} = 1 - \erf(x)
-\end{equation}
-
-\chapter{Beta Function}
-
-\begin{equation}
-\gls{B} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt
-\end{equation}
-Alternatively:
-\begin{equation}
-\gls{B} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi
-\end{equation}
-
-\begin{equation}
-\gls{B} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x)
-\end{equation}
-
-\begin{equation}
-\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt
-\end{equation}
-
-\chapter{Polynomials}
-
-\section{Chebyshev's polynomials}
-
-\begin{equation}
-\gls{Tn} = \cos(n\arccos x)
-\end{equation}
-
-\begin{equation}
-\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]}
-\end{equation}
-
-\section{Hermite polynomials}
-
-\begin{equation}
-\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2})
-\end{equation}
-
-\section{Laguerre polynomials}
-
-\begin{equation}
-L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha}
-\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha})
-\end{equation}
-
-\chapter{Bessel Functions}
-
-Bessel functions $Z_\nu$ are solutions of
-\begin{equation}
-\useglosentry{Znu}
-\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} +
-\left( 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right)
-\end{equation}
-
-\chapter{Confluent hypergeometric function}
-
-\begin{equation}
-\gls{Phi} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!}
-+ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!}
-+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\,
-\frac{z^3}{3!} + \cdots
-\end{equation}
-
-\begin{equation}
-\gls{knu} = \frac{2}{\pi}\int_0^{\pi/2}
-\cos(x \tan\theta - \nu\theta)\,d\theta
-\end{equation}
-
-\chapter{Parabolic cylinder functions}
-
-\begin{equation}
-\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}}
-\left\{
-\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)}
-\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right)
--\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)}
-\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right)
-\right\}
-\end{equation}
-
-\chapter{Elliptical Integral of the First Kind}
-
-\begin{equation}
-\gls{F} = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}}
-\end{equation}
-
-\chapter{Constants}
-
-\begin{equation}
-\gls{C} = 0.577\,215\,664\,901\ldots
-\end{equation}
-
-\begin{equation}
-\gls{G} = 0.915\,965\,594\ldots
-\end{equation}
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sampleEq.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sampleEqPg.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass[a4paper,12pt]{report}
-
-\usepackage{amsmath}
-\usepackage[colorlinks]{hyperref}
-\usepackage[header,toc,border=none,cols=3,
- number=equation]{glossary}[2006/07/20]
-
-\newcommand{\erf}{\operatorname{erf}}
-\newcommand{\erfc}{\operatorname{erfc}}
-
-\renewcommand{\glossaryname}{Index of Special Functions and Notations}
-
-\renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number,
-numbers in bold indicate page numbers where the main definition occurs.\par}
-
-% set the default glossary numbers to italic
-% hyperit is used instead of textit because
-% the hyperref package is being used.
-\setglossary{glsnumformat=hyperit}
-
-% 1st column heading
-\renewcommand{\entryname}{Notation}
-
-% 2nd column heading
-\renewcommand{\descriptionname}{Function Name}
-
-% Add a blank row after the header
-\newcommand{\glossarysubheader}{ & & \\}
-
-% store glossary entries for later use
-
-\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)},
-description=Gamma function,sort=Gamma}
-
-\storeglosentry{gamma}{name=\ensuremath{\gamma(\alpha,x)},
-description=Incomplete gamma function,sort=gamma}
-
-\storeglosentry{iGamma}{name=\ensuremath{\Gamma(\alpha,x)},
-description=Incomplete gamma function,sort=Gamma}
-
-\storeglosentry{psi}{name=\ensuremath{\psi(x)},
-description=Psi function,sort=psi}
-
-\storeglosentry{erf}{name=\ensuremath{\erf(x)},
-description=Error function,sort=erf}
-
-\storeglosentry{erfc}{name=\ensuremath{\erfc(x)},
-description=Complementary error function,sort=erfc}
-
-\storeglosentry{beta}{name=\ensuremath{B(x,y)},
-description=Beta function,sort=B}
-
-\storeglosentry{Bx}{name=\ensuremath{B_x(p,q)},
-description=Incomplete beta function,sort=Bx}
-
-\storeglosentry{Tn}{name=\ensuremath{T_n(x)},
-description=Chebyshev's polynomials of the first kind,
-sort=Tn}
-
-\storeglosentry{Un}{name=\ensuremath{U_n(x)},
-description=Chebyshev's polynomials of the second kind,
-sort=Un}
-
-\storeglosentry{Hn}{name=\ensuremath{H_n(x)},
-description=Hermite polynomials,sort=Hn}
-
-\storeglosentry{Lna}{name=\ensuremath{L_n^\alpha(x)},
-description=Laguerre polynomials,sort=Lna}
-
-\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)},
-description=Bessel functions,sort=Z}
-
-\storeglosentry{Pagz}{name=\ensuremath{\Phi(\alpha,\gamma;z)},
-description=confluent hypergeometric function,sort=Pagz}
-
-\storeglosentry{kv}{name=\ensuremath{k_\nu(x)},
-description=Bateman's function,sort=kv}
-
-\storeglosentry{Dp}{name=\ensuremath{D_p(z)},
-description=Parabolic cylinder functions,sort=Dp}
-
-\storeglosentry{Fpk}{name=\ensuremath{F(\phi,k)},
-description=Elliptical integral of the first kind,sort=Fpk}
-
-\storeglosentry{C}{name=\ensuremath{C},
-description=Euler's constant,sort=C}
-
-\storeglosentry{G}{name=\ensuremath{G},
-description=Catalan's constant,sort=G}
-
-\renewcommand{\shortglossaryname}{Special Functions}
-
-\makeglossary
-
-\pagestyle{headings}
-
-\begin{document}
-
-\title{Sample Document Using Interchangable Numbering}
-\author{Nicola Talbot}
-\maketitle
-
-\begin{abstract}
-This is a sample document illustrating the use of the \textsf{glossary}
-package. The functions here have been taken from ``Tables of
-Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik.
-
-The glossary lists both page numbers and equation numbers.
-Since the majority of the entries use the equation number,
-\texttt{number=equation} was used as a package option.
-The entries that should refer to the page number instead
-use the \texttt{number=equation} glossary key.
-Note that this example will only work where the
-page number and equation number compositor is the same. So
-it won't work if, say, the page numbers are of the form
-2-4 and the equation numbers are of the form 4.6.
-As most of the glossary entries should have an italic
-format, it is easiest to set the default format to
-italic.
-
-\end{abstract}
-
-\tableofcontents
-
-\printglossary
-
-\chapter{Gamma Functions}
-
-The \useGlosentry[number=page,format=hyperbf]{Gamma}{gamma function} is
-defined as
-\begin{equation}
-\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
-\end{equation}
-
-\begin{equation}
-\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x)
-\end{equation}
-
-\begin{equation}
-\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt
-\end{equation}
-
-\begin{equation}
-\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt
-\end{equation}
-
-\newpage
-
-\begin{equation}
-\useGlosentry{Gamma}{\ensuremath{\Gamma(\alpha)}} = \Gamma(\alpha, x) + \gamma(\alpha, x)
-\end{equation}
-
-\begin{equation}
-\gls{psi} = \frac{d}{dx}\ln\Gamma(x)
-\end{equation}
-
-\chapter{Error Functions}
-
-The \useGlosentry[number=page,format=hyperbf]{erf}{error
-function} is defined as:
-\begin{equation}
-\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt
-\end{equation}
-
-\begin{equation}
-\gls{erfc} = 1 - \erf(x)
-\end{equation}
-
-\chapter{Beta Function}
-
-\begin{equation}
-\gls{beta} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt
-\end{equation}
-Alternatively:
-\begin{equation}
-\gls{beta} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi
-\end{equation}
-
-\begin{equation}
-\gls{beta} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x)
-\end{equation}
-
-\begin{equation}
-\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt
-\end{equation}
-
-\chapter{Chebyshev's polynomials}
-
-\begin{equation}
-\gls{Tn} = \cos(n\arccos x)
-\end{equation}
-
-\begin{equation}
-\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]}
-\end{equation}
-
-\chapter{Hermite polynomials}
-
-\begin{equation}
-\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2})
-\end{equation}
-
-\chapter{Laguerre polynomials}
-
-\begin{equation}
-\gls{Lna} = \frac{1}{n!}e^x x^{-\alpha}
-\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha})
-\end{equation}
-
-\chapter{Bessel Functions}
-
-Bessel functions $Z_\nu(z)$ are solutions of
-\begin{equation}
-\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} +
-\left(
-1-\frac{\nu^2}{z^2}Z_\nu = 0
-\right)
-\end{equation}
-\useglosentry{Znu}
-
-\chapter{Confluent hypergeometric function}
-
-\begin{equation}
-\gls{Pagz} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!}
-+ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!}
-+\frac{\alpha(\alpha+1)(\alpha+2)}
- {\gamma(\gamma+1)(\gamma+2)}
-\,\frac{z^3}{3!}
-+ \cdots
-\end{equation}
-
-\begin{equation}
-\gls{kv} = \frac{2}{\pi}\int_0^{\pi/2}
-\cos(x \tan\theta - \nu\theta)\,d\theta
-\end{equation}
-
-\chapter{Parabolic cylinder functions}
-
-\begin{equation}
-\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}}
-\left\{
-\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)}
-\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right)
--\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)}
-\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right)
-\right\}
-\end{equation}
-
-\chapter{Elliptical Integral of the First Kind}
-
-\begin{equation}
-\gls{Fpk} = \int_0^\phi
-\frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}}
-\end{equation}
-
-\chapter{Constants}
-
-\begin{equation}
-\gls{C} = 0.577\,215\,664\,901\ldots
-\end{equation}
-
-\begin{equation}
-\gls{G} = 0.915\,965\,594\ldots
-\end{equation}
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sampleEqPg.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sampleNtn.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass{report}
-
-\usepackage[plainpages=false,colorlinks]{hyperref}
-\usepackage{html}
-%\usepackage{array}
-\usepackage[toc,style=long,cols=3]{glossary}
-
-\makeglossary
-
-% Define a new glossary type called notation
-\newglossarytype{notation}{not}{ntn}[style=long,cols=2,border,header]
-
-% Set up notation style
-\newcommand{\notationname}{Notation}
-% Don't display numbers, remove commas and number hyphens
-% for notation entries, and put a full stop after the
-% deescription:
-\setglossary{type=notation,glsnumformat=ignore,glodelim={.}}
-
-\makenotation
-
-\begin{document}
-
-\title{Sample Document using glossary Package}
-\author{Nicola Talbot}
-\pagenumbering{alph}
-\maketitle
-
-\begin{abstract}
-%stop hyperref complaining about duplicate page identifiers
-\pagenumbering{Alph}
-This is a sample document illustrating the use of the
-\textsf{glossary} package. In this example, a new glossary type
-called \texttt{notation} is defined, so that the document can have a
-separate glossary of terms and index of notation. The index of notation
-doesn't have associated numbers.
-\end{abstract}
-
-
-\pagenumbering{roman}
-\tableofcontents
-
-\printglossary
-
-% Either of the following 2 commands will have
-% the same effect with LaTeX. Effect slightly
-% different with LaTeX2HTML.
-
-%\printnotation
-\printglossary[notation]
-
-\chapter{Introduction}
-\pagenumbering{arabic}
-
-Sets\glossary{name=set,description=A collection of distinct objects}
-are denoted by a caligraphic font
-e.g.\ $\mathcal{S}$%
-\notation{name=$\mathcal{S}$,description=A set,sort=S}.
-
-Let $\mathcal{U}$ denote the universal set\notation{
-name=$\mathcal{U}$,description={The universal set},sort=U}.
-
-The cardinality\glossary{name=cardinality,
-description=The number of elements in the specified set} of
-a set $\mathcal{S}$ is denoted $|\mathcal{S}|$%
-\notation{name=$\mid\mathcal{S}\mid$,
-description=cardinality of $\mathcal{S}$,sort=cardinality}
-
-\chapter{Next}
-
-Now for a hyperlink:
-\xnotation{name=$\mathcal{U}$, description={The universal
-set}, sort=U}{$\mathcal{U}$}.
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sampleNtn.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sampleNtn2.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass{report}
-
-\usepackage[plainpages=false,colorlinks]{hyperref}
-\usepackage{html}
-\usepackage[toc]{glossary}[2006/07/20]
-
-\makeglossary
-
-% Define a new glossary type called notation
-% Suppress the page numbering in the list of notation
-\newglossarytype[nlg]{notation}{not}{ntn}[number=none]
-
-% Set up notation style
-\newcommand{\notationname}{Notation}
-
-\makenotation
-
-\begin{document}
-
-% Save details for later use (note the use of \protect):
-\storeglosentry[notation]{not:set}{name={$\mathcal{S}$},
-description=A set,sort=S}
-
-\storeglosentry[notation]{not:U}{name=$\mathcal{U}$,
-description={The universal set},sort=U}
-
-\storeglosentry[notation]{not:card}{name=$\mid\mathcal{S}\mid$,
-description=cardinality of $\mathcal{S}$,
-sort=cardinality}
-
-\storeglosentry{glos:set}{name=set,description=A collection of
-distinct objects}
-
-\storeglosentry{glos:card}{name=cardinality,description=The number of
-elements in the specified set}
-
-\title{Sample Document using glossary Package}
-\author{Nicola Talbot}
-\pagenumbering{alph}
-\maketitle
-
-\begin{abstract}
-%stop hyperref complaining about duplicate page identifiers:
-\pagenumbering{Alph}
-This is a sample document illustrating the use of the
-\textsf{glossary} package. In this example, a new glossary type
-called \texttt{notation} is defined, so that the document can have a
-separate glossary of terms and index of notation. The index of notation
-doesn't have associated numbers.
-\end{abstract}
-
-
-\pagenumbering{roman}
-\tableofcontents
-
-\printglossary
-
-% Either of the following 2 commands will have
-% the same effect with LaTeX. Effect slightly
-% different with LaTeX2HTML.
-
-\printnotation
-%\printglossary[notation]
-
-\chapter{Introduction}
-\pagenumbering{arabic}
-
-Sets\useglosentry{glos:set}
-are denoted by a caligraphic font
-e.g.\ $\mathcal{S}$\useglosentry{not:set}.
-
-Let \gls{not:U} denote the universal set.
-
-The \gls{glos:card} of a set $\mathcal{S}$ is denoted
-\gls{not:card}.
-
-\chapter{Another Chapter}
-
-Another mention of the universal set \gls{not:U}.
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sampleNtn2.tex>
-% \end{macrocode}
-% \begin{macrocode}
-%<*sampleSec.tex>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass{report}
-
-\usepackage[plainpages=false,colorlinks]{hyperref}
-\usepackage[style=altlist,toc,number=section]{glossary}
-
-\makeglossary
-
-\storeglosentry{ident}{name=identity matrix,description=diagonal
-matrix with 1s along the leading diagonal}
-
-\storeglosentry{diag}{name=diagonal matrix,
-description=matrix whose only non-zero entries are along
-the leading diagonal}
-
-\storeglosentry{sing}{name=singular matrix,
-description=matrix with zero determinant}
-
-\begin{document}
-
-\pagenumbering{roman}
-\tableofcontents
-
-\printglossary
-
-\chapter{Introduction}
-\pagenumbering{arabic}
-This is a sample document illustrating the use of the
-\textsf{glossary} package.
-
-\chapter{Diagonal matrices}
-
-A \gls[format=hyperit]{diag} is a matrix where all elements not on the
-leading diagonal are zero. This is the
-primary definition, so an italic font is used for the page number.
-
-\newpage
-\section{Identity matrix}
-The \gls[format=hyperit]{ident} is a \gls{diag} whose leading
-diagonal elements are all equal to 1.
-
-Here is another entry for a \gls{diag}.
-
-\chapter{Singular Matrices}
-
-A \gls{sing} is a matrix with zero determinant.
-\useGlosentry{sing}{Singular matrices} are non-invertible.
-
-Another \gls{ident} entry.
-
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</sampleSec.tex>
-% \end{macrocode}
-%\fi
-%\Finale
-\endinput
diff --git a/Master/texmf-dist/source/latex/glossary/glossary.ins b/Master/texmf-dist/source/latex/glossary/glossary.ins
deleted file mode 100644
index 6359e0d0d00..00000000000
--- a/Master/texmf-dist/source/latex/glossary/glossary.ins
+++ /dev/null
@@ -1,38 +0,0 @@
-% glossary.ins generated using makedtx version 0.91b 2006/7/25 18:13
-\input docstrip
-
-\preamble
-Copyright (C) 2006 Nicola Talbot, all rights reserved.
-If you modify this file, you must change its name first.
-You are NOT ALLOWED to distribute this file alone. You are NOT
-ALLOWED to take money for the distribution or use of either this
-file or a changed version, except for a nominal charge for copying
-etc.
-\endpreamble
-
-\askforoverwritefalse
-
-\generate{\file{makeglos.pl}{\nopreamble\nopostamble\from{glossary.dtx}{makeglos.pl}}
-\file{sampleSec.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sampleSec.tex,package}}
-\file{sampleNtn.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sampleNtn.tex,package}}
-\file{sampleEqPg.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sampleEqPg.tex,package}}
-\file{makeglos.bat}{\nopreamble\nopostamble\from{glossary.dtx}{makeglos.bat}}
-\file{sample.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sample.tex,package}}
-\file{sampleNtn2.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sampleNtn2.tex,package}}
-\file{glossary.perl}{\nopreamble\nopostamble\from{glossary.dtx}{glossary.perl}}
-\file{glossary.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{glossary.sty,package}}
-\file{sample4col.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sample4col.tex,package}}
-\file{sampleAcr.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sampleAcr.tex,package}}
-\file{sampleEq.tex}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{glossary.dtx}{sampleEq.tex,package}}
-}
-
-\endbatchfile