diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/glossaries/glossaries.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/glossaries/glossaries.dtx | 1871 |
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 |