summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/glossaries/glossaries.dtx')
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.dtx1871
1 files changed, 1219 insertions, 652 deletions
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
index 8b476bdd573..1adf4db3d9d 100644
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
@@ -24,9 +24,9 @@
% -comment ".*\.tex"
% -comment ".*\.xdy"
% -doc "glossaries-manual.tex"
-% -codetitle "Documented Code"
+% -codetitle "Glossaries Documented Code"
% glossaries
-% Created on 2009/4/16 14:53
+% Created on 2009/6/1 14:17
%\fi
%\iffalse
%<*package>
@@ -81,7 +81,7 @@
\makeatother
\RecordChanges
\PageIndex
-\CheckSum{8209}
+\CheckSum{8706}
\CodelineNumbered
\newcommand*{\termdef}[1]{\emph{#1}\iterm{#1}}
\newcommand*{\term}[1]{#1\iterm{#1}}
@@ -144,7 +144,7 @@
%\MakeShortVerb{"}
%\DeleteShortVerb{\|}
%
-% \title{glossaries.sty v 1.2: \LaTeXe\ Package to Assist Generating Glossaries}
+% \title{glossaries.sty v 2.01: \LaTeXe\ Package to Assist Generating Glossaries}
% \author{Nicola L.C. Talbot\\[10pt]
%School of Computing Sciences\\
%University of East Anglia\\
@@ -152,7 +152,7 @@
%NR4 7TJ. United Kingdom.\\
%\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
%
-% \date{16th April 2009}
+% \date{30th May 2009}
% \maketitle
%\tableofcontents
%
@@ -172,8 +172,15 @@
%added to the glossary.
%
%\textbf{This package replaces the \isty{glossary} package which is
-%now obsolete. Please see the file
-%\url{glossary2glossaries.pdf} for assistance in upgrading.}
+%now obsolete.} Please see
+%the document \dq{Upgrading from the glossary package to the glossaries package} (\href{glossary2glossaries.pdf}{glossary2glossaries.pdf})
+%for assistance in upgrading.
+%
+%One of the strengths of this package is its flexibility, however
+%the drawback of this is the necessity of having a large manual
+%that can cover all the various settings. If you are daunted by the
+%size of the manual, try starting off with the much shorter
+%guide for beginners (\href{glossariesbegin.pdf}{glossariesbegin.pdf}).
%
%\begin{important}
%The \sty{glossaries} package comes with a
@@ -188,26 +195,22 @@
%further details.
%\end{important}
%
-%One of the strengths of this package is its flexibility, however
-%the drawback of this is the necessity of having a large manual
-%that can cover all the various settings. The documentation is
-%therefore structured as follows:
+%This manual is structured as follows:
%\begin{itemize}
-%\item \autoref{sec:quick} is for people who want a few quick
-%pointers of how to get started creating a basic glossary, without
-%having to read through lengthy descriptions.
-%
%\item \autoref{sec:overview} gives an overview of the main user commands and their syntax.
%
%\item \autoref{sec:mfirstuc} describes the associated \sty{mfirstuc} package.
%
%\item\autoref{sec:code} contains the documented source code for those who
-%want to know more about how the package works.
+%want to know more about how the package works. This describes more
+%advanced commands, such as determining if an entry or a glossary
+%exists and commands that iterate through defined terms or glossaries.
%
%\item \autoref{sec:code:mfirstuc} contains the documented code for
%the \sty{mfirstuc} package.
%\end{itemize}
%
+%
%\noindent The remainder of this introductory section covers the
%following:
%\begin{itemize}
@@ -242,9 +245,9 @@
%see if it contains the \texttt{samples} subdirectory.
%
%If you can't find the sample files, they are available in the
-%\texttt{doc/latex/glossaries/samples/} subdirectory of the
+%subdirectory \texttt{doc/latex/glossaries/samples/} in the
%\texttt{glossaries.tds.zip} archive which can be downloaded from
-%CTAN.
+%\href{http://tug.ctan.org/tex-archive/macros/latex/contrib/glossaries/}{CTAN}.
%
%The sample documents are as follows:
%\begin{description}
@@ -529,7 +532,7 @@
%latex sampleutf8
%\end{verbatim}
%you will see that the entries that start with a non-Latin character
-%now appear in the symbols group, and the word \dq{manœuvre} is now
+%now appear in the symbols group, and the word \dq{man\oe uvre} is now
%after \dq{manor} instead of before it. If you are unable to use
%\appname{makeglossaries}, the call to \appname{makeindex} is as
%follows (no line breaks):
@@ -567,7 +570,7 @@
%\end{verbatim}
%
%\begin{important}
-%If you use an accented or non-Latin character at the start of
+%If you use an accented or other expandable character at the start of
%an entry name, you must place it in a group, or it will cause
%a problem for commands that convert the first letter to uppercase
%(e.g.\ \ics{Gls}) due to expansion issues. For example:
@@ -808,8 +811,7 @@
%The \appname{makeglossaries} script picks up the relevant
%information from the auxiliary (\filetype{.aux}) file and
%will either call \appname{xindy} or \appname{makeindex},
-%depending on whether the indexing style file ends with
-%\filetype{.xdy} or \filetype{.ist}. Therefore, you only need to
+%depending on the supplied information. Therefore, you only need to
%pass the document's name without the extension to
%\appname{makeglossaries}.
%For example, if your document is called \texttt{myDoc.tex},
@@ -942,6 +944,51 @@
%\appname{makeglossaries}. These are listed in
%\tableref{tab:makeglossariesCmds}.
%
+%\subsubsection{Note to Front-End and Script Developers}
+%
+%The information needed to determine whether to use \appname{xindy}
+%or \appname{makeindex} and the information needed to call those
+%applications is stored in the auxiliary file. This information can
+%be gathered by a front-end, editor or script to make the glossaries
+%where appropriate. This section describes how the information is
+%stored in the auxiliary file.
+%
+%The file extensions used by each defined glossary are given by\\[10pt]
+%\cs{@newglossary}\marg{label}\marg{log}\marg{out-ext}\marg{in-ext}\\[10pt]
+%where \meta{in-ext} is the extension of the \emph{indexing
+%application's} input file (the output file from the \sty{glossaries}
+%package's point of view), \meta{out-ext} is the extension of the
+%\emph{indexing application's} output file (the input file from
+%the \sty{glossaries} package's point of view) and \meta{log} is the
+%extension of the indexing application's transcript file. The label
+%for the glossary is also given for information purposes only, but
+%is not required by the indexing applications. For example, the
+%information for the main glossary is written as:
+%\begin{verbatim}
+%\@newglossary{main}{glg}{gls}{glo}
+%\end{verbatim}
+%
+%The indexing application's style file is specified by\\[10pt]
+%\cs{@istfilename}\marg{filename}\\[10pt]
+%The file extension indicates whether to use \appname{makeindex}
+%(\filetype{.ist}) or \appname{xindy} (\filetype{.xdy}). Note that
+%the glossary information is formatted differently depending on
+%which indexing application is supposed to be used, so it's
+%important to call the correct one.
+%
+%Word or letter ordering is specified by:\\[10pt]
+%\cs{@glsorder}\marg{order}\\[10pt]
+%where \meta{order} can be either \texttt{word} or \texttt{letter}.
+%
+%If \appname{xindy} should be used, the language and code page
+%for each glossary is specified by\\[10pt]
+%\cs{@xdylanguage}\marg{label}\marg{language}\\
+%\cs{@gls@codepage}\marg{label}\marg{code}\\[10pt]
+%where \meta{label} identifies the glossary, \meta{language} is
+%the root language (e.g.\ \texttt{english}) and \meta{code}
+%is the encoding (e.g.\ \texttt{utf8}). These commands are omitted
+%if \appname{makeindex} should be used.
+%
%\subsection{Troubleshooting}
%\label{sec:trouble}
%
@@ -1071,8 +1118,7 @@
%to appear in the table of contents, you will need an extra \LaTeX\
%run. If any of your entries cross-reference an entry that's not
%referenced in the main body of the document, you will need to
-%run \appname{makeglossaries} after the second \LaTeX\ run, followed
-%by another \LaTeX\ run.
+%run \appname{makeglossaries} (see \autoref{sec:makeglossaries}) after the second \LaTeX\ run, followed by another \LaTeX\ run.
%\end{itemize}
%
%Check the log files (\filetype{.log}, \filetype{.glg} etc) for any
@@ -1081,7 +1127,7 @@
%\item \textbf{Q.} It is possible to change the rules used to sort
%the glossary entries?
%
-%\item \textbf{A.} If it's for an individual entry, then you can
+%\textbf{A.} If it's for an individual entry, then you can
%use the entry's \gloskey{sort} key to sort it according to a
%different term. If it's for the entire alphabet, then you will need
%to use \appname{xindy} (instead of \appname{makeindex}) and use an
@@ -1094,534 +1140,7 @@
%
%\end{enumerate}
%
-%\section{A Quick Guide For The Impatient}
-%\label{sec:quick}
-%
-%This section is for people who want a few quick pointers
-%of how to get started. However it is recommended that you read
-%\autoref{sec:overview} for additional commands and advice not listed here. There are
-%also some sample files to help you get started, listed in
-%\autoref{sec:samples}. The following is a minimal example:
-%\begin{verbatim}
-% \documentclass{article}
-%
-% % Load hyperref before glossaries
-% \usepackage[colorlinks]{hyperref}
-% \usepackage[acronym, % make a separate list of acronyms
-% toc % put the glossaries into the table of contents
-% ]{glossaries}
-%
-% % Write glossary entries to external file so that they
-% % can be sorted and collated by another application.
-% \makeglossaries
-%
-% % Define an entry whose label is `xample':
-% \newglossaryentry{xample}% unique label identifying this entry
-% {% Define the attributes for this entry:
-% name=sample,% the name or term begin defined
-% description={a sample entry}% a description of this entry
-% }
-%
-% % Define an acronym whose label is `ca':
-% \newacronym{ca}% label
-% {CA}% acronym
-% {Contrived Acronym}% expanded form
-%
-% \begin{document}
-% \tableofcontents
-%
-% A \gls{xample} entry and a \gls{ca}.
-%
-% \printglossaries
-% \end{document}
-%\end{verbatim}
-%
-%\subsection{Package Order}
-%Load \sty{glossaries} \emph{after} \isty{hyperref}:
-%\begin{verbatim}
-%\usepackage{hyperref}
-%\usepackage{glossaries}
-%\end{verbatim}
-%Similarly for the \isty{html} package:
-%\begin{verbatim}
-%\usepackage{html}
-%\usepackage{glossaries}
-%\end{verbatim}
-%Likewise for \isty{babel} and \isty{translator}.
-%
-%Note that if you are using the \isty{hyperref} package and the
-%glossaries are in chapters, you may need to redefine
-%\ics{glsclearpage} to do \ics{clearpage} instead of
-%\cs{cleardoublepage} to prevent an unwanted blank page appearing
-%before the glossary:
-%\begin{verbatim}
-%\renewcommand*{\glsclearpage}{\clearpage}
-%\end{verbatim}
-%
-%\subsection{Displaying Glossaries}
-%
-%Always use \ics{makeglossaries} if you want the glossary
-%entries to be written to the glossary file:
-%\begin{verbatim}
-%\usepackage{glossaries}
-%\makeglossaries
-%\end{verbatim}
-%If you don't use \ics{makeglossaries}, your glossaries will
-%not appear in the document!
-%
-%Use \ics{printglossaries} to make your glossaries appear
-%in the document at that point. For example:
-%\begin{verbatim}
-%\maketitle
-%\printglossaries
-%\section{Introduction}
-%\end{verbatim}
-%Note that only the glossary entries that have been used in the
-%document text will appear in the glossary.
-%See \autoref{sec:printglossary} for further details.
-%
-%To add the glossaries to the table of contents use the
-%\pkgopt{toc} package option:
-%\begin{verbatim}
-%\usepackage[toc]{glossaries}
-%\end{verbatim}
-%This will require an extra \LaTeX\ run. Note that if the table
-%of contents affects the subsequent page numbering (i.e.\ the
-%page numbers are not reset after the table of contents) then you
-%may need to rerun \appname{makeglossaries} and \LaTeX.
-%
-%The font used to display the entry name in the glossary
-%is governed by \ics{glsnamefont}. This can be redefined
-%as required. For example, to make the entry names appear
-%in a medium sans-serif font do:
-%\begin{verbatim}
-%\renewcommand{\glsnamefont}[1]{\textsf{\mdseries #1}}
-%\end{verbatim}
-%Note that the list-like glossary styles place the entry name in
-%the optional argument to \ics{item}, so they will
-%appear in bold, unless you redefine \ics{glsnamefont} to counteract
-%the bold font. Similarly, the tree-like styles display the
-%entry name in bold.
-%
-%Glossary styles can be set using the \pkgopt{style}
-%package option. For example:
-%\begin{verbatim}
-%\usepackage[style=long3col]{glossaries}
-%\end{verbatim}
-%or using \ics{glossarystyle}\marg{style}. For example:
-%\begin{verbatim}
-%\glossarystyle{altlist}
-%\end{verbatim}
-%The predefined glossary styles provided by the \sty{glossaries}
-%bundle are listed in \autoref{sec:styles}.
-%
-%Each entry in the glossary has an associated list of numbers
-%indicating whereabouts in the document that entry has been used.
-%The number lists can be suppressed using package option
-%\pkgopt{nonumberlist}:
-%\begin{verbatim}
-%\usepackage[nonumberlist]{glossaries}
-%\end{verbatim}
-%See \autoref{sec:numberlists} for further details about number lists.
-%
-%If your pages have a hyphen compositor (i.e.\ your page
-%numbers appear in the form 2-1), use \ics{glsSetCompositor}
-%\emph{before} \ics{makeglossaries}:
-%\begin{verbatim}
-%\documentclass{article}
-%\usepackage{glossaries}
-%\glsSetCompositor{-}
-%\makeglossaries
-%\end{verbatim}
-%
-%By default, the glossary will appear in an unnumbered
-%chapter if chapters are defined, otherwise in an unnumbered
-%section. This can be changed using the \pkgopt{section} package
-%option. For example, to make the glossaries appear in an unnumbered
-%section, even if chapters are defined, do:
-%\begin{verbatim}
-%\usepackage[section]{glossaries}
-%\end{verbatim}
-%Other sectional units can also be specified as
-%\pkgopt{section}=\meta{value}. For example, to make the glossaries
-%appear in unnumbered subsections:
-%\begin{verbatim}
-%\usepackage[section=subsection]{glossaries}
-%\end{verbatim}
-%
-%When you have created your document, run \LaTeX\ on it,
-%then the Perl script \appname{makeglossaries}, then run \LaTeX\
-%on it again:
-%\begin{verbatim}
-%latex myfile
-%makeglossaries myfile
-%latex myfile
-%\end{verbatim}
-%(You need to run \LaTeX\ again if you have used the \pkgopt{toc}
-%package option. You may also need an extra \appname{makeglossaries}
-%run and another \LaTeX\ run if an entry is only referenced in the
-%glossary, or if including the glossary has caused the
-%number lists\iterm{number list} to change.)
-%
-%If you use Windows, there is a batch file called
-%\texttt{makeglossaries.bat} which you can use, but you will
-%still need Perl installed. Alternatively, you can call
-%\appname{makeindex} directly. See
-%\autoref{sec:makeglossaries} for
-%further details.
-%
-%If you want to use \appname{xindy} instead of
-%\appname{makeindex}, you must specify it in the package option:
-%\begin{verbatim}
-%\usepackage[xindy]{glossaries}
-%\end{verbatim}
-%See
-%\autoref{sec:makeglossaries} for
-%further details.
-%
-%\subsection{Defining Additional Glossaries}
-%
-%New glossaries can be defined using:\par
-%\ics{newglossary}\oarg{log-ext}%
-%\marg{label}\marg{in-ext}\marg{out-ext}%
-%\marg{title}\par where \meta{label} is an identifying label,
-%\meta{in-ext} is the extension of the file to be created
-%by \appname{makeindex} or \appname{xindy} (called by
-%\appname{makeglossaries}),
-%\meta{out-ext} is the extension of the file to be read by
-%\appname{makeindex} or \appname{xindy} and \meta{title} is the title for this
-%new glossary. The first optional argument \meta{log-ext} specifies
-%the extension of the \appname{makeindex} or \appname{xindy}
-%transcript file. Example:
-%\begin{verbatim}
-%\newglossary[nlg]{notation}{not}{ntn}{Notation}
-%\end{verbatim}
-%This glossary's label is \texttt{notation} and its title
-%will be Notation. If you use \appname{makeglossaries}, the
-%\appname{makeindex} or \appname{xindy} transcript will be written to a file with the
-%extension \filetype{.nlg}. If \meta{log-ext} is omitted, the extension
-%\filetype{.glg} will be used.
-%
-%Any new glossaries must be defined before
-%\ics{makeglossaries}:
-%\begin{verbatim}
-%\usepackage{glossaries}
-%\newglossary{notation}{not}{ntn}{Notation}
-%\makeglossaries
-%\end{verbatim}
-%
-%If you use the \pkgopt{acronym} package option, the
-%\sty{glossaries} package
-%will automatically create a new glossary type labelled
-%\texttt{acronym}:
-%\begin{verbatim}
-%\usepackage[acronym]{glossaries}
-%\end{verbatim}
-%
-%\subsection{Defining New Entries}
-%
-%A glossary term is defined using:\par
-%\ics{newglossaryentry}\marg{label}\marg{key-val list}\par
-%The \meta{key-val list} must at least contain a \gloskey{name}
-%key and a \gloskey{description} key.
-%For example:
-%\begin{verbatim}
-%\newglossaryentry{perl}{name=Perl,
-%description=A scripting language}
-%\end{verbatim}
-%In this example, I have given the entry the label \texttt{perl}.
-%Whenever I want to use this entry, that is the label I need
-%to use to identify it.
-%
-%Only those terms that have actually been used in the
-%document will be placed in the glossary. If you have defined
-%a term that doesn't appear in the glossary, then it means
-%you haven't used it in the text (either via \ics{glslink}
-%or \ics{gls} and related commands or via \ics{glsadd}
-%or \ics{glsaddall} or via \ics{glssee}).
-%
-%If you have multiple glossaries, use the \gloskey{type}
-%key to specify in which glossary the entry belongs. For example:
-%\begin{verbatim}
-%\newglossary{languages}{lan}{lng}{Index of Languages}
-%
-%\makeglossaries
-%
-%\newglossaryentry{perl}{name=Perl,
-%description=A scripting language,
-%type=languages}
-%\end{verbatim}
-%If \gloskey{type} is omitted, the default glossary is used.
-%
-%Remember to group values that have a comma or equal sign.
-%For example:
-%\begin{verbatim}
-%\newglossaryentry{pagelist}{name=page list,
-%description={A list of individual pages or page ranges
-%(e.g.\ 1,2,4,7--9)}}
-%\end{verbatim}
-%
-%Associated symbols can also be specified, but whether the
-%symbol appears in the glossary depends on the glossary style.
-%For example:
-%\begin{verbatim}
-%\newglossaryentry{metre}{name={metre},
-%description={A metric measurement of length},
-%symbol={m}}
-%\end{verbatim}
-%See \autoref{sec:styles} for a list of predefined glossary
-%styles.
-%
-%See \autoref{sec:newglosentry} for further details.
-%
-%\subsection{Defining Sub-Entries}
-%To define a sub-entry, use the \gloskey{parent} key. For
-%example:
-%\begin{verbatim}
-%\newglossaryentry{fruit}{name={fruit}, % parent entry
-%description={tree product that contains seeds}}
-%
-%\newglossaryentry{apple}{name={apple}, % sub-entry
-%description={firm, round fruit},
-%parent=fruit}
-%\end{verbatim}
-%
-%Sub-entries may have the same name as the parent entry:
-%\begin{verbatim}
-%\newglossaryentry{glossary}{name=glossary, % parent entry
-%description={\nopostdesc},
-%plural={glossaries}}
-%
-%\newglossaryentry{glossarylist}{% first child entry
-%description={1) list of technical words},
-%sort={1},
-%parent={glossary}}
-%
-%\newglossaryentry{glossarycol}{% second child entry
-%description={2) collection of glosses},
-%sort={2},
-%parent={glossary}}
-%\end{verbatim}
-%Note that in this instance the \gloskey{name} key is not
-%required for the child entries, but the \gloskey{sort} key is
-%needed to sort the sub-entries. The parent entry has no
-%description, so the description terminator is suppressed using
-%\ics{nopostdesc}.
-%
-%See \autoref{sec:subentries} for further details.
-%
-%\subsection{Changing the Sort Order}
-%To change the sorting order, use the \gloskey{sort} key.
-%For example:
-%\begin{verbatim}
-%\newglossaryentry{tex}{name={\TeX},
-%description={A typesetting language},
-%sort=tex}
-%\end{verbatim}
-%This will put the entry in the \dq{T} group (entries starting with
-%the letter \dq{t} or \dq{T}) rather than the
-%\dq{symbols} group (entries starting with a symbol).
-%Similarly, the following example puts the entry in the \dq{U}
-%group instead of the \dq{symbol} group.
-%\begin{verbatim}
-%\newglossaryentry{universal}{name={\ensuremath{\mathcal{U}}},
-%description=The universal set,
-%sort=U}
-%\end{verbatim}
-%
-%Unlike the old \sty{glossary} package, you don't need to escape
-%\appname{makeindex}'s special characters:
-%\begin{verbatim}
-%\newglossaryentry{quote}{name={"},
-%description={Double quote character}}
-%
-%\newglossaryentry{exclam}{name={!},
-%description={Exclamation mark}}
-%
-%\newacronym{rna}{RNA}{ribonukleins\"aure}
-%\end{verbatim}
-%
-%
-%\subsection{Accented or Non-Latin Characters}
-%If the entry name starts with an accented letter or
-%non-Latin character, you will need to group the first letter
-%(otherwise it will cause a problem for commands like \ics{Gls} and
-%\ics{Glspl}):
-%\begin{verbatim}
-%\newglossaryentry{elite}{name={{\'e}lite},
-%sort=elite,
-%description={select group or class}}
-%\end{verbatim}
-%Likewise with commands such as \cs{ae} and \cs{oe}:
-%\begin{verbatim}
-%\newglossaryentry{oesophagus}{%
-%name={{\oe}sophagus},
-%sort=oesophagus,
-%description={canal from mouth to stomach}}
-%\end{verbatim}
-%
-%If you use \appname{xindy}, you can specify the accented
-%or non-Latin character directly (in combination with the
-%\isty{inputenc} and \isty{fontenc} packages) but you still
-%need to group the first letter (otherwise it will cause a
-%problem for commands like \ics{Gls} and \ics{Glspl} due to
-%expansion issues):
-%\begin{verbatim}
-%\newglossaryentry{elite}{name={{é}lite},
-%description={select group or class}}
-%\end{verbatim}
-%Note that in this case the \gloskey{sort} key is not required
-%as \appname{xindy} knows how to sort the letter \'e.
-%
-%\subsection{Cross-Referencing Entries}
-%You can cross-reference an entry using the
-%\gloskey{see} key when you define it. For example, suppose
-%you have defined an entry whose label is \texttt{taylorstheorem},
-%then you can cross-reference it:
-%\begin{verbatim}
-%\newglossaryentry{maclaurinseries}{name={Maclaurin series},
-%description={Series expansion},
-%see={taylorstheorem}}
-%\end{verbatim}
-%Alternatively, you can use \ics{glssee} after you have defined
-%the entry:
-%\begin{verbatim}
-%\glssee{maclaurinseries}{taylorstheorem}
-%\end{verbatim}
-%(The final argument may be a comma-separated list of labels.)
-%The \dq{see} tag may be overridden for a given entry:
-%\begin{verbatim}
-%\glssee[see also]{maclaurinseries}{taylorstheorem}
-%\end{verbatim}
-%or it can be changed for all entries by redefining \ics{seename}.
-%
-%\subsection{Plurals}
-%Plural forms are assumed to be the singular form with an
-%\dq{s} appended, unless otherwise specified. To specify an
-%irregular plural, use the \gloskey{plural} key. For example:
-%\begin{verbatim}
-%\newglossaryentry{matrix}{name=matrix,
-%description=rectangular array of quantities,
-%plural=matrices}
-%\end{verbatim}
-%
-%The way the term appears in the main text can be different
-%from the way the term appears in the glossary:
-%\begin{verbatim}
-%\newglossaryentry{matrix}{name=Matrix,
-%description=rectangular array of quantities,
-%text=matrix,
-%plural=matrices}
-%\end{verbatim}
-%In this example, the entry name appears as \dq{Matrix} in the
-%glossary, and either \dq{matrix} or \dq{matrices} in the text.
-%
-%\subsection{Displaying Terms in the Document}
-%In the document use \ics{gls}\marg{label}
-%to use a term that has already been defined with
-%\ics{newglossaryentry} (this will also enter the term into
-%the associated glossary output file). For example:
-%\begin{verbatim}
-%A \gls{singmtx} is a matrix with a zero determinant.
-%\end{verbatim}
-%
-%Other variations:
-%\begin{itemize}
-%\item \ics{Gls}\marg{label} : like \cs{gls},
-%but with first letter in upper case
-%\item \ics{GLS}\marg{label} : like \cs{gls},
-%but all upper case.
-%\item \ics{glspl}\marg{label} : use plural
-%\item \ics{Glspl}\marg{label} : use plural with
-%first letter in upper case
-%\item \ics{GLSpl}\marg{label} : use plural but
-%all upper case
-%\item \ics{glslink}\marg{label}\marg{link text} :
-%use \meta{link text} to link to the given entry in the glossary.
-%\end{itemize}
-%For example, the following will produce the plural form with
-%the first letter in uppercase:
-%\begin{verbatim}
-%\Glspl{singmtx} are matrices with a zero determinant.
-%\end{verbatim}
-%
-%Additional text can be appended to the link using the
-%end optional argument. For example, to form the possessive:
-%\begin{verbatim}
-%The \gls{singmtx}['s] dimensions \ldots
-%\end{verbatim}
-%See \autoref{sec:glslink} for further details.
-%
-%Entries can be added to the glossary without producing
-%any text using \ics{glsadd}\marg{label} or
-%\ics{glsaddall}. For example
-%\begin{verbatim}
-%\glsadd{singmtx}
-%\end{verbatim}
-%will add a line to the
-%glossary file for the specified term, but will not produce
-%any text where the command occurs.
-%
-%A number range can be entered using \verb|format=(| and
-%\verb"format=)" to mark the beginning and ending of the
-%range. For example:
-%\begin{verbatim}
-% \glsadd[format=(]{singmtx}
-% This is a very long section all about \glspl{singmtx}.
-%
-% % lots of text omitted
-%
-% \glsadd[format=)]{singmtx}
-%\end{verbatim}
-%This is equivalent to \appname{makeindex}'s \verb"|(" and \verb"|)"
-%formats or \appname{xindy}'s \texttt{:open-range} and
-%\texttt{:close-range} tags.
-%
-%\subsection{Acronyms}
-%The way the term appears on \firstuse\ can be different
-%to the way it appears subsequently:
-%\begin{verbatim}
-%\newglossaryentry{singmtx}{name=Singular Matrix,
-%description=A matrix with a zero determinant,
-%first=singular matrix (SM),
-%text=SM,
-%firstplural=singular matrices (SMs)}
-%\end{verbatim}
-%In this example, the entry name appears as \dq{Singular Matrix} in
-%the glossary, and in the text it appears as \dq{singular matrix (SM)}
-%or \dq{singular matrices (SMs)} the first time the entry is used,
-%and subsequently appears as \dq{SM} or \dq{SMs}.
-%
-%The quick and easy way to define an acronym is to use:\par
-%\ics{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}%
-%\marg{long}\par
-%For example:
-%\begin{verbatim}
-%\newacronym{svm}{SVM}{support vector machine}
-%\end{verbatim}
-%This is equivalent to:
-%\begin{verbatim}
-%\newglossaryentry{svm}{type=\acronymtype,
-%name={SVM},
-%description={support vector machine},
-%text={SVM},
-%first={support vector machine (SVM)},
-%plural={SVMs},
-%firstplural={support vector machines (SVMs)}}
-%\end{verbatim}
-%(The value of \ics{acronymtype} varies depending on whether
-%the \pkgopt{acronym} package option is used or not.
-%The optional argument \meta{key-val list} can be used to
-%override any of the \ics{newglossaryentry} keys; for
-%example, if the acronym has an irregular plural.)
-%
-%You can reset an acronym with \ics{glsreset}\marg{label} so that the
-%next occurrence displays the long form with the acronym in brackets
-%as though it hadn't been used. To do this for all defined
-%terms, use \ics{glsresetall}. See
-%\autoref{sec:glsunset} for further details.
-%
-%\section{Overview of User Commands}\label{sec:overview}
+%\section{Overview of Main User Commands}\label{sec:overview}
% \changes{1.02}{2007 May 25}{added overview section}
%
%\subsection{Package Options}
@@ -1655,6 +1174,14 @@
%the glossary whose label is given by \ics{acronymtype}, unless
%another glossary is explicitly specified.
%
+%\item[\pkgopt{nomain}] This suppresses the creation of the main
+%glossary. Note that if you use this option, you must create another
+%glossary in which to put all your entries (either via the
+%\pkgopt{acronym} package option described above or via
+%\ics{newglossary} described in
+%\autoref{sec:newglossary}).
+%
+%
%\item[\pkgopt{section}] This is a \meta{key}=\meta{value} option. Its
%value should be the name of a sectional unit (e.g.\ chapter).
%This will make the glossaries appear in the named sectional unit,
@@ -1788,7 +1315,8 @@
%value is also a \meta{key}=\meta{value} list. By default, the
%\sty{glossaries} package sanitizes the values of the
%\gloskey{name}, \gloskey{description} and \gloskey{symbol} keys used
-%when defining a new glossary entry. This may lead to unexpected results
+%when defining a new glossary entry. This means that you can use
+%fragile commands in those keys, but it may lead to unexpected results
%if you try to display these values within the document text. This
%sanitization can be switched off using the \pkgopt{sanitize} package
%option. (See \autoref{sec:pkgopt} and \autoref{sec:newentry} for further details.) For example, to switch off the sanitization for the
@@ -1798,6 +1326,8 @@
%\usepackage[sanitize={name=false,description=false,%
%symbol=true}]{glossaries}
%\end{verbatim}
+%You can use \pkgopt[none]{sanitize} as a shortcut for\newline
+%\pkgoptni{sanitize=\{name=false,description=false,symbol=false\}}.
%
%\begin{important}%
%\textbf{Note}: this sanitization only applies to the \gloskey{name},
@@ -1865,6 +1395,9 @@
%is word ordering. Note that this option has no effect if you
%don't use \appname{makeglossaries}.
%
+%\item[\pkgopt{nowarn}] This suppresses all warnings generated by
+%the \sty{glossaries} package.
+%
%\end{description}
%\subsection{Defining Glossary Entries}
%\label{sec:newglosentry}
@@ -2202,8 +1735,7 @@
%\newglossaryentry{bravo}{name={bravo},
%description={\nopostdesc}}
%
-%\newglossaryentry{bravocry}{description={1) cry of approval
-%(pl.\ bravos)},
+%\newglossaryentry{bravocry}{description={1) cry of approval (pl.\ bravos)},
%sort={1},
%plural={bravos},
%parent=bravo}
@@ -2395,9 +1927,10 @@
%point and add a line into the associated glossary file for the
%glossary entry given by \meta{label}. If hyperlinks are supported,
%\meta{text} will be a hyperlink to the relevant line in the
-%glossary. The optional argument \meta{options} must be a
-%\meta{key}=\meta{value} list which can take any of the following
-%keys:
+%glossary. (Note that this command doesn't affect the \firstuseflag:
+%use \ics{glsdisp} instead.) The optional argument \meta{options}
+%must be a \meta{key}=\meta{value} list which can take any of the
+%following keys:
%
%\begin{description}
%\item[{\gloskey[glslink]{format}}] This specifies how to format the
@@ -2499,7 +2032,9 @@
%There is also a starred version:\\[10pt]
%\cs{glslink*}\oarg{options}\marg{label}\marg{text}\\[10pt]
%which is equivalent to \cs{glslink}, except it sets
-%\texttt{hyper=false}.
+%\texttt{hyper=false}. Similarly, all the following commands
+%described in this section also have a starred version that disables
+%the hyperlink.
%
%\DescribeMacro{\gls}
%The command:\\[10pt]
@@ -2547,12 +2082,13 @@
%Note that \cs{glslink} doesn't use or affect the \firstuseflag,
%nor does it use \ics{glsdisplay} or \ics{glsdisplayfirst} (see
%\autoref{sec:glsdisplay}). Instead, you can use:\\[10pt]
-%\DescribeMacro{glsdisp}
+%\DescribeMacro{\glsdisp}
%\cs{glsdisp}\oarg{options}\marg{label}\marg{link text}\\[10pt]
%This behaves in the same way as \cs{gls}, except that it uses
%\meta{link text} instead of the value of the \gloskey{first}
%or \gloskey{text} key. (Note that this command always sets
-%\meta{insert} to nothing.)
+%\meta{insert} to nothing.) This command affects the \firstuseflag,
+%and uses \ics{glsdisplay} or \ics{glsdisplayfirst}.
%
%\DescribeMacro{\glstext}The command:\\[10pt]
%\cs{glstext}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
@@ -2733,8 +2269,8 @@
%
%If you have multiple glossaries, changing \cs{glsdisplayfirst} and
%\cs{glsdisplay} will change the way entries for all of the
-%glossaries appear when using the commands \cs{gls}, \cs{glspl} and their
-%uppercase variants. If you only
+%glossaries appear when using the commands \ics{gls}, \ics{glspl}, their
+%uppercase variants and \ics{glsdisp}. If you only
%want the change to affect entries for a given glossary, then you need
%to use\\[10pt]
%\DescribeMacro{\defglsdisplay}\cs{defglsdisplay}\oarg{type}\marg{definition}\\[10pt]
@@ -2748,7 +2284,7 @@
%name supplied in the first mandatory argument to \cs{newglossary} for
%additional glossaries.} and the second is how the term should be
%displayed when it is invoked using commands \cs{gls},
-%\cs{glspl} and their uppercase variants. This is similar to the way \cs{glsdisplayfirst} was
+%\cs{glspl}, their uppercase variants and \cs{glsdisp}. This is similar to the way \cs{glsdisplayfirst} was
%redefined above.
%
%For example, suppose you have created a new glossary called
@@ -3340,7 +2876,8 @@
%\begin{verbatim}
%\newglossary{main}{gls}{glo}{\glossaryname}
%\end{verbatim}
-%so it can be identified by the label \texttt{main}. Using the
+%so it can be identified by the label \texttt{main} (unless the
+%\pkgopt{nomain} package option is used). Using the
%\pkgopt{acronym} package option is equivalent to:
%\begin{verbatim}
%\newglossary[alg]{acronym}{acr}{acn}{\acronymname}
@@ -3941,13 +3478,13 @@
%\ttfamily sublistdotted & 1 & & \\
%\ttfamily list* & 1 & \tick & \\
%\ttfamily altlist* & 1 & \tick & \\
-%\ttfamily long3col* & 1 & \tick & \\
+%\ttfamily long*3col* & 1 & \tick & \\
%\ttfamily long4col* & 1 & \tick & \tick \\
-%\ttfamily altlong4col* & 1 & \tick & \tick \\
+%\ttfamily altlong*4col* & 1 & \tick & \tick \\
%\ttfamily long* & 1 & \tick & \\
-%\ttfamily super3col* & 1 & \tick & \\
+%\ttfamily super*3col* & 1 & \tick & \\
%\ttfamily super4col* & 1 & \tick & \tick \\
-%\ttfamily altsuper4col* & 1 & \tick & \tick \\
+%\ttfamily altsuper*4col* & 1 & \tick & \tick \\
%\ttfamily super* & 1 & \tick & \\
%\ttfamily index* & 2 & & \tick\\
%\ttfamily treenoname* & --- & \tick & \tick\\
@@ -3957,17 +3494,21 @@
%\par
%\end{table}
%
-%The glossary style can be set using the \pkgopt{style} package option
-%or using the \gloskey[printglossary]{style} key in the optional
+%The glossary style can be set using the \gloskey[printglossary]{style} key in the optional
%argument to \ics{printglossary} or using the command:\\[10pt]
%\DescribeMacro{\glossarystyle}\cs{glossarystyle}\marg{style-name}\\[10pt]
+%Some of the glossary styles may also be set using the \pkgopt{style}
+%package option, it depends if the package in which they are defined
+%is automatically loaded by the \sty{glossaries} package.
+%
%The tabular-like styles that allow multi-line descriptions and page
%lists use the length \DescribeMacro{\glsdescwidth}\cs{glsdescwidth}
%to set the width of the description column and the length
%\DescribeMacro{\glspagelistwidth}\cs{glspagelistwidth} to set the
%width of the page list column.\footnote{these lengths will not be
%available if you use both the \pkgopt{nolong} and \pkgopt{nosuper}
-%package options or if you use the \pkgopt{nostyles} package option.}
+%package options or if you use the \pkgopt{nostyles} package option
+%unless you explicitly load the relevant package.}
%These will need to be changed using \cs{setlength} if the glossary
%is too wide. Note that the \glostyle{long4col} and
%\glostyle{super4col} styles (and their header and border variations)
@@ -4009,7 +3550,7 @@
%\glostyle{listdotted} style use the command
%\DescribeMacro{\glspostdescription}\cs{glspostdescription} after the
%description. This simply displays a full stop by default. To eliminate
-%this full stop (or replace it with something else, say a comma) you
+%this full stop (or replace it with something else, say, a comma) you
%will need to redefine \cs{glspostdescription} before the glossary is
%displayed. Alternatively, you can suppress it for a given entry
%by placing \ics{nopostdesc} in the entry's description.
@@ -4021,7 +3562,7 @@
%\isty{glossary-list}. Since they all use the \envname{description}
%environment, they are governed by the same parameters as that
%environment. These styles all ignore the entry's symbol. Note that
-%these styles will not be available if you use either the
+%these styles will automatically be available unless you use the
%\pkgopt{nolist} or \pkgopt{nostyles} package options.
%
%\begin{description}
@@ -4090,8 +3631,13 @@
%The styles described in this section are all defined in the package
%\isty{glossary-long}. Since they all use the \envname{longtable}
%environment, they are governed by the same parameters as that
-%environment. Note that these styles will not be available if you
-%use either the \pkgopt{nolong} or \pkgopt{nostyles} package options.
+%environment. Note that these styles will automatically be available
+%unless you use the \pkgopt{nolong} or \pkgopt{nostyles} package
+%options. These styles fully justify the description and page list
+%columns. If you want ragged right formatting instead, use the
+%analogous styles described in
+%\autoref{sec:longraggedstyles}.
+%
%
%\begin{description}
%\item[long] The \glostyle{long} style uses the \envname{longtable}
@@ -4175,18 +3721,108 @@
%descriptions and page lists.
%\end{description}
%
+%\subsubsection{Longtable Styles (Ragged Right)}
+%\label{sec:longraggedstyles}
+%
+%The styles described in this section are all defined in the package
+%\isty{glossary-longragged}. These styles are analogous to those
+%defined in \isty{glossary-long} but the multiline columns are left
+%justified instead of fully justified. Since these styles all use the
+%\envname{longtable} environment, they are governed by the same
+%parameters as that environment. The \isty{glossary-longragged}
+%package additionally requires the \isty{array} package. Note that
+%these styles will only be available if you explicitly load
+%\isty{glossary-longragged}:
+%\begin{verbatim}
+%\usepackage{glossaries}
+%\usepackage{glossary-longragged}
+%\end{verbatim}
+%Note that you can't set these styles using the \pkgopt{style}
+%package option since the styles aren't defined until after
+%the \sty{glossaries} package has been loaded.
+%
+%\begin{description}
+%\item[longragged] The \glostyle{longragged} style has two
+%columns: the first column contains the entry's name and the second
+%column contains the (left-justified) description followed by the
+%\term{number list}. The entry's symbol is ignored.
+%Sub groups are separated with a blank row. The width of the
+%first column is governed by the widest entry in that column. The
+%width of the second column is governed by the length
+%\ics{glsdescwidth}. Child entries have a similar format to the
+%parent entries except that their name is suppressed.
+%
+%\item[longraggedborder] The \glostyle{longraggedborder} style is like
+%\glostyle{longragged} but has horizontal and vertical lines around it.
+%
+%\item[longraggedheader] The \glostyle{longraggedheader} style is like
+%\glostyle{longragged} but has a header row.
+%
+%\item[longraggedheaderborder] The \glostyle{longraggedheaderborder}
+%style is like \glostyle{longraggedheader} but has horizontal and
+%vertical lines around it.
+%
+%\item[longragged3col] The \glostyle{longragged3col} style is like
+%\glostyle{longragged} but has three columns. The first column
+%contains the entry's name, the second column contains the (left
+%justified) description and the third column contains the (left
+%justified) \term{number list}. The entry's symbol is ignored. The
+%width of the first column is governed by the widest entry in that
+%column, the width of the second column is governed by the length
+%\ics{glsdescwidth}, and the width of the third column is governed by
+%the length \ics{glspagelistwidth}.
+%
+%\item[longragged3colborder] The \glostyle{longragged3colborder}
+%style is like the \glostyle{longragged3col} style but has horizontal
+%and vertical lines around it.
+%
+%\item[longragged3colheader] The \glostyle{longragged3colheader} style is like
+%\glostyle{longragged3col} but has a header row.
+%
+%\item[longragged3colheaderborder] The \glostyle{longragged3colheaderborder} style is
+%like \glostyle{longragged3colheader} but has horizontal and vertical lines
+%around it.
+%
+%\item[altlongragged4col] The \glostyle{altlongragged4col} style is
+%like \glostyle{longragged3col} but has an additional column in which
+%the entry's associated symbol appears. The width of the description
+%column is governed by the length \ics{glsdescwidth} and the width of
+%the page list column is governed by the length
+%\ics{glspagelistwidth}. The widths of the name and symbol columns
+%are governed by the widest entry in the given column.
+%
+%\item[altlongragged4colborder] The
+%\glostyle{altlongragged4colborder} style is like the
+%\glostyle{altlongragged4col} but has horizontal and vertical lines
+%around it.
+%
+%\item[altlongragged4colheader] The
+%\glostyle{altlongragged4colheader} style is like
+%\glostyle{altlongragged4col} but has a header row.
+%
+%\item[altlongragged4colheaderborder] The
+%\glostyle{altlongragged4colheaderborder} style is like
+%\glostyle{altlongragged4colheader} but has horizontal and vertical
+%lines around it.
+%
+%\end{description}
+%
%\subsubsection{Supertabular Styles}
%\label{sec:superstyles}
%
%The styles described in this section are all defined in the package
%\isty{glossary-super}. Since they all use the \envname{supertabular}
%environment, they are governed by the same parameters as that
-%environment. Note that these styles will not be available if you
-%use either the \pkgopt{nosuper} or \pkgopt{nostyles} package options.
-%In general, the \envname{longtable} environment is better, but there
-%are some circumstances where it is better to use
+%environment. Note that these styles will automatically be available
+%unless you use the \pkgopt{nosuper} or \pkgopt{nostyles} package
+%options. In general, the \envname{longtable} environment is better,
+%but there are some circumstances where it is better to use
%\envname{supertabular}.\footnote{e.g.\ with the \isty{flowfram}
-%package.}
+%package.} These styles fully justify the description and page list
+%columns. If you want ragged right formatting instead, use the
+%analogous styles described in
+%\autoref{sec:superraggedstyles}.
+%
%
%\begin{description}
%\item[super] The \glostyle{super} style uses the \envname{supertabular}
@@ -4271,15 +3907,104 @@
%descriptions and page lists.
%\end{description}
%
+%\subsubsection{Supertabular Styles (Ragged Right)}
+%\label{sec:superraggedstyles}
+%
+%The styles described in this section are all defined in the package
+%\isty{glossary-superragged}. These styles are analogous to those
+%defined in \isty{glossary-super} but the multiline columns are left
+%justified instead of fully justified. Since these styles all use the
+%\envname{supertabular} environment, they are governed by the same
+%parameters as that environment. The \isty{glossary-superragged}
+%package additionally requires the \isty{array} package. Note that
+%these styles will only be available if you explicitly load
+%\isty{glossary-superragged}:
+%\begin{verbatim}
+%\usepackage{glossaries}
+%\usepackage{glossary-superragged}
+%\end{verbatim}
+%Note that you can't set these styles using the \pkgopt{style}
+%package option since the styles aren't defined until after
+%the \sty{glossaries} package has been loaded.
+%
+%\begin{description}
+%\item[superragged] The \glostyle{superragged} style uses the
+%\envname{supertabular} environment (defined by the
+%\isty{supertabular} package). It has two columns: the first column
+%contains the entry's name and the second column contains the (left
+%justified) description followed by the \term{number list}. The
+%entry's symbol is ignored. Sub groups are separated with a blank
+%row. The width of the first column is governed by the widest entry
+%in that column. The width of the second column is governed by the
+%length \ics{glsdescwidth}. Child entries have a similar format to
+%the parent entries except that their name is suppressed.
+%
+%\item[superraggedborder] The \glostyle{superraggedborder} style is
+%like \glostyle{superragged} but has horizontal and vertical lines
+%around it.
+%
+%\item[superraggedheader] The \glostyle{superraggedheader} style is
+%like \glostyle{superragged} but has a header row.
+%
+%\item[superraggedheaderborder] The
+%\glostyle{superraggedheaderborder} style is like
+%\glostyle{superraggedheader} but has horizontal and vertical lines
+%around it.
+%
+%\item[superragged3col] The \glostyle{superragged3col} style is like
+%\glostyle{superragged} but has three columns. The first column
+%contains the entry's name, the second column contains the (left
+%justified) description and the third column contains the (left
+%justified) \term{number list}. The entry's symbol is ignored. The
+%width of the first column is governed by the widest entry in that
+%column. The width of the second column is governed by the length
+%\ics{glsdescwidth}. The width of the third column is governed by the
+%length \ics{glspagelistwidth}.
+%
+%\item[superragged3colborder] The \glostyle{superragged3colborder}
+%style is like the \glostyle{superragged3col} style but has
+%horizontal and vertical lines around it.
+%
+%\item[superragged3colheader] The \glostyle{superragged3colheader}
+%style is like \glostyle{superragged3col} but has a header row.
+%
+%\item[superragged3colheaderborder] The
+%\glostyle{superragged3colheaderborder} style is like
+%\glostyle{superragged3colheader} but has horizontal and vertical
+%lines around it.
+%
+%\item[altsuperragged4col] The \glostyle{altsuperragged4col} style is
+%like \glostyle{superragged3col} but has an additional column in
+%which the entry's associated symbol appears. The column widths for
+%the name and symbol column are governed by the widest entry in the
+%given column.
+%
+%\item[altsuperragged4colborder] The
+%\glostyle{altsuperragged4colborder} style is like the
+%\glostyle{altsuperragged4col} style but has horizontal and vertical
+%lines around it.
+%
+%\item[altsuperragged4colheader] The
+%\glostyle{altsuperragged4colheader} style is like
+%\glostyle{altsuperragged4col} but has a header row.
+%
+%\item[altsuperragged4colheaderborder] The
+%\glostyle{altsuperragged4colheaderborder} style is like
+%\glostyle{altsuperragged4colheader} but has horizontal and vertical
+%lines around it.
+%
+%\end{description}
+%
%\subsubsection{Tree-Like Styles}
%\label{sec:treestyles}
%
%The styles described in this section are all defined in the package
%\isty{glossary-tree}. These styles are designed for hierarchical
%glossaries but can also be used with glossaries that don't have
-%sub-entries. These styles will display the entry's symbol if it
-%exists. Note that these styles will not be available if you
-%use either the \pkgopt{notree} or \pkgopt{nostyles} package options.
+%sub-entries. These styles will display the entry's symbol if it
+%exists. Note that these styles will automatically be available
+%unless you use the \pkgopt{notree} or \pkgopt{nostyles} package
+%options.
%
%\begin{description}
%\item[index] The \glostyle{index} style is similar to the way
@@ -4363,7 +4088,7 @@
%define your own style using\DescribeMacro{\newglossarystyle}:\\[10pt]
%\cs{newglossarystyle}\marg{name}\marg{definitions}\\[10pt]
%where \meta{name} is the name of the new glossary style (to be
-%used in \cs{glossarystyle}). The second argument \meta{definitions},
+%used in \cs{glossarystyle}). The second argument \meta{definitions}
%needs to redefine all of the following:
%
%\begin{description}
@@ -4605,7 +4330,7 @@
%
%\item \verb|\makefirstuc{{\'a}bc}| produces \MakeUppercase{\'a}bc
%
-%\item \verb|\makefirstuc{\ae bc}| produces \MakeUppercase\ae bc
+%\item \verb|\makefirstuc{\ae bc}| produces \MakeUppercase{\ae}bc
%\item \verb|\makefirstuc{{\ae}bc}| produces \MakeUppercase{\ae}bc
%\item \verb|\makefirstuc{{ä}bc}| produces \MakeUppercase{ä}bc
%\end{itemize}
@@ -4660,7 +4385,7 @@
%
%
%
-%\section{Documented Code}
+%\section{Glossaries Documented Code}
%\iffalse
% \begin{macrocode}
%<*glossaries.sty>
@@ -4671,7 +4396,7 @@
% This package requires \LaTeXe.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries}[2009/04/16 v2.0 (NLCT)]
+\ProvidesPackage{glossaries}[2009/05/30 v2.01 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -4913,6 +4638,17 @@ false,nolabel,autolabel}[nolabel]{%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsdefmain}
+%\changes{2.01}{2009 May 30}{new}
+% Define the main glossary. This will be the first glossary to
+% be displayed when using \ics{printglossaries}.
+% \begin{macrocode}
+\newcommand*{\glsdefmain}{%
+ \newglossary{main}{gls}{glo}{\glossaryname}%
+}
+% \end{macrocode}
+%\end{macro}
+%
% Keep track of the default glossary. This is initialised to
% the main glossary, but can be changed if for some reason
% you want to make a secondary glossary the main glossary. This
@@ -4925,7 +4661,7 @@ false,nolabel,autolabel}[nolabel]{%
% new glossary entries (see \autoref{sec:load}).
%\begin{macro}{\glsdefaulttype}
% \begin{macrocode}
-\newcommand{\glsdefaulttype}{main}
+\newcommand*{\glsdefaulttype}{main}
% \end{macrocode}
%\end{macro}
% Keep track of which glossary the acronyms are in. This is
@@ -4933,10 +4669,20 @@ false,nolabel,autolabel}[nolabel]{%
% the \pkgopt{acronym} package option.
%\begin{macro}{\acronymtype}
% \begin{macrocode}
-\newcommand{\acronymtype}{\glsdefaulttype}
+\newcommand*{\acronymtype}{\glsdefaulttype}
% \end{macrocode}
%\end{macro}
%
+%\changes{2.01}{2009 May 30}{added nomain package option}
+% The \pkgopt{nomain} option suppress the creation of the main
+% glossary.
+% \begin{macrocode}
+\DeclareOptionX{nomain}{%
+ \let\glsdefaulttype\relax
+ \renewcommand*{\glsdefmain}{}%
+}
+% \end{macrocode}
+%
%\begin{macro}{acronym}
% The \pkgopt{acronym} option sets an associated conditional
% which is used in \autoref{sec:acronym} to determine whether
@@ -5224,6 +4970,30 @@ name=true]{%
}
% \end{macrocode}
%
+%\begin{macro}{\GlossariesWarning}
+% Prints a warning message.
+% \begin{macrocode}
+\newcommand*{\GlossariesWarning}[1]{%
+ \PackageWarning{glossaries}{#1}%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\GlossariesWarningNoLine}
+% Prints a warning message without the line number.
+% \begin{macrocode}
+\newcommand*{\GlossariesWarningNoLine}[1]{%
+ \PackageWarningNoLine{glossaries}{#1}%
+}
+% \end{macrocode}
+%\end{macro}
+% Define package option to suppress warnings
+% \begin{macrocode}
+\DeclareOptionX{nowarn}{%
+ \renewcommand*{\GlossariesWarning}[1]{}%
+ \renewcommand*{\GlossariesWarningNoLine}[1]{}%
+}
+% \end{macrocode}
+%
% Process package options:
% \begin{macrocode}
\ProcessOptionsX
@@ -5774,8 +5544,8 @@ name=true]{%
% \cs{glsnoxindywarning} to ignore its argument
% \begin{macrocode}
\newcommand*{\glsnoxindywarning}[1]{%
- \PackageWarning{glossaries}{Not in xindy mode --- ignoring
- \string#1}}
+ \GlossariesWarning{Not in xindy mode --- ignoring \string#1}%
+}
% \end{macrocode}
%\end{macro}
%
@@ -6179,39 +5949,42 @@ name=true]{%
%\end{macro}
%
%\subsection{Loops and conditionals}
+%\begin{macro}{\forallglossaries}
% To iterate through all glossaries (or comma-separated list of
% glossary names given in optional argument) use:\\[10pt]
% \cs{forallglossaries}\oarg{glossary list}\marg{cmd}\marg{code}\\[10pt]
% where \meta{cmd} is
% a control sequence which will be set to the name of the
% glossary in the current iteration.
-%\begin{macro}{\forallglossaries}
+%\changes{2.01}{2009 May 30}{replaced \cs{ifthenelse} with \cs{ifx}}
% \begin{macrocode}
\newcommand*{\forallglossaries}[3][\@glo@types]{%
-\@for#2:=#1\do{\ifthenelse{\equal{#2}{}}{}{#3}}}
+ \@for#2:=#1\do{\ifx#2\@empty\else#3\fi}%
+}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\forglsentries}
% To iterate through all entries in a given glossary use:\\[10pt]
%\cs{forglsentries}\oarg{type}\marg{cmd}\marg{code}\\[10pt]
%where \meta{type} is the glossary label and \meta{cmd} is a
% control sequence which will be set to the entry label in the
% current iteration.
-%\begin{macro}{\forglsentries}
+%\changes{2.01}{2009 May 30}{replaced \cs{ifthenelse} with \cs{ifx}}
% \begin{macrocode}
\newcommand*{\forglsentries}[3][\glsdefaulttype]{%
-\edef\@@glo@list{\csname glolist@#1\endcsname}%
-\@for#2:=\@@glo@list\do{%
-\ifthenelse{\equal{#2}{}}{}{#3}}}
+ \edef\@@glo@list{\csname glolist@#1\endcsname}%
+ \@for#2:=\@@glo@list\do{\ifx#2\@empty\else#3\fi}%
+}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\forallglsentries}
% To iterate through all glossary entries over all glossaries listed
% in the optional argument (the default is all glossaries) use:\\[10pt]
% \cs{forallglsentries}\oarg{glossary list}\marg{cmd}\marg{code}\\[10pt]
% Within \cs{forallglsentries}, the current glossary type
% is given by \cs{@@this@glo@}.
-%\begin{macro}{\forallglsentries}
% \begin{macrocode}
\newcommand*{\forallglsentries}[3][\@glo@types]{%
\expandafter\forallglossaries\expandafter[#1]{\@@this@glo@}{%
@@ -6219,33 +5992,34 @@ name=true]{%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\ifglossaryexists}
% To check to see if a glossary exists use:\\[10pt]
%\cs{ifglossaryexists}\marg{type}\marg{true-text}\marg{false-text}\\[10pt]
%where \meta{type} is the glossary's label.
-%\begin{macro}{\ifglossaryexists}
% \begin{macrocode}
\newcommand{\ifglossaryexists}[3]{%
-\@ifundefined{@glotype@#1@out}{#3}{#2}}
+ \@ifundefined{@glotype@#1@out}{#3}{#2}%
+}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\ifglsentryexists}
% To check to see if a glossary entry has been defined use:\\[10pt]
% \cs{ifglsentryexists}\marg{label}\marg{true text}\marg{false text}\\[10pt]
%where \meta{label} is the entry's label.
-%\begin{macro}{\ifglsentryexists}
% \begin{macrocode}
\newcommand{\ifglsentryexists}[3]{%
\@ifundefined{glo@#1@name}{#3}{#2}}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\ifglsused}
% To determine if given glossary entry has been
% used in the document text yet use:\\[10pt]
% \cs{ifglsused}\marg{label}\marg{true text}\marg{false text}\\[10pt]
% where \meta{label} is the entry's label.
% If true it will do \meta{true text}
% otherwise it will do \meta{false text}.
-%\begin{macro}{\ifglsused}
% \begin{macrocode}
\newcommand*{\ifglsused}[3]{\ifthenelse{\boolean{glo@#1@flag}}{#2}{#3}}
% \end{macrocode}
@@ -6253,26 +6027,30 @@ name=true]{%
%The following two commands will cause an error if the given
% condition fails:
%
+%\begin{macro}{\glsdoifexists}
%\cs{glsdoifexists}\marg{label}\marg{code}\par
% Generate an error if entry specified by \meta{label} doesn't
% exists, otherwise do \meta{code}.
-%\begin{macro}{\glsdoifexists}
% \begin{macrocode}
-\newcommand{\glsdoifexists}[2]{\ifglsentryexists{#1}{#2}{%
-\PackageError{glossaries}{Glossary entry `#1' has not been
-defined.}{You need to define a glossary entry before you
-can use it.}}}
+\newcommand{\glsdoifexists}[2]{%
+ \ifglsentryexists{#1}{#2}{%
+ \PackageError{glossaries}{Glossary entry `#1' has not been
+ defined}{You need to define a glossary entry before you
+ can use it.}}%
+}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsdoifnoexists}
%\cs{glsdoifnoexists}\marg{label}\marg{code}\par
% The opposite: only do second argument if the entry doesn't
% exists. Generate an error message if it exists.
-%\begin{macro}{\glsdoifnoexists}
% \begin{macrocode}
-\newcommand{\glsdoifnoexists}[2]{\ifglsentryexists{#1}{%
-\PackageError{glossaries}{Glossary entry `#1' has already
-been defined.}{}}{#2}}
+\newcommand{\glsdoifnoexists}[2]{%
+ \ifglsentryexists{#1}{%
+ \PackageError{glossaries}{Glossary entry `#1' has already
+ been defined}{}}{#2}%
+}
% \end{macrocode}
%\end{macro}
%
@@ -6308,44 +6086,51 @@ been defined.}{}}{#2}}
% \begin{macrocode}
\newcommand*{\newglossary}[5][glg]{%
\ifglossaryexists{#2}{%
-\PackageError{glossaries}{Glossary type `#2' already exists}{%
-You can't define a new glossary called `#2' because it already
-exists}%
+ \PackageError{glossaries}{Glossary type `#2' already exists}{%
+ You can't define a new glossary called `#2' because it already
+ exists}%
}{%
% \end{macrocode}
+% Check if default has been set
+% \begin{macrocode}
+ \ifx\glsdefaulttype\relax
+ \gdef\glsdefaulttype{#2}%
+ \fi
+% \end{macrocode}
% Add this to the list of glossary types:
% \begin{macrocode}
-\toks@{#2}\edef\@glo@types{\@glo@types\the\toks@,}%
+ \toks@{#2}\edef\@glo@types{\@glo@types\the\toks@,}%
% \end{macrocode}
% Define a comma-separated list of labels for this glossary type,
% so that all the entries for this glossary can be reset with a
% single command. When a new entry is created, its label is added
% to this list.
% \begin{macrocode}
-\expandafter\gdef\csname glolist@#2\endcsname{,}%
+ \expandafter\gdef\csname glolist@#2\endcsname{,}%
% \end{macrocode}
% Store details of this new glossary type:
% \begin{macrocode}
-\expandafter\def\csname @glotype@#2@in\endcsname{#3}%
-\expandafter\def\csname @glotype@#2@out\endcsname{#4}%
-\expandafter\def\csname @glotype@#2@title\endcsname{#5}%
-\protected@write\@auxout{}{\string\@newglossary{#2}{#1}{#3}{#4}}%
+ \expandafter\def\csname @glotype@#2@in\endcsname{#3}%
+ \expandafter\def\csname @glotype@#2@out\endcsname{#4}%
+ \expandafter\def\csname @glotype@#2@title\endcsname{#5}%
+ \protected@write\@auxout{}{\string\@newglossary{#2}{#1}{#3}{#4}}%
% \end{macrocode}
% How to display this entry in the document text (uses
% \cs{glsdisplay} and \cs{glsdisplayfirst} by
% default). These can be redefined by the user later if required
% (see \ics{defglsdisplay} and \ics{defglsdisplayfirst})
% \begin{macrocode}
-\expandafter\gdef\csname gls@#2@display\endcsname{%
-\glsdisplay}%
-\expandafter\gdef\csname gls@#2@displayfirst\endcsname{%
-\glsdisplayfirst}%
+ \expandafter\gdef\csname gls@#2@display\endcsname{%
+ \glsdisplay}%
+ \expandafter\gdef\csname gls@#2@displayfirst\endcsname{%
+ \glsdisplayfirst}%
% \end{macrocode}
% Find out if the final optional argument has been specified, and
% use it to set the counter associated with this glossary. (Uses
% \ics{glscounter} if no optional argument is present.)
% \begin{macrocode}
-\@ifnextchar[{\@gls@setcounter{#2}}{\@gls@setcounter{#2}[\glscounter]}}}
+ \@ifnextchar[{\@gls@setcounter{#2}}%
+ {\@gls@setcounter{#2}[\glscounter]}}}
% \end{macrocode}
%\end{macro}
% Only define new glossaries in the preamble:
@@ -6388,7 +6173,7 @@ exists}%
% Define the main glossary. This will be the first glossary to
% be displayed when using \ics{printglossaries}.
% \begin{macrocode}
-\newglossary{main}{gls}{glo}{\glossaryname}
+\glsdefmain
% \end{macrocode}
%
%\subsection{Defining new entries}\label{sec:newentry}
@@ -7271,12 +7056,16 @@ counter as its value}}{%
\setkeys{glslink}{#1}%
\edef\theglsentrycounter{\expandafter\noexpand
\csname the\@gls@counter\endcsname}%
+% \end{macrocode}
+%\changes{2.01}{2009 May 30}{moved \cs{@do@wrglossary} before term is displayed
+% to prevent unwanted whatsit}
+% \begin{macrocode}
+ \@do@wrglossary{#2}%
\ifKV@glslink@hyper
\@glslink{glo:#2}{\glstextformat{#3}}%
\else
\glstextformat{#3}\relax
\fi
- \@do@wrglossary{#2}%
}%
}
% \end{macrocode}
@@ -9816,6 +9605,7 @@ counter as its value}}{%
\else
% \end{macrocode}
% Code to use if \appname{makeindex} is required.
+%\changes{2.01}{2009 May 30}{removed item\_02 - no such makeindex key}
% \begin{macrocode}
\edef\@gls@actualchar{\string?}
\edef\@gls@encapchar{\string|}
@@ -9848,7 +9638,6 @@ counter as its value}}{%
\write\istfile{item_x1
\string"\string\\relax \string\\glsresetentrylist\string\n
\string"}
- \write\istfile{item_02 \string"\string\%\string\n\string"}
\write\istfile{item_12 \string"\string\%\string\n\string"}
\write\istfile{item_x2
\string"\string\\relax \string\\glsresetentrylist\string\n
@@ -9935,7 +9724,7 @@ using \string\makeglossary}}}
% Issue warning that \cs{makeglossaries} hasn't been used.
% \begin{macrocode}
\newcommand*{\warn@nomakeglossaries}{%
- \PackageWarningNoLine{glossaries}{\string\makeglossaries\space
+ \GlossariesWarningNoLine{\string\makeglossaries\space
hasn't been used,^^Jthe glossaries will not be updated}%
}
% \end{macrocode}
@@ -10249,9 +10038,9 @@ using \string\makeglossary}}}
% to ensure that there is a \ics{printglossary} for each defined
% glossary.)
% \begin{macrocode}
-\def\warn@noprintglossary{\PackageWarningNoLine{glossaries}{No
+\def\warn@noprintglossary{\GlossariesWarningNoLine{No
\string\printglossary\space or \string\printglossaries\space
- found.^^JThis document will not have a glossary.}}
+ found.^^JThis document will not have a glossary}}
% \end{macrocode}
%\end{macro}
%
@@ -10269,8 +10058,9 @@ using \string\makeglossary}}}
% If \cs{printglossary} is already defined, issue a warning
% and undefine it.
% \begin{macrocode}
-\PackageWarning{glossaries}{Overriding \string\printglossary}%
-\let\printglossary\undefined}
+ \GlossariesWarning{Overriding \string\printglossary}%
+ \let\printglossary\undefined
+}
% \end{macrocode}
% \cs{printglossary} has an optional argument. The default
% value is to set the glossary type to the main glossary.
@@ -10466,9 +10256,11 @@ false,nolabel,autolabel}[nolabel]{%
% This environment should be redefined by glossary styles.
% \begin{macrocode}
\@ifundefined{theglossary}{%
-\newenvironment{theglossary}{}{}}{%
-\PackageWarning{glossaries}{overriding `theglossary' environment}%
-\renewenvironment{theglossary}{}{}}
+ \newenvironment{theglossary}{}{}%
+}{%
+ \GlossariesWarning{overriding `theglossary' environment}%
+ \renewenvironment{theglossary}{}{}%
+}
% \end{macrocode}
%
% The glossary header is given by \cs{glossaryheader}.
@@ -10821,7 +10613,7 @@ style `#1' undefined}{}}{%
% \end{macrocode}
%and \ics{acronymtype} is set to the name of this new glossary.
% \begin{macrocode}
- \renewcommand{\acronymtype}{acronym}
+ \renewcommand*{\acronymtype}{acronym}
% \end{macrocode}
% In the event that the user redefines \ics{glsdisplay}
% and \ics{glsdisplayfirst}, the relevant commands for
@@ -12003,10 +11795,10 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
% \end{macrocode}
% This group was not included in the list, so issue a warning.
% \begin{macrocode}
- \PackageWarningNoLine{glossaries}{Navigation panel
+ \GlossariesWarningNoLine{Navigation panel
for glossary type `#1'^^Jmissing group `#2'}%
\gdef\gls@hypergrouprerun{%
- \PackageWarningNoLine{glossaries}{Navigation panel
+ \GlossariesWarningNoLine{Navigation panel
has changed. Rerun LaTeX}}%
\fi
}
@@ -12106,7 +11898,7 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
% \ics{item} command, it will appear in a bold font by
% default.
% \begin{macrocode}
-\ProvidesPackage{glossary-list}[2009/01/14 v1.05 (NLCT)]
+\ProvidesPackage{glossary-list}[2009/05/30 v2.01 (NLCT)]
% \end{macrocode}
%\begin{macro}{list}
% The \glostyle{list} glossary style
@@ -12286,9 +12078,10 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
% \end{macrocode}
%\end{macro}
%\begin{macro}{\glslistdottedwidth}
+%\changes{2.01}{2009 May 30}{changed \cs{linewidth} to \cs{hsize}}
% \begin{macrocode}
\newlength\glslistdottedwidth
-\setlength{\glslistdottedwidth}{.5\linewidth}
+\setlength{\glslistdottedwidth}{.5\hsize}
% \end{macrocode}
%\end{macro}
%
@@ -12324,7 +12117,7 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
% The glossary styles defined in the \isty{glossary-long} package
% used the \envname{longtable} environment in the glossary.
% \begin{macrocode}
-\ProvidesPackage{glossary-long}[2009/01/14 v1.03 (NLCT)]
+\ProvidesPackage{glossary-long}[2009/05/30 v2.01 (NLCT)]
% \end{macrocode}
% Requires the \isty{longtable} package:
% \begin{macrocode}
@@ -12336,20 +12129,22 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
% and then load \isty{glossary-long} later, in which case
% \cs{glsdescwidth} may have already been defined by
% \isty{glossary-super}. The same goes for \cs{glspagelistwidth}.)
+%\changes{2.01}{2009 May 30}{changed \cs{linewidth} to \cs{hsize}}
% \begin{macrocode}
\@ifundefined{glsdescwidth}{%
\newlength\glsdescwidth
- \setlength{\glsdescwidth}{0.6\linewidth}
+ \setlength{\glsdescwidth}{0.6\hsize}
}{}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\glspagelistwidth}
% This is a length that governs the width of the page list column.
+%\changes{2.01}{2009 May 30}{changed \cs{linewidth} to \cs{hsize}}
% \begin{macrocode}
\@ifundefined{glspagelistwidth}{%
\newlength\glspagelistwidth
- \setlength{\glspagelistwidth}{0.1\linewidth}
+ \setlength{\glspagelistwidth}{0.1\hsize}
}{}
% \end{macrocode}
%\end{macro}
@@ -12749,6 +12544,385 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
%\fi
%\iffalse
% \begin{macrocode}
+%<*glossary-longragged.sty>
+% \end{macrocode}
+%\fi
+% \subsection{Glossary Styles using longtable (the glossary-longragged
+% package)}
+% The glossary styles defined in the \isty{glossary-longragged} package
+% used the \envname{longtable} environment in the glossary and use
+% ragged right formatting for the multiline columns.
+% \begin{macrocode}
+\ProvidesPackage{glossary-longragged}[2009/05/30 v2.01 (NLCT)]
+% \end{macrocode}
+% Requires the \isty{array} package:
+% \begin{macrocode}
+\RequirePackage{array}
+% \end{macrocode}
+% Requires the \isty{longtable} package:
+% \begin{macrocode}
+\RequirePackage{longtable}
+% \end{macrocode}
+%\begin{macro}{\glsdescwidth}
+% This is a length that governs the width of the description column.
+% This may have already been defined.
+% \begin{macrocode}
+\@ifundefined{glsdescwidth}{%
+ \newlength\glsdescwidth
+ \setlength{\glsdescwidth}{0.6\hsize}
+}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glspagelistwidth}
+% This is a length that governs the width of the page list column.
+% This may already have been defined.
+% \begin{macrocode}
+\@ifundefined{glspagelistwidth}{%
+ \newlength\glspagelistwidth
+ \setlength{\glspagelistwidth}{0.1\hsize}
+}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longragged}
+% The \glostyle{longragged} glossary style is like the
+% \glostyle{long} but uses ragged right formatting for the
+% description column.
+% \begin{macrocode}
+\newglossarystyle{longragged}{%
+% \end{macrocode}
+% Use \envname{longtable} with two columns:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% Do nothing at the start of the environment:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{}%
+% \end{macrocode}
+% No heading between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupheading}[1]{}%
+% \end{macrocode}
+% Main (level 0) entries displayed in a row:
+% \begin{macrocode}
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \glstarget{##1}{##2} & ##3\glspostdescription\space ##5%
+ \tabularnewline}%
+% \end{macrocode}
+% Sub entries displayed on the following row without the name:
+% \begin{macrocode}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ & \glstarget{##2}{\strut}##4\glspostdescription\space ##6%
+ \tabularnewline}%
+% \end{macrocode}
+% Blank row between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupskip}{ & \tabularnewline}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longraggedborder}
+% The \glostyle{longraggedborder} style is like the above, but with horizontal and
+% vertical lines:
+% \begin{macrocode}
+\newglossarystyle{longraggedborder}{%
+% \end{macrocode}
+% Base it on the glostyle{longragged} style:
+% \begin{macrocode}
+ \glossarystyle{longragged}%
+% \end{macrocode}
+% Use \envname{longtable} with two columns with vertical lines
+% between each column:
+% \begin{macrocode}
+ \renewenvironment{theglossary}{%
+ \begin{longtable}{|l|>{\raggedright}p{\glsdescwidth}|}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% Place horizontal lines at the head and foot of the table:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{\hline\endhead\hline\endfoot}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longraggedheader}
+% The \glostyle{longraggedheader} style is like the
+% \glostyle{longragged} style but with a header:
+% \begin{macrocode}
+\newglossarystyle{longraggedheader}{%
+% \end{macrocode}
+% Base it on the glostyle{longragged} style:
+% \begin{macrocode}
+ \glossarystyle{longragged}%
+% \end{macrocode}
+% Set the table's header:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{%
+ \bfseries \entryname & \bfseries \descriptionname
+ \tabularnewline\endhead}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longraggedheaderborder}
+% The \glostyle{longraggedheaderborder} style is
+% like the \glostyle{longragged} style but with a header and border:
+% \begin{macrocode}
+\newglossarystyle{longraggedheaderborder}{%
+% \end{macrocode}
+% Base it on the glostyle{longraggedborder} style:
+% \begin{macrocode}
+ \glossarystyle{longraggedborder}%
+% \end{macrocode}
+% Set the table's header and add horizontal line to table's foot:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{%
+ \hline\bfseries \entryname & \bfseries \descriptionname
+ \tabularnewline\hline
+ \endhead
+ \hline\endfoot}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longragged3col}
+% The \glostyle{longragged3col} style is like \glostyle{longragged} but with 3 columns
+% \begin{macrocode}
+\newglossarystyle{longragged3col}{%
+% \end{macrocode}
+% Use a \envname{longtable} with 3 columns:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% No table header:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{}%
+% \end{macrocode}
+% No headings between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupheading}[1]{}%
+% \end{macrocode}
+% Main (level 0) entries on a row (name in first column,
+% description in second column, page list in last column):
+% \begin{macrocode}
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \glstarget{##1}{##2} & ##3 & ##5\tabularnewline}%
+% \end{macrocode}
+% Sub-entries on a separate row (no name, description in
+% second column, page list in third column):
+% \begin{macrocode}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ & \glstarget{##2}{\strut}##4 & ##6\tabularnewline}%
+% \end{macrocode}
+% Blank row between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupskip}{ & &\tabularnewline}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longragged3colborder}
+% The \glostyle{longragged3colborder} style is like the
+% \glostyle{longragged3col} style but with a border:
+% \begin{macrocode}
+\newglossarystyle{longragged3colborder}{%
+% \end{macrocode}
+% Base it on the glostyle{longragged3col} style:
+% \begin{macrocode}
+ \glossarystyle{longragged3col}%
+% \end{macrocode}
+% Use a \envname{longtable} with 3 columns with vertical lines
+% around them:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{|l|>{\raggedright}p{\glsdescwidth}|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% Place horizontal lines at the head and foot of the table:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{\hline\endhead\hline\endfoot}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longragged3colheader}
+% The \glostyle{longragged3colheader} style is like \glostyle{longragged3col} but with a header row:
+% \begin{macrocode}
+\newglossarystyle{longragged3colheader}{%
+% \end{macrocode}
+% Base it on the glostyle{longragged3col} style:
+% \begin{macrocode}
+ \glossarystyle{longragged3col}%
+% \end{macrocode}
+% Set the table's header:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{%
+ \bfseries\entryname&\bfseries\descriptionname&
+ \bfseries\pagelistname\tabularnewline\endhead}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{longragged3colheaderborder}
+% The \glostyle{longragged3colheaderborder} style is like the above but with a border
+% \begin{macrocode}
+\newglossarystyle{longragged3colheaderborder}{%
+% \end{macrocode}
+% Base it on the glostyle{longragged3colborder} style:
+% \begin{macrocode}
+ \glossarystyle{longragged3colborder}%
+% \end{macrocode}
+% Set the table's header and add horizontal line at table's foot:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{%
+ \hline
+ \bfseries\entryname&\bfseries\descriptionname&
+ \bfseries\pagelistname\tabularnewline\hline\endhead
+ \hline\endfoot}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altlongragged4col}
+% The \glostyle{altlongragged4col} style is like the \glostyle{altlong4col}
+% style defined in the \isty{glossary-long} package, except that
+% ragged right formatting is used for the description and page list
+% columns.
+% \begin{macrocode}
+\newglossarystyle{altlongragged4col}{%
+% \end{macrocode}
+% Use a \envname{longtable} with 4 columns where the second and
+% last columns may have multiple lines in each row:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}l%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% No table header:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{}%
+% \end{macrocode}
+% No group headings:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupheading}[1]{}%
+% \end{macrocode}
+% Main (level 0) entries on a single row (name in first column,
+% description in second column, symbol in third column, page list
+% in last column):
+% \begin{macrocode}
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \glstarget{##1}{##2} & ##3 & ##4 & ##5\tabularnewline}%
+% \end{macrocode}
+% Sub entries on a single row with no name (description in second
+% column, symbol in third column, page list in last column):
+% \begin{macrocode}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ & \glstarget{##2}{\strut}##4 & ##5 & ##6\tabularnewline}%
+% \end{macrocode}
+% Blank row between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupskip}{ & & &\tabularnewline}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altlongragged4colheader}
+% The \glostyle{altlongragged4colheader} style is like
+% \glostyle{altlongragged4col} but with a header row.
+% \begin{macrocode}
+\newglossarystyle{altlongragged4colheader}{%
+% \end{macrocode}
+% Base it on the glostyle{altlongragged4col} style:
+% \begin{macrocode}
+ \glossarystyle{altlongragged4col}%
+% \end{macrocode}
+% Use a \envname{longtable} with 4 columns where the second and
+% last columns may have multiple lines in each row:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}l%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% Table has a header:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{%
+ \bfseries\entryname&\bfseries\descriptionname&
+ \bfseries \symbolname&
+ \bfseries\pagelistname\tabularnewline\endhead}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altlongragged4colborder}
+% The \glostyle{altlongragged4colborder} style is like
+% \glostyle{altlongragged4col} but with a border.
+% \begin{macrocode}
+\newglossarystyle{altlongragged4colborder}{%
+% \end{macrocode}
+% Base it on the glostyle{altlongragged4col} style:
+% \begin{macrocode}
+ \glossarystyle{altlongragged4col}%
+% \end{macrocode}
+% Use a \envname{longtable} with 4 columns where the second and
+% last columns may have multiple lines in each row:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{|l|>{\raggedright}p{\glsdescwidth}|l|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% Add horizontal lines to the head and foot of the table:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{\hline\endhead\hline\endfoot}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altlongragged4colheaderborder}
+% The \glostyle{altlongragged4colheaderborder} style is like the above but
+% with a header as well as a border.
+% \begin{macrocode}
+\newglossarystyle{altlongragged4colheaderborder}{%
+% \end{macrocode}
+% Base it on the glostyle{altlongragged4col} style:
+% \begin{macrocode}
+ \glossarystyle{altlongragged4col}%
+% \end{macrocode}
+% Use a \envname{longtable} with 4 columns where the second and
+% last columns may have multiple lines in each row:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\begin{longtable}{|l|>{\raggedright}p{\glsdescwidth}|l|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{longtable}}%
+% \end{macrocode}
+% Add table header and horizontal line at the table's foot:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{%
+ \hline\bfseries\entryname&\bfseries\descriptionname&
+ \bfseries \symbolname&
+ \bfseries\pagelistname\tabularnewline\hline\endhead
+ \hline\endfoot}%
+}
+% \end{macrocode}
+%\end{macro}
+%\iffalse
+% \begin{macrocode}
+%</glossary-longragged.sty>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*glossary-super.sty>
% \end{macrocode}
%\fi
@@ -12756,7 +12930,7 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
% The glossary styles defined in the \isty{glossary-super} package
% use the \envname{supertabular} environment.
% \begin{macrocode}
-\ProvidesPackage{glossary-super}[2009/01/14 v1.03 (NLCT)]
+\ProvidesPackage{glossary-super}[2009/05/30 v2.01 (NLCT)]
% \end{macrocode}
% Requires the \isty{supertabular} package:
% \begin{macrocode}
@@ -12765,11 +12939,12 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
%\begin{macro}{\glsdescwidth}
% This is a length that governs the width of the description column.
% This may already have been defined if \isty{glossary-long}
-% has been loaded.
+% has been loaded.\changes{2.01}{2009 May 30}{changed \cs{linewidth}
+% to \cs{hsize}}
% \begin{macrocode}
\@ifundefined{glsdescwidth}{%
\newlength\glsdescwidth
- \setlength{\glsdescwidth}{0.6\linewidth}
+ \setlength{\glsdescwidth}{0.6\hsize}
}{}
% \end{macrocode}
%\end{macro}
@@ -12777,11 +12952,12 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
%\begin{macro}{\glspagelistwidth}
% This is a length that governs the width of the page list column.
% This may already have been defined if \isty{glossary-long}
-% has been loaded.
+% has been loaded.\changes{2.01}{2009 May 30}{changed \cs{linewidth}
+% to \cs{hsize}}
% \begin{macrocode}
\@ifundefined{glspagelistwidth}{%
\newlength\glspagelistwidth
- \setlength{\glspagelistwidth}{0.1\linewidth}
+ \setlength{\glspagelistwidth}{0.1\hsize}
}{}
% \end{macrocode}
%\end{macro}
@@ -13217,6 +13393,397 @@ firstplural={\@glo@descplural\space (\@glo@plural)},%
%\fi
%\iffalse
% \begin{macrocode}
+%<*glossary-superragged.sty>
+% \end{macrocode}
+%\fi
+% \subsection{Glossary Styles using supertabular environment (glossary-superragged package)}
+% The glossary styles defined in the \isty{glossary-superragged}
+% package use the \envname{supertabular} environment. These styles
+% are like those provided by the \isty{glossary-super} package,
+% except that the multiline columns have ragged right justification.
+% \begin{macrocode}
+\ProvidesPackage{glossary-superragged}[2009/05/30 v2.01 (NLCT)]
+% \end{macrocode}
+% Requires the \isty{array} package:
+% \begin{macrocode}
+\RequirePackage{array}
+% \end{macrocode}
+% Requires the \isty{supertabular} package:
+% \begin{macrocode}
+\RequirePackage{supertabular}
+% \end{macrocode}
+%\begin{macro}{\glsdescwidth}
+% This is a length that governs the width of the description column.
+% This may already have been defined.
+% \begin{macrocode}
+\@ifundefined{glsdescwidth}{%
+ \newlength\glsdescwidth
+ \setlength{\glsdescwidth}{0.6\hsize}
+}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glspagelistwidth}
+% This is a length that governs the width of the page list column.
+% This may already have been defined.
+% \begin{macrocode}
+\@ifundefined{glspagelistwidth}{%
+ \newlength\glspagelistwidth
+ \setlength{\glspagelistwidth}{0.1\hsize}
+}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superragged}
+% The \glostyle{superragged} glossary style uses the
+% \envname{supertabular} environment.
+% \begin{macrocode}
+\newglossarystyle{superragged}{%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% two columns and no head or tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{}\tabletail{}%
+ \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}}}%
+ {\end{supertabular}}%
+% \end{macrocode}
+% Do nothing at the start of the table:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{}%
+% \end{macrocode}
+% No group headings:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupheading}[1]{}%
+% \end{macrocode}
+% Main (level 0) entries put in a row (name in first column,
+% description and page list in second column):
+% \begin{macrocode}
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \glstarget{##1}{##2} & ##3\glspostdescription\space ##5%
+ \tabularnewline}%
+% \end{macrocode}
+% Sub entries put in a row (no name, description and page list
+% in second column):
+% \begin{macrocode}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ & \glstarget{##2}{\strut}##4\glspostdescription\space ##6%
+ \tabularnewline}%
+% \end{macrocode}
+% Blank row between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupskip}{ & \tabularnewline}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superraggedborder}
+% The \glostyle{superraggedborder} style is like the above, but with
+% horizontal and vertical lines:
+% \begin{macrocode}
+\newglossarystyle{superraggedborder}{%
+% \end{macrocode}
+% Base it on the glostyle{superragged} style:
+% \begin{macrocode}
+ \glossarystyle{superragged}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% two columns and a horizontal line in the head and tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\hline}\tabletail{\hline}%
+ \begin{supertabular}{|l|>{\raggedright}p{\glsdescwidth}|}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superraggedheader}
+% The \glostyle{superraggedheader} style is like the
+% \glostyle{super} style, but with a header:
+% \begin{macrocode}
+\newglossarystyle{superraggedheader}{%
+% \end{macrocode}
+% Base it on the glostyle{superragged} style:
+% \begin{macrocode}
+ \glossarystyle{superragged}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% two columns, a header and no tail:
+% \begin{macrocode}
+\renewenvironment{theglossary}%
+ {\tablehead{\bfseries \entryname & \bfseries \descriptionname
+ \tabularnewline}%
+ \tabletail{}%
+ \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superraggedheaderborder}
+% The \glostyle{superraggedheaderborder} style is like
+% the \glostyle{superragged} style but with a header and border:
+% \begin{macrocode}
+\newglossarystyle{superraggedheaderborder}{%
+% \end{macrocode}
+% Base it on the glostyle{super} style:
+% \begin{macrocode}
+ \glossarystyle{superragged}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% two columns, a header and horizontal lines above and below the
+% table:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\hline\bfseries \entryname &
+ \bfseries \descriptionname\tabularnewline\hline}%
+ \tabletail{\hline}
+ \begin{supertabular}{|l|>{\raggedright}p{\glsdescwidth}|}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superragged3col}
+% The \glostyle{superragged3col} style is like the \glostyle{superragged}
+% style, but with 3 columns:
+% \begin{macrocode}
+\newglossarystyle{superragged3col}{%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% three columns and no head or tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{}\tabletail{}%
+ \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{supertabular}}%
+% \end{macrocode}
+% Do nothing at the start of the table:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{}%
+% \end{macrocode}
+% No group headings:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupheading}[1]{}%
+% \end{macrocode}
+% Main (level 0) entries on a row (name in first column,
+% description in second column, page list in last column):
+% \begin{macrocode}
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \glstarget{##1}{##2} & ##3 & ##5\tabularnewline}%
+% \end{macrocode}
+% Sub entries on a row (no name, description in second column,
+% page list in last column):
+% \begin{macrocode}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ & \glstarget{##2}{\strut}##4 & ##6\tabularnewline}%
+% \end{macrocode}
+% Blank row between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupskip}{ & &\tabularnewline}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superragged3colborder}
+% The \glostyle{superragged3colborder} style is like the
+% \glostyle{superragged3col} style, but with a border:
+% \begin{macrocode}
+\newglossarystyle{superragged3colborder}{%
+% \end{macrocode}
+% Base it on the glostyle{superragged3col} style:
+% \begin{macrocode}
+ \glossarystyle{superragged3col}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% three columns and a horizontal line in the head and tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\hline}\tabletail{\hline}%
+ \begin{supertabular}{|l|>{\raggedright}p{\glsdescwidth}|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superragged3colheader}
+% The \glostyle{superragged3colheader} style is like
+% the \glostyle{superragged3col} style but with a header row:
+% \begin{macrocode}
+\newglossarystyle{superragged3colheader}{%
+% \end{macrocode}
+% Base it on the glostyle{superragged3col} style:
+% \begin{macrocode}
+ \glossarystyle{superragged3col}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% three columns, a header and no tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\bfseries\entryname&\bfseries\descriptionname&
+ \bfseries\pagelistname\tabularnewline}\tabletail{}%
+ \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{superraggedright3colheaderborder}
+% The \glostyle{superragged3colheaderborder} style is like
+% the \glostyle{superragged3col} style but with a header and border:
+% \begin{macrocode}
+\newglossarystyle{superragged3colheaderborder}{%
+% \end{macrocode}
+% Base it on the glostyle{superragged3colborder} style:
+% \begin{macrocode}
+ \glossarystyle{superragged3colborder}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% three columns, a header with horizontal lines and a horizontal
+% line in the tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\hline
+ \bfseries\entryname&\bfseries\descriptionname&
+ \bfseries\pagelistname\tabularnewline\hline}%
+ \tabletail{\hline}%
+ \begin{supertabular}{|l|>{\raggedright}p{\glsdescwidth}|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altsuperragged4col}
+% The \glostyle{altsuperragged4col} glossary style is like
+% \glostyle{altsuper4col} style in the \isty{glossary-super}
+% package but uses ragged right formatting in the description
+% and page list columns.
+% \begin{macrocode}
+\newglossarystyle{altsuperragged4col}{%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% four columns and no head or tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{}\tabletail{}%
+ \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}l%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{supertabular}}%
+% \end{macrocode}
+% Do nothing at the start of the table:
+% \begin{macrocode}
+ \renewcommand*{\glossaryheader}{}%
+% \end{macrocode}
+% No group headings:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupheading}[1]{}%
+% \end{macrocode}
+% Main (level 0) entries on a row with the name in the first
+% column, description in second column, symbol in third column
+% and page list in last column:
+% \begin{macrocode}
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \glstarget{##1}{##2} & ##3 & ##4 & ##5\tabularnewline}%
+% \end{macrocode}
+% Sub entries on a row with no name, the description in the second% column, symbol in third column and page list in last column:
+% \begin{macrocode}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ & \glstarget{##2}{\strut}##4 & ##5 & ##6\tabularnewline}%
+% \end{macrocode}
+% Blank row between groups:
+% \begin{macrocode}
+ \renewcommand*{\glsgroupskip}{ & & &\tabularnewline}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altsuperragged4colheader}
+% The \glostyle{altsuperragged4colheader} style is like
+% the \glostyle{altsuperragged4col} style but with a header row.
+% \begin{macrocode}
+\newglossarystyle{altsuperragged4colheader}{%
+% \end{macrocode}
+% Base it on the glostyle{altsuperragged4col} style:
+% \begin{macrocode}
+ \glossarystyle{altsuperragged4col}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% four columns, a header and no tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\bfseries\entryname&\bfseries\descriptionname&
+ \bfseries\symbolname &
+ \bfseries\pagelistname\tabularnewline}\tabletail{}%
+ \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}l%
+ >{\raggedright}p{\glspagelistwidth}}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altsuperragged4colborder}
+% The \glostyle{altsuperragged4colborder} style is like
+% the \glostyle{altsuperragged4col} style but with a border.
+% \begin{macrocode}
+\newglossarystyle{altsuperragged4colborder}{%
+% \end{macrocode}
+% Base it on the glostyle{altsuperragged4col} style:
+% \begin{macrocode}
+ \glossarystyle{altsuper4col}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% four columns and a horizontal line in the head and tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\hline}\tabletail{\hline}%
+ \begin{supertabular}%
+ {|l|>{\raggedright}p{\glsdescwidth}|l|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{altsuperragged4colheaderborder}
+% The \glostyle{altsuperragged4colheaderborder} style is like
+% the \glostyle{altsuperragged4col} style but with a header and border.
+% \begin{macrocode}
+\newglossarystyle{altsuperragged4colheaderborder}{%
+% \end{macrocode}
+% Base it on the glostyle{altsuperragged4col} style:
+% \begin{macrocode}
+ \glossarystyle{altsuperragged4col}%
+% \end{macrocode}
+% Put the glossary in a \envname{supertabular} environment with
+% four columns and a header bordered by horizontal lines and
+% a horizontal line in the tail:
+% \begin{macrocode}
+ \renewenvironment{theglossary}%
+ {\tablehead{\hline
+ \bfseries\entryname &
+ \bfseries\descriptionname &
+ \bfseries\symbolname &
+ \bfseries\pagelistname\tabularnewline\hline}%
+ \tabletail{\hline}%
+ \begin{supertabular}%
+ {|l|>{\raggedright}p{\glsdescwidth}|l|%
+ >{\raggedright}p{\glspagelistwidth}|}}%
+ {\end{supertabular}}%
+}
+% \end{macrocode}
+%\end{macro}
+%\iffalse
+% \begin{macrocode}
+%</glossary-superragged.sty>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*glossary-tree.sty>
% \end{macrocode}
%\fi
@@ -14877,7 +15444,7 @@ First use: \glspl{aca}. Second use: \glspl{aca}.
\documentclass[a4paper]{report}
\usepackage[plainpages=false,colorlinks]{hyperref}
-\usepackage[toc,style=treenoname,order=word]{glossaries}
+\usepackage[toc,style=treenoname,order=word,acronym]{glossaries}
\makeglossaries