diff options
author | Karl Berry <karl@freefriends.org> | 2006-07-26 22:34:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-07-26 22:34:14 +0000 |
commit | 0887c6f2b1a0b1727a1643ca172ddc574d750358 (patch) | |
tree | 14e3a8aff4d0b88d0de98b925306339fd1f69d92 /Master | |
parent | f57cd96021c2285b8b7eb58e72727a82be147b49 (diff) |
glossary 2.4 (26jul06)
git-svn-id: svn://tug.org/texlive/trunk@1927 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
17 files changed, 3228 insertions, 2266 deletions
diff --git a/Master/texmf-dist/doc/latex/glossary/CHANGES b/Master/texmf-dist/doc/latex/glossary/CHANGES index d3b795cf21f..05691178dea 100644 --- a/Master/texmf-dist/doc/latex/glossary/CHANGES +++ b/Master/texmf-dist/doc/latex/glossary/CHANGES @@ -1,5 +1,23 @@ glossary.sty history: + * Version 2.4: fixed problems caused by \@sanitize. + Extended package option "number" to be used with + any counter (not just page or section). Added + number key to \setglossarystyle. Removed + some redundant code. Fixed problems caused with + hyperlinks when using a mixture of counters for + individual entries. Added extra \hyper<xx> page + formats. Added hook to provide a sub header when + using a tabular style glossary. Added means of + specifying a column header for page list column. + Added facility to insert text between groups. + Fixed bug in documentation when omitting \OnlyDescription + + *** Note that if you update to version 2.4, it *** + *** is advisable to delete your .gls etc files *** + *** before recompiling. *** + + * Version 2.38: fixed by where inappropriate spaces are inserted when using xspace package. diff --git a/Master/texmf-dist/doc/latex/glossary/README b/Master/texmf-dist/doc/latex/glossary/README index 976a19f6743..77fea0e17b2 100644 --- a/Master/texmf-dist/doc/latex/glossary/README +++ b/Master/texmf-dist/doc/latex/glossary/README @@ -1,6 +1,6 @@ -LaTeX Package : glossary v 2.38
+LaTeX Package : glossary v 2.4
-Last Modified : 9th July 2006
+Last Modified : 20th July 2006
Author : Nicola Talbot
diff --git a/Master/texmf-dist/doc/latex/glossary/glossary.pdf b/Master/texmf-dist/doc/latex/glossary/glossary.pdf Binary files differindex b9251bbad73..e74d20b2161 100644 --- a/Master/texmf-dist/doc/latex/glossary/glossary.pdf +++ b/Master/texmf-dist/doc/latex/glossary/glossary.pdf diff --git a/Master/texmf-dist/doc/latex/glossary/makeglos.pl b/Master/texmf-dist/doc/latex/glossary/makeglos.pl index 456001bc7fb..0b3cb56f008 100644 --- a/Master/texmf-dist/doc/latex/glossary/makeglos.pl +++ b/Master/texmf-dist/doc/latex/glossary/makeglos.pl @@ -2,7 +2,7 @@ # File : makeglos # Author : Nicola Talbot -# Version : 1.4 (2005/11/19) +# Version : 1.5 (2006/07/20) # Description: simple Perl script that calls makeindex. # Intended for use with "glossary.sty" (saves having to remember # all the various switches) @@ -40,7 +40,10 @@ else $name = @ARGV[0]; } +$istfile = "$name.ist"; + # check log file for other glossary types +# and for ist file name if (open AUXFILE, "$name.aux") { @@ -57,6 +60,11 @@ if (open AUXFILE, "$name.aux") print "added glossary type '$2' ($3,$4,$1)\n"; } } + + if (m/\\\@istfilename\s*{([^}]*)}/) + { + $istfile = $1; + } } close AUXFILE; @@ -105,11 +113,7 @@ unless ($opt_p eq "") $mkidxopts .= " -p $opt_p"; } -if ($opt_s eq "") -{ - $istfile = "$name.ist"; -} -else +unless ($opt_s eq "") { $istfile = $opt_s; } diff --git a/Master/texmf-dist/doc/latex/glossary/manual.html b/Master/texmf-dist/doc/latex/glossary/manual.html index 2f01d8d2b57..5cd4cdb85d9 100644 --- a/Master/texmf-dist/doc/latex/glossary/manual.html +++ b/Master/texmf-dist/doc/latex/glossary/manual.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> -<TITLE>glossary.sty v 2.38: LaTeX2e Package to Assist Generating Glossaries</TITLE> -<META NAME="description" CONTENT="glossary.sty v 2.38: LaTeX2e Package to Assist Generating Glossaries"> +<TITLE>glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries</TITLE> +<META NAME="description" CONTENT="glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries"> <META NAME="keywords" CONTENT="manual"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> @@ -23,11 +23,11 @@ original version by: Nikos Drakos, CBLU, University of Leeds <P> - <H1 ALIGN="CENTER">glossary.sty v 2.38: LaTeX2e Package to Assist Generating Glossaries</H1> + <H1 ALIGN="CENTER">glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries</H1> <DIV> <P ALIGN="CENTER"><STRONG>Nicola L.C. Talbot</STRONG></P> -<P ALIGN="CENTER"><STRONG>9th July 2006</STRONG></P> +<P ALIGN="CENTER"><STRONG>20th July 2006</STRONG></P> </DIV> <BR> @@ -37,57 +37,57 @@ Contents</A> <!--Table of Contents--> <UL> -<LI><A NAME="tex2html31" - HREF="manual.html#SECTION00020000000000000000">Introduction</A> <LI><A NAME="tex2html32" - HREF="manual.html#SECTION00030000000000000000">Installation</A> + HREF="manual.html#SECTION00020000000000000000">Introduction</A> <LI><A NAME="tex2html33" + HREF="manual.html#SECTION00030000000000000000">Installation</A> +<LI><A NAME="tex2html34" HREF="manual.html#SECTION00040000000000000000">Generating Glossary Information</A> <UL> -<LI><A NAME="tex2html34" +<LI><A NAME="tex2html35" HREF="manual.html#SECTION00041000000000000000">Storing Glossary Information</A> </UL> <BR> -<LI><A NAME="tex2html35" - HREF="manual.html#SECTION00050000000000000000">makeglos.pl</A> <LI><A NAME="tex2html36" - HREF="manual.html#SECTION00060000000000000000">Displaying the Glossary</A> + HREF="manual.html#SECTION00050000000000000000">makeglos.pl</A> <LI><A NAME="tex2html37" + HREF="manual.html#SECTION00060000000000000000">Displaying the Glossary</A> +<LI><A NAME="tex2html38" HREF="manual.html#SECTION00070000000000000000">Package Options</A> <UL> -<LI><A NAME="tex2html38" +<LI><A NAME="tex2html39" HREF="manual.html#SECTION00071000000000000000">Examples</A> </UL> <BR> -<LI><A NAME="tex2html39" - HREF="manual.html#SECTION00080000000000000000">Defining New Glossary Types</A> <LI><A NAME="tex2html40" + HREF="manual.html#SECTION00080000000000000000">Defining New Glossary Types</A> +<LI><A NAME="tex2html41" HREF="manual.html#SECTION00090000000000000000">Acronyms</A> <UL> -<LI><A NAME="tex2html41" +<LI><A NAME="tex2html42" HREF="manual.html#SECTION00091000000000000000">Examples</A> </UL> <BR> -<LI><A NAME="tex2html42" - HREF="manual.html#SECTION000100000000000000000">Customizing the Glossary</A> <LI><A NAME="tex2html43" - HREF="manual.html#SECTION000110000000000000000">Sample Documents</A> + HREF="manual.html#SECTION000100000000000000000">Customizing the Glossary</A> <LI><A NAME="tex2html44" + HREF="manual.html#SECTION000110000000000000000">Sample Documents</A> +<LI><A NAME="tex2html45" HREF="manual.html#SECTION000120000000000000000">LaTeX2HTML Style File</A> <UL> -<LI><A NAME="tex2html45" +<LI><A NAME="tex2html46" HREF="manual.html#SECTION000121000000000000000">Limitations</A> </UL> <BR> -<LI><A NAME="tex2html46" - HREF="manual.html#SECTION000130000000000000000">Troubleshooting</A> <LI><A NAME="tex2html47" - HREF="manual.html#SECTION000140000000000000000">Obsolete Commands</A> + HREF="manual.html#SECTION000130000000000000000">Troubleshooting</A> <LI><A NAME="tex2html48" - HREF="manual.html#SECTION000150000000000000000">Contact Details</A> + HREF="manual.html#SECTION000140000000000000000">Obsolete Commands</A> <LI><A NAME="tex2html49" - HREF="manual.html#SECTION000160000000000000000">Acknowledgements</A> + HREF="manual.html#SECTION000150000000000000000">Contact Details</A> <LI><A NAME="tex2html50" + HREF="manual.html#SECTION000160000000000000000">Acknowledgements</A> +<LI><A NAME="tex2html51" HREF="manual.html#SECTION000170000000000000000">Index</A> </UL> <!--End of Table of Contents--> @@ -97,7 +97,7 @@ Contents</A> Introduction</A> </H1> - The <TT>glossary</TT><A NAME="1609"></A> package is provided to assist + The <TT>glossary</TT><A NAME="1680"></A> package is provided to assist generating a glossary. It has a certain amount of flexibility, allowing the user to customize the format of the glossary, and define new glossary-style objects. @@ -130,11 +130,13 @@ makeglos.bat </PRE> along with several sample files. The file <TT>glossary.sty</TT> should be placed somewhere in the LaTeX path, e.g. -<TT>texmf/tex/latex/glossary/</TT>. The file -<TT>glossary.perl</TT> is a LaTeX2HTML style file, and should -be placed in the LaTeX2HTML style file directory (usually +<TT>texmf/tex/latex/glossary/</TT> or +<TT>localtexmf/tex/latex/glossary/</TT>. Remember to update the +T<SMALL>E</SMALL>X database if you are installing this package for the first time. +The file <TT>glossary.perl</TT> is a LaTeX2HTML style file, and +should be placed in the LaTeX2HTML style file directory (usually <TT>latex2html/styles/</TT>). The file <TT>makeglos.pl</TT> -is a Perl script which calls <TT>makeindex</TT><A NAME="1612"></A>. If you are +is a Perl script which calls <TT>makeindex</TT><A NAME="1683"></A>. If you are using UNIX or Linux, you will need to set the permissions so that you can execute the file: <PRE> @@ -142,11 +144,11 @@ chmod a+x makeglos.pl </PRE> You should then place this file somewhere on your path. (You may also need to edit the first line of -this file, if <TT>perl</TT><A NAME="1615"></A> is located in a directory other than <code>/usr/bin/</code><A NAME="tex2html1" - HREF="#foot1488"><SUP>1</SUP></A>.) +this file, if <TT>perl</TT><A NAME="1686"></A> is located in a directory other than <code>/usr/bin/</code><A NAME="tex2html1" + HREF="#foot1555"><SUP>1</SUP></A>.) <P> -If you are not using UNIX or Linux, you may have to explicitly +If you are not using UNIX or Linux etc, you may have to explicitly load the file into Perl, so you would need to do <TT>perl makeglos.pl</TT> instead of just <TT>makeglos.pl</TT>. If you are using Windows, a batch file, <TT>makeglos.bat</TT> @@ -154,12 +156,12 @@ is provided which will run Perl on <TT>makeglos.pl</TT>. Both <TT>makeglos.pl</TT> and <TT>makeglos.bat</TT> should be placed somewhere specified by the PATH environment variable. (For example, put them both in the same -directory as <TT>makeindex</TT><A NAME="1618"></A>, which will probably +directory as <TT>makeindex</TT><A NAME="1689"></A>, which will probably be in <code>\texmf\miktex\bin\</code>). <P> If you don't have Perl installed on your system, you can just use -<TT>makeindex</TT><A NAME="1621"></A>, only you will have to remember all the +<TT>makeindex</TT><A NAME="1692"></A>, only you will have to remember all the command line switches, and you won't be able to merge entries that have the same name, but different descriptions. @@ -189,19 +191,24 @@ available: <DIV ALIGN="CENTER"> <TABLE CELLPADDING=3> <TR><TH ALIGN="LEFT"><B>Key </B></TH> -<TH ALIGN="LEFT"><B>Value</B></TH> +<TH ALIGN="LEFT" VALIGN="TOP" WIDTH=400><B>Value</B></TH> +</TR> +<TR><TD ALIGN="LEFT"><TT><TT>name</TT><A NAME="1705"></A> </TT></TD> +<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>The entry name</TD> </TR> -<TR><TD ALIGN="LEFT"><TT><TT>name</TT><A NAME="1634"></A> </TT></TD> -<TD ALIGN="LEFT">The entry name</TD> +<TR><TD ALIGN="LEFT"><TT><TT>description</TT><A NAME="1709"></A> </TT></TD> +<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>A description about the entry</TD> </TR> -<TR><TD ALIGN="LEFT"><TT><TT>description</TT><A NAME="1638"></A> </TT></TD> -<TD ALIGN="LEFT">A description about the entry</TD> +<TR><TD ALIGN="LEFT"><TT><TT>sort</TT><A NAME="1713"></A> </TT></TD> +<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>How to sort the entry. (Entry name used if sort omitted)</TD> </TR> -<TR><TD ALIGN="LEFT"><TT><TT>sort</TT><A NAME="1642"></A> </TT></TD> -<TD ALIGN="LEFT">How to sort the entry. (Entry name used if sort omitted)</TD> +<TR><TD ALIGN="LEFT"><TT><TT>format</TT><A NAME="1717"></A> </TT></TD> +<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>How to format the page number</TD> </TR> -<TR><TD ALIGN="LEFT"><TT><TT>format</TT><A NAME="1646"></A> </TT></TD> -<TD ALIGN="LEFT">How to format the page number</TD> +<TR><TD ALIGN="LEFT"><TT><TT>number</TT><A NAME="1721"></A> </TT></TD> +<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>Override the page number with a different +counter. The value should be the name of a counter (e.g. +<TT>number=section</TT>).</TD> </TR> </TABLE> </DIV> @@ -217,9 +224,18 @@ For example: description={The universal set}, sort=U} </PRE> -The page format for individual entries can be changed using the -<TT>format</TT><A NAME="1650"></A> key. This should be the name of a LaTeX -formatting command without the preceding <code>\</code> (as with the +Note that you should always use the <TT>sort</TT><A NAME="1725"></A> +key if the <TT>name</TT><A NAME="1729"></A> key contains commands, this is particularly +important if you are using hyperlinks, as the target is constructed +from the <TT>name</TT><A NAME="1733"></A> key if the <TT>sort</TT><A NAME="1737"></A> key is omitted. + +<P> +In the glossary, each entry is followed by a list of page numbers +that correspond to the pages where the relevant <TT>\glossary</TT> +command is placed. By default the numbers are formatted in the +current font, but the page number format for individual entries can be +changed using the <TT>format</TT><A NAME="1743"></A> key. This should be the name of a +LaTeX formatting command without the preceding <code>\</code> (as with the <code>|</code> operator in <TT>\index</TT>.) For example: <PRE> \glossary{name={$\mathbb{R}$}, @@ -231,29 +247,71 @@ In addition, the following formats are also available: <DIV ALIGN="CENTER"> <TABLE CELLPADDING=3> -<TR><TD ALIGN="LEFT"><TT>hyperrm</TT><A NAME="1656"></A><A NAME="1657"></A></TD> +<TR><TD ALIGN="LEFT"><TT>hyperrm</TT><A NAME="1749"></A><A NAME="1750"></A></TD> <TD ALIGN="LEFT">The number is a hyper link in roman</TD> </TR> -<TR><TD ALIGN="LEFT"><TT>hypersf</TT><A NAME="1661"></A><A NAME="1662"></A></TD> +<TR><TD ALIGN="LEFT"><TT>hypersf</TT><A NAME="1754"></A><A NAME="1755"></A></TD> <TD ALIGN="LEFT">The number is a hyper link in sans-serif</TD> </TR> -<TR><TD ALIGN="LEFT"><TT>hypertt</TT><A NAME="1666"></A><A NAME="1667"></A></TD> +<TR><TD ALIGN="LEFT"><TT>hypertt</TT><A NAME="1759"></A><A NAME="1760"></A></TD> <TD ALIGN="LEFT">The number is a hyper link in typewriter font</TD> </TR> -<TR><TD ALIGN="LEFT"><TT>hyperbf</TT><A NAME="1671"></A><A NAME="1672"></A></TD> +<TR><TD ALIGN="LEFT"><TT>hyperbf</TT><A NAME="1764"></A><A NAME="1765"></A></TD> <TD ALIGN="LEFT">The number is a hyper link in bold</TD> </TR> -<TR><TD ALIGN="LEFT"><TT>hyperit</TT><A NAME="1676"></A><A NAME="1677"></A></TD> +<TR><TD ALIGN="LEFT"><TT>hypermd</TT><A NAME="1769"></A><A NAME="1770"></A></TD> +<TD ALIGN="LEFT">The number is a hyper link in medium weight</TD> +</TR> +<TR><TD ALIGN="LEFT"><TT>hyperit</TT><A NAME="1774"></A><A NAME="1775"></A></TD> <TD ALIGN="LEFT">The number is a hyper link in italic</TD> </TR> +<TR><TD ALIGN="LEFT"><TT>hypersl</TT><A NAME="1779"></A><A NAME="1780"></A></TD> +<TD ALIGN="LEFT">The number is a hyper link in slanted font</TD> +</TR> +<TR><TD ALIGN="LEFT"><TT>hyperup</TT><A NAME="1784"></A><A NAME="1785"></A></TD> +<TD ALIGN="LEFT">The number is a hyper link in upright font</TD> +</TR> +<TR><TD ALIGN="LEFT"><TT>hypersc</TT><A NAME="1789"></A><A NAME="1790"></A></TD> +<TD ALIGN="LEFT">The number is a hyper link in small caps</TD> +</TR> +<TR><TD ALIGN="LEFT"><TT>hyperem</TT><A NAME="1794"></A><A NAME="1795"></A></TD> +<TD ALIGN="LEFT">The number is a hyper link using <TT>\emph</TT></TD> +</TR> </TABLE> </DIV> -If the <TT>hyper</TT><A NAME="1686"></A> option has not been set, -<TT>hyperrm</TT><A NAME="1690"></A><A NAME="1691"></A> etc are equivalent to <TT>textrm</TT> etc. -You should use <TT>\hyperrm</TT><A NAME="1695"></A> instead of -<TT>\hyperpage</TT>, as <TT>\hyperpage</TT> won't +If the <TT>hyper</TT><A NAME="1806"></A> option has not been set, +<TT>hyperem</TT><A NAME="1810"></A><A NAME="1811"></A> is equivalent to <TT>emph</TT>, and the remaining +<TT>hyperrm</TT><A NAME="1815"></A><A NAME="1816"></A> etc are equivalent to <TT>textrm</TT> etc. +Note that it is important the you use <TT>hyperrm</TT> instead of +<TT>hyperpage</TT>, as the <TT>\hyperpage</TT> command won't work on a list or range of numbers in the glossary<A NAME="tex2html2" - HREF="#foot1491"><SUP>2</SUP></A>. + HREF="#foot1559"><SUP>2</SUP></A>. If you want to define your +own command that uses hyper links, it must be defined in an +analogous manner to <TT>\hyperrm</TT><A NAME="1826"></A>. For example, if you want +to display a page number in a bold italic format, that contains a +hyperlink to the appropriate page, you would need to define it as +follows: +<PRE> +\newcommand{\hyperbfit}[2][\gls@number]{% +\textbf{\itshape\glshyper{#1}{#2}}} +</PRE> +As can be seen from the definition, all the <TT>\hyper</TT><I>xx</I> +commands have an optional argument. This argument is the name of the +counter being used. You do not need to worry about this argument if +you only use these commands within the <TT>\glossary</TT><A NAME="1833"></A> command. +So the previous example can simply be rewritten as: +<PRE> +\glossary{name={$\mathbb{R}$}, + description={The set of real numbers}, + sort=R, + format=hyperbf} +</PRE> + +<P> +<B>Note:</B> although the numbers in the glossary are referred to +as ``page'' numbers in this manual, they may in fact refer to some +other counter, such as the <TT>section</TT> counter, depending on +whether the <TT>number</TT><A NAME="1838"></A> key has been used. <P> As with the <TT>\index</TT> command, care must be taken if you @@ -276,8 +334,8 @@ As from version 2.14, there is an additional command available: <P> This is equivalent to -<I>text</I><TT>\glossary</TT><A NAME="1712"></A><code>{</code><I>gls-entry</I><code>}</code>, -where <I>text</I> will be made a hyperlink to the +<I>text</I><TT>\glossary</TT><A NAME="1846"></A><code>{</code><I>gls-entry</I><code>}</code>, +where <I>text</I> will be made a hyper link to the relevant entry in the glossary, if hyper links are supported. @@ -288,28 +346,40 @@ Storing Glossary Information</A> </H2> <P> +It is very cumbersome having to use the <TT>\glossary</TT><A NAME="1851"></A> command +throughout your document, every time you use a term that you want in +your glossary. This is particularly true for terms with a long +description. The <TT>glossary</TT><A NAME="1856"></A> package provides a means +of storing the glossary information at the beginning of the document, +and then using it whenever required. It is strongly recommended +that you use this approach, rather than explicity using the +<TT>\glossary</TT><A NAME="1859"></A> command. + +<P> The following command: <BR> <BR><TT><TT>\storeglosentry</TT>[</TT> <I>gls-type</I><TT>]{</TT> <I>label</I><TT>}{</TT> <I>gls-entry</I><TT>} </TT> <BR> <BR> -can be used to store glossary information. That information +can be used to store glossary information, where <I>label</I> is +a unique label assigned to this entry. The information can then be used later with any of the following commands: - <BR> -<BR><TT><TT>\useglosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>} +<BR> + +<TT><TT>\useglosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>} <BR><TT>\useGlosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>}{</TT> <I>text</I><TT>} <BR><TT>\gls</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>} </TT> <BR> -<BR><TT>\useglosentry</TT> adds the stored glossary entry -<I>gls-entry</I> to the appropriate glossary, -<TT>\useGlosentry</TT> adds the stored glossary entry, and +<BR><TT>\useglosentry</TT> adds the glossary entry whose label is given by +<I>label</I> to the appropriate glossary, +<TT>\useGlosentry</TT> adds the glossary entry, and makes <I>text</I> a hyperlink to that entry (if hyperlinks are supported). The third command, <TT>\gls</TT>, is like <TT>\useGlosentry</TT>, but forms <I>text</I> from the name -given in <I>gls-entry</I>. +given in the glossary entry. <P> Returning to an earlier example, instead of typing: @@ -322,13 +392,13 @@ every time you want to add this entry to the glossary, you can instead store the information: <PRE> -\storeglosentry{glos:U}{name={$\protect\mathcal{U}$}, +\storeglosentry{glos:U}{name={$\mathcal{U}$}, description={The universal set}, sort=U} </PRE> -(Note the use of <TT>\protect</TT>.) Now, instead of continually -copying and pasting the glossary command for this entry (which -can have quite a large <TT>description</TT><A NAME="1735"></A> field), you can use either: +Now, instead of continually copying and pasting the glossary command +for this entry (which can have quite a large <TT>description</TT><A NAME="1880"></A> +field), you can use either: <PRE> \useglosentry{glos:U} </PRE> @@ -358,13 +428,40 @@ which is equivalent to: description={The universal set}, sort=U}{$\mathcal{U}$} </PRE> -The optional argument <I>gls-type</I> indicates the glossary -type (see <A HREF="#sec:newglostype">later</A> to find out how to define new +If you want to use glossary entries in an equation, it is better +to use <TT>\ensuremath</TT> instead of <code>$</code>...<code>$</code>. +For example: +<PRE> +\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, +description=Gamma function, +sort=Gamma} +</PRE> +You can then use this entry in either text or math mode: +<PRE> +The \useGlosentry{Gamma}{Gamma function} is defined as +\begin{equation} +\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt +\end{equation} +</PRE> +If you are using hyper links, and you want to use +<TT>\useGlosentry</TT> within math mode, you must use +<TT>\ensuremath</TT>: +<PRE> +\begin{equation} +\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) +\end{equation} +</PRE> + +<P> +The optional argument to <TT>\storeglosentry</TT><A NAME="1890"></A> (<I>gls-type</I>) +indicates the glossary type (see +<A HREF="#sec:newglostype">later</A> to find out how to define new glossary types). If omitted, the standard glossary is used. <P> -The optional argument <I>opt</I> allows you to add additional -information to the glossary entry, for example: +The optional argument to <TT>\useglosentry</TT><A NAME="1895"></A>, +<TT>\useGlosentry</TT><A NAME="1900"></A> and <TT>\gls</TT><A NAME="1905"></A> (<I>opt</I>) allows you to +add additional information to the glossary entry, for example: <PRE> \useglosentry[format=textbf]{glos:U} </PRE> @@ -375,10 +472,10 @@ is equivalent to: sort=U, format=textbf} </PRE> -The identifying label, <I>label</I>, should not contain any -special characters, and since <TT>\storeglosentry</TT> is -fragile, care should be taken when using commands within its -argument. If in doubt, use <TT>\protect</TT>. +Since version 2.4, <TT>\storeglosentry</TT><A NAME="1910"></A> is robust, and +<TT>\protect</TT> should no longer be needed, however +the identifying label, <I>label</I>, should not +contain any special characters. <P> As from version 2.36, if you want to use all glossary entries @@ -393,80 +490,86 @@ makeglos.pl</A> </H1> <P> -The glossary information (as given by the commands -<TT>\glossary</TT> and <TT>\xglossary</TT>) is saved in the file -with the extension <TT>glo</TT><A NAME="1753"></A> (unless the -<TT>\makeglossary</TT><A NAME="1755"></A> command is omitted, in which case the -glossary information is simply ignored.) A <TT>makeindex</TT><A NAME="1760"></A> -style file<A NAME="1506"></A> -(<TT>ist</TT><A NAME="1763"></A>) is also created, which is customized for the -document, and can be passed to <TT>makeindex</TT><A NAME="1765"></A>. +Whenever a glossary entry is used, either explicity using +<TT>\glossary</TT> or <TT>\xglossary</TT> or implicitly using +<TT>\useglosentry</TT>, <TT>\useGlosentry</TT> and <TT>\gls</TT>, +the information is saved in a file with the extension <TT>glo</TT><A NAME="1933"></A> +(unless the <TT>\makeglossary</TT><A NAME="1935"></A> command is omitted, in which case +the glossary information is simply ignored.) A <TT>makeindex</TT><A NAME="1940"></A> +style file<A NAME="1574"></A> +(<TT>ist</TT><A NAME="1943"></A>) is also created, which is customized for the +document, and can be passed to <TT>makeindex</TT><A NAME="1945"></A>. <P> For example, suppose your document is called <TT>mydoc.tex</TT>, the glossary will be saved in the file -<TT>mydoc.glo</TT><A NAME="1768"></A>, and the <TT>makeindex</TT><A NAME="1770"></A> style -file <TT>mydoc.ist</TT><A NAME="1773"></A> will be created. - These files can then be passed to <TT>makeindex</TT><A NAME="1775"></A> as follows: +<TT>mydoc.glo</TT><A NAME="1948"></A>, and the <TT>makeindex</TT><A NAME="1950"></A> style +file <TT>mydoc.ist</TT><A NAME="1953"></A> will be created. + These files can then be passed to <TT>makeindex</TT><A NAME="1955"></A> as follows: <PRE> makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo </PRE> -which generates the output file <TT>mydoc.gls</TT><A NAME="1778"></A>, +which generates the output file <TT>mydoc.gls</TT><A NAME="1958"></A>, with transcript written to -<TT>mydoc.glg</TT><A NAME="1780"></A>. +<TT>mydoc.glg</TT><A NAME="1960"></A>. <P> -The Perl script <TT>makeglos.pl</TT><A NAME="1782"></A> provided with this package -allows you to use <TT>makeindex</TT><A NAME="1785"></A> without having to remember +The Perl script <TT>makeglos.pl</TT><A NAME="1962"></A> provided with this package +allows you to use <TT>makeindex</TT><A NAME="1965"></A> without having to remember all the command line options. The command <PRE> -makeglos.pl mydoc.glo +makeglos.pl mydoc </PRE> will perform the command: <PRE> makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo </PRE> -The <TT>glo</TT><A NAME="1788"></A> extension may be omitted. In addition, -<TT>makeglos.pl</TT><A NAME="1790"></A> also takes the option +In addition, <TT>makeglos.pl</TT><A NAME="1968"></A> also takes the option <TT>-m</TT> which can be used to collate entries where the same name has multiple descriptions. <P> -<TT>makeglos.pl</TT><A NAME="1793"></A> has the following syntax: +<TT>makeglos.pl</TT><A NAME="1971"></A> has the following syntax: <PRE> makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] <filename> </PRE> where all switches, apart from <TT>-m</TT> are the same as -those for <TT>makeindex</TT><A NAME="1796"></A>. In addition, if the extension -to the input file name is omitted, <TT>glo</TT><A NAME="1799"></A> will be -assumed. If there are multiple glossary types (see +those for <TT>makeindex</TT><A NAME="1974"></A>. If there are multiple glossary types +(see <A HREF="#sec:newglostype">later</A>) -and the file extension is omitted, <TT>makeglos.pl</TT><A NAME="1801"></A> will -iterate through each glossary type. +and the file extension is omitted, <TT>makeglos.pl</TT><A NAME="1977"></A> will +iterate through each glossary type (it will pick up the relevant +information from the auxiliary file). <P> -The name of the <TT>ist</TT><A NAME="1804"></A> file can be changed by redefining -the command <TT>\istfilename</TT>. +The name of the <TT>ist</TT><A NAME="1980"></A> file can be changed by redefining +the command <TT>\istfilename</TT> +<I>before</I> <TT>\makeglossary</TT>. For example: <PRE> \renewcommand{\istfilename}{foo.ist} +\makeglossary </PRE> -However, you will need to explicitly pass the name of this -file to <TT>makeglos.pl</TT><A NAME="1808"></A> using the <TT>-s</TT> switch. +Only one <TT>ist</TT><A NAME="1986"></A> file will be created per document, even if +you have multiple glossaries with different styles. The only +circumstance where you will need multiple <TT>ist</TT><A NAME="1988"></A> files for +a single document is when you have multiple glossaries that use +different counters with different compositors, but this is rarely +likely to occur. <P> -Creation of the <TT>ist</TT><A NAME="1811"></A> file can be suppressed by issuing +Creation of the <TT>ist</TT><A NAME="1990"></A> file can be suppressed by issuing the command <TT>\noist</TT> before -<TT>\makeglossary</TT><A NAME="1815"></A>. It will also be suppressed when the -command <TT>\nofiles</TT><A NAME="1820"></A> is used, or if the command -<TT>\makeglossary</TT><A NAME="1825"></A> is omitted. +<TT>\makeglossary</TT><A NAME="1994"></A>. It will also be suppressed when the +command <TT>\nofiles</TT><A NAME="1999"></A> is used, or if the command +<TT>\makeglossary</TT><A NAME="2004"></A> is omitted. <P> It should be noted that there are a few packages that can -cause problems with the creation of the <TT>ist</TT><A NAME="1830"></A> file, -for example <TT>ngerman</TT><A NAME="1832"></A>. If you encounter problems -when LaTeX is processing the <TT>\makeglossary</TT><A NAME="1835"></A> command, -or if you get errors from <TT>makeindex</TT><A NAME="1840"></A> complaining about +cause problems with the creation of the <TT>ist</TT><A NAME="2009"></A> file, +for example <TT>ngerman</TT><A NAME="2011"></A>. If you encounter problems +when LaTeX is processing the <TT>\makeglossary</TT><A NAME="2014"></A> command, +or if you get errors from <TT>makeindex</TT><A NAME="2019"></A> complaining about the style file, this is the most probable cause. See <A HREF="#itm:ngerman">later</A> for information on how to fix this. @@ -478,12 +581,12 @@ Displaying the Glossary</A> </H1> <P> -Once the <TT>gls</TT><A NAME="1843"></A> file has been created by -<TT>makeindex</TT><A NAME="1845"></A> (as described in the previous +Once the <TT>gls</TT><A NAME="2022"></A> file has been created by +<TT>makeindex</TT><A NAME="2024"></A> (as described in the previous section) the glossary can then be included in the document with the command <TT>\printglossary</TT>. If chapters are defined, the glossary will start -with<A NAME="1849"></A> +with<A NAME="2028"></A> <PRE> \chapter*{\glossaryname} </PRE> @@ -506,25 +609,25 @@ Package Options The package options must be specified as a comma-separated list of <I>key</I>=<I>value</I> pairs. Available options are: <DL> -<DT><STRONG><TT>style</TT><A NAME="1858"></A></STRONG></DT> +<DT><STRONG><TT>style</TT><A NAME="2037"></A></STRONG></DT> <DD>The glossary style. Values: -<A NAME="1511"></A> +<A NAME="1579"></A> <DL> -<DT><STRONG><TT>list</TT><A NAME="1862"></A></STRONG></DT> +<DT><STRONG><TT>list</TT><A NAME="2041"></A></STRONG></DT> <DD>use <TT>description</TT> environment in the glossary </DD> -<DT><STRONG><TT>altlist</TT><A NAME="1865"></A></STRONG></DT> +<DT><STRONG><TT>altlist</TT><A NAME="2044"></A></STRONG></DT> <DD>modified -version of <TT>style=list</TT><A NAME="1874"></A>. The description starts on the +version of <TT>style=list</TT><A NAME="2053"></A>. The description starts on the line following the name of the term being defined. </DD> -<DT><STRONG><TT>super</TT><A NAME="1876"></A></STRONG></DT> +<DT><STRONG><TT>super</TT><A NAME="2055"></A></STRONG></DT> <DD>use <TT>supertabular</TT> environment in the glossary </DD> -<DT><STRONG><TT>long</TT><A NAME="1879"></A></STRONG></DT> +<DT><STRONG><TT>long</TT><A NAME="2058"></A></STRONG></DT> <DD>use <TT>longtable</TT> environment in the glossary (Default) </DD> @@ -532,15 +635,15 @@ line following the name of the term being defined. <P> </DD> -<DT><STRONG><TT>header</TT><A NAME="1887"></A></STRONG></DT> -<DD><A NAME="1513"></A> Glossary +<DT><STRONG><TT>header</TT><A NAME="2066"></A></STRONG></DT> +<DD><A NAME="1581"></A> Glossary header. Values: <DL> -<DT><STRONG><TT>none</TT><A NAME="1891"></A></STRONG></DT> +<DT><STRONG><TT>none</TT><A NAME="2070"></A></STRONG></DT> <DD>The glossary doesn't have a heading (Default) </DD> -<DT><STRONG><TT>plain</TT><A NAME="1893"></A></STRONG></DT> +<DT><STRONG><TT>plain</TT><A NAME="2072"></A></STRONG></DT> <DD>The glossary has a heading </DD> @@ -548,15 +651,15 @@ has a heading <P> </DD> -<DT><STRONG><TT>border</TT><A NAME="1900"></A></STRONG></DT> -<DD><A NAME="1514"></A> Glossary +<DT><STRONG><TT>border</TT><A NAME="2079"></A></STRONG></DT> +<DD><A NAME="1582"></A> Glossary border. Values: <DL> -<DT><STRONG><TT>none</TT><A NAME="1904"></A></STRONG></DT> +<DT><STRONG><TT>none</TT><A NAME="2083"></A></STRONG></DT> <DD>The glossary doesn't have a border (Default) </DD> -<DT><STRONG><TT>plain</TT><A NAME="1906"></A></STRONG></DT> +<DT><STRONG><TT>plain</TT><A NAME="2085"></A></STRONG></DT> <DD>Border around the main body of the glossary </DD> @@ -564,16 +667,16 @@ around the main body of the glossary <P> </DD> -<DT><STRONG><TT>cols</TT><A NAME="1913"></A></STRONG></DT> -<DD><A NAME="1515"></A> Number of +<DT><STRONG><TT>cols</TT><A NAME="2092"></A></STRONG></DT> +<DD><A NAME="1583"></A> Number of columns. Values: <DL> -<DT><STRONG><TT>2</TT><A NAME="1917"></A></STRONG></DT> +<DT><STRONG><TT>2</TT><A NAME="2096"></A></STRONG></DT> <DD>The entry name and description are in two separate columns with the associated page numbers in the same column as the description. (Default) </DD> -<DT><STRONG><TT>3</TT><A NAME="1919"></A></STRONG></DT> +<DT><STRONG><TT>3</TT><A NAME="2098"></A></STRONG></DT> <DD>The entry name, description and associated page numbers are in three separate columns. </DD> @@ -582,34 +685,23 @@ are in three separate columns. <P> </DD> -<DT><STRONG><TT>number</TT><A NAME="1926"></A></STRONG></DT> -<DD>Associated number corresponding to each entry. Values: -<DL> -<DT><STRONG><TT>page</TT><A NAME="1930"></A></STRONG></DT> -<DD>Each entry has the corresponding page number(s) where the -entry is defined. (Default) -</DD> -<DT><STRONG><TT>section</TT><A NAME="1932"></A></STRONG></DT> -<DD>Each entry has the corresponding section number(s) where -the entry is defined. -</DD> -<DT><STRONG><TT>none</TT><A NAME="1934"></A></STRONG></DT> -<DD>The corresponding numbers are -suppressed. -</DD> -</DL> +<DT><STRONG><TT>number</TT><A NAME="2105"></A></STRONG></DT> +<DD>Associated number corresponding to each entry. +This may either be the keyword <TT>none</TT><A NAME="2109"></A> indicating that +the corresponding numbers should be suppressed, or it can be the +name of a LaTeX counter. The default is <TT>number=page</TT><A NAME="2118"></A>. <P> </DD> -<DT><STRONG><TT>toc</TT><A NAME="1941"></A></STRONG></DT> -<DD><A NAME="1517"></A> +<DT><STRONG><TT>toc</TT><A NAME="2125"></A></STRONG></DT> +<DD><A NAME="1586"></A> Boolean variable: <DL> -<DT><STRONG><TT>true</TT><A NAME="1945"></A></STRONG></DT> +<DT><STRONG><TT>true</TT><A NAME="2129"></A></STRONG></DT> <DD>Add glossary to table of contents </DD> -<DT><STRONG><TT>false</TT><A NAME="1947"></A></STRONG></DT> +<DT><STRONG><TT>false</TT><A NAME="2131"></A></STRONG></DT> <DD>Omit glossary from table of contents (Default) </DD> </DL> @@ -618,50 +710,50 @@ LaTeX twice after generating the glossary. <P> </DD> -<DT><STRONG><TT>hypertoc</TT><A NAME="1954"></A></STRONG></DT> +<DT><STRONG><TT>hypertoc</TT><A NAME="2138"></A></STRONG></DT> <DD>Boolean variable. This is similar to the package option -<TT>toc</TT><A NAME="1963"></A>, but if you are using the <TT>hyperref</TT><A NAME="1967"></A> -package, <TT>hypertoc</TT><A NAME="1975"></A> will generate a link to the -beginning of the page, whereas <TT>toc</TT><A NAME="1984"></A> will have -a hyperlink to jst after the glossary title. Note -that you can not use both <TT>toc=true</TT><A NAME="1995"></A> and -<TT>hypertoc=true</TT><A NAME="2004"></A>. Default value: -<TT>hypertoc=false</TT><A NAME="2013"></A>. +<TT>toc</TT><A NAME="2147"></A>, but if you are using the <TT>hyperref</TT><A NAME="2151"></A> +package, <TT>hypertoc</TT><A NAME="2159"></A> will generate a link to the +point immediately before the glossary title, whereas <TT>toc</TT><A NAME="2168"></A> will +have a hyperlink to just after the glossary title. Note +that you can not use both <TT>toc=true</TT><A NAME="2179"></A> and +<TT>hypertoc=true</TT><A NAME="2188"></A>. Default value: +<TT>hypertoc=false</TT><A NAME="2197"></A>. <P> </DD> -<DT><STRONG><TT>hyper</TT><A NAME="2020"></A></STRONG></DT> +<DT><STRONG><TT>hyper</TT><A NAME="2204"></A></STRONG></DT> <DD>Boolean variable: <DL> -<DT><STRONG><TT>true</TT><A NAME="2024"></A></STRONG></DT> +<DT><STRONG><TT>true</TT><A NAME="2208"></A></STRONG></DT> <DD>Make associated numbers in the glossary a hypertext link, and also make acronyms, and the text -given by <TT>\xglossary</TT><A NAME="2026"></A> have a hyperlink to their +given by <TT>\xglossary</TT><A NAME="2210"></A> have a hyperlink to their corresponding entries in the glossary. </DD> -<DT><STRONG><TT>false</TT><A NAME="2031"></A></STRONG></DT> +<DT><STRONG><TT>false</TT><A NAME="2215"></A></STRONG></DT> <DD>Don't make associated numbers a hypertext link </DD> </DL> -If the <TT>hyperref</TT><A NAME="2033"></A> or <TT>html</TT><A NAME="2036"></A> package has +If the <TT>hyperref</TT><A NAME="2217"></A> or <TT>html</TT><A NAME="2220"></A> package has been loaded prior to loading <TT>glossary.sty</TT>, -<TT>hyper=true</TT><A NAME="2046"></A> is set, otherwise -the default is <TT>hyper=false</TT><A NAME="2055"></A>. Note that this package -option now encompasses the old <TT>hyperacronym</TT><A NAME="2062"></A> option. +<TT>hyper=true</TT><A NAME="2230"></A> is set, otherwise +the default is <TT>hyper=false</TT><A NAME="2239"></A>. Note that this package +option now encompasses the old <TT>hyperacronym</TT><A NAME="2246"></A> option. <P> </DD> -<DT><STRONG><TT>section</TT><A NAME="2071"></A></STRONG></DT> +<DT><STRONG><TT>section</TT><A NAME="2255"></A></STRONG></DT> <DD>Boolean variable: <DL> -<DT><STRONG><TT>true</TT><A NAME="2075"></A></STRONG></DT> +<DT><STRONG><TT>true</TT><A NAME="2259"></A></STRONG></DT> <DD>Make the glossary an unnumbered section, even if chapters are defined </DD> -<DT><STRONG><TT>false</TT><A NAME="2077"></A></STRONG></DT> +<DT><STRONG><TT>false</TT><A NAME="2261"></A></STRONG></DT> <DD>Only make glossary an unnumbered section if chapters are not defined (default). </DD> @@ -669,17 +761,17 @@ unnumbered section if chapters are not defined (default). <P> </DD> -<DT><STRONG><TT>acronym</TT><A NAME="2084"></A></STRONG></DT> +<DT><STRONG><TT>acronym</TT><A NAME="2268"></A></STRONG></DT> <DD>Boolean variable: <DL> -<DT><STRONG><TT>true</TT><A NAME="2088"></A></STRONG></DT> +<DT><STRONG><TT>true</TT><A NAME="2272"></A></STRONG></DT> <DD>Make the list of acronyms separate from the main glossary. <P> </DD> -<DT><STRONG><TT>false</TT><A NAME="2090"></A></STRONG></DT> +<DT><STRONG><TT>false</TT><A NAME="2274"></A></STRONG></DT> <DD>The acronyms will all be placed in the main glossary. (Default) </DD> @@ -687,42 +779,42 @@ be placed in the main glossary. (Default) <P> </DD> -<DT><STRONG><TT>global</TT><A NAME="2097"></A></STRONG></DT> +<DT><STRONG><TT>global</TT><A NAME="2281"></A></STRONG></DT> <DD>Boolean variable: <DL> -<DT><STRONG><TT>false</TT><A NAME="2101"></A></STRONG></DT> +<DT><STRONG><TT>false</TT><A NAME="2285"></A></STRONG></DT> <DD>Acronym commands only have a local effect. (Default) </DD> -<DT><STRONG><TT>true</TT><A NAME="2103"></A></STRONG></DT> +<DT><STRONG><TT>true</TT><A NAME="2287"></A></STRONG></DT> <DD>Acronym commands have a global effect. </DD> </DL> </DD> </DL> - The <TT>border</TT><A NAME="2110"></A>, <TT>header</TT><A NAME="2119"></A> and <TT>cols</TT><A NAME="2128"></A> options -should not be used in conjunction with <TT>style=list</TT><A NAME="2139"></A> -or <TT>style=altlist</TT><A NAME="2148"></A>, as they only make sense with one of + The <TT>border</TT><A NAME="2294"></A>, <TT>header</TT><A NAME="2303"></A> and <TT>cols</TT><A NAME="2312"></A> options +should not be used in conjunction with <TT>style=list</TT><A NAME="2323"></A> +or <TT>style=altlist</TT><A NAME="2332"></A>, as they only make sense with one of the tabular-style options. The value for the boolean variables can be omitted if they are to be set. For example - <TT>toc</TT><A NAME="2155"></A> is equivalent to <TT>toc=true</TT><A NAME="2166"></A>. Note that the -<TT>altlist</TT><A NAME="2168"></A> style is better suited to + <TT>toc</TT><A NAME="2339"></A> is equivalent to <TT>toc=true</TT><A NAME="2350"></A>. Note that the +<TT>altlist</TT><A NAME="2352"></A> style is better suited to glossaries with long entry names. <P> You can set up your own preferred defaults in a configuration -file<A NAME="1524"></A>. -The file must be called <TT>glossary.cfg</TT><A NAME="2170"></A> and +file<A NAME="1593"></A>. +The file must be called <TT>glossary.cfg</TT><A NAME="2354"></A> and should be placed somewhere on the T<SMALL>E</SMALL>X path. In this file you can use the command <TT>\glossarypackageoptions</TT><code>{</code><I>option-list</I><code>}</code> where <I>option-list</I> is a comma-separated list of <I>key</I>=<I>value</I> pairs, as passed to the -<TT>glossary</TT><A NAME="2174"></A> +<TT>glossary</TT><A NAME="2358"></A> package. Note that this command may only be used in the configuration file. @@ -751,8 +843,8 @@ A new type of glossary can be defined using the command: <BR> For example, suppose you want your document to have a separate index of terms and index of notation, -you could use <TT>\makeglossary</TT><A NAME="2352"></A>, <TT>\glossary</TT><A NAME="2357"></A>, -<TT>\xglossary</TT><A NAME="2362"></A> and <TT>\printglossary</TT><A NAME="2367"></A> for the first +you could use <TT>\makeglossary</TT><A NAME="2536"></A>, <TT>\glossary</TT><A NAME="2541"></A>, +<TT>\xglossary</TT><A NAME="2546"></A> and <TT>\printglossary</TT><A NAME="2551"></A> for the first glossary, and define a new type of glossary called say, <TT>notation</TT>, using <PRE> @@ -770,7 +862,7 @@ be a comma separated list of <I>key</I>=<I>value</I> pairs that can be used to specify the style of the new glossary. If omitted, the new glossary will have the same format as the main glossary. The following options are available: -<TT>style</TT>, <TT>header</TT>, <TT>border</TT> and +<TT>number</TT>, <TT>style</TT>, <TT>header</TT>, <TT>border</TT> and <TT>cols</TT>. These can take the same values as those given in the package options (described in section <A HREF="#sec:options">6</A>). @@ -784,18 +876,18 @@ same format as their ``glossary'' counter-parts. <P> The glossary information will be saved to a file with the extension given by <I>out-ext</I> (analogous to -<TT>glo</TT><A NAME="2388"></A>), which can then be passed to <TT>makeindex</TT><A NAME="2390"></A> -either directly or via <TT>makeglos.pl</TT><A NAME="2393"></A>, +<TT>glo</TT><A NAME="2572"></A>), which can then be passed to <TT>makeindex</TT><A NAME="2574"></A> +either directly or via <TT>makeglos.pl</TT><A NAME="2577"></A>, and the file to be read in (i.e. the file created by -<TT>makeindex</TT><A NAME="2396"></A>) will have the extension <I>in-ext</I> -(analogous to <TT>gls</TT><A NAME="2399"></A>). +<TT>makeindex</TT><A NAME="2580"></A>) will have the extension <I>in-ext</I> +(analogous to <TT>gls</TT><A NAME="2583"></A>). <P> The optional argument <I>log-ext</I> indicates -the extension for the <TT>makeindex</TT><A NAME="2401"></A> log file, if omitted the -extension <TT>glg</TT><A NAME="2404"></A> is used. This is not used by LaTeX, -however <TT>makeglos.pl</TT><A NAME="2406"></A> reads in this information from -the LaTeX auxiliary file and passes it to <TT>makeindex</TT><A NAME="2409"></A>. +the extension for the <TT>makeindex</TT><A NAME="2585"></A> log file, if omitted the +extension <TT>glg</TT><A NAME="2588"></A> is used. This is not used by LaTeX, +however <TT>makeglos.pl</TT><A NAME="2590"></A> reads in this information from +the LaTeX auxiliary file and passes it to <TT>makeindex</TT><A NAME="2593"></A>. <P> For the above <TT>notation</TT> @@ -808,7 +900,7 @@ latex mydoc </PRE> (You may need to do an extra <code>latex mydoc</code> to get cross-references up-to-date.) Note that if you don't specify the -file extension when using <TT>makeglos.pl</TT><A NAME="2412"></A>, it will +file extension when using <TT>makeglos.pl</TT><A NAME="2596"></A>, it will check the transcript file from the LaTeX run to determine all the glossary types, so, for this example, <PRE> @@ -819,14 +911,14 @@ is equivalent to: makeglos.pl mydoc.glo makeglos.pl mydoc.not </PRE> -since <TT>makeglos.pl</TT><A NAME="2415"></A> has read in the information +since <TT>makeglos.pl</TT><A NAME="2599"></A> has read in the information for the <TT>notation</TT> glossary type from the file <TT>mydoc.log</TT>. <P> If you don't have Perl installed on your system, or for any other reason are unable to use -<TT>makeglos.pl</TT><A NAME="2418"></A>, you can call <TT>makeindex</TT><A NAME="2421"></A> +<TT>makeglos.pl</TT><A NAME="2602"></A>, you can call <TT>makeindex</TT><A NAME="2605"></A> explicitly: <PRE> latex mydoc @@ -837,7 +929,7 @@ latex mydoc <P> Note that you can use the command -<TT>\printglossary</TT><A NAME="2424"></A><TT>[</TT><I>name</I><TT>]</TT> +<TT>\printglossary</TT><A NAME="2608"></A><TT>[</TT><I>name</I><TT>]</TT> instead of <code>\print</code><I>name</I>. These two commands have the same effect when using LaTeX, however, they have a slightly different effect when @@ -847,7 +939,7 @@ using LaTeX2HTML (see <A HREF="#sec:l2h">later</A>). If the command <code>\</code><I>glossary-type</I><code>name</code> is defined, (e.g. <code>\notationname</code> in the above example) this will be used as the title for the specified -glossary. If this command is not defined, <TT>\glossaryname</TT><A NAME="2429"></A> +glossary. If this command is not defined, <TT>\glossaryname</TT><A NAME="2613"></A> will be used instead. If the command <code>\short</code><I>glossary-type</I><code>name</code> is defined, (e.g. <TT>\shortnotationname</TT> in the above @@ -868,7 +960,7 @@ Acronyms</A> </H1> <P> -The <TT>glossary</TT><A NAME="2436"></A> package provides the command: +The <TT>glossary</TT><A NAME="2620"></A> package provides the command: <BR> <BR><TT><TT>\newacronym</TT>[</TT> <I>cmd-name</I><TT>]{</TT> <I>acronym</I><TT>}{</TT> <I>long</I><TT>}{</TT> <I>glossary entry</I><TT>} </TT> @@ -877,7 +969,7 @@ The <TT>glossary</TT><A NAME="2436"></A> package provides the command: which can be used to define acronyms. The argument <I>long</I> is the full name, the argument <I>acronym</I> is the acronym for <I>long</I> and <I>glossary entry</I> is the glossary information -in the form used by the <TT>\glossary</TT><A NAME="2441"></A> command. If the +in the form used by the <TT>\glossary</TT><A NAME="2625"></A> command. If the optional argument <I>cmd-name</I> is missing, <TT>\newacronym</TT> will create a command called <code>\</code><I>acronym</I>, otherwise it will create a command @@ -885,12 +977,12 @@ called <code>\</code><I>cmd-name</I> (henceforth denoted <TT>\</TT><I>acr-na This command can then be used throughout the text. The first instance of this command is equivalent to: <BR> -<BR><I>long</I> <TT>(\xacronym</TT><A NAME="2450"></A><code>{</code><TT>name</TT><A NAME="2455"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code><TT>)</TT> +<BR><I>long</I> <TT>(\xacronym</TT><A NAME="2634"></A><code>{</code><TT>name</TT><A NAME="2639"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code><TT>)</TT> <BR> <BR> subsequent instances will be equivalent to: <BR> -<BR><TT>\xacronym</TT><A NAME="2459"></A><code>{</code><TT>name</TT><A NAME="2464"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code> +<BR><TT>\xacronym</TT><A NAME="2643"></A><code>{</code><TT>name</TT><A NAME="2648"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code> <BR> <BR> The command <TT>\</TT><I>acr-name</I> also has a starred @@ -901,7 +993,7 @@ uppercase (for use at the start of a sentence). Note that if you want to change the format of the acronym, for example, if you want the acronym to appear in small caps, you will need to not only use the optional argument, but you -will also need to use the <TT>sort</TT><A NAME="2470"></A> key, otherwise you +will also need to use the <TT>sort</TT><A NAME="2654"></A> key, otherwise you will get an error. For example: <PRE> \newacronym[SVM]{\textsc{svm}}{Support Vector Machine}% @@ -910,18 +1002,20 @@ technique,sort=svm} </PRE> <P> -If the package option <TT>acronym</TT><A NAME="2479"></A> is not set (default) -<TT>\xacronym</TT><A NAME="2483"></A>, is a synonym for <TT>\xglossary</TT><A NAME="2488"></A>. -If the package option <TT>acronym=true</TT><A NAME="2500"></A> is specified, a +If the package option <TT>acronym</TT><A NAME="2663"></A> is not set (default) +<TT>\xacronym</TT><A NAME="2667"></A>, is a synonym for <TT>\xglossary</TT><A NAME="2672"></A>, and +the acronyms will appear in the main glossary (remember to +specify <TT>\makeglossary</TT> and <TT>\printglossary</TT>). +If the package option <TT>acronym=true</TT><A NAME="2688"></A> is specified, a new glossary type called <TT>acronym</TT> will be defined as: <PRE> \newglossarytype[alg]{acronym}{acr}{acn} \providecommand{\acronymname}{List of Acronyms} </PRE> -You will then need to use the commands <TT>\makeacronym</TT><A NAME="2502"></A> -and <TT>\printacronym</TT><A NAME="2507"></A> to make the list of acronyms appear. -You will also need to run the <TT>acr</TT><A NAME="2512"></A> file through -<TT>makeindex</TT><A NAME="2514"></A> (or <TT>makeglos.pl</TT><A NAME="2517"></A>). For example: +You will then need to use the commands <TT>\makeacronym</TT><A NAME="2690"></A> +and <TT>\printacronym</TT><A NAME="2695"></A> to make the list of acronyms appear. +You will also need to run the <TT>acr</TT><A NAME="2700"></A> file through +<TT>makeindex</TT><A NAME="2702"></A> (or <TT>makeglos.pl</TT><A NAME="2705"></A>). For example: <PRE> makeindex -s mydoc.ist -t mydoc.alg -o mydoc.acn mydoc.acr </PRE> @@ -929,12 +1023,12 @@ alternatively: <PRE> makeglos.pl mydoc </PRE> -Note that the package option <TT>acronym=true</TT><A NAME="2527"></A> is only +Note that the package option <TT>acronym=true</TT><A NAME="2715"></A> is only appropriate if you want both a glossary and a separate list of acronyms. If you do not write in English, you can set up your own language definition for <TT>\acronymname</TT> in the configuration file -<TT>glossarycfg</TT><A NAME="2531"></A>. For example: +<TT>glossarycfg</TT><A NAME="2719"></A>. For example: <PRE> \newcommand{\acronymname}{Akronyme} </PRE> @@ -943,7 +1037,7 @@ appropriate definition of <TT>\acronymname</TT>, and save it to the same directory as <TT>glossary.sty</TT>.) <P> -The <TT>name</TT><A NAME="2535"></A> key is not used in <I>glossary +The <TT>name</TT><A NAME="2723"></A> key does not need to appear in <I>glossary entry</I>, as it is constructed from <I>long</I> and <I>acronym</I>. By default this will be in the form: <I>long</I> (<I>acronym</I>), however the format can be @@ -955,8 +1049,8 @@ command: <BR> Within <I>format</I> the following commands may be used to represent <I>long</I> and <I>acronym</I>: -<TT>\glolong</TT><A NAME="2541"></A> and -<TT>\gloshort</TT><A NAME="2546"></A>. For example, +<TT>\glolong</TT><A NAME="2729"></A> and +<TT>\gloshort</TT><A NAME="2734"></A>. For example, suppose you just want the acronym to appear in the glossary entry, and not its full length name, then you would need to do: <PRE> @@ -970,11 +1064,11 @@ key is formatted for acronyms using: <BR><TT>\setacronymdescfmt</TT>{<I>format</I>} <BR> <BR> -Within <I>format</I> you may use the commands <TT>\glolong</TT><A NAME="2553"></A> -and <TT>\gloshort</TT><A NAME="2558"></A> (as above), and you can also use -the command <TT>\glodesc</TT><A NAME="2563"></A> which is the description as -specified by the <TT>description</TT><A NAME="2568"></A> key in -<TT>\newacronym</TT><A NAME="2572"></A>. This means that if you are using +Within <I>format</I> you may use the commands <TT>\glolong</TT><A NAME="2741"></A> +and <TT>\gloshort</TT><A NAME="2746"></A> (as above), and you can also use +the command <TT>\glodesc</TT><A NAME="2751"></A> which is the description as +specified by the <TT>description</TT><A NAME="2756"></A> key in +<TT>\newacronym</TT><A NAME="2760"></A>. This means that if you are using a tabular style glossary, you can have the abbreviated form in one column and the long form in the second column with the description. For example, the following: @@ -989,7 +1083,7 @@ will generate a glossary entry of the form: \glossary{name=svm,description=support vector machine: Statistical pattern recognition technique} </PRE> -Note that if you omit <TT>\glodesc</TT><A NAME="2577"></A> from +Note that if you omit <TT>\glodesc</TT><A NAME="2765"></A> from <TT>\setacronymdescfmt</TT> the description specified in <TT>\newacronym</TT> will be ignored. So <PRE> @@ -1004,6 +1098,16 @@ will generate a glossary entry of the form: </PRE> <P> +You will need to specify the <TT>name</TT><A NAME="2774"></A> key explicitly if +the name contains a <TT>makeindex</TT><A NAME="2778"></A> special character. +For example: +<PRE> +\newacronym{RNA}{Ribonukleins\"aure}{name={Ribonukleins\""aure (RNA)}} +</PRE> +Note that this will override any formatting specified by +<TT>\setacronymnamefmt</TT><A NAME="2781"></A>. + +<P> Given an acronym named <I>acr-name</I> (the command name associated with the acronym as defined in <TT>\newacronym</TT> without the preceding backslash), @@ -1079,22 +1183,22 @@ The other two commands, simply contain <I>long</I> and <P> Note that since these four commands do not generate glossary entries they will therefore not contain any hyperlinks, even if -you have specified the <TT>hyper</TT><A NAME="2627"></A> package option. They are +you have specified the <TT>hyper</TT><A NAME="2827"></A> package option. They are provided for use in situations where the associated glossary -command may cause problems (e.g. in the table of contents entry.) +command may cause problems (e.g. in a sectioning command.) <P> Note that, as with all LaTeX commands, spaces following command names are ignored so if, for example, you defined -a new acronym called, say, SVM, then the <code>\SVM</code> will +a new acronym called, say, SVM, then the command <code>\SVM</code> will ignore any spaces following it. To force a space, you can either place an empty set of braces after the command name (e.g. <code>\SVM{}</code>) or use <TT>\_</TT> i.e. a backslash followed by a space (e.g. <code>\SVM\ </code>). Alternatively, as from -version 2.22, if you load the <TT>xspace</TT><A NAME="2633"></A> package -before loading the <TT>glossary</TT><A NAME="2636"></A> package, spaces will -be put in automatically using <TT>\xspace</TT><A NAME="2639"></A>. +version 2.22, if you load the <TT>xspace</TT><A NAME="2833"></A> package +before loading the <TT>glossary</TT><A NAME="2836"></A> package, spaces will +be put in automatically using <TT>\xspace</TT><A NAME="2839"></A>. <P> If you want the acronym to appear in a particular font, @@ -1186,7 +1290,7 @@ techniques are widely used ...(Assuming this is the first use of either <TT>\SVM</TT> or <TT>\SVM*</TT>.) <P> -Alternatively, <TT>\useacronym</TT><A NAME="2664"></A><code>{SVM}</code> can be used instead of +Alternatively, <TT>\useacronym</TT><A NAME="2864"></A><code>{SVM}</code> can be used instead of <TT>\SVM</TT>. For example: <PRE> \useacronym*[s]{SVM} are widely used in the area of pattern @@ -1211,7 +1315,7 @@ SVMs are widely used in the area of pattern recognition. <H1><A NAME="SECTION000100000000000000000"> Customizing the Glossary</A> </H1> -The <TT>glossary</TT><A NAME="2671"></A> package provides commands which can be redefined to customize the +The <TT>glossary</TT><A NAME="2871"></A> package provides commands which can be redefined to customize the glossary. The following name commands are defined by this package: <DIV ALIGN="CENTER"> <TABLE CELLPADDING=3> @@ -1232,6 +1336,16 @@ glossary. The following name commands are defined by this package: </TR> </TABLE> </DIV> +The commands <TT>\entryname</TT> and <TT>\descriptionname</TT> +are put in the first two columns of the header row if you +are using one of the tabular glossary styles together with a +header row (as specified by the <TT>header=true</TT><A NAME="2895"></A> package option). +If you are using <TT>cols=3</TT><A NAME="2904"></A>, the command +<TT>\glspageheader</TT> will be +put in the third column of the header row. By default, this command +does nothing. + +<P> The command <TT>\shortglossaryname</TT> is used for the page headers and table of contents entry. Any text required before or after the glossary can be added @@ -1264,7 +1378,7 @@ second glossary, but not the first. <P> Individual glossaries can have their styles changed either by setting the style in the final optional argument -to <TT>\newglossarystyle</TT><A NAME="2700"></A> (see +to <TT>\newglossarystyle</TT><A NAME="2924"></A> (see <A HREF="#sec:newglostype">earlier</A>) or using the command: <BR> @@ -1284,16 +1398,16 @@ can be used to modify some of the glossary settings. The argument <I>key-val list</I> is a comma-separated list of <I>key</I>=<I>value</I> pairs. Available keys are: <DL> -<DT><STRONG><TT>type</TT><A NAME="2709"></A></STRONG></DT> +<DT><STRONG><TT>type</TT><A NAME="2933"></A></STRONG></DT> <DD>This is the glossary type. If it is omitted, the standard glossary is assumed. <P> </DD> -<DT><STRONG><TT>glsnumformat</TT><A NAME="2713"></A></STRONG></DT> +<DT><STRONG><TT>glsnumformat</TT><A NAME="2937"></A></STRONG></DT> <DD>This is the name of the command, <I>without</I> the preceding backslash<A NAME="tex2html4" - HREF="#foot1544"><SUP>3</SUP></A>, to format the + HREF="#foot1613"><SUP>3</SUP></A>, to format the entry numbers. For example, to make all the entry numbers italic, do: <PRE> @@ -1306,19 +1420,19 @@ To suppress numbering altogether, you can do: <P> </DD> -<DT><STRONG><TT>glodelim</TT><A NAME="2719"></A></STRONG></DT> +<DT><STRONG><TT>glodelim</TT><A NAME="2943"></A></STRONG></DT> <DD>This specifies what to do after the entry description and -before the page numbers. The default value is a comma, unless the <TT>cols=3</TT><A NAME="2730"></A> option is specified, +before the page numbers. The default value is a comma, unless the <TT>cols=3</TT><A NAME="2954"></A> option is specified, in which case it has the value <code>&</code>, or if -<TT>style=altlist</TT><A NAME="2739"></A>, +<TT>style=altlist</TT><A NAME="2963"></A>, in which case it is simply a space<A NAME="tex2html5" - HREF="#foot1545"><SUP>4</SUP></A>. If the package option <TT>number=none</TT><A NAME="2748"></A> is -specified, <TT>glodelim</TT><A NAME="2750"></A> will have an empty value (unless -<TT>cols=3</TT><A NAME="2761"></A> is specified, + HREF="#foot1614"><SUP>4</SUP></A>. If the package option <TT>number=none</TT><A NAME="2972"></A> is +specified, <TT>glodelim</TT><A NAME="2974"></A> will have an empty value (unless +<TT>cols=3</TT><A NAME="2985"></A> is specified, where, again, it will have the value <code>&</code>.) -This setting corresponds to the <TT>delim_0</TT><A NAME="2763"></A> key in the -<TT>makeindex</TT><A NAME="2765"></A> style file. +This setting corresponds to the <TT>delim_0</TT><A NAME="2987"></A> key in the +<TT>makeindex</TT><A NAME="2989"></A> style file. <P> Note that if you want a new line between the description @@ -1330,51 +1444,51 @@ and the list of page numbers you will need to use <P> </DD> -<DT><STRONG><TT>delimN</TT><A NAME="2770"></A></STRONG></DT> +<DT><STRONG><TT>delimN</TT><A NAME="2994"></A></STRONG></DT> <DD> The delimiter to be inserted between two page numbers for the same entry. (This corresponds to the -<TT>delim_n</TT><A NAME="2774"></A> key in the <TT>makeindex</TT><A NAME="2776"></A> style file.) +<TT>delim_n</TT><A NAME="2998"></A> key in the <TT>makeindex</TT><A NAME="3000"></A> style file.) By default, this has the value <TT>,_</TT> (comma followed by a space). If the -package option <TT>number=none</TT><A NAME="2786"></A> is chosen, the value is set +package option <TT>number=none</TT><A NAME="3010"></A> is chosen, the value is set to empty. <P> </DD> -<DT><STRONG><TT>delimR</TT><A NAME="2788"></A></STRONG></DT> +<DT><STRONG><TT>delimR</TT><A NAME="3012"></A></STRONG></DT> <DD> The delimiter to be inserted between the starting and ending page number range for the same entry. (This corresponds to the -<TT>delim_r</TT><A NAME="2792"></A> key in the <TT>makeindex</TT><A NAME="2794"></A> style file.) +<TT>delim_r</TT><A NAME="3016"></A> key in the <TT>makeindex</TT><A NAME="3018"></A> style file.) By default, this has the value <code>--</code>. If the -package option <TT>number=none</TT><A NAME="2804"></A> is chosen, the value is set +package option <TT>number=none</TT><A NAME="3028"></A> is chosen, the value is set to empty. <P> </DD> -<DT><STRONG><TT>gloskip</TT><A NAME="2806"></A></STRONG></DT> +<DT><STRONG><TT>gloskip</TT><A NAME="3030"></A></STRONG></DT> <DD> This specifies what to do between groups. -If <TT>style=list</TT><A NAME="2817"></A> or <TT>style=altlist</TT><A NAME="2826"></A> this has the -value <TT>\indexspace</TT>, otherwise it creates a blank line +If <TT>style=list</TT><A NAME="3041"></A> or <TT>style=altlist</TT><A NAME="3050"></A> this has the +value <TT>\indexspace</TT>, otherwise it creates a blank row in the <TT>longtable</TT> or <TT>supertabular</TT> environment. -This command corresponds to the <TT>group_skip</TT><A NAME="2832"></A> key in -the <TT>makeindex</TT><A NAME="2834"></A> style file. +This command corresponds to the <TT>group_skip</TT><A NAME="3056"></A> key in +the <TT>makeindex</TT><A NAME="3058"></A> style file. Note that as from version 2.3, you should no longer redefine the command <TT>\gloskip</TT>. <P> </DD> -<DT><STRONG><TT>delimT</TT><A NAME="2839"></A></STRONG></DT> +<DT><STRONG><TT>delimT</TT><A NAME="3063"></A></STRONG></DT> <DD> The text to be inserted after the list of page numbers for an entry. (This corresponds to the -<TT>delim_t</TT><A NAME="2843"></A> key in the <TT>makeindex</TT><A NAME="2845"></A> style file.) +<TT>delim_t</TT><A NAME="3067"></A> key in the <TT>makeindex</TT><A NAME="3069"></A> style file.) The default value depends on the glossary style. It does nothing for the list-type styles, and has the value <code>\\</code> for the tabular-type styles. Note that -<TT>delimT</TT><A NAME="2848"></A> is separate from <TT>\glsafternum</TT>. +<TT>delimT</TT><A NAME="3072"></A> is separate from <TT>\glsafternum</TT>. <P> For example, if you are using a 2 column tabular style, @@ -1383,7 +1497,9 @@ after every group) you can do the following: <PRE> \setglossary{delimT={\cr & \cr},gloskip={}} </PRE> -Note the use of <TT>\cr</TT> instead of <code>\\</code>. +Note the use of <TT>\cr</TT> instead of <code>\\</code> and +<TT>gloskip</TT><A NAME="3080"></A> is set to nothing otherwise there would be +a double space between groups. </DD> </DL> Note that: @@ -1396,49 +1512,26 @@ is equivalent to </PRE> <P> -The number associated with each entry is, by default, the page number where - that entry was defined. If the package option -<TT>number=section</TT><A NAME="2863"></A> has been chosen, this - will be the section number instead. You can choose a different counter - by changing the value of the command <TT>\theglossarynum</TT>. -For example, suppose you have the following code: -<PRE> -\begin{equation} -\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -\end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} -</PRE> -and you want the glossary to refer to the equation number, instead of the -page or section number, this can be done by redefining <TT>\theglossarynum</TT> -as follows: -<PRE> -\renewcommand{\theglossarynum}{\theequation} -</PRE> -If the equation number depends on another counter (such as -<TT>chapter</TT>) -you will need to specify that the number is in the form <I>NUM</I>.<I>num</I> - (e.g. 3.24). This can be done by redefining the <TT>\pagecompositor</TT> command: +As from version 2.4, +you can insert text between groups by redefining the +commands <TT>\glogroupSymbols</TT>, +<TT>\glogroupNumbers</TT>, <TT>\glogroupA</TT> ... <TT>\glogroupZ</TT>. For example, if you are using one +of the list styles, the following will print the appropriate +heading in bold, followed by a gap: <PRE> -\renewcommand{\pagecompositor}{.} +\renewcommand{\glogroupSymbols}{\textbf{Symbols}\indexspace} +\renewcommand{\glogroupNumbers}{\textbf{Numbers}\indexspace} +\renewcommand{\glogroupA}{\textbf{A}\indexspace} +....% similar lines omitted +\renewcommand{\glosgroupZ}{\textbf{Z}\indexspace} </PRE> -(By default this value is <TT>-</TT>, unless the package option -<TT>number=section</TT><A NAME="2878"></A> has -been chosen, in which case this command has the value <TT>.</TT> -(full stop), as in the example above). -The <TT>\pagecompositor</TT> command must be -redefined before <TT>\makeglossary</TT><A NAME="2882"></A> for it to have any effect. -If the package option <TT>number=none</TT><A NAME="2894"></A> is used, -the numbering will be suppressed, regardless -of the value of <TT>\theglossarynum</TT><A NAME="2896"></A>. -This command corresponds to the <TT>page_compositor</TT><A NAME="2901"></A> key -in the <TT>makeindex</TT><A NAME="2903"></A> style file. <P> The start and end of the main body of the glossary is given by the commands: <TT>\beforeglossary</TT> and <TT>\afterglossary</TT>. -If the <TT>style=list</TT><A NAME="2917"></A> -or <TT>style=altlist</TT><A NAME="2926"></A> +If the <TT>style=list</TT><A NAME="3103"></A> +or <TT>style=altlist</TT><A NAME="3112"></A> package options are chosen these commands simply begin and end the <TT>description</TT> environment, otherwise these commands begin and end the @@ -1446,27 +1539,27 @@ environment, otherwise these commands begin and end the <TT>supertabular</TT> environment with argument specified by <TT>\glossaryalignment</TT><A NAME="tex2html6" - HREF="#foot1100"><SUP>5</SUP></A>. + HREF="#foot1148"><SUP>5</SUP></A>. <P> -The glossary package no longer conflicts with the <TT>array</TT><A NAME="2933"></A> +The glossary package no longer conflicts with the <TT>array</TT><A NAME="3119"></A> package. Changes can now be made to <TT>\glossaryalignment</TT> -regardless of whether or not the <TT>array</TT><A NAME="2938"></A> +regardless of whether or not the <TT>array</TT><A NAME="3124"></A> package has been used. <P> The command <TT>\gloitem</TT> indicates what to do at the start of each glossary entry. -This command takes one argument, which will be the text specified by the <TT>name</TT><A NAME="2943"></A> key -in the <TT>\glossary</TT><A NAME="2947"></A> command. In the case of the -<TT>style=list</TT><A NAME="2959"></A> option, +This command takes one argument, which will be the text specified by the <TT>name</TT><A NAME="3129"></A> key +in the <TT>\glossary</TT><A NAME="3133"></A> command. In the case of the +<TT>style=list</TT><A NAME="3145"></A> option, <TT>\gloitem</TT><code>{</code><I>text</I><code>}</code> will do <BR> <BR><code>\item[</code><I>text</I><code>]</code> <BR> <BR> -or if <TT>style=altlist</TT><A NAME="2970"></A>: +or if <TT>style=altlist</TT><A NAME="3156"></A>: <BR> <BR><code>\item[</code><I>text</I><code>]\mbox{}\par</code> <BR> @@ -1476,29 +1569,57 @@ otherwise it will do <BR><I>text</I><code> &</code> <BR> <BR> -This command corresponds to the <TT>item_0</TT><A NAME="2972"></A> key in the -<TT>makeindex</TT><A NAME="2974"></A> style file. +This command corresponds to the <TT>item_0</TT><A NAME="3158"></A> key in the +<TT>makeindex</TT><A NAME="3160"></A> style file. <P> -The command <TT>\glossaryheader</TT> (if <TT>style=long</TT><A NAME="2986"></A> or <TT>style=super</TT><A NAME="2995"></A> is selected) -indicates what to do at the start of the <TT>longtable</TT> or -<TT>supertabular</TT> environment. If <TT>border=none</TT><A NAME="3006"></A>, it -is defined as: +If the glossary has a tabular style with a header row +(<TT>header=true</TT><A NAME="3170"></A> and either <TT>style=long</TT><A NAME="3179"></A> or +<TT>style=super</TT><A NAME="3188"></A>), then the header row for <TT>cols=2</TT><A NAME="3197"></A> +will be given by: <PRE> \bfseries\entryname & \bfseries \descriptionname\\ </PRE> -So, if you want the <TT>\descriptionname</TT><A NAME="3008"></A> to be centred, you could do: +and the header row for <TT>cols=3</TT><A NAME="3206"></A> will be given by: <PRE> -\renewcommand{\glossaryheader}{\bfseries\entryname & +\bfseries\entryname & \bfseries\descriptionname & +\bfseries\glspageheader\\ +</PRE> +(It may also contain <TT>\hline\hline</TT> if the +<TT>border</TT><A NAME="3217"></A> key is set.) + +<P> +If you want to override this, you need to define the command +<TT>\glossaryheader</TT><A NAME="tex2html7" + HREF="#foot1616"><SUP>6</SUP></A>. + +<P> +For example, if you are using a tabular style with <TT>cols=2</TT><A NAME="3234"></A>, +and you want the <TT>\descriptionname</TT><A NAME="3236"></A> to be centred, you could +do: +<PRE> +\newcommand{\glossaryheader}{\bfseries\entryname & \hfil\bfseries\descriptionname\\} </PRE> + +<P> +If you want an extra row below the header row, you can define +the command<TT>\glossarysubheader</TT> + +For example, if you are using <TT>cols=3</TT><A NAME="3250"></A>, and you want an +extra row after the header row, you can do: +<PRE> +\newcommand{\glossarysubheader}{ & & \\} +</PRE> + +<P> The command <TT>\glosstail</TT> indicates what to do at the end of the <TT>longtable</TT> or <TT>supertabular</TT> environment. <P> The width of the second column for the tabular-type styles is given by the length <TT>\descriptionwidth</TT>. This value can be changed using -the <TT>\setlength</TT> command (the default value is <code>0.6\textwidth</code>). +the <TT>\setlength</TT> command (the default value is <code>0.6\linewidth</code>). <P> @@ -1509,10 +1630,10 @@ This package comes with the following sample documents: <UL> <LI><TT>sampleSec.tex</TT> -- This document uses the options: -<TT>style=altlist</TT><A NAME="3028"></A>, <TT>toc</TT><A NAME="3035"></A> and -<TT>number=section</TT><A NAME="3046"></A>. It also loads the -<TT>hyperref</TT><A NAME="3048"></A> package before loading the -<TT>glossary</TT><A NAME="3051"></A> package, so the glossary has hyperlinks +<TT>style=altlist</TT><A NAME="3267"></A>, <TT>toc</TT><A NAME="3274"></A> and +<TT>number=section</TT><A NAME="3285"></A>. It also loads the +<TT>hyperref</TT><A NAME="3287"></A> package before loading the +<TT>glossary</TT><A NAME="3290"></A> package, so the glossary has hyperlinks to the section numbers. Experimenting with different package options, will illustrate the different glossary styles. You will need to do: @@ -1522,7 +1643,7 @@ makeglos.pl sampleSec pdflatex sampleSec pdflatex sampleSec </PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3054"></A>, you will need +If you don't want to use <TT>makeglos.pl</TT><A NAME="3293"></A>, you will need to do <PRE> makeindex -s sampleSec.ist -t sampleSec.glg -o sampleSec.gls sampleSec.glo @@ -1541,7 +1662,7 @@ makeglos.pl sampleNtn latex sampleNtn latex sampleNtn </PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3057"></A>, you will need +If you don't want to use <TT>makeglos.pl</TT><A NAME="3296"></A>, you will need to do <PRE> makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo @@ -1551,22 +1672,23 @@ makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.ntn sampleNtn.not <P> </LI> <LI><TT>sampleNtn2.tex</TT> --This is similar to -<TT>sampleNtn.tex</TT>, but uses <TT>\storeglosentry</TT><A NAME="3060"></A>. +<TT>sampleNtn.tex</TT>, but uses <TT>\storeglosentry</TT><A NAME="3299"></A>. <P> </LI> <LI><TT>sampleEq.tex</TT> -- This has a glossary where the numbers in the glossary refer to the equation number rather than -the page number. The <TT>\pagecompositor</TT><A NAME="3065"></A>, -<TT>\theglossarynum</TT><A NAME="3070"></A>, <TT>\glossaryname</TT><A NAME="3075"></A> and -<TT>\glossaryheader</TT><A NAME="3080"></A> are all redefined to customize the +the page number (achieved with the package option +<TT>number=equation</TT><A NAME="3311"></A>). The <TT>\entryname</TT><A NAME="3313"></A>, +<TT>\descriptionname</TT><A NAME="3318"></A>, <TT>\glossaryname</TT><A NAME="3323"></A> and +<TT>\glspageheader</TT><A NAME="3328"></A> are all redefined to customize the glossary. You will need to do: <PRE> latex sampleEq makeglos.pl sampleEq latex sampleEq </PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3085"></A>, you will need +If you don't want to use <TT>makeglos.pl</TT><A NAME="3333"></A>, you will need to do <PRE> makeindex -s sampleEq.ist -t sampleEq.glg -o sampleEq.gls sampleEq.glo @@ -1584,7 +1706,7 @@ latex sampleEqPg makeglos.pl sampleEqPg latex sampleEqPg </PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3088"></A>, you will need +If you don't want to use <TT>makeglos.pl</TT><A NAME="3336"></A>, you will need to do <PRE> makeindex -s sampleEqPg.ist -t sampleEqPg.glg -o sampleEqPg.gls sampleEqPg.glo @@ -1593,9 +1715,9 @@ makeindex -s sampleEqPg.ist -t sampleEqPg.glg -o sampleEqPg.gls sampleEqPg.glo <P> </LI> <LI><TT>sampleAcr.tex</TT> -- This has a glossary containing -acronyms. It uses the style <TT>altlist</TT><A NAME="3091"></A> as this is better +acronyms. It uses the style <TT>altlist</TT><A NAME="3339"></A> as this is better suited to glossaries with long names. It also uses the -<TT>hyperref</TT><A NAME="3093"></A> package, so the page numbers in the +<TT>hyperref</TT><A NAME="3341"></A> package, so the page numbers in the glossary will automatically be hyperlinks, and the acronyms within the text will have hyperlinks to their corresponding entry in the glossary. You will need to do: @@ -1605,7 +1727,7 @@ makeglos.pl sampleAcr pdflatex sampleAcr pdflatex sampleAcr </PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3096"></A>, you will need +If you don't want to use <TT>makeglos.pl</TT><A NAME="3344"></A>, you will need to do <PRE> makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo @@ -1615,9 +1737,9 @@ makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo </LI> <LI><TT>sample.tex</TT> -- This has a glossary entry with two different definitions of the same name. -If you just use <TT>makeindex</TT><A NAME="3099"></A>, the two entries +If you just use <TT>makeindex</TT><A NAME="3347"></A>, the two entries will be treated separately, however, if you want them -concatenated, you can use <TT>makeglos.pl</TT><A NAME="3102"></A> with +concatenated, you can use <TT>makeglos.pl</TT><A NAME="3350"></A> with the <TT>-m</TT> switch. You will need to do: <PRE> pdflatex sample @@ -1627,16 +1749,17 @@ pdflatex sample </PRE> (Depending on the configuration of your system, you may have to do <TT>perl makeglos.pl</TT> instead of -just <TT>makeglos.pl</TT><A NAME="3105"></A>) +just <TT>makeglos.pl</TT><A NAME="3353"></A>) <P> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3108"></A>, you will need +If you don't want to use <TT>makeglos.pl</TT><A NAME="3356"></A>, you will need to do <PRE> makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo </PRE> however, the entries with the same name but multiple descriptions -will not be merged. +will not be merged. You will also have to given them different sort +keys otherwise you will get duplicate hyper targets. <P> </LI> @@ -1662,10 +1785,10 @@ LaTeX2HTML Style File </H1> <P> -A LaTeX2HTML Perl script, <TT>glossary.perl</TT><A NAME="3111"></A>, is +A LaTeX2HTML Perl script, <TT>glossary.perl</TT><A NAME="3359"></A>, is provided with this package for those wishing to use the glossary package with the LaTeX2HTML translator. -The file <TT>glossary.perl</TT><A NAME="3113"></A> should be extracted +The file <TT>glossary.perl</TT><A NAME="3361"></A> should be extracted along with <TT>glossary.sty</TT> when you run the installation script (<TT>glossary.ins</TT>) through LaTeX. @@ -1679,8 +1802,8 @@ Limitations</A> <UL> <LI>The only package options supported are: -<TT>style=altlist</TT><A NAME="3122"></A>, <TT>hyper=true</TT><A NAME="3131"></A>, <TT>toc=true</TT><A NAME="3140"></A>, -<TT>acronym=true</TT><A NAME="3149"></A> and <TT>acronym=false</TT><A NAME="3158"></A>. +<TT>style=altlist</TT><A NAME="3370"></A>, <TT>hyper=true</TT><A NAME="3379"></A>, <TT>toc=true</TT><A NAME="3388"></A>, +<TT>acronym=true</TT><A NAME="3397"></A> and <TT>acronym=false</TT><A NAME="3406"></A>. <P> </LI> @@ -1693,18 +1816,18 @@ as the primary glossary if you use the command <P> </LI> -<LI>The command <TT>\setglossary</TT><A NAME="3160"></A> must be +<LI>The command <TT>\setglossary</TT><A NAME="3408"></A> must be placed in the preamble to have an effect. <P> </LI> -<LI>The <TT>\storeglosentry</TT><A NAME="3165"></A> commands must be in +<LI>The <TT>\storeglosentry</TT><A NAME="3413"></A> commands must be in the document environment to have an effect. (They don't seem to work in the preamble, I don't know why.) <P> </LI> -<LI>If you place a <TT>\glossary</TT><A NAME="3170"></A> command +<LI>If you place a <TT>\glossary</TT><A NAME="3418"></A> command inside an environment not translated by LaTeX2HTML (for example, inside a mathematics environment), it will not be entered into the glossary. @@ -1715,7 +1838,7 @@ it will not be entered into the glossary. and <code>"@</code> will be correctly translated, unless they occur within a maths environment. This is because the maths environment is translated before being -passed to <TT>\glossary</TT><A NAME="3175"></A>. You can overcome this +passed to <TT>\glossary</TT><A NAME="3423"></A>. You can overcome this by doing, e.g.: <BR><TT>\begin</TT><code>{latexonly}</code> <BR><code>\glossary{name=$"|\mathcal{S}"|$,description=cardinality of set</code> @@ -1740,12 +1863,6 @@ definitions will not be merged. <P> </LI> -<LI>The command <TT>\theglossarynum</TT><A NAME="3190"></A> is ignored -by LaTeX2HTML, as page numbers have no meaning within -HTML files. - -<P> -</LI> <LI>The configuration file <TT>glossary.cfg</TT> is ignored. <P> @@ -1762,7 +1879,7 @@ Troubleshooting <P> This is a list of common problems, for a more up-to-date FAQ, see -<TT><A NAME="tex2html7" +<TT><A NAME="tex2html8" HREF="http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/">http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/</A></TT>. <P> @@ -1774,37 +1891,37 @@ This is a list of common problems, for a more up-to-date FAQ, see Check the following: <UL> -<LI>Have you included the command <TT>\makeglossary</TT><A NAME="3195"></A> +<LI>Have you included the command <TT>\makeglossary</TT><A NAME="3438"></A> in the preamble? <P> </LI> -<LI>Have you put the command <TT>\printglossary</TT><A NAME="3200"></A> where +<LI>Have you put the command <TT>\printglossary</TT><A NAME="3443"></A> where you want the glossary to appear? <P> </LI> -<LI>Have you used <TT>makeglos.pl</TT><A NAME="3205"></A> or <TT>makeindex</TT><A NAME="3208"></A>, -and if you did, did it successfully create the <TT>gls</TT><A NAME="3211"></A> -file? (Check the transcript <TT>glg</TT><A NAME="3213"></A> file.) +<LI>Have you used <TT>makeglos.pl</TT><A NAME="3448"></A> or <TT>makeindex</TT><A NAME="3451"></A>, +and if you did, did it successfully create the <TT>gls</TT><A NAME="3454"></A> +file? (Check the transcript <TT>glg</TT><A NAME="3456"></A> file.) <P> <UL> -<LI>If you used <TT>makeindex</TT><A NAME="3215"></A> directly, did you specify -the <TT>ist</TT><A NAME="3218"></A> file created by <TT>\makeglossary</TT><A NAME="3220"></A>, +<LI>If you used <TT>makeindex</TT><A NAME="3458"></A> directly, did you specify +the <TT>ist</TT><A NAME="3461"></A> file created by <TT>\makeglossary</TT><A NAME="3463"></A>, and did you remember to specify the output file with the extension -<TT>gls</TT><A NAME="3225"></A>? +<TT>gls</TT><A NAME="3468"></A>? <P> </LI> -<LI>When <TT>makeindex</TT><A NAME="3227"></A> scans the <TT>ist</TT><A NAME="3230"></A> file, +<LI>When <TT>makeindex</TT><A NAME="3470"></A> scans the <TT>ist</TT><A NAME="3473"></A> file, it should generate the message: <PRE> 9 attributes redefined, 0 ignored </PRE> If you have a number other than 0 ignored, then there is something -wrong with the <TT>ist</TT><A NAME="3232"></A> file. Some packages can cause +wrong with the <TT>ist</TT><A NAME="3475"></A> file. Some packages can cause problems with the creation of this file, see item <A HREF="#itm:ngerman">16</A> below. </LI> @@ -1813,17 +1930,17 @@ item <A HREF="#itm:ngerman">16</A> below. <P> </LI> <LI>Have you remembered to LaTeX your document again -after using <TT>makeglos.pl</TT><A NAME="3234"></A> or <TT>makeindex</TT><A NAME="3237"></A>? +after using <TT>makeglos.pl</TT><A NAME="3477"></A> or <TT>makeindex</TT><A NAME="3480"></A>? <P> </LI> -<LI>Have you used <TT>\glossary</TT><A NAME="3240"></A> or <TT>\xglossary</TT><A NAME="3245"></A>? +<LI>Have you used <TT>\glossary</TT><A NAME="3483"></A> or <TT>\xglossary</TT><A NAME="3488"></A>? <P> </LI> -<LI>If you have used <TT>\storeglosentry</TT><A NAME="3250"></A>, have you also -used <TT>\useglosentry</TT><A NAME="3255"></A>, <TT>\useGlosentry</TT><A NAME="3260"></A> or -<TT>\gls</TT><A NAME="3265"></A>? +<LI>If you have used <TT>\storeglosentry</TT><A NAME="3493"></A>, have you also +used <TT>\useglosentry</TT><A NAME="3498"></A>, <TT>\useGlosentry</TT><A NAME="3503"></A> or +<TT>\gls</TT><A NAME="3508"></A>? </LI> </UL> @@ -1836,9 +1953,9 @@ all the analogous commands to the above? <LI>My list of acronyms hasn't appeared. <P> -Have you used the <TT>acronym=true</TT><A NAME="3277"></A> package option? If no, +Have you used the <TT>acronym=true</TT><A NAME="3520"></A> package option? If no, check the answers to the previous item, if yes, make sure -you have used <TT>\makeacronym</TT><A NAME="3279"></A> and <TT>\printacronym</TT><A NAME="3284"></A>. +you have used <TT>\makeacronym</TT><A NAME="3522"></A> and <TT>\printacronym</TT><A NAME="3527"></A>. Have you used any of the acronyms you have defined? Remember that <TT>\acrsh</TT>, <TT>\acrln</TT>, <TT>\</TT><I>acr-name</I><TT>short</TT> and @@ -1854,17 +1971,17 @@ name of an acronym command. By default, if any of your acronym commands occur within a group (this includes environments which form implicit grouping) the effect will be local to that group. You can either unset -the acronym outside the group, or use the <TT>global</TT><A NAME="3304"></A> +the acronym outside the group, or use the <TT>global</TT><A NAME="3547"></A> package option. <P> </LI> <LI>I get an error when using the command -<TT>\saveglosentry</TT><A NAME="3308"></A>. +<TT>\saveglosentry</TT><A NAME="3551"></A>. <P> Don't use this command it's obsolete, use -<TT>\storeglosentry</TT><A NAME="3313"></A> instead. +<TT>\storeglosentry</TT><A NAME="3556"></A> instead. <P> </LI> @@ -1874,14 +1991,14 @@ Don't use this command it's obsolete, use Check the following <UL> -<LI>If you defined the entry using <TT>\storeglosentry</TT><A NAME="3318"></A> -have you used either <TT>\useglosentry</TT><A NAME="3323"></A>, -<TT>\useGlosentry</TT><A NAME="3328"></A> or <TT>\gls</TT><A NAME="3333"></A>? +<LI>If you defined the entry using <TT>\storeglosentry</TT><A NAME="3561"></A> +have you used either <TT>\useglosentry</TT><A NAME="3566"></A>, +<TT>\useGlosentry</TT><A NAME="3571"></A> or <TT>\gls</TT><A NAME="3576"></A>? <P> </LI> -<LI>Have you remembered to <TT>\protect</TT><A NAME="3338"></A> commands -such as <TT>\mathcal</TT> within <TT>\storeglosentry</TT><A NAME="3345"></A>? +<LI>Have you remembered to <TT>\protect</TT><A NAME="3581"></A> commands +such as <TT>\mathcal</TT> within <TT>\storeglosentry</TT><A NAME="3588"></A>? <P> </LI> @@ -1892,7 +2009,7 @@ with a double quote character? </UL> <P> -Check the <TT>makeindex</TT><A NAME="3350"></A> log file to see if there are +Check the <TT>makeindex</TT><A NAME="3593"></A> log file to see if there are any error messages. <P> @@ -1900,7 +2017,7 @@ any error messages. <LI>My glossary has duplicate entries on separate lines. <P> -LaTeX treats multiple spaces equivalent to a single space, but <TT>makeindex</TT><A NAME="3353"></A> +LaTeX treats multiple spaces equivalent to a single space, but <TT>makeindex</TT><A NAME="3596"></A> takes spaces into account when determining whether two entries are identical. For example: <PRE> @@ -1912,28 +2029,28 @@ and \glossary{name=Identity matrix, description=diagonal matrix with 1's along the diagonal} </PRE> -will be treated as different entries by <TT>makeindex</TT><A NAME="3356"></A>, +will be treated as different entries by <TT>makeindex</TT><A NAME="3599"></A>, because the first has only one space between `Identity' and `matrix' and the second has two. The easiest way to ensure consistency is to use -<TT>\storeglosentry</TT><A NAME="3359"></A> together with <TT>\useglosentry</TT><A NAME="3364"></A>, -<TT>\useGlosentry</TT><A NAME="3369"></A> or <TT>\gls</TT><A NAME="3374"></A>. +<TT>\storeglosentry</TT><A NAME="3602"></A> together with <TT>\useglosentry</TT><A NAME="3607"></A>, +<TT>\useGlosentry</TT><A NAME="3612"></A> or <TT>\gls</TT><A NAME="3617"></A>. <P> </LI> <LI>I had an error, fixed it, but I keep getting the same error message. <P> -Suppose you've made an error in the <TT>\glossary</TT><A NAME="3379"></A> command. For example: +Suppose you've made an error in the <TT>\glossary</TT><A NAME="3622"></A> command. For example: <PRE> \glossary{name=Java,description=A programming language,format=texbf} </PRE> -In this case <TT>textbf</TT> has been mis-spelt. This error will be copied to the <TT>glo</TT><A NAME="3384"></A> file, -which in turn will be copied to the <TT>gls</TT><A NAME="3386"></A> file by -<TT>makeindex</TT><A NAME="3388"></A>. A subsequent run of LaTeX will +In this case <TT>textbf</TT> has been mis-spelt. This error will be copied to the <TT>glo</TT><A NAME="3627"></A> file, +which in turn will be copied to the <TT>gls</TT><A NAME="3629"></A> file by +<TT>makeindex</TT><A NAME="3631"></A>. A subsequent run of LaTeX will read this error in. If you fix the error in your main document, the error will still be read in from -the <TT>gls</TT><A NAME="3391"></A> file. The best thing to do is to delete the -<TT>gls</TT><A NAME="3393"></A> file, and try again. +the <TT>gls</TT><A NAME="3634"></A> file. The best thing to do is to delete the +<TT>gls</TT><A NAME="3636"></A> file, and try again. <P> </LI> @@ -1941,11 +2058,11 @@ the <TT>gls</TT><A NAME="3391"></A> file. The best thing to do is to delete the <P> This may occur if you have long entry names, and you are using -either the <TT>style=long</TT><A NAME="3402"></A> or <TT>style=super</TT><A NAME="3411"></A> +either the <TT>style=long</TT><A NAME="3645"></A> or <TT>style=super</TT><A NAME="3654"></A> options. The width of the description column is proportional to -the text width (in fact, it's <code>0.6\textwidth</code>) +the line width (in fact, it's <code>0.6\linewidth</code>) but the first column is as wide as the widest entry name. You -can either redefine <TT>\glossaryalignment</TT><A NAME="3413"></A> to change the +can either redefine <TT>\glossaryalignment</TT><A NAME="3656"></A> to change the column specifications, or use one of the list-type styles. <P> @@ -1954,23 +2071,25 @@ column specifications, or use one of the list-type styles. was defined. <P> -You may need to LaTeX your document again (just as you have to do with <TT>\tableofcontents</TT>, <TT>\listoffigures</TT> etc). +You may need to LaTeX your document again (just as you have to do +with <TT>\tableofcontents</TT>, <TT>\listoffigures</TT> etc). <P> </LI> -<LI>I'm getting a <TT>keyval</TT><A NAME="3422"></A> error. +<LI>I'm getting a <TT>keyval</TT><A NAME="3665"></A> error. <P> -The <TT>glossary</TT><A NAME="3425"></A> package uses the <TT>keyval</TT><A NAME="3428"></A> +The <TT>glossary</TT><A NAME="3668"></A> package uses the <TT>keyval</TT><A NAME="3671"></A> package to extract the information from <I>key</I>=<I>value</I> -comma separated lists. You need to make sure the syntax is correct. If your <I>value</I> contains a -comma, you will need to enclose <I>value</I> in curly braces. See the <TT>keyval</TT><A NAME="3431"></A> documentation for -further information<A NAME="tex2html8" - HREF="#foot1547"><SUP>6</SUP></A>. +comma separated lists. You need to make sure the syntax is correct. +If your <I>value</I> contains a +comma, you will need to enclose <I>value</I> in curly braces. See the <TT>keyval</TT><A NAME="3674"></A> documentation for +further information<A NAME="tex2html9" + HREF="#foot1617"><SUP>7</SUP></A>. <P> </LI> -<LI>I've used the <TT>hyper</TT><A NAME="3439"></A> option, but nothing happens +<LI>I've used the <TT>hyper</TT><A NAME="3682"></A> option, but nothing happens when I click on the numbers in the glossary. <P> @@ -1980,32 +2099,32 @@ Check the following: <LI>Have you remembered to use PDFLaTeX instead of LaTeX, or used a driver that understands hyperlinks? </LI> -<LI>Have you remembered to use the <TT>hyperref</TT><A NAME="3443"></A> or -<TT>html</TT><A NAME="3446"></A> package? +<LI>Have you remembered to use the <TT>hyperref</TT><A NAME="3686"></A> or +<TT>html</TT><A NAME="3689"></A> package? </LI> -<LI>Have you remembered to use a formatting command which uses <TT>\hyperlink</TT>? (E.g. using <TT>hyperbf</TT><A NAME="3451"></A><A NAME="3452"></A> instead -of <TT>textbf</TT>)? Remember to check the <TT>format</TT><A NAME="3456"></A> key -in your <TT>\glossary</TT><A NAME="3460"></A> commands, and the -<TT>glsnumformat</TT><A NAME="3465"></A> key in the <TT>\setglossary</TT><A NAME="3469"></A> +<LI>Have you remembered to use a formatting command which uses <TT>\hyperlink</TT>? (E.g. using <TT>hyperbf</TT><A NAME="3694"></A><A NAME="3695"></A> instead +of <TT>textbf</TT>)? Remember to check the <TT>format</TT><A NAME="3699"></A> key +in your <TT>\glossary</TT><A NAME="3703"></A> commands, and the +<TT>glsnumformat</TT><A NAME="3708"></A> key in the <TT>\setglossary</TT><A NAME="3712"></A> command. </LI> <LI>What application are you using to view the PDF file? Ghostview can display a PDF file, but ignores the links. If you are using Windows, try -using Adobe's Acrobat Reader, or if you are using UNIX or Linux, try using <TT>xpdf</TT><A NAME="3474"></A> or <TT>acroread</TT><A NAME="3477"></A>. +using Adobe's Acrobat Reader, or if you are using UNIX or Linux, try using <TT>xpdf</TT><A NAME="3717"></A> or <TT>acroread</TT><A NAME="3720"></A>. </LI> </OL> <P> </LI> -<LI>The <TT>glossary</TT><A NAME="3480"></A> package conflicts with the -<TT>datetime</TT><A NAME="3483"></A> package. +<LI>The <TT>glossary</TT><A NAME="3723"></A> package conflicts with the +<TT>datetime</TT><A NAME="3726"></A> package. <P> This has been fixed in version 2.01. <P> </LI> -<LI>I get an error when using certain commands, such as <TT>\cite</TT> or <code>~</code> in <TT>\newacronym</TT><A NAME="3488"></A>. +<LI>I get an error when using certain commands, such as <TT>\cite</TT> or <code>~</code> in <TT>\newacronym</TT><A NAME="3731"></A>. <P> This has been fixed in version 2.1. @@ -2018,11 +2137,11 @@ This has been fixed in version 2.1. </PRE> <P> -The <TT>glossary</TT><A NAME="3493"></A> package used to conflict with the -<TT>array</TT><A NAME="3496"></A> package. This was fixed in version 2.1. +The <TT>glossary</TT><A NAME="3736"></A> package used to conflict with the +<TT>array</TT><A NAME="3739"></A> package. This was fixed in version 2.1. As from version 2.3, it doesn't matter whether you load -the <TT>glossary</TT><A NAME="3499"></A> package before or after the -<TT>array</TT><A NAME="3502"></A> package. +the <TT>glossary</TT><A NAME="3742"></A> package before or after the +<TT>array</TT><A NAME="3745"></A> package. <P> </LI> @@ -2061,19 +2180,19 @@ or if you are using PDFLaTeX: <P> </LI> -<LI><A NAME="itm:ngerman"></A> The <TT>glossary</TT><A NAME="3507"></A> package conflicts with -<TT>ngerman</TT><A NAME="3510"></A>. +<LI><A NAME="itm:ngerman"></A> The <TT>glossary</TT><A NAME="3750"></A> package conflicts with +<TT>ngerman</TT><A NAME="3753"></A>. <P> -This problem is caused by the fact that <TT>ngerman</TT><A NAME="3513"></A> +This problem is caused by the fact that <TT>ngerman</TT><A NAME="3756"></A> redefines the effect of the double quote character, but this character is used in the creation of the -<TT>ist</TT><A NAME="3516"></A> <TT>makeindex</TT><A NAME="3518"></A> style file. +<TT>ist</TT><A NAME="3759"></A> <TT>makeindex</TT><A NAME="3761"></A> style file. Try one of the following methods: <OL> -<LI>Include the <TT>ngerman</TT><A NAME="3521"></A> package after the -<TT>\makeglossary</TT><A NAME="3524"></A> command: +<LI>Include the <TT>ngerman</TT><A NAME="3764"></A> package after the +<TT>\makeglossary</TT><A NAME="3767"></A> command: <PRE> \usepackage{glossary} \makeglossary @@ -2082,11 +2201,11 @@ Try one of the following methods: <P> </LI> -<LI>First omit the <TT>ngerman</TT><A NAME="3529"></A> package and include -<TT>\makeglossary</TT><A NAME="3532"></A> then LaTeX your document. -This will create the <TT>ist</TT><A NAME="3537"></A> file. Then include the -<TT>ngerman</TT><A NAME="3539"></A> package, and insert <TT>\noist</TT><A NAME="3542"></A> before -the <TT>\makeglossary</TT><A NAME="3547"></A> command, this will prevent further attempts to generate the <TT>ist</TT><A NAME="3552"></A> file. +<LI>First omit the <TT>ngerman</TT><A NAME="3772"></A> package and include +<TT>\makeglossary</TT><A NAME="3775"></A> then LaTeX your document. +This will create the <TT>ist</TT><A NAME="3780"></A> file. Then include the +<TT>ngerman</TT><A NAME="3782"></A> package, and insert <TT>\noist</TT><A NAME="3785"></A> before +the <TT>\makeglossary</TT><A NAME="3790"></A> command, this will prevent further attempts to generate the <TT>ist</TT><A NAME="3795"></A> file. <PRE> \usepackage{ngerman} \usepackage{glossary} @@ -2095,8 +2214,8 @@ the <TT>\makeglossary</TT><A NAME="3547"></A> command, this will prevent fur <P> </LI> -<LI>Use <TT>\noist</TT><A NAME="3554"></A>, as above, and create the -<TT>ist</TT><A NAME="3559"></A> file +<LI>Use <TT>\noist</TT><A NAME="3797"></A>, as above, and create the +<TT>ist</TT><A NAME="3802"></A> file in an ordinary text editor. The file should contain the following lines: <PRE> @@ -2117,15 +2236,15 @@ also cause a problem, if so, try any of the above. <P> </LI> -<LI><TT>makeglos.pl</TT><A NAME="3561"></A> gives the following error message: +<LI><TT>makeglos.pl</TT><A NAME="3804"></A> gives the following error message: <PRE> unable to extract name from glossary item: </PRE> <P> -You are using an old version of <TT>makeglos.pl</TT><A NAME="3564"></A> with a -new version of the <TT>glossary</TT><A NAME="3567"></A> package. You will need -to update your version <TT>makeglos.pl</TT><A NAME="3570"></A>. +You are using an old version of <TT>makeglos.pl</TT><A NAME="3807"></A> with a +new version of the <TT>glossary</TT><A NAME="3810"></A> package. You will need +to update your version <TT>makeglos.pl</TT><A NAME="3813"></A>. </LI> </OL> Let me know if you encounter any other problems or if you have any comments regarding this package. @@ -2143,35 +2262,33 @@ use is deprecated. <P> -<TT>\saveglosentry</TT><A NAME="3573"></A>{ <I>name</I>}{<I>description</I>} +<TT>\saveglosentry</TT><A NAME="3816"></A>{ <I>name</I>}{<I>description</I>} <BR> This command has now been replaced by <TT>\storeglosentry</TT>. <P> -The command <TT>\glsprimaryfmt</TT> is no longer used in <TT>\newacronym</TT><A NAME="3582"></A> as you can end up with duplicate -page numbers, however the command is currently still defined (although it - may be removed in future versions.) +The command <TT>\glsprimaryfmt</TT> has now been removed. <P> -The package option <TT>hyperacronym</TT><A NAME="3592"></A> is now superseded by the package option -<TT>hyper</TT><A NAME="3601"></A>. This option was implemented prior to the -introduction of the command <TT>\xglossary</TT><A NAME="3605"></A>. Since the -acronyms now use <TT>\xglossary</TT><A NAME="3610"></A>, there is no difference -between the <TT>hyperacronym</TT><A NAME="3620"></A> and <TT>hyper</TT><A NAME="3629"></A> options. +The package option <TT>hyperacronym</TT><A NAME="3830"></A> is now superseded by the package option +<TT>hyper</TT><A NAME="3839"></A>. This option was implemented prior to the +introduction of the command <TT>\xglossary</TT><A NAME="3843"></A>. Since the +acronyms now use <TT>\xglossary</TT><A NAME="3848"></A>, there is no difference +between the <TT>hyperacronym</TT><A NAME="3858"></A> and <TT>hyper</TT><A NAME="3867"></A> options. This option has a boolean value: <DL> -<DT><STRONG><TT>true</TT><A NAME="3633"></A></STRONG></DT> +<DT><STRONG><TT>true</TT><A NAME="3871"></A></STRONG></DT> <DD>Make acronyms link to their corresponding entry in the glossary </DD> -<DT><STRONG><TT>false</TT><A NAME="3635"></A></STRONG></DT> +<DT><STRONG><TT>false</TT><A NAME="3873"></A></STRONG></DT> <DD>Acronyms don't have a hyperlink. </DD> </DL> -If the <TT>hyperref</TT><A NAME="3637"></A> package has been loaded prior to -loading <TT>glossary.sty</TT> or if <TT>hyper=true</TT><A NAME="3647"></A> is set, -<TT>hyperacronym=true</TT><A NAME="3656"></A> otherwise -<TT>hyperacronym=false</TT><A NAME="3665"></A>. +If the <TT>hyperref</TT><A NAME="3875"></A> package has been loaded prior to +loading <TT>glossary.sty</TT> or if <TT>hyper=true</TT><A NAME="3885"></A> is set, +<TT>hyperacronym=true</TT><A NAME="3894"></A> otherwise +<TT>hyperacronym=false</TT><A NAME="3903"></A>. <P> <H1><A NAME="SECTION000150000000000000000"> @@ -2187,7 +2304,7 @@ University of East Anglia Norwich. Norfolk <BR> NR4 7TJ. United Kingdom. -<BR><TT><A NAME="tex2html9" +<BR><TT><A NAME="tex2html10" HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT> <P> @@ -2208,92 +2325,99 @@ and pointed out bugs. Index</A> </H2><DL COMPACT> <DT><STRONG><TT>acroread</TT></STRONG> -<DD><A HREF="manual.html#3477">Troubleshooting</A> +<DD><A HREF="manual.html#3720">Troubleshooting</A> <DT><STRONG><TT>array</TT></STRONG> -<DD><A HREF="manual.html#2933">Customizing the Glossary</A> - | <A HREF="manual.html#2938">Customizing the Glossary</A> - | <A HREF="manual.html#3496">Troubleshooting</A> - | <A HREF="manual.html#3502">Troubleshooting</A> +<DD><A HREF="manual.html#3119">Customizing the Glossary</A> + | <A HREF="manual.html#3124">Customizing the Glossary</A> + | <A HREF="manual.html#3739">Troubleshooting</A> + | <A HREF="manual.html#3745">Troubleshooting</A> <DT><STRONG><TT>datetime</TT></STRONG> -<DD><A HREF="manual.html#3483">Troubleshooting</A> +<DD><A HREF="manual.html#3726">Troubleshooting</A> <DT><STRONG><TT>\descriptionname</TT></STRONG> -<DD><A HREF="manual.html#3008">Customizing the Glossary</A> +<DD><A HREF="manual.html#3236">Customizing the Glossary</A> + | <A HREF="manual.html#3318">Sample Documents</A> +<DT><STRONG><TT>\entryname</TT></STRONG> +<DD><A HREF="manual.html#3313">Sample Documents</A> <DT><STRONG>file types</STRONG> <DD><DL COMPACT> <DT><STRONG>acr</STRONG> -<DD><A HREF="manual.html#2512">Acronyms</A> +<DD><A HREF="manual.html#2700">Acronyms</A> <DT><STRONG>cfg</STRONG> -<DD><A HREF="manual.html#2170">Package Options</A> - | <A HREF="manual.html#2531">Acronyms</A> +<DD><A HREF="manual.html#2354">Package Options</A> + | <A HREF="manual.html#2719">Acronyms</A> <DT><STRONG>glg</STRONG> -<DD><A HREF="manual.html#1780">makeglos.pl</A> - | <A HREF="manual.html#2404">Defining New Glossary Types</A> - | <A HREF="manual.html#3213">Troubleshooting</A> +<DD><A HREF="manual.html#1960">makeglos.pl</A> + | <A HREF="manual.html#2588">Defining New Glossary Types</A> + | <A HREF="manual.html#3456">Troubleshooting</A> <DT><STRONG>glo</STRONG> -<DD><A HREF="manual.html#1753">makeglos.pl</A> - | <A HREF="manual.html#1768">makeglos.pl</A> - | <A HREF="manual.html#1788">makeglos.pl</A> - | <A HREF="manual.html#1799">makeglos.pl</A> - | <A HREF="manual.html#2388">Defining New Glossary Types</A> - | <A HREF="manual.html#3384">Troubleshooting</A> +<DD><A HREF="manual.html#1933">makeglos.pl</A> + | <A HREF="manual.html#1948">makeglos.pl</A> + | <A HREF="manual.html#2572">Defining New Glossary Types</A> + | <A HREF="manual.html#3627">Troubleshooting</A> <DT><STRONG>gls</STRONG> -<DD><A HREF="manual.html#1778">makeglos.pl</A> - | <A HREF="manual.html#1843">Displaying the Glossary</A> - | <A HREF="manual.html#2399">Defining New Glossary Types</A> - | <A HREF="manual.html#3211">Troubleshooting</A> - | <A HREF="manual.html#3225">Troubleshooting</A> - | <A HREF="manual.html#3386">Troubleshooting</A> - | <A HREF="manual.html#3391">Troubleshooting</A> - | <A HREF="manual.html#3393">Troubleshooting</A> +<DD><A HREF="manual.html#1958">makeglos.pl</A> + | <A HREF="manual.html#2022">Displaying the Glossary</A> + | <A HREF="manual.html#2583">Defining New Glossary Types</A> + | <A HREF="manual.html#3454">Troubleshooting</A> + | <A HREF="manual.html#3468">Troubleshooting</A> + | <A HREF="manual.html#3629">Troubleshooting</A> + | <A HREF="manual.html#3634">Troubleshooting</A> + | <A HREF="manual.html#3636">Troubleshooting</A> <DT><STRONG>ist</STRONG> -<DD><A HREF="manual.html#1763">makeglos.pl</A> - | <A HREF="manual.html#1773">makeglos.pl</A> - | <A HREF="manual.html#1804">makeglos.pl</A> - | <A HREF="manual.html#1811">makeglos.pl</A> - | <A HREF="manual.html#1830">makeglos.pl</A> - | <A HREF="manual.html#3218">Troubleshooting</A> - | <A HREF="manual.html#3230">Troubleshooting</A> - | <A HREF="manual.html#3232">Troubleshooting</A> - | <A HREF="manual.html#3516">Troubleshooting</A> - | <A HREF="manual.html#3537">Troubleshooting</A> - | <A HREF="manual.html#3552">Troubleshooting</A> - | <A HREF="manual.html#3559">Troubleshooting</A> +<DD><A HREF="manual.html#1943">makeglos.pl</A> + | <A HREF="manual.html#1953">makeglos.pl</A> + | <A HREF="manual.html#1980">makeglos.pl</A> + | <A HREF="manual.html#1986">makeglos.pl</A> + | <A HREF="manual.html#1988">makeglos.pl</A> + | <A HREF="manual.html#1990">makeglos.pl</A> + | <A HREF="manual.html#2009">makeglos.pl</A> + | <A HREF="manual.html#3461">Troubleshooting</A> + | <A HREF="manual.html#3473">Troubleshooting</A> + | <A HREF="manual.html#3475">Troubleshooting</A> + | <A HREF="manual.html#3759">Troubleshooting</A> + | <A HREF="manual.html#3780">Troubleshooting</A> + | <A HREF="manual.html#3795">Troubleshooting</A> + | <A HREF="manual.html#3802">Troubleshooting</A> <DT><STRONG>perl</STRONG> -<DD><A HREF="manual.html#3111">LaTeX2HTML Style File</A> - | <A HREF="manual.html#3113">LaTeX2HTML Style File</A> +<DD><A HREF="manual.html#3359">LaTeX2HTML Style File</A> + | <A HREF="manual.html#3361">LaTeX2HTML Style File</A> </DL> <DT><STRONG><TT>\glodesc</TT></STRONG> -<DD><A HREF="manual.html#2563">Acronyms</A> - | <A HREF="manual.html#2577">Acronyms</A> +<DD><A HREF="manual.html#2751">Acronyms</A> + | <A HREF="manual.html#2765">Acronyms</A> <DT><STRONG><TT>\glolong</TT></STRONG> -<DD><A HREF="manual.html#2541">Acronyms</A> - | <A HREF="manual.html#2553">Acronyms</A> +<DD><A HREF="manual.html#2729">Acronyms</A> + | <A HREF="manual.html#2741">Acronyms</A> <DT><STRONG><TT>\gloshort</TT></STRONG> -<DD><A HREF="manual.html#2546">Acronyms</A> - | <A HREF="manual.html#2558">Acronyms</A> +<DD><A HREF="manual.html#2734">Acronyms</A> + | <A HREF="manual.html#2746">Acronyms</A> <DT><STRONG><TT>glossary</TT></STRONG> -<DD><A HREF="manual.html#1609">Introduction</A> - | <A HREF="manual.html#1712">Generating Glossary Information</A> - | <A HREF="manual.html#2174">Package Options</A> - | <A HREF="manual.html#2177">Examples</A> - | <A HREF="manual.html#2357">Defining New Glossary Types</A> - | <A HREF="manual.html#2436">Acronyms</A> - | <A HREF="manual.html#2441">Acronyms</A> - | <A HREF="manual.html#2636">Acronyms</A> - | <A HREF="manual.html#2671">Customizing the Glossary</A> - | <A HREF="manual.html#2947">Customizing the Glossary</A> - | <A HREF="manual.html#3051">Sample Documents</A> - | <A HREF="manual.html#3170">Limitations</A> - | <A HREF="manual.html#3175">Limitations</A> - | <A HREF="manual.html#3240">Troubleshooting</A> - | <A HREF="manual.html#3379">Troubleshooting</A> - | <A HREF="manual.html#3425">Troubleshooting</A> - | <A HREF="manual.html#3460">Troubleshooting</A> - | <A HREF="manual.html#3480">Troubleshooting</A> - | <A HREF="manual.html#3493">Troubleshooting</A> - | <A HREF="manual.html#3499">Troubleshooting</A> - | <A HREF="manual.html#3507">Troubleshooting</A> - | <A HREF="manual.html#3567">Troubleshooting</A> +<DD><A HREF="manual.html#1680">Introduction</A> + | <A HREF="manual.html#1833">Generating Glossary Information</A> + | <A HREF="manual.html#1846">Generating Glossary Information</A> + | <A HREF="manual.html#1851">Storing Glossary Information</A> + | <A HREF="manual.html#1856">Storing Glossary Information</A> + | <A HREF="manual.html#1859">Storing Glossary Information</A> + | <A HREF="manual.html#2358">Package Options</A> + | <A HREF="manual.html#2361">Examples</A> + | <A HREF="manual.html#2541">Defining New Glossary Types</A> + | <A HREF="manual.html#2620">Acronyms</A> + | <A HREF="manual.html#2625">Acronyms</A> + | <A HREF="manual.html#2836">Acronyms</A> + | <A HREF="manual.html#2871">Customizing the Glossary</A> + | <A HREF="manual.html#3133">Customizing the Glossary</A> + | <A HREF="manual.html#3290">Sample Documents</A> + | <A HREF="manual.html#3418">Limitations</A> + | <A HREF="manual.html#3423">Limitations</A> + | <A HREF="manual.html#3483">Troubleshooting</A> + | <A HREF="manual.html#3622">Troubleshooting</A> + | <A HREF="manual.html#3668">Troubleshooting</A> + | <A HREF="manual.html#3703">Troubleshooting</A> + | <A HREF="manual.html#3723">Troubleshooting</A> + | <A HREF="manual.html#3736">Troubleshooting</A> + | <A HREF="manual.html#3742">Troubleshooting</A> + | <A HREF="manual.html#3750">Troubleshooting</A> + | <A HREF="manual.html#3810">Troubleshooting</A> <DT><STRONG>glossary border</STRONG> <DD><i>see </i> package options, border <DT><STRONG>glossary columns</STRONG> @@ -2303,565 +2427,607 @@ Index</A> <DT><STRONG><TT>\glossary</TT> keys</STRONG> <DD><DL COMPACT> <DT><STRONG>description</STRONG> -<DD><A HREF="manual.html#1638">Generating Glossary Information</A> - | <A HREF="manual.html#1735">Storing Glossary Information</A> - | <A HREF="manual.html#2568">Acronyms</A> +<DD><A HREF="manual.html#1709">Generating Glossary Information</A> + | <A HREF="manual.html#1880">Storing Glossary Information</A> + | <A HREF="manual.html#2756">Acronyms</A> <DT><STRONG>format</STRONG> -<DD><A HREF="manual.html#1646">Generating Glossary Information</A> - | <A HREF="manual.html#1650">Generating Glossary Information</A> - | <A HREF="manual.html#3456">Troubleshooting</A> +<DD><A HREF="manual.html#1717">Generating Glossary Information</A> + | <A HREF="manual.html#1743">Generating Glossary Information</A> + | <A HREF="manual.html#3699">Troubleshooting</A> <DD><DL COMPACT> <DT><STRONG>hyperbf</STRONG> -<DD><A HREF="manual.html#1672">Generating Glossary Information</A> - | <A HREF="manual.html#3452">Troubleshooting</A> +<DD><A HREF="manual.html#1765">Generating Glossary Information</A> + | <A HREF="manual.html#3695">Troubleshooting</A> +<DT><STRONG>hyperem</STRONG> +<DD><A HREF="manual.html#1795">Generating Glossary Information</A> + | <A HREF="manual.html#1811">Generating Glossary Information</A> <DT><STRONG>hyperit</STRONG> -<DD><A HREF="manual.html#1677">Generating Glossary Information</A> +<DD><A HREF="manual.html#1775">Generating Glossary Information</A> +<DT><STRONG>hypermd</STRONG> +<DD><A HREF="manual.html#1770">Generating Glossary Information</A> <DT><STRONG>hyperrm</STRONG> -<DD><A HREF="manual.html#1657">Generating Glossary Information</A> - | <A HREF="manual.html#1691">Generating Glossary Information</A> +<DD><A HREF="manual.html#1750">Generating Glossary Information</A> + | <A HREF="manual.html#1816">Generating Glossary Information</A> +<DT><STRONG>hypersc</STRONG> +<DD><A HREF="manual.html#1790">Generating Glossary Information</A> <DT><STRONG>hypersf</STRONG> -<DD><A HREF="manual.html#1662">Generating Glossary Information</A> +<DD><A HREF="manual.html#1755">Generating Glossary Information</A> +<DT><STRONG>hypersl</STRONG> +<DD><A HREF="manual.html#1780">Generating Glossary Information</A> <DT><STRONG>hypertt</STRONG> -<DD><A HREF="manual.html#1667">Generating Glossary Information</A> +<DD><A HREF="manual.html#1760">Generating Glossary Information</A> +<DT><STRONG>hyperup</STRONG> +<DD><A HREF="manual.html#1785">Generating Glossary Information</A> </DL> <DT><STRONG>name</STRONG> -<DD><A HREF="manual.html#1634">Generating Glossary Information</A> - | <A HREF="manual.html#2455">Acronyms</A> - | <A HREF="manual.html#2464">Acronyms</A> - | <A HREF="manual.html#2535">Acronyms</A> - | <A HREF="manual.html#2943">Customizing the Glossary</A> +<DD><A HREF="manual.html#1705">Generating Glossary Information</A> + | <A HREF="manual.html#1729">Generating Glossary Information</A> + | <A HREF="manual.html#1733">Generating Glossary Information</A> + | <A HREF="manual.html#2639">Acronyms</A> + | <A HREF="manual.html#2648">Acronyms</A> + | <A HREF="manual.html#2723">Acronyms</A> + | <A HREF="manual.html#2774">Acronyms</A> + | <A HREF="manual.html#3129">Customizing the Glossary</A> +<DT><STRONG>number</STRONG> +<DD><A HREF="manual.html#1721">Generating Glossary Information</A> + | <A HREF="manual.html#1838">Generating Glossary Information</A> <DT><STRONG>sort</STRONG> -<DD><A HREF="manual.html#1642">Generating Glossary Information</A> - | <A HREF="manual.html#2470">Acronyms</A> +<DD><A HREF="manual.html#1713">Generating Glossary Information</A> + | <A HREF="manual.html#1725">Generating Glossary Information</A> + | <A HREF="manual.html#1737">Generating Glossary Information</A> + | <A HREF="manual.html#2654">Acronyms</A> </DL> <DT><STRONG>glossary style</STRONG> <DD><i>see </i> package options, style <DT><STRONG>glossary.cfg</STRONG> <DD><i>see </i> file type, cfg <DT><STRONG><TT>\glossaryalignment</TT></STRONG> -<DD><A HREF="manual.html#3413">Troubleshooting</A> -<DT><STRONG><TT>\glossaryheader</TT></STRONG> -<DD><A HREF="manual.html#3080">Sample Documents</A> +<DD><A HREF="manual.html#3656">Troubleshooting</A> <DT><STRONG><TT>\glossaryname</TT></STRONG> -<DD><A HREF="manual.html#1849">Displaying the Glossary</A> - | <A HREF="manual.html#2429">Defining New Glossary Types</A> - | <A HREF="manual.html#3075">Sample Documents</A> +<DD><A HREF="manual.html#2028">Displaying the Glossary</A> + | <A HREF="manual.html#2613">Defining New Glossary Types</A> + | <A HREF="manual.html#3323">Sample Documents</A> <DT><STRONG><TT>\gls</TT></STRONG> -<DD><A HREF="manual.html#3265">Troubleshooting</A> - | <A HREF="manual.html#3333">Troubleshooting</A> - | <A HREF="manual.html#3374">Troubleshooting</A> +<DD><A HREF="manual.html#1905">Storing Glossary Information</A> + | <A HREF="manual.html#3508">Troubleshooting</A> + | <A HREF="manual.html#3576">Troubleshooting</A> + | <A HREF="manual.html#3617">Troubleshooting</A> +<DT><STRONG><TT>\glspageheader</TT></STRONG> +<DD><A HREF="manual.html#3328">Sample Documents</A> <DT><STRONG><TT>html</TT></STRONG> -<DD><A HREF="manual.html#2036">Package Options</A> - | <A HREF="manual.html#3446">Troubleshooting</A> +<DD><A HREF="manual.html#2220">Package Options</A> + | <A HREF="manual.html#3689">Troubleshooting</A> <DT><STRONG><TT>hyperref</TT></STRONG> -<DD><A HREF="manual.html#1967">Package Options</A> - | <A HREF="manual.html#2033">Package Options</A> - | <A HREF="manual.html#3048">Sample Documents</A> - | <A HREF="manual.html#3093">Sample Documents</A> - | <A HREF="manual.html#3443">Troubleshooting</A> - | <A HREF="manual.html#3637">Obsolete Commands</A> +<DD><A HREF="manual.html#2151">Package Options</A> + | <A HREF="manual.html#2217">Package Options</A> + | <A HREF="manual.html#3287">Sample Documents</A> + | <A HREF="manual.html#3341">Sample Documents</A> + | <A HREF="manual.html#3686">Troubleshooting</A> + | <A HREF="manual.html#3875">Obsolete Commands</A> <DT><STRONG><TT>\hyperrm</TT></STRONG> -<DD><A HREF="manual.html#1695">Generating Glossary Information</A> +<DD><A HREF="manual.html#1826">Generating Glossary Information</A> <DT><STRONG><TT>keyval</TT></STRONG> -<DD><A HREF="manual.html#3422">Troubleshooting</A> - | <A HREF="manual.html#3428">Troubleshooting</A> - | <A HREF="manual.html#3431">Troubleshooting</A> +<DD><A HREF="manual.html#3665">Troubleshooting</A> + | <A HREF="manual.html#3671">Troubleshooting</A> + | <A HREF="manual.html#3674">Troubleshooting</A> <DT><STRONG><TT>\makeacronym</TT></STRONG> -<DD><A HREF="manual.html#2502">Acronyms</A> - | <A HREF="manual.html#3279">Troubleshooting</A> +<DD><A HREF="manual.html#2690">Acronyms</A> + | <A HREF="manual.html#3522">Troubleshooting</A> <DT><STRONG><TT>makeglos.pl</TT></STRONG> -<DD><A HREF="manual.html#1782">makeglos.pl</A> - | <A HREF="manual.html#1790">makeglos.pl</A> - | <A HREF="manual.html#1793">makeglos.pl</A> - | <A HREF="manual.html#1801">makeglos.pl</A> - | <A HREF="manual.html#1808">makeglos.pl</A> - | <A HREF="manual.html#2393">Defining New Glossary Types</A> - | <A HREF="manual.html#2406">Defining New Glossary Types</A> - | <A HREF="manual.html#2412">Defining New Glossary Types</A> - | <A HREF="manual.html#2415">Defining New Glossary Types</A> - | <A HREF="manual.html#2418">Defining New Glossary Types</A> - | <A HREF="manual.html#2517">Acronyms</A> - | <A HREF="manual.html#3054">Sample Documents</A> - | <A HREF="manual.html#3057">Sample Documents</A> - | <A HREF="manual.html#3085">Sample Documents</A> - | <A HREF="manual.html#3088">Sample Documents</A> - | <A HREF="manual.html#3096">Sample Documents</A> - | <A HREF="manual.html#3102">Sample Documents</A> - | <A HREF="manual.html#3105">Sample Documents</A> - | <A HREF="manual.html#3108">Sample Documents</A> - | <A HREF="manual.html#3205">Troubleshooting</A> - | <A HREF="manual.html#3234">Troubleshooting</A> - | <A HREF="manual.html#3561">Troubleshooting</A> - | <A HREF="manual.html#3564">Troubleshooting</A> - | <A HREF="manual.html#3570">Troubleshooting</A> +<DD><A HREF="manual.html#1962">makeglos.pl</A> + | <A HREF="manual.html#1968">makeglos.pl</A> + | <A HREF="manual.html#1971">makeglos.pl</A> + | <A HREF="manual.html#1977">makeglos.pl</A> + | <A HREF="manual.html#2577">Defining New Glossary Types</A> + | <A HREF="manual.html#2590">Defining New Glossary Types</A> + | <A HREF="manual.html#2596">Defining New Glossary Types</A> + | <A HREF="manual.html#2599">Defining New Glossary Types</A> + | <A HREF="manual.html#2602">Defining New Glossary Types</A> + | <A HREF="manual.html#2705">Acronyms</A> + | <A HREF="manual.html#3293">Sample Documents</A> + | <A HREF="manual.html#3296">Sample Documents</A> + | <A HREF="manual.html#3333">Sample Documents</A> + | <A HREF="manual.html#3336">Sample Documents</A> + | <A HREF="manual.html#3344">Sample Documents</A> + | <A HREF="manual.html#3350">Sample Documents</A> + | <A HREF="manual.html#3353">Sample Documents</A> + | <A HREF="manual.html#3356">Sample Documents</A> + | <A HREF="manual.html#3448">Troubleshooting</A> + | <A HREF="manual.html#3477">Troubleshooting</A> + | <A HREF="manual.html#3804">Troubleshooting</A> + | <A HREF="manual.html#3807">Troubleshooting</A> + | <A HREF="manual.html#3813">Troubleshooting</A> <DT><STRONG><TT>\makeglossary</TT></STRONG> -<DD><A HREF="manual.html#1755">makeglos.pl</A> - | <A HREF="manual.html#1815">makeglos.pl</A> - | <A HREF="manual.html#1825">makeglos.pl</A> - | <A HREF="manual.html#1835">makeglos.pl</A> - | <A HREF="manual.html#2352">Defining New Glossary Types</A> - | <A HREF="manual.html#2882">Customizing the Glossary</A> - | <A HREF="manual.html#3195">Troubleshooting</A> - | <A HREF="manual.html#3220">Troubleshooting</A> - | <A HREF="manual.html#3524">Troubleshooting</A> - | <A HREF="manual.html#3532">Troubleshooting</A> - | <A HREF="manual.html#3547">Troubleshooting</A> +<DD><A HREF="manual.html#1935">makeglos.pl</A> + | <A HREF="manual.html#1994">makeglos.pl</A> + | <A HREF="manual.html#2004">makeglos.pl</A> + | <A HREF="manual.html#2014">makeglos.pl</A> + | <A HREF="manual.html#2536">Defining New Glossary Types</A> + | <A HREF="manual.html#3438">Troubleshooting</A> + | <A HREF="manual.html#3463">Troubleshooting</A> + | <A HREF="manual.html#3767">Troubleshooting</A> + | <A HREF="manual.html#3775">Troubleshooting</A> + | <A HREF="manual.html#3790">Troubleshooting</A> <DT><STRONG><TT>makeindex</TT></STRONG> -<DD><A HREF="manual.html#1612">Installation</A> - | <A HREF="manual.html#1618">Installation</A> - | <A HREF="manual.html#1621">Installation</A> - | <A HREF="manual.html#1760">makeglos.pl</A> - | <A HREF="manual.html#1765">makeglos.pl</A> - | <A HREF="manual.html#1770">makeglos.pl</A> - | <A HREF="manual.html#1775">makeglos.pl</A> - | <A HREF="manual.html#1785">makeglos.pl</A> - | <A HREF="manual.html#1796">makeglos.pl</A> - | <A HREF="manual.html#1840">makeglos.pl</A> - | <A HREF="manual.html#1845">Displaying the Glossary</A> - | <A HREF="manual.html#2390">Defining New Glossary Types</A> - | <A HREF="manual.html#2396">Defining New Glossary Types</A> - | <A HREF="manual.html#2401">Defining New Glossary Types</A> - | <A HREF="manual.html#2409">Defining New Glossary Types</A> - | <A HREF="manual.html#2421">Defining New Glossary Types</A> - | <A HREF="manual.html#2514">Acronyms</A> - | <A HREF="manual.html#2765">Customizing the Glossary</A> - | <A HREF="manual.html#2776">Customizing the Glossary</A> - | <A HREF="manual.html#2794">Customizing the Glossary</A> - | <A HREF="manual.html#2834">Customizing the Glossary</A> - | <A HREF="manual.html#2845">Customizing the Glossary</A> - | <A HREF="manual.html#2903">Customizing the Glossary</A> - | <A HREF="manual.html#2974">Customizing the Glossary</A> - | <A HREF="manual.html#3099">Sample Documents</A> - | <A HREF="manual.html#3208">Troubleshooting</A> - | <A HREF="manual.html#3215">Troubleshooting</A> - | <A HREF="manual.html#3227">Troubleshooting</A> - | <A HREF="manual.html#3237">Troubleshooting</A> - | <A HREF="manual.html#3350">Troubleshooting</A> - | <A HREF="manual.html#3353">Troubleshooting</A> - | <A HREF="manual.html#3356">Troubleshooting</A> - | <A HREF="manual.html#3388">Troubleshooting</A> - | <A HREF="manual.html#3518">Troubleshooting</A> +<DD><A HREF="manual.html#1683">Installation</A> + | <A HREF="manual.html#1689">Installation</A> + | <A HREF="manual.html#1692">Installation</A> + | <A HREF="manual.html#1940">makeglos.pl</A> + | <A HREF="manual.html#1945">makeglos.pl</A> + | <A HREF="manual.html#1950">makeglos.pl</A> + | <A HREF="manual.html#1955">makeglos.pl</A> + | <A HREF="manual.html#1965">makeglos.pl</A> + | <A HREF="manual.html#1974">makeglos.pl</A> + | <A HREF="manual.html#2019">makeglos.pl</A> + | <A HREF="manual.html#2024">Displaying the Glossary</A> + | <A HREF="manual.html#2574">Defining New Glossary Types</A> + | <A HREF="manual.html#2580">Defining New Glossary Types</A> + | <A HREF="manual.html#2585">Defining New Glossary Types</A> + | <A HREF="manual.html#2593">Defining New Glossary Types</A> + | <A HREF="manual.html#2605">Defining New Glossary Types</A> + | <A HREF="manual.html#2702">Acronyms</A> + | <A HREF="manual.html#2778">Acronyms</A> + | <A HREF="manual.html#2989">Customizing the Glossary</A> + | <A HREF="manual.html#3000">Customizing the Glossary</A> + | <A HREF="manual.html#3018">Customizing the Glossary</A> + | <A HREF="manual.html#3058">Customizing the Glossary</A> + | <A HREF="manual.html#3069">Customizing the Glossary</A> + | <A HREF="manual.html#3160">Customizing the Glossary</A> + | <A HREF="manual.html#3347">Sample Documents</A> + | <A HREF="manual.html#3451">Troubleshooting</A> + | <A HREF="manual.html#3458">Troubleshooting</A> + | <A HREF="manual.html#3470">Troubleshooting</A> + | <A HREF="manual.html#3480">Troubleshooting</A> + | <A HREF="manual.html#3593">Troubleshooting</A> + | <A HREF="manual.html#3596">Troubleshooting</A> + | <A HREF="manual.html#3599">Troubleshooting</A> + | <A HREF="manual.html#3631">Troubleshooting</A> + | <A HREF="manual.html#3761">Troubleshooting</A> <DT><STRONG>makeindex key</STRONG> <DD><DL COMPACT> <DT><STRONG>delim_0</STRONG> -<DD><A HREF="manual.html#2763">Customizing the Glossary</A> +<DD><A HREF="manual.html#2987">Customizing the Glossary</A> <DT><STRONG>delim_n</STRONG> -<DD><A HREF="manual.html#2774">Customizing the Glossary</A> +<DD><A HREF="manual.html#2998">Customizing the Glossary</A> <DT><STRONG>delim_r</STRONG> -<DD><A HREF="manual.html#2792">Customizing the Glossary</A> +<DD><A HREF="manual.html#3016">Customizing the Glossary</A> <DT><STRONG>delim_t</STRONG> -<DD><A HREF="manual.html#2843">Customizing the Glossary</A> +<DD><A HREF="manual.html#3067">Customizing the Glossary</A> <DT><STRONG>group_skip</STRONG> -<DD><A HREF="manual.html#2832">Customizing the Glossary</A> +<DD><A HREF="manual.html#3056">Customizing the Glossary</A> <DT><STRONG>item_0</STRONG> -<DD><A HREF="manual.html#2972">Customizing the Glossary</A> -<DT><STRONG>page_compositor</STRONG> -<DD><A HREF="manual.html#2901">Customizing the Glossary</A> +<DD><A HREF="manual.html#3158">Customizing the Glossary</A> </DL> <DT><STRONG>makeindex style file (.ist)</STRONG> <DD><i>see </i> file types, ist <DT><STRONG><TT>\newacronym</TT></STRONG> -<DD><A HREF="manual.html#2572">Acronyms</A> - | <A HREF="manual.html#3488">Troubleshooting</A> - | <A HREF="manual.html#3582">Obsolete Commands</A> +<DD><A HREF="manual.html#2760">Acronyms</A> + | <A HREF="manual.html#3731">Troubleshooting</A> <DT><STRONG><TT>\newglossarystyle</TT></STRONG> -<DD><A HREF="manual.html#2700">Customizing the Glossary</A> +<DD><A HREF="manual.html#2924">Customizing the Glossary</A> <DT><STRONG><TT>ngerman</TT></STRONG> -<DD><A HREF="manual.html#1832">makeglos.pl</A> - | <A HREF="manual.html#3510">Troubleshooting</A> - | <A HREF="manual.html#3513">Troubleshooting</A> - | <A HREF="manual.html#3521">Troubleshooting</A> - | <A HREF="manual.html#3529">Troubleshooting</A> - | <A HREF="manual.html#3539">Troubleshooting</A> +<DD><A HREF="manual.html#2011">makeglos.pl</A> + | <A HREF="manual.html#3753">Troubleshooting</A> + | <A HREF="manual.html#3756">Troubleshooting</A> + | <A HREF="manual.html#3764">Troubleshooting</A> + | <A HREF="manual.html#3772">Troubleshooting</A> + | <A HREF="manual.html#3782">Troubleshooting</A> <DT><STRONG><TT>\nofiles</TT></STRONG> -<DD><A HREF="manual.html#1820">makeglos.pl</A> +<DD><A HREF="manual.html#1999">makeglos.pl</A> <DT><STRONG><TT>\noist</TT></STRONG> -<DD><A HREF="manual.html#3542">Troubleshooting</A> - | <A HREF="manual.html#3554">Troubleshooting</A> +<DD><A HREF="manual.html#3785">Troubleshooting</A> + | <A HREF="manual.html#3797">Troubleshooting</A> <DT><STRONG>package options</STRONG> <DD><DL COMPACT> +<DT><STRONG>,</STRONG><DD><DL COMPACT> +<DT><STRONG>none</STRONG> +<DD><A HREF="manual.html#2109">Package Options</A> +</DL> <DT><STRONG>acronym</STRONG> -<DD><A HREF="manual.html#2084">Package Options</A> - | <A HREF="manual.html#2086">Package Options</A> - | <A HREF="manual.html#2479">Acronyms</A> - | <A HREF="manual.html#2481">Acronyms</A> - | <A HREF="manual.html#2498">Acronyms</A> - | <A HREF="manual.html#2525">Acronyms</A> - | <A HREF="manual.html#3147">Limitations</A> - | <A HREF="manual.html#3156">Limitations</A> - | <A HREF="manual.html#3275">Troubleshooting</A> +<DD><A HREF="manual.html#2268">Package Options</A> + | <A HREF="manual.html#2270">Package Options</A> + | <A HREF="manual.html#2663">Acronyms</A> + | <A HREF="manual.html#2665">Acronyms</A> + | <A HREF="manual.html#2686">Acronyms</A> + | <A HREF="manual.html#2713">Acronyms</A> + | <A HREF="manual.html#3395">Limitations</A> + | <A HREF="manual.html#3404">Limitations</A> + | <A HREF="manual.html#3518">Troubleshooting</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2090">Package Options</A> - | <A HREF="manual.html#3158">Limitations</A> +<DD><A HREF="manual.html#2274">Package Options</A> + | <A HREF="manual.html#3406">Limitations</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2088">Package Options</A> - | <A HREF="manual.html#2500">Acronyms</A> - | <A HREF="manual.html#2527">Acronyms</A> - | <A HREF="manual.html#3149">Limitations</A> - | <A HREF="manual.html#3277">Troubleshooting</A> +<DD><A HREF="manual.html#2272">Package Options</A> + | <A HREF="manual.html#2688">Acronyms</A> + | <A HREF="manual.html#2715">Acronyms</A> + | <A HREF="manual.html#3397">Limitations</A> + | <A HREF="manual.html#3520">Troubleshooting</A> </DL> <DT><STRONG>border</STRONG> -<DD><A HREF="manual.html#1900">Package Options</A> - | <A HREF="manual.html#1902">Package Options</A> - | <A HREF="manual.html#2110">Package Options</A> - | <A HREF="manual.html#2112">Package Options</A> - | <A HREF="manual.html#2238">Examples</A> - | <A HREF="manual.html#2274">Examples</A> - | <A HREF="manual.html#2301">Examples</A> - | <A HREF="manual.html#2328">Examples</A> - | <A HREF="manual.html#3004">Customizing the Glossary</A> +<DD><A HREF="manual.html#2079">Package Options</A> + | <A HREF="manual.html#2081">Package Options</A> + | <A HREF="manual.html#2294">Package Options</A> + | <A HREF="manual.html#2296">Package Options</A> + | <A HREF="manual.html#2422">Examples</A> + | <A HREF="manual.html#2458">Examples</A> + | <A HREF="manual.html#2485">Examples</A> + | <A HREF="manual.html#2512">Examples</A> + | <A HREF="manual.html#3217">Customizing the Glossary</A> + | <A HREF="manual.html#3219">Customizing the Glossary</A> <DD><DL COMPACT> <DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#1904">Package Options</A> - | <A HREF="manual.html#2240">Examples</A> - | <A HREF="manual.html#2330">Examples</A> - | <A HREF="manual.html#3006">Customizing the Glossary</A> +<DD><A HREF="manual.html#2083">Package Options</A> + | <A HREF="manual.html#2424">Examples</A> + | <A HREF="manual.html#2514">Examples</A> <DT><STRONG>plain</STRONG> -<DD><A HREF="manual.html#1906">Package Options</A> - | <A HREF="manual.html#2276">Examples</A> - | <A HREF="manual.html#2303">Examples</A> +<DD><A HREF="manual.html#2085">Package Options</A> + | <A HREF="manual.html#2460">Examples</A> + | <A HREF="manual.html#2487">Examples</A> </DL> <DT><STRONG>cols</STRONG> -<DD><A HREF="manual.html#1913">Package Options</A> - | <A HREF="manual.html#1915">Package Options</A> - | <A HREF="manual.html#2128">Package Options</A> - | <A HREF="manual.html#2130">Package Options</A> - | <A HREF="manual.html#2346">Examples</A> - | <A HREF="manual.html#2728">Customizing the Glossary</A> - | <A HREF="manual.html#2759">Customizing the Glossary</A> +<DD><A HREF="manual.html#2092">Package Options</A> + | <A HREF="manual.html#2094">Package Options</A> + | <A HREF="manual.html#2312">Package Options</A> + | <A HREF="manual.html#2314">Package Options</A> + | <A HREF="manual.html#2530">Examples</A> + | <A HREF="manual.html#2902">Customizing the Glossary</A> + | <A HREF="manual.html#2952">Customizing the Glossary</A> + | <A HREF="manual.html#2983">Customizing the Glossary</A> + | <A HREF="manual.html#3195">Customizing the Glossary</A> + | <A HREF="manual.html#3204">Customizing the Glossary</A> + | <A HREF="manual.html#3232">Customizing the Glossary</A> + | <A HREF="manual.html#3248">Customizing the Glossary</A> <DD><DL COMPACT> <DT><STRONG>2</STRONG> -<DD><A HREF="manual.html#1917">Package Options</A> +<DD><A HREF="manual.html#2096">Package Options</A> + | <A HREF="manual.html#3197">Customizing the Glossary</A> + | <A HREF="manual.html#3234">Customizing the Glossary</A> <DT><STRONG>3</STRONG> -<DD><A HREF="manual.html#1919">Package Options</A> - | <A HREF="manual.html#2348">Examples</A> - | <A HREF="manual.html#2730">Customizing the Glossary</A> - | <A HREF="manual.html#2761">Customizing the Glossary</A> +<DD><A HREF="manual.html#2098">Package Options</A> + | <A HREF="manual.html#2532">Examples</A> + | <A HREF="manual.html#2904">Customizing the Glossary</A> + | <A HREF="manual.html#2954">Customizing the Glossary</A> + | <A HREF="manual.html#2985">Customizing the Glossary</A> + | <A HREF="manual.html#3206">Customizing the Glossary</A> + | <A HREF="manual.html#3250">Customizing the Glossary</A> </DL> <DT><STRONG>global</STRONG> -<DD><A HREF="manual.html#2097">Package Options</A> - | <A HREF="manual.html#2099">Package Options</A> - | <A HREF="manual.html#3304">Troubleshooting</A> - | <A HREF="manual.html#3306">Troubleshooting</A> +<DD><A HREF="manual.html#2281">Package Options</A> + | <A HREF="manual.html#2283">Package Options</A> + | <A HREF="manual.html#3547">Troubleshooting</A> + | <A HREF="manual.html#3549">Troubleshooting</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2101">Package Options</A> +<DD><A HREF="manual.html#2285">Package Options</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2103">Package Options</A> +<DD><A HREF="manual.html#2287">Package Options</A> </DL> <DT><STRONG>header</STRONG> -<DD><A HREF="manual.html#1887">Package Options</A> - | <A HREF="manual.html#1889">Package Options</A> - | <A HREF="manual.html#2119">Package Options</A> - | <A HREF="manual.html#2121">Package Options</A> - | <A HREF="manual.html#2247">Examples</A> - | <A HREF="manual.html#2283">Examples</A> - | <A HREF="manual.html#2310">Examples</A> - | <A HREF="manual.html#2337">Examples</A> +<DD><A HREF="manual.html#2066">Package Options</A> + | <A HREF="manual.html#2068">Package Options</A> + | <A HREF="manual.html#2303">Package Options</A> + | <A HREF="manual.html#2305">Package Options</A> + | <A HREF="manual.html#2431">Examples</A> + | <A HREF="manual.html#2467">Examples</A> + | <A HREF="manual.html#2494">Examples</A> + | <A HREF="manual.html#2521">Examples</A> + | <A HREF="manual.html#2893">Customizing the Glossary</A> + | <A HREF="manual.html#3168">Customizing the Glossary</A> <DD><DL COMPACT> <DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#1891">Package Options</A> - | <A HREF="manual.html#2249">Examples</A> - | <A HREF="manual.html#2285">Examples</A> +<DD><A HREF="manual.html#2070">Package Options</A> + | <A HREF="manual.html#2433">Examples</A> + | <A HREF="manual.html#2469">Examples</A> <DT><STRONG>plain</STRONG> -<DD><A HREF="manual.html#1893">Package Options</A> - | <A HREF="manual.html#2312">Examples</A> - | <A HREF="manual.html#2339">Examples</A> +<DD><A HREF="manual.html#2072">Package Options</A> + | <A HREF="manual.html#2496">Examples</A> + | <A HREF="manual.html#2523">Examples</A> +<DT><STRONG>true</STRONG> +<DD><A HREF="manual.html#2895">Customizing the Glossary</A> + | <A HREF="manual.html#3170">Customizing the Glossary</A> </DL> <DT><STRONG>hyper</STRONG> -<DD><A HREF="manual.html#1686">Generating Glossary Information</A> - | <A HREF="manual.html#1688">Generating Glossary Information</A> - | <A HREF="manual.html#2020">Package Options</A> - | <A HREF="manual.html#2022">Package Options</A> - | <A HREF="manual.html#2044">Package Options</A> - | <A HREF="manual.html#2053">Package Options</A> - | <A HREF="manual.html#2627">Acronyms</A> - | <A HREF="manual.html#2629">Acronyms</A> - | <A HREF="manual.html#3129">Limitations</A> - | <A HREF="manual.html#3439">Troubleshooting</A> - | <A HREF="manual.html#3441">Troubleshooting</A> - | <A HREF="manual.html#3601">Obsolete Commands</A> - | <A HREF="manual.html#3603">Obsolete Commands</A> - | <A HREF="manual.html#3629">Obsolete Commands</A> - | <A HREF="manual.html#3631">Obsolete Commands</A> - | <A HREF="manual.html#3645">Obsolete Commands</A> +<DD><A HREF="manual.html#1806">Generating Glossary Information</A> + | <A HREF="manual.html#1808">Generating Glossary Information</A> + | <A HREF="manual.html#2204">Package Options</A> + | <A HREF="manual.html#2206">Package Options</A> + | <A HREF="manual.html#2228">Package Options</A> + | <A HREF="manual.html#2237">Package Options</A> + | <A HREF="manual.html#2827">Acronyms</A> + | <A HREF="manual.html#2829">Acronyms</A> + | <A HREF="manual.html#3377">Limitations</A> + | <A HREF="manual.html#3682">Troubleshooting</A> + | <A HREF="manual.html#3684">Troubleshooting</A> + | <A HREF="manual.html#3839">Obsolete Commands</A> + | <A HREF="manual.html#3841">Obsolete Commands</A> + | <A HREF="manual.html#3867">Obsolete Commands</A> + | <A HREF="manual.html#3869">Obsolete Commands</A> + | <A HREF="manual.html#3883">Obsolete Commands</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2031">Package Options</A> - | <A HREF="manual.html#2055">Package Options</A> +<DD><A HREF="manual.html#2215">Package Options</A> + | <A HREF="manual.html#2239">Package Options</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2024">Package Options</A> - | <A HREF="manual.html#2046">Package Options</A> - | <A HREF="manual.html#3131">Limitations</A> - | <A HREF="manual.html#3647">Obsolete Commands</A> +<DD><A HREF="manual.html#2208">Package Options</A> + | <A HREF="manual.html#2230">Package Options</A> + | <A HREF="manual.html#3379">Limitations</A> + | <A HREF="manual.html#3885">Obsolete Commands</A> </DL> <DT><STRONG>hyperacronym</STRONG> -<DD><A HREF="manual.html#2062">Package Options</A> - | <A HREF="manual.html#2064">Package Options</A> - | <A HREF="manual.html#3592">Obsolete Commands</A> - | <A HREF="manual.html#3594">Obsolete Commands</A> - | <A HREF="manual.html#3620">Obsolete Commands</A> - | <A HREF="manual.html#3622">Obsolete Commands</A> - | <A HREF="manual.html#3654">Obsolete Commands</A> - | <A HREF="manual.html#3663">Obsolete Commands</A> +<DD><A HREF="manual.html#2246">Package Options</A> + | <A HREF="manual.html#2248">Package Options</A> + | <A HREF="manual.html#3830">Obsolete Commands</A> + | <A HREF="manual.html#3832">Obsolete Commands</A> + | <A HREF="manual.html#3858">Obsolete Commands</A> + | <A HREF="manual.html#3860">Obsolete Commands</A> + | <A HREF="manual.html#3892">Obsolete Commands</A> + | <A HREF="manual.html#3901">Obsolete Commands</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#3635">Obsolete Commands</A> - | <A HREF="manual.html#3665">Obsolete Commands</A> +<DD><A HREF="manual.html#3873">Obsolete Commands</A> + | <A HREF="manual.html#3903">Obsolete Commands</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#3633">Obsolete Commands</A> - | <A HREF="manual.html#3656">Obsolete Commands</A> +<DD><A HREF="manual.html#3871">Obsolete Commands</A> + | <A HREF="manual.html#3894">Obsolete Commands</A> </DL> <DT><STRONG>hypertoc</STRONG> -<DD><A HREF="manual.html#1954">Package Options</A> - | <A HREF="manual.html#1956">Package Options</A> - | <A HREF="manual.html#1975">Package Options</A> - | <A HREF="manual.html#1977">Package Options</A> - | <A HREF="manual.html#2002">Package Options</A> - | <A HREF="manual.html#2011">Package Options</A> +<DD><A HREF="manual.html#2138">Package Options</A> + | <A HREF="manual.html#2140">Package Options</A> + | <A HREF="manual.html#2159">Package Options</A> + | <A HREF="manual.html#2161">Package Options</A> + | <A HREF="manual.html#2186">Package Options</A> + | <A HREF="manual.html#2195">Package Options</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2013">Package Options</A> +<DD><A HREF="manual.html#2197">Package Options</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2004">Package Options</A> +<DD><A HREF="manual.html#2188">Package Options</A> </DL> <DT><STRONG>number</STRONG> -<DD><A HREF="manual.html#1926">Package Options</A> - | <A HREF="manual.html#1928">Package Options</A> - | <A HREF="manual.html#2220">Examples</A> - | <A HREF="manual.html#2256">Examples</A> - | <A HREF="manual.html#2746">Customizing the Glossary</A> - | <A HREF="manual.html#2784">Customizing the Glossary</A> - | <A HREF="manual.html#2802">Customizing the Glossary</A> - | <A HREF="manual.html#2861">Customizing the Glossary</A> - | <A HREF="manual.html#2876">Customizing the Glossary</A> - | <A HREF="manual.html#2892">Customizing the Glossary</A> - | <A HREF="manual.html#3044">Sample Documents</A> +<DD><A HREF="manual.html#2105">Package Options</A> + | <A HREF="manual.html#2107">Package Options</A> + | <A HREF="manual.html#2116">Package Options</A> + | <A HREF="manual.html#2404">Examples</A> + | <A HREF="manual.html#2440">Examples</A> + | <A HREF="manual.html#2970">Customizing the Glossary</A> + | <A HREF="manual.html#3008">Customizing the Glossary</A> + | <A HREF="manual.html#3026">Customizing the Glossary</A> + | <A HREF="manual.html#3283">Sample Documents</A> + | <A HREF="manual.html#3309">Sample Documents</A> <DD><DL COMPACT> +<DT><STRONG>equation</STRONG> +<DD><A HREF="manual.html#3311">Sample Documents</A> <DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#1934">Package Options</A> - | <A HREF="manual.html#2222">Examples</A> - | <A HREF="manual.html#2748">Customizing the Glossary</A> - | <A HREF="manual.html#2786">Customizing the Glossary</A> - | <A HREF="manual.html#2804">Customizing the Glossary</A> - | <A HREF="manual.html#2894">Customizing the Glossary</A> +<DD><A HREF="manual.html#2406">Examples</A> + | <A HREF="manual.html#2972">Customizing the Glossary</A> + | <A HREF="manual.html#3010">Customizing the Glossary</A> + | <A HREF="manual.html#3028">Customizing the Glossary</A> <DT><STRONG>page</STRONG> -<DD><A HREF="manual.html#1930">Package Options</A> - | <A HREF="manual.html#2258">Examples</A> +<DD><A HREF="manual.html#2118">Package Options</A> + | <A HREF="manual.html#2442">Examples</A> <DT><STRONG>section</STRONG> -<DD><A HREF="manual.html#1932">Package Options</A> - | <A HREF="manual.html#2863">Customizing the Glossary</A> - | <A HREF="manual.html#2878">Customizing the Glossary</A> - | <A HREF="manual.html#3046">Sample Documents</A> +<DD><A HREF="manual.html#3285">Sample Documents</A> </DL> <DT><STRONG>section</STRONG> -<DD><A HREF="manual.html#2071">Package Options</A> - | <A HREF="manual.html#2073">Package Options</A> +<DD><A HREF="manual.html#2255">Package Options</A> + | <A HREF="manual.html#2257">Package Options</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2077">Package Options</A> +<DD><A HREF="manual.html#2261">Package Options</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2075">Package Options</A> +<DD><A HREF="manual.html#2259">Package Options</A> </DL> <DT><STRONG>style</STRONG> -<DD><A HREF="manual.html#1858">Package Options</A> - | <A HREF="manual.html#1860">Package Options</A> - | <A HREF="manual.html#1872">Package Options</A> - | <A HREF="manual.html#2137">Package Options</A> - | <A HREF="manual.html#2146">Package Options</A> - | <A HREF="manual.html#2193">Examples</A> - | <A HREF="manual.html#2202">Examples</A> - | <A HREF="manual.html#2211">Examples</A> - | <A HREF="manual.html#2229">Examples</A> - | <A HREF="manual.html#2265">Examples</A> - | <A HREF="manual.html#2292">Examples</A> - | <A HREF="manual.html#2319">Examples</A> - | <A HREF="manual.html#2737">Customizing the Glossary</A> - | <A HREF="manual.html#2815">Customizing the Glossary</A> - | <A HREF="manual.html#2824">Customizing the Glossary</A> - | <A HREF="manual.html#2915">Customizing the Glossary</A> - | <A HREF="manual.html#2924">Customizing the Glossary</A> - | <A HREF="manual.html#2957">Customizing the Glossary</A> - | <A HREF="manual.html#2968">Customizing the Glossary</A> - | <A HREF="manual.html#2984">Customizing the Glossary</A> - | <A HREF="manual.html#2993">Customizing the Glossary</A> - | <A HREF="manual.html#3026">Sample Documents</A> - | <A HREF="manual.html#3120">Limitations</A> - | <A HREF="manual.html#3400">Troubleshooting</A> - | <A HREF="manual.html#3409">Troubleshooting</A> +<DD><A HREF="manual.html#2037">Package Options</A> + | <A HREF="manual.html#2039">Package Options</A> + | <A HREF="manual.html#2051">Package Options</A> + | <A HREF="manual.html#2321">Package Options</A> + | <A HREF="manual.html#2330">Package Options</A> + | <A HREF="manual.html#2377">Examples</A> + | <A HREF="manual.html#2386">Examples</A> + | <A HREF="manual.html#2395">Examples</A> + | <A HREF="manual.html#2413">Examples</A> + | <A HREF="manual.html#2449">Examples</A> + | <A HREF="manual.html#2476">Examples</A> + | <A HREF="manual.html#2503">Examples</A> + | <A HREF="manual.html#2961">Customizing the Glossary</A> + | <A HREF="manual.html#3039">Customizing the Glossary</A> + | <A HREF="manual.html#3048">Customizing the Glossary</A> + | <A HREF="manual.html#3101">Customizing the Glossary</A> + | <A HREF="manual.html#3110">Customizing the Glossary</A> + | <A HREF="manual.html#3143">Customizing the Glossary</A> + | <A HREF="manual.html#3154">Customizing the Glossary</A> + | <A HREF="manual.html#3177">Customizing the Glossary</A> + | <A HREF="manual.html#3186">Customizing the Glossary</A> + | <A HREF="manual.html#3265">Sample Documents</A> + | <A HREF="manual.html#3368">Limitations</A> + | <A HREF="manual.html#3643">Troubleshooting</A> + | <A HREF="manual.html#3652">Troubleshooting</A> <DD><DL COMPACT> <DT><STRONG>altlist</STRONG> -<DD><A HREF="manual.html#1865">Package Options</A> - | <A HREF="manual.html#2148">Package Options</A> - | <A HREF="manual.html#2168">Package Options</A> - | <A HREF="manual.html#2204">Examples</A> - | <A HREF="manual.html#2739">Customizing the Glossary</A> - | <A HREF="manual.html#2826">Customizing the Glossary</A> - | <A HREF="manual.html#2926">Customizing the Glossary</A> - | <A HREF="manual.html#2970">Customizing the Glossary</A> - | <A HREF="manual.html#3028">Sample Documents</A> - | <A HREF="manual.html#3091">Sample Documents</A> - | <A HREF="manual.html#3122">Limitations</A> +<DD><A HREF="manual.html#2044">Package Options</A> + | <A HREF="manual.html#2332">Package Options</A> + | <A HREF="manual.html#2352">Package Options</A> + | <A HREF="manual.html#2388">Examples</A> + | <A HREF="manual.html#2963">Customizing the Glossary</A> + | <A HREF="manual.html#3050">Customizing the Glossary</A> + | <A HREF="manual.html#3112">Customizing the Glossary</A> + | <A HREF="manual.html#3156">Customizing the Glossary</A> + | <A HREF="manual.html#3267">Sample Documents</A> + | <A HREF="manual.html#3339">Sample Documents</A> + | <A HREF="manual.html#3370">Limitations</A> <DT><STRONG>list</STRONG> -<DD><A HREF="manual.html#1862">Package Options</A> - | <A HREF="manual.html#1874">Package Options</A> - | <A HREF="manual.html#2139">Package Options</A> - | <A HREF="manual.html#2195">Examples</A> - | <A HREF="manual.html#2213">Examples</A> - | <A HREF="manual.html#2817">Customizing the Glossary</A> - | <A HREF="manual.html#2917">Customizing the Glossary</A> - | <A HREF="manual.html#2959">Customizing the Glossary</A> +<DD><A HREF="manual.html#2041">Package Options</A> + | <A HREF="manual.html#2053">Package Options</A> + | <A HREF="manual.html#2323">Package Options</A> + | <A HREF="manual.html#2379">Examples</A> + | <A HREF="manual.html#2397">Examples</A> + | <A HREF="manual.html#3041">Customizing the Glossary</A> + | <A HREF="manual.html#3103">Customizing the Glossary</A> + | <A HREF="manual.html#3145">Customizing the Glossary</A> <DT><STRONG>long</STRONG> -<DD><A HREF="manual.html#1879">Package Options</A> - | <A HREF="manual.html#2231">Examples</A> - | <A HREF="manual.html#2267">Examples</A> - | <A HREF="manual.html#2294">Examples</A> - | <A HREF="manual.html#2321">Examples</A> - | <A HREF="manual.html#2986">Customizing the Glossary</A> - | <A HREF="manual.html#3402">Troubleshooting</A> +<DD><A HREF="manual.html#2058">Package Options</A> + | <A HREF="manual.html#2415">Examples</A> + | <A HREF="manual.html#2451">Examples</A> + | <A HREF="manual.html#2478">Examples</A> + | <A HREF="manual.html#2505">Examples</A> + | <A HREF="manual.html#3179">Customizing the Glossary</A> + | <A HREF="manual.html#3645">Troubleshooting</A> <DT><STRONG>super</STRONG> -<DD><A HREF="manual.html#1876">Package Options</A> - | <A HREF="manual.html#2995">Customizing the Glossary</A> - | <A HREF="manual.html#3411">Troubleshooting</A> +<DD><A HREF="manual.html#2055">Package Options</A> + | <A HREF="manual.html#3188">Customizing the Glossary</A> + | <A HREF="manual.html#3654">Troubleshooting</A> </DL> <DT><STRONG>toc</STRONG> -<DD><A HREF="manual.html#1941">Package Options</A> - | <A HREF="manual.html#1943">Package Options</A> - | <A HREF="manual.html#1963">Package Options</A> - | <A HREF="manual.html#1965">Package Options</A> - | <A HREF="manual.html#1984">Package Options</A> - | <A HREF="manual.html#1986">Package Options</A> - | <A HREF="manual.html#1993">Package Options</A> - | <A HREF="manual.html#2155">Package Options</A> - | <A HREF="manual.html#2157">Package Options</A> - | <A HREF="manual.html#2164">Package Options</A> - | <A HREF="manual.html#3035">Sample Documents</A> - | <A HREF="manual.html#3037">Sample Documents</A> - | <A HREF="manual.html#3138">Limitations</A> +<DD><A HREF="manual.html#2125">Package Options</A> + | <A HREF="manual.html#2127">Package Options</A> + | <A HREF="manual.html#2147">Package Options</A> + | <A HREF="manual.html#2149">Package Options</A> + | <A HREF="manual.html#2168">Package Options</A> + | <A HREF="manual.html#2170">Package Options</A> + | <A HREF="manual.html#2177">Package Options</A> + | <A HREF="manual.html#2339">Package Options</A> + | <A HREF="manual.html#2341">Package Options</A> + | <A HREF="manual.html#2348">Package Options</A> + | <A HREF="manual.html#3274">Sample Documents</A> + | <A HREF="manual.html#3276">Sample Documents</A> + | <A HREF="manual.html#3386">Limitations</A> <DD><DL COMPACT> <DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#1947">Package Options</A> +<DD><A HREF="manual.html#2131">Package Options</A> <DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#1945">Package Options</A> - | <A HREF="manual.html#1995">Package Options</A> - | <A HREF="manual.html#2166">Package Options</A> - | <A HREF="manual.html#3140">Limitations</A> +<DD><A HREF="manual.html#2129">Package Options</A> + | <A HREF="manual.html#2179">Package Options</A> + | <A HREF="manual.html#2350">Package Options</A> + | <A HREF="manual.html#3388">Limitations</A> </DL> </DL> <DT><STRONG>page number formats</STRONG> <DD><DL COMPACT> <DT><STRONG>hyperbf</STRONG> -<DD><A HREF="manual.html#1671">Generating Glossary Information</A> - | <A HREF="manual.html#3451">Troubleshooting</A> +<DD><A HREF="manual.html#1764">Generating Glossary Information</A> + | <A HREF="manual.html#3694">Troubleshooting</A> +<DT><STRONG>hyperem</STRONG> +<DD><A HREF="manual.html#1794">Generating Glossary Information</A> + | <A HREF="manual.html#1810">Generating Glossary Information</A> <DT><STRONG>hyperit</STRONG> -<DD><A HREF="manual.html#1676">Generating Glossary Information</A> +<DD><A HREF="manual.html#1774">Generating Glossary Information</A> +<DT><STRONG>hypermd</STRONG> +<DD><A HREF="manual.html#1769">Generating Glossary Information</A> <DT><STRONG>hyperrm</STRONG> -<DD><A HREF="manual.html#1656">Generating Glossary Information</A> - | <A HREF="manual.html#1690">Generating Glossary Information</A> +<DD><A HREF="manual.html#1749">Generating Glossary Information</A> + | <A HREF="manual.html#1815">Generating Glossary Information</A> +<DT><STRONG>hypersc</STRONG> +<DD><A HREF="manual.html#1789">Generating Glossary Information</A> <DT><STRONG>hypersf</STRONG> -<DD><A HREF="manual.html#1661">Generating Glossary Information</A> +<DD><A HREF="manual.html#1754">Generating Glossary Information</A> +<DT><STRONG>hypersl</STRONG> +<DD><A HREF="manual.html#1779">Generating Glossary Information</A> <DT><STRONG>hypertt</STRONG> -<DD><A HREF="manual.html#1666">Generating Glossary Information</A> +<DD><A HREF="manual.html#1759">Generating Glossary Information</A> +<DT><STRONG>hyperup</STRONG> +<DD><A HREF="manual.html#1784">Generating Glossary Information</A> </DL> -<DT><STRONG><TT>\pagecompositor</TT></STRONG> -<DD><A HREF="manual.html#3065">Sample Documents</A> <DT><STRONG><TT>perl</TT></STRONG> -<DD><A HREF="manual.html#1615">Installation</A> +<DD><A HREF="manual.html#1686">Installation</A> <DT><STRONG><TT>\printacronym</TT></STRONG> -<DD><A HREF="manual.html#2507">Acronyms</A> - | <A HREF="manual.html#3284">Troubleshooting</A> +<DD><A HREF="manual.html#2695">Acronyms</A> + | <A HREF="manual.html#3527">Troubleshooting</A> <DT><STRONG><TT>\printglossary</TT></STRONG> -<DD><A HREF="manual.html#2367">Defining New Glossary Types</A> - | <A HREF="manual.html#2424">Defining New Glossary Types</A> - | <A HREF="manual.html#3200">Troubleshooting</A> +<DD><A HREF="manual.html#2551">Defining New Glossary Types</A> + | <A HREF="manual.html#2608">Defining New Glossary Types</A> + | <A HREF="manual.html#3443">Troubleshooting</A> <DT><STRONG><TT>\protect</TT></STRONG> -<DD><A HREF="manual.html#3338">Troubleshooting</A> +<DD><A HREF="manual.html#3581">Troubleshooting</A> <DT><STRONG><TT>\saveglosentry</TT></STRONG> -<DD><A HREF="manual.html#3308">Troubleshooting</A> - | <A HREF="manual.html#3573">Obsolete Commands</A> +<DD><A HREF="manual.html#3551">Troubleshooting</A> + | <A HREF="manual.html#3816">Obsolete Commands</A> +<DT><STRONG><TT>\setacronymnamefmt</TT></STRONG> +<DD><A HREF="manual.html#2781">Acronyms</A> <DT><STRONG><TT>\setglossary</TT></STRONG> -<DD><A HREF="manual.html#3160">Limitations</A> - | <A HREF="manual.html#3469">Troubleshooting</A> +<DD><A HREF="manual.html#3408">Limitations</A> + | <A HREF="manual.html#3712">Troubleshooting</A> <DT><STRONG><TT>\setglossary</TT> keys</STRONG> <DD><DL COMPACT> <DT><STRONG>delimN</STRONG> -<DD><A HREF="manual.html#2770">Customizing the Glossary</A> +<DD><A HREF="manual.html#2994">Customizing the Glossary</A> <DT><STRONG>delimR</STRONG> -<DD><A HREF="manual.html#2788">Customizing the Glossary</A> +<DD><A HREF="manual.html#3012">Customizing the Glossary</A> <DT><STRONG>delimT</STRONG> -<DD><A HREF="manual.html#2839">Customizing the Glossary</A> - | <A HREF="manual.html#2848">Customizing the Glossary</A> +<DD><A HREF="manual.html#3063">Customizing the Glossary</A> + | <A HREF="manual.html#3072">Customizing the Glossary</A> <DT><STRONG>glodelim</STRONG> -<DD><A HREF="manual.html#2719">Customizing the Glossary</A> - | <A HREF="manual.html#2750">Customizing the Glossary</A> +<DD><A HREF="manual.html#2943">Customizing the Glossary</A> + | <A HREF="manual.html#2974">Customizing the Glossary</A> <DT><STRONG>gloskip</STRONG> -<DD><A HREF="manual.html#2806">Customizing the Glossary</A> +<DD><A HREF="manual.html#3030">Customizing the Glossary</A> + | <A HREF="manual.html#3080">Customizing the Glossary</A> <DT><STRONG>glsnumformat</STRONG> -<DD><A HREF="manual.html#2713">Customizing the Glossary</A> - | <A HREF="manual.html#3465">Troubleshooting</A> +<DD><A HREF="manual.html#2937">Customizing the Glossary</A> + | <A HREF="manual.html#3708">Troubleshooting</A> <DT><STRONG>type</STRONG> -<DD><A HREF="manual.html#2709">Customizing the Glossary</A> +<DD><A HREF="manual.html#2933">Customizing the Glossary</A> </DL> <DT><STRONG><TT>\storeglosentry</TT></STRONG> -<DD><A HREF="manual.html#3060">Sample Documents</A> - | <A HREF="manual.html#3165">Limitations</A> - | <A HREF="manual.html#3250">Troubleshooting</A> - | <A HREF="manual.html#3313">Troubleshooting</A> - | <A HREF="manual.html#3318">Troubleshooting</A> - | <A HREF="manual.html#3345">Troubleshooting</A> - | <A HREF="manual.html#3359">Troubleshooting</A> +<DD><A HREF="manual.html#1890">Storing Glossary Information</A> + | <A HREF="manual.html#1910">Storing Glossary Information</A> + | <A HREF="manual.html#3299">Sample Documents</A> + | <A HREF="manual.html#3413">Limitations</A> + | <A HREF="manual.html#3493">Troubleshooting</A> + | <A HREF="manual.html#3556">Troubleshooting</A> + | <A HREF="manual.html#3561">Troubleshooting</A> + | <A HREF="manual.html#3588">Troubleshooting</A> + | <A HREF="manual.html#3602">Troubleshooting</A> <DT><STRONG>table of contents, adding to</STRONG> <DD><i>see </i> package options, toc -<DT><STRONG><TT>\theglossarynum</TT></STRONG> -<DD><A HREF="manual.html#2896">Customizing the Glossary</A> - | <A HREF="manual.html#3070">Sample Documents</A> - | <A HREF="manual.html#3190">Limitations</A> <DT><STRONG><TT>\useacronym</TT></STRONG> -<DD><A HREF="manual.html#2664">Examples</A> +<DD><A HREF="manual.html#2864">Examples</A> <DT><STRONG><TT>\useGlosentry</TT></STRONG> -<DD><A HREF="manual.html#3255">Troubleshooting</A> - | <A HREF="manual.html#3260">Troubleshooting</A> - | <A HREF="manual.html#3323">Troubleshooting</A> - | <A HREF="manual.html#3328">Troubleshooting</A> - | <A HREF="manual.html#3364">Troubleshooting</A> - | <A HREF="manual.html#3369">Troubleshooting</A> +<DD><A HREF="manual.html#1895">Storing Glossary Information</A> + | <A HREF="manual.html#1900">Storing Glossary Information</A> + | <A HREF="manual.html#3498">Troubleshooting</A> + | <A HREF="manual.html#3503">Troubleshooting</A> + | <A HREF="manual.html#3566">Troubleshooting</A> + | <A HREF="manual.html#3571">Troubleshooting</A> + | <A HREF="manual.html#3607">Troubleshooting</A> + | <A HREF="manual.html#3612">Troubleshooting</A> <DT><STRONG><TT>\xacronym</TT></STRONG> -<DD><A HREF="manual.html#2450">Acronyms</A> - | <A HREF="manual.html#2459">Acronyms</A> - | <A HREF="manual.html#2483">Acronyms</A> +<DD><A HREF="manual.html#2634">Acronyms</A> + | <A HREF="manual.html#2643">Acronyms</A> + | <A HREF="manual.html#2667">Acronyms</A> <DT><STRONG><TT>\xglossary</TT></STRONG> -<DD><A HREF="manual.html#2026">Package Options</A> - | <A HREF="manual.html#2362">Defining New Glossary Types</A> - | <A HREF="manual.html#2488">Acronyms</A> - | <A HREF="manual.html#3245">Troubleshooting</A> - | <A HREF="manual.html#3605">Obsolete Commands</A> - | <A HREF="manual.html#3610">Obsolete Commands</A> +<DD><A HREF="manual.html#2210">Package Options</A> + | <A HREF="manual.html#2546">Defining New Glossary Types</A> + | <A HREF="manual.html#2672">Acronyms</A> + | <A HREF="manual.html#3488">Troubleshooting</A> + | <A HREF="manual.html#3843">Obsolete Commands</A> + | <A HREF="manual.html#3848">Obsolete Commands</A> <DT><STRONG><TT>xpdf</TT></STRONG> -<DD><A HREF="manual.html#3474">Troubleshooting</A> +<DD><A HREF="manual.html#3717">Troubleshooting</A> <DT><STRONG><TT>\xspace</TT></STRONG> -<DD><A HREF="manual.html#2633">Acronyms</A> - | <A HREF="manual.html#2639">Acronyms</A> +<DD><A HREF="manual.html#2833">Acronyms</A> + | <A HREF="manual.html#2839">Acronyms</A> </DL> <P> <BR><HR><H4>Footnotes</H4> <DL> -<DT><A NAME="foot1488">... <code>/usr/bin/</code></A><A +<DT><A NAME="foot1555">... <code>/usr/bin/</code></A><A HREF="manual.html#tex2html1"><SUP>1</SUP></A></DT> <DD>and you can also remove the <TT>.pl</TT> extension which isn't to everyone's liking. </DD> -<DT><A NAME="foot1491">... glossary</A><A +<DT><A NAME="foot1559">... glossary</A><A HREF="manual.html#tex2html2"><SUP>2</SUP></A></DT> <DD>This is because the list and number ranges are delimited using <TT>\delimR</TT> and <TT>\delimN</TT> instead of explicitly using a comma or en-dash. </DD> -<DT><A NAME="foot1544">... backslash</A><A +<DT><A NAME="foot1613">... backslash</A><A HREF="manual.html#tex2html4"><SUP>3</SUP></A></DT> <DD>Note, you should no longer try redefining the command <TT>\glsnumformat</TT>, as @@ -2869,21 +3035,27 @@ this now takes an optional argument, allowing for different glossary types </DD> -<DT><A NAME="foot1545">... space</A><A +<DT><A NAME="foot1614">... space</A><A HREF="manual.html#tex2html5"><SUP>4</SUP></A></DT> <DD>This is because the <TT>altlist</TT> style is intended for use with long descriptions that will look better ending with a full stop which the user can add if desired. </DD> -<DT><A NAME="foot1100">...\glossaryalignment</A><A +<DT><A NAME="foot1148">...\glossaryalignment</A><A HREF="manual.html#tex2html6"><SUP>5</SUP></A></DT> <DD>This isn't quite true anymore, see the documented code for clarification </DD> -<DT><A NAME="foot1547">... information</A><A - HREF="manual.html#tex2html8"><SUP>6</SUP></A></DT> +<DT><A NAME="foot1616">...\glossaryheader</A><A + HREF="manual.html#tex2html7"><SUP>6</SUP></A></DT> +<DD>Note that as from version 2.4, +you must use <TT>\newcommand</TT> <I>not</I> <TT>\renewcommand</TT> + +</DD> +<DT><A NAME="foot1617">... information</A><A + HREF="manual.html#tex2html9"><SUP>7</SUP></A></DT> <DD>This should be in the directory <TT>texmf/doc/latex/graphics/</TT> @@ -2891,7 +3063,7 @@ anymore, see the documented code for clarification </DL> <BR><HR> <ADDRESS> -<a href=http://theoval.cmp.uea.ac.uk/~nlct/>Nicola L. C. Talbot</a>. <a href=http://www.cmp.uea.ac.uk/>School of Computing Sciences</a>. <a href=http://www.uea.ac.uk/>University of East Anglia.</a> Last Modified: 2006-07-09 +<a href=http://theoval.cmp.uea.ac.uk/~nlct/>Nicola L. C. Talbot</a>. <a href=http://www.cmp.uea.ac.uk/>School of Computing Sciences</a>. <a href=http://www.uea.ac.uk/>University of East Anglia.</a> Last Modified: 2006-07-25 </ADDRESS> </BODY> </HTML> diff --git a/Master/texmf-dist/doc/latex/glossary/sample.tex b/Master/texmf-dist/doc/latex/glossary/sample.tex index adb2f94af49..5d3a245a346 100644 --- a/Master/texmf-dist/doc/latex/glossary/sample.tex +++ b/Master/texmf-dist/doc/latex/glossary/sample.tex @@ -33,6 +33,21 @@ \makeglossary + +\storeglosentry{glossary1}{name=glossary, +description=1) list of technical words} + +\storeglosentry{glossary2}{name=glossary, +description=2) collection of glosses} + +\storeglosentry{Perl}{name=\texttt{Perl}, +sort=Perl, % need a sort key because name contains a command +description=A scripting language} + +\storeglosentry{pagelist}{name=page list, +description={a list of individual pages or page ranges, +e.g.\ 1,2,4,7-9}} + \begin{document} \title{Sample Document Using glossary Package} @@ -46,10 +61,8 @@ \chapter{Introduction} \pagenumbering{arabic} -A \xglossary{name=glossary,description=1) list of technical -words}{glossary} is a very useful addition to any -technical document, although a \xglossary{name=glossary, -description=2) collection of glosses}{glossary} can +A \gls{glossary1} is a very useful addition to any +technical document, although a \gls{glossary2} can also simply be a collection of glosses, which is another thing entirely. @@ -61,23 +74,18 @@ of an \texttt{.ind} file, and change the name of the log file so that it doesn't overwrite the index log file (if you have an index for your document). Rather than having to remember all the command line -switches, you can call the \xglossary{name=\texttt{Perl}, -sort=Perl,description=A scripting language}{Perl} script +switches, you can call the \gls{Perl} script \texttt{makeglos.pl} which provides a convenient wrapper. If you have two terms with different meanings in your -\xglossary{name=glossary,description=1) list of technical -words}{glossary}, -\texttt{makeindex} will of course treat them as two +\gls{glossary1}, \texttt{makeindex} will of course treat them as two separate entries, however, some people prefer to -merge them. This can be done using -\texttt{makeglos.pl}, and passing the option -\texttt{-m}. +merge them. This can be done using \texttt{makeglos.pl}, and +passing the option \texttt{-m}. If a comma appears within the name or description, grouping -must be used: \xglossary{name=page list,description={a list -of individual pages or page ranges, e.g.\ 1,2,4,7-9}}{page list} +must be used: \gls{pagelist}. \printglossary diff --git a/Master/texmf-dist/doc/latex/glossary/sample4col.tex b/Master/texmf-dist/doc/latex/glossary/sample4col.tex index 2d3ee56f266..e99457a0d0f 100644 --- a/Master/texmf-dist/doc/latex/glossary/sample4col.tex +++ b/Master/texmf-dist/doc/latex/glossary/sample4col.tex @@ -28,22 +28,24 @@ %% Right brace \} Tilde \~} \documentclass[a4paper]{article} -\usepackage[style=long,cols=3]{glossary} +\usepackage[style=long,cols=3]{glossary}[2006/07/20] \renewcommand{\glossaryalignment}{llll} -\renewcommand{\glossaryheader}{% + +\newcommand{\glossaryheader}{% \bfseries Name & \bfseries Description & \bfseries Unit & \bfseries Page} \makeglossary +\storeglosentry{w}{name={$w$},sort=w,description={width&m}} +\storeglosentry{M}{name={$M$},sort=M,description={mass&kg}} + \begin{document} \printglossary -The width\glossary{name={$w$},sort=w,description={width&m}}, $w$, is -measured in meters. The -mass\glossary{name={$M$},sort=M,description={mass&kg}}, $M$ is +The width, \gls{w}, is measured in meters. The mass, \gls{M} is measured in kilograms. \end{document} diff --git a/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex b/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex index 7199904b0b6..26e77a8f508 100644 --- a/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex +++ b/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex @@ -28,34 +28,35 @@ %% Right brace \} Tilde \~} \documentclass[a4paper]{report} -\usepackage{xspace} \usepackage[colorlinks,plainpages=false]{hyperref} -\usepackage[style=altlist,hypertoc,number=none,acronym]{glossary} +\usepackage[style=altlist,hypertoc,acronym]{glossary} \makeacronym +\newacronym{svm}{support vector machine}{% +description=Statistical pattern recognition +technique~\cite{svm}} - -\newacronym{svm}{support vector machine}{description=Statistical pattern recognition technique~\cite{svm}} - -\newacronym[ksvm]{k-svm}{kernel support vector machine}{description={Statistical pattern recognition technique using -the ``kernel trick'' (see also SVM)}} +\newacronym[ksvm]{k-svm}{kernel support vector machine}{% +description={Statistical pattern recognition technique +using the ``kernel trick'' (see also SVM)}} \begin{document} \tableofcontents \chapter{Support Vector Machines} -The \svm is used widely in the area of pattern recognition. +The \svm\ is used widely in the area of pattern recognition. \useacronym*[s]{svm} are \ldots -This is the long version: \svmlong or alternatively: +This is the long version: \svmlong\ or alternatively: \acrln*{svm}. -Abbreviation: \svmshort or \acrsh*{svm}. +Abbreviation: \svmshort\ or \acrsh*{svm}. \chapter{Kernel Support Vector Machines} -The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses the so called ``kernel trick''. +The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses +the so called ``kernel trick''. \resetallacronyms \useacronym*[s]{ksvm} \ldots diff --git a/Master/texmf-dist/doc/latex/glossary/sampleEq.tex b/Master/texmf-dist/doc/latex/glossary/sampleEq.tex index 03edb3092a0..dc8b2a4e21b 100644 --- a/Master/texmf-dist/doc/latex/glossary/sampleEq.tex +++ b/Master/texmf-dist/doc/latex/glossary/sampleEq.tex @@ -29,23 +29,85 @@ \documentclass[a4paper,12pt]{report} \usepackage{amsmath} -\usepackage[header,border=none,cols=3]{glossary} +\usepackage[colorlinks]{hyperref} +\usepackage[header,border=none,cols=3,number=equation]{glossary}[2006/07/20] \newcommand{\erf}{\operatorname{erf}} \newcommand{\erfc}{\operatorname{erfc}} -\renewcommand{\theglossarynum}{\theequation} -\renewcommand{\pagecompositor}{.} +\makeglossary -\renewcommand{\glossaryname}{Index of Special Functions and Notations} -\renewcommand{\glossaryheader}{\bfseries Notation & -\multicolumn{2}{c}{\bfseries -\begin{tabular}{c}Name of the Function and\\the number of -the formula\end{tabular}}\\} +\renewcommand{\glossaryname}{Index of Special Functions +and Notations} -\makeglossary + +\renewcommand{\entryname}{Notation} + +\renewcommand{\descriptionname}{Function Name} + +\renewcommand{\glspageheader}{Number of Formula} + +\newcommand{\glossarysubheader}{ & & \\} + + +\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, +description=Gamma function,sort=Gamma} + +\storeglosentry{gamma}{name={\ensuremath{\gamma(\alpha,x)}}, +description=Incomplete gamma function,sort=gamma} + +\storeglosentry{iGamma}{name={\ensuremath{\Gamma(\alpha,x)}}, +description=Incomplete gamma function,sort=Gamma} + +\storeglosentry{psi}{name=\ensuremath{\psi(x)}, +description=Psi function,sort=psi} + +\storeglosentry{erf}{name=\ensuremath{\erf(x)}, +description=Error function,sort=erf} + +\storeglosentry{erfc}{name=\ensuremath{\erfc}, +description=Complementary error function,sort=erfc} + +\storeglosentry{B}{name={\ensuremath{B(x,y)}}, +description=Beta function,sort=B} + +\storeglosentry{Bx}{name={\ensuremath{B_x(p,q)}}, +description=Incomplete beta function,sort=Bx} + +\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, +description=Chebyshev's polynomials of the first kind,sort=Tn} + +\storeglosentry{Un}{name=\ensuremath{U_n(x)}, +description=Chebyshev's polynomials of the second kind,sort=Un} + +\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, +description=Hermite polynomials,sort=Hn} + +\storeglosentry{Ln}{name=\ensuremath{L_n^\alpha(x)}, +description=Laguerre polynomials,sort=Lna} + +\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, +description=Bessel functions,sort=Z} + +\storeglosentry{Phi}{name={\ensuremath{\Phi(\alpha,\gamma;z)}}, +description=confluent hypergeometric function,sort=Pagz} + +\storeglosentry{knu}{name=\ensuremath{k_\nu(x)}, +description=Bateman's function,sort=kv} + +\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, +description=Parabolic cylinder functions,sort=Dp} + +\storeglosentry{F}{name={\ensuremath{F(\phi,k)}}, +description=Elliptical integral of the first kind,sort=Fpk} + +\storeglosentry{C}{name=\ensuremath{C}, +description=Euler's constant,sort=C} + +\storeglosentry{G}{name=\ensuremath{G}, +description=Catalan's constant,sort=G} \begin{document} \title{A Sample Document Using glossary.sty} @@ -57,14 +119,9 @@ This is a sample document illustrating the use of the \textsf{glossary} package. The functions here have been taken from ``Tables of Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik. The glossary is a list of special functions, so -the equation number has been used rather than the page number. This can be -done by defining \verb|\theglossarynum| to be \verb|\theequation|. -The equation numbers are a composite number made up of the chapter number -and number of equation within the chapter. The two parts of the page -number are separated by a fullstop. The default compositor is -a dash \verb|-|, so it needs to be set to a dot by redefining the command -\verb|\pagecompositor|. (This needs to be done \emph{before} the command -\verb|\makeglossary|.) +the equation number has been used rather than the page number. This +can be done using the \texttt{number=equation} package +option. \end{abstract} \printglossary @@ -72,129 +129,113 @@ a dash \verb|-|, so it needs to be set to a dot by redefining the command \chapter{Gamma Functions} \begin{equation} -\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt +\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} +\verb|\ensuremath| is only required here if using +hyperlinks. \begin{equation} -\Gamma(x+1) = x\Gamma(x) +\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\gamma(\alpha, x) = \int_0^x e^{-t}t^{\alpha-1}\,dt +\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\gamma(\alpha,x)$},description=Incomplete gamma function,sort=gamma} \begin{equation} -\Gamma(\alpha, x) = \int_x^\infty e^{-t}t^{\alpha-1}\,dt +\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\Gamma(\alpha,x)$},description=Incomplete gamma function,sort=Gamma} \newpage \begin{equation} -\Gamma(\alpha) = \Gamma(\alpha, x) + \gamma(\alpha, x) +\gls{Gamma} = \Gamma(\alpha, x) + \gamma(\alpha, x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\psi(x) = \frac{d}{dx}\ln\Gamma(x) +\gls{psi} = \frac{d}{dx}\ln\Gamma(x) \end{equation} -\glossary{name=$\psi(x)$,description=Psi function,sort=psi} \chapter{Error Functions} \begin{equation} -\erf(x) = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt +\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt \end{equation} -\glossary{name=$\erf(x)$,description=Error function,sort=erf} \begin{equation} -\erfc(x) = 1 - \erf(x) +\gls{erfc} = 1 - \erf(x) \end{equation} -\glossary{name=$\erfc(x)$,description=Complementary error function,sort=erfc} \chapter{Beta Function} \begin{equation} -B(x,y) = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt +\gls{B} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} Alternatively: \begin{equation} -B(x,y) = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi +\gls{B} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) +\gls{B} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B_x(p,q) = \int_0^x t^{p-1}(1-t)^{q-1}\,dt +\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt \end{equation} -\glossary{name={$B_x(p,q)$},description=Incomplete beta function,sort=Bx} \chapter{Polynomials} \section{Chebyshev's polynomials} \begin{equation} -T_n(x) = \cos(n\arccos x) +\gls{Tn} = \cos(n\arccos x) \end{equation} -\glossary{name=$T_n(x)$,description=Chebyshev's polynomials of the first kind,sort=Tn} \begin{equation} -U_n(x) = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} +\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} \end{equation} -\glossary{name=$U_n(x)$,description=Chebyshev's polynomials of the second kind,sort=Un} \section{Hermite polynomials} \begin{equation} -H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) +\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) \end{equation} -\glossary{name=$H_n(x)$,description=Hermite polynomials,sort=Hn} \section{Laguerre polynomials} \begin{equation} -L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} \frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) +L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} +\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) \end{equation} -\glossary{name=$L_n^\alpha(x)$,description=Laguerre polynomials,sort=Lna} \chapter{Bessel Functions} -Bessel functions $Z_\nu(z)$ are solutions of +Bessel functions $Z_\nu$ are solutions of \begin{equation} +\useglosentry{Znu} \frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} + -\left( -1-\frac{\nu^2}{z^2}Z_\nu = 0 -\right) +\left( 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right) \end{equation} -\glossary{name=$Z_\nu(z)$,description=Bessel functions,sort=Z} \chapter{Confluent hypergeometric function} \begin{equation} -\Phi(\alpha,\gamma;z) = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} +\gls{Phi} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} + \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\,\frac{z^3}{3!} -+ \cdots ++\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\, +\frac{z^3}{3!} + \cdots \end{equation} -\glossary{name={$\Phi(\alpha,\gamma;z)$},description=confluent hypergeometric function,sort=Pagz} \begin{equation} -k_\nu(x) = \frac{2}{\pi}\int_0^{\pi/2}\cos(x \tan\theta - \nu\theta)\,d\theta +\gls{knu} = \frac{2}{\pi}\int_0^{\pi/2} +\cos(x \tan\theta - \nu\theta)\,d\theta \end{equation} -\glossary{name=$k_\nu(x)$,description=Bateman's function,sort=kv} \chapter{Parabolic cylinder functions} \begin{equation} -D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} +\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \left\{ \frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} \Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) @@ -202,26 +243,22 @@ D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) \right\} \end{equation} -\glossary{name=$D_p(z)$,description=Parabolic cylinder functions,sort=Dp} \chapter{Elliptical Integral of the First Kind} \begin{equation} -F(\phi, k) = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} +\gls{F} = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} \end{equation} -\glossary{name={$F(\phi,k)$},description=Elliptical integral of the first kind,sort=Fpk} \chapter{Constants} \begin{equation} -C = 0.577\,215\,664\,901\ldots +\gls{C} = 0.577\,215\,664\,901\ldots \end{equation} -\glossary{name=$C$,description=Euler's constant,sort=C} \begin{equation} -G = 0.915\,965\,594\ldots +\gls{G} = 0.915\,965\,594\ldots \end{equation} -\glossary{name=$G$,description=Catalan's constant,sort=G} \end{document} \endinput diff --git a/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex b/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex index 08449db253c..f5ca353ec4f 100644 --- a/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex +++ b/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex @@ -29,25 +29,85 @@ \documentclass[a4paper,12pt]{report} \usepackage{amsmath} -\usepackage[header,toc,border=none,cols=3]{glossary} +\usepackage[colorlinks]{hyperref} +\usepackage[header,toc,border=none,cols=3, + number=equation]{glossary}[2006/07/20] \newcommand{\erf}{\operatorname{erf}} \newcommand{\erfc}{\operatorname{erfc}} -\renewcommand{\theglossarynum}{\theequation} -\renewcommand{\pagecompositor}{.} - \renewcommand{\glossaryname}{Index of Special Functions and Notations} \renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number, numbers in bold indicate page numbers where the main definition occurs.\par} -\setglossary{glsnumformat=textit} +\setglossary{glsnumformat=hyperit} + +\renewcommand{\entryname}{Notation} + +\renewcommand{\descriptionname}{Function Name} + +\newcommand{\glossarysubheader}{ & & \\} + + +\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, +description=Gamma function,sort=Gamma} + +\storeglosentry{gamma}{name=\ensuremath{\gamma(\alpha,x)}, +description=Incomplete gamma function,sort=gamma} + +\storeglosentry{iGamma}{name=\ensuremath{\Gamma(\alpha,x)}, +description=Incomplete gamma function,sort=Gamma} + +\storeglosentry{psi}{name=\ensuremath{\psi(x)}, +description=Psi function,sort=psi} + +\storeglosentry{erf}{name=\ensuremath{\erf(x)}, +description=Error function,sort=erf} + +\storeglosentry{erfc}{name=\ensuremath{\erfc(x)}, +description=Complementary error function,sort=erfc} + +\storeglosentry{beta}{name=\ensuremath{B(x,y)}, +description=Beta function,sort=B} + +\storeglosentry{Bx}{name=\ensuremath{B_x(p,q)}, +description=Incomplete beta function,sort=Bx} -\renewcommand{\glossaryheader}{\bfseries Notation & -\multicolumn{2}{c}{\bfseries -\begin{tabular}{c}Name of the Function and\\the number of -the formula\end{tabular}}\\} +\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, +description=Chebyshev's polynomials of the first kind, +sort=Tn} + +\storeglosentry{Un}{name=\ensuremath{U_n(x)}, +description=Chebyshev's polynomials of the second kind, +sort=Un} + +\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, +description=Hermite polynomials,sort=Hn} + +\storeglosentry{Lna}{name=\ensuremath{L_n^\alpha(x)}, +description=Laguerre polynomials,sort=Lna} + +\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, +description=Bessel functions,sort=Z} + +\storeglosentry{Pagz}{name=\ensuremath{\Phi(\alpha,\gamma;z)}, +description=confluent hypergeometric function,sort=Pagz} + +\storeglosentry{kv}{name=\ensuremath{k_\nu(x)}, +description=Bateman's function,sort=kv} + +\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, +description=Parabolic cylinder functions,sort=Dp} + +\storeglosentry{Fpk}{name=\ensuremath{F(\phi,k)}, +description=Elliptical integral of the first kind,sort=Fpk} + +\storeglosentry{C}{name=\ensuremath{C}, +description=Euler's constant,sort=C} + +\storeglosentry{G}{name=\ensuremath{G}, +description=Catalan's constant,sort=G} \renewcommand{\shortglossaryname}{Special Functions} @@ -66,13 +126,18 @@ This is a sample document illustrating the use of the \textsf{glossary} package. The functions here have been taken from ``Tables of Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik. -The glossary lists both page number and equation numbers. Since the -equation numbers depend on chapter numbers, the page compositor needs -to be redefined. (Note that this example will only work where the -page number and equation number compositor is the same. So it won't work -if, say, the page numbers are of the form 2-4 and the equation numbers -are of the form 4.6) As most of the glossary entries should have an italic -format, it is easiest to set the default format to italic. +The glossary lists both page numbers and equation numbers. +Since the majority of the entries use the equation number, +\texttt{number=equation} was used as a package option. +The entries that should refer to the page number instead +use the \texttt{number=equation} glossary key. +Note that this example will only work where the +page number and equation number compositor is the same. So +it won't work if, say, the page numbers are of the form +2-4 and the equation numbers are of the form 4.6. +As most of the glossary entries should have an italic +format, it is easiest to set the default format to +italic. \end{abstract} @@ -80,115 +145,88 @@ format, it is easiest to set the default format to italic. \printglossary -\newcommand{\myglossary}[2]{% -\renewcommand{\theglossarynum}{#1}\glossary{#2}} - -\newcommand{\glossarypage}[1]{% -\renewcommand{\theglossarynum}{\thepage}\glossary{#1,format=textbf}} -\newcommand{\glossaryequation}[1]{% -\renewcommand{\theglossarynum}{\theequation}\glossary{#1}} - \chapter{Gamma Functions} -The gamma function is defined as -\renewcommand{\theglossarynum}{\thepage} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma,format=textbf} -\renewcommand{\theglossarynum}{\theequation} +The \useGlosentry[number=page,format=hyperbf]{Gamma}{gamma function} is +defined as \begin{equation} -\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt +\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\Gamma(x+1) = x\Gamma(x) +\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\gamma(\alpha, x) = \int_0^x e^{-t}t^{\alpha-1}\,dt +\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\gamma(\alpha,x)$},description=Incomplete gamma function,sort=gamma} \begin{equation} -\Gamma(\alpha, x) = \int_x^\infty e^{-t}t^{\alpha-1}\,dt +\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\Gamma(\alpha,x)$},description=Incomplete gamma function,sort=Gamma} \newpage \begin{equation} -\Gamma(\alpha) = \Gamma(\alpha, x) + \gamma(\alpha, x) +\useGlosentry{Gamma}{\ensuremath{\Gamma(\alpha)}} = \Gamma(\alpha, x) + \gamma(\alpha, x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\psi(x) = \frac{d}{dx}\ln\Gamma(x) +\gls{psi} = \frac{d}{dx}\ln\Gamma(x) \end{equation} -\glossary{name=$\psi(x)$,description=Psi function,sort=psi} \chapter{Error Functions} -The error function is defined as: -\renewcommand{\theglossarynum}{\thepage} -\glossary{name=$\erf(x)$,description=Error function,sort=erf,format=textbf} -\renewcommand{\theglossarynum}{\theequation} +The \useGlosentry[number=page,format=hyperbf]{erf}{error +function} is defined as: \begin{equation} -\erf(x) = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt +\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt \end{equation} -\glossary{name=$\erf(x)$,description=Error function,sort=erf} \begin{equation} -\erfc(x) = 1 - \erf(x) +\gls{erfc} = 1 - \erf(x) \end{equation} -\glossary{name=$\erfc(x)$,description=Complementary error function,sort=erfc} \chapter{Beta Function} \begin{equation} -B(x,y) = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt +\gls{beta} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} Alternatively: \begin{equation} -B(x,y) = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi +\gls{beta} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) +\gls{beta} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B_x(p,q) = \int_0^x t^{p-1}(1-t)^{q-1}\,dt +\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt \end{equation} -\glossary{name={$B_x(p,q)$},description=Incomplete beta function,sort=Bx} \chapter{Chebyshev's polynomials} \begin{equation} -T_n(x) = \cos(n\arccos x) +\gls{Tn} = \cos(n\arccos x) \end{equation} -\glossary{name=$T_n(x)$,description=Chebyshev's polynomials of the first kind,sort=Tn} \begin{equation} -U_n(x) = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} +\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} \end{equation} -\glossary{name=$U_n(x)$,description=Chebyshev's polynomials of the second kind,sort=Un} \chapter{Hermite polynomials} \begin{equation} -H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) +\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) \end{equation} -\glossary{name=$H_n(x)$,description=Hermite polynomials,sort=Hn} \chapter{Laguerre polynomials} \begin{equation} -L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} \frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) +\gls{Lna} = \frac{1}{n!}e^x x^{-\alpha} +\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) \end{equation} -\glossary{name=$L_n^\alpha(x)$,description=Laguerre polynomials,sort=Lna} \chapter{Bessel Functions} @@ -199,27 +237,28 @@ Bessel functions $Z_\nu(z)$ are solutions of 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right) \end{equation} -\glossary{name=$Z_\nu(z)$,description=Bessel functions,sort=Z} +\useglosentry{Znu} \chapter{Confluent hypergeometric function} \begin{equation} -\Phi(\alpha,\gamma;z) = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} +\gls{Pagz} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} + \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\,\frac{z^3}{3!} ++\frac{\alpha(\alpha+1)(\alpha+2)} + {\gamma(\gamma+1)(\gamma+2)} +\,\frac{z^3}{3!} + \cdots \end{equation} -\glossary{name={$\Phi(\alpha,\gamma;z)$},description=confluent hypergeometric function,sort=Pagz} \begin{equation} -k_\nu(x) = \frac{2}{\pi}\int_0^{\pi/2}\cos(x \tan\theta - \nu\theta)\,d\theta +\gls{kv} = \frac{2}{\pi}\int_0^{\pi/2} +\cos(x \tan\theta - \nu\theta)\,d\theta \end{equation} -\glossary{name=$k_\nu(x)$,description=Bateman's function,sort=kv} \chapter{Parabolic cylinder functions} \begin{equation} -D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} +\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \left\{ \frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} \Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) @@ -227,26 +266,23 @@ D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) \right\} \end{equation} -\glossary{name=$D_p(z)$,description=Parabolic cylinder functions,sort=Dp} \chapter{Elliptical Integral of the First Kind} \begin{equation} -F(\phi, k) = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} +\gls{Fpk} = \int_0^\phi +\frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} \end{equation} -\glossary{name={$F(\phi,k)$},description=Elliptical integral of the first kind,sort=Fpk} \chapter{Constants} \begin{equation} -C = 0.577\,215\,664\,901\ldots +\gls{C} = 0.577\,215\,664\,901\ldots \end{equation} -\glossary{name=$C$,description=Euler's constant,sort=C} \begin{equation} -G = 0.915\,965\,594\ldots +\gls{G} = 0.915\,965\,594\ldots \end{equation} -\glossary{name=$G$,description=Catalan's constant,sort=G} \end{document} \endinput diff --git a/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex b/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex index 4873151ab9f..d8bbaac6f9a 100644 --- a/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex +++ b/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex @@ -37,6 +37,7 @@ \newglossarytype{notation}{not}{ntn}[style=long,cols=2,border,header] \newcommand{\notationname}{Notation} +\setglossary{type=notation,glsnumformat=ignore,glodelim={.}} \makenotation @@ -48,7 +49,7 @@ \maketitle \begin{abstract} -\pagenumbering{Alph}%stop hyperref complaining about duplicate page identifiers +\pagenumbering{Alph} This is a sample document illustrating the use of the \textsf{glossary} package. In this example, a new glossary type called \texttt{notation} is defined, so that the document can have a @@ -72,17 +73,20 @@ are denoted by a caligraphic font e.g.\ $\mathcal{S}$% \notation{name=$\mathcal{S}$,description=A set,sort=S}. -Let $\mathcal{U}$ denote the universal set\notation{name=$\mathcal{U}$,description={The universal set},sort=U}. +Let $\mathcal{U}$ denote the universal set\notation{ +name=$\mathcal{U}$,description={The universal set},sort=U}. -The cardinality\glossary{name=cardinality,description=The number of elements in the specified set} of a set $\mathcal{S}$ is denoted -$|\mathcal{S}|$% -\notation{name=$\mid\mathcal{S}\mid$,description=cardinality of $\mathcal{S}$,sort=cardinality} +The cardinality\glossary{name=cardinality, +description=The number of elements in the specified set} of +a set $\mathcal{S}$ is denoted $|\mathcal{S}|$% +\notation{name=$\mid\mathcal{S}\mid$, +description=cardinality of $\mathcal{S}$,sort=cardinality} \chapter{Next} Now for a hyperlink: -\xnotation{name=$\mathcal{U}$,description={The universal -set},sort=U}{$\mathcal{U}$}. +\xnotation{name=$\mathcal{U}$, description={The universal +set}, sort=U}{$\mathcal{U}$}. \end{document} \endinput diff --git a/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex b/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex index 9d44b0e8a9a..b92fa57ac10 100644 --- a/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex +++ b/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex @@ -30,29 +30,33 @@ \usepackage[plainpages=false,colorlinks]{hyperref} \usepackage{html} -\usepackage[toc]{glossary} +\usepackage[toc]{glossary}[2006/07/20] \makeglossary -\newglossarytype{notation}{not}{ntn} +\newglossarytype[nlg]{notation}{not}{ntn}[number=none] \newcommand{\notationname}{Notation} -\setglossary{type=notation,glsnumformat=ignore,% -glodelim={.}} \makenotation \begin{document} -\storeglosentry[notation]{not:set}{name={$\protect\mathcal{S}$},description=A set,sort=S} +\storeglosentry[notation]{not:set}{name={$\mathcal{S}$}, +description=A set,sort=S} -\storeglosentry[notation]{not:U}{name=$\protect\mathcal{U}$,description={The universal set},sort=U} +\storeglosentry[notation]{not:U}{name=$\mathcal{U}$, +description={The universal set},sort=U} -\storeglosentry[notation]{not:card}{name=$\mid\protect\mathcal{S}\mid$,description=cardinality of $\protect\mathcal{S}$,sort=cardinality} +\storeglosentry[notation]{not:card}{name=$\mid\mathcal{S}\mid$, +description=cardinality of $\mathcal{S}$, +sort=cardinality} -\storeglosentry{glos:set}{name=set,description=A collection of distinct objects} +\storeglosentry{glos:set}{name=set,description=A collection of +distinct objects} -\storeglosentry{glos:card}{name=cardinality,description=The number of elements in the specified set} +\storeglosentry{glos:card}{name=cardinality,description=The number of +elements in the specified set} \title{Sample Document using glossary Package} \author{Nicola Talbot} @@ -60,7 +64,7 @@ glodelim={.}} \maketitle \begin{abstract} -\pagenumbering{Alph}%stop hyperref complaining about duplicate page identifiers +\pagenumbering{Alph} This is a sample document illustrating the use of the \textsf{glossary} package. In this example, a new glossary type called \texttt{notation} is defined, so that the document can have a @@ -88,6 +92,10 @@ Let \gls{not:U} denote the universal set. The \gls{glos:card} of a set $\mathcal{S}$ is denoted \gls{not:card}. +\chapter{Another Chapter} + +Another mention of the universal set \gls{not:U}. + \end{document} \endinput %% diff --git a/Master/texmf-dist/doc/latex/glossary/sampleSec.tex b/Master/texmf-dist/doc/latex/glossary/sampleSec.tex index 4fdd0de8a82..dc1b3a07770 100644 --- a/Master/texmf-dist/doc/latex/glossary/sampleSec.tex +++ b/Master/texmf-dist/doc/latex/glossary/sampleSec.tex @@ -33,10 +33,16 @@ \makeglossary - -\storeglosentry{glos:I}{name=identity matrix,description=diagonal +\storeglosentry{ident}{name=identity matrix,description=diagonal matrix with 1s along the leading diagonal} +\storeglosentry{diag}{name=diagonal matrix, +description=matrix whose only non-zero entries are along +the leading diagonal} + +\storeglosentry{sing}{name=singular matrix, +description=matrix with zero determinant} + \begin{document} \pagenumbering{roman} @@ -51,27 +57,23 @@ This is a sample document illustrating the use of the \chapter{Diagonal matrices} -A diagonal matrix\glossary{name=diagonal matrix, -description=matrix whose only non-zero entries are along the leading diagonal,format=hyperit} -is a matrix where all elements not on the leading diagonal are zero. This is the +A \gls[format=hyperit]{diag} is a matrix where all elements not on the +leading diagonal are zero. This is the primary definition, so an italic font is used for the page number. \newpage \section{Identity matrix} -The identity matrix\glossary{name=identity matrix, -description=diagonal matrix with 1s along the leading diagonal} -\ldots +The \gls[format=hyperit]{ident} is a \gls{diag} whose leading +diagonal elements are all equal to 1. -Here is another entry for a diagonal matrix\glossary{name=diagonal matrix, -description=matrix whose only non-zero entries are along the leading diagonal} +Here is another entry for a \gls{diag}. \chapter{Singular Matrices} -A singular matrix\glossary{name=singular matrix, -description=matrix with zero determinant} -\ldots +A \gls{sing} is a matrix with zero determinant. +\useGlosentry{sing}{Singular matrices} are non-invertible. -Another \useGlosentry{glos:I}{identity matrix} entry. +Another \gls{ident} entry. \end{document} \endinput diff --git a/Master/texmf-dist/source/latex/glossary/glossary.dtx b/Master/texmf-dist/source/latex/glossary/glossary.dtx index 3c50320922c..6d31a8d363b 100644 --- a/Master/texmf-dist/source/latex/glossary/glossary.dtx +++ b/Master/texmf-dist/source/latex/glossary/glossary.dtx @@ -1,8 +1,9 @@ %\iffalse -% glossary.dtx generated using /nlctltpc/home/nlct/bin/makedtx version 0.9b (c) Nicola Talbot +% glossary.dtx generated using makedtx version 0.91b (c) Nicola Talbot % Command line args: % -macrocode ".*\.p.*l" % -macrocode ".*\.bat" +% -macrocode ".*\.tex" % -setambles ".*\.p.*l=>\nopreamble\nopostamble" % -setambles ".*\.bat=>\nopreamble\nopostamble" % -src "(.+)\.(sty)\Z=>\1.\2" @@ -12,9 +13,10 @@ % -src "(.+)\.(tex)\Z=>\1.\2" % -doc "manual.tex" % -author "Nicola Talbot" +% -prefinale "\\fi" % -dir "source" % glossary -% Created on 2006/7/9 16:01 +% Created on 2006/7/25 18:13 %\fi %\iffalse %<*package> @@ -64,7 +66,7 @@ \makeatother \RecordChanges \PageIndex -\OnlyDescription + %\OnlyDescription \newcommand{\cmdname}[1]{\texttt{\symbol{92}#1}} @@ -82,7 +84,7 @@ \texttt{#2=#1}\index{package options>#2>#1|hyperpage}}} \newcommand{\pkgoptval}[2]{\texttt{#1}\index{package options>#2>#1|hyperpage}} \newcommand{\filetype}[1]{\texttt{#1}\index{file types>#1|hyperpage}} -\newcommand{\stynamefmt}[1]{\textsf{#1}\index{#1=\textsf{#1}|hyperpage}} +\newcommand{\styname}[1]{\textsf{#1}\index{#1=\textsf{#1}|hyperpage}} \newcommand{\envname}[1]{\textsf{#1}} @@ -94,15 +96,15 @@ %\MakeShortVerb{"} %\DeleteShortVerb{\|} % -% \title{glossary.sty v 2.38: \LaTeXe\ Package to Assist Generating Glossaries} +% \title{glossary.sty v 2.4: \LaTeXe\ Package to Assist Generating Glossaries} % \author{Nicola L.C. Talbot} -% \date{9th July 2006} +% \date{20th July 2006} % \maketitle %\tableofcontents % % \section{Introduction} % \changes{1.0}{2004 July 29}{Initial version} -% The \stynamefmt{glossary} package is provided to assist +% The \styname{glossary} package is provided to assist %generating a glossary. It has a certain amount of flexibility, %allowing the user to customize the format of the glossary, and %define new glossary-style objects. @@ -130,9 +132,11 @@ %\end{verbatim} %along with several sample files. The file \texttt{glossary.sty} %should be placed somewhere in the \LaTeX\ path, e.g.\ -%\texttt{texmf/tex/latex/glossary/}. The file -%\texttt{glossary.perl} is a \LaTeX2HTML\ style file, and should -%be placed in the \LaTeX2HTML\ style file directory (usually +%\texttt{texmf/tex/latex/glossary/} or +%\texttt{localtexmf/tex/latex/glossary/}. Remember to update the +%\TeX\ database if you are installing this package for the first time. +%The file \texttt{glossary.perl} is a \LaTeX2HTML\ style file, and +%should be placed in the \LaTeX2HTML\ style file directory (usually %\texttt{latex2html/styles/}). The file \texttt{makeglos.pl} %is a Perl script which calls \appname{makeindex}. If you are %using UNIX or Linux, you will need to set the permissions so @@ -145,7 +149,7 @@ %this file, if \appname{perl} is located in a directory other than \verb"/usr/bin/"\footnote{and you can also remove the \texttt{.pl} %extension which isn't to everyone's liking.}.) % -%If you are not using UNIX or Linux, you may have to explicitly +%If you are not using UNIX or Linux etc, you may have to explicitly %load the file into Perl, so you would need to do %\texttt{perl makeglos.pl} instead of just \texttt{makeglos.pl}. %If you are using Windows, a batch file, \texttt{makeglos.bat} @@ -180,12 +184,15 @@ %list of \meta{key}=\meta{value} pairs. The following keys are %available: %\begin{center} -%\begin{tabular}{ll} +%\begin{tabular}{lp{0.8\linewidth}} %\bfseries Key & \bfseries Value\\ %\ttfamily \gloskey{name} & The entry name\\ %\ttfamily \gloskey{description} & A description about the entry\\ %\ttfamily \gloskey{sort} & How to sort the entry. (Entry name used if sort omitted)\\ -%\ttfamily \gloskey{format} & How to format the page number +%\ttfamily \gloskey{format} & How to format the page number\\ +%\ttfamily \gloskey{number} & Override the page number with a different +%counter. The value should be the name of a counter (e.g.\ +%\texttt{number=section}). %\end{tabular} %\end{center} % For example: @@ -200,9 +207,17 @@ % description={The universal set}, % sort=U} %\end{verbatim} -%The page format for individual entries can be changed using the -%\gloskey{format} key. This should be the name of a \LaTeX\ -%formatting command without the preceding \verb'\' (as with the +%Note that you should always use the \gloskey{sort} +%key if the \gloskey{name} key contains commands, this is particularly +%important if you are using hyperlinks, as the target is constructed +%from the \gloskey{name} key if the \gloskey{sort} key is omitted. +% +%In the glossary, each entry is followed by a list of page numbers +%that correspond to the pages where the relevant \cmdname{glossary} +%command is placed. By default the numbers are formatted in the +%current font, but the page number format for individual entries can be +%changed using the \gloskey{format} key. This should be the name of a +%\LaTeX\ formatting command without the preceding \verb'\' (as with the %\verb'|' operator in \cmdname{index}.) For example: %\begin{verbatim} %\glossary{name={$\mathbb{R}$}, @@ -216,23 +231,56 @@ %\texttt{'hyperbf}} %\changes{2.12}{2004 November 1}{Hyper page format: %\texttt{'hyperrm}} +%\changes{2.4}{2006 July 20}{Hyper page formats updated to take two +%arguments. Additional formats also provided} %\begin{center} %\begin{tabular}{ll} %\glsnumfmt{hyperrm} & The number is a hyper link in roman \\ %\glsnumfmt{hypersf} & The number is a hyper link in sans-serif \\ %\glsnumfmt{hypertt} & The number is a hyper link in typewriter font \\ %\glsnumfmt{hyperbf} & The number is a hyper link in bold \\ -%\glsnumfmt{hyperit} & The number is a hyper link in italic +%\glsnumfmt{hypermd} & The number is a hyper link in medium weight \\ +%\glsnumfmt{hyperit} & The number is a hyper link in italic\\ +%\glsnumfmt{hypersl} & The number is a hyper link in slanted font\\ +%\glsnumfmt{hyperup} & The number is a hyper link in upright font\\ +%\glsnumfmt{hypersc} & The number is a hyper link in small caps\\ +%\glsnumfmt{hyperem} & The number is a hyper link using \cmdname{emph} %\end{tabular} %\end{center} %If the \pkgopt{hyper} option has not been set, +%\glsnumfmt{hyperem} is equivalent to \texttt{emph}, and the remaining %\glsnumfmt{hyperrm} etc are equivalent to \texttt{textrm} etc. -%You should use \icmdname{hyperrm} instead of -%\cmdname{hyperpage}, as \cmdname{hyperpage} won't +%Note that it is important the you use \texttt{hyperrm} instead of +%\texttt{hyperpage}, as the \cmdname{hyperpage} command won't %work on a list or range of numbers in the glossary% %\footnote{This is because the list and number ranges are %delimited using \cmdname{delimR} and \cmdname{delimN} instead of -%explicitly using a comma or en-dash.}. +%explicitly using a comma or en-dash.}. If you want to define your +%own command that uses hyper links, it must be defined in an +%analogous manner to \icmdname{hyperrm}. For example, if you want +%to display a page number in a bold italic format, that contains a +%hyperlink to the appropriate page, you would need to define it as +%follows: +%\begin{verbatim} +%\newcommand{\hyperbfit}[2][\gls@number]{% +%\textbf{\itshape\glshyper{#1}{#2}}} +%\end{verbatim} +%As can be seen from the definition, all the \cmdname{hyper}\meta{xx} +%commands have an optional argument. This argument is the name of the +%counter being used. You do not need to worry about this argument if +%you only use these commands within the \icmdname{glossary} command. +%So the previous example can simply be rewritten as: +%\begin{verbatim} +%\glossary{name={$\mathbb{R}$}, +% description={The set of real numbers}, +% sort=R, +% format=hyperbf} +%\end{verbatim} +% +%\textbf{Note:} although the numbers in the glossary are referred to +%as ``page'' numbers in this manual, they may in fact refer to some +%other counter, such as the \texttt{section} counter, depending on +%whether the \gloskey{number} key has been used. % %As with the \cmdname{index} command, care must be taken if you %want to use the special characters: \verb'@' \verb/|/ \verb+"+ and @@ -251,38 +299,45 @@ %\par\vspace{10pt}\noindent\cmdname{xglossary}\verb'{'\meta{gls-entry}% %\verb'}{'\meta{text}\verb"}" %\par\vspace{10pt}\noindent This is equivalent to\meta{text}\icmdname{glossary}\verb'{'\meta{gls-entry}\verb"}", -%where \meta{text} will be made a hyperlink to the +%where \meta{text} will be made a hyper link to the %relevant entry in the glossary, if hyper %links are supported. % %\subsection{Storing Glossary Information} % +%It is very cumbersome having to use the \icmdname{glossary} command +%throughout your document, every time you use a term that you want in +%your glossary. This is particularly true for terms with a long +%description. The \styname{glossary} package provides a means +%of storing the glossary information at the beginning of the document, +%and then using it whenever required. It is strongly recommended +%that you use this approach, rather than explicity using the +%\icmdname{glossary} command. +% %\changes{2.17}{2005 June 28}{'storeglosentry added} %\DescribeMacro{\storeglosentry} %The following command:\\[10pt] %\begin{ttfamily} %\cmdname{storeglosentry}[\textrm{\meta{gls-type}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{gls-entry}}\} %\end{ttfamily}\\[10pt] -%can be used to store glossary information. That information -%can then be used later with any of the following commands: +%can be used to store glossary information, where \meta{label} is +%a unique label assigned to this entry. The information +%can then be used later with any of the following commands:\\[10pt] %\changes{2.14}{2005 May 28}{'useglosentry added} %\changes{2.14}{2005 May 28}{'useGlosentry added} %\changes{2.18}{2005 July 5}{'gls added} -%\DescribeMacro{\useglosentry} -%\DescribeMacro{\useGlosentry} -%\DescribeMacro{\gls}\\[10pt] %\begin{ttfamily} -%\cmdname{useglosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\\ -%\cmdname{useGlosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{text}}\}\\ -%\cmdname{gls}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\} +%\cmdname{useglosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\DescribeMacro{\useglosentry}\\ +%\cmdname{useGlosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{text}}\}\DescribeMacro{\useGlosentry}\\ +%\cmdname{gls}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\DescribeMacro{\gls} %\end{ttfamily}\\[10pt] -%\cmdname{useglosentry} adds the stored glossary entry -%\meta{gls-entry} to the appropriate glossary, -%\cmdname{useGlosentry} adds the stored glossary entry, and +%\cmdname{useglosentry} adds the glossary entry whose label is given by +%\meta{label} to the appropriate glossary, +%\cmdname{useGlosentry} adds the glossary entry, and %makes \meta{text} a hyperlink to that entry (if hyperlinks are %supported). The third command, \cmdname{gls}, is like %\cmdname{useGlosentry}, but forms \meta{text} from the name -%given in \meta{gls-entry}. +%given in the glossary entry. % %Returning to an earlier example, instead of typing: %\begin{verbatim} @@ -294,13 +349,13 @@ %can instead store the information: %\changes{2.19}{2005 July 8}{fixed bug in 'storeglosentry} %\begin{verbatim} -%\storeglosentry{glos:U}{name={$\protect\mathcal{U}$}, +%\storeglosentry{glos:U}{name={$\mathcal{U}$}, % description={The universal set}, % sort=U} %\end{verbatim} -%(Note the use of \cmdname{protect}.) Now, instead of continually -%copying and pasting the glossary command for this entry (which -%can have quite a large \gloskey{description} field), you can use either: +%Now, instead of continually copying and pasting the glossary command +%for this entry (which can have quite a large \gloskey{description} +%field), you can use either: %\begin{verbatim} %\useglosentry{glos:U} %\end{verbatim} @@ -330,12 +385,38 @@ % description={The universal set}, % sort=U}{$\mathcal{U}$} %\end{verbatim} -%The optional argument \meta{gls-type} indicates the glossary -%type (see \autoref{sec:newglostype} to find out how to define new +%If you want to use glossary entries in an equation, it is better +%to use \cmdname{ensuremath} instead of \verb|$|\ldots\verb'$'. +%For example: +%\begin{verbatim} +%\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, +%description=Gamma function, +%sort=Gamma} +%\end{verbatim} +%You can then use this entry in either text or math mode: +%\begin{verbatim} +%The \useGlosentry{Gamma}{Gamma function} is defined as +%\begin{equation} +%\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt +%\end{equation} +%\end{verbatim} +%If you are using hyper links, and you want to use +%\cmdname{useGlosentry} within math mode, you must use +%\cmdname{ensuremath}: +%\begin{verbatim} +%\begin{equation} +%\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) +%\end{equation} +%\end{verbatim} +% +%The optional argument to \icmdname{storeglosentry} (\meta{gls-type}) +%indicates the glossary type (see +%\autoref{sec:newglostype} to find out how to define new %glossary types). If omitted, the standard glossary is used. % -%The optional argument \meta{opt} allows you to add additional -%information to the glossary entry, for example: +%The optional argument to \icmdname{useglosentry}, +%\icmdname{useGlosentry} and \icmdname{gls} (\meta{opt}) allows you to +%add additional information to the glossary entry, for example: %\begin{verbatim} %\useglosentry[format=textbf]{glos:U} %\end{verbatim} @@ -346,10 +427,10 @@ % sort=U, % format=textbf} %\end{verbatim} -%The identifying label, \meta{label}, should not contain any -%special characters, and since \cmdname{storeglosentry} is -%fragile, care should be taken when using commands within its -%argument. If in doubt, use \cmdname{protect}. +%Since version 2.4, \icmdname{storeglosentry} is robust, and +%\cmdname{protect} should no longer be needed, however +%the identifying label, \meta{label}, should not +%contain any special characters. % %As from version 2.36, if you want to use all glossary entries %which have been defined using \cmdname{storeglosentry}, do: @@ -358,11 +439,12 @@ % %\section{makeglos.pl} % -%The glossary information (as given by the commands -%\cmdname{glossary} and \cmdname{xglossary}) is saved in the file -%with the extension \filetype{glo} (unless the -%\icmdname{makeglossary} command is omitted, in which case the -%glossary information is simply ignored.) A \appname{makeindex} +%Whenever a glossary entry is used, either explicity using +%\cmdname{glossary} or \cmdname{xglossary} or implicitly using +%\cmdname{useglosentry}, \cmdname{useGlosentry} and \cmdname{gls}, +%the information is saved in a file with the extension \filetype{glo} +%(unless the \icmdname{makeglossary} command is omitted, in which case +%the glossary information is simply ignored.) A \appname{makeindex} %style file\index{makeindex style file (.ist)|see{file types, ist}} %(\filetype{ist}) is also created, which is customized for the %document, and can be passed to \appname{makeindex}. @@ -383,14 +465,13 @@ %allows you to use \appname{makeindex} without having to remember %all the command line options. The command %\begin{verbatim} -%makeglos.pl mydoc.glo +%makeglos.pl mydoc %\end{verbatim} %will perform the command: %\begin{verbatim} %makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo %\end{verbatim} -%The \filetype{glo} extension may be omitted. In addition, -%\appname{makeglos.pl} also takes the option +%In addition, \appname{makeglos.pl} also takes the option %\texttt{-m} which can be used to collate entries where the %same name has multiple descriptions. %\changes{2.14}{2005 May 28}{makeglos -m switch added} @@ -400,20 +481,26 @@ %makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] <filename> %\end{verbatim} %where all switches, apart from \texttt{-m} are the same as -%those for \appname{makeindex}. In addition, if the extension -%to the input file name is omitted, \filetype{glo} will be -%assumed. If there are multiple glossary types (see +%those for \appname{makeindex}. If there are multiple glossary types +%(see %\autoref{sec:newglostype}) and the file extension is omitted, \appname{makeglos.pl} will -%iterate through each glossary type. +%iterate through each glossary type (it will pick up the relevant +%information from the auxiliary file). % %The name of the \filetype{ist} file can be changed by redefining -%the command \cmdname{istfilename}\DescribeMacro{\istfilename}. +%the command \cmdname{istfilename}\DescribeMacro{\istfilename} +%\emph{before} \cmdname{makeglossary}. %For example: %\begin{verbatim} %\renewcommand{\istfilename}{foo.ist} +%\makeglossary %\end{verbatim} -%However, you will need to explicitly pass the name of this -%file to \appname{makeglos.pl} using the \texttt{-s} switch. +%Only one \filetype{ist} file will be created per document, even if +%you have multiple glossaries with different styles. The only +%circumstance where you will need multiple \filetype{ist} files for +%a single document is when you have multiple glossaries that use +%different counters with different compositors, but this is rarely +%likely to occur. % %Creation of the \filetype{ist} file can be suppressed by issuing %the command \cmdname{noist}\DescribeMacro{\noist}\ before @@ -423,7 +510,7 @@ % %It should be noted that there are a few packages that can %cause problems with the creation of the \filetype{ist} file, -%for example \stynamefmt{ngerman}. If you encounter problems +%for example \styname{ngerman}. If you encounter problems %when \LaTeX\ is processing the \icmdname{makeglossary} command, %or if you get errors from \appname{makeindex} complaining about %the style file, this is the most probable cause. @@ -499,18 +586,13 @@ %\end{description} % % \changes{1.1}{2004 August 14}{Package option \texttt{number}} +% \changes{2.4}{2006 July 20}{Package option \texttt{number} modified +%so that any counter can be used} %\item[\pkgopt{number}] -% Associated number corresponding to each entry. Values: -%\begin{description} -%\item[\pkgoptval{page}{number}] -%Each entry has the corresponding page number(s) where the -%entry is defined. (Default) -%\item[\pkgoptval{section}{number}] -%Each entry has the corresponding section number(s) where -%the entry is defined. -%\item[\pkgoptval{none}{number}] The corresponding numbers are -%suppressed. -%\end{description} +% Associated number corresponding to each entry. +%This may either be the keyword \pkgoptval{none}, indicating that +%the corresponding numbers should be suppressed, or it can be the +%name of a \LaTeX\ counter. The default is \pkgopt[page]{number}. % %\item[\pkgopt{toc}]\index{table of contents, adding to|see{package options, toc}} %Boolean variable: @@ -524,10 +606,10 @@ % %\item[\pkgopt{hypertoc}] %Boolean variable. This is similar to the package option -%\pkgopt{toc}, but if you are using the \stynamefmt{hyperref} +%\pkgopt{toc}, but if you are using the \styname{hyperref} %package, \pkgopt{hypertoc} will generate a link to the -%beginning of the page, whereas \pkgopt{toc} will have -%a hyperlink to jst after the glossary title. Note +%point immediately before the glossary title, whereas \pkgopt{toc} will +%have a hyperlink to just after the glossary title. Note %that you can not use both \pkgopt[true]{toc} and %\pkgopt[true]{hypertoc}. Default value: %\pkgopt[false]{hypertoc}. @@ -543,7 +625,7 @@ %corresponding entries in the glossary. %\item[\pkgoptval{false}{hyper}] Don't make associated numbers a hypertext link %\end{description} -%If the \stynamefmt{hyperref} or \stynamefmt{html} package has +%If the \styname{hyperref} or \styname{html} package has %been loaded prior to loading \texttt{glossary.sty}, %\pkgopt[true]{hyper} is set, otherwise %the default is \pkgopt[false]{hyper}. Note that this package @@ -599,7 +681,7 @@ %\noindent %where \meta{option-list} is a comma-separated list of %\meta{key}=\meta{value} pairs, as passed to the -%\stynamefmt{glossary} +%\styname{glossary} %package. Note that this command may only be used in the %configuration file. % @@ -725,14 +807,14 @@ %and \cmdname{printnotation} which can be used for the second %glossary. % -%\changes{2.3}{2005 Nov 18}{Added extra optional argument to'newglosarytype} +%\changes{2.3}{2005 Nov 18}{Added extra optional argument to 'newglosarytype} %As from version 2.3, \cmdname{newglossarytype} now has an %additional optional argument \meta{style list}. This should %be a comma separated list of \meta{key}=\meta{value} pairs %that can be used to specify the style of the new glossary. %If omitted, the new glossary will have the same format %as the main glossary. The following options are available: -%\texttt{style}, \texttt{header}, \texttt{border} and +%\texttt{number}, \texttt{style}, \texttt{header}, \texttt{border} and %\texttt{cols}. These can take the same values as those %given in the package options (described in section~\ref{sec:options}). % @@ -819,7 +901,7 @@ %\section{Acronyms} % %\changes{2.0}{2004 September 21}{Acronyms} -%The \stynamefmt{glossary} package provides the command\DescribeMacro{\newacronym}:\\[5pt] +%The \styname{glossary} package provides the command\DescribeMacro{\newacronym}:\\[5pt] %\begin{ttfamily} %\cmdname{newacronym}[\textrm{\meta{cmd-name}}]\{\textrm{\meta{acronym}}\}\{\textrm{\meta{long}}\}\{\textrm{\meta{glossary entry}}\} %\end{ttfamily}\\[5pt] @@ -852,7 +934,9 @@ %\end{verbatim} % %If the package option \pkgopt{acronym} is not set (default) -%\icmdname{xacronym}, is a synonym for \icmdname{xglossary}. +%\icmdname{xacronym}, is a synonym for \icmdname{xglossary}, and +%the acronyms will appear in the main glossary (remember to +%specify \cmdname{makeglossary} and \cmdname{printglossary}). %If the package option \pkgopt[true]{acronym} is specified, a %new glossary type called \texttt{acronym} will be defined as: %\begin{verbatim} @@ -885,7 +969,7 @@ % %\changes{2.1}{2004 October 25}{name field can be omitted in %\texttt{'newacronym}} -%The \gloskey{name} key is not used in \meta{glossary +%The \gloskey{name} key does not need to appear in \meta{glossary %entry}, as it is constructed from \meta{long} and %\meta{acronym}. By default this will be in the form: %\meta{long} (\meta{acronym}), however the format can be @@ -939,6 +1023,15 @@ %\glossary{name=svm,description=support vector machine} %\end{verbatim} % +%You will need to specify the \gloskey{name} key explicitly if +%the name contains a \appname{makeindex} special character. +%For example: +%\begin{verbatim} +%\newacronym{RNA}{Ribonukleins\"aure}{name={Ribonukleins\""aure (RNA)}} +%\end{verbatim} +%Note that this will override any formatting specified by +%\icmdname{setacronymnamefmt}. +% %Given an acronym named \meta{acr-name} (the command name %associated with the acronym as defined in %\cmdname{newacronym} without the preceding backslash), @@ -1004,18 +1097,18 @@ %entries they will therefore not contain any hyperlinks, even if %you have specified the \pkgopt{hyper} package option. They are %provided for use in situations where the associated glossary -%command may cause problems (e.g.\ in the table of contents entry.) +%command may cause problems (e.g.\ in a sectioning command.) % %Note that, as with all \LaTeX\ commands, spaces following %command names are ignored so if, for example, you defined -%a new acronym called, say, SVM, then the \verb/\SVM/ will +%a new acronym called, say, SVM, then the command \verb/\SVM/ will %ignore any spaces following it. To force a space, you %can either place an empty set of braces after the command %name (e.g.\ \verb/\SVM{}/) or use %\cmdname{\textvisiblespace} i.e.\ a backslash followed by %a space (e.g.\ \verb/\SVM\ /). Alternatively, as from -%version 2.22, if you load the \stynamefmt{xspace} package -%before loading the \stynamefmt{glossary} package, spaces will +%version 2.22, if you load the \styname{xspace} package +%before loading the \styname{glossary} package, spaces will %be put in automatically using \icmdname{xspace}. %\changes{2.22}{2005 Sept 16}{Added provision for 'xspace} %\changes{2.23}{2005 Sept 17}{Fixed minor bug with hyperlinks and 'glsxspace} @@ -1112,7 +1205,7 @@ %SVMs are widely used in the area of pattern recognition. % %\section{Customizing the Glossary} -%The \stynamefmt{glossary} package provides commands which can be redefined to customize the +%The \styname{glossary} package provides commands which can be redefined to customize the %glossary. The following name commands are defined by this package: %\begin{center}\DescribeMacro{\glossaryname}\DescribeMacro{\entryname}\DescribeMacro{\descriptionname}\relax %\begin{tabular}{ll} @@ -1123,6 +1216,15 @@ %\cmdname{descriptionname} & Description %\end{tabular} %\end{center} +%The commands \cmdname{entryname} and \cmdname{descriptionname} +%are put in the first two columns of the header row if you +%are using one of the tabular glossary styles together with a +%header row (as specified by the \pkgopt[true]{header} package option). +%If you are using \pkgopt[3]{cols}, the command +%\cmdname{glspageheader}\DescribeMacro{\glspageheader}\ will be +%put in the third column of the header row. By default, this command +%does nothing.\changes{2.4}{2006 July 20}{'glspageheader added} +% %\changes{2.2}{2005 July 15}{'glossaryname now defined using 'providecommand instead of 'newcommand} % \changes{2.15}{2005 June 5}{'shortglossaryname} %\changes{2.16}{2005 June 8}{fixed bug preventing changes @@ -1244,7 +1346,7 @@ %\changes{2.3}{2005 Nov 18}{'gloskip} %This specifies what to do between groups. %If \pkgopt[list]{style} or \pkgopt[altlist]{style} this has the -%value \cmdname{indexspace}, otherwise it creates a blank line +%value \cmdname{indexspace}, otherwise it creates a blank row % in the \envname{longtable} or \envname{supertabular} environment. %This command corresponds to the \istkey{group\_skip} key in %the \appname{makeindex} style file. @@ -1267,7 +1369,9 @@ %\begin{verbatim} %\setglossary{delimT={\cr & \cr},gloskip={}} %\end{verbatim} -%Note the use of \cmdname{cr} instead of \verb/\\/. +%Note the use of \cmdname{cr} instead of \verb/\\/ and +%\setglos{gloskip} is set to nothing otherwise there would be +%a double space between groups. %\end{description} %Note that: %\begin{verbatim} @@ -1278,42 +1382,20 @@ %\setglossary{glsnumformat=ignore,delimN={},delimR={}} %\end{verbatim} % -%The number associated with each entry is, by default, the page number where -% that entry was defined. If the package option -%\pkgopt[section]{number} has been chosen, this -% will be the section number instead. You can choose a different counter -% by changing the value of the command \cmdname{theglossarynum}\DescribeMacro{\theglossarynum}. -%For example, suppose you have the following code: +%As from version 2.4\changes{2.4}{2006 July 20}{Added facility to insert text between groups}, +%you can insert text between groups by redefining the +%commands \cmdname{glogroupSymbols}, +%\cmdname{glogroupNumbers}, \cmdname{glogroupA} \ldots\ +%\cmdname{glogroupZ}. For example, if you are using one +%of the list styles, the following will print the appropriate +%heading in bold, followed by a gap: %\begin{verbatim} -%\begin{equation} -%\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -%\end{equation} -%\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} +%\renewcommand{\glogroupSymbols}{\textbf{Symbols}\indexspace} +%\renewcommand{\glogroupNumbers}{\textbf{Numbers}\indexspace} +%\renewcommand{\glogroupA}{\textbf{A}\indexspace} +%....% similar lines omitted +%\renewcommand{\glosgroupZ}{\textbf{Z}\indexspace} %\end{verbatim} -%and you want the glossary to refer to the equation number, instead of the -%page or section number, this can be done by redefining \cmdname{theglossarynum} -%as follows: -%\begin{verbatim} -%\renewcommand{\theglossarynum}{\theequation} -%\end{verbatim} -%If the equation number depends on another counter (such as -%\texttt{chapter}) -%you will need to specify that the number is in the form \meta{NUM}.\meta{num} -% (e.g.\ 3.24). This can be done by redefining the \cmdname{pagecompositor}\DescribeMacro{\pagecompositor}\ command: -%\begin{verbatim} -%\renewcommand{\pagecompositor}{.} -%\end{verbatim} -%(By default this value is \texttt{-}, unless the package option -%\pkgopt[section]{number} has -%been chosen, in which case this command has the value \texttt{.}\ -%(full stop), as in the example above). -%The \cmdname{pagecompositor} command must be -%redefined before \icmdname{makeglossary} for it to have any effect. -%If the package option \pkgopt[none]{number} is used, -%the numbering will be suppressed, regardless -%of the value of \icmdname{theglossarynum}. -%This command corresponds to the \istkey{page\_compositor} key -%in the \appname{makeindex} style file. % %The start and end of the main body of the glossary is given by the commands: %\cmdname{beforeglossary}\DescribeMacro{\beforeglossary}{} and @@ -1331,9 +1413,9 @@ % %\changes{2.1}{2004 October 25}{made glossary compatible with array package} %\changes{2.3}{2005 Nov 18}{made glossary compatible with array package} -%The glossary package no longer conflicts with the \stynamefmt{array} +%The glossary package no longer conflicts with the \styname{array} %package. Changes can now be made to \cmdname{glossaryalignment} -%regardless of whether or not the \stynamefmt{array} +%regardless of whether or not the \styname{array} %package has been used. % %The command \cmdname{gloitem}\DescribeMacro{\gloitem}\ indicates @@ -1351,24 +1433,49 @@ %This command corresponds to the \istkey{item\_0} key in the %\appname{makeindex} style file. % -%The command \cmdname{glossaryheader}\DescribeMacro{\glossaryheader}\ (if \pkgopt[long]{style} or \pkgopt[super]{style} is selected) -%indicates what to do at the start of the \envname{longtable} or -%\envname{supertabular} environment. If \pkgopt[none]{border}, it -%is defined as: +%If the glossary has a tabular style with a header row +%(\pkgopt[true]{header} and either \pkgopt[long]{style} or +%\pkgopt[super]{style}), then the header row for \pkgopt[2]{cols} +%will be given by: %\begin{verbatim} %\bfseries\entryname & \bfseries \descriptionname\\ %\end{verbatim} -%So, if you want the \icmdname{descriptionname} to be centred, you could do: +%and the header row for \pkgopt[3]{cols} will be given by: +%\begin{verbatim} +%\bfseries\entryname & \bfseries\descriptionname & +%\bfseries\glspageheader\\ +%\end{verbatim} +%(It may also contain \cmdname{hline}\cmdname{hline} if the +%\pkgopt{border} key is set.) +% +%If you want to override this, you need to define the command +%\cmdname{glossaryheader}\footnote{Note that as from version~2.4, +%you must use \cmdname{newcommand} \emph{not} \cmdname{renewcommand}}% +%\DescribeMacro{\glossaryheader}. +% +%For example, if you are using a tabular style with \pkgopt[2]{cols}, +%and you want the \icmdname{descriptionname} to be centred, you could +%do: %\begin{verbatim} -%\renewcommand{\glossaryheader}{\bfseries\entryname & +%\newcommand{\glossaryheader}{\bfseries\entryname & % \hfil\bfseries\descriptionname\\} %\end{verbatim} +% +%If you want an extra row below the header row, you can define +%the command\cmdname{glossarysubheader}\DescribeMacro{\glossarysubheader} +%\changes{2.4}{2006 July 20}{provision for 'glossarysubheader added} +%For example, if you are using \pkgopt[3]{cols}, and you want an +%extra row after the header row, you can do: +%\begin{verbatim} +%\newcommand{\glossarysubheader}{ & & \\} +%\end{verbatim} +% %The command \cmdname{glosstail}\DescribeMacro{\glosstail}\ indicates what to do at the end of %the \envname{longtable} or \envname{supertabular} environment. % %The width of the second column for the tabular-type styles is given by the length %\cmdname{descriptionwidth}\DescribeMacro{\descriptionwidth}. This value can be changed using -%the \cmdname{setlength} command (the default value is \verb"0.6\textwidth"). +%the \cmdname{setlength} command (the default value is \verb"0.6\linewidth"). % %\section{Sample Documents} %This package comes with the following sample documents: @@ -1376,8 +1483,8 @@ %\item \texttt{sampleSec.tex} --- This document uses the options: %\pkgopt[altlist]{style}, \pkgopt{toc} and %\pkgopt[section]{number}. It also loads the -%\stynamefmt{hyperref} package before loading the -%\stynamefmt{glossary} package, so the glossary has hyperlinks +%\styname{hyperref} package before loading the +%\styname{glossary} package, so the glossary has hyperlinks %to the section numbers. Experimenting with different package %options, will illustrate the different glossary styles. %You will need to do: @@ -1416,9 +1523,10 @@ % %\item \texttt{sampleEq.tex} --- This has a glossary where the %numbers in the glossary refer to the equation number rather than -%the page number. The \icmdname{pagecompositor}, -%\icmdname{theglossarynum}, \icmdname{glossaryname} and -%\icmdname{glossaryheader} are all redefined to customize the +%the page number (achieved with the package option +%\pkgopt[equation]{number}). The \icmdname{entryname}, +%\icmdname{descriptionname}, \icmdname{glossaryname} and +%\icmdname{glspageheader} are all redefined to customize the %glossary. You will need to do: %\begin{verbatim} %latex sampleEq @@ -1450,7 +1558,7 @@ %\item \texttt{sampleAcr.tex} --- This has a glossary containing %acronyms. It uses the style \pkgoptval{altlist}{style} as this is better %suited to glossaries with long names. It also uses the -%\stynamefmt{hyperref} package, so the page numbers in the +%\styname{hyperref} package, so the page numbers in the %glossary will automatically be hyperlinks, and the acronyms %within the text will have hyperlinks to their corresponding entry %in the glossary. You will need to do: @@ -1489,7 +1597,8 @@ %makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo %\end{verbatim} %however, the entries with the same name but multiple descriptions -%will not be merged. +%will not be merged. You will also have to given them different sort +%keys otherwise you will get duplicate hyper targets. % %\item \texttt{sample4col.tex}---This illustrates how to %modify the glossary style so that it has 4 columns. You @@ -1562,10 +1671,6 @@ %\item Glossary items with the same names but different %definitions will not be merged. % -%\item The command \icmdname{theglossarynum} is ignored -%by \LaTeX2HTML, as page numbers have no meaning within -%HTML files. -% %\item The configuration file \texttt{glossary.cfg} is ignored. % %\end{itemize} @@ -1706,7 +1811,7 @@ %This may occur if you have long entry names, and you are using %either the \pkgopt[long]{style} or \pkgopt[super]{style} %options. The width of the description column is proportional to -%the text width (in fact, it's \verb"0.6\textwidth") +%the line width (in fact, it's \verb"0.6\linewidth") %but the first column is as wide as the widest entry name. You %can either redefine \icmdname{glossaryalignment} to change the %column specifications, or use one of the list-type styles. @@ -1714,14 +1819,16 @@ %\item The page numbers in my glossary don't match up with the actual page numbers where the entry %was defined. % -%You may need to \LaTeX\ your document again (just as you have to do with \cmdname{tableofcontents}, \cmdname{listoffigures} etc). +%You may need to \LaTeX\ your document again (just as you have to do +%with \cmdname{tableofcontents}, \cmdname{listoffigures} etc). % %\item I'm getting a \appname{keyval} error. % -%The \stynamefmt{glossary} package uses the \stynamefmt{keyval} +%The \styname{glossary} package uses the \styname{keyval} %package to extract the information from \meta{key}=\meta{value} -%comma separated lists. You need to make sure the syntax is correct. If your \meta{value} contains a -%comma, you will need to enclose \meta{value} in curly braces. See the \stynamefmt{keyval} documentation for +%comma separated lists. You need to make sure the syntax is correct. +%If your \meta{value} contains a +%comma, you will need to enclose \meta{value} in curly braces. See the \styname{keyval} documentation for %further information\footnote{This should be in the directory %\texttt{texmf/doc/latex/graphics/}}. % @@ -1732,8 +1839,8 @@ %\begin{enumerate} %\item Have you remembered to use PDF\LaTeX\ instead of \LaTeX, %or used a driver that understands hyperlinks? -%\item Have you remembered to use the \stynamefmt{hyperref} or -%\stynamefmt{html} package? +%\item Have you remembered to use the \styname{hyperref} or +%\styname{html} package? %\item Have you remembered to use a formatting command which uses \cmdname{hyperlink}? (E.g.\ using \glsnumfmt{hyperbf} instead %of \texttt{textbf})? Remember to check the \gloskey{format} key %in your \icmdname{glossary} commands, and the @@ -1744,8 +1851,8 @@ %using Adobe's Acrobat Reader, or if you are using UNIX or Linux, try using \appname{xpdf} or \appname{acroread}. %\end{enumerate} % -%\item The \stynamefmt{glossary} package conflicts with the -%\stynamefmt{datetime} package. +%\item The \styname{glossary} package conflicts with the +%\styname{datetime} package. %\changes{2.01}{21 Oct 2004}{Fixed conflict with datetime package} % %This has been fixed in version 2.01. @@ -1759,11 +1866,11 @@ %! Package array Error: Illegal pream-token (\glossaryalignment): `c' used. %\end{verbatim} % -%The \stynamefmt{glossary} package used to conflict with the -%\stynamefmt{array} package. This was fixed in version 2.1. +%The \styname{glossary} package used to conflict with the +%\styname{array} package. This was fixed in version 2.1. %As from version 2.3, it doesn't matter whether you load -%the \stynamefmt{glossary} package before or after the -%\stynamefmt{array} package. +%the \styname{glossary} package before or after the +%\styname{array} package. % %\item\label{itm:fragile} I get the following error: %\begin{verbatim} @@ -1796,16 +1903,16 @@ %\chapter{Introduction to \texorpdfstring{\protect\KSVM}{KSVM}} %\end{verbatim} % -%\item\label{itm:ngerman} The \stynamefmt{glossary} package conflicts with -%\stynamefmt{ngerman}. +%\item\label{itm:ngerman} The \styname{glossary} package conflicts with +%\styname{ngerman}. % -%This problem is caused by the fact that \stynamefmt{ngerman} +%This problem is caused by the fact that \styname{ngerman} %redefines the effect of the double quote %character, but this character is used in the creation of the %\filetype{ist} \appname{makeindex} style file. %Try one of the following methods: %\begin{enumerate} -%\item Include the \stynamefmt{ngerman} package after the +%\item Include the \styname{ngerman} package after the %\icmdname{makeglossary} command: %\begin{verbatim} %\usepackage{glossary} @@ -1813,10 +1920,10 @@ %\usepackage{ngerman} %\end{verbatim} % -%\item First omit the \stynamefmt{ngerman} package and include +%\item First omit the \styname{ngerman} package and include %\icmdname{makeglossary} then \LaTeX\ your document. %This will create the \filetype{ist} file. Then include the -%\stynamefmt{ngerman} package, and insert \icmdname{noist} before +%\styname{ngerman} package, and insert \icmdname{noist} before %the \icmdname{makeglossary} command, this will prevent further attempts to generate the \filetype{ist} file. %\begin{verbatim} %\usepackage{ngerman} @@ -1849,7 +1956,7 @@ %\end{verbatim} % %You are using an old version of \appname{makeglos.pl} with a -%new version of the \stynamefmt{glossary} package. You will need +%new version of the \styname{glossary} package. You will need %to update your version \appname{makeglos.pl}. %\end{enumerate} %Let me know if you encounter any other problems or if you have any comments regarding this package. @@ -1869,10 +1976,10 @@ %\texttt{'glsprimaryfmt}} %\changes{2.12}{2004 November 1}{primary acronym number format %\texttt{'glsprimaryfmt} no longer used} +%\changes{2.4}{2006 July 20}{primary acronym number format +%\texttt{'glsprimaryfmt} has been removed} %\DescribeMacro{\glsprimaryfmt}% -%The command \cmdname{glsprimaryfmt} is no longer used in \icmdname{newacronym} as you can end up with duplicate -%page numbers, however the command is currently still defined (although it -% may be removed in future versions.) +%The command \cmdname{glsprimaryfmt} has now been removed. % %The package option \pkgopt{hyperacronym} is now superseded by the package option %\pkgopt{hyper}. This option was implemented prior to the @@ -1885,7 +1992,7 @@ %\item[\pkgoptval{true}{hyperacronym}] Make acronyms link to their corresponding entry in the glossary %\item[\pkgoptval{false}{hyperacronym}] Acronyms don't have a hyperlink. %\end{description} -%If the \stynamefmt{hyperref} package has been loaded prior to +%If the \styname{hyperref} package has been loaded prior to %loading \texttt{glossary.sty} or if \pkgopt[true]{hyper} is set, %\pkgopt[true]{hyperacronym} otherwise %\pkgopt[false]{hyperacronym}.% @@ -1916,7 +2023,7 @@ % \subsection{Package Definition} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary}[2006/07/09 2.38 (NLCT)] +\ProvidesPackage{glossary}[2006/07/20 2.4 (NLCT)] % \end{macrocode} % Load packages needed by glossary.sty: % \begin{macrocode} @@ -1925,81 +2032,136 @@ % \end{macrocode} % The package options are in the form of a comma-separated list of % \meta{key}=\meta{value} pairs. First need to set up the keys. +% +% The \pkgopt{style} key. This may be one of \pkgoptval{list}{style}, +% \pkgoptval{altlist}{style} (use \envname{description} environment), +% \pkgoptval{super}{style} (use \envname{supertabular} environment) or +% \pkgoptval{long}{style} (use \envname{longtable} environment). % \begin{macrocode} \define@key{gloss} - {style} - {\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} \or \equal{#1}{super} \or \equal{#1}{long}} - {\def\gls@style{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: list, altlist, super and long}}} - +{style} +{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} +\or \equal{#1}{super} \or \equal{#1}{long}} +{\def\gls@style{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: list, altlist, super and long}}} +% \end{macrocode} +% The \pkgopt{header} key. This can either be \pkgoptval{none}{header} +% or \pkgoptval{plain}{header}. Should only be used in conjunction +% with \pkgopt[style]{super} or \pkgopt[long]{style}. +% \begin{macrocode} \define@key{gloss} - {header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@header{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: none and plain}}} - +{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@header{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: none and plain}}} +% \end{macrocode} +% The \pkgopt{border} key. This can either be \pkgoptval{none}{border} +% or \pkgoptval{plain}{border}. Should only be used in conjunction +% with \pkgopt[super]{style} or \pkgopt[long]{style}. +% \begin{macrocode} \define@key{gloss} - {border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@border{#1}} - {\PackageError{glossary} - {Unknown glossary border '#1'} - {Available styles are: none and plain}}} +{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@border{#1}} +{\PackageError{glossary} +{Unknown glossary border '#1'} +{Available styles are: none and plain}}} +% \end{macrocode} +% Number of columns (either \pkgoptval{2}{cols} or +% \pkgoptval{3}{cols}). Should only be used in conjunction with +% \pkgopt[super]{style} or \pkgopt[long]{style}. +% \begin{macrocode} \newcount\gls@cols \define@key{gloss}{cols}{\gls@cols=#1\relax \ifthenelse{\gls@cols<2 \or \gls@cols>3} - {\PackageError{glossary} - {invalid number of columns} - {The cols option can only be 2 or 3}} - {}} - +{\PackageError{glossary} +{invalid number of columns} +{The cols option can only be 2 or 3}} +{}} +% \end{macrocode} +% The number key may either be \pkgoptval{none}{number} or the name of +% a counter. +% \begin{macrocode} \define@key{gloss} - {number} - {\ifthenelse{\equal{#1}{none}\or\equal{#1}{page}\or\equal{#1}{section}} - {\def\gls@number{#1}} - {\PackageError{glossary} - {Unknown glossary number style '#1'} - {Available styles are: none, page and section}}} - +{number} +{\ifthenelse{\equal{#1}{none}} +{\def\gls@glossary@number{#1}} +{\@ifundefined{c@#1}{ +\PackageError{glossary} +{Unknown glossary number style '#1'} +{You may either specify "none" or the name of a counter, +e.g. "section"}\def\gls@glossary@number{page}}{\def\gls@glossary@number{#1}}}} +% \end{macrocode} +% The \pkgopt{toc} key. If set, adds the glossary to the table of +% contents +% \begin{macrocode} \newif\ifgls@toc -\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname gls@toc#1\endcsname} - {\PackageError{glossary}{Glossary option 'toc' is boolean} - {The value of 'toc' can only be set to 'true' or 'false'}}} - +\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true} +\or \equal{#1}{false}} +{\csname gls@toc#1\endcsname} +{\PackageError{glossary}{Glossary option 'toc' is boolean} +{The value of 'toc' can only be set to 'true' or 'false'}}} +% \end{macrocode} +% The \pkgopt{hypertoc} key. Like \pkgopt{toc}, but puts the anchor +% before the section heading. Should only be used if the +% \styname{hyperref} package is used (because it uses +% \icmdname{phantomsection}). +% \begin{macrocode} \newif\ifgls@hypertoc - \define@key{gloss}{hypertoc}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname gls@hypertoc#1\endcsname} - {\PackageError{glossary}{Glossary option 'hypertoc' is boolean} - {The value of 'hypertoc' can only be set to 'true' or 'false'}}} - +\define@key{gloss}{hypertoc}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname gls@hypertoc#1\endcsname} +{\PackageError{glossary}{Glossary option 'hypertoc' is boolean} +{The value of 'hypertoc' can only be set to 'true' or 'false'}}} +% \end{macrocode} +% The \pkgopt{section} key. This will put the glossary in an unnumbered +% section, even if chapters are defined. +% \begin{macrocode} \newif\ifgls@section -\define@key{gloss}{section}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname gls@section#1\endcsname} - {\PackageError{glossary}{Glossary option 'section' is boolean} - {The value of 'section' can only be set to 'true' or 'false'}}} +\define@key{gloss}{section}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname gls@section#1\endcsname} +{\PackageError{glossary}{Glossary option 'section' is boolean} +{The value of 'section' can only be set to 'true' or 'false'}}} \gls@sectionfalse - - +% \end{macrocode} +% Enable hyperlinks. If \styname{hyperref} or \styname{html} +% packages loaded, \pkgopt[true]{hyper} is the default. +% \begin{macrocode} \newif\ifglshyper \newif\ifglshyperacronym -\define@key{gloss}{hyper}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname glshyper#1\endcsname\glshyperacronymtrue} - {\PackageError{glossary}{Glossary option 'hyper' is boolean} - {The value of 'hyper' can only be set to 'true' or 'false'}}} - -\define@key{gloss}{hyperacronym}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname glshyperacronym#1\endcsname} - {\PackageError{glossary}{Glossary option 'hyperacronym' is boolean} - {The value of 'hyperacronym' can only be set to 'true' or 'false'}}} - +\define@key{gloss}{hyper}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname glshyper#1\endcsname\glshyperacronymtrue} +{\PackageError{glossary}{Glossary option 'hyper' is boolean} +{The value of 'hyper' can only be set to 'true' or 'false'}}} +% \end{macrocode} +% Enable hyperlinks for acronyms. Deprecated: use \pkgopt{hyper} +% instead. +% \begin{macrocode} +\define@key{gloss}{hyperacronym}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname glshyperacronym#1\endcsname} +{\PackageError{glossary}{Glossary option 'hyperacronym' is boolean} +{The value of 'hyperacronym' can only be set to 'true' or 'false'}}} +% \end{macrocode} +% The \pkgopt{acronym} key. If set, the acronyms will be separate from +% main glossary entries. Remember to use \icmdname{makeacronym} +% and \icmdname{printacronym} if \pkgoptval{true}{acronym}. +% \begin{macrocode} \newif\ifglsacronym -\define@key{gloss}{acronym}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}{\setboolean{glsacronym}{#1}}{% +\define@key{gloss}{acronym}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\setboolean{glsacronym}{#1}}{% \PackageError{glossary}{Glossary option 'acronym' is boolean}{The value of 'acronym' can only be set to 'true' or 'false'}}} - +% \end{macrocode} +% The \pkgopt{global} key. If not set, any acronyms expanded in a +% group will be treated as unused once outside of the group. +% Set \pkgopt[true]{global} to prevent this. +% \begin{macrocode} \newif\ifglsglobal \define@key{gloss}{global}[true]{\ifthenelse{\equal{#1}{true}\or \equal{#1}{false}}{\setboolean{glsglobal}{#1}}{% @@ -2011,11 +2173,19 @@ value of 'global' can only be set to 'true' or 'false'}}} \def\gls@style{long} \def\gls@header{none} \def\gls@border{none} -\def\gls@number{page} +\def\gls@glossary@number{page} \gls@cols=2\relax \gls@tocfalse -\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{\glshypertrue\glshyperacronymtrue} - +% \end{macrocode} +% If \icmdname{hyperpage} is defined, then assume hyperlinks required +% \begin{macrocode} +\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{% +\glshypertrue\glshyperacronymtrue} +% \end{macrocode} +% If \icmdname{hypertarget} defined, then \icmdname{glosslabel} will make a +% target ("#1") and \icmdname{glossref} will make a hyperlink (to "#1"). +% Otherwise will simply print the second argument. +% \begin{macrocode} \@ifundefined{hypertarget}{ % no hyperlinks \newcommand{\glosslabel}[2]{#2}% @@ -2025,14 +2195,14 @@ value of 'global' can only be set to 'true' or 'false'}}} \newcommand{\glossref}[2]{\hyperlink{#1}{#2}} } % \end{macrocode} -% If the xspace package has been loaded, use \verb/\xspace/ +% If the \styname{xspace} package has been loaded, use \icmdname{xspace} % in acronyms. % \begin{macrocode} \@ifundefined{xspace}{% \let\glsxspace\relax}{% \let\glsxspace\xspace} % \end{macrocode} -% Set "\glossaryalignment" to "\relax" before loading +% Set \icmdname{glossaryalignment} to "\relax" before loading % configuration file. % \begin{macrocode} \let\glossaryalignment\relax @@ -2047,11 +2217,15 @@ value of 'global' can only be set to 'true' or 'false'}}} \PackageError{glossary}{Command \string\glossarypackageoptions ^^Jcan only be used in configuration file}{}} % \end{macrocode} -% Process options +% Set up the options so that they are treated as a +% \meta{key}=\meta{value} list. % \begin{macrocode} -\DeclareOption*{\edef\@pkg@ptions{\noexpand\setkeys{gloss}{\CurrentOption}} +\DeclareOption*{\edef\@pkg@ptions{\noexpand +\setkeys{gloss}{\CurrentOption}} \ifthenelse{\equal{\CurrentOption}{}}{}{\@pkg@ptions}} - +% \end{macrocode} +% Process options +% \begin{macrocode} \ProcessOptions % \end{macrocode} %Check to make sure that the options don't conflict. @@ -2062,8 +2236,8 @@ value of 'global' can only be set to 'true' or 'false'}}} \or \gls@cols=3\)} {\PackageError{glossary}{You can't have option 'style=list' or 'style=altlist' in combination with any of the other style -options} -{The 'list' and 'altlist' options don't have a header, border or number of columns option.}} +options}{The 'list' and 'altlist' options don't have a header, +border or number of columns option.}} {} % \end{macrocode} % Can't have both toc and hypertoc. Make it a warning rather @@ -2074,66 +2248,135 @@ options} 'hypertoc', ignoring 'toc' option} \ifgls@hypertoc\gls@tocfalse\fi}{} % \end{macrocode} -%\subsection{Redefining \texttt{\symbol{92}glossary} format} -% The glossary is going to be redefined so that it accepts \meta{key}=\meta{value} -% information, so need to define the keys (see keyval documentation for further details -% on how to do this) +%\subsection{Redefining \texorpdfstring{\texttt{\symbol{92}glossary}}{\textbackslash glossary} format} +% The glossary is going to be redefined so that it accepts +% \meta{key}=\meta{value} information, so need to define the keys (see +% keyval documentation for further details +% on how to do this.) Added "\@onelevel@sanitize" at the recommendation +% of Dan~Luecking and Ulrich~Diez. % \begin{macrocode} -\define@key{wrgloss}{name}{\gdef\@glo@n@me{#1}} -\define@key{wrgloss}{description}{\def\@descr{#1}} -\define@key{wrgloss}{sort}{\gdef\@s@rt{#1}} +\define@key{wrgloss}{name}{% +\def\@glo@n@me{#1}% +\@onelevel@sanitize\@glo@n@me% +\global\let\@glo@n@me\@glo@n@me} +\define@key{wrgloss}{description}{% +\def\@descr{#1}% +\@onelevel@sanitize\@descr} +\define@key{wrgloss}{sort}{% +\def\@s@rt{#1}% +\@onelevel@sanitize\@s@rt +\global\let\@s@rt\@s@rt} \define@key{wrgloss}{format}{\def\@f@rm@t{#1}} +\define@key{wrgloss}{number}{\def\@glo@num{#1}} % \end{macrocode} % Redefine "\@wrglossary" so that it separates out the entry name and -% entry description. Substitute "\thepage" for "\theglossarynum" which -% the user can redefine to be "\theequation" etc, +% entry description. This was rewritten in version 2.4. It is now +% used for both the main glossary, and user-defined glossaries. +% The command "\@@wrglossary" is called at the end of "\@wrglossary", +% by default this does nothing, but some commands temporarily +% redefine it. % \begin{macrocode} \newcommand{\@@wrglossary}{} +% \end{macrocode} +% The label for each entry is usually made up of the glossary prefix +% followed by the sort value, this can be over-ridden by redefining +% \cmdname{@glo@l@bel}. (This is done if the optional argument to +% \icmdname{glossary} is used.) By default this does nothing. +% \begin{macrocode} \newcommand{\@glo@l@bel}{} - -\renewcommand{\@wrglossary}[1]{\relax -\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}\relax - \setkeys{wrgloss}{#1}\relax +% \end{macrocode} +% Define the prefix for the principle glossary. (Added to version +% 2.4.) +% \begin{macrocode} +\newcommand{\@gls@glossary@type}{glo} +% \end{macrocode} +% The optional first argument was added in version 2.4. This +% is the name of the glossary type. +% \begin{macrocode} +\renewcommand{\@wrglossary}[2][glossary]{\relax +\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}% +\edef\@glo@num{\csname gls@#1@number\endcsname}\relax +\xdef\@pr@fix{\csname @gls@#1@type\endcsname}% + \setkeys{wrgloss}{#2}\relax +\ifthenelse{\equal{\@glo@num}{none}}{\def\@@glo@num{\thepage}}{% +\@ifundefined{c@\@glo@num}{\PackageError{glossary}{% +Not such counter '\@glo@num'}{The value of the 'number' key +must be the name of a counter or the word "none"}% +\def\@@glo@num{\thepage}}{% +\edef\@@glo@num{\csname the\@glo@num\endcsname}}}% \ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}% -\ifthenelse{\equal{\@glo@l@bel}{}}{\gdef\@glo@l@bel{GGG:\@s@rt}}{}% +\ifthenelse{\equal{\@glo@l@bel}{}}{% +\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}% +% \end{macrocode} +% User has not specified a format, so use default +% \begin{macrocode} \ifthenelse{\equal{\@f@rm@t}{}} - {\protected@write\@glossaryfile{}% +{\expandafter\protected@write\csname @#1file\endcsname{}% +{\string\glossaryentry{\@s@rt @{% +\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr +\string\relax|glsnumformat}{\@@glo@num}}} +% \end{macrocode} +% User has specified a format. If it is one of the +% "\hyper"\meta{xx} types, append the required counter. +% This is needed if the glossary contains a mixture of +% counters used (as in "sampleEqPg.tex"). +% \begin{macrocode} +{\ifthenelse{\equal{\@f@rm@t}{hyperrm} \or +\equal{\@f@rm@t}{hypersf} \or \equal{\@f@rm@t}{hypertt} +\or \equal{\@f@rm@t}{hypermd} \or \equal{\@f@rm@t}{hyperbf} +\or \equal{\@f@rm@t}{hyperit} \or \equal{\@f@rm@t}{hyperem} +\or \equal{\@f@rm@t}{hypersl} \or \equal{\@f@rm@t}{hyperup} +\or \equal{\@f@rm@t}{hypersc}} +{\expandafter\protected@write\csname @#1file\endcsname{}% {\string\glossaryentry{\@s@rt @{% \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|glsnumformat}{\theglossarynum}}} - {\protected@write\@glossaryfile{}% + \string\relax|\@f@rm@t[\@glo@num]}{\@@glo@num}}} +{\expandafter\protected@write\csname @#1file\endcsname{}% {\string\glossaryentry{\@s@rt @{% \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|\@f@rm@t}{\theglossarynum}}}\relax + \string\relax|\@f@rm@t}{\@@glo@num}}}}\relax \endgroup\@esphack \@@wrglossary } % \end{macrocode} -% Command to extract name key from glossary entry. +% Command to extract name key from glossary entry. This shouldn't +% be sanitized, so define a new key for this +% \begin{macrocode} +\define@key{wrnsgloss}{name}{\def\@glo@n@me{#1}} +\define@key{wrnsgloss}{description}{\def\@descr{#1}} +\define@key{wrnsgloss}{sort}{\def\@s@rt{#1}} +\define@key{wrnsgloss}{format}{\def\@f@rm@t{#1}} +\define@key{wrnsgloss}{number}{\def\@glo@num{#1}} +% \end{macrocode} +% Extract name from key-value list. Name stored in "\@glo@n@me". % \begin{macrocode} -\newcommand{\@gls@getn@me}[1]{\@bsphack\begingroup\@sanitize -\gdef\@glo@n@me{}\setkeys{wrgloss}{#1}\relax -\endgroup\@esphack} +\newcommand{\@gls@getn@me}[1]{% +\def\@glo@n@me{}\setkeys{wrnsgloss}{#1}% +} % \end{macrocode} % Command to extract description key from glossary entry. % \begin{macrocode} \newcommand{\@gls@getdescr}[1]{% -\@bsphack\begingroup\@sanitize -\protected@edef\@gls@dos@tk@y{\noexpand\setkeys{wrgloss}{#1}}% -\def\@descr{}\@gls@dos@tk@y\relax +\@bsphack\begingroup +\def\@descr{}% +\setkeys{wrgloss}{#1}% \global\let\@glo@desc\@descr \endgroup\@esphack } % \end{macrocode} -% Now do macro so you can have a hyperlink that takes +% Now define \icmdname{xglossary} so you can have a hyperlink that takes % you to the entry in the glossary % \begin{macrocode} \newcommand{\xglossary}{\renewcommand{\@@wrglossary}[1]{% \glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% \glossary} % \end{macrocode} -% Save a bit of typing. The following command is new to v2.17 -% (New to version 2.36: store label in a list) +%\subsection{Storing Glossary Entries} +% Provide a means to store glossary information to save typing +% and ensure consistency (new to v2.17). +% +% Store label in list (new to version 2.36) so that all +% entries can be added to the glossary with a single command. % \begin{macrocode} \newcommand*{\@glo@label@list}{} \toksdef\gls@ta=0 \toksdef\gls@tb=2 @@ -2141,7 +2384,9 @@ options} \gls@ta={{#1}}\gls@tb=\expandafter{\@glo@label@list}% \xdef\@glo@label@list{\the\gls@ta,\the\gls@tb}} % \end{macrocode} -% First define command to store details: +% First define command to store details (don't allow a label +% consisting solely of a "*" as this represents all entries +% when passed to \icmdname{useglosentry}.) % \begin{macrocode} \newcommand*{\storeglosentry}[3][glossary]{% \ifthenelse{\equal{#2}{*}}{% @@ -2169,10 +2414,14 @@ defined}{There already exists a glossary entry with the label '#2'}}}% to define the entry using \string\storeglosentry\space before using it.}}{{% \edef\@glostype{\csname glo@#2@type\endcsname}% +\@glo@tb=\expandafter\expandafter\expandafter +{\csname glo@#2@entry\endcsname}% \ifx#1\relax -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype\endcsname{\csname glo@#2@entry\endcsname}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb}}% \else -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype{\csname glo@#2@entry\endcsname,#1}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb,#1}}% \fi \@glo@cmd }}}} @@ -2187,65 +2436,100 @@ using it.}}{{% to define the entry using \string\storeglosentry\space before using it.}}{{% \edef\@glostype{x\csname glo@#2@type\endcsname}% +\@glo@tb=\expandafter\expandafter\expandafter +{\csname glo@#2@entry\endcsname}% \ifx#1\relax -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype\endcsname{\csname glo@#2@entry\endcsname}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb}}% \else -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype\endcsname{\csname glo@#2@entry\endcsname,#1}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb,#1}}% \fi \@glo@cmd{#3}% }}} % \end{macrocode} % As above, but the text displayed in the document is constructed from -% the name key. +% the \gloskey{name} key. % \begin{macrocode} -\newcommand{\gls}[2][\relax]{\useGlosentry[#1]{#2}{\csname glo@#2@name\endcsname}} +\newcommand{\gls}[2][\relax]{% +\useGlosentry[#1]{#2}{% +\csname glo@#2@name\endcsname}} % \end{macrocode} % This command was defined in earlier verions, but doesn't % work very well, currently retained for backwards compatibility, % but may well be removed at a later date. % \begin{macrocode} \providecommand{\saveglosentry}[3][glossary]{% +\PackageWarning{glossary}{\string\saveglosentry\space is obsolete, +please use \string\storeglosentry\space instead}% \expandafter\def\csname glo@#2@type\endcsname{#1}% -\expandafter\def\csname glo@#2@entry\endcsname{name={#2},description={#3}} +\expandafter\def\csname glo@#2@entry\endcsname{% +name={#2},description={#3}}} +% \end{macrocode} +%Set up default number formats, dependent on the package \pkgopt{number} +% option. Define default page compositor. Any redefinition of the +% page compositor will need to come before the ".ist" file is +% written. The other commands can be redefined at any point before +% \icmdname{printglossary}. +% +% Define a command to set up the glossary counter. +% The optional argument specifies the glossary type +% (defaults to the main glossary). The mandatory +% command is the name of the counter, or "none". +% \begin{macrocode} +\newcommand*{\@gls@setnumbering}[2][glossary]{% +% \end{macrocode} +% If no numbering (\pkgopt[none]{number}): +% \begin{macrocode} +\ifthenelse{\equal{#2}{none}}{% +\def\pagecompositor{-} +\expandafter\def\csname @#1@delimN\endcsname{} +\expandafter\def\csname @#1@delimR\endcsname{} +\expandafter\def\csname glsX#1Xnumformat\endcsname##1{}}{% +% \end{macrocode} +% If "number=page", set the page compositor to +% "-" (dash) otherwise set it to "." (dot). +% \begin{macrocode} +\ifthenelse{\equal{#2}{page}}{% +\def\pagecompositor{-}}{% +\def\pagecompositor{.}} +% \end{macrocode} +% Set up delimiters and formats +% \begin{macrocode} +\expandafter\def\csname @#1@delimN\endcsname{, } +\expandafter\def\csname @#1@delimR\endcsname{--} +\ifglshyper +\expandafter\def\csname glsX#1Xnumformat\endcsname##1{% +\hyperrm[#2]{##1}}% +\else +\expandafter\def\csname glsX#1Xnumformat\endcsname##1{##1}\fi } - % \end{macrocode} -%Set up default number formats, dependent on the package "number" option. -%Define default page compositor. Any redefinition of the page compositor -%will need to come before the ".ist" file is written. The other commands -%can be redefined at any point before "\printglossary" -% \begin{macrocode} -\ifthenelse{\equal{\gls@number}{page}}{ - \newcommand{\theglossarynum}{\thepage} - \newcommand{\pagecompositor}{-} - \newcommand{\@glossary@delimN}{, } - \newcommand{\@glossary@delimR}{--} - \ifglshyper - \newcommand{\glsXglossaryXnumformat}[1]{\hyperrm{#1}}% - \else - \newcommand{\glsXglossaryXnumformat}[1]{#1}\fi} - {\ifthenelse{\equal{\gls@number}{section}} - {\newcommand{\theglossarynum}{\thesection} - \newcommand{\pagecompositor}{.} - \newcommand{\@glossary@delimN}{, } - \newcommand{\@glossary@delimR}{--} - \ifglshyper - \newcommand{\glsXglossaryXnumformat}[1]{\hyperrm{#1}}% - \else - \newcommand{\glsXglossaryXnumformat}[1]{#1}% - \fi} - {\newcommand{\theglossarynum}{\thepage} - \newcommand{\pagecompositor}{-} - \newcommand{\@glossary@delimN}{} - \newcommand{\@glossary@delimR}{} - \newcommand{\glsXglossaryXnumformat}[1]{}}} - -\newcommand{\glsnumformat}[2][glossary]{% -\@ifundefined{glsX#1Xnumformat}{% -\PackageError{glossary}{Glossary type '#1' undefined}{}}{% -\csname glsX#1Xnumformat\endcsname{#2}}} - +% End of "\@gls@setnumbering" definition: +% \begin{macrocode} +} +% \end{macrocode} +% Now call it to set up current numbering: +% \begin{macrocode} +\@gls@setnumbering{\gls@glossary@number} +% \end{macrocode} +% Provide a means of changing the page number format for a +% given glossary type. +% \begin{macrocode} +\newcommand{\glsnumformat}[1]{% +\@ifundefined{\@glostype}{\def\@glostype{glossary}}{}% +\@ifundefined{glsX\@glostype Xnumformat}{% +\PackageError{glossary}{Glossary type '\@glostype' undefined}{}}{% +\csname glsX\@glostype Xnumformat\endcsname{#1}}} +% \end{macrocode} +% Set the default glossary type +% \begin{macrocode} \def\@glostype{glossary} +% \end{macrocode} +% Make the delimiters etc depend on the glossary type. +% "\@glostype" should be set to the appropriate glossary type +% before using any of these commands. +% \begin{macrocode} \newcommand{\delimN}{\csname @\@glostype @delimN\endcsname} \newcommand{\delimR}{\csname @\@glostype @delimR\endcsname} \newcommand{\gloitem}{\csname @\@glostype @gloitem\endcsname} @@ -2254,7 +2538,38 @@ using it.}}{{% \csname @\@glostype @delimT\endcsname} \newcommand{\glodelim}{\csname @\@glostype @glodelim\endcsname \glsbeforenum} - +% \end{macrocode} +% Add facility to insert text between groups. By default these do +% nothing. +% \begin{macrocode} +\newcommand{\glogroupSymbols}{} +\newcommand{\glogroupNumbers}{} +\newcommand{\glogroupA}{} +\newcommand{\glogroupB}{} +\newcommand{\glogroupC}{} +\newcommand{\glogroupD}{} +\newcommand{\glogroupE}{} +\newcommand{\glogroupF}{} +\newcommand{\glogroupG}{} +\newcommand{\glogroupH}{} +\newcommand{\glogroupI}{} +\newcommand{\glogroupJ}{} +\newcommand{\glogroupK}{} +\newcommand{\glogroupL}{} +\newcommand{\glogroupM}{} +\newcommand{\glogroupN}{} +\newcommand{\glogroupO}{} +\newcommand{\glogroupP}{} +\newcommand{\glogroupQ}{} +\newcommand{\glogroupR}{} +\newcommand{\glogroupS}{} +\newcommand{\glogroupT}{} +\newcommand{\glogroupU}{} +\newcommand{\glogroupV}{} +\newcommand{\glogroupW}{} +\newcommand{\glogroupX}{} +\newcommand{\glogroupY}{} +\newcommand{\glogroupZ}{} % \end{macrocode} % Allow user to change number format for different % glossary types. @@ -2266,8 +2581,15 @@ using it.}}{{% \define@key{glossnum}{delimT}{\def\@delimT{#1}} \define@key{glossnum}{gloskip}{\def\@gloskip{#1}} \define@key{glossnum}{glodelim}{\def\@glodelim{#1}} - +% \end{macrocode} +% Define a command that will ignore its argument. This is used +% when suppressing the page numbers. +% \begin{macrocode} \providecommand{\ignore}[1]{} +% \end{macrocode} +% Define command that allows the user to modify the style for a +% given glossary type. +% \begin{macrocode} \newcommand{\setglossary}[1]{% \def\@glsnumformat{}% \def\@glsnumtype{glossary}% @@ -2312,9 +2634,17 @@ Glossary type '\@glsnumtype' has not been defined} }% }} % \end{macrocode} -% Now define the command "\printglossary" which will print the contents of the glossary file. +% Now define the command \icmdname{printglossary} which will print the +% contents of the glossary file. Define the file extension for the main +% glossary: % \begin{macrocode} \newcommand{\@gls@glossary@inext}{gls} +% \end{macrocode} +% The optional argument is the glossary type, the default is the +% main glossary. This sets "\gls@number" to "\gls@#1@number" +% before reading in the file. This ensures that \icmdname{hyperrm} etc +% use the correct counter in the target name. +% \begin{macrocode} \newcommand\printglossary[1][glossary]{% \def\@glostype{#1}% \@ifundefined{#1name}{% @@ -2323,6 +2653,7 @@ Glossary type '\@glsnumtype' has not been defined} \@ifundefined{short#1name}{% \renewcommand{\@shortglossaryname}{\@glossaryname}}{% \renewcommand{\@shortglossaryname}{\csname short#1name\endcsname}}% +\expandafter\let\expandafter\gls@number\csname gls@#1@number\endcsname \@input@{\jobname.\csname @gls@#1@inext\endcsname}} % \end{macrocode} % Define contextual names. Changed \verb/\newcommand/ @@ -2336,63 +2667,105 @@ Glossary type '\@glsnumtype' has not been defined} \def\@glossaryname{\glossaryname} \def\@shortglossaryname{\shortglossaryname} % \end{macrocode} +% Version 2.4 also writes ist filename to aux file. This +% is only used by makeglos.pl, so ignore. +% \begin{macrocode} +\newcommand{\@istfilename}[1]{} +% \end{macrocode} % Define command to generate glossary title (new to % version 2.24) % \begin{macrocode} \providecommand{\glossarytitle}{% \@ifundefined{chapter}% -% \chapter not defined +% \end{macrocode} +% "\chapter" not defined, use "\section*" +% \begin{macrocode} {% \ifgls@hypertoc -% hypertoc option used -\phantomsection% add anchor before \section* +% \end{macrocode} +% \pkgopt{hypertoc} option used, so use "\phantomsection" to add +% anchor \emph{before} "\section*" +% \begin{macrocode} +\phantomsection \@glosaddtoc{section}% \section*{\@glossaryname}\relax \else -% hypertoc=false +% \end{macrocode} +% \pkgopt[false]{hypertoc}: add to toc after "\section*" +% \begin{macrocode} \section*{\@glossaryname}\relax +% \end{macrocode} % only add contentsline if toc=true +% \begin{macrocode} \ifgls@toc\@glosaddtoc{section}\fi \fi}% -{% \chapter defined +% \end{macrocode} +% "\chapter" defined, but has user requested "\section" instead? +% \begin{macrocode} +{% \ifthenelse{\boolean{gls@section}}% -{% user requested \section +{% +% \end{macrocode} +% user requested "\section" +% \begin{macrocode} \ifgls@hypertoc -% hypertoc=true -\phantomsection% add anchor before \section* +% \end{macrocode} +% User request \pkgopt[true]{hypertoc}, so add anchor \emph{before} +% "\section": +% \begin{macrocode} +\phantomsection \@glosaddtoc{section}% \section*{\@glossaryname}\relax \else -%hypertoc=false +% \end{macrocode} +% \pkgopt[false]{hypertoc} so add contentsline (if applicable) after +% "\section" +% \begin{macrocode} \section*{\@glossaryname}\relax -% only add contentsline if toc=true \ifgls@toc\@glosaddtoc{section}\fi \fi}% -{% use \chapter +{% +% \end{macrocode} +% User has not requested "\section", so use "\chapter" +% \begin{macrocode} \ifgls@hypertoc -% hypertoc=true -% chapters usually start a new page, so to ensure +% \end{macrocode} +% User has requested \pkgopt[true]{hypertoc}. +% Chapters usually start a new page, so to ensure % anchor is at the top of the correct page, issue -% a \clearpage (or \cleardoublepage) to place the -% anchor at the correct place +% a "\clearpage" (or "\cleardoublepage") to place the +% anchor at the correct place. +% \begin{macrocode} \@ifundefined{if@twoside}{% -% If document class doesn't support twosided documents -% just do \clearpage +% \end{macrocode} +% Document class doesn't support twosided documents so +% just do "\clearpage" +% \begin{macrocode} \clearpage}{% \if@twoside +% \end{macrocode} % Document is two-sided -% If \cleardoublepage is defined, use that -% otherwise just do \clearpage +% If "\cleardoublepage" is defined, use that +% otherwise just do "\clearpage" +% \begin{macrocode} \@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}% \else -% One-sided document, just do \clearpage +% \end{macrocode} +% One-sided document, just do "\clearpage" +% \begin{macrocode} \clearpage \fi}% -\phantomsection% add anchor before \chapter +% \end{macrocode} +% add anchor before "\chapter" +% \begin{macrocode} +\phantomsection \@glosaddtoc{chapter}% \fi \chapter*{\@glossaryname}\relax -% only add contentsline if toc=true +% \end{macrocode} +% both \pkgopt[true]{hypertoc} and \pkgopt[true]{toc}, so won't get +% toc entry twice.) +% \begin{macrocode} \ifgls@toc\@glosaddtoc{chapter}\fi}} \markboth{\@shortglossaryname}{\@shortglossaryname}% } @@ -2403,8 +2776,6 @@ Glossary type '\@glsnumtype' has not been defined} \@ifundefined{theglossary}{% \newenvironment{theglossary}{}{}}{% \PackageWarning{glossary}{Redefining 'theglossary' environment}} -% \end{macrocode} -% \begin{macrocode} \renewenvironment{theglossary}{% \glossarytitle \glossarypreamble\@bef@reglos}{\@ftergl@s\glossarypostamble} @@ -2421,10 +2792,10 @@ Glossary type '\@glsnumtype' has not been defined} \addcontentsline{toc}{#1}{\@shortglossaryname} } % \end{macrocode} -% Set up switch to determine whether the item is the first item in the -% glossary (in the event that a special case is needed for the first item) +% Set up switch to determine whether the item is the first item in +% the glossary (in the event that a special case is needed for the +% first item) % \begin{macrocode} - \newif\ifgloitemfirst \newcommand{\@bef@reglos}{\global\gloitemfirsttrue\beforeglossary} \newcommand{\@ftergl@s}{\afterglossary\global\gloitemfirstfalse} @@ -2459,7 +2830,7 @@ type '\@glostype'}{}}{% \newcommand{\@glossary@gloitem}[1]{#1} % \end{macrocode} % Now define what to do depending on which style has been selected. -% First define command to switch to "list" style: +% First define command to switch to \pkgopt{list} style: % \begin{macrocode} \newcommand{\gls@setlist}[1][glossary]{% \expandafter\def\csname @gls@beforeglos@#1\endcsname{% @@ -2467,13 +2838,14 @@ type '\@glostype'}{}}{% \expandafter\def\csname @gls@afterglos@#1\endcsname{% \end{description}}% \expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\expandafter\def\csname @#1@glodelim\endcsname{, }% +\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% +\expandafter\def\csname @#1@glodelim\endcsname{}}{% +\expandafter\def\csname @#1@glodelim\endcsname{, }}% \expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]}% -\expandafter\def\csname @#1@glodelim\endcsname{, }% \expandafter\def\csname @#1@delimT\endcsname{} } % \end{macrocode} -% Next define command to switch to "altlist" style: +% Next define command to switch to \pkgopt{altlist} style: % \begin{macrocode} \newcommand{\gls@setaltlist}[1][glossary]{% \expandafter\def\csname @gls@beforeglos@#1\endcsname{% @@ -2481,47 +2853,47 @@ type '\@glostype'}{}}{% \expandafter\def\csname @gls@afterglos@#1\endcsname{% \end{description}}% \expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]\mbox{}\nopagebreak\par\nopagebreak}% +\expandafter\def\csname @#1@gloitem\endcsname##1{% +\item[##1]\mbox{}\nopagebreak\par\nopagebreak}% \expandafter\def\csname @#1@glodelim\endcsname{ }% \expandafter\def\csname @#1@delimT\endcsname{} } % \end{macrocode} -%Now deal with the other styles. I orginally used a "tabular" environment, -%but obviously this doesn't work for a glossary longer than one page. -%Nick van Foreest recommended the "supertabular" environment. The -% "longtable" environment also works, so have both options, and leave it to +%Now deal with the other styles. I orginally used a \envname{tabular} +% environment, but obviously this doesn't work for a glossary longer +% than one page (this package started out as a simple example +% accompanying one of my tutorials). Nick van Foreest recommended +% the \envname{supertabular} environment. The \envname{longtable} environment also +% works, so have both options, and leave it to % the user. % \begin{macrocode} \ifthenelse{\equal{\gls@style}{super}}{ \IfFileExists{supertab.sty}{\RequirePackage{supertab}} {\IfFileExists{supertabular.sty}{\RequirePackage{supertabular}} -{\PackageError{glossary}{Option "super" chosen, but can't find "supertab" package} -{If you want the "super" option, you have to have the "supertab" package installed.}}} -} +{\PackageError{glossary}{Option "super" chosen, but can't find +"supertab" package}{If you want the "super" option, you have to have +the "supertab" package installed.}}}} {\RequirePackage{longtable}} % \end{macrocode} % Define new length specifying the width of the description field. % \begin{macrocode} \newlength{\descriptionwidth} -\setlength{\descriptionwidth}{0.6\textwidth} -% \end{macrocode} -% Initalise header to nothing. If this command is redefined it -% will override the default header. This enables the user to -% redesign the header by changing the definition of -% "\glossaryheader" (thus providing backward compatibility.) -% \begin{macrocode} -\newcommand*{\glossaryheader}{\relax} +\setlength{\descriptionwidth}{0.6\linewidth} % \end{macrocode} +% If user has defined the command \icmdname{glossaryheader}, use it +% otherwise use header as specified by glossary style. +% Added \icmdname{glossarysubheader} in version 2.4. This is provided +% to add a sub heading, or to add a bit of space between +% the header row and the table. % \begin{macrocode} \newcommand{\@glossaryheader}{% -\ifx\glossaryheader\relax -\csname @\@glostype @header\endcsname -\else -\glossaryheader -\fi +\@ifundefined{glossaryheader}{\csname @\@glostype @header\endcsname} +{\glossaryheader}% +\@ifundefined{glossarysubheader}{}{\glossarysubheader}% } % \end{macrocode} -% Define command to set header style. +% Define command to set header style. Added \icmdname{glspageheader} in +% version 2.4. (Third column header) % \begin{macrocode} \newcommand{\gls@setheader}[1][glossary]{% \ifthenelse{\equal{\gls@header}{none}}% @@ -2543,14 +2915,20 @@ type '\@glostype'}{}}{% \ifthenelse{\equal{\gls@border}{none}} {% \expandafter\def\csname @#1@header\endcsname{% -\bfseries\entryname & \bfseries \descriptionname & \\}}% +\bfseries\entryname & \bfseries \descriptionname & +\bfseries \glspageheader \\}}% {% \expandafter\def\csname @#1@header\endcsname{% \hline\bfseries\entryname &\bfseries\descriptionname & -\\\hline\hline}}% +\bfseries \glspageheader \\\hline\hline}}% \fi }} % \end{macrocode} +% Define \icmdname{glspageheader} to do nothing, to keep it compatible +% with earlier versions: +% \begin{macrocode} +\newcommand*{\glspageheader}{} +% \end{macrocode} % Define command to set glossary alignment and borders % \begin{macrocode} \newcommand{\gls@setalignment}[1][glossary]{% @@ -2583,7 +2961,9 @@ type '\@glostype'}{}}{% % \ifnum\gls@cols=2\relax \expandafter\def\csname @#1@gloskip\endcsname{& \\}% -\expandafter\def\csname @#1@glodelim\endcsname{, }% +\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% +\expandafter\def\csname @#1@glodelim\endcsname{}}{% +\expandafter\def\csname @#1@glodelim\endcsname{, }}% \else \expandafter\def\csname @#1@gloskip\endcsname{& & \\}% \expandafter\def\csname @#1@glodelim\endcsname{& }% @@ -2591,8 +2971,8 @@ type '\@glostype'}{}}{% \expandafter\def\csname @#1@gloitem\endcsname##1{##1 &}% } % \end{macrocode} -% Need a way to avoid conflict with the array package. In an -% earlier version I defined a new column type if the array +% Need a way to avoid conflict with the \styname{array} package. In an +% earlier version I defined a new column type if the \styname{array} % package was being used, however this restricts the ability % to have multiple glossaries with different column alignments. % \begin{macrocode} @@ -2601,7 +2981,7 @@ type '\@glostype'}{}}{% \edef\@st@rtglost@ble{\the\gls@ta{\the\gls@tb}} \@st@rtglost@ble} % \end{macrocode} -% Define command to switch to "super" style: +% Define command to switch to \pkgopt{super} style: % \begin{macrocode} \newcommand{\gls@setsuper}[1][glossary]{% \gls@setalignment[#1]% @@ -2610,7 +2990,8 @@ type '\@glostype'}{}}{% \expandafter\def\csname @gls@beforeglos@#1\endcsname{% \tablehead{\@glossaryheader}\tabletail{\glosstail}% \if\glossaryalignment\relax -\expandafter\let\expandafter\@glossaryalignment\csname @gls@align@#1\endcsname +\expandafter\let\expandafter\@glossaryalignment +\csname @gls@align@#1\endcsname \else \let\@glossaryalignment\glossaryalignment \fi @@ -2620,7 +3001,7 @@ type '\@glostype'}{}}{% \end{supertabular}}% } % \end{macrocode} -% Define command to switch to "long" style: +% Define command to switch to \pkgopt{long} style: % \begin{macrocode} \newcommand{\gls@setlong}[1][glossary]{% \gls@setalignment[#1]% @@ -2628,13 +3009,13 @@ type '\@glostype'}{}}{% % \expandafter\def\csname @gls@beforeglos@#1\endcsname{% \if\relax\glossaryalignment -\expandafter\let\expandafter\@glossaryalignment\csname @gls@align@#1\endcsname +\expandafter\let\expandafter\@glossaryalignment +\csname @gls@align@#1\endcsname \else \let\@glossaryalignment\glossaryalignment \fi \@st@rtglostable{longtable}{\@glossaryalignment} \@glossaryheader\endhead\glosstail\endfoot} - % \expandafter\def\csname @gls@afterglos@#1\endcsname{% \end{longtable}}% @@ -2645,44 +3026,80 @@ type '\@glostype'}{}}{% \newcommand{\@setglossarystyle}[1][glossary]{% \@ifundefined{gls@set\gls@style}{% \PackageError{glossary}{Glossary style '\gls@style' undefined}{}}{% +\ifthenelse{\equal{\gls@number}{}}{}{% +\expandafter\edef\csname gls@#1@number\endcsname{\gls@number}% +\@gls@setnumbering[#1]{\gls@number}% +}% \csname gls@set\gls@style\endcsname[#1]}} % \end{macrocode} -% Set glossary style +% Set main glossary style as per package options % \begin{macrocode} +\let\gls@number\gls@glossary@number \@setglossarystyle % \end{macrocode} -% Define keys to change glossary style +% Define keys to change glossary style. The \pkgopt{style} key sets +% the basic style. % \begin{macrocode} \define@key{glosstyle} - {style} - {\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} \or \equal{#1}{super} \or \equal{#1}{long}} - {\def\gls@style{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: list, altlist, super and long}}} - +{style} +{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} +\or \equal{#1}{super} \or \equal{#1}{long}} +{\def\gls@style{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: list, altlist, super and long}}} +% \end{macrocode} +% The \pkgopt{header} key should only be used in conjunction with +% one of the tabular-type styles. If set to \pkgoptval{plain}{header}, a +% header row will be used. +% \begin{macrocode} \define@key{glosstyle} - {header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@header{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: none and plain}}} - +{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@header{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: none and plain}}} +% \end{macrocode} +% The \pkgopt{border} key should only be used in conjunction with one +% of the tabular-type styles. If set to \pkgoptval{plain}{border}, a border will +% be placed around the glossary. +% \begin{macrocode} \define@key{glosstyle} - {border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@border{#1}} - {\PackageError{glossary} - {Unknown glossary border '#1'} - {Available styles are: none and plain}}} +{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@border{#1}} +{\PackageError{glossary} +{Unknown glossary border '#1'} +{Available styles are: none and plain}}} +% \end{macrocode} +% The \pkgopt{cols} key should only be used in conjunction with one of +% the tabular-type styles. If set to \pkgoptval{2}{cols}, the description and page +% list will both be placed in the second column, if set to \pkgoptval{3}{cols}, +% the description will go in the second column, and the page list +% will go in the third column. +% \begin{macrocode} \define@key{glosstyle}{cols}{\gls@cols=#1\relax \ifthenelse{\gls@cols<2 \or \gls@cols>3} - {\PackageError{glossary} - {invalid number of columns} - {The cols option can only be 2 or 3}} - {}} +{\PackageError{glossary} +{invalid number of columns} +{The cols option can only be 2 or 3}} +{}} +% \end{macrocode} +% The \pkgopt{number} key may either be \pkgoptval{none}{number} or the name of a counter. +% \begin{macrocode} +\define@key{glosstyle} +{number} +{\ifthenelse{\equal{#1}{none}} +{\def\gls@number{#1}} +{\@ifundefined{c@#1}{ +\PackageError{glossary} +{Unknown glossary number style '#1'} +{You may either specify "none" or the name of a counter, +e.g. "section"}\def\gls@number{page}}{\def\gls@number{#1}}}} % \end{macrocode} +% Provide a means of setting the style for a given glossary type. % \begin{macrocode} \newcommand{\setglossarystyle}[2][glossary]{% +\def\gls@number{}% \setkeys{glosstyle}{#2}% \@setglossarystyle[#1]% } @@ -2690,75 +3107,100 @@ type '\@glostype'}{}}{% % Set the delimiter for the case where there is no numbering % and there aren't 3 columns. % \begin{macrocode} -\ifthenelse{\equal{\gls@number}{none} \and \gls@cols<3}{% +\ifthenelse{\equal{\gls@glossary@number}{none} \and \gls@cols<3}{% \renewcommand{\@glossary@glodelim}{}}{} % \end{macrocode} % \subsection{Makeindex style file} %This is the code to generate the ".ist" file. +% First define a switch that governs whether or not to write the +% ist file. % \begin{macrocode} \newif\ifist \let\noist=\istfalse \if@filesw\isttrue\else\istfalse\fi - +% \end{macrocode} +% Provide a command to write the ist file. This will cause +% a problem with \styname{ngerman} because the behaviour +% of the double quote character changes. Any packages that modify +% this character should be loaded after the ".ist" file is written. +% \begin{macrocode} \newwrite\istfile \catcode`\%11\relax \newcommand{\writeist}{ +\protected@write\@auxout{}{\protect\@istfilename{\istfilename}} \openout\istfile=\istfilename \write\istfile{% makeindex style file created by LaTeX for document "\jobname" on \the\year-\the\month-\the\day} \write\istfile{keyword "\string\\glossaryentry"} \write\istfile{preamble "\string\\begin{theglossary}"} \write\istfile{postamble "\string\n\string\\end{theglossary}\string\n"} \write\istfile{group_skip "\string\\gloskip "} -\write\istfile{item_0 "\string\n\string\\gloitem "} +\write\istfile{item_0 "\string\n\string\n\string\\gloitem "} \write\istfile{delim_0 "\string\n\string\\glodelim "} \write\istfile{page_compositor "\pagecompositor"} \write\istfile{delim_n "\string\\delimN "} \write\istfile{delim_r "\string\\delimR "} \write\istfile{delim_t "\string\\delimT "} +\write\istfile{headings_flag 1} +\write\istfile{heading_prefix "\string\\glogroup"} +\write\istfile{symhead_positive "Symbols"} +\write\istfile{numhead_positive "Numbers"} \closeout\istfile } \catcode`\%14\relax % \end{macrocode} -%Redefine "\makeglossary" so that it creates the ".ist" file. Once it is -% created, the "\ifist" flag is set to false to prevent repeated creation of -% the file in the event that another glossary-style type is created. If a -% different ".ist" file is desired for each glossary type, you will need -% to precede each "\make"\meta{type} with "\isttrue" and changed the definition -% of "\istfilename". (This is unlikely to occur unless more than one type -% of page compositor is required.) -% The "\glossary" command has been modified to allow for -% an optional argument to modify the label. +%Redefine \icmdname{makeglossary} so that it creates the ".ist" file. +% Once it is created, the \icmdname{ifist} flag is set to false to prevent +% repeated creation of the file in the event that another +% glossary-style type is created. If a different ".ist" file is +% desired for each glossary type, you will need to precede each +% "\make"\meta{type} with \icmdname{isttrue} and changed the definition +% of \icmdname{istfilename}. (This is unlikely to occur unless more than +% one type of page compositor is required.) If you do this, remember +% to pass the correct ist file to makeindex. I have removed +% "\@sanitize" at the +% recommendation of Ulrich~Diez. % \begin{macrocode} \renewcommand{\makeglossary}{ \newwrite\@glossaryfile \immediate\openout\@glossaryfile=\jobname.glo \renewcommand{\glossary}[1][]{\gdef\@glo@l@bel{##1}% -\@bsphack \begingroup \@sanitize \@wrglossary } +\@bsphack \begingroup \@wrglossary } \typeout {Writing glossary file \jobname .glo } \let \makeglossary \@empty \ifist\writeist\fi \noist} - +% \end{macrocode} +% The \icmdname{glossary} command has been modified to allow for an optional +% argument to modify the label. This is the default definition of +% \icmdname{glossary}, it doesn't write anything to the ".glo" file. +% It doesn't use "\setkeys", so "\@sanitize" is used here. +% Use \icmdname{makeglossary} to redefine it so that entries are written +% to the ".glo" file. +% \begin{macrocode} \renewcommand{\glossary}[1][]{% \@bsphack\begingroup\@sanitize\@index} % \end{macrocode} -%\subsection{Defining new glossary type} +%\subsection{Defining a new glossary type} % First parameter (optional) is the extension of the log file -% (information used by makeglos.pl but not \LaTeX). +% (information used by "makeglos.pl" but not \LaTeX). % Second parameter is the name of new glossary type % e.g.\ "notation". Third parameter is the extension of output % file (equivalent to "ind" or "glo". Fourth parameter % is the extension of input file (equivalent to "idx" or "gls"). % The fifth parameter (optional) is the format. % \begin{macrocode} -\newcommand{\@newglossarytype}[4][glg]{} \newcommand{\newglossarytype}[4][glg]{ \@ifundefined{#2}{% \protected@write\@auxout{}{\@newglossarytype[#1]{#2}{#3}{#4}}% \def\@glstype{#2}\def\@glsout{#3}\def\@glsin{#4}% -\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{\glsXglossaryXnumformat}% -\expandafter\gdef\csname @\@glstype @delimN\endcsname{\@glossary@delimN}% -\expandafter\gdef\csname @\@glstype @delimR\endcsname{\@glossary@delimR}% +\expandafter\edef\csname gls@\@glstype @number\endcsname{% +\gls@glossary@number}% +\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{% +\glsXglossaryXnumformat}% +\expandafter\gdef\csname @\@glstype @delimN\endcsname{% +\@glossary@delimN}% +\expandafter\gdef\csname @\@glstype @delimR\endcsname{% +\@glossary@delimR}% \expandafter\gdef\csname @gls@\@glstype @inext\endcsname{#4}% \expandafter\def\csname @gls@#2@type\endcsname{#4}% \expandafter\edef\csname make\@glstype\endcsname{% @@ -2767,20 +3209,8 @@ type '\@glostype'}{}}{% \noexpand\@gl@ss@ary{\@glstype}} \expandafter\edef\csname x\@glstype\endcsname{% \noexpand\@Gl@ss@ary{\@glstype}} -\expandafter\edef\csname print\@glstype\endcsname{% -\noexpand\def\noexpand\@glostype{\@glstype}% -\noexpand\@ifundefined{\@glstype name}{% -\noexpand\def\noexpand\@glossaryname{\noexpand\glossaryname}% -}{% -\noexpand\def\noexpand\@glossaryname{% -\noexpand\csname\@glstype name\noexpand\endcsname}}% -% -\noexpand\@ifundefined{short\@glstype name}{% -\noexpand\def\noexpand\@shortglossaryname{\noexpand\@glossaryname}% -}{% -\noexpand\edef\noexpand\@shortglossaryname{% -\noexpand\csname short\@glstype name\noexpand\endcsname}}% -\noexpand\@prntgl@ss@ry{\@glsin}}% +\@namedef{print\@glstype}{% +\printglossary[#2]}% }{\PackageError{glossary}{Command \expandafter\string\csname #2\endcsname \space already defined}{% You can't call your new glossary type '#2' because there already @@ -2789,12 +3219,17 @@ exists a command with this name}}% \newcommand{\@@n@wglostype}[1][]{% \setglossarystyle[\@glstype]{#1}} % \end{macrocode} -% Define equivalent of "\makeglossary": +% The command "\@newglossarytype" is written to the auxiliary file +% and is only used by makeglos.pl. \LaTeX\ should ignore it. +% \begin{macrocode} +\newcommand{\@newglossarytype}[4][glg]{} +% \end{macrocode} +% Define equivalent of \icmdname{makeglossary}: % \begin{macrocode} -\newcommand\@m@kegl@ss[2]{ +\newcommand\@m@kegl@ss[2]{% \expandafter\newwrite\csname @#1file\endcsname \expandafter\immediate\expandafter - \openout\csname @#1file\endcsname=\jobname.#2 +\openout\csname @#1file\endcsname=\jobname.#2 \typeout {Writing #1 file \jobname .#2 } \expandafter\let \csname make#1\endcsname \@empty \ifist\writeist\fi @@ -2802,52 +3237,26 @@ exists a command with this name}}% \noist } % \end{macrocode} -% Define equivalent of "\@wrglossary": -% \begin{macrocode} -\newcommand{\@wrgl@ss@ry}[2]{\relax -\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}\relax -\xdef\@pr@fix{\csname @gls@#1@type\endcsname}% -\ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}% -\ifthenelse{\equal{\@glo@l@bel}{}}{\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}% -\setkeys{wrgloss}{#2}\relax - \ifthenelse{\equal{\@f@rm@t}{}} - {\expandafter\protected@write\csname @#1file\endcsname{}{% -\string\glossaryentry{\@s@rt @{% -\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}% -\@descr\string\relax|glsnumformat[#1]}{\csname the#1num\endcsname}}} - {\expandafter\protected@write\csname @#1file\endcsname{}{% -\string\glossaryentry{\@s@rt @{% -\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}% -\@descr\string\relax|\@f@rm@t}{\csname the#1num\endcsname}}}\relax -\endgroup\@esphack -\@@wrgl@ss@ry -} - -\newcommand{\@@wrgl@ss@ry}{} -% \end{macrocode} -% Define the equivalent of "\glossary". +% Define the equivalent of \icmdname{glossary}. % \begin{macrocode} \newcommand\@gl@ss@ary[2][]{\@ifundefined{@#2file}{% -\@bsphack\begingroup \@sanitize \@index}{% +\@bsphack\begingroup\@sanitize \@index}{% \gdef\@glo@l@bel{#1}% -\@bsphack \begingroup \@sanitize \@wrgl@ss@ry{#2}}} +\@bsphack \begingroup \@wrglossary[#2]}} % \end{macrocode} -% Define the equivalent of "\xglossary". +% Define the equivalent of \icmdname{xglossary}. % \begin{macrocode} \newcommand{\@Gl@ss@ary}{% -\renewcommand{\@@wrgl@ss@ry}[1]{% -\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrgl@ss@ry}{}}% +\renewcommand{\@@wrglossary}[1]{% +\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% \@gl@ss@ary} % \end{macrocode} -% Define equivalent of "\printglossary". -% \begin{macrocode} -\newcommand\@prntgl@ss@ry[1]{\@input@{\jobname.#1}} -% \end{macrocode} -% The command "\newglossarytype" should only be used in the preamble. +% The command \icmdname{newglossarytype} should only be used in the preamble. % \begin{macrocode} \@onlypreamble{\newglossarytype} % \end{macrocode} -% Define "\newacronym"[\meta{cmd-name}]\{\meta{abbrv}\}\{\meta{long name}\}\{\meta{glos entry}\} +%\subsection{Acronyms} +% Define \icmdname{newacronym}[\meta{cmd-name}]\{\meta{abbrv}\}\{\meta{long name}\}\{\meta{glos entry}\} % \begin{macrocode} \newcommand\@acrnmsh{} \newcommand\@sacrnmsh{} @@ -2869,10 +3278,6 @@ exists a command with this name}}% \@glo@tb=\expandafter{\@acr@list}% \edef\@acr@list{\the\@glo@tb,\@glo@ta}}} % \end{macrocode} -% This should no longer be used -% \begin{macrocode} -\newcommand{\glsprimaryfmt}[1]{\textbf{\glsnumformat{#1}}} -% \end{macrocode} % Specify how to control the way the name key is % set for acronyms. % \begin{macrocode} @@ -2894,46 +3299,58 @@ exists a command with this name}}% % This command has been restructured as from v2.17 % \begin{macrocode} \newcommand{\newacronym}[4][]{% -\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{\renewcommand\@acrnmcmd{#1}} +\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{% +\renewcommand\@acrnmcmd{#1}} \@ifundefined{\@acrnmcmd}{% -\expandafter\newcommand\csname\@acrnmcmd short\endcsname{#2\protect\glsxspace} +\expandafter\newcommand\csname\@acrnmcmd short\endcsname{% +#2\protect\glsxspace} \expandafter\newcommand\csname\@acrnmcmd @nx@short\endcsname{#2} -\expandafter\newcommand\csname\@acrnmcmd long\endcsname{#3\protect\glsxspace} +\expandafter\newcommand\csname\@acrnmcmd long\endcsname{% +#3\protect\glsxspace} \expandafter\newcommand\csname\@acrnmcmd @nx@long\endcsname{#3} -\def\@acrn@entry{#4} -{ +\def\@acrn@entry{#4}% +{% % extract description -\@gls@getdescr{\@acrn@entry}% +\expandafter\@gls@getdescr\expandafter{\@acrn@entry}% \let\glodesc\@glo@desc% \def\glolong{#3}% +\@onelevel@sanitize\glolong \def\gloshort{\noexpand\acronymfont{#2}}% +\@onelevel@sanitize\gloshort \expandafter\protected@xdef\expandafter\@acrnamefmt{\@acronymnamefmt} \expandafter\protected@xdef\expandafter\@acrdesc{\@acronymdescfmt} -} +}% \@acr@addtolist{\@acrnmcmd} -\protected@edef\@acr@glsentry{name={\@acrnamefmt},format=glsnumformat,sort={\@acrnmcmd},\@acrn@entry,description={\@acrdesc}} +\@glo@tb=\expandafter{\@acrn@entry}% +\protected@edef\@acr@glsentry{name={\@acrnamefmt},% +format=glsnumformat,sort={\@acrnmcmd},\the\@glo@tb,% +description={\@acrdesc}}% +\@glo@tb=\expandafter{\@acr@glsentry}% \newboolean{\@acrnmcmd first}\setboolean{\@acrnmcmd first}{true} -\expandafter\protected@edef\csname \@acrnmcmd\endcsname{\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{\csname @\@acrnmcmd\endcsname}} +\expandafter\protected@edef\csname \@acrnmcmd\endcsname{% +\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{% +\csname @\@acrnmcmd\endcsname}} \ifglshyperacronym % hyperlinks % unstarred version \expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\@acr@glsentry}{% +(\noexpand\xacronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\xacronym{\@acr@glsentry}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}\noexpand\@acrnmins}}\noexpand\glsxspace} +}{\noexpand\xacronym{\the\@glo@tb}{% +\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% +\noexpand\@acrnmins}}\noexpand\glsxspace} % starred version \expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \noexpand\expandafter\noexpand\MakeUppercase \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\@acr@glsentry}{% +(\noexpand\xacronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })% \noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\xacronym{\@acr@glsentry}{% +\noexpand\xacronym{\the\@glo@tb}{% \noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase \csname\@acrnmcmd @nx@short\endcsname}% \noexpand\@acrnmins}}\noexpand\glsxspace} @@ -2942,11 +3359,12 @@ exists a command with this name}}% \expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\@acr@glsentry}{% +(\noexpand\acronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\acronym{\@acr@glsentry}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}\noexpand\@acrnmins}}% +}{\noexpand\acronym{\the\@glo@tb}{% +\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% +\noexpand\@acrnmins}}% \noexpand\glsxspace} % starred version \expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% @@ -2954,19 +3372,22 @@ exists a command with this name}}% \noexpand\expandafter \noexpand\MakeUppercase \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\@acr@glsentry}{% +(\noexpand\acronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })% \noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\acronym{\@acr@glsentry}{% +\noexpand\acronym{\the\@glo@tb}{% \noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase \csname\@acrnmcmd @nx@short\endcsname}% \noexpand\@acrnmins}}\noexpand\glsxspace} \fi }{% -\PackageError{glossary}{Command '\expandafter\string\csname\@acrnmcmd\endcsname' already defined}{ - The command name specified by \string\newacronym already exists.}}} - +\PackageError{glossary}{Command '\expandafter\string +\csname\@acrnmcmd\endcsname' already defined}{% +The command name specified by \string\newacronym already exists.}}} +% \end{macrocode} +% Define a command to use a given acronym. +% \begin{macrocode} \newcommand{\useacronym}{\@ifstar\@suseacronym\@useacronym} \newcommand{\@suseacronym}[2][]{{\let\glsxspace\relax \def\@acrnmins{#1}\csname @s@#2\endcsname}% @@ -2974,34 +3395,55 @@ exists a command with this name}}% \newcommand{\@useacronym}[2][]{{\let\glsxspace\relax \def\@acrnmins{#1}\csname @#2\endcsname}% \setboolean{#2first}{false}} - +% \end{macrocode} +% Define a command to use the long form of an acronym without +% generating a glossary entry. The starred form makes the first +% character uppercase. +% \begin{macrocode} \newcommand{\acrln}{\@ifstar\@sacrln\@acrln} - +% \end{macrocode} +% Unstarred form: +% \begin{macrocode} \newcommand{\@acrln}[1]{\@ifundefined{#1long}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \csname#1@nx@long\endcsname}} - +% \end{macrocode} +% Starred form: +% \begin{macrocode} \newcommand{\@sacrln}[1]{\@ifundefined{#1long}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \expandafter\expandafter\expandafter \MakeUppercase\csname#1@nx@long\endcsname}} - +% \end{macrocode} +% As above, but for the short form. +% \begin{macrocode} \newcommand{\acrsh}{\@ifstar\@sacrsh\@acrsh} - +% \end{macrocode} +% Unstarred form: +% \begin{macrocode} \newcommand{\@acrsh}[1]{\@ifundefined{#1short}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \acronymfont{\csname#1@nx@short\endcsname}}} - +% \end{macrocode} +% Starred form: +% \begin{macrocode} \newcommand{\@sacrsh}[1]{\@ifundefined{#1short}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \acronymfont{\expandafter\expandafter\expandafter \MakeUppercase\csname#1@nx@short\endcsname}}} - +% \end{macrocode} +% Define a means of determining whether an acronym has been +% used or not. This was mainly included for use with LaTeX2HTML +% which currently has no \styname{ifthen} style. +% \begin{macrocode} \newcommand{\ifacronymfirstuse}[3]{% \@ifundefined{if#1first}{% \PackageError{glossary}{Acronym '#1' not defined}{}}{% \ifthenelse{\boolean{#1first}}{#2}{#3}}} - +% \end{macrocode} +% Provide a means of resetting an acronym so that it is expanded +% next time it is used. +% \begin{macrocode} \newcommand{\resetacronym}[1]{% \@ifundefined{if#1first}{% \PackageError{glossary}{Acronym '#1' not defined}{}}{% @@ -3010,7 +3452,9 @@ exists a command with this name}}% \else \setboolean{#1first}{true}% \fi}} - +% \end{macrocode} +% Reverse of the above. +% \begin{macrocode} \newcommand{\unsetacronym}[1]{% \@ifundefined{if#1first}{% \PackageError{glossary}{Acronym '#1' not defined}{}}{% @@ -3019,94 +3463,135 @@ exists a command with this name}}% \else \setboolean{#1first}{false}% \fi}} - +% \end{macrocode} +% Reset all acronyms so that they will all be expanded when next +% used. +% \begin{macrocode} \newcommand{\resetallacronyms}{% \@for\@acr:=\@acr@list\do{\resetacronym{\@acr}}} - +% \end{macrocode} +% Ensure that all acronyms are not expanded, even if they haven't +% yet been used. +% \begin{macrocode} \newcommand{\unsetallacronyms}{% \@for\@acr:=\@acr@list\do{\unsetacronym{\@acr}}} % \end{macrocode} -%These commands are provided to make it easier change the page number format to bf, sf, tt and it -%if you are using hyperlinks +% Check to see if acronyms should be separate from glossary +% \begin{macrocode} +\ifglsacronym +\newglossarytype[alg]{acronym}{acr}{acn} +\providecommand{\acronymname}{List of Acronyms} +\else +\let\acronym=\glossary +\let\xacronym=\xglossary +\fi +% \end{macrocode} +%\subsection{Glossary Hyperlinks} +% This section deals with commands that are used to make the +% numbers in the glossary have hyperlinks, if hyperlinks are +% supported. +% +% The command \icmdname{glshyper} is a modification of \styname{hyperref}'s +% \icmdname{hyperpage} command, but it uses \icmdname{delimR} instead of a dash, and +% \icmdname{delimN} instead of a comma. The command was originally called +% \icmdname{glshyperpage} but was modified in version 2.4 to +% enable "page" to be substituted with some arbitrary counter +% (which should be specified as the first argument). % \begin{macrocode} \ifglshyper -% this is modified from definition of "\hyperpage" in "hyperref.sty" -\def\glshyperpage#1{\@glshyperpage#1\delimR \delimR \\} -\def\@glshyperpage#1\delimR #2\delimR #3\\{% - \ifx\\#2\\% - \@delimNhyperpage{#1}% - \else - \@ifundefined{hyperlink}{#1\delimR #2}{\hyperlink{page.#1}{#1}\delimR \hyperlink{page.#2}{#2}}% - \fi -} - -\def\@delimNhyperpage#1{\@@delimNhyperpage#1\delimN \delimN\\} -\def\@@delimNhyperpage#1\delimN #2\delimN #3\\{% - \ifx\\#2\\% - \@ifundefined{hyperlink}{#1}{\hyperlink{page.#1}{#1}}% - \else - \@ifundefined{hyperlink}{#1\delimN #2}{\hyperlink{page.#1}{#1}\delimN \hyperlink{page.#2}{#2}}% - \fi -} - -\def\glshypersection#1{\@glshypersection#1\delimR \delimR \\} -\def\@glshypersection#1\delimR #2\delimR #3\\{% - \ifx\\#2\\% - \@delimNhypersection{#1}% - \else - \@ifundefined{hyperlink}{#1\delimR #2}{\hyperlink{section.#1}{#1}\delimR \hyperlink{section.#2}{#2}}% - \fi +\def\glshyper#1#2{\@glshyper{#1}#2\delimR \delimR \\} +\def\@glshyper#1#2\delimR #3\delimR #4\\{% +\ifx\\#3\\% +\@delimNhyper{#1}{#2}% +\else +\@ifundefined{hyperlink}{#2\delimR #3}{% +\hyperlink{#1.#2}{#2}\delimR \hyperlink{#1.#3}{#3}}% +\fi } - -\def\@delimNhypersection#1{\@@delimNhypersection#1\delimN \delimN\\} -\def\@@delimNhypersection#1\delimN #2\delimN #3\\{% - \ifx\\#2\\% - \@ifundefined{hyperlink}{#1}{\hyperlink{section.#1}{#1}}% +% \end{macrocode} +% For a list of individual pages instead of a range: +% \begin{macrocode} +\def\@delimNhyper#1#2{\@@delimNhyper{#1}#2\delimN \delimN\\} +\def\@@delimNhyper#1#2\delimN #3\delimN #4\\{% + \ifx\\#3\\% + \@ifundefined{hyperlink}{#2}{\hyperlink{#1.#2}{#2}}% \else - \@ifundefined{hyperlink}{#1\delimN #2}{\hyperlink{section.#1}{#1}\delimN \hyperlink{section.#2}{#2}}% + \@ifundefined{hyperlink}{#2\delimN #3}{% +\hyperlink{#1.#2}{#2}\delimN \hyperlink{#1.#3}{#3}}% \fi } - -\ifthenelse{\equal{\gls@number}{section}}{ -\ifglshyper +% \end{macrocode} +% To maintain backwards compatibility, define \icmdname{glshyperpage} +% and \icmdname{glshypersection}. These commands may be removed at a +% later date, so don't use them. +% \begin{macrocode} +\newcommand\glshyperpage[1]{\glshyper{page}{#1}} +\newcommand\glshypersection[1]{\glshyper{section}{#1}} +% \end{macrocode} +% If chapters are defined, modify "\@chapter" so that is adds +% a "section."\meta{n}".0" target (otherwise it gets too complicated +% if you have to work out whether to use the chapter or section +% counter---there's more than enough conditional code in this +% package already!) +% \begin{macrocode} \@ifundefined{chapter} - {} - {\let\@gls@old@chapter\@chapter - \def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}\@ifundefined{hyperdef}{}{\hyperdef{section}{\thechapter.0}{}}}} -\fi - -\providecommand\hyperrm[1]{\textrm{\glshypersection{#1}}} -\providecommand\hypersf[1]{\textsf{\glshypersection{#1}}} -\providecommand\hypertt[1]{\texttt{\glshypersection{#1}}} -\providecommand\hyperbf[1]{\textbf{\glshypersection{#1}}} -\providecommand\hyperit[1]{\textit{\glshypersection{#1}}} -} -{ -\providecommand\hyperrm[1]{\textrm{\glshyperpage{#1}}} -\providecommand\hypersf[1]{\textsf{\glshyperpage{#1}}} -\providecommand\hypertt[1]{\texttt{\glshyperpage{#1}}} -\providecommand\hyperbf[1]{\textbf{\glshyperpage{#1}}} -\providecommand\hyperit[1]{\textit{\glshyperpage{#1}}} -} -\else -\providecommand\hyperrm[1]{\textsf{#1}} -\providecommand\hypersf[1]{\textsf{#1}} -\providecommand\hypertt[1]{\texttt{#1}} -\providecommand\hyperbf[1]{\textbf{#1}} -\providecommand\hyperit[1]{\textit{#1}} -\fi +{} +{\let\@gls@old@chapter\@chapter +\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}% +\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}} % \end{macrocode} -% Check to see if acronyms should be separate from glossary +% Provide "\hyper"\meta{xx} to make it easier to change the page +% number format to "bf", "sf", "tt" and "it" if you are using +% hyperlinks. +% The optional first argument (new to version 2.4) specifies +% the counter being used. +% \begin{macrocode} +\providecommand\hyperrm[2][\gls@number]{% +\textrm{\glshyper{#1}{#2}}} +\providecommand\hypersf[2][\gls@number]{% +\textsf{\glshyper{#1}{#2}}} +\providecommand\hypertt[2][\gls@number]{% +\texttt{\glshyper{#1}{#2}}} +\providecommand\hyperbf[2][\gls@number]{% +\textbf{\glshyper{#1}{#2}}} +\providecommand\hyperit[2][\gls@number]{% +\textit{\glshyper{#1}{#2}}} +% \end{macrocode} +% The following were added in version 2.4: +% \begin{macrocode} +\providecommand\hyperem[2][\gls@number]{% +\emph{\glshyper{#1}{#2}}} +\providecommand\hyperup[2][\gls@number]{% +\textup{\glshyper{#1}{#2}}} +\providecommand\hypersl[2][\gls@number]{% +\textsl{\glshyper{#1}{#2}}} +\providecommand\hypersc[2][\gls@number]{% +\textsc{\glshyper{#1}{#2}}} +\providecommand\hypermd[2][\gls@number]{% +\textmd{\glshyper{#1}{#2}}} +% \end{macrocode} +% Hyperlinks not enabled. % \begin{macrocode} -\ifglsacronym -\newglossarytype[alg]{acronym}{acr}{acn} -\providecommand{\acronymname}{List of Acronyms} \else -\let\acronym=\glossary -\let\xacronym=\xglossary +\providecommand\hyperrm[2][]{\textrm{#2}} +\providecommand\hypersf[2][]{\textsf{#2}} +\providecommand\hypertt[2][]{\texttt{#2}} +\providecommand\hypermd[2][]{\textmd{#2}} +\providecommand\hyperbf[2][]{\textbf{#2}} +\providecommand\hyperit[2][]{\textit{#2}} +\providecommand\hypersl[2][]{\textsl{#2}} +\providecommand\hyperup[2][]{\textup{#2}} +\providecommand\hypersc[2][]{\textsc{#2}} +\providecommand\hyperem[2][]{\emph{#2}} \fi % \end{macrocode} -%\subsection{makeglos code} +%\iffalse +%\subsection{Additional Files} +% The remainder of this document simply lists the contents +% of all the additional files that accompany the \styname{glossary} +% package. There is no further documentation. Some lines may not +% fit on the page. If you like, you can comment out this section +% using "\iffalse" and "\fi". % \begin{macrocode} %</glossary.sty> % \end{macrocode} @@ -3118,7 +3603,7 @@ exists a command with this name}}% # File : makeglos # Author : Nicola Talbot -# Version : 1.4 (2005/11/19) +# Version : 1.5 (2006/07/20) # Description: simple Perl script that calls makeindex. # Intended for use with "glossary.sty" (saves having to remember # all the various switches) @@ -3156,7 +3641,10 @@ else $name = @ARGV[0]; } +$istfile = "$name.ist"; + # check log file for other glossary types +# and for ist file name if (open AUXFILE, "$name.aux") { @@ -3173,6 +3661,11 @@ if (open AUXFILE, "$name.aux") print "added glossary type '$2' ($3,$4,$1)\n"; } } + + if (m/\\\@istfilename\s*{([^}]*)}/) + { + $istfile = $1; + } } close AUXFILE; @@ -3221,11 +3714,7 @@ unless ($opt_p eq "") $mkidxopts .= " -p $opt_p"; } -if ($opt_s eq "") -{ - $istfile = "$name.ist"; -} -else +unless ($opt_s eq "") { $istfile = $opt_s; } @@ -4495,6 +4984,7 @@ _IGNORED_CMDS_ % \begin{macrocode} %<*sample.tex> % \end{macrocode} +% \begin{macrocode} \documentclass[a4paper]{report} \usepackage[plainpages=false,colorlinks]{hyperref} @@ -4502,6 +4992,29 @@ _IGNORED_CMDS_ \makeglossary +% You need to use the -m switch with makeglos.pl to concatenate +% entries with the same name but different descriptions +% If you don't, and you use PDFLaTeX you will get a warning +% about duplicate labels. To prevent this, set a different +% sort key for each entry, e.g. sort=glossary1 for the first +% entry and sort=glossary2 for the second entry + +\storeglosentry{glossary1}{name=glossary, +description=1) list of technical words} + +\storeglosentry{glossary2}{name=glossary, +description=2) collection of glosses} + +\storeglosentry{Perl}{name=\texttt{Perl}, +sort=Perl, % need a sort key because name contains a command +description=A scripting language} + +\storeglosentry{pagelist}{name=page list, +% description value has to be enclosed in braces +% because it contains commas +description={a list of individual pages or page ranges, +e.g.\ 1,2,4,7-9}} + \begin{document} \title{Sample Document Using glossary Package} @@ -4515,10 +5028,8 @@ _IGNORED_CMDS_ \chapter{Introduction} \pagenumbering{arabic} -A \xglossary{name=glossary,description=1) list of technical -words}{glossary} is a very useful addition to any -technical document, although a \xglossary{name=glossary, -description=2) collection of glosses}{glossary} can +A \gls{glossary1} is a very useful addition to any +technical document, although a \gls{glossary2} can also simply be a collection of glosses, which is another thing entirely. @@ -4530,101 +5041,102 @@ of an \texttt{.ind} file, and change the name of the log file so that it doesn't overwrite the index log file (if you have an index for your document). Rather than having to remember all the command line -switches, you can call the \xglossary{name=\texttt{Perl}, -sort=Perl,description=A scripting language}{Perl} script +switches, you can call the \gls{Perl} script \texttt{makeglos.pl} which provides a convenient wrapper. If you have two terms with different meanings in your -\xglossary{name=glossary,description=1) list of technical -words}{glossary}, -\texttt{makeindex} will of course treat them as two +\gls{glossary1}, \texttt{makeindex} will of course treat them as two separate entries, however, some people prefer to -merge them. This can be done using -\texttt{makeglos.pl}, and passing the option -\texttt{-m}. +merge them. This can be done using \texttt{makeglos.pl}, and +passing the option \texttt{-m}. If a comma appears within the name or description, grouping -must be used: \xglossary{name=page list,description={a list -of individual pages or page ranges, e.g.\ 1,2,4,7-9}}{page list} +must be used: \gls{pagelist}. \printglossary \end{document} +% \end{macrocode} % \begin{macrocode} %</sample.tex> % \end{macrocode} % \begin{macrocode} %<*sample4col.tex> % \end{macrocode} +% \begin{macrocode} \documentclass[a4paper]{article} % start out with 3 column format to make it easier to modify -\usepackage[style=long,cols=3]{glossary} +\usepackage[style=long,cols=3]{glossary}[2006/07/20] % make glossary have 4 columns all left aligned % (this assumes entries can fit onto a single line -% otherwise use p specifier instead of l) +% otherwise use p{} specifier instead of l) \renewcommand{\glossaryalignment}{llll} -% Header row -\renewcommand{\glossaryheader}{% + +% Define header row +\newcommand{\glossaryheader}{% \bfseries Name & \bfseries Description & \bfseries Unit & \bfseries Page} \makeglossary +\storeglosentry{w}{name={$w$},sort=w,description={width&m}} +\storeglosentry{M}{name={$M$},sort=M,description={mass&kg}} + \begin{document} \printglossary -The width\glossary{name={$w$},sort=w,description={width&m}}, $w$, is -measured in meters. The -mass\glossary{name={$M$},sort=M,description={mass&kg}}, $M$ is +The width, \gls{w}, is measured in meters. The mass, \gls{M} is measured in kilograms. \end{document} +% \end{macrocode} % \begin{macrocode} %</sample4col.tex> % \end{macrocode} % \begin{macrocode} %<*sampleAcr.tex> % \end{macrocode} +% \begin{macrocode} \documentclass[a4paper]{report} -\usepackage{xspace} \usepackage[colorlinks,plainpages=false]{hyperref} -\usepackage[style=altlist,hypertoc,number=none,acronym]{glossary} -%\usepackage[style=long,toc,number=none]{glossary} +\usepackage[style=altlist,hypertoc,acronym]{glossary} +% use \makeglossary if using package option +% acronym=false %\makeglossary +% use \makeacronym if using package option +% acronym=true \makeacronym -%\renewcommand{\acronymfont}[1]{\textmd{\scshape #1}} - -%\setacronymnamefmt{\gloshort: \expandafter\MakeUppercase\glolong} -%\setacronymnamefmt{\gloshort} -%\setacronymdescfmt{\expandafter\MakeUppercase\glolong: \glodesc} - -\newacronym{svm}{support vector machine}{description=Statistical pattern recognition technique~\cite{svm}} +\newacronym{svm}{support vector machine}{% +description=Statistical pattern recognition +technique~\cite{svm}} -\newacronym[ksvm]{k-svm}{kernel support vector machine}{description={Statistical pattern recognition technique using -the ``kernel trick'' (see also SVM)}} +\newacronym[ksvm]{k-svm}{kernel support vector machine}{% +description={Statistical pattern recognition technique +using the ``kernel trick'' (see also SVM)}} \begin{document} \tableofcontents \chapter{Support Vector Machines} -The \svm is used widely in the area of pattern recognition. +The \svm\ is used widely in the area of pattern recognition. \useacronym*[s]{svm} are \ldots -This is the long version: \svmlong or alternatively: +This is the long version: \svmlong\ or alternatively: \acrln*{svm}. -Abbreviation: \svmshort or \acrsh*{svm}. +Abbreviation: \svmshort\ or \acrsh*{svm}. \chapter{Kernel Support Vector Machines} -The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses the so called ``kernel trick''. +The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses +the so called ``kernel trick''. %\resetacronym{ksvm} \resetallacronyms @@ -4639,34 +5151,103 @@ The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses the so called ``ker \printacronym \end{document} +% \end{macrocode} % \begin{macrocode} %</sampleAcr.tex> % \end{macrocode} % \begin{macrocode} %<*sampleEq.tex> % \end{macrocode} +% \begin{macrocode} \documentclass[a4paper,12pt]{report} \usepackage{amsmath} -\usepackage[header,border=none,cols=3]{glossary} +\usepackage[colorlinks]{hyperref} +\usepackage[header,border=none,cols=3,number=equation]{glossary}[2006/07/20] \newcommand{\erf}{\operatorname{erf}} \newcommand{\erfc}{\operatorname{erfc}} -\renewcommand{\theglossarynum}{\theequation} -\renewcommand{\pagecompositor}{.} +\makeglossary -% The following will put a blank line between every entry +% Uncomment the following line to put a blank line between +% every entry: %\setglossary{delimT={\cr & \cr},gloskip={}} -\renewcommand{\glossaryname}{Index of Special Functions and Notations} +% Change the glossary title: -\renewcommand{\glossaryheader}{\bfseries Notation & -\multicolumn{2}{c}{\bfseries -\begin{tabular}{c}Name of the Function and\\the number of -the formula\end{tabular}}\\} +\renewcommand{\glossaryname}{Index of Special Functions +and Notations} -\makeglossary +% Change the glossary headings + +\renewcommand{\entryname}{Notation} + +\renewcommand{\descriptionname}{Function Name} + +\renewcommand{\glspageheader}{Number of Formula} + +% Add a blank row after the header row +\newcommand{\glossarysubheader}{ & & \\} + +% Store entries for later use + +\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, +description=Gamma function,sort=Gamma} + +\storeglosentry{gamma}{name={\ensuremath{\gamma(\alpha,x)}}, +description=Incomplete gamma function,sort=gamma} + +\storeglosentry{iGamma}{name={\ensuremath{\Gamma(\alpha,x)}}, +description=Incomplete gamma function,sort=Gamma} + +\storeglosentry{psi}{name=\ensuremath{\psi(x)}, +description=Psi function,sort=psi} + +\storeglosentry{erf}{name=\ensuremath{\erf(x)}, +description=Error function,sort=erf} + +\storeglosentry{erfc}{name=\ensuremath{\erfc}, +description=Complementary error function,sort=erfc} + +\storeglosentry{B}{name={\ensuremath{B(x,y)}}, +description=Beta function,sort=B} + +\storeglosentry{Bx}{name={\ensuremath{B_x(p,q)}}, +description=Incomplete beta function,sort=Bx} + +\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, +description=Chebyshev's polynomials of the first kind,sort=Tn} + +\storeglosentry{Un}{name=\ensuremath{U_n(x)}, +description=Chebyshev's polynomials of the second kind,sort=Un} + +\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, +description=Hermite polynomials,sort=Hn} + +\storeglosentry{Ln}{name=\ensuremath{L_n^\alpha(x)}, +description=Laguerre polynomials,sort=Lna} + +\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, +description=Bessel functions,sort=Z} + +\storeglosentry{Phi}{name={\ensuremath{\Phi(\alpha,\gamma;z)}}, +description=confluent hypergeometric function,sort=Pagz} + +\storeglosentry{knu}{name=\ensuremath{k_\nu(x)}, +description=Bateman's function,sort=kv} + +\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, +description=Parabolic cylinder functions,sort=Dp} + +\storeglosentry{F}{name={\ensuremath{F(\phi,k)}}, +description=Elliptical integral of the first kind,sort=Fpk} + +\storeglosentry{C}{name=\ensuremath{C}, +description=Euler's constant,sort=C} + +\storeglosentry{G}{name=\ensuremath{G}, +description=Catalan's constant,sort=G} \begin{document} \title{A Sample Document Using glossary.sty} @@ -4678,14 +5259,9 @@ This is a sample document illustrating the use of the \textsf{glossary} package. The functions here have been taken from ``Tables of Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik. The glossary is a list of special functions, so -the equation number has been used rather than the page number. This can be -done by defining \verb|\theglossarynum| to be \verb|\theequation|. -The equation numbers are a composite number made up of the chapter number -and number of equation within the chapter. The two parts of the page -number are separated by a fullstop. The default compositor is -a dash \verb|-|, so it needs to be set to a dot by redefining the command -\verb|\pagecompositor|. (This needs to be done \emph{before} the command -\verb|\makeglossary|.) +the equation number has been used rather than the page number. This +can be done using the \texttt{number=equation} package +option. \end{abstract} \printglossary @@ -4693,129 +5269,114 @@ a dash \verb|-|, so it needs to be set to a dot by redefining the command \chapter{Gamma Functions} \begin{equation} -\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt +\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} +\verb|\ensuremath| is only required here if using +hyperlinks. \begin{equation} -\Gamma(x+1) = x\Gamma(x) +\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) +%\useGlosentry{Gamma}{\Gamma(x+1)} = x\Gamma(x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\gamma(\alpha, x) = \int_0^x e^{-t}t^{\alpha-1}\,dt +\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\gamma(\alpha,x)$},description=Incomplete gamma function,sort=gamma} \begin{equation} -\Gamma(\alpha, x) = \int_x^\infty e^{-t}t^{\alpha-1}\,dt +\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\Gamma(\alpha,x)$},description=Incomplete gamma function,sort=Gamma} \newpage \begin{equation} -\Gamma(\alpha) = \Gamma(\alpha, x) + \gamma(\alpha, x) +\gls{Gamma} = \Gamma(\alpha, x) + \gamma(\alpha, x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\psi(x) = \frac{d}{dx}\ln\Gamma(x) +\gls{psi} = \frac{d}{dx}\ln\Gamma(x) \end{equation} -\glossary{name=$\psi(x)$,description=Psi function,sort=psi} \chapter{Error Functions} \begin{equation} -\erf(x) = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt +\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt \end{equation} -\glossary{name=$\erf(x)$,description=Error function,sort=erf} \begin{equation} -\erfc(x) = 1 - \erf(x) +\gls{erfc} = 1 - \erf(x) \end{equation} -\glossary{name=$\erfc(x)$,description=Complementary error function,sort=erfc} \chapter{Beta Function} \begin{equation} -B(x,y) = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt +\gls{B} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} Alternatively: \begin{equation} -B(x,y) = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi +\gls{B} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) +\gls{B} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B_x(p,q) = \int_0^x t^{p-1}(1-t)^{q-1}\,dt +\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt \end{equation} -\glossary{name={$B_x(p,q)$},description=Incomplete beta function,sort=Bx} \chapter{Polynomials} \section{Chebyshev's polynomials} \begin{equation} -T_n(x) = \cos(n\arccos x) +\gls{Tn} = \cos(n\arccos x) \end{equation} -\glossary{name=$T_n(x)$,description=Chebyshev's polynomials of the first kind,sort=Tn} \begin{equation} -U_n(x) = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} +\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} \end{equation} -\glossary{name=$U_n(x)$,description=Chebyshev's polynomials of the second kind,sort=Un} \section{Hermite polynomials} \begin{equation} -H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) +\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) \end{equation} -\glossary{name=$H_n(x)$,description=Hermite polynomials,sort=Hn} \section{Laguerre polynomials} \begin{equation} -L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} \frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) +L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} +\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) \end{equation} -\glossary{name=$L_n^\alpha(x)$,description=Laguerre polynomials,sort=Lna} \chapter{Bessel Functions} -Bessel functions $Z_\nu(z)$ are solutions of +Bessel functions $Z_\nu$ are solutions of \begin{equation} +\useglosentry{Znu} \frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} + -\left( -1-\frac{\nu^2}{z^2}Z_\nu = 0 -\right) +\left( 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right) \end{equation} -\glossary{name=$Z_\nu(z)$,description=Bessel functions,sort=Z} \chapter{Confluent hypergeometric function} \begin{equation} -\Phi(\alpha,\gamma;z) = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} +\gls{Phi} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} + \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\,\frac{z^3}{3!} -+ \cdots ++\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\, +\frac{z^3}{3!} + \cdots \end{equation} -\glossary{name={$\Phi(\alpha,\gamma;z)$},description=confluent hypergeometric function,sort=Pagz} \begin{equation} -k_\nu(x) = \frac{2}{\pi}\int_0^{\pi/2}\cos(x \tan\theta - \nu\theta)\,d\theta +\gls{knu} = \frac{2}{\pi}\int_0^{\pi/2} +\cos(x \tan\theta - \nu\theta)\,d\theta \end{equation} -\glossary{name=$k_\nu(x)$,description=Bateman's function,sort=kv} \chapter{Parabolic cylinder functions} \begin{equation} -D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} +\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \left\{ \frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} \Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) @@ -4823,57 +5384,121 @@ D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) \right\} \end{equation} -\glossary{name=$D_p(z)$,description=Parabolic cylinder functions,sort=Dp} \chapter{Elliptical Integral of the First Kind} \begin{equation} -F(\phi, k) = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} +\gls{F} = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} \end{equation} -\glossary{name={$F(\phi,k)$},description=Elliptical integral of the first kind,sort=Fpk} \chapter{Constants} \begin{equation} -C = 0.577\,215\,664\,901\ldots +\gls{C} = 0.577\,215\,664\,901\ldots \end{equation} -\glossary{name=$C$,description=Euler's constant,sort=C} \begin{equation} -G = 0.915\,965\,594\ldots +\gls{G} = 0.915\,965\,594\ldots \end{equation} -\glossary{name=$G$,description=Catalan's constant,sort=G} \end{document} +% \end{macrocode} % \begin{macrocode} %</sampleEq.tex> % \end{macrocode} % \begin{macrocode} %<*sampleEqPg.tex> % \end{macrocode} +% \begin{macrocode} \documentclass[a4paper,12pt]{report} \usepackage{amsmath} -\usepackage[header,toc,border=none,cols=3]{glossary} - +\usepackage[colorlinks]{hyperref} +\usepackage[header,toc,border=none,cols=3, + number=equation]{glossary}[2006/07/20] \newcommand{\erf}{\operatorname{erf}} \newcommand{\erfc}{\operatorname{erfc}} -\renewcommand{\theglossarynum}{\theequation} -\renewcommand{\pagecompositor}{.} - \renewcommand{\glossaryname}{Index of Special Functions and Notations} \renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number, numbers in bold indicate page numbers where the main definition occurs.\par} -\setglossary{glsnumformat=textit} +% set the default glossary numbers to italic +% hyperit is used instead of textit because +% the hyperref package is being used. +\setglossary{glsnumformat=hyperit} + +% 1st column heading +\renewcommand{\entryname}{Notation} + +% 2nd column heading +\renewcommand{\descriptionname}{Function Name} + +% Add a blank row after the header +\newcommand{\glossarysubheader}{ & & \\} + +% store glossary entries for later use + +\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, +description=Gamma function,sort=Gamma} + +\storeglosentry{gamma}{name=\ensuremath{\gamma(\alpha,x)}, +description=Incomplete gamma function,sort=gamma} + +\storeglosentry{iGamma}{name=\ensuremath{\Gamma(\alpha,x)}, +description=Incomplete gamma function,sort=Gamma} + +\storeglosentry{psi}{name=\ensuremath{\psi(x)}, +description=Psi function,sort=psi} + +\storeglosentry{erf}{name=\ensuremath{\erf(x)}, +description=Error function,sort=erf} + +\storeglosentry{erfc}{name=\ensuremath{\erfc(x)}, +description=Complementary error function,sort=erfc} + +\storeglosentry{beta}{name=\ensuremath{B(x,y)}, +description=Beta function,sort=B} + +\storeglosentry{Bx}{name=\ensuremath{B_x(p,q)}, +description=Incomplete beta function,sort=Bx} + +\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, +description=Chebyshev's polynomials of the first kind, +sort=Tn} + +\storeglosentry{Un}{name=\ensuremath{U_n(x)}, +description=Chebyshev's polynomials of the second kind, +sort=Un} + +\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, +description=Hermite polynomials,sort=Hn} -\renewcommand{\glossaryheader}{\bfseries Notation & -\multicolumn{2}{c}{\bfseries -\begin{tabular}{c}Name of the Function and\\the number of -the formula\end{tabular}}\\} +\storeglosentry{Lna}{name=\ensuremath{L_n^\alpha(x)}, +description=Laguerre polynomials,sort=Lna} + +\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, +description=Bessel functions,sort=Z} + +\storeglosentry{Pagz}{name=\ensuremath{\Phi(\alpha,\gamma;z)}, +description=confluent hypergeometric function,sort=Pagz} + +\storeglosentry{kv}{name=\ensuremath{k_\nu(x)}, +description=Bateman's function,sort=kv} + +\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, +description=Parabolic cylinder functions,sort=Dp} + +\storeglosentry{Fpk}{name=\ensuremath{F(\phi,k)}, +description=Elliptical integral of the first kind,sort=Fpk} + +\storeglosentry{C}{name=\ensuremath{C}, +description=Euler's constant,sort=C} + +\storeglosentry{G}{name=\ensuremath{G}, +description=Catalan's constant,sort=G} \renewcommand{\shortglossaryname}{Special Functions} @@ -4892,13 +5517,18 @@ This is a sample document illustrating the use of the \textsf{glossary} package. The functions here have been taken from ``Tables of Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik. -The glossary lists both page number and equation numbers. Since the -equation numbers depend on chapter numbers, the page compositor needs -to be redefined. (Note that this example will only work where the -page number and equation number compositor is the same. So it won't work -if, say, the page numbers are of the form 2-4 and the equation numbers -are of the form 4.6) As most of the glossary entries should have an italic -format, it is easiest to set the default format to italic. +The glossary lists both page numbers and equation numbers. +Since the majority of the entries use the equation number, +\texttt{number=equation} was used as a package option. +The entries that should refer to the page number instead +use the \texttt{number=equation} glossary key. +Note that this example will only work where the +page number and equation number compositor is the same. So +it won't work if, say, the page numbers are of the form +2-4 and the equation numbers are of the form 4.6. +As most of the glossary entries should have an italic +format, it is easiest to set the default format to +italic. \end{abstract} @@ -4906,123 +5536,88 @@ format, it is easiest to set the default format to italic. \printglossary -%It's a bit cumbersome having to keep redefining \theglossarynum. It -%would probably be easier to define a new command which sets \theglossarynum -%and then calls \glossary -%For example: -\newcommand{\myglossary}[2]{% -\renewcommand{\theglossarynum}{#1}\glossary{#2}} -%You can then do something like, say -%\myglossary{\thepage}{name=$\Gamma(z)$,description=Gamma function,sort=Gamma,format=textbf} - -%or, alternatively, you could define -\newcommand{\glossarypage}[1]{% -\renewcommand{\theglossarynum}{\thepage}\glossary{#1,format=textbf}} -%and -\newcommand{\glossaryequation}[1]{% -\renewcommand{\theglossarynum}{\theequation}\glossary{#1}} - \chapter{Gamma Functions} -The gamma function is defined as -\renewcommand{\theglossarynum}{\thepage} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma,format=textbf} -\renewcommand{\theglossarynum}{\theequation} +The \useGlosentry[number=page,format=hyperbf]{Gamma}{gamma function} is +defined as \begin{equation} -\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt +\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\Gamma(x+1) = x\Gamma(x) +\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\gamma(\alpha, x) = \int_0^x e^{-t}t^{\alpha-1}\,dt +\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\gamma(\alpha,x)$},description=Incomplete gamma function,sort=gamma} \begin{equation} -\Gamma(\alpha, x) = \int_x^\infty e^{-t}t^{\alpha-1}\,dt +\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt \end{equation} -\glossary{name={$\Gamma(\alpha,x)$},description=Incomplete gamma function,sort=Gamma} \newpage \begin{equation} -\Gamma(\alpha) = \Gamma(\alpha, x) + \gamma(\alpha, x) +\useGlosentry{Gamma}{\ensuremath{\Gamma(\alpha)}} = \Gamma(\alpha, x) + \gamma(\alpha, x) \end{equation} -\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma} \begin{equation} -\psi(x) = \frac{d}{dx}\ln\Gamma(x) +\gls{psi} = \frac{d}{dx}\ln\Gamma(x) \end{equation} -\glossary{name=$\psi(x)$,description=Psi function,sort=psi} \chapter{Error Functions} -The error function is defined as: -\renewcommand{\theglossarynum}{\thepage} -\glossary{name=$\erf(x)$,description=Error function,sort=erf,format=textbf} -\renewcommand{\theglossarynum}{\theequation} +The \useGlosentry[number=page,format=hyperbf]{erf}{error +function} is defined as: \begin{equation} -\erf(x) = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt +\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt \end{equation} -\glossary{name=$\erf(x)$,description=Error function,sort=erf} \begin{equation} -\erfc(x) = 1 - \erf(x) +\gls{erfc} = 1 - \erf(x) \end{equation} -\glossary{name=$\erfc(x)$,description=Complementary error function,sort=erfc} \chapter{Beta Function} \begin{equation} -B(x,y) = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt +\gls{beta} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} Alternatively: \begin{equation} -B(x,y) = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi +\gls{beta} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) +\gls{beta} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) \end{equation} -\glossary{name={$B(x,y)$},description=Beta function,sort=B} \begin{equation} -B_x(p,q) = \int_0^x t^{p-1}(1-t)^{q-1}\,dt +\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt \end{equation} -\glossary{name={$B_x(p,q)$},description=Incomplete beta function,sort=Bx} \chapter{Chebyshev's polynomials} \begin{equation} -T_n(x) = \cos(n\arccos x) +\gls{Tn} = \cos(n\arccos x) \end{equation} -\glossary{name=$T_n(x)$,description=Chebyshev's polynomials of the first kind,sort=Tn} \begin{equation} -U_n(x) = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} +\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} \end{equation} -\glossary{name=$U_n(x)$,description=Chebyshev's polynomials of the second kind,sort=Un} \chapter{Hermite polynomials} \begin{equation} -H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) +\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) \end{equation} -\glossary{name=$H_n(x)$,description=Hermite polynomials,sort=Hn} \chapter{Laguerre polynomials} \begin{equation} -L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} \frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) +\gls{Lna} = \frac{1}{n!}e^x x^{-\alpha} +\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) \end{equation} -\glossary{name=$L_n^\alpha(x)$,description=Laguerre polynomials,sort=Lna} \chapter{Bessel Functions} @@ -5033,27 +5628,28 @@ Bessel functions $Z_\nu(z)$ are solutions of 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right) \end{equation} -\glossary{name=$Z_\nu(z)$,description=Bessel functions,sort=Z} +\useglosentry{Znu} \chapter{Confluent hypergeometric function} \begin{equation} -\Phi(\alpha,\gamma;z) = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} +\gls{Pagz} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} + \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\,\frac{z^3}{3!} ++\frac{\alpha(\alpha+1)(\alpha+2)} + {\gamma(\gamma+1)(\gamma+2)} +\,\frac{z^3}{3!} + \cdots \end{equation} -\glossary{name={$\Phi(\alpha,\gamma;z)$},description=confluent hypergeometric function,sort=Pagz} \begin{equation} -k_\nu(x) = \frac{2}{\pi}\int_0^{\pi/2}\cos(x \tan\theta - \nu\theta)\,d\theta +\gls{kv} = \frac{2}{\pi}\int_0^{\pi/2} +\cos(x \tan\theta - \nu\theta)\,d\theta \end{equation} -\glossary{name=$k_\nu(x)$,description=Bateman's function,sort=kv} \chapter{Parabolic cylinder functions} \begin{equation} -D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} +\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \left\{ \frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} \Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) @@ -5061,34 +5657,33 @@ D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} \Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) \right\} \end{equation} -\glossary{name=$D_p(z)$,description=Parabolic cylinder functions,sort=Dp} \chapter{Elliptical Integral of the First Kind} \begin{equation} -F(\phi, k) = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} +\gls{Fpk} = \int_0^\phi +\frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} \end{equation} -\glossary{name={$F(\phi,k)$},description=Elliptical integral of the first kind,sort=Fpk} \chapter{Constants} \begin{equation} -C = 0.577\,215\,664\,901\ldots +\gls{C} = 0.577\,215\,664\,901\ldots \end{equation} -\glossary{name=$C$,description=Euler's constant,sort=C} \begin{equation} -G = 0.915\,965\,594\ldots +\gls{G} = 0.915\,965\,594\ldots \end{equation} -\glossary{name=$G$,description=Catalan's constant,sort=G} \end{document} +% \end{macrocode} % \begin{macrocode} %</sampleEqPg.tex> % \end{macrocode} % \begin{macrocode} %<*sampleNtn.tex> % \end{macrocode} +% \begin{macrocode} \documentclass{report} \usepackage[plainpages=false,colorlinks]{hyperref} @@ -5098,13 +5693,15 @@ G = 0.915\,965\,594\ldots \makeglossary +% Define a new glossary type called notation \newglossarytype{notation}{not}{ntn}[style=long,cols=2,border,header] % Set up notation style \newcommand{\notationname}{Notation} % Don't display numbers, remove commas and number hyphens -% for notation entries -%\setglossary{type=notation,glsnumformat=ignore,glodelim={.}} +% for notation entries, and put a full stop after the +% deescription: +\setglossary{type=notation,glsnumformat=ignore,glodelim={.}} \makenotation @@ -5116,7 +5713,8 @@ G = 0.915\,965\,594\ldots \maketitle \begin{abstract} -\pagenumbering{Alph}%stop hyperref complaining about duplicate page identifiers +%stop hyperref complaining about duplicate page identifiers +\pagenumbering{Alph} This is a sample document illustrating the use of the \textsf{glossary} package. In this example, a new glossary type called \texttt{notation} is defined, so that the document can have a @@ -5145,56 +5743,65 @@ are denoted by a caligraphic font e.g.\ $\mathcal{S}$% \notation{name=$\mathcal{S}$,description=A set,sort=S}. -Let $\mathcal{U}$ denote the universal set\notation{name=$\mathcal{U}$,description={The universal set},sort=U}. +Let $\mathcal{U}$ denote the universal set\notation{ +name=$\mathcal{U}$,description={The universal set},sort=U}. -The cardinality\glossary{name=cardinality,description=The number of elements in the specified set} of a set $\mathcal{S}$ is denoted -$|\mathcal{S}|$% -\notation{name=$\mid\mathcal{S}\mid$,description=cardinality of $\mathcal{S}$,sort=cardinality} +The cardinality\glossary{name=cardinality, +description=The number of elements in the specified set} of +a set $\mathcal{S}$ is denoted $|\mathcal{S}|$% +\notation{name=$\mid\mathcal{S}\mid$, +description=cardinality of $\mathcal{S}$,sort=cardinality} \chapter{Next} Now for a hyperlink: -\xnotation{name=$\mathcal{U}$,description={The universal -set},sort=U}{$\mathcal{U}$}. +\xnotation{name=$\mathcal{U}$, description={The universal +set}, sort=U}{$\mathcal{U}$}. \end{document} +% \end{macrocode} % \begin{macrocode} %</sampleNtn.tex> % \end{macrocode} % \begin{macrocode} %<*sampleNtn2.tex> % \end{macrocode} +% \begin{macrocode} \documentclass{report} \usepackage[plainpages=false,colorlinks]{hyperref} \usepackage{html} -\usepackage[toc]{glossary} +\usepackage[toc]{glossary}[2006/07/20] \makeglossary -\newglossarytype{notation}{not}{ntn} +% Define a new glossary type called notation +% Suppress the page numbering in the list of notation +\newglossarytype[nlg]{notation}{not}{ntn}[number=none] % Set up notation style \newcommand{\notationname}{Notation} -% Don't display numbers, remove commas and number hyphens -% for notation entries -\setglossary{type=notation,glsnumformat=ignore,% -glodelim={.}} \makenotation \begin{document} % Save details for later use (note the use of \protect): -\storeglosentry[notation]{not:set}{name={$\protect\mathcal{S}$},description=A set,sort=S} +\storeglosentry[notation]{not:set}{name={$\mathcal{S}$}, +description=A set,sort=S} -\storeglosentry[notation]{not:U}{name=$\protect\mathcal{U}$,description={The universal set},sort=U} +\storeglosentry[notation]{not:U}{name=$\mathcal{U}$, +description={The universal set},sort=U} -\storeglosentry[notation]{not:card}{name=$\mid\protect\mathcal{S}\mid$,description=cardinality of $\protect\mathcal{S}$,sort=cardinality} +\storeglosentry[notation]{not:card}{name=$\mid\mathcal{S}\mid$, +description=cardinality of $\mathcal{S}$, +sort=cardinality} -\storeglosentry{glos:set}{name=set,description=A collection of distinct objects} +\storeglosentry{glos:set}{name=set,description=A collection of +distinct objects} -\storeglosentry{glos:card}{name=cardinality,description=The number of elements in the specified set} +\storeglosentry{glos:card}{name=cardinality,description=The number of +elements in the specified set} \title{Sample Document using glossary Package} \author{Nicola Talbot} @@ -5202,7 +5809,8 @@ glodelim={.}} \maketitle \begin{abstract} -\pagenumbering{Alph}%stop hyperref complaining about duplicate page identifiers +%stop hyperref complaining about duplicate page identifiers: +\pagenumbering{Alph} This is a sample document illustrating the use of the \textsf{glossary} package. In this example, a new glossary type called \texttt{notation} is defined, so that the document can have a @@ -5235,13 +5843,19 @@ Let \gls{not:U} denote the universal set. The \gls{glos:card} of a set $\mathcal{S}$ is denoted \gls{not:card}. +\chapter{Another Chapter} + +Another mention of the universal set \gls{not:U}. + \end{document} +% \end{macrocode} % \begin{macrocode} %</sampleNtn2.tex> % \end{macrocode} % \begin{macrocode} %<*sampleSec.tex> % \end{macrocode} +% \begin{macrocode} \documentclass{report} \usepackage[plainpages=false,colorlinks]{hyperref} @@ -5249,11 +5863,16 @@ The \gls{glos:card} of a set $\mathcal{S}$ is denoted \makeglossary -% This just saves a bit of typing - -\storeglosentry{glos:I}{name=identity matrix,description=diagonal +\storeglosentry{ident}{name=identity matrix,description=diagonal matrix with 1s along the leading diagonal} +\storeglosentry{diag}{name=diagonal matrix, +description=matrix whose only non-zero entries are along +the leading diagonal} + +\storeglosentry{sing}{name=singular matrix, +description=matrix with zero determinant} + \begin{document} \pagenumbering{roman} @@ -5268,31 +5887,29 @@ This is a sample document illustrating the use of the \chapter{Diagonal matrices} -A diagonal matrix\glossary{name=diagonal matrix, -description=matrix whose only non-zero entries are along the leading diagonal,format=hyperit} -is a matrix where all elements not on the leading diagonal are zero. This is the +A \gls[format=hyperit]{diag} is a matrix where all elements not on the +leading diagonal are zero. This is the primary definition, so an italic font is used for the page number. \newpage \section{Identity matrix} -The identity matrix\glossary{name=identity matrix, -description=diagonal matrix with 1s along the leading diagonal} -\ldots +The \gls[format=hyperit]{ident} is a \gls{diag} whose leading +diagonal elements are all equal to 1. -Here is another entry for a diagonal matrix\glossary{name=diagonal matrix, -description=matrix whose only non-zero entries are along the leading diagonal} +Here is another entry for a \gls{diag}. \chapter{Singular Matrices} -A singular matrix\glossary{name=singular matrix, -description=matrix with zero determinant} -\ldots +A \gls{sing} is a matrix with zero determinant. +\useGlosentry{sing}{Singular matrices} are non-invertible. -Another \useGlosentry{glos:I}{identity matrix} entry. +Another \gls{ident} entry. \end{document} +% \end{macrocode} % \begin{macrocode} %</sampleSec.tex> % \end{macrocode} +%\fi %\Finale \endinput diff --git a/Master/texmf-dist/source/latex/glossary/glossary.ins b/Master/texmf-dist/source/latex/glossary/glossary.ins index 1091023f1c1..6359e0d0d00 100644 --- a/Master/texmf-dist/source/latex/glossary/glossary.ins +++ b/Master/texmf-dist/source/latex/glossary/glossary.ins @@ -1,4 +1,4 @@ -% glossary.ins generated using /nlctltpc/home/nlct/bin/makedtx version 0.9b 2006/7/9 16:01 +% glossary.ins generated using makedtx version 0.91b 2006/7/25 18:13 \input docstrip \preamble diff --git a/Master/texmf-dist/tex/latex/glossary/glossary.sty b/Master/texmf-dist/tex/latex/glossary/glossary.sty index 828fab35f26..2f6c12aaf52 100644 --- a/Master/texmf-dist/tex/latex/glossary/glossary.sty +++ b/Master/texmf-dist/tex/latex/glossary/glossary.sty @@ -27,82 +27,82 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary}[2006/07/09 2.38 (NLCT)] +\ProvidesPackage{glossary}[2006/07/20 2.4 (NLCT)] \RequirePackage{ifthen} \RequirePackage{keyval} \define@key{gloss} - {style} - {\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} \or \equal{#1}{super} \or \equal{#1}{long}} - {\def\gls@style{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: list, altlist, super and long}}} - +{style} +{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} +\or \equal{#1}{super} \or \equal{#1}{long}} +{\def\gls@style{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: list, altlist, super and long}}} \define@key{gloss} - {header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@header{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: none and plain}}} - +{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@header{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: none and plain}}} \define@key{gloss} - {border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@border{#1}} - {\PackageError{glossary} - {Unknown glossary border '#1'} - {Available styles are: none and plain}}} +{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@border{#1}} +{\PackageError{glossary} +{Unknown glossary border '#1'} +{Available styles are: none and plain}}} \newcount\gls@cols \define@key{gloss}{cols}{\gls@cols=#1\relax \ifthenelse{\gls@cols<2 \or \gls@cols>3} - {\PackageError{glossary} - {invalid number of columns} - {The cols option can only be 2 or 3}} - {}} - +{\PackageError{glossary} +{invalid number of columns} +{The cols option can only be 2 or 3}} +{}} \define@key{gloss} - {number} - {\ifthenelse{\equal{#1}{none}\or\equal{#1}{page}\or\equal{#1}{section}} - {\def\gls@number{#1}} - {\PackageError{glossary} - {Unknown glossary number style '#1'} - {Available styles are: none, page and section}}} - +{number} +{\ifthenelse{\equal{#1}{none}} +{\def\gls@glossary@number{#1}} +{\@ifundefined{c@#1}{ +\PackageError{glossary} +{Unknown glossary number style '#1'} +{You may either specify "none" or the name of a counter, +e.g. "section"}\def\gls@glossary@number{page}}{\def\gls@glossary@number{#1}}}} \newif\ifgls@toc -\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname gls@toc#1\endcsname} - {\PackageError{glossary}{Glossary option 'toc' is boolean} - {The value of 'toc' can only be set to 'true' or 'false'}}} - +\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true} +\or \equal{#1}{false}} +{\csname gls@toc#1\endcsname} +{\PackageError{glossary}{Glossary option 'toc' is boolean} +{The value of 'toc' can only be set to 'true' or 'false'}}} \newif\ifgls@hypertoc - \define@key{gloss}{hypertoc}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname gls@hypertoc#1\endcsname} - {\PackageError{glossary}{Glossary option 'hypertoc' is boolean} - {The value of 'hypertoc' can only be set to 'true' or 'false'}}} - +\define@key{gloss}{hypertoc}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname gls@hypertoc#1\endcsname} +{\PackageError{glossary}{Glossary option 'hypertoc' is boolean} +{The value of 'hypertoc' can only be set to 'true' or 'false'}}} \newif\ifgls@section -\define@key{gloss}{section}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname gls@section#1\endcsname} - {\PackageError{glossary}{Glossary option 'section' is boolean} - {The value of 'section' can only be set to 'true' or 'false'}}} +\define@key{gloss}{section}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname gls@section#1\endcsname} +{\PackageError{glossary}{Glossary option 'section' is boolean} +{The value of 'section' can only be set to 'true' or 'false'}}} \gls@sectionfalse - \newif\ifglshyper \newif\ifglshyperacronym -\define@key{gloss}{hyper}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname glshyper#1\endcsname\glshyperacronymtrue} - {\PackageError{glossary}{Glossary option 'hyper' is boolean} - {The value of 'hyper' can only be set to 'true' or 'false'}}} - -\define@key{gloss}{hyperacronym}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} - {\csname glshyperacronym#1\endcsname} - {\PackageError{glossary}{Glossary option 'hyperacronym' is boolean} - {The value of 'hyperacronym' can only be set to 'true' or 'false'}}} - +\define@key{gloss}{hyper}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname glshyper#1\endcsname\glshyperacronymtrue} +{\PackageError{glossary}{Glossary option 'hyper' is boolean} +{The value of 'hyper' can only be set to 'true' or 'false'}}} +\define@key{gloss}{hyperacronym}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\csname glshyperacronym#1\endcsname} +{\PackageError{glossary}{Glossary option 'hyperacronym' is boolean} +{The value of 'hyperacronym' can only be set to 'true' or 'false'}}} \newif\ifglsacronym -\define@key{gloss}{acronym}[true]{\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}}{\setboolean{glsacronym}{#1}}{% +\define@key{gloss}{acronym}[true]{% +\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} +{\setboolean{glsacronym}{#1}}{% \PackageError{glossary}{Glossary option 'acronym' is boolean}{The value of 'acronym' can only be set to 'true' or 'false'}}} - \newif\ifglsglobal \define@key{gloss}{global}[true]{\ifthenelse{\equal{#1}{true}\or \equal{#1}{false}}{\setboolean{glsglobal}{#1}}{% @@ -111,11 +111,11 @@ value of 'global' can only be set to 'true' or 'false'}}} \def\gls@style{long} \def\gls@header{none} \def\gls@border{none} -\def\gls@number{page} +\def\gls@glossary@number{page} \gls@cols=2\relax \gls@tocfalse -\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{\glshypertrue\glshyperacronymtrue} - +\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{% +\glshypertrue\glshyperacronymtrue} \@ifundefined{hypertarget}{ \newcommand{\glosslabel}[2]{#2}% \newcommand{\glossref}[2]{#2}% @@ -134,9 +134,9 @@ value of 'global' can only be set to 'true' or 'false'}}} \renewcommand{\glossarypackageoptions}[1]{% \PackageError{glossary}{Command \string\glossarypackageoptions ^^Jcan only be used in configuration file}{}} -\DeclareOption*{\edef\@pkg@ptions{\noexpand\setkeys{gloss}{\CurrentOption}} +\DeclareOption*{\edef\@pkg@ptions{\noexpand +\setkeys{gloss}{\CurrentOption}} \ifthenelse{\equal{\CurrentOption}{}}{}{\@pkg@ptions}} - \ProcessOptions \ifthenelse{\(\equal{\gls@style}{list} \or \equal{\gls@style}{altlist}\) \and @@ -144,44 +144,77 @@ value of 'global' can only be set to 'true' or 'false'}}} \or \gls@cols=3\)} {\PackageError{glossary}{You can't have option 'style=list' or 'style=altlist' in combination with any of the other style -options} -{The 'list' and 'altlist' options don't have a header, border or number of columns option.}} +options}{The 'list' and 'altlist' options don't have a header, +border or number of columns option.}} {} \ifthenelse{\boolean{gls@hypertoc} \and \boolean{gls@toc}}{% \PackageWarning{glossary}{Can't have both 'toc' and 'hypertoc', ignoring 'toc' option} \ifgls@hypertoc\gls@tocfalse\fi}{} -\define@key{wrgloss}{name}{\gdef\@glo@n@me{#1}} -\define@key{wrgloss}{description}{\def\@descr{#1}} -\define@key{wrgloss}{sort}{\gdef\@s@rt{#1}} +\define@key{wrgloss}{name}{% +\def\@glo@n@me{#1}% +\@onelevel@sanitize\@glo@n@me% +\global\let\@glo@n@me\@glo@n@me} +\define@key{wrgloss}{description}{% +\def\@descr{#1}% +\@onelevel@sanitize\@descr} +\define@key{wrgloss}{sort}{% +\def\@s@rt{#1}% +\@onelevel@sanitize\@s@rt +\global\let\@s@rt\@s@rt} \define@key{wrgloss}{format}{\def\@f@rm@t{#1}} +\define@key{wrgloss}{number}{\def\@glo@num{#1}} \newcommand{\@@wrglossary}{} \newcommand{\@glo@l@bel}{} - -\renewcommand{\@wrglossary}[1]{\relax -\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}\relax - \setkeys{wrgloss}{#1}\relax +\newcommand{\@gls@glossary@type}{glo} +\renewcommand{\@wrglossary}[2][glossary]{\relax +\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}% +\edef\@glo@num{\csname gls@#1@number\endcsname}\relax +\xdef\@pr@fix{\csname @gls@#1@type\endcsname}% + \setkeys{wrgloss}{#2}\relax +\ifthenelse{\equal{\@glo@num}{none}}{\def\@@glo@num{\thepage}}{% +\@ifundefined{c@\@glo@num}{\PackageError{glossary}{% +Not such counter '\@glo@num'}{The value of the 'number' key +must be the name of a counter or the word "none"}% +\def\@@glo@num{\thepage}}{% +\edef\@@glo@num{\csname the\@glo@num\endcsname}}}% \ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}% -\ifthenelse{\equal{\@glo@l@bel}{}}{\gdef\@glo@l@bel{GGG:\@s@rt}}{}% +\ifthenelse{\equal{\@glo@l@bel}{}}{% +\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}% \ifthenelse{\equal{\@f@rm@t}{}} - {\protected@write\@glossaryfile{}% +{\expandafter\protected@write\csname @#1file\endcsname{}% +{\string\glossaryentry{\@s@rt @{% +\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr +\string\relax|glsnumformat}{\@@glo@num}}} +{\ifthenelse{\equal{\@f@rm@t}{hyperrm} \or +\equal{\@f@rm@t}{hypersf} \or \equal{\@f@rm@t}{hypertt} +\or \equal{\@f@rm@t}{hypermd} \or \equal{\@f@rm@t}{hyperbf} +\or \equal{\@f@rm@t}{hyperit} \or \equal{\@f@rm@t}{hyperem} +\or \equal{\@f@rm@t}{hypersl} \or \equal{\@f@rm@t}{hyperup} +\or \equal{\@f@rm@t}{hypersc}} +{\expandafter\protected@write\csname @#1file\endcsname{}% {\string\glossaryentry{\@s@rt @{% \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|glsnumformat}{\theglossarynum}}} - {\protected@write\@glossaryfile{}% + \string\relax|\@f@rm@t[\@glo@num]}{\@@glo@num}}} +{\expandafter\protected@write\csname @#1file\endcsname{}% {\string\glossaryentry{\@s@rt @{% \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|\@f@rm@t}{\theglossarynum}}}\relax + \string\relax|\@f@rm@t}{\@@glo@num}}}}\relax \endgroup\@esphack \@@wrglossary } -\newcommand{\@gls@getn@me}[1]{\@bsphack\begingroup\@sanitize -\gdef\@glo@n@me{}\setkeys{wrgloss}{#1}\relax -\endgroup\@esphack} +\define@key{wrnsgloss}{name}{\def\@glo@n@me{#1}} +\define@key{wrnsgloss}{description}{\def\@descr{#1}} +\define@key{wrnsgloss}{sort}{\def\@s@rt{#1}} +\define@key{wrnsgloss}{format}{\def\@f@rm@t{#1}} +\define@key{wrnsgloss}{number}{\def\@glo@num{#1}} +\newcommand{\@gls@getn@me}[1]{% +\def\@glo@n@me{}\setkeys{wrnsgloss}{#1}% +} \newcommand{\@gls@getdescr}[1]{% -\@bsphack\begingroup\@sanitize -\protected@edef\@gls@dos@tk@y{\noexpand\setkeys{wrgloss}{#1}}% -\def\@descr{}\@gls@dos@tk@y\relax +\@bsphack\begingroup +\def\@descr{}% +\setkeys{wrgloss}{#1}% \global\let\@glo@desc\@descr \endgroup\@esphack } @@ -215,10 +248,14 @@ defined}{There already exists a glossary entry with the label '#2'}}}% to define the entry using \string\storeglosentry\space before using it.}}{{% \edef\@glostype{\csname glo@#2@type\endcsname}% +\@glo@tb=\expandafter\expandafter\expandafter +{\csname glo@#2@entry\endcsname}% \ifx#1\relax -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype\endcsname{\csname glo@#2@entry\endcsname}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb}}% \else -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype{\csname glo@#2@entry\endcsname,#1}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb,#1}}% \fi \@glo@cmd }}}} @@ -228,49 +265,50 @@ using it.}}{{% to define the entry using \string\storeglosentry\space before using it.}}{{% \edef\@glostype{x\csname glo@#2@type\endcsname}% +\@glo@tb=\expandafter\expandafter\expandafter +{\csname glo@#2@entry\endcsname}% \ifx#1\relax -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype\endcsname{\csname glo@#2@entry\endcsname}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb}}% \else -\protected@edef\@glo@cmd{\expandafter\noexpand\csname \@glostype\endcsname{\csname glo@#2@entry\endcsname,#1}}% +\edef\@glo@cmd{\expandafter\noexpand +\csname\@glostype\endcsname{\the\@glo@tb,#1}}% \fi \@glo@cmd{#3}% }}} -\newcommand{\gls}[2][\relax]{\useGlosentry[#1]{#2}{\csname glo@#2@name\endcsname}} +\newcommand{\gls}[2][\relax]{% +\useGlosentry[#1]{#2}{% +\csname glo@#2@name\endcsname}} \providecommand{\saveglosentry}[3][glossary]{% +\PackageWarning{glossary}{\string\saveglosentry\space is obsolete, +please use \string\storeglosentry\space instead}% \expandafter\def\csname glo@#2@type\endcsname{#1}% -\expandafter\def\csname glo@#2@entry\endcsname{name={#2},description={#3}} +\expandafter\def\csname glo@#2@entry\endcsname{% +name={#2},description={#3}}} +\newcommand*{\@gls@setnumbering}[2][glossary]{% +\ifthenelse{\equal{#2}{none}}{% +\def\pagecompositor{-} +\expandafter\def\csname @#1@delimN\endcsname{} +\expandafter\def\csname @#1@delimR\endcsname{} +\expandafter\def\csname glsX#1Xnumformat\endcsname##1{}}{% +\ifthenelse{\equal{#2}{page}}{% +\def\pagecompositor{-}}{% +\def\pagecompositor{.}} +\expandafter\def\csname @#1@delimN\endcsname{, } +\expandafter\def\csname @#1@delimR\endcsname{--} +\ifglshyper +\expandafter\def\csname glsX#1Xnumformat\endcsname##1{% +\hyperrm[#2]{##1}}% +\else +\expandafter\def\csname glsX#1Xnumformat\endcsname##1{##1}\fi } - -\ifthenelse{\equal{\gls@number}{page}}{ - \newcommand{\theglossarynum}{\thepage} - \newcommand{\pagecompositor}{-} - \newcommand{\@glossary@delimN}{, } - \newcommand{\@glossary@delimR}{--} - \ifglshyper - \newcommand{\glsXglossaryXnumformat}[1]{\hyperrm{#1}}% - \else - \newcommand{\glsXglossaryXnumformat}[1]{#1}\fi} - {\ifthenelse{\equal{\gls@number}{section}} - {\newcommand{\theglossarynum}{\thesection} - \newcommand{\pagecompositor}{.} - \newcommand{\@glossary@delimN}{, } - \newcommand{\@glossary@delimR}{--} - \ifglshyper - \newcommand{\glsXglossaryXnumformat}[1]{\hyperrm{#1}}% - \else - \newcommand{\glsXglossaryXnumformat}[1]{#1}% - \fi} - {\newcommand{\theglossarynum}{\thepage} - \newcommand{\pagecompositor}{-} - \newcommand{\@glossary@delimN}{} - \newcommand{\@glossary@delimR}{} - \newcommand{\glsXglossaryXnumformat}[1]{}}} - -\newcommand{\glsnumformat}[2][glossary]{% -\@ifundefined{glsX#1Xnumformat}{% -\PackageError{glossary}{Glossary type '#1' undefined}{}}{% -\csname glsX#1Xnumformat\endcsname{#2}}} - +} +\@gls@setnumbering{\gls@glossary@number} +\newcommand{\glsnumformat}[1]{% +\@ifundefined{\@glostype}{\def\@glostype{glossary}}{}% +\@ifundefined{glsX\@glostype Xnumformat}{% +\PackageError{glossary}{Glossary type '\@glostype' undefined}{}}{% +\csname glsX\@glostype Xnumformat\endcsname{#1}}} \def\@glostype{glossary} \newcommand{\delimN}{\csname @\@glostype @delimN\endcsname} \newcommand{\delimR}{\csname @\@glostype @delimR\endcsname} @@ -280,7 +318,34 @@ using it.}}{{% \csname @\@glostype @delimT\endcsname} \newcommand{\glodelim}{\csname @\@glostype @glodelim\endcsname \glsbeforenum} - +\newcommand{\glogroupSymbols}{} +\newcommand{\glogroupNumbers}{} +\newcommand{\glogroupA}{} +\newcommand{\glogroupB}{} +\newcommand{\glogroupC}{} +\newcommand{\glogroupD}{} +\newcommand{\glogroupE}{} +\newcommand{\glogroupF}{} +\newcommand{\glogroupG}{} +\newcommand{\glogroupH}{} +\newcommand{\glogroupI}{} +\newcommand{\glogroupJ}{} +\newcommand{\glogroupK}{} +\newcommand{\glogroupL}{} +\newcommand{\glogroupM}{} +\newcommand{\glogroupN}{} +\newcommand{\glogroupO}{} +\newcommand{\glogroupP}{} +\newcommand{\glogroupQ}{} +\newcommand{\glogroupR}{} +\newcommand{\glogroupS}{} +\newcommand{\glogroupT}{} +\newcommand{\glogroupU}{} +\newcommand{\glogroupV}{} +\newcommand{\glogroupW}{} +\newcommand{\glogroupX}{} +\newcommand{\glogroupY}{} +\newcommand{\glogroupZ}{} \define@key{glossnum}{glsnumformat}{\def\@glsnumformat{#1}} \define@key{glossnum}{type}{\def\@glsnumtype{#1}} \define@key{glossnum}{delimN}{\def\@delimN{#1}} @@ -288,7 +353,6 @@ using it.}}{{% \define@key{glossnum}{delimT}{\def\@delimT{#1}} \define@key{glossnum}{gloskip}{\def\@gloskip{#1}} \define@key{glossnum}{glodelim}{\def\@glodelim{#1}} - \providecommand{\ignore}[1]{} \newcommand{\setglossary}[1]{% \def\@glsnumformat{}% @@ -337,6 +401,7 @@ Glossary type '\@glsnumtype' has not been defined} \@ifundefined{short#1name}{% \renewcommand{\@shortglossaryname}{\@glossaryname}}{% \renewcommand{\@shortglossaryname}{\csname short#1name\endcsname}}% +\expandafter\let\expandafter\gls@number\csname gls@#1@number\endcsname \@input@{\jobname.\csname @gls@#1@inext\endcsname}} \providecommand{\glossaryname}{Glossary} \newcommand{\shortglossaryname}{\glossaryname} @@ -345,29 +410,30 @@ Glossary type '\@glsnumtype' has not been defined} \newcommand{\istfilename}{\jobname.ist} \def\@glossaryname{\glossaryname} \def\@shortglossaryname{\shortglossaryname} +\newcommand{\@istfilename}[1]{} \providecommand{\glossarytitle}{% \@ifundefined{chapter}% {% \ifgls@hypertoc -\phantomsection% add anchor before \section* +\phantomsection \@glosaddtoc{section}% \section*{\@glossaryname}\relax \else \section*{\@glossaryname}\relax \ifgls@toc\@glosaddtoc{section}\fi \fi}% -{% \chapter defined +{% \ifthenelse{\boolean{gls@section}}% -{% user requested \section +{% \ifgls@hypertoc -\phantomsection% add anchor before \section* +\phantomsection \@glosaddtoc{section}% \section*{\@glossaryname}\relax \else \section*{\@glossaryname}\relax \ifgls@toc\@glosaddtoc{section}\fi \fi}% -{% use \chapter +{% \ifgls@hypertoc \@ifundefined{if@twoside}{% \clearpage}{% @@ -376,7 +442,7 @@ Glossary type '\@glsnumtype' has not been defined} \else \clearpage \fi}% -\phantomsection% add anchor before \chapter +\phantomsection \@glosaddtoc{chapter}% \fi \chapter*{\@glossaryname}\relax @@ -394,7 +460,6 @@ Glossary type '\@glsnumtype' has not been defined} \newcommand{\@glosaddtoc}[1]{% \addcontentsline{toc}{#1}{\@shortglossaryname} } - \newif\ifgloitemfirst \newcommand{\@bef@reglos}{\global\gloitemfirsttrue\beforeglossary} \newcommand{\@ftergl@s}{\afterglossary\global\gloitemfirstfalse} @@ -430,9 +495,10 @@ type '\@glostype'}{}}{% \expandafter\def\csname @gls@afterglos@#1\endcsname{% \end{description}}% \expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\expandafter\def\csname @#1@glodelim\endcsname{, }% +\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% +\expandafter\def\csname @#1@glodelim\endcsname{}}{% +\expandafter\def\csname @#1@glodelim\endcsname{, }}% \expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]}% -\expandafter\def\csname @#1@glodelim\endcsname{, }% \expandafter\def\csname @#1@delimT\endcsname{} } \newcommand{\gls@setaltlist}[1][glossary]{% @@ -441,26 +507,24 @@ type '\@glostype'}{}}{% \expandafter\def\csname @gls@afterglos@#1\endcsname{% \end{description}}% \expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]\mbox{}\nopagebreak\par\nopagebreak}% +\expandafter\def\csname @#1@gloitem\endcsname##1{% +\item[##1]\mbox{}\nopagebreak\par\nopagebreak}% \expandafter\def\csname @#1@glodelim\endcsname{ }% \expandafter\def\csname @#1@delimT\endcsname{} } \ifthenelse{\equal{\gls@style}{super}}{ \IfFileExists{supertab.sty}{\RequirePackage{supertab}} {\IfFileExists{supertabular.sty}{\RequirePackage{supertabular}} -{\PackageError{glossary}{Option "super" chosen, but can't find "supertab" package} -{If you want the "super" option, you have to have the "supertab" package installed.}}} -} +{\PackageError{glossary}{Option "super" chosen, but can't find +"supertab" package}{If you want the "super" option, you have to have +the "supertab" package installed.}}}} {\RequirePackage{longtable}} \newlength{\descriptionwidth} -\setlength{\descriptionwidth}{0.6\textwidth} -\newcommand*{\glossaryheader}{\relax} +\setlength{\descriptionwidth}{0.6\linewidth} \newcommand{\@glossaryheader}{% -\ifx\glossaryheader\relax -\csname @\@glostype @header\endcsname -\else -\glossaryheader -\fi +\@ifundefined{glossaryheader}{\csname @\@glostype @header\endcsname} +{\glossaryheader}% +\@ifundefined{glossarysubheader}{}{\glossarysubheader}% } \newcommand{\gls@setheader}[1][glossary]{% \ifthenelse{\equal{\gls@header}{none}}% @@ -482,13 +546,15 @@ type '\@glostype'}{}}{% \ifthenelse{\equal{\gls@border}{none}} {% \expandafter\def\csname @#1@header\endcsname{% -\bfseries\entryname & \bfseries \descriptionname & \\}}% +\bfseries\entryname & \bfseries \descriptionname & +\bfseries \glspageheader \\}}% {% \expandafter\def\csname @#1@header\endcsname{% \hline\bfseries\entryname &\bfseries\descriptionname & -\\\hline\hline}}% +\bfseries \glspageheader \\\hline\hline}}% \fi }} +\newcommand*{\glspageheader}{} \newcommand{\gls@setalignment}[1][glossary]{% \ifthenelse{\equal{\gls@border}{none}} { @@ -515,7 +581,9 @@ type '\@glostype'}{}}{% \expandafter\def\csname @#1@delimT\endcsname{\\} \ifnum\gls@cols=2\relax \expandafter\def\csname @#1@gloskip\endcsname{& \\}% -\expandafter\def\csname @#1@glodelim\endcsname{, }% +\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% +\expandafter\def\csname @#1@glodelim\endcsname{}}{% +\expandafter\def\csname @#1@glodelim\endcsname{, }}% \else \expandafter\def\csname @#1@gloskip\endcsname{& & \\}% \expandafter\def\csname @#1@glodelim\endcsname{& }% @@ -532,7 +600,8 @@ type '\@glostype'}{}}{% \expandafter\def\csname @gls@beforeglos@#1\endcsname{% \tablehead{\@glossaryheader}\tabletail{\glosstail}% \if\glossaryalignment\relax -\expandafter\let\expandafter\@glossaryalignment\csname @gls@align@#1\endcsname +\expandafter\let\expandafter\@glossaryalignment +\csname @gls@align@#1\endcsname \else \let\@glossaryalignment\glossaryalignment \fi @@ -545,73 +614,91 @@ type '\@glostype'}{}}{% \gls@setheader[#1]% \expandafter\def\csname @gls@beforeglos@#1\endcsname{% \if\relax\glossaryalignment -\expandafter\let\expandafter\@glossaryalignment\csname @gls@align@#1\endcsname +\expandafter\let\expandafter\@glossaryalignment +\csname @gls@align@#1\endcsname \else \let\@glossaryalignment\glossaryalignment \fi \@st@rtglostable{longtable}{\@glossaryalignment} \@glossaryheader\endhead\glosstail\endfoot} - \expandafter\def\csname @gls@afterglos@#1\endcsname{% \end{longtable}}% } \newcommand{\@setglossarystyle}[1][glossary]{% \@ifundefined{gls@set\gls@style}{% \PackageError{glossary}{Glossary style '\gls@style' undefined}{}}{% +\ifthenelse{\equal{\gls@number}{}}{}{% +\expandafter\edef\csname gls@#1@number\endcsname{\gls@number}% +\@gls@setnumbering[#1]{\gls@number}% +}% \csname gls@set\gls@style\endcsname[#1]}} +\let\gls@number\gls@glossary@number \@setglossarystyle \define@key{glosstyle} - {style} - {\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} \or \equal{#1}{super} \or \equal{#1}{long}} - {\def\gls@style{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: list, altlist, super and long}}} - +{style} +{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} +\or \equal{#1}{super} \or \equal{#1}{long}} +{\def\gls@style{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: list, altlist, super and long}}} \define@key{glosstyle} - {header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@header{#1}} - {\PackageError{glossary} - {Unknown glossary style '#1'} - {Available styles are: none and plain}}} - +{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@header{#1}} +{\PackageError{glossary} +{Unknown glossary style '#1'} +{Available styles are: none and plain}}} \define@key{glosstyle} - {border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} - {\def\gls@border{#1}} - {\PackageError{glossary} - {Unknown glossary border '#1'} - {Available styles are: none and plain}}} +{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} +{\def\gls@border{#1}} +{\PackageError{glossary} +{Unknown glossary border '#1'} +{Available styles are: none and plain}}} \define@key{glosstyle}{cols}{\gls@cols=#1\relax \ifthenelse{\gls@cols<2 \or \gls@cols>3} - {\PackageError{glossary} - {invalid number of columns} - {The cols option can only be 2 or 3}} - {}} +{\PackageError{glossary} +{invalid number of columns} +{The cols option can only be 2 or 3}} +{}} +\define@key{glosstyle} +{number} +{\ifthenelse{\equal{#1}{none}} +{\def\gls@number{#1}} +{\@ifundefined{c@#1}{ +\PackageError{glossary} +{Unknown glossary number style '#1'} +{You may either specify "none" or the name of a counter, +e.g. "section"}\def\gls@number{page}}{\def\gls@number{#1}}}} \newcommand{\setglossarystyle}[2][glossary]{% +\def\gls@number{}% \setkeys{glosstyle}{#2}% \@setglossarystyle[#1]% } -\ifthenelse{\equal{\gls@number}{none} \and \gls@cols<3}{% +\ifthenelse{\equal{\gls@glossary@number}{none} \and \gls@cols<3}{% \renewcommand{\@glossary@glodelim}{}}{} \newif\ifist \let\noist=\istfalse \if@filesw\isttrue\else\istfalse\fi - \newwrite\istfile \catcode`\%11\relax \newcommand{\writeist}{ +\protected@write\@auxout{}{\protect\@istfilename{\istfilename}} \openout\istfile=\istfilename \write\istfile{% makeindex style file created by LaTeX for document "\jobname" on \the\year-\the\month-\the\day} \write\istfile{keyword "\string\\glossaryentry"} \write\istfile{preamble "\string\\begin{theglossary}"} \write\istfile{postamble "\string\n\string\\end{theglossary}\string\n"} \write\istfile{group_skip "\string\\gloskip "} -\write\istfile{item_0 "\string\n\string\\gloitem "} +\write\istfile{item_0 "\string\n\string\n\string\\gloitem "} \write\istfile{delim_0 "\string\n\string\\glodelim "} \write\istfile{page_compositor "\pagecompositor"} \write\istfile{delim_n "\string\\delimN "} \write\istfile{delim_r "\string\\delimR "} \write\istfile{delim_t "\string\\delimT "} +\write\istfile{headings_flag 1} +\write\istfile{heading_prefix "\string\\glogroup"} +\write\istfile{symhead_positive "Symbols"} +\write\istfile{numhead_positive "Numbers"} \closeout\istfile } \catcode`\%14\relax @@ -619,22 +706,25 @@ type '\@glostype'}{}}{% \newwrite\@glossaryfile \immediate\openout\@glossaryfile=\jobname.glo \renewcommand{\glossary}[1][]{\gdef\@glo@l@bel{##1}% -\@bsphack \begingroup \@sanitize \@wrglossary } +\@bsphack \begingroup \@wrglossary } \typeout {Writing glossary file \jobname .glo } \let \makeglossary \@empty \ifist\writeist\fi \noist} - \renewcommand{\glossary}[1][]{% \@bsphack\begingroup\@sanitize\@index} -\newcommand{\@newglossarytype}[4][glg]{} \newcommand{\newglossarytype}[4][glg]{ \@ifundefined{#2}{% \protected@write\@auxout{}{\@newglossarytype[#1]{#2}{#3}{#4}}% \def\@glstype{#2}\def\@glsout{#3}\def\@glsin{#4}% -\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{\glsXglossaryXnumformat}% -\expandafter\gdef\csname @\@glstype @delimN\endcsname{\@glossary@delimN}% -\expandafter\gdef\csname @\@glstype @delimR\endcsname{\@glossary@delimR}% +\expandafter\edef\csname gls@\@glstype @number\endcsname{% +\gls@glossary@number}% +\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{% +\glsXglossaryXnumformat}% +\expandafter\gdef\csname @\@glstype @delimN\endcsname{% +\@glossary@delimN}% +\expandafter\gdef\csname @\@glstype @delimR\endcsname{% +\@glossary@delimR}% \expandafter\gdef\csname @gls@\@glstype @inext\endcsname{#4}% \expandafter\def\csname @gls@#2@type\endcsname{#4}% \expandafter\edef\csname make\@glstype\endcsname{% @@ -643,19 +733,8 @@ type '\@glostype'}{}}{% \noexpand\@gl@ss@ary{\@glstype}} \expandafter\edef\csname x\@glstype\endcsname{% \noexpand\@Gl@ss@ary{\@glstype}} -\expandafter\edef\csname print\@glstype\endcsname{% -\noexpand\def\noexpand\@glostype{\@glstype}% -\noexpand\@ifundefined{\@glstype name}{% -\noexpand\def\noexpand\@glossaryname{\noexpand\glossaryname}% -}{% -\noexpand\def\noexpand\@glossaryname{% -\noexpand\csname\@glstype name\noexpand\endcsname}}% -\noexpand\@ifundefined{short\@glstype name}{% -\noexpand\def\noexpand\@shortglossaryname{\noexpand\@glossaryname}% -}{% -\noexpand\edef\noexpand\@shortglossaryname{% -\noexpand\csname short\@glstype name\noexpand\endcsname}}% -\noexpand\@prntgl@ss@ry{\@glsin}}% +\@namedef{print\@glstype}{% +\printglossary[#2]}% }{\PackageError{glossary}{Command \expandafter\string\csname #2\endcsname \space already defined}{% You can't call your new glossary type '#2' because there already @@ -663,45 +742,25 @@ exists a command with this name}}% \@@n@wglostype} \newcommand{\@@n@wglostype}[1][]{% \setglossarystyle[\@glstype]{#1}} -\newcommand\@m@kegl@ss[2]{ +\newcommand{\@newglossarytype}[4][glg]{} +\newcommand\@m@kegl@ss[2]{% \expandafter\newwrite\csname @#1file\endcsname \expandafter\immediate\expandafter - \openout\csname @#1file\endcsname=\jobname.#2 +\openout\csname @#1file\endcsname=\jobname.#2 \typeout {Writing #1 file \jobname .#2 } \expandafter\let \csname make#1\endcsname \@empty \ifist\writeist\fi \expandafter\def\csname the#1num\endcsname{\thepage} \noist } -\newcommand{\@wrgl@ss@ry}[2]{\relax -\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}\relax -\xdef\@pr@fix{\csname @gls@#1@type\endcsname}% -\ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}% -\ifthenelse{\equal{\@glo@l@bel}{}}{\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}% -\setkeys{wrgloss}{#2}\relax - \ifthenelse{\equal{\@f@rm@t}{}} - {\expandafter\protected@write\csname @#1file\endcsname{}{% -\string\glossaryentry{\@s@rt @{% -\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}% -\@descr\string\relax|glsnumformat[#1]}{\csname the#1num\endcsname}}} - {\expandafter\protected@write\csname @#1file\endcsname{}{% -\string\glossaryentry{\@s@rt @{% -\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}% -\@descr\string\relax|\@f@rm@t}{\csname the#1num\endcsname}}}\relax -\endgroup\@esphack -\@@wrgl@ss@ry -} - -\newcommand{\@@wrgl@ss@ry}{} \newcommand\@gl@ss@ary[2][]{\@ifundefined{@#2file}{% -\@bsphack\begingroup \@sanitize \@index}{% +\@bsphack\begingroup\@sanitize \@index}{% \gdef\@glo@l@bel{#1}% -\@bsphack \begingroup \@sanitize \@wrgl@ss@ry{#2}}} +\@bsphack \begingroup \@wrglossary[#2]}} \newcommand{\@Gl@ss@ary}{% -\renewcommand{\@@wrgl@ss@ry}[1]{% -\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrgl@ss@ry}{}}% +\renewcommand{\@@wrglossary}[1]{% +\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% \@gl@ss@ary} -\newcommand\@prntgl@ss@ry[1]{\@input@{\jobname.#1}} \@onlypreamble{\newglossarytype} \newcommand\@acrnmsh{} \newcommand\@sacrnmsh{} @@ -716,50 +775,61 @@ exists a command with this name}}% \edef\@acr@list{\@glo@ta}}{% \@glo@tb=\expandafter{\@acr@list}% \edef\@acr@list{\the\@glo@tb,\@glo@ta}}} -\newcommand{\glsprimaryfmt}[1]{\textbf{\glsnumformat{#1}}} \newcommand{\@acronymnamefmt}{\glolong\ (\gloshort)} \newcommand{\setacronymnamefmt}[1]{\def\@acronymnamefmt{#1}} \newcommand{\@acronymdescfmt}{\glodesc} \newcommand{\setacronymdescfmt}[1]{\def\@acronymdescfmt{#1}} \newcommand{\acronymfont}[1]{#1} \newcommand{\newacronym}[4][]{% -\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{\renewcommand\@acrnmcmd{#1}} +\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{% +\renewcommand\@acrnmcmd{#1}} \@ifundefined{\@acrnmcmd}{% -\expandafter\newcommand\csname\@acrnmcmd short\endcsname{#2\protect\glsxspace} +\expandafter\newcommand\csname\@acrnmcmd short\endcsname{% +#2\protect\glsxspace} \expandafter\newcommand\csname\@acrnmcmd @nx@short\endcsname{#2} -\expandafter\newcommand\csname\@acrnmcmd long\endcsname{#3\protect\glsxspace} +\expandafter\newcommand\csname\@acrnmcmd long\endcsname{% +#3\protect\glsxspace} \expandafter\newcommand\csname\@acrnmcmd @nx@long\endcsname{#3} -\def\@acrn@entry{#4} -{ -\@gls@getdescr{\@acrn@entry}% +\def\@acrn@entry{#4}% +{% +\expandafter\@gls@getdescr\expandafter{\@acrn@entry}% \let\glodesc\@glo@desc% \def\glolong{#3}% +\@onelevel@sanitize\glolong \def\gloshort{\noexpand\acronymfont{#2}}% +\@onelevel@sanitize\gloshort \expandafter\protected@xdef\expandafter\@acrnamefmt{\@acronymnamefmt} \expandafter\protected@xdef\expandafter\@acrdesc{\@acronymdescfmt} -} +}% \@acr@addtolist{\@acrnmcmd} -\protected@edef\@acr@glsentry{name={\@acrnamefmt},format=glsnumformat,sort={\@acrnmcmd},\@acrn@entry,description={\@acrdesc}} +\@glo@tb=\expandafter{\@acrn@entry}% +\protected@edef\@acr@glsentry{name={\@acrnamefmt},% +format=glsnumformat,sort={\@acrnmcmd},\the\@glo@tb,% +description={\@acrdesc}}% +\@glo@tb=\expandafter{\@acr@glsentry}% \newboolean{\@acrnmcmd first}\setboolean{\@acrnmcmd first}{true} -\expandafter\protected@edef\csname \@acrnmcmd\endcsname{\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{\csname @\@acrnmcmd\endcsname}} +\expandafter\protected@edef\csname \@acrnmcmd\endcsname{% +\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{% +\csname @\@acrnmcmd\endcsname}} \ifglshyperacronym % hyperlinks \expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\@acr@glsentry}{% +(\noexpand\xacronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\xacronym{\@acr@glsentry}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}\noexpand\@acrnmins}}\noexpand\glsxspace} +}{\noexpand\xacronym{\the\@glo@tb}{% +\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% +\noexpand\@acrnmins}}\noexpand\glsxspace} \expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \noexpand\expandafter\noexpand\MakeUppercase \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\@acr@glsentry}{% +(\noexpand\xacronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })% \noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\xacronym{\@acr@glsentry}{% +\noexpand\xacronym{\the\@glo@tb}{% \noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase \csname\@acrnmcmd @nx@short\endcsname}% \noexpand\@acrnmins}}\noexpand\glsxspace} @@ -767,30 +837,31 @@ exists a command with this name}}% \expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\@acr@glsentry}{% +(\noexpand\acronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\acronym{\@acr@glsentry}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}\noexpand\@acrnmins}}% +}{\noexpand\acronym{\the\@glo@tb}{% +\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% +\noexpand\@acrnmins}}% \noexpand\glsxspace} \expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% \noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% \noexpand\expandafter \noexpand\MakeUppercase \csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\@acr@glsentry}{% +(\noexpand\acronym{\the\@glo@tb}{% \noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% })% \noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\acronym{\@acr@glsentry}{% +\noexpand\acronym{\the\@glo@tb}{% \noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase \csname\@acrnmcmd @nx@short\endcsname}% \noexpand\@acrnmins}}\noexpand\glsxspace} \fi }{% -\PackageError{glossary}{Command '\expandafter\string\csname\@acrnmcmd\endcsname' already defined}{ +\PackageError{glossary}{Command '\expandafter\string +\csname\@acrnmcmd\endcsname' already defined}{% The command name specified by \string\newacronym already exists.}}} - \newcommand{\useacronym}{\@ifstar\@suseacronym\@useacronym} \newcommand{\@suseacronym}[2][]{{\let\glsxspace\relax \def\@acrnmins{#1}\csname @s@#2\endcsname}% @@ -798,34 +869,26 @@ The command name specified by \string\newacronym already exists.}}} \newcommand{\@useacronym}[2][]{{\let\glsxspace\relax \def\@acrnmins{#1}\csname @#2\endcsname}% \setboolean{#2first}{false}} - \newcommand{\acrln}{\@ifstar\@sacrln\@acrln} - \newcommand{\@acrln}[1]{\@ifundefined{#1long}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \csname#1@nx@long\endcsname}} - \newcommand{\@sacrln}[1]{\@ifundefined{#1long}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \expandafter\expandafter\expandafter \MakeUppercase\csname#1@nx@long\endcsname}} - \newcommand{\acrsh}{\@ifstar\@sacrsh\@acrsh} - \newcommand{\@acrsh}[1]{\@ifundefined{#1short}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \acronymfont{\csname#1@nx@short\endcsname}}} - \newcommand{\@sacrsh}[1]{\@ifundefined{#1short}{% \PackageError{glossary}{Acronym '#1' has not been defined}{}}{% \acronymfont{\expandafter\expandafter\expandafter \MakeUppercase\csname#1@nx@short\endcsname}}} - \newcommand{\ifacronymfirstuse}[3]{% \@ifundefined{if#1first}{% \PackageError{glossary}{Acronym '#1' not defined}{}}{% \ifthenelse{\boolean{#1first}}{#2}{#3}}} - \newcommand{\resetacronym}[1]{% \@ifundefined{if#1first}{% \PackageError{glossary}{Acronym '#1' not defined}{}}{% @@ -834,7 +897,6 @@ The command name specified by \string\newacronym already exists.}}} \else \setboolean{#1first}{true}% \fi}} - \newcommand{\unsetacronym}[1]{% \@ifundefined{if#1first}{% \PackageError{glossary}{Acronym '#1' not defined}{}}{% @@ -843,83 +905,74 @@ The command name specified by \string\newacronym already exists.}}} \else \setboolean{#1first}{false}% \fi}} - \newcommand{\resetallacronyms}{% \@for\@acr:=\@acr@list\do{\resetacronym{\@acr}}} - \newcommand{\unsetallacronyms}{% \@for\@acr:=\@acr@list\do{\unsetacronym{\@acr}}} +\ifglsacronym +\newglossarytype[alg]{acronym}{acr}{acn} +\providecommand{\acronymname}{List of Acronyms} +\else +\let\acronym=\glossary +\let\xacronym=\xglossary +\fi \ifglshyper -\def\glshyperpage#1{\@glshyperpage#1\delimR \delimR \\} -\def\@glshyperpage#1\delimR #2\delimR #3\\{% - \ifx\\#2\\% - \@delimNhyperpage{#1}% - \else - \@ifundefined{hyperlink}{#1\delimR #2}{\hyperlink{page.#1}{#1}\delimR \hyperlink{page.#2}{#2}}% - \fi -} - -\def\@delimNhyperpage#1{\@@delimNhyperpage#1\delimN \delimN\\} -\def\@@delimNhyperpage#1\delimN #2\delimN #3\\{% - \ifx\\#2\\% - \@ifundefined{hyperlink}{#1}{\hyperlink{page.#1}{#1}}% - \else - \@ifundefined{hyperlink}{#1\delimN #2}{\hyperlink{page.#1}{#1}\delimN \hyperlink{page.#2}{#2}}% - \fi -} - -\def\glshypersection#1{\@glshypersection#1\delimR \delimR \\} -\def\@glshypersection#1\delimR #2\delimR #3\\{% - \ifx\\#2\\% - \@delimNhypersection{#1}% - \else - \@ifundefined{hyperlink}{#1\delimR #2}{\hyperlink{section.#1}{#1}\delimR \hyperlink{section.#2}{#2}}% - \fi +\def\glshyper#1#2{\@glshyper{#1}#2\delimR \delimR \\} +\def\@glshyper#1#2\delimR #3\delimR #4\\{% +\ifx\\#3\\% +\@delimNhyper{#1}{#2}% +\else +\@ifundefined{hyperlink}{#2\delimR #3}{% +\hyperlink{#1.#2}{#2}\delimR \hyperlink{#1.#3}{#3}}% +\fi } - -\def\@delimNhypersection#1{\@@delimNhypersection#1\delimN \delimN\\} -\def\@@delimNhypersection#1\delimN #2\delimN #3\\{% - \ifx\\#2\\% - \@ifundefined{hyperlink}{#1}{\hyperlink{section.#1}{#1}}% +\def\@delimNhyper#1#2{\@@delimNhyper{#1}#2\delimN \delimN\\} +\def\@@delimNhyper#1#2\delimN #3\delimN #4\\{% + \ifx\\#3\\% + \@ifundefined{hyperlink}{#2}{\hyperlink{#1.#2}{#2}}% \else - \@ifundefined{hyperlink}{#1\delimN #2}{\hyperlink{section.#1}{#1}\delimN \hyperlink{section.#2}{#2}}% + \@ifundefined{hyperlink}{#2\delimN #3}{% +\hyperlink{#1.#2}{#2}\delimN \hyperlink{#1.#3}{#3}}% \fi } - -\ifthenelse{\equal{\gls@number}{section}}{ -\ifglshyper +\newcommand\glshyperpage[1]{\glshyper{page}{#1}} +\newcommand\glshypersection[1]{\glshyper{section}{#1}} \@ifundefined{chapter} - {} - {\let\@gls@old@chapter\@chapter - \def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}\@ifundefined{hyperdef}{}{\hyperdef{section}{\thechapter.0}{}}}} -\fi - -\providecommand\hyperrm[1]{\textrm{\glshypersection{#1}}} -\providecommand\hypersf[1]{\textsf{\glshypersection{#1}}} -\providecommand\hypertt[1]{\texttt{\glshypersection{#1}}} -\providecommand\hyperbf[1]{\textbf{\glshypersection{#1}}} -\providecommand\hyperit[1]{\textit{\glshypersection{#1}}} -} -{ -\providecommand\hyperrm[1]{\textrm{\glshyperpage{#1}}} -\providecommand\hypersf[1]{\textsf{\glshyperpage{#1}}} -\providecommand\hypertt[1]{\texttt{\glshyperpage{#1}}} -\providecommand\hyperbf[1]{\textbf{\glshyperpage{#1}}} -\providecommand\hyperit[1]{\textit{\glshyperpage{#1}}} -} -\else -\providecommand\hyperrm[1]{\textsf{#1}} -\providecommand\hypersf[1]{\textsf{#1}} -\providecommand\hypertt[1]{\texttt{#1}} -\providecommand\hyperbf[1]{\textbf{#1}} -\providecommand\hyperit[1]{\textit{#1}} -\fi -\ifglsacronym -\newglossarytype[alg]{acronym}{acr}{acn} -\providecommand{\acronymname}{List of Acronyms} +{} +{\let\@gls@old@chapter\@chapter +\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}% +\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}} +\providecommand\hyperrm[2][\gls@number]{% +\textrm{\glshyper{#1}{#2}}} +\providecommand\hypersf[2][\gls@number]{% +\textsf{\glshyper{#1}{#2}}} +\providecommand\hypertt[2][\gls@number]{% +\texttt{\glshyper{#1}{#2}}} +\providecommand\hyperbf[2][\gls@number]{% +\textbf{\glshyper{#1}{#2}}} +\providecommand\hyperit[2][\gls@number]{% +\textit{\glshyper{#1}{#2}}} +\providecommand\hyperem[2][\gls@number]{% +\emph{\glshyper{#1}{#2}}} +\providecommand\hyperup[2][\gls@number]{% +\textup{\glshyper{#1}{#2}}} +\providecommand\hypersl[2][\gls@number]{% +\textsl{\glshyper{#1}{#2}}} +\providecommand\hypersc[2][\gls@number]{% +\textsc{\glshyper{#1}{#2}}} +\providecommand\hypermd[2][\gls@number]{% +\textmd{\glshyper{#1}{#2}}} \else -\let\acronym=\glossary -\let\xacronym=\xglossary +\providecommand\hyperrm[2][]{\textrm{#2}} +\providecommand\hypersf[2][]{\textsf{#2}} +\providecommand\hypertt[2][]{\texttt{#2}} +\providecommand\hypermd[2][]{\textmd{#2}} +\providecommand\hyperbf[2][]{\textbf{#2}} +\providecommand\hyperit[2][]{\textit{#2}} +\providecommand\hypersl[2][]{\textsl{#2}} +\providecommand\hyperup[2][]{\textup{#2}} +\providecommand\hypersc[2][]{\textsc{#2}} +\providecommand\hyperem[2][]{\emph{#2}} \fi \endinput %% diff --git a/Master/texmf-dist/tpm/glossary.tpm b/Master/texmf-dist/tpm/glossary.tpm index 9d0dd4ab420..f04fba7195a 100644 --- a/Master/texmf-dist/tpm/glossary.tpm +++ b/Master/texmf-dist/tpm/glossary.tpm @@ -3,7 +3,7 @@ <rdf:Description about="http://texlive.dante.de/texlive/Package/glossary.zip"> <TPM:Name>glossary</TPM:Name> <TPM:Type>Package</TPM:Type> - <TPM:Date>2006/07/10 22:34:35</TPM:Date> + <TPM:Date>2006/07/26 22:34:00</TPM:Date> <TPM:Version>2.19</TPM:Version> <TPM:Creator>rahtz</TPM:Creator> <TPM:Title>Create a glossary</TPM:Title> @@ -16,13 +16,13 @@ one type of glossary in your document. [description copied from TeX Catalogue] </TPM:Description> <TPM:Author>Nicola Talbot</TPM:Author> - <TPM:Size>658249</TPM:Size> + <TPM:Size>713408</TPM:Size> <TPM:Build/> - <TPM:RunFiles size="38063"> + <TPM:RunFiles size="38081"> texmf-dist/tex/latex/glossary/glossary.sty texmf-dist/tpm/glossary.tpm </TPM:RunFiles> - <TPM:DocFiles size="495604"> + <TPM:DocFiles size="601265"> texmf-dist/doc/latex/glossary/CHANGES texmf-dist/doc/latex/glossary/README texmf-dist/doc/latex/glossary/glossary.pdf @@ -39,7 +39,7 @@ texmf-dist/doc/latex/glossary/sampleNtn.tex texmf-dist/doc/latex/glossary/sampleNtn2.tex texmf-dist/doc/latex/glossary/sampleSec.tex </TPM:DocFiles> - <TPM:SourceFiles size="179741"> + <TPM:SourceFiles size="198394"> texmf-dist/source/latex/glossary/glossary.dtx texmf-dist/source/latex/glossary/glossary.ins </TPM:SourceFiles> |