summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-03-07 19:18:57 +0000
committerKarl Berry <karl@freefriends.org>2008-03-07 19:18:57 +0000
commit65df837d29600b7980f1e49aa2bcee6da454bae0 (patch)
treedbd621ac42ed498c32fc49fb0bbe77753f1c32c1 /Master/texmf-dist
parentb253317283f1d4cbf2a8c292bf3814b714e43ab3 (diff)
glossaries update, including makeglossaries.bat in bin/win32 (4mar08)
git-svn-id: svn://tug.org/texlive/trunk@6879 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/CHANGES89
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/INSTALL107
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/README84
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/doc/CHANGES37
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/doc/glossaries.pdfbin500567 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.pdfbin158711 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/glossaries-manual.html3270
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/glossaries-manual.tex1947
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/glossaries.pdfbin0 -> 452641 bytes
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.html (renamed from Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.html)90
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.pdfbin0 -> 170241 bytes
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.tex529
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/latex2html/glossaries.perl1713
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/database1.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/database1.tex)10
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/database2.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/database2.tex)12
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/minimalgls.tex39
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sample.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sample.tex)6
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sample4col.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sample4col.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleAcr.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleAcr.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleAcrDesc.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleAcrDesc.tex)16
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleDB.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleDB.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleEq.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleEq.tex)6
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleEqPg.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleEqPg.tex)18
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleNtn.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleNtn.tex)13
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/sampleSec.tex (renamed from Master/texmf-dist/doc/latex/glossaries/doc/sampleSec.tex)0
-rwxr-xr-xMaster/texmf-dist/scripts/glossaries/makeglossaries (renamed from Master/texmf-dist/doc/latex/glossaries/scripts/makeglossaries)123
-rwxr-xr-xMaster/texmf-dist/scripts/glossaries/makeglossaries.bat (renamed from Master/texmf-dist/doc/latex/glossaries/scripts/makeglossaries.bat)0
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.dtx5419
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.ins50
-rw-r--r--Master/texmf-dist/source/latex/glossaries/glossaries.perl (renamed from Master/texmf-dist/doc/latex/glossaries/glossaries.perl)617
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Danish.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Dutch.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-English.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-French.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-German.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Irish.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Italian.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Magyar.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Spanish.dict52
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/glossaries-babel.sty137
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/glossaries.sty728
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/glossary-hypernav.sty4
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/glossary-list.sty13
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/glossary-long.sty4
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/glossary-super.sty4
45 files changed, 12828 insertions, 2725 deletions
diff --git a/Master/texmf-dist/doc/latex/glossaries/CHANGES b/Master/texmf-dist/doc/latex/glossaries/CHANGES
new file mode 100644
index 00000000000..c54ec6c055a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/CHANGES
@@ -0,0 +1,89 @@
+glossaries change log:
+
+v1.11 (2 March 2008):
+ * Fixed error in manual (glossary style is set using \glossarystyle
+ not \setglossarystyle).
+
+ * Changed the way the package is archived to make it compatible
+ with TeX Live.
+
+ * Improved error handling of makeglossaries and added --version
+ and --help options.
+
+v1.1 (22 Feb 2008):
+
+ * New package options:
+
+ - numberline:
+ inserts \numberline{} in \addcontentsline when used with
+ the toc option.
+
+ - numberedsection:
+ puts glossaries in numbered chapters/sections
+
+ - translate:
+ translate=false option prevents glossaries package from
+ using pre-supplied translations.
+
+ - description:
+ changes definition of \newacronym to allow a description
+
+ - footnote:
+ changes definition of \newacronym to use a footnote on
+ first use
+
+ - smallcaps:
+ changes definition of \newacronym to set acronyms in
+ small capitals
+
+ - dua:
+ changes definition of \newacronym to always expand
+ acronyms
+
+ * Added \setglossarysection
+ - changes the section type used by the glossaries
+
+ * Added listdotted glossary style.
+
+ * No longer uses xspace package; uses amsgen instead.
+
+ * Added \glsname, \glsdesc, \glssymbol, \glsfirst, \glstext,
+ \glsplural and \glsfirstplural.
+
+ * Added support for translator package.
+
+v1.08 (13 Oct 2007):
+ * Added multilingual support
+ * Fixed bug in listgroup and altlistgroup styles so that
+ \glsgroupheading uses \glsgetgrouptitle to get the group title
+ instead of displaying the label
+ * Fixed typo in error message text when the description key
+ is missing to \newglossaryentry.
+
+v1.07 (13 Sep 2007):
+ * Fixed bug causing incorrect page number for entries in the
+ first paragraph of a page.
+
+v1.06 (21 Aug 2007):
+ * Changed the license text
+
+v1.05 (10 Aug 2007):
+ * Changed the default value of the sort key to just use the
+ name key
+ * Added \@mkboth to \glossarysection
+
+v1.04 (3 Aug 2007):
+ * Added \glstextformat
+
+v1.03 (4 July 2007):
+ * Added \glspostdescription
+
+v1.02 (25 May 2007):
+ * Added overview section in the documentation
+
+v1.01 (17 May 2007):
+ * Added number range facility (equivalent to makeindex's |( and |)
+ formatting commands.)
+ * Added a space after \delimN and \delimR in the ist file.
+
+v1.0 (16 May 2007): Initial release
diff --git a/Master/texmf-dist/doc/latex/glossaries/INSTALL b/Master/texmf-dist/doc/latex/glossaries/INSTALL
new file mode 100644
index 00000000000..054c8ab7a25
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/INSTALL
@@ -0,0 +1,107 @@
+INSTALLATION
+
+If you have downloaded the glossaries package using the TeX Directory
+Structure (TDS), that is you have downloaded an archive containing
+doc, tex, scripts and source directories, you need to follow the
+"Installing from TDS" instructions below.
+
+If you have downloaded the following files:
+
+glossaries.dtx
+glossaries.ins
+makeglossaries
+makeglossaries.bat
+
+You need to follow the "Installing from DTX and INS" instructions
+below.
+
+For further information on installing LaTeX packages see:
+
+http://www.tex.ac.uk/cgi-bin/texfaq2html?label=installthings
+
+INSTALLING FROM TDS
+===================
+
+Files in tex and doc directories should go in the
+corresponding TEXMF directories (for example, /usr/share/texmf-local/
+or C:\localtexmf\). The scripts/glossaries/ directory
+contains the Perl script makeglossaries and the batch file
+makeglossaries.bat which should go somewhere on your operating system's
+PATH. (Both files are required for Windows, but only the Perl script is
+required for other operating systems.)
+
+*Remember to refresh TeX's database*
+
+A minimal example file called minimalgls.tex is provided for testing
+and debugging purposes and can be found in the package documentation
+samples directory (doc/latex/glossaries/samples/). To test your
+installation do:
+
+latex minimalgls
+makeglossaries minimalgls
+latex minimalgls
+
+The LaTeX2HTML style file, glossaries.perl, is located in
+source/latex/glossaries and should go in the LaTeX2HTML styles
+directory.
+
+INSTALLING FROM DTX AND INS
+===========================
+
+Run LaTeX on glossaries.ins to generate the package style files,
+sample files and LaTeX2HTML style file:
+
+latex glossaries.ins
+
+To create the package documentation (glossaries.pdf):
+
+pdflatex glossaries.dtx
+makeindex -s gind.ist glossaries
+makeindex -s gglo.ist -o glossaries.gls glossaries.glo
+pdflatex glossaries.dtx
+pdflatex glossaries.dtx
+
+If TEXMF denotes the base directory of your local TeX installation (e.g.
+/usr/share/texmf-local/ or C:\localtexmf\) then create the following
+directories (if they don't already exist):
+
+TEXMF/doc/latex/glossaries
+TEXMF/doc/latex/glossaries/samples
+TEXMF/tex/latex/glossaries
+TEXMF/tex/latex/glossaries/base
+TEXMF/tex/latex/glossaries/styles
+TEXMF/tex/latex/glossaries/dict
+
+Move the sample files (*.tex) to TEXMF/doc/latex/glossaries/sample/
+
+Move the documentation (*.pdf) to TEXMF/doc/latex/glossaries/
+
+Move glossaries.sty to TEXMF/tex/latex/glossaries/base/
+
+Move the other style files (*.sty) to TEXMF/tex/latex/glossaries/styles/
+
+Move the dictionary files (*.dic) to TEXMF/tex/latex/glossaries/dict/
+
+Move makeglossaries to somewhere on your path, e.g. /usr/bin/. You
+may need to edit the first line of makeglossaries if perl is
+located somewhere other than /usr/bin/.
+
+If you are a Windows user, you will also need to move makeglossaries.bat
+to the same location as makeglossaries, but you will need to have
+Perl installed to be able to use makeglossaries. (It is possible
+to use makeindex directly if you don't have Perl installed. See
+the manual, glossaries.pdf, for details.)
+
+*Remember to refresh TeX's database*
+
+A minimal example file called minimalgls.tex is provided for testing
+and debugging purposes. This file is created along with all the other
+sample files when you run glossaries.ins through LaTeX. To test your
+installation do:
+
+latex minimalgls
+makeglossaries minimalgls
+latex minimalgls
+
+If you want to use the glossaries package with LaTeX2HTML:
+move glossaries.perl to the LaTeX2HTML styles directory.
diff --git a/Master/texmf-dist/doc/latex/glossaries/README b/Master/texmf-dist/doc/latex/glossaries/README
index 4e57293dab8..a03181fb5f6 100644
--- a/Master/texmf-dist/doc/latex/glossaries/README
+++ b/Master/texmf-dist/doc/latex/glossaries/README
@@ -1,42 +1,42 @@
-LaTeX Package : glossaries v 1.08
-
-Last Modified : 13 October 2007
-
-Author : Nicola Talbot
-
-This package is provided to assist generating glossaries.
-The package supports acronyms and multiple glossaries.
-New entries are defined to have a name and description (and
-optionally an associated symbol.) Plural forms can also be
-specified. New glossary styles can be defined, and preambles
-and postambles can be specified. There is provision for loading
-a database of terms, only terms used in the text will be added
-to the relevant glossary.
-
-*This package replaces the glossary package which is now obsolete.*
-
-The package is supplied using the TeX Directory Structure (TDS).
-Files in texmf directory should go in the corresponding
-$LOCALTEXMF directories. The scripts directory contains the Perl
-script makeglossaries and the batch file makeglossaries.bat
-which should go somewhere on your operating system's PATH. (Both
-files are required for Windows, only the Perl script is
-required for other operating systems.)
-
-*Remember to refresh TeX's database*
-
-This package comes with a LaTeX2HTML style file glossaries.perl.
-This is located in latex2html/styles and should be placed in
-the relevant LaTeX2HTML styles directory, but note that
-glossaries.perl only supplies a sub-set of the commands provided
-by glossary.sty, so some commands may not be implemented, or
-may be implemented in a different way.
-
-The package and documentation source code is also supplied as a
-dtx and ins file located in texmf/source.
-
-This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license.
-
-http://theoval.cmp.uea.ac.uk/~nlct/
-
+LaTeX Package : glossaries v 1.11
+
+Last Modified : 2 March 2008
+
+Author : Nicola Talbot
+
+This package is provided to assist generating glossaries.
+The package supports acronyms and multiple glossaries.
+New entries are defined to have a name and description (and
+optionally an associated symbol.) Plural forms can also be
+specified. New glossary styles can be defined, and preambles
+and postambles can be specified. There is provision for loading
+a database of terms, only terms used in the text will be added
+to the relevant glossary.
+
+*This package replaces the glossary package which is now obsolete.*
+
+INSTALLATION
+
+See INSTALL file for installation instructions.
+
+REQUIREMENTS
+
+The glossaries package requires at least version 2.5f (2006/11/18) of
+the xkeyval package.
+
+LaTeX2HTML
+
+This package comes with a LaTeX2HTML style file glossaries.perl
+which should be placed in the relevant LaTeX2HTML styles directory, but
+note that glossaries.perl only supplies a sub-set of the commands
+provided by glossaries.sty, so some commands may not be implemented or
+may be implemented in a different way.
+
+LICENCE
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+for the details of that license.
+
+Author's home page: http://theoval.cmp.uea.ac.uk/~nlct/
+
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/CHANGES b/Master/texmf-dist/doc/latex/glossaries/doc/CHANGES
deleted file mode 100644
index 4f3111053bc..00000000000
--- a/Master/texmf-dist/doc/latex/glossaries/doc/CHANGES
+++ /dev/null
@@ -1,37 +0,0 @@
-glossaries change log:
-
-v1.08 (13 Oct 2007):
- * Added multilingual support
- * Fixed bug in listgroup and altlistgroup styles so that
- \glsgroupheading uses \glsgetgrouptitle to get the group title
- instead of displaying the label
- * Fixed typo in error message text when the description key
- is missing to \newglossaryentry.
-
-v1.07 (13 Sep 2007):
- * Fixed bug causing incorrect page number for entries in the
- first paragraph of a page.
-
-v1.06 (21 Aug 2007):
- * Changed the license text
-
-v1.05 (10 Aug 2007):
- * Changed the default value of the sort key to just use the
- name key
- * Added \@mkboth to \glossarysection
-
-v1.04 (3 Aug 2007):
- * Added \glstextformat
-
-v1.03 (4 July 2007):
- * Added \glspostdescription
-
-v1.02 (25 May 2007):
- * Added overview section in the documentation
-
-v1.01 (17 May 2007):
- * Added number range facility (equivalent to makeindex's |( and |)
- formatting commands.)
- * Added a space after \delimN and \delimR in the ist file.
-
-v1.0 (16 May 2007): Initial release
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/glossaries.pdf b/Master/texmf-dist/doc/latex/glossaries/doc/glossaries.pdf
deleted file mode 100644
index f43e59e629d..00000000000
--- a/Master/texmf-dist/doc/latex/glossaries/doc/glossaries.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.pdf b/Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.pdf
deleted file mode 100644
index fd9d18c7c63..00000000000
--- a/Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/glossaries/glossaries-manual.html b/Master/texmf-dist/doc/latex/glossaries/glossaries-manual.html
new file mode 100644
index 00000000000..d442c01dab1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/glossaries-manual.html
@@ -0,0 +1,3270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002 (1.67)
+original version by: Nikos Drakos, CBLU, University of Leeds
+* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+ Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>glossaries.sty v 1.11: LaTeX2e Package to Assist Generating Glossaries</TITLE>
+<META NAME="description" CONTENT="glossaries.sty v 1.11: LaTeX2e Package to Assist Generating Glossaries">
+<META NAME="keywords" CONTENT="glossaries-manual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+
+</HEAD>
+
+<BODY >
+<A NAME="top"></A>
+
+<P>
+
+<P>
+
+ <H1 ALIGN="CENTER">glossaries.sty v 1.11: LaTeX2e Package to Assist Generating Glossaries</H1>
+<P ALIGN="CENTER"><STRONG>Nicola L.C. Talbot
+<BR>
+<BR>
+School of Computing Sciences
+<BR>
+University of East Anglia
+<BR>
+Norwich. Norfolk
+<BR>
+NR4 7TJ. United Kingdom.
+<BR><TT><A NAME="tex2html1"
+HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT></STRONG></P>
+<P ALIGN="CENTER"><STRONG>2nd March 2008</STRONG></P>
+<BR>
+
+<H2><A NAME="SECTION00010000000000000000">
+Contents</A>
+</H2>
+<!--Table of Contents-->
+
+<UL>
+<LI><A NAME="tex2html34"
+ HREF="glossaries-manual.html#SECTION00020000000000000000">Introduction</A>
+<UL>
+<LI><A NAME="tex2html35"
+ HREF="glossaries-manual.html#SECTION00021000000000000000">Generating the associated glossary files</A>
+<LI><A NAME="tex2html36"
+ HREF="glossaries-manual.html#SECTION00022000000000000000">Troubleshooting</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html37"
+ HREF="glossaries-manual.html#SECTION00030000000000000000">A Quick Guide For The Impatient</A>
+<LI><A NAME="tex2html38"
+ HREF="glossaries-manual.html#SECTION00040000000000000000">Overview</A>
+<UL>
+<LI><A NAME="tex2html39"
+ HREF="glossaries-manual.html#SECTION00041000000000000000">Package Options</A>
+<LI><A NAME="tex2html40"
+ HREF="glossaries-manual.html#SECTION00042000000000000000">Defining Glossary Entries</A>
+<LI><A NAME="tex2html41"
+ HREF="glossaries-manual.html#SECTION00043000000000000000">Number lists</A>
+<LI><A NAME="tex2html42"
+ HREF="glossaries-manual.html#SECTION00044000000000000000">Links to Glossary Entries</A>
+<LI><A NAME="tex2html43"
+ HREF="glossaries-manual.html#SECTION00045000000000000000">Adding an entry to the glossary without generating text</A>
+<LI><A NAME="tex2html44"
+ HREF="glossaries-manual.html#SECTION00046000000000000000">Displaying a glossary</A>
+<LI><A NAME="tex2html45"
+ HREF="glossaries-manual.html#SECTION00047000000000000000">Defining New Glossaries</A>
+<LI><A NAME="tex2html46"
+ HREF="glossaries-manual.html#SECTION00048000000000000000">Acronyms</A>
+<LI><A NAME="tex2html47"
+ HREF="glossaries-manual.html#SECTION00049000000000000000">Unsetting and resetting entry flags</A>
+<LI><A NAME="tex2html48"
+ HREF="glossaries-manual.html#SECTION000410000000000000000">Glossary Styles</A>
+<LI><A NAME="tex2html49"
+ HREF="glossaries-manual.html#SECTION000411000000000000000">Defining your own glossary style</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html50"
+ HREF="glossaries-manual.html#SECTION00050000000000000000">Index</A>
+</UL>
+<!--End of Table of Contents-->
+<P>
+
+<H1><A NAME="SECTION00020000000000000000">
+Introduction</A>
+</H1>
+
+<P>
+The <TT>glossaries</TT> package is provided to assist generating
+glossaries. It has a certain amount of flexibility, allowing the user
+to customize the format of the glossary and define multiple glossaries.
+It also supports acronyms and glossary styles that include
+symbols (in addition to a name and description) for glossary
+entries. There is provision for loading a database of glossary terms
+where only those terms used in the text are added to the glossary.
+This package replaces the <TT>glossary</TT><A NAME="1800"></A> package which is now
+obsolete.
+
+<P>
+As from version 1.08, the <TT>glossaries</TT> package now has
+limited multi-lingual support, thanks to all the people who have sent
+me the relevant translations either via email or via comp.text.tex.
+However you must load <TT>babel</TT><A NAME="1804"></A> <I>before</I>
+<TT>glossaries</TT> to enable this.
+As from version 1.1, the <TT>glossaries</TT> package also supports
+Till&nbsp;Tantau's <TT>translator</TT><A NAME="1810"></A> package provided it is loaded
+before the <TT>glossaries</TT> package. This makes it easier to change
+the default translations or add new dictionaries.
+If you don't want to use the predefined translations, you can use the
+package option <TT>translate=false</TT><A NAME="1821"></A> and supply your own translations.
+
+<P>
+This documentation is structured as follows: <A HREF="glossaries-manual.html#sec:quick">A Quick Guide For The Impatient</A> is for
+people who want a few quick pointers of how to get started,
+without having to read through lengthy descriptions,
+and <A HREF="glossaries-manual.html#sec:overview">Overview</A> gives an overview of available commands
+and their syntax.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00021000000000000000"></A>
+<A NAME="sec:makeglossaries"></A>
+<BR>
+Generating the associated glossary files
+</H2>
+
+<P>
+The <TT>glossaries</TT> package comes with the Perl script
+<TT>makeglossaries</TT><A NAME="1827"></A> which will run <TT>makeindex</TT><A NAME="1830"></A> on
+all the glossary files using a customized <TT>makeindex</TT><A NAME="1833"></A>
+<TT>.ist</TT><A NAME="1836"></A> style file (which is created by <TT>&#92;makeglossaries</TT><A NAME="1838"></A>).
+The relevant extensions are obtained from the
+auxiliary file, so you should only pass the basename as the
+argument. For example, if your document is called
+<TT>myfile.tex</TT>, do:
+<PRE>
+latex myfile
+makeglossaries myfile
+latex myfile
+</PRE>
+You may need to explicitly load <TT>makeglossaries</TT><A NAME="1841"></A> into
+Perl:
+<PRE>
+perl makeglossaries myfile
+</PRE>
+There is a batch file called <TT>makeglossaries.bat</TT> which
+does this for Windows users.
+
+<P>
+If you don't have Perl installed, you will have to run
+<TT>makeindex</TT><A NAME="1844"></A> for each glossary type you have defined.
+For example, if you have used the <TT>acronym</TT><A NAME="1852"></A> package option
+then you will have both a main glossary as well as a list of acronyms, so you
+will need to do (assuming your document is called <TT>myfile.tex</TT>):
+<PRE>
+makeindex -s myfile.ist -t myfile.glg -o myfile.gls myfile.glo
+makeindex -s myfile.ist -t myfile.alg -o myfile.acr myfile.acn
+</PRE>
+This requires remembering all extensions for each of the glossaries
+defined in your document, so where possible you should use
+<TT>makeglossaries</TT><A NAME="1856"></A> instead to reduce the possibility of error.
+Don't pass all the glossary files in a single call to
+<TT>makeindex</TT><A NAME="1859"></A> or it will merge all your glossaries into a
+single glossary.
+
+<P>
+If any problems occur, remember to check the transcript files
+(e.g. <TT>.glg</TT><A NAME="1862"></A> or <TT>.alg</TT><A NAME="1864"></A>) for messages.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00022000000000000000">
+Troubleshooting</A>
+</H2>
+
+<P>
+The glossaries package comes with a minimal file called
+<TT>minimalgls.tex</TT> which can be used for testing. This
+should be located in <TT>texmf/doc/latex/glossaries/samples/</TT>. Further
+information on debugging LaTeX code is available at
+<TT><A NAME="tex2html2"
+ HREF="http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/">http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/</A></TT>.
+
+<P>
+There is a list of frequently asked questions for the
+<TT>glossaries</TT> package available at
+<TT><A NAME="tex2html3"
+ HREF="http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html">http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html</A></TT>.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H1><A NAME="SECTION00030000000000000000"></A>
+<A NAME="sec:quick"></A>
+<BR>
+A Quick Guide For The Impatient
+</H1>
+
+<P>
+This section is for people who want a few quick pointers
+of how to get started, without having to read through
+lengthy descriptions.
+
+<P>
+
+<OL>
+<LI>Load <TT>glossaries</TT> <I>after</I> <TT>hyperref</TT><A NAME="1874"></A>:
+<PRE>
+\usepackage{hyperref}
+\usepackage{glossaries}
+</PRE>
+Similarly for the <TT>html</TT><A NAME="1877"></A> package:
+<PRE>
+\usepackage{html}
+\usepackage{glossaries}
+</PRE>
+
+<P>
+</LI>
+<LI>Always use <TT>&#92;makeglossaries</TT><A NAME="1880"></A> if you want the glossary
+entries to be written to the glossary file:
+<PRE>
+\documentclass{article}
+\usepackage{glossaries}
+\makeglossaries
+</PRE>
+If you don't use <TT>&#92;makeglossaries</TT><A NAME="1883"></A>, your glossaries will
+not appear in the document!
+
+<P>
+</LI>
+<LI>Use <TT>&#92;printglossaries</TT><A NAME="1886"></A> to make your glossaries appear
+in the document at that point. For example:
+<PRE>
+\maketitle
+\printglossaries
+\section{Introduction}
+</PRE>
+Note that only the glossary entries that have been used in the
+document text will appear in the glossary.
+
+<P>
+</LI>
+<LI>When you have created your document, run LaTeX on it,
+then the Perl script <TT>makeglossaries</TT><A NAME="1889"></A>, then run LaTeX on it again:
+<PRE>
+latex myfile
+makeglossaries myfile
+latex myfile
+</PRE>
+(You may need to run LaTeX again if you have used the <TT>toc</TT><A NAME="1897"></A>
+package option.)
+If you use Windows, there is a batch file called
+<TT>makeglossaries.bat</TT> which you can use, but you will
+still need Perl installed.
+
+<P>
+</LI>
+<LI>New glossaries can be defined using:
+<P>
+<TT>&#92;newglossary</TT><A NAME="1901"></A><TT>[</TT><EM>log-ext</EM><TT>]{</TT><EM>label</EM><TT>}{</TT><EM>in-ext</EM><TT>}{</TT><EM>out-ext</EM><TT>}{</TT><EM>title</EM><TT>}</TT>
+<P>
+where <I>label</I> is an identifying label,
+<I>in-ext</I> is the extension of the file to be created
+by <TT>makeindex</TT><A NAME="1904"></A> (called by <TT>makeglossaries</TT><A NAME="1907"></A>),
+<I>out-ext</I> is the extension of the file to be read by
+<TT>makeindex</TT><A NAME="1910"></A> and <I>title</I> is the title for this
+new glossary. The first optional argument <I>log-ext</I> specifies
+the extension of the <TT>makeindex</TT><A NAME="1913"></A> transcript file. Example:
+<PRE>
+\newglossary[nlg]{notation}{not}{ntn}{Notation}
+</PRE>
+This glossary's label is <TT>notation</TT> and its title
+will be Notation. If you use <TT>makeglossaries</TT><A NAME="1916"></A>, the
+<TT>makeindex</TT><A NAME="1919"></A> transcript will be written to a file with the
+extension <TT>.nlg</TT><A NAME="1922"></A>. If <I>log-ext</I> is omitted, the extension
+<TT>.glg</TT><A NAME="1924"></A> will be used.
+
+<P>
+</LI>
+<LI>Any new glossaries must be defined before
+<TT>&#092;makeglossaries</TT>
+<PRE>
+\documentclass{article}
+\usepackage{glossaries}
+\newglossary{notation}{not}{ntn}{Notation}
+\makeglossaries
+</PRE>
+
+<P>
+</LI>
+<LI>If you use the <TT>acronym</TT><A NAME="1931"></A> package option, the
+<TT>glossaries</TT> package
+will automatically create a new glossary type labelled
+<TT>acronym</TT>:
+<PRE>
+\usepackage[acronym]{glossaries}
+</PRE>
+
+<P>
+</LI>
+<LI>If your pages have a hyphen compositor (i.e. your page
+numbers appear in the form 2-1), redefine <TT>&#92;glscompositor</TT><A NAME="1936"></A>
+<I>before</I> <TT>&#92;makeglossaries</TT><A NAME="1939"></A>:
+<PRE>
+\documentclass{article}
+\usepackage{glossaries}
+\renewcommand{\glscompositor}{-}
+\makeglossaries
+</PRE>
+
+<P>
+</LI>
+<LI>To add the glossaries to the table of contents use the
+<TT>toc</TT><A NAME="1947"></A> package option:
+<PRE>
+\usepackage[toc]{glossaries}
+</PRE>
+
+<P>
+</LI>
+<LI>Define a new entry with:
+<P>
+<TT>&#92;newglossaryentry</TT><A NAME="1951"></A><TT>{</TT><EM>label</EM><TT>}{</TT><EM>key-val list</EM><TT>}</TT>
+<P>
+The <I>key-val list</I> must at least contain a <TT>name</TT><A NAME="1954"></A>
+key and a <TT>description</TT><A NAME="1957"></A> key.
+For example:
+<PRE>
+\newglossaryentry{perl}{name=Perl,
+description=A scripting language}
+</PRE>
+In this example, I have given the entry the label <TT>perl</TT>.
+Whenever I want to use this entry, that is the label I need
+to use to identify it.
+
+<P>
+</LI>
+<LI>If the entry name starts with an accented letter, you will
+need to group the first letter (otherwise it will cause a
+problem for <TT>&#92;Gls</TT><A NAME="1960"></A> and <TT>&#92;Glspl</TT><A NAME="1963"></A>):
+<PRE>
+\newglossaryentry{elite}{name={{\'e}lite},
+description={select group or class}}
+</PRE>
+
+<P>
+</LI>
+<LI>If you have multiple glossaries, use the <TT>type</TT><A NAME="1966"></A>
+key to specify in which glossary the entry belongs. For example:
+<PRE>
+\newglossary{languages}{lan}{lng}{Index of Languages}
+
+\makeglossaries
+
+\newglossaryentry{perl}{name=Perl,
+description=A scripting language,
+type=languages}
+</PRE>
+If <TT>type</TT><A NAME="1969"></A> is omitted, the default glossary is used.
+
+<P>
+</LI>
+<LI>Remember to group values that have a comma or equal sign.
+For example:
+<PRE>
+\newglossaryentry{pagelist}{name=page list,
+description={A list of individual pages or page ranges
+(e.g.\ 1,2,4,7--9)}}
+</PRE>
+
+<P>
+</LI>
+<LI>Plural forms are assumed to be the singular form with an
+"s" appended, unless otherwise specified. To specify an
+irregular plural, use the <TT>plural</TT><A NAME="1972"></A> key. For example:
+<PRE>
+\newglossaryentry{matrix}{name=matrix,
+description=rectangular array of quantities,
+plural=matrices}
+</PRE>
+
+<P>
+</LI>
+<LI>The way the term appears in the main text can be different
+from the way the term appears in the glossary:
+<PRE>
+\newglossaryentry{matrix}{name=Matrix,
+description=rectangular array of quantities,
+text=matrix,
+plural=matrices}
+</PRE>
+In this example, the entry name appears as "Matrix" in the
+glossary, and either "matrix" or "matrices" in the text.
+
+<P>
+</LI>
+<LI>The way the term appears on first use can be different
+to the way it appears subsequently:
+<PRE>
+\newglossaryentry{singmtx}{name=Singular Matrix,
+description=A matrix with a zero determinant,
+first=singular matrix (SM),
+text=SM,
+firstplural=singular matrices (SMs)}
+</PRE>
+In this example, the entry name appears as "Singular Matrix" in
+the glossary, and in the text it appears as "singular matrix (SM)"
+or "singular matrices (SMs)" the first time the entry is used,
+and subsequently appears as "SM" or "SMs".
+
+<P>
+</LI>
+<LI>The quick and easy way to define an acronym is to use:
+<P>
+<TT>&#92;newacronym</TT><A NAME="1975"></A><TT>[</TT><EM>key-val list</EM><TT>]{</TT><EM>label</EM><TT>}{</TT><EM>abbrev</EM><TT>}{</TT><EM>long</EM><TT>}</TT>
+<P>
+For example:
+<PRE>
+\newacronym{svm}{SVM}{support vector machine}
+</PRE>
+This is equivalent to:
+<PRE>
+\newglossaryentry{svm}{type=\acronymtype,
+name={SVM},
+description={support vector machine},
+text={SVM},
+first={support vector machine (SVM)},
+plural={SVMs},
+firstplural={support vector machines (SVMs)}}
+</PRE>
+(The value of <TT>&#92;acronymtype</TT><A NAME="1978"></A> varies depending on whether
+the <TT>acronym</TT><A NAME="1986"></A> package option is used or not.
+The optional argument <I>key-val list</I> can be used to
+override any of the <TT>&#92;newglossaryentry</TT><A NAME="1990"></A> keys; for
+example, if the acronym has an irregular plural.)
+
+<P>
+</LI>
+<LI>The font used to display the entry name in the glossary
+is governed by <TT>&#92;glsnamefont</TT><A NAME="1993"></A>. This can be redefined
+as required. For example, to make the entry names appear
+in a medium sans-serif font do:
+<PRE>
+\renewcommand{\glsnamefont}[1]{\textsf{\mdseries #1}}
+</PRE>
+Note that the list-like glossary styles defined in the
+<TT>glossary-list</TT><A NAME="1996"></A> package place the entry name in
+the optional argument to <TT>&#92;item</TT><A NAME="1999"></A>, so they will
+appear in bold, unless you redefine <TT>&#92;glsnamefont</TT><A NAME="2002"></A> to counteract the
+bold font.
+
+<P>
+</LI>
+<LI>In the document use <TT>&#92;gls</TT><A NAME="2005"></A><TT>{</TT><EM>label</EM><TT>}</TT>
+to use a predefined term (this will also enter the term into
+the associated glossary output file). For example:
+<PRE>
+A \gls{singmtx} is a matrix with a zero determinant.
+</PRE>
+
+<P>
+</LI>
+<LI>Other variations:
+
+<UL>
+<LI><TT>&#92;Gls</TT><A NAME="2008"></A><TT>{</TT><EM>label</EM><TT>}</TT> : like <TT>&#092;gls</TT>,
+but with first letter in upper case
+</LI>
+<LI><TT>&#92;GLS</TT><A NAME="2011"></A><TT>{</TT><EM>label</EM><TT>}</TT> : like <TT>&#092;gls</TT>,
+but all upper case.
+</LI>
+<LI><TT>&#92;glspl</TT><A NAME="2014"></A><TT>{</TT><EM>label</EM><TT>}</TT> : use plural
+</LI>
+<LI><TT>&#92;Glspl</TT><A NAME="2017"></A><TT>{</TT><EM>label</EM><TT>}</TT> : use plural with
+first letter in upper case
+</LI>
+<LI><TT>&#92;GLSpl</TT><A NAME="2020"></A><TT>{</TT><EM>label</EM><TT>}</TT> : use plural but
+all upper case
+</LI>
+<LI><TT>&#92;glslink</TT><A NAME="2023"></A><TT>{</TT><EM>label</EM><TT>}{</TT><EM>link text</EM><TT>}</TT> :
+use <I>link text</I> to link to the given entry in the glossary.
+</LI>
+</UL>
+For example, the following will produce the plural form with
+the first letter in uppercase:
+<PRE>
+\Glspl{singmtx} are matrices with a zero determinant.
+</PRE>
+
+<P>
+</LI>
+<LI>Additional text can be appended to the link using the
+end optional argument. For example, to form the possessive:
+<PRE>
+The \gls{singmtx}['s] dimensions \ldots
+</PRE>
+
+<P>
+</LI>
+<LI>The format of the associated entry number can be
+changed using the <TT>format</TT><A NAME="2026"></A> key in the optional argument.
+Note that the value of the <TT>format</TT><A NAME="2029"></A> key should be the
+name of a command <I>without</I> the initial backslash. For
+example:
+<PRE>
+The primary definition of \glspl[format=textbf]{singmtx}.
+</PRE>
+In this example the relevant glossary entry will have the
+page number in bold (since it uses <TT>&#092;textbf</TT>) but
+it will no longer have a hyperlink (if hyperlinks are enabled.)
+
+<P>
+</LI>
+<LI>The <TT>glossaries</TT> package provides commands to
+change the font whilst ensuring that the number remains a
+hyperlink. These are of the form <TT>&#092;hyper</TT><I>xx</I> and
+are equivalent to the standard font changing commands of the
+form <TT>&#092;text</TT><I>xx</I>, as well as <TT>&#92;hyperemph</TT><A NAME="2033"></A>
+(which uses <TT>&#92;emph</TT><A NAME="2036"></A>.) For example:
+<PRE>
+The primary definition of \glspl[format=hyperbf]{singmtx}.
+</PRE>
+
+<P>
+</LI>
+<LI>Don't use declarations in <TT>format</TT><A NAME="2039"></A> as this can
+cause unpredictable results, as there is no guarantee that the effect
+will be localised to the required text.
+
+<P>
+</LI>
+<LI>Entries can be added to the glossary without producing
+any text using <TT>&#92;glsadd</TT><A NAME="2042"></A><TT>{</TT><EM>label</EM><TT>}</TT> or
+<TT>&#92;glsaddall</TT><A NAME="2045"></A>. These commands also taken an optional
+argument where you can specify the format. For example
+<PRE>
+\glsadd[format=hyperbf]{singmtx}
+</PRE>
+will add a line to the
+glossary file for the specified term, but will not produce
+any text where the command occurs.
+
+<P>
+</LI>
+<LI>A number range can be entered using <code>format=(</code> and
+<code>format=)</code> to mark the beginning and ending of the
+range<A NAME="tex2html4"
+ HREF="#foot370"><SUP>1</SUP></A>. For example:
+<PRE>
+ \glsadd[format=(]{singmtx}
+ This is a very long section all about \glspl{singmtx}.
+
+ % lots of text omitted
+
+ \glsadd[format=)]{singmtx}
+</PRE>
+This is equivalent to <TT>makeindex</TT><A NAME="2048"></A>'s <code>|(</code> and <code>|)</code>
+formats.
+
+<P>
+</LI>
+<LI>You can combine the range markers with a formatting command
+(again without the preceding backslash). For example:
+<PRE>
+ This is the start of a very long section all
+ about \glspl[format=(hyperbf]{singmtx}.
+
+ % lots of text omitted
+
+ This is the end a very long section all about
+ \glspl[format=)hyperbf]{singmtx}.
+</PRE>
+
+<P>
+</LI>
+<LI>Only those terms that have actually been used in the
+document will be placed in the glossary. If you have defined
+a term that doesn't appear in the document, then it means
+you haven't used it in the text (either via <TT>&#92;glslink</TT><A NAME="2051"></A>
+or <TT>&#92;gls</TT><A NAME="2054"></A> and related commands, or via <TT>&#92;glsadd</TT><A NAME="2057"></A>
+or <TT>&#92;glsaddall</TT><A NAME="2060"></A>.)
+
+<P>
+</LI>
+<LI>To change the sorting order, use the <TT>sort</TT><A NAME="2063"></A> key.
+For example:
+<PRE>
+\newglossaryentry{universal}{name={\ensuremath{\mathcal{U}}},
+description=The universal set,
+sort=U}
+</PRE>
+
+<P>
+</LI>
+<LI>You don't need to escape <TT>makeindex</TT><A NAME="2066"></A>'s special characters:
+<PRE>
+\newglossaryentry{quote}{name={"},
+description={Double quote character}}
+
+\newglossaryentry{exclam}{name={!},
+description={Exclamation mark}}
+
+\newacronym{rna}{RNA}{ribonukleins\"aure}
+</PRE>
+
+<P>
+</LI>
+<LI>Associated symbols can also be specified, but whether the
+symbol appears in the glossary depends on the glossary style.
+For example:
+<PRE>
+\newglossaryentry{metre}{name={metre},
+description={A metric measurement of length},
+symbol={m}}
+</PRE>
+The predefined glossary styles that display the entry symbol
+are: <TT>long4col</TT><A NAME="2069"></A>, <TT>long4colheader</TT><A NAME="2071"></A>,
+<TT>long4colborder</TT><A NAME="2073"></A>, <TT>long4colheaderborder</TT><A NAME="2075"></A>,
+<TT>super4col</TT><A NAME="2077"></A>, <TT>super4colheader</TT><A NAME="2079"></A>,
+<TT>super4colborder</TT><A NAME="2081"></A> and <TT>super4colheaderborder</TT><A NAME="2083"></A>.
+All the other styles supplied by this package ignore the associated
+symbol.
+
+<P>
+</LI>
+<LI>Glossary styles can be set using the <TT>style</TT><A NAME="2090"></A>
+package option. For example:
+<PRE>
+\usepackage[style=long3col]{glossaries}
+</PRE>
+or using <TT>&#92;glossarystyle</TT><A NAME="2094"></A><TT>{</TT><EM>style</EM><TT>}</TT>. For example:
+<PRE>
+\glossarystyle{altlist}
+</PRE>
+The predefined glossary styles provided by the <TT>glossaries</TT>
+bundle are listed in <A HREF="glossaries-manual.html#sec:styles">Glossary Styles</A>.
+
+<P>
+</LI>
+<LI>The list of numbers associated with each glossary entry
+can be suppressed using the package option <TT>nonumberlist</TT><A NAME="2103"></A>:
+<PRE>
+\usepackage[nonumberlist]{glossaries}
+</PRE>
+
+<P>
+</LI>
+<LI>By default, the glossaries will appear in an unnumbered
+chapter if chapters are defined, otherwise in an unnumbered
+section. This can be changed using the <TT>section</TT><A NAME="2112"></A> package
+option. For example, to make the glossaries appear in an unnumbered
+section, even if chapters are defined, do:
+<PRE>
+\usepackage[section]{glossaries}
+</PRE>
+Other sectional units can also be specified as
+<TT>section</TT><A NAME="2121"></A>=<I>value</I>. For example, to make the glossaries
+appear in unnumbered subsections:
+<PRE>
+\usepackage[section=subsection]{glossaries}
+</PRE>
+
+<P>
+</LI>
+</OL>
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H1><A NAME="SECTION00040000000000000000"></A><A NAME="sec:overview"></A>
+<BR>
+Overview
+</H1>
+
+<P>
+
+<H2><A NAME="SECTION00041000000000000000">
+Package Options</A>
+</H2>
+
+<P>
+The <TT>glossaries</TT> package options are as follows:
+<DL>
+<DT><STRONG><TT>toc</TT><A NAME="2134"></A></STRONG></DT>
+<DD>Add the glossaries to the table of contents.
+
+<P>
+</DD>
+<DT><STRONG><TT>numberline</TT><A NAME="2143"></A></STRONG></DT>
+<DD>When used with <TT>toc</TT><A NAME="2152"></A>, this will
+add <TT>&#092;numberline</TT><code>{}</code> in the final argument of
+<TT>&#092;addcontentsline</TT>. This will align the table of contents entry
+with the numbered section titles. Note that this option has no
+effect if the <TT>toc</TT><A NAME="2161"></A> option is omitted. If <TT>toc</TT><A NAME="2170"></A> is
+used without <TT>numberline</TT><A NAME="2179"></A>, the title will be aligned with
+the section numbers rather than the section titles.
+
+<P>
+</DD>
+<DT><STRONG><TT>acronym</TT><A NAME="2188"></A></STRONG></DT>
+<DD>Make a separate glossary for acronyms.
+
+<P>
+</DD>
+<DT><STRONG><TT>section</TT><A NAME="2197"></A></STRONG></DT>
+<DD>This is a <I>key</I>=<I>value</I> option. Its
+value should be the name of a sectional unit (e.g. chapter).
+This will make the glossaries appear in the named sectional unit,
+otherwise each glossary will appear in a chapter, if chapters
+exists, otherwise in a section. Unnumbered sectional units will be used
+by default. Example:
+<PRE>
+\usepackage[section=subsection]{glossaries}
+</PRE>
+You can omit the value if you want to use sections, i.e. <PRE>
+\usepackage[section]{glossaries}
+</PRE>
+is equivalent to
+<PRE>
+\usepackage[section=section]{glossaries}
+</PRE>
+You can change this value later in the document using
+<TT>&#92;setglossarysection</TT><A NAME="2201"></A><TT>{</TT><EM>type</EM><TT>}</TT>.
+
+<P>
+</DD>
+<DT><STRONG><TT>numberedsection</TT><A NAME="2209"></A></STRONG></DT>
+<DD>The glossaries are placed in unnumbered sectional units by default,
+but this can be changed using <TT>numberedsection</TT><A NAME="2218"></A>. This option can take
+three possible values: <TT>false</TT><A NAME="2222"></A> (no
+number, i.e. use starred form), <TT>nolabel</TT><A NAME="2224"></A>
+(numbered, i.e. unstarred form, but not labelled) and
+<TT>autolabel</TT><A NAME="2226"></A> (numbered with automatic
+labelling). If <TT>numberedsection=autolabel</TT><A NAME="2235"></A> is used, each
+glossary is given a label that matches the glossary type, so the
+main (default) glossary is labelled <TT>main</TT>, the list of
+acronyms is labelled <TT>acronym</TT><A NAME="tex2html5"
+ HREF="#foot1670"><SUP>2</SUP></A> and additional glossaries are labelled
+using the value specified in the first mandatory argument to
+<TT>&#092;newglossary</TT>. For example, if you load <TT>glossaries</TT>
+using:
+<PRE>
+\usepackage[section,numberedsection=autolabel]{glossaries}
+</PRE>
+then each glossary will appear in a numbered section, and can
+be referenced using something like:
+<PRE>
+The main glossary is in section~\ref{main} and the list of
+acronyms is in section~\ref{acronym}.
+</PRE>
+If you can't decide whether to have the acronyms in the main
+glossary or a separate list of acronyms, you can use
+<TT>&#92;acronymtype</TT><A NAME="2247"></A> which is set to <TT>main</TT> if the
+<TT>acronym</TT><A NAME="2255"></A> option is not used and is set to <TT>acronym</TT>
+if the <TT>acronym</TT><A NAME="2264"></A> option is used. For example:
+<PRE>
+The list of acronyms is in section~\ref{\acronymtype}.
+</PRE>
+
+<P>
+</DD>
+<DT><STRONG><TT>style</TT><A NAME="2273"></A></STRONG></DT>
+<DD>This is a <I>key</I>=<I>value</I> option. Its
+value should be the name of the glossary style to use. Predefined
+glossary styles are listed <A HREF="glossaries-manual.html#sec:styles">later</A>.
+
+<P>
+</DD>
+<DT><STRONG><TT>nonumberlist</TT><A NAME="2282"></A></STRONG></DT>
+<DD>This option will suppress the
+associated number lists<A NAME="2285"></A> in the glossaries (see also
+<A HREF="glossaries-manual.html#sec:numberlists">Number Lists</A>.)
+
+<P>
+</DD>
+<DT><STRONG><TT>counter</TT><A NAME="2292"></A></STRONG></DT>
+<DD>This is a <I>key</I>=<I>value</I> option. The
+value should be the name of the default counter to use in the number
+lists<A NAME="2295"></A>.
+
+<P>
+<A NAME="sanitize"></A>
+</DD>
+<DT><STRONG><TT>sanitize</TT><A NAME="2302"></A></STRONG></DT>
+<DD>This is a <I>key</I>=<I>value</I> option whose
+value is also a <I>key</I>=<I>value</I> list. By default, the
+<TT>glossaries</TT> package sanitizes the values of the
+<TT>name</TT><A NAME="2307"></A>, <TT>description</TT><A NAME="2310"></A> and <TT>symbol</TT><A NAME="2313"></A> keys used
+when defining a new glossary entry. This may lead to unexpected results
+if you try to display these values within the document text. This
+sanitization can be switched off using the <TT>sanitize</TT><A NAME="2321"></A> package
+option. For example, to switch off the sanitization for the
+<TT>description</TT><A NAME="2325"></A> and <TT>name</TT><A NAME="2328"></A> keys, but not for the
+<TT>symbol</TT><A NAME="2331"></A> key, do:
+<PRE>
+\usepackage[sanitize={name=false,description=false,%
+symbol=true}]{glossaries}
+</PRE>
+
+<P>
+<B>Note</B>: this sanitization only applies to the <TT>name</TT><A NAME="2334"></A>,
+<TT>description</TT><A NAME="2337"></A> and <TT>symbol</TT><A NAME="2340"></A> keys. It doesn't apply
+to any of the other keys (except the <TT>sort</TT><A NAME="2343"></A> key which is
+always sanitized) so fragile commands contained in the value of
+the other keys must always be protected using <TT>&#092;protect</TT>.
+Since the value of the <TT>text</TT><A NAME="2346"></A> key is obtained from the
+<TT>name</TT><A NAME="2349"></A> key, you will still need to protect fragile commands
+in the <TT>name</TT><A NAME="2352"></A> key if you don't use the <TT>text</TT><A NAME="2355"></A> key.
+
+<P>
+</DD>
+<DT><STRONG><TT>babel</TT><A NAME="2363"></A></STRONG></DT>
+<DD>This is a boolean key and is for use when
+the <TT>glossaries</TT> package is used in conjunction with the
+<TT>babel</TT><A NAME="2368"></A> package. The default is <TT>babel=true</TT><A NAME="2378"></A>, which
+adds the glossary translations to <TT>babel</TT><A NAME="2380"></A>'s captions. If
+you don't like the translations provided by the <TT>glossaries</TT>
+package, you can set <TT>babel=false</TT><A NAME="2391"></A> and provide your own
+translations.
+
+<P>
+</DD>
+<DT><STRONG><TT>description</TT><A NAME="2398"></A></STRONG></DT>
+<DD>This option changes the definition of
+<TT>&#92;newacronym</TT><A NAME="2402"></A> to allow a description. See <A HREF="glossaries-manual.html#sec:acronyms">later</A>
+for further details.
+
+<P>
+</DD>
+<DT><STRONG><TT>footnote</TT><A NAME="2410"></A></STRONG></DT>
+<DD>This option changes the definition of
+<TT>&#92;newacronym</TT><A NAME="2414"></A> and the way that acronyms are displayed. See <A HREF="glossaries-manual.html#sec:acronyms">later</A>
+for further details.
+
+<P>
+</DD>
+<DT><STRONG><TT>smallcaps</TT><A NAME="2422"></A></STRONG></DT>
+<DD>This option changes the definition of
+<TT>&#92;newacronym</TT><A NAME="2426"></A> and the way that acronyms are displayed. See <A HREF="glossaries-manual.html#sec:acronyms">later</A>
+for further details.
+
+<P>
+</DD>
+<DT><STRONG><TT>dua</TT><A NAME="2434"></A></STRONG></DT>
+<DD>This option changes the definition of
+<TT>&#92;newacronym</TT><A NAME="2438"></A> so that acronyms are always expanded.
+See <A HREF="glossaries-manual.html#sec:acronyms">later</A>
+for further details.
+
+<P>
+</DD>
+</DL>
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00042000000000000000"></A>
+<A NAME="sec:newglosentry"></A>
+<BR>
+Defining Glossary Entries
+</H2>
+
+<P>
+All glossary entries that are used in a document must be defined in
+the preamble. Only those entries that occur in the document
+(using any of the commands described in <A HREF="glossaries-manual.html#sec:glslink">Links to Glossary Entries</A> and
+<A HREF="glossaries-manual.html#sec:glsadd">Adding an entry to the glossary without generating text</A>) will appear in the glossary. Each time an entry
+is used in this way, a line is added to an associated glossary
+(<TT>.glo</TT><A NAME="2444"></A>) file, which then needs to be converted into a
+corresponding <TT>.gls</TT><A NAME="2446"></A> file which contains the typeset glossary
+which is input by <TT>&#92;printglossary</TT><A NAME="2448"></A> or
+<TT>&#92;printglossaries</TT><A NAME="2451"></A>. The Perl script <TT>makeglossaries</TT><A NAME="2454"></A>
+can be used to call <TT>makeindex</TT><A NAME="2457"></A>, using a customised
+<TT>.ist</TT><A NAME="2460"></A> style file, for each of the glossaries that are defined
+in the document. Note that there should be no need for you to
+explicitly edit or input any of these external files.
+
+<P>
+The command <TT>&#092;makeglossaries</TT> must be placed in the preamble in
+order to create the customised <TT>makeindex</TT><A NAME="2462"></A> <TT>.ist</TT><A NAME="2465"></A>
+style file and to ensure that glossary entries are written to the
+appropriate output file. If you omit <TT>&#092;makeglossaries</TT> none of the
+glossaries will be created. Note that if your page numbers use a
+hyphen compositor, you must set this by redefining
+<TT>&#092;glscompositor</TT> <I>before</I>
+using <TT>&#092;makeglossaries</TT>:
+<PRE>
+\renewcommand*{\glscompositor}{-}
+</PRE>
+(The default value of <TT>&#092;glscompositor</TT> is a full stop.)
+
+<P>
+New glossary entries are defined using the command:
+<BR>
+<BR><TT>&#092;newglossaryentry{</TT><EM>label</EM><TT>}{</TT><EM>key-val list</EM><TT>}</TT>
+<BR>
+<BR>
+The first
+argument, <I>label</I>, must be a unique label with which to identify
+this entry. The second argument, <I>key-val list</I>, is a
+<I>key</I>=<I>value</I> list that supplies the relevant information
+about this entry. There are two required fields: <TT>name</TT><A NAME="2467"></A> and
+<TT>description</TT><A NAME="2470"></A>. Available fields are listed below:
+
+<P>
+<DL>
+<DT><STRONG><TT>name</TT><A NAME="2473"></A></STRONG></DT>
+<DD>The name of the entry (as it will appear in the
+glossary).
+
+<P>
+</DD>
+<DT><STRONG><TT>description</TT><A NAME="2476"></A></STRONG></DT>
+<DD>A brief description of this term (to
+appear in the glossary).
+
+<P>
+</DD>
+<DT><STRONG><TT>text</TT><A NAME="2479"></A></STRONG></DT>
+<DD>How this entry will appear in the document text
+when using <TT>&#92;gls</TT><A NAME="2482"></A> (or one of its uppercase variants). If this
+field is omitted, the value of the <TT>name</TT><A NAME="2485"></A> key is used.
+
+<P>
+</DD>
+<DT><STRONG><TT>first</TT><A NAME="2488"></A></STRONG></DT>
+<DD>How the entry will appear in the document text
+the first time it is used with <TT>&#92;gls</TT><A NAME="2491"></A> (or one of its uppercase
+variants). If this field is omitted, the value of the <TT>text</TT><A NAME="2494"></A>
+key is used.
+
+<P>
+</DD>
+<DT><STRONG><TT>plural</TT><A NAME="2497"></A></STRONG></DT>
+<DD>How the entry will appear in the document text
+when using <TT>&#92;glspl</TT><A NAME="2500"></A> (or one of its uppercase variants).
+If this field is omitted, the value is obtained by appending an
+"s" to the value of the <TT>text</TT><A NAME="2503"></A> field.
+
+<P>
+</DD>
+<DT><STRONG><TT>firstplural</TT><A NAME="2506"></A></STRONG></DT>
+<DD>How the entry will appear in the document
+text the first time it is used with <TT>&#92;glspl</TT><A NAME="2509"></A> (or one of
+its uppercase variants). If this field is omitted, the value is
+obtained by appending an "s" to the value of the <TT>first</TT><A NAME="2512"></A>
+field.
+
+<P>
+</DD>
+<DT><STRONG><TT>symbol</TT><A NAME="2515"></A></STRONG></DT>
+<DD>This field is provided to allow the user to
+specify an associated symbol, but most glossary styles ignore
+this value. If omitted, the value is set to <TT>&#092;relax</TT>.
+
+<P>
+</DD>
+<DT><STRONG><TT>sort</TT><A NAME="2518"></A></STRONG></DT>
+<DD>This value indicates how <TT>makeindex</TT><A NAME="2521"></A>
+should sort this entry. If omitted, the value is given by the
+<TT>name</TT><A NAME="2524"></A> field. This value is equivalent to
+<TT>makeindex</TT><A NAME="2527"></A>'s "actual" character (which is usually the
+at-sign @ although the <TT>glossaries</TT> package uses a different
+symbol).
+
+<P>
+</DD>
+<DT><STRONG><TT>type</TT><A NAME="2531"></A></STRONG></DT>
+<DD>This is the glossary type to which this entry
+belongs. If omitted, the default glossary is assumed
+(<TT>type=main</TT>). The list of acronyms type is given by
+<TT>&#92;acronymtype</TT><A NAME="2534"></A> which will either be <TT>main</TT> or
+<TT>acronym</TT>, depending on whether the <TT>acronym</TT><A NAME="2542"></A> package
+option was used.
+</DD>
+</DL>
+Note that if the <TT>text</TT><A NAME="2546"></A> key (or the <TT>name</TT><A NAME="2549"></A> key, if the
+<TT>text</TT><A NAME="2552"></A> key is omitted) starts with an accented letter,
+you must group the accented letter, otherwise it will cause a
+problem for <TT>&#092;Gls</TT> and <TT>&#092;Glspl</TT>. For example:
+<PRE>
+\newglossaryentry{elite}{name={{\'e}lite},
+description={select group or class}}
+</PRE>
+(Likewise for the <TT>plural</TT><A NAME="2555"></A>, <TT>first</TT><A NAME="2558"></A> and
+<TT>firstplural</TT><A NAME="2561"></A> keys.)
+
+<P>
+You can store all your glossary entry definitions in another
+file, and use:
+<BR>
+<BR><TT>&#092;loadglsentries[</TT><EM>type</EM><TT>]{</TT><EM>filename</EM><TT>}</TT>
+<BR>
+<BR>
+where <I>filename</I> is the name of the file containing all the
+<TT>&#092;newglossaryentry</TT> commands. The optional argument
+<I>type</I> is the name of the glossary to which those entries
+should belong, for those entries where the <TT>type</TT><A NAME="2564"></A> key has
+been omitted. Note that only those entries that have been used
+in the text will appear in the relevant glossaries.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00043000000000000000"></A>
+<A NAME="sec:numberlists"></A>
+<BR>
+Number lists
+</H2>
+
+<P>
+Each entry in the glossary has an associated <I>number list</I><A NAME="2570"></A>.
+By default,
+these numbers refer to the pages on which that entry has been used
+(using any of the commands described in <A HREF="glossaries-manual.html#sec:glslink">Links to Glossary Entries</A>
+and <A HREF="glossaries-manual.html#sec:glsadd">Adding an entry to the glossary without generating text</A>). The number list can be suppressed using
+the <TT>nonumberlist</TT><A NAME="2577"></A> package option, or an alternative counter
+can be set as the default using the <TT>counter</TT><A NAME="2586"></A> package option.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00044000000000000000"></A>
+<A NAME="sec:glslink"></A>
+<BR>
+Links to Glossary Entries
+</H2>
+
+<P>
+Once you have defined a glossary entry using
+<TT>&#92;newglossaryentry</TT><A NAME="2593"></A>, you can refer to that entry in the
+document using one of the commands listed in this section. The
+text which appears at that point in the document when using
+one of these commands is referred to as the
+<I>link text</I><A NAME="2596"></A> (even if there are no hyperlinks).
+
+<P>
+The way the link text<A NAME="2597"></A> is displayed
+depends on <TT>&#092;glstextformat{</TT><EM>text</EM><TT>}</TT>.
+For example, to make all link text<A NAME="2598"></A> appear in a sans-serif
+font, do:
+<PRE>
+\renewcommand*{\glstextformat}[1]{\textsf{#1}}
+</PRE>
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glslink[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}{</TT><EM>text</EM><TT>}</TT>
+<BR>
+<BR>
+will place <I>text</I> in the document at that point and add
+a line into the associated glossary file for the glossary entry
+given by <I>label</I>. If hyperlinks are supported, <I>text</I>
+will be a hyperlink to the relevant line in the glossary. The
+optional argument <I>options</I> must be a <I>key</I>=<I>value</I>
+list which can take any of the following keys:
+
+<P>
+<DL>
+<DT><STRONG><TT>format</TT><A NAME="2600"></A></STRONG></DT>
+<DD>This specifies how to format the
+associated number for this entry in the glossary. This value is
+equivalent to the <TT>makeindex</TT><A NAME="2603"></A> encap value, and (as with
+<TT>&#092;index</TT>) the value needs to be the name of a command <I>without</I>
+the initial backslash. As with <TT>&#092;index</TT>, the characters <code>(</code> and
+<code>)</code> can also be used to specify the beginning and ending of a
+number range. Again as with <TT>&#092;index</TT>, the command should be the name
+of a command which takes an argument (which will be the associated
+number). Be careful not to use a declaration (such as <TT>&#092;bfseries</TT>)
+instead of a text block command (such as <TT>&#092;textbf</TT>) as the effect is
+not guaranteed to be localised. If you want to apply more than one
+style to a given entry (e.g. <B>bold</B> and <I>italic</I>) you will
+need to create a command that applies both formats, e.g.
+<PRE>
+\newcommand*{\textbfem}[1]{\textbf{\emph{#1}}}
+</PRE>
+and use that command.
+
+<P>
+If you are using hyperlinks and you want to change the font of the
+hyperlink, don't use <TT>&#092;hyperpage</TT> (provided by the <TT>hyperref</TT><A NAME="2606"></A>
+package) as the numbers may not refer to a page number.
+Instead, the <TT>glossaries</TT> package provides the following
+number formats:
+<DIV ALIGN="CENTER">
+<TABLE CELLPADDING=3>
+<TR><TD ALIGN="LEFT"><TT>hyperrm</TT></TD>
+<TD ALIGN="LEFT">The number is a serif hyperlink to the relevant part of the
+document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypersf</TT></TD>
+<TD ALIGN="LEFT">The number is a sans-serif hyperlink to the relevant part
+of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypertt</TT></TD>
+<TD ALIGN="LEFT">The number is a monospaced hyperlink to the relevant part
+of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hyperbf</TT></TD>
+<TD ALIGN="LEFT">The number is a bold hyperlink to the relevant part of the
+document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypermd</TT></TD>
+<TD ALIGN="LEFT">The number is a medium weight hyperlink to the relevant
+part of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hyperit</TT></TD>
+<TD ALIGN="LEFT">The number is an italic hyperlink to the relevant
+part of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypersl</TT></TD>
+<TD ALIGN="LEFT">The number is a slanted hyperlink to the relevant
+part of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hyperup</TT></TD>
+<TD ALIGN="LEFT">The number is an upright hyperlink to the relevant
+part of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypersc</TT></TD>
+<TD ALIGN="LEFT">The number is a small caps hyperlink to the relevant
+part of the document</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hyperemph</TT></TD>
+<TD ALIGN="LEFT">The number is an emphasized hyperlink to the relevant
+part of the document</TD>
+</TR>
+</TABLE>
+
+</DIV>
+Note that if the <TT>&#092;hyperlink</TT> command hasn't been defined,
+the <TT>hyper</TT><I>xx</I> formats are equivalent to the
+analogous <TT>&#092;text</TT><I>xx</I> font commands. If you want to
+make a new format, you will need to define a command which takes
+one argument and use that; for example, if you want the associated
+number in the glossary to be in a bold sans-serif font, you can define a
+command called, say, <TT>&#092;hyperbsf</TT>:
+<PRE>
+\newcommand{\hyperbsf}[1]{\textbf{\hypersf{#1}}}
+</PRE>
+and then use <TT>hyperbsf</TT> as the value for the <TT>format</TT><A NAME="2610"></A>
+key.
+
+<P>
+</DD>
+<DT><STRONG><TT>counter</TT><A NAME="2613"></A></STRONG></DT>
+<DD>This specifies which counter
+to use for the associated number for this glossary entry. (See also
+<A HREF="glossaries-manual.html#sec:numberlists">Number Lists</A>.)
+
+<P>
+</DD>
+<DT><STRONG><TT>hyper</TT><A NAME="2616"></A></STRONG></DT>
+<DD>This is a boolean key which can
+be used to enable/disable the hyperlink to the relevant entry
+in the glossary. (Note that setting <TT>hyper=true</TT> will have no
+effect if <TT>&#092;hyperlink</TT> has not been defined.) The default
+value is <TT>hyper=true</TT>.
+
+<P>
+</DD>
+</DL>
+
+There is also a starred version:
+<BR>
+<BR><TT>&#092;glslink*[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}{</TT><EM>text</EM><TT>}</TT>
+<BR>
+<BR>
+which is equivalent to <TT>&#092;glslink</TT>, except it sets
+<TT>hyper=false</TT>.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;gls[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is the same as <TT>&#092;glslink</TT>, except that the link text<A NAME="2618"></A>
+is determined from the values of the <TT>text</TT><A NAME="2620"></A> and
+<TT>first</TT><A NAME="2623"></A> keys supplied when the entry was defined using
+<TT>&#92;newglossaryentry</TT><A NAME="2626"></A>. There are two uppercase variants:
+<BR>
+<BR>
+<TT>&#092;Gls[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+and
+<BR>
+<BR>
+<TT>&#092;GLS[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+which make the first letter of the link or all the link text
+uppercase, respectively.
+
+<P>
+The final optional argument <I>insert</I>, allows you to insert
+some additional text into the link text. By default, this will
+append <I>insert</I> at the end of the link text. The first optional
+argument <I>options</I> is the same as the optional argument to
+<TT>&#92;glslink</TT><A NAME="2629"></A>. As with <TT>&#092;glslink</TT>, these commands also have
+a starred version that disable the hyperlink.
+
+<P>
+There are also analogous plural forms:
+<BR>
+<BR>
+<TT>&#092;glspl[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;Glspl[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSpl[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+These determine the link text from the <TT>plural</TT><A NAME="2632"></A> and
+<TT>firstplural</TT><A NAME="2635"></A> keys supplied when the entry was first
+defined. As before, these commands also have
+a starred version that disable the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glstext[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2638"></A> except that it always uses the value
+of the <TT>text</TT><A NAME="2641"></A> key and does not mark the entry as
+having been used.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glstext[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLStext[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glsfirst[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2644"></A> except that it always uses the value
+of the <TT>first</TT><A NAME="2647"></A> key and does not mark the entry as
+having been used.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glsfirst[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSfirst[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glsplural[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2650"></A> except that it always uses the value
+of the <TT>plural</TT><A NAME="2653"></A> key and does not mark the entry as
+having been used.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glsplural[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSplural[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glsfirstplural[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2656"></A> except that it always uses the value
+of the <TT>firstplural</TT><A NAME="2659"></A> key and does not mark the entry as
+having been used.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glsfirstplural[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSfirstplural[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glsname[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2662"></A> except that it always uses the value
+of the <TT>name</TT><A NAME="2665"></A> key and does not mark the entry as
+having been used. Note: if you want to use this command and the
+<TT>name</TT><A NAME="2668"></A> key contains commands, you will have to disable the
+<A HREF="glossaries-manual.html#sanitize">sanitization</A>
+of the <TT>name</TT><A NAME="2671"></A> key and protect fragile commands.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glsname[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSname[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glssymbol[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2674"></A> except that it always uses the value
+of the <TT>symbol</TT><A NAME="2677"></A> key and does not mark the entry as
+having been used. Note: if you want to use this command and the
+<TT>symbol</TT><A NAME="2680"></A> key contains commands, you will have to disable the
+<A HREF="glossaries-manual.html#sanitize">sanitization</A>
+of the <TT>symbol</TT><A NAME="2683"></A> key and protect fragile commands.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glssymbol[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSsymbol[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+The command:
+<BR>
+<BR><TT>&#092;glsdesc[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+is similar to <TT>&#92;gls</TT><A NAME="2686"></A> except that it always uses the value
+of the <TT>description</TT><A NAME="2689"></A> key and does not mark the entry as
+having been used. Note: if you want to use this command and the
+<TT>description</TT><A NAME="2692"></A> key contains commands, you will have to disable the
+<A HREF="glossaries-manual.html#sanitize">sanitization</A>
+of the <TT>description</TT><A NAME="2695"></A> key and protect fragile commands.
+
+<P>
+There are also analogous commands:
+<BR>
+<BR>
+<TT>&#092;Glsdesc[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+<TT>&#092;GLSdesc[</TT><EM>options</EM><TT>]{</TT><EM>text</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+<P>
+
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H3><A NAME="SECTION00044100000000000000"></A>
+<A NAME="sec:glsdisplay"></A>
+<BR>
+Changing the format of the link text
+</H3>
+
+<P>
+The format of the link text<A NAME="2700"></A> for <TT>&#92;gls</TT><A NAME="2702"></A>, <TT>&#92;glspl</TT><A NAME="2705"></A>
+and their uppercase variants is governed by two commands:
+<TT>&#092;glsdisplayfirst</TT>, which is used the
+first time a glossary entry is used in the text and
+<TT>&#092;glsdisplay</TT>, which is used subsequently.
+Both commands take four arguments: the first is either the singular or
+plural form given by the <TT>text</TT><A NAME="2708"></A>, <TT>plural</TT><A NAME="2711"></A>,
+<TT>first</TT><A NAME="2714"></A> or <TT>firstplural</TT><A NAME="2717"></A> keys (used when the term was
+defined) depending on context; the second argument is the term's
+description (as supplied by the <TT>description</TT><A NAME="2720"></A> key); the third
+argument is the symbol associated with the term (as supplied by the
+<TT>symbol</TT><A NAME="2723"></A> key) and the fourth argument is the additional text
+supplied in the final optional argument to <TT>&#092;gls</TT> or
+<TT>&#092;glspl</TT> (or their uppercase variants). The default definitions
+of <TT>&#092;glsdisplay</TT> and <TT>&#092;glsdisplayfirst</TT> simply
+print the first argument immediately followed by the fourth argument.
+The remaining arguments are ignored.
+
+<P>
+For example, suppose you want a glossary of measurements and
+units, you can use the <TT>symbol</TT><A NAME="2726"></A> key to store the unit:
+<PRE>
+\newglossaryentry{distance}{name=distance,
+description={The length between two points},
+symbol={km}}
+</PRE>
+and now suppose you want <code>\gls{distance}</code> to produce
+"distance (km)" on first use, then you can redefine
+<TT>&#092;glsdisplayfirst</TT> as follows:
+<PRE>
+\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
+</PRE>
+Note that the additional text is placed after <code>#1</code>, so
+<code>\gls{distance}['s]</code> will produce "distance's (km)"
+rather than "distance (km)'s" which looks a bit odd (even though
+it may be in the context of "the distance (km) is measured between
+the two points" -- but in this instance it may be better not to
+use a contraction).
+
+<P>
+Note also that all of the link text<A NAME="2728"></A> will be formatted according
+to <TT>&#92;glstextformat</TT><A NAME="2730"></A> (described earlier). So if you do, say:
+<PRE>
+\renewcommand{\glstextformat}[1]{\textbf{#1}}
+\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
+</PRE>
+then <code>\gls{distance}</code> will produce "<B>distance (km)</B>".
+
+<P>
+If you have multiple glossaries, changing <TT>&#092;glsdisplayfirst</TT> and
+<TT>&#092;glsdisplay</TT> will change the way entries for all of the
+glossaries appear when using commands <TT>&#092;gls</TT>, <TT>&#092;glspl</TT> and their
+uppercase variants. If you only
+want the change to affect entries for a given glossary, then you need
+to use <TT>&#092;defglsdisplay</TT> and
+<TT>&#092;defglsdisplayfirst</TT> instead
+of redefining <TT>&#092;glsdisplay</TT> and <TT>&#092;glsdisplayfirst</TT>.
+
+<P>
+Both <TT>&#092;defglsdisplay</TT> and <TT>&#092;defglsdisplayfirst</TT> take two arguments:
+the first (which is optional) is the glossary name<A NAME="tex2html6"
+ HREF="#foot1718"><SUP>3</SUP></A> and the second is how the term should be
+displayed when it is invoked using commands <TT>&#092;gls</TT>,
+<TT>&#092;glspl</TT> and their uppercase variants. This is similar to the way <TT>&#092;glsdisplayfirst</TT> was
+redefined above.
+
+<P>
+For example, suppose you have created a new glossary called
+<TT>notation</TT> and you want to change the way the entry is
+displayed on first use so that it includes the symbol, you can
+do:
+<PRE>
+\defglsdisplayfirst[notation]{#1#4 (denoted #3)}
+</PRE>
+Now suppose you have defined an entry as follows:
+<PRE>
+\newglossaryentry{set}{type=notation,
+name=set,
+description={A collection of objects},
+symbol={$S$},
+}
+</PRE>
+The first time you reference this entry using <TT>&#092;gls</TT> it
+will be displayed as: "set (denoted <I>S</I>)"
+(similarly for <TT>&#092;glspl</TT> and the uppercase variants).
+
+<P>
+Remember that if you use the <TT>symbol</TT><A NAME="2737"></A> key, you need to use a
+glossary style that displays the symbol, as many of the styles ignore
+it. In addition, if you want either the description or symbol to appear
+in the link text<A NAME="2739"></A>, you will have to disable the
+<A HREF="glossaries-manual.html#sanitize">sanitization</A>
+of these keys and protect fragile commands.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H3><A NAME="SECTION00044200000000000000">
+Enabling and disabling hyperlinks to glossary entries</A>
+</H3>
+
+<P>
+If you load the <TT>hyperref</TT><A NAME="2744"></A> or <TT>html</TT><A NAME="2747"></A> packages prior to
+loading the <TT>glossaries</TT> package, commands such as <TT>&#92;glslink</TT><A NAME="2751"></A>
+and <TT>&#92;gls</TT><A NAME="2754"></A>, described above, will automatically have hyperlinks
+to the relevant glossary entry, unless the <TT>hyper</TT><A NAME="2757"></A>
+option has been set to <TT>false</TT>. You can disable or enable links using:
+<BR>
+<BR><TT>&#092;glsdisablehyper</TT>
+<BR>
+<BR>
+and
+<BR>
+<BR><TT>&#092;glsenablehyper</TT>
+<BR>
+<BR>
+respectively. The effect can be localised by placing the commands
+within a group. Note that you should only use <TT>&#092;glsenablehyper</TT>
+if the commands <TT>&#92;hyperlink</TT><A NAME="2760"></A> and <TT>&#92;hypertarget</TT><A NAME="2763"></A> have been
+defined (for example, by the <TT>hyperref</TT><A NAME="2766"></A> package).
+
+<P>
+
+<H2><A NAME="SECTION00045000000000000000"></A>
+<A NAME="sec:glsadd"></A>
+<BR>
+Adding an entry to the glossary without generating text
+</H2>
+
+<P>
+It is possible to add a line in the glossary file without
+generating any text at that point in the document using:
+<BR>
+<BR><TT>&#092;glsadd[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}</TT>
+<BR>
+<BR>
+This is similar to <TT>&#92;glslink</TT><A NAME="2769"></A>, only it doesn't produce
+any text (so therefore, there is no <TT>hyper</TT><A NAME="2772"></A> key
+available in <I>options</I> but all the other options that can
+be used with <TT>&#092;glslink</TT> can be passed to <TT>&#092;glsadd</TT>).
+
+<P>
+To add all entries that have been defined, use:
+<BR>
+<BR><TT>&#092;glsaddall[</TT><EM>glossary list</EM><TT>]</TT>
+<BR>
+<BR>
+If there are multiple glossaries, you can specify to add only
+those entries which belong to the glossaries listed in
+<I>glossary list</I> (which must be a comma separated list of
+glossary names). For example:
+<PRE>
+\glsaddall[notation]
+</PRE>
+will add all the entries that have been defined for the glossary
+labelled "notation".
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00046000000000000000">
+Displaying a glossary</A>
+</H2>
+
+<P>
+The command <TT>&#092;printglossaries</TT> will display all the
+defined glossaries. Note that no glossaries will appear until
+you have either used the Perl script <TT>makeglossaries</TT><A NAME="2778"></A>
+or have directly used <TT>makeindex</TT><A NAME="2781"></A> (as described in
+<A HREF="glossaries-manual.html#sec:makeglossaries">Generating the Associated Glossary Files</A>). If the glossary still
+does not appear after you re-LaTeX your document, check
+the <TT>makeindex</TT><A NAME="2784"></A> log files to see if there is a problem.
+Remember that you also need to use the command <TT>&#92;makeglossaries</TT><A NAME="2787"></A> in
+the preamble to enable the glossaries.
+
+<P>
+An individual glossary is displayed using:
+<BR>
+<BR><TT>&#092;printglossary[</TT><EM>options</EM><TT>]</TT>
+<BR>
+<BR>
+where <I>options</I> is a <I>key</I>=<I>value</I> list of options.
+The following keys are available:
+<DL>
+<DT><STRONG><TT>type</TT><A NAME="2790"></A></STRONG></DT>
+<DD>The value of this key
+specifies which glossary to print. If omitted, the default
+glossary is assumed. For example, to print the list of acronyms:
+<PRE>
+\printglossary[type=\acronymtype]
+</PRE>
+
+<P>
+</DD>
+<DT><STRONG><TT>title</TT><A NAME="2793"></A></STRONG></DT>
+<DD>This is the glossary's
+title (overriding the title specified when the glossary was
+defined).
+
+<P>
+</DD>
+<DT><STRONG><TT>toctitle</TT><A NAME="2796"></A></STRONG></DT>
+<DD>This is the title
+to use for the table of contents (if the <TT>toc</TT><A NAME="2804"></A> package
+option has been used). If omitted, the glossary title is used.
+
+<P>
+</DD>
+<DT><STRONG><TT>style</TT><A NAME="2808"></A></STRONG></DT>
+<DD>This specifies which
+glossary style to use for this glossary, overriding the effect
+of the <TT>style</TT><A NAME="2816"></A> option or <TT>&#92;glossarystyle</TT><A NAME="2820"></A>.
+</DD>
+</DL>
+
+<P>
+Information can be added to the start of the glossary by redefining
+<TT>&#092;glossarypreamble</TT>. For example:
+<PRE>
+\renewcommand{\glossarypreamble}{Numbers in italic indicate
+primary definitions.}
+</PRE>
+This needs to be done before the glossary is displayed using
+<TT>&#092;printglossaries</TT> or <TT>&#092;printglossary</TT>. Note that if you
+want a different preamble for each glossary, you will need to
+use a separate <TT>&#092;printglossary</TT> for each glossary and change
+the definition of <TT>&#092;glossarypreamble</TT> between each glossary.
+For example:
+<PRE>
+\renewcommand{\glossarypreamble}{Numbers in italic indicate
+primary definitions.}
+\printglossary
+\renewcommand{\glossarypreamble}{}
+\printglossary[type=acronym]
+</PRE>
+Alternatively, you can do something like:
+<PRE>
+\renewcommand{\glossarypreamble}{Numbers in italic indicate
+primary definitions.\gdef\glossarypreamble{}}
+\printglossaries
+</PRE>
+which will print the preamble text for the first glossary and
+change the preamble to do nothing for subsequent glossaries.
+(Note that <TT>&#092;gdef</TT> is required as the glossary is placed within
+a group.)
+
+<P>
+There is an analogous command
+called <TT>&#092;glossarypostamble</TT> which is placed at the end of each
+glossary.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H3><A NAME="SECTION00046100000000000000"></A>
+<A NAME="sec:glsnamefont"></A>
+<BR>
+Changing the way the entry name appears in the glossary
+</H3>
+
+<P>
+Within each glossary, each entry name is
+formatted according to <TT>&#092;glsnamefont</TT> which takes one argument: the
+entry name. This command is always used regardless of the glossary
+style. By default, <TT>&#092;glsnamefont</TT> simply displays its argument in
+whatever the surrounding font happens to be. This means that in the
+list styles the name will appear in bold, since the name is placed in
+the optional argument of <TT>&#092;item</TT>, whereas in the tabular styles the
+name will appear in the normal font.
+
+<P>
+For example, suppose you want all the entry names to appear in
+medium weight small caps, then you can do:
+<PRE>
+\renewcommand{\glsnamefont}[1]{\textsc{\mdseries #1}}
+</PRE>
+
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00047000000000000000">
+Defining New Glossaries</A>
+</H2>
+
+<P>
+A new glossary can be defined using:
+<BR>
+<BR><TT>&#092;newglossary[</TT><EM>log-ext</EM><TT>]{</TT><EM>name</EM><TT>}{</TT><EM>in-ext</EM><TT>}{</TT><EM>out-ext</EM><TT>}{</TT><EM>title</EM><TT>}[</TT><EM>counter</EM><TT>]</TT>
+<BR>
+<BR>
+where <I>name</I> is label to assign to this glossary. The arguments
+<I>in-ext</I> and <I>out-ext</I> specify the extensions to give to the
+input and output files for that glossary, <I>title</I> is the default
+title for this new glossary and the final optional argument
+<I>counter</I> specifies which counter to use for the associated number
+lists<A NAME="2828"></A> (see also <A HREF="glossaries-manual.html#sec:numberlists">Number Lists</A>.) The
+first optional argument specifies the extension for the
+<TT>makeindex</TT><A NAME="2830"></A> transcript file (this information is only used by
+<TT>makeglossaries</TT><A NAME="2833"></A> which picks up the information from the
+auxiliary file.)
+
+<P>
+Note that the main (default) glossary is automatically created as:
+<PRE>
+\newglossary{main}{gls}{glo}{\glossaryname}
+</PRE>
+so it can be identified by the label <TT>main</TT>. Using the
+<TT>acronym</TT><A NAME="2841"></A> package option is equivalent to:
+<PRE>
+\newglossary[alg]{acronym}{acr}{acn}{\acronymname}
+</PRE>
+so it can be identified by the label <TT>acronym</TT>. If you are
+not sure whether the <TT>acronym</TT><A NAME="2850"></A> option has been used, you
+can identify the list of acronyms by the command
+<TT>&#092;acronymtype</TT> which is set to
+<TT>acronym</TT>, if the <TT>acronym</TT><A NAME="2859"></A> option has been used,
+otherwise it is set to <TT>main</TT>.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00048000000000000000"></A>
+<A NAME="sec:acronyms"></A>
+<BR>
+Acronyms
+</H2>
+
+<P>
+As you may have noticed in <A HREF="glossaries-manual.html#sec:newglosentry">Defining Glossary Entries</A>, when you
+specify a new entry, you can specify alternate text to use when
+the term is first used in the document. This provides a useful
+means to define acronyms. The <TT>glossaries</TT> package defines
+the command:
+<BR>
+<BR><TT>&#092;newacronym[</TT><EM>key-val list</EM><TT>]{</TT><EM>label</EM><TT>}{</TT><EM>abbrv</EM><TT>}{</TT><EM>long</EM><TT>}</TT>
+<BR>
+<BR>
+This is equivalent to:
+<P>
+<TT>
+<TT>&#092;newglossaryentry</TT></TT> <TT>{</TT><EM>label</EM><TT>}{type=<TT>&#092;acronymtype</TT>,
+<BR>
+name=</TT> <TT>{</TT><EM>abbrv</EM><TT>},
+<BR>
+description=</TT> <TT>{</TT><EM>long</EM><TT>},
+<BR>
+text=</TT> <TT>{</TT><EM>abbrv</EM><TT>},
+<BR>
+first={</TT> <I>long</I><TT> (</TT> <I>abbrv</I><TT>)},
+<BR>
+plural={</TT> <I>abbrv</I><TT>s},
+<BR>
+firstplural={</TT> <I>long</I><TT>s (</TT> <I>abbrv</I><TT>s)},
+<BR></TT> <I>key-val list</I><TT>}</TT>
+<P>
+As mentioned in the previous section, the command <TT>&#092;acronymtype</TT> is
+the name of the glossary in which the acronyms should appear. If the
+<TT>acronym</TT><A NAME="2872"></A> package option has been used, this will be
+<TT>acronym</TT>, otherwise it will be <TT>main</TT>. The acronyms can
+then be used in exactly the same way as any other glossary entry.
+For example, the following defines the acronym IDN:
+<PRE>
+\newacronym{idn}{IDN}{identification number}
+</PRE>
+This is equivalent to:
+<PRE>
+\newglossaryentry{idn}{type=\acronymtype,
+name={IDN},
+description={identification number},
+text={IDN},
+first={identification number (IDN)},
+plural={IDNs},
+firstplural={identification numbers (IDNs)}}
+</PRE>
+so <code>\gls{idn}</code> will produce "identification number (IDN)" on
+first use and "IDN" on subsequent uses.
+
+<P>
+The <TT>glossaries</TT> package has options that change the
+definition of <TT>&#92;newacronym</TT><A NAME="2877"></A> for common acronym formats. These
+options also change the way the link text is displayed for the
+acronyms.
+
+<P>
+Table&nbsp;<A HREF="glossaries-manual.html#tab:acronymsettings">1</A> lists the package options and
+how the keys are used to store <I>long</I> (the long form) and
+<I>abbrv</I> (the short form). Note that the <TT>smallcaps</TT><A NAME="2885"></A>
+option redefines <TT>&#92;acronymfont</TT><A NAME="2889"></A> so that it sets its argument
+in small captials otherwise <TT>&#092;acronymfont</TT> simply displays its
+argument in the surrounding font. Note also that if none of
+the package options <TT>smallcaps</TT><A NAME="2897"></A>, <TT>description</TT><A NAME="2906"></A>
+or <TT>footnote</TT><A NAME="2915"></A> are used, <TT>&#092;acronymfont</TT> is not used, so
+changing the definition of <TT>&#092;acronymfont</TT> will have no effect
+under such circumstances.
+
+<P>
+<BR><P></P>
+<DIV ALIGN="CENTER">
+
+<A NAME="tab:acronymsettings"></A>
+<DIV ALIGN="CENTER">
+<A NAME="1161"></A>
+<TABLE CELLPADDING=3>
+<CAPTION><STRONG>Table 1:</STRONG>
+Package options governing acronyms and how the information
+is stored in the glossary keys</CAPTION>
+<TR><TH ALIGN="LEFT"><B>Package Option </B></TH>
+<TD ALIGN="LEFT"><TT>first</TT><A NAME="2919"></A></TD>
+<TD ALIGN="LEFT"><TT>text</TT><A NAME="2922"></A></TD>
+<TD ALIGN="LEFT"><TT>description</TT><A NAME="2925"></A></TD>
+<TD ALIGN="LEFT"><TT>symbol</TT><A NAME="2928"></A></TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>description</TT><A NAME="2936"></A>,<TT>footnote</TT><A NAME="2945"></A></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT">user supplied</TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>description</TT><A NAME="2954"></A>,<TT>dua</TT><A NAME="2963"></A></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT">user supplied</TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>description</TT><A NAME="2972"></A></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT">user supplied</TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>footnote</TT><A NAME="2981"></A></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT">&nbsp;</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>smallcaps</TT><A NAME="2990"></A></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>dua</TT><A NAME="2999"></A></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+</TR>
+<TR><TD ALIGN="LEFT">None of the above</TD>
+<TD ALIGN="LEFT"><I>long</I> (<I>abbrv</I>)</TD>
+<TD ALIGN="LEFT"><I>abbrv</I></TD>
+<TD ALIGN="LEFT"><I>long</I></TD>
+<TD ALIGN="LEFT">&nbsp;</TD>
+</TR>
+</TABLE>
+</DIV>
+</DIV>
+<BR>
+
+<P>
+Each of the package options <TT>smallcaps</TT><A NAME="3008"></A>, <TT>footnote</TT><A NAME="3017"></A>
+and <TT>description</TT><A NAME="3026"></A> use <TT>&#92;defglsdisplay</TT><A NAME="3030"></A> and
+<TT>&#92;defglsdisplayfirst</TT><A NAME="3033"></A> (described <A HREF="glossaries-manual.html#sec:glsdisplay">earlier</A>)
+to change the way the link text is displayed.
+
+<P>
+<DL>
+<DT><STRONG><TT>description</TT><A NAME="3041"></A>,<TT>footnote</TT><A NAME="3050"></A></STRONG></DT>
+<DD>
+When these two options are used together, the first use displays
+the entry as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I><TT>&#092;footnote{</TT><EM>long</EM><TT>}</TT>
+<BR>
+<BR>
+while subsequent use displays the entry as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I>
+<BR>
+<BR>
+where <I>insert</I> indicates the text supplied in the final
+optional argument to <TT>&#092;gls</TT>, <TT>&#092;glspl</TT> or their uppercase
+variants.
+
+<P>
+Note also that when these two package options are used (in the
+given order), the <TT>glossaries</TT> package additionally implements the
+<TT>sanitize</TT><A NAME="3060"></A> option using
+<A NAME="3069"></A><A NAME="3076"></A><code>sanitize={description=false,symbol=false}</code>, so
+remember to protect fragile commands when defining acronyms.
+
+<P>
+</DD>
+<DT><STRONG>dua</STRONG></DT>
+<DD>
+The <TT>dua</TT><A NAME="3083"></A> package option always displays the expanded
+form and so may not be used with <TT>footnote</TT><A NAME="3092"></A> or
+<TT>smallcaps</TT><A NAME="3101"></A>. Both first use and subsequent use displays the
+entry in the form:
+<BR>
+<BR><I>long</I><I>insert</I>
+<BR>
+<BR>
+If the <TT>description</TT><A NAME="3110"></A> option is also used, the <TT>name</TT><A NAME="3114"></A>
+key is set to the long form, otherwise the <TT>name</TT><A NAME="3117"></A> key is
+set to the short form and the <TT>description</TT><A NAME="3120"></A> key is set to
+the long form.
+
+<P>
+</DD>
+<DT><STRONG><TT>description</TT><A NAME="3128"></A></STRONG></DT>
+<DD>
+This option displays the entry on first use as:
+<BR>
+<BR><I>long</I><I>insert</I> (<TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT>)
+<BR>
+<BR>
+while subsequent use displays the entry as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I>
+<BR>
+<BR>
+Note also that if this package option is used, the <TT>glossaries</TT>
+package additionally implements the option
+<A NAME="3138"></A><code>sanitize={symbol=false}</code>, so
+remember to protect fragile commands when defining acronyms.
+
+<P>
+</DD>
+<DT><STRONG><TT>footnote</TT><A NAME="3145"></A></STRONG></DT>
+<DD>
+This option displays the entry on first use as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I><TT>&#092;footnote{</TT><EM>long</EM><TT>}</TT>
+<BR>
+<BR>
+while subsequent use displays the entry as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I>
+
+<P>
+Note also that if this package option is used, the <TT>glossaries</TT>
+package additionally implements the option
+<A NAME="3155"></A><code>sanitize={description=false}</code>, so
+remember to protect fragile commands when defining acronyms.
+
+<P>
+</DD>
+<DT><STRONG><TT>smallcaps</TT><A NAME="3162"></A></STRONG></DT>
+<DD>
+If neither the <TT>footnote</TT><A NAME="3171"></A> nor <TT>description</TT><A NAME="3180"></A> options
+have been set, this option displays the entry on first use as:
+<BR>
+<BR><I>long</I><I>insert</I> (<TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT>)
+<BR>
+<BR>
+while subsequent use displays the entry as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I>
+<BR>
+<BR>
+where <TT>&#092;acronymfont</TT> is set to <TT>&#092;textsc</TT>.
+
+<P>
+Note also that if this package option is used, the <TT>glossaries</TT>
+package additionally implements the option
+<A NAME="3190"></A><code>sanitize={symbol=false}</code>, so
+remember to protect fragile commands when defining acronyms.
+
+<P>
+</DD>
+<DT><STRONG>None of the above</STRONG></DT>
+<DD>
+If none of the package options <TT>smallcaps</TT><A NAME="3197"></A>, <TT>footnote</TT><A NAME="3206"></A>
+or <TT>description</TT><A NAME="3215"></A> are used, then on first use the entry is
+displayed as:
+<BR>
+<BR><I>long</I> (<I>abbrv</I>)<I>insert</I>
+<BR>
+<BR>
+while subsequent use displays the entry as:
+<BR>
+<BR><TT>&#092;acronymfont{</TT><EM>abbrv</EM><TT>}</TT><I>insert</I>
+<BR>
+<BR><I>abbrv</I><I>insert</I>
+</DD>
+</DL>
+
+<P>
+Recall from <A HREF="glossaries-manual.html#sec:glslink">earlier</A>
+that you can access the values of individual keys using commands
+like <TT>&#92;glstext</TT><A NAME="3219"></A>, so it is possible to use these commands to
+print just the long form or just the abbreviation without affecting
+the flag that determines whether the entry has been used. However
+the keys that store the long and short form vary depending on
+the acronym style, so the <TT>glossaries</TT> package provides
+commands that are set according to the package options. These are
+as follows:
+<BR>
+<BR>
+<P>
+
+<TT>&#092;acrshort[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<TT>&#092;ACRshort[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<TT>&#092;ACRshort[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+Print the abbreviated version with a hyperlink (if necessary) to the
+relevant entry in the glossary. This is usually equivalent to
+<TT>&#92;glstext</TT><A NAME="3223"></A> (or its uppercase variants) but may additionally
+put the link text within the argument to <TT>&#92;acronymfont</TT><A NAME="3226"></A>.
+<BR>
+<BR>
+<P>
+
+<TT>&#092;acrlong[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<TT>&#092;ACRlong[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<TT>&#092;ACRlong[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+Print the long version with a hyperlink (if necessary) to the
+relevant entry in the glossary. This is may be equivalent to
+<TT>&#92;glsdesc</TT><A NAME="3229"></A>, <TT>&#92;glssymbol</TT><A NAME="3232"></A> or <TT>&#92;glsfirst</TT><A NAME="3235"></A> (or their uppercase
+variants), depending on package options.
+<BR>
+<BR>
+<P>
+
+<TT>&#092;acrfull[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<TT>&#092;ACRfull[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<TT>&#092;ACRfull[</TT><EM>options</EM><TT>]{</TT><EM>label</EM><TT>}[</TT><EM>insert</EM><TT>]</TT>
+<BR>
+<BR>
+Print the long version followed by the abbreviation in brackets
+with a hyperlink (if necessary) to the
+relevant entry in the glossary.
+
+<P>
+Note that if you change the definition of <TT>&#92;newacronym</TT><A NAME="3238"></A>, you
+may additionally need to change the above commands as well as
+the changing way the text is displayed using <TT>&#92;defglsdisplay</TT><A NAME="3241"></A>
+and <TT>&#92;defglsdisplayfirst</TT><A NAME="3244"></A>.
+
+<P>
+
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION00049000000000000000">
+Unsetting and resetting entry flags</A>
+</H2>
+
+<P>
+When using commands such as <TT>&#92;gls</TT><A NAME="3250"></A> it is possible that you may want
+to use the value given by the <TT>first</TT><A NAME="3253"></A> key, even though you have
+already used the glossary entry. Conversely, you may want to use the
+value given by the <TT>text</TT><A NAME="3256"></A> key, even though you haven't used the
+glossary entry. The former can be achieved by one of the following
+commands:
+<BR>
+<BR><TT>&#092;glsreset{</TT><EM>label</EM><TT>}</TT>
+<BR><TT>&#092;glslocalreset{</TT><EM>label</EM><TT>}</TT>
+<BR>
+<BR>
+while the latter can be achieved by one of the following commands:
+<BR>
+<BR><TT>&#092;glsunset{</TT><EM>label</EM><TT>}</TT>
+<BR><TT>&#092;glslocalunset{</TT><EM>label</EM><TT>}</TT>
+<BR>
+<BR>
+You can determine whether an entry has been used using:
+<BR>
+<BR>
+<TT>&#092;ifglsused{</TT><EM>label</EM><TT>}{</TT><EM>true part</EM><TT>}{</TT><EM>false part</EM><TT>}</TT>
+<BR>
+<BR>
+where <I>label</I> is the label of the required entry. If the
+entry has been used, <I>true part</I> will be done, otherwise
+<I>false part</I> will be done.
+
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION000410000000000000000"></A>
+<A NAME="sec:styles"></A>
+<BR>
+Glossary Styles
+</H2>
+The <TT>glossaries</TT> package comes with some pre-defined
+glossary styles. These are as follows:
+<DL>
+<DT><STRONG>list</STRONG></DT>
+<DD>The <TT>list</TT><A NAME="3263"></A> style uses the <TT>description</TT>
+environment. The entry name is placed in the optional argument
+of the <TT>&#092;item</TT> command (so it will appear in bold by
+default). The description follows, and then the associated number
+list for that entry.
+
+<P>
+</DD>
+<DT><STRONG>listgroup</STRONG></DT>
+<DD>The <TT>listgroup</TT><A NAME="3266"></A> style is like
+<TT>list</TT><A NAME="3268"></A> but the glossary groups have headings.
+
+<P>
+</DD>
+<DT><STRONG>listhypergroup</STRONG></DT>
+<DD>The <TT>listhypergroup</TT><A NAME="3270"></A> style is like
+<TT>listgroup</TT><A NAME="3272"></A> but has a set of links to the glossary
+groups.
+
+<P>
+</DD>
+<DT><STRONG>altlist</STRONG></DT>
+<DD>The <TT>altlist</TT><A NAME="3274"></A> style is like <TT>list</TT><A NAME="3276"></A>
+but the description is placed on the following line.
+
+<P>
+</DD>
+<DT><STRONG>altlistgroup</STRONG></DT>
+<DD>The <TT>altlistgroup</TT><A NAME="3278"></A> style is like
+<TT>altlist</TT><A NAME="3280"></A> but the glossary groups have headings.
+
+<P>
+</DD>
+<DT><STRONG>altlisthypergroup</STRONG></DT>
+<DD>The <TT>altlisthypergroup</TT><A NAME="3282"></A> style is like
+<TT>altlistgroup</TT><A NAME="3284"></A> but has a set of links to the glossary
+groups.
+
+<P>
+</DD>
+<DT><STRONG>listdotted</STRONG></DT>
+<DD>This style uses the <TT>description</TT>
+environment. Each entry starts with <code>\item[]</code>, followed by the
+name followed by a dotted line, followed by the description. Note that
+this style ignores both the number list<A NAME="3286"></A> and the symbol. The
+length <TT>&#092;glslistdottedwidth</TT>
+governs where the description should start.<A NAME="tex2html8"
+ HREF="#foot1409"><SUP>4</SUP></A>
+<P>
+</DD>
+<DT><STRONG>long</STRONG></DT>
+<DD>The <TT>long</TT><A NAME="3288"></A> style uses the <TT>longtable</TT>
+environment (defined by the <TT>longtable</TT><A NAME="3291"></A> package). It has two
+columns: the first column contains the entry's name and the second
+column contains the description followed by the number list<A NAME="3293"></A>.
+
+<P>
+</DD>
+<DT><STRONG>longborder</STRONG></DT>
+<DD>The <TT>longborder</TT><A NAME="3295"></A> style is like
+<TT>long</TT><A NAME="3297"></A> but has horizontal and vertical lines around it.
+
+<P>
+</DD>
+<DT><STRONG>longheader</STRONG></DT>
+<DD>The <TT>longheader</TT><A NAME="3299"></A> style is like
+<TT>long</TT><A NAME="3301"></A> but has a header row.
+
+<P>
+</DD>
+<DT><STRONG>longheaderborder</STRONG></DT>
+<DD>The <TT>longheaderborder</TT><A NAME="3303"></A> style is
+like <TT>longheader</TT><A NAME="3305"></A> but has horizontal and vertical lines
+around it.
+
+<P>
+</DD>
+<DT><STRONG>long3col</STRONG></DT>
+<DD>The <TT>long3col</TT><A NAME="3307"></A> style is like
+<TT>long</TT><A NAME="3309"></A> but has three columns. The first column contains
+the entry's name, the second column contains the description
+and the third column contains the number list<A NAME="3310"></A>.
+
+<P>
+</DD>
+<DT><STRONG>long3colborder</STRONG></DT>
+<DD>The <TT>long3colborder</TT><A NAME="3312"></A> style is like
+the <TT>long3col</TT><A NAME="3314"></A> style but has horizontal and vertical
+lines around it.
+
+<P>
+</DD>
+<DT><STRONG>long3colheader</STRONG></DT>
+<DD>The <TT>long3colheader</TT><A NAME="3316"></A> style is like
+<TT>long3col</TT><A NAME="3318"></A> but has a header row.
+
+<P>
+</DD>
+<DT><STRONG>long3colheaderborder</STRONG></DT>
+<DD>The <TT>long3colheaderborder</TT><A NAME="3320"></A> style is
+like <TT>long3colheader</TT><A NAME="3322"></A> but has horizontal and vertical lines
+around it.
+
+<P>
+</DD>
+<DT><STRONG>long4col</STRONG></DT>
+<DD>The <TT>long4col</TT><A NAME="3324"></A> style is like
+<TT>long3col</TT><A NAME="3326"></A> but has an additional column in which the
+entry's associated symbol appears.
+
+<P>
+</DD>
+<DT><STRONG>long4colborder</STRONG></DT>
+<DD>The <TT>long4colborder</TT><A NAME="3328"></A> style is like
+the <TT>long4col</TT><A NAME="3330"></A> style but has horizontal and vertical
+lines around it.
+
+<P>
+</DD>
+<DT><STRONG>long4colheader</STRONG></DT>
+<DD>The <TT>long4colheader</TT><A NAME="3332"></A> style is like
+<TT>long4col</TT><A NAME="3334"></A> but has a header row.
+
+<P>
+</DD>
+<DT><STRONG>long4colheaderborder</STRONG></DT>
+<DD>The <TT>long4colheaderborder</TT><A NAME="3336"></A> style is
+like <TT>long4colheader</TT><A NAME="3338"></A> but has horizontal and vertical lines
+around it.
+
+<P>
+</DD>
+<DT><STRONG>super</STRONG></DT>
+<DD>The <TT>super</TT><A NAME="3340"></A> style uses the <TT>supertabular</TT>
+environment (defined by the <TT>supertabular</TT><A NAME="3343"></A> package). It has two
+columns: the first column contains the entry's name and the second
+column contains the description followed by the number list<A NAME="3345"></A>.
+
+<P>
+</DD>
+<DT><STRONG>superborder</STRONG></DT>
+<DD>The <TT>superborder</TT><A NAME="3347"></A> style is like
+<TT>super</TT><A NAME="3349"></A> but has horizontal and vertical lines around it.
+
+<P>
+</DD>
+<DT><STRONG>superheader</STRONG></DT>
+<DD>The <TT>superheader</TT><A NAME="3351"></A> style is like
+<TT>super</TT><A NAME="3353"></A> but has a header row.
+
+<P>
+</DD>
+<DT><STRONG>superheaderborder</STRONG></DT>
+<DD>The <TT>superheaderborder</TT><A NAME="3355"></A> style is
+like <TT>superheader</TT><A NAME="3357"></A> but has horizontal and vertical lines
+around it.
+
+<P>
+</DD>
+<DT><STRONG>super3col</STRONG></DT>
+<DD>The <TT>super3col</TT><A NAME="3359"></A> style is like
+<TT>super</TT><A NAME="3361"></A> but has three columns. The first column contains
+the entry's name, the second column contains the description
+and the third column contains the <A NAME="3362"></A>.
+
+<P>
+</DD>
+<DT><STRONG>super3colborder</STRONG></DT>
+<DD>The <TT>super3colborder</TT><A NAME="3364"></A> style is like
+the <TT>super3col</TT><A NAME="3366"></A> style but has horizontal and vertical
+lines around it.
+
+<P>
+</DD>
+<DT><STRONG>super3colheader</STRONG></DT>
+<DD>The <TT>super3colheader</TT><A NAME="3368"></A> style is like
+<TT>super3col</TT><A NAME="3370"></A> but has a header row.
+
+<P>
+</DD>
+<DT><STRONG>super3colheaderborder</STRONG></DT>
+<DD>The <TT>super3colheaderborder</TT><A NAME="3372"></A> style
+is like <TT>super3colheader</TT><A NAME="3374"></A> but has horizontal and vertical
+lines around it.
+
+<P>
+</DD>
+<DT><STRONG>super4col</STRONG></DT>
+<DD>The <TT>super4col</TT><A NAME="3376"></A> style is like
+<TT>super3col</TT><A NAME="3378"></A> but has an additional column in which the
+entry's associated symbol appears.
+
+<P>
+</DD>
+<DT><STRONG>super4colborder</STRONG></DT>
+<DD>The <TT>super4colborder</TT><A NAME="3380"></A> style is like
+the <TT>super4col</TT><A NAME="3382"></A> style but has horizontal and vertical
+lines around it.
+
+<P>
+</DD>
+<DT><STRONG>super4colheader</STRONG></DT>
+<DD>The <TT>super4colheader</TT><A NAME="3384"></A> style is like
+<TT>super4col</TT><A NAME="3386"></A> but has a header row.
+
+<P>
+</DD>
+<DT><STRONG>super4colheaderborder</STRONG></DT>
+<DD>The <TT>super4colheaderborder</TT><A NAME="3388"></A> style
+is like <TT>super4colheader</TT><A NAME="3390"></A> but has horizontal and vertical
+lines around it.
+
+<P>
+</DD>
+</DL>
+
+<P>
+The glossary style can be set using the <TT>style</TT><A NAME="3397"></A> package option
+or using the <TT>style</TT><A NAME="3401"></A> key in the optional
+argument to <TT>&#92;printglossary</TT><A NAME="3404"></A> or using the command:
+<BR>
+<BR><TT>&#092;glossarystyle{</TT><EM>style-name</EM><TT>}</TT>
+<BR>
+<BR>
+<P>
+All the styles except for the three- and four-column styles and the
+<TT>listdotted</TT><A NAME="3407"></A> style use the command
+<TT>&#092;glspostdescription</TT> after the
+description. This simply displays a full stop by default. To eliminate
+this full stop (or replace it with something else, say a comma), you
+will need to redefine <TT>&#092;glspostdescription</TT> before the glossary is
+displayed.
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H2><A NAME="SECTION000411000000000000000">
+Defining your own glossary style</A>
+</H2>
+
+<P>
+If the predefined styles don't fit your requirements, you can
+define your own style using:
+<BR>
+<BR><TT>&#092;newglossarystyle{</TT><EM>name</EM><TT>}{</TT><EM>definitions</EM><TT>}</TT>
+<BR>
+<BR>
+where <I>name</I> is the name of the new glossary style (to be
+used in <TT>&#092;glossarystyle</TT>). The second argument <I>definitions</I>,
+needs to redefine all of the following:
+
+<P>
+<DL>
+<DT></DT>
+<DD>
+<TT>theglossary</TT>
+<P>
+This environment defines how the main body of the glossary should
+be typeset. Note that this does not include the section heading,
+the glossary preamble (defined by <TT>&#092;glossarypreamble</TT>) or the
+glossary postamble (defined by <TT>&#092;glossarypostamble</TT>.) For example,
+the <TT>list</TT><A NAME="3413"></A> style uses the <TT>description</TT> environment,
+so the <TT>theglossary</TT> environment is simply redefined to begin
+and end the <TT>description</TT> environment.
+
+<P>
+</DD>
+<DT></DT>
+<DD>
+<TT>&#092;glossaryheader</TT>
+<P>
+This macro indicates what to do at the start of the main body
+of the glossary. Note that this is not the same as
+<TT>&#092;glossarypreamble</TT>, which should not be affected by changes in
+the glossary style. The <TT>list</TT><A NAME="3418"></A> glossary style redefines
+<TT>&#092;glossaryheader</TT> to do nothing, whereas the <TT>longheader</TT><A NAME="3420"></A>
+glossary style redefines <TT>&#092;glossaryheader</TT> to do a header row.
+
+<P>
+</DD>
+<DT></DT>
+<DD>
+<TT>&#092;glsgroupheading{</TT><EM>label</EM><TT>}</TT>
+<P>
+This macro indicates what to do at the start of each logical block
+within the main body of the glossary. The glossary is sub-divided into
+twenty-eight logical blocks that are determined by the first character
+of the <TT>sort</TT><A NAME="3422"></A> key (or <TT>name</TT><A NAME="3425"></A> key if the <TT>sort</TT><A NAME="3428"></A>
+key is omitted). The sub-divisions are in the following order: symbols,
+numbers, A, ..., Z. Note that the argument to <TT>&#092;glsgroupheading</TT>
+is a label <I>not</I> the group title. The group title can be obtained
+via <TT>&#092;glsgetgrouptitle{</TT><EM>label</EM><TT>}</TT>, and a navigation hypertarget can
+be created using <TT>&#092;glsnavhypertarget{</TT><EM>label</EM><TT>}</TT>. Most of the
+predefined glossary styles redefine <TT>&#092;glsgroupheading</TT> to simply
+ignore its argument. The <TT>listhypergroup</TT><A NAME="3431"></A> style redefines
+<TT>&#092;glsgroupheading</TT> as follows:
+<PRE>
+\renewcommand*{\glsgroupheading}[1]{%
+\item[\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}]}
+</PRE>
+See also <TT>&#092;glsgroupskip</TT> below. (Note that command definitions within
+<TT>&#092;newglossarystyle</TT> must use <code>##1</code> etc instead of <code>#1</code> etc.)
+
+<P>
+</DD>
+<DT></DT>
+<DD>
+<TT>&#092;glsgroupskip</TT>
+<P>
+This macro determines what to do after one logical group but before
+the header for the next logical group. The <TT>list</TT><A NAME="3433"></A> glossary
+style simply redefines <TT>&#092;glsgroupskip</TT> to be <TT>&#092;indexspace</TT>.
+
+<P>
+</DD>
+<DT></DT>
+<DD>
+<TT>&#092;glossaryentryfield{</TT><EM>label</EM><TT>}{</TT><EM>formatted
+name</EM><TT>}{</TT><EM>description</EM><TT>}{</TT><EM>symbol</EM><TT>}</TT>
+<TT>{</TT><EM>number list</EM><TT>}</TT>
+<P>
+This macro indicates what to do for a given glossary entry.
+Note that <I>formatted name</I> will always be in the form
+<TT>&#092;glsnamefont{</TT><EM>name</EM><TT>}</TT>. This allows the user to set a given
+font for the entry name, regardless of the glossary style used.
+Note that <I>label</I> is the label used when the glossary entry
+was defined via either <TT>&#092;newglossaryentry</TT> or <TT>&#092;newacronym</TT>.
+Each time you use a glossary entry it creates a
+link<A NAME="tex2html9"
+ HREF="#foot1752"><SUP>5</SUP></A>
+using <TT>&#092;@glslink{</TT><EM>label</EM><TT>}{</TT><EM>text</EM><TT>}</TT> with the label
+<TT>glo:</TT><I>label</I>. Your
+new glossary style must therefore redefine <TT>&#092;glossaryentryfield</TT>
+so that it uses <TT>&#092;@glstarget</TT><code>{</code><TT>glo:</TT><I>label</I><code>}</code><TT>{</TT><EM>text</EM><TT>}</TT>
+to ensure the hyperlinks function correctly.<A NAME="tex2html10"
+ HREF="#foot1753"><SUP>6</SUP></A> For example, the
+<TT>list</TT><A NAME="3435"></A> style defines <TT>&#092;glossaryentryfield</TT> as follows:
+<PRE>
+\renewcommand*{\glossaryentryfield}[5]{%
+\item[\@glstarget{glo:##1}{##2}] ##3\glspostdescription\space ##5}
+</PRE>
+
+<P>
+Note also that <I>number list</I> will always be of the form
+<BR>
+<BR><TT>&#092;glossaryentrynumbers</TT>{<TT>&#092;relax</TT>
+<BR><TT>&#092;setentrycounter{</TT><EM>counter name</EM><TT>}&#092;glsnumberformat{</TT><EM>number(s)</EM><TT>}</TT>}
+<BR>
+<BR>
+where <I>number(s)</I>
+may contain <TT>&#092;delimN</TT> (to delimit individual numbers) and/or
+<TT>&#092;delimR</TT> (to indicate a range of numbers). There may be
+multiple occurrences of
+<TT>&#092;setentrycounter{</TT><EM>counter name</EM><TT>}&#092;glsnumberformat{</TT><EM>number(s)</EM><TT>}</TT>, but note
+that the entire number list is enclosed within the argument
+to <TT>&#92;glossaryentrynumbers</TT><A NAME="3437"></A>. The user can redefine this to change
+the way the entire number list is formatted, regardless of
+the glossary style. However the most common use of
+<TT>&#092;glossaryentrynumbers</TT> is to provide a means of suppressing the
+number list altogether. (In fact, the <TT>nonumberlist</TT><A NAME="3445"></A> option
+redefines <TT>&#092;glossaryentrynumbers</TT> to ignore its argument.)
+Therefore, when you define a new glossary style, you don't need
+to worry about whether the user has specified the
+<TT>nonumberlist</TT><A NAME="3454"></A> package option.
+</DD>
+</DL>
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H3><A NAME="SECTION000411100000000000000">
+Example: creating a completely new style</A>
+</H3>
+
+<P>
+If you want a completely new style, you will need to redefine all
+of the commands and environment listed above. You also need to
+take care when using internal commands (commands whose name
+contain the @ symbol). These should either be used in a <TT>.sty</TT>
+file or must be placed within <TT>&#092;makeatletter</TT> and <TT>&#092;makeatother</TT>.
+
+<P>
+For example, suppose you want each entry to start with a bullet point.
+This means that the glossary should be placed in the <TT>itemize</TT>
+environment, so <TT>theglossary</TT> should start and end that
+environment. Let's also suppose that you don't want anything between
+the glossary groups (so <TT>&#092;glsgroupheading</TT> and <TT>&#092;glsgroupskip</TT>
+should do nothing) and suppose you don't want anything to appear
+immediately after <code>\begin{theglossary}</code> (so <TT>&#092;glossaryheader</TT>
+should do nothing). In addition, let's suppose the symbol should
+appear in brackets after the name, followed by the description and
+last of all the number list<A NAME="3462"></A> should appear within square brackets
+at the end. Then you can create this new glossary style, called, say,
+<TT>mylist</TT>, as follows:
+<PRE>
+ \newglossarystyle{mylist}{%
+ % put the glossary in the itemize environment:
+ \renewenvironment{theglossary}{\begin{itemize}}{\end{itemize}}%
+ % have nothing after \begin{theglossary}:
+ \renewcommand*{\glossaryheader}{}%
+ % have nothing between glossary groups:
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand*{\glsgroupskip}{}%
+ % set how each entry should appear:
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \item % bullet point
+ \@glstarget{glo:##1}{##2}% the entry name
+ \space (##4)% the symbol in brackets
+ \space ##3% the description
+ \space [##5]% the number list in square brackets
+ }%
+ }
+</PRE>
+
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<H3><A NAME="SECTION000411200000000000000">
+Example: creating a new glossary style based on an
+existing style</A>
+</H3>
+
+<P>
+If you want to define a new style that is a slightly modified
+version of an existing style, you can use <TT>&#092;glossarystyle</TT>
+within the second argument of <TT>&#092;newglossarystyle</TT> followed by
+whatever alterations you require. For example, suppose you want
+a style like the <TT>list</TT><A NAME="3467"></A> style but you don't want the extra
+vertical space created by <TT>&#092;indexspace</TT> between groups, then you
+can create a new glossary style called, say, <TT>mylist</TT> as
+follows:
+<PRE>
+\newglossarystyle{mylist}{%
+\glossarystyle{list}% base this style on the list style
+\renewcommand{\glsgroupskip}{}% make nothing happen between groups
+}
+</PRE>
+
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+
+<P>
+<BR>
+
+<H2><A NAME="SECTION00050000000000000000">
+Index</A>
+</H2><DL COMPACT>
+<DT><STRONG><TT>&#092;acronymfont</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2889">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3226">Acronyms</A>
+<DT><STRONG><TT>&#092;acronymtype</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1978">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2247">Package Options</A>
+ | <A HREF="glossaries-manual.html#2534">Defining Glossary Entries</A>
+<DT><STRONG><TT>babel</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1804">Introduction</A>
+ | <A HREF="glossaries-manual.html#2368">Package Options</A>
+ | <A HREF="glossaries-manual.html#2380">Package Options</A>
+<DT><STRONG><TT>&#092;defglsdisplay</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3030">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3241">Acronyms</A>
+<DT><STRONG><TT>&#092;defglsdisplayfirst</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3033">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3244">Acronyms</A>
+<DT><STRONG><TT>&#092;emph</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2036">A Quick Guide For</A>
+<DT><STRONG>file types</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>.alg</STRONG>
+<DD><A HREF="glossaries-manual.html#1864">Generating the associated glossary</A>
+<DT><STRONG>.glg</STRONG>
+<DD><A HREF="glossaries-manual.html#1862">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1924">A Quick Guide For</A>
+<DT><STRONG>.glo</STRONG>
+<DD><A HREF="glossaries-manual.html#2444">Defining Glossary Entries</A>
+<DT><STRONG>.gls</STRONG>
+<DD><A HREF="glossaries-manual.html#2446">Defining Glossary Entries</A>
+<DT><STRONG>.ist</STRONG>
+<DD><A HREF="glossaries-manual.html#1836">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#2460">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2465">Defining Glossary Entries</A>
+<DT><STRONG>.nlg</STRONG>
+<DD><A HREF="glossaries-manual.html#1922">A Quick Guide For</A>
+</DL>
+<DT><STRONG><TT>glossary</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1800">Introduction</A>
+<DT><STRONG>glossary styles</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>altlist</STRONG>
+<DD><A HREF="glossaries-manual.html#3274">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3280">Glossary Styles</A>
+<DT><STRONG>altlistgroup</STRONG>
+<DD><A HREF="glossaries-manual.html#3278">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3284">Glossary Styles</A>
+<DT><STRONG>altlisthypergroup</STRONG>
+<DD><A HREF="glossaries-manual.html#3282">Glossary Styles</A>
+<DT><STRONG>list</STRONG>
+<DD><A HREF="glossaries-manual.html#3263">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3268">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3276">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3413">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3418">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3433">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3435">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3467">Example: creating a new</A>
+<DT><STRONG>listdotted</STRONG>
+<DD><A HREF="glossaries-manual.html#3407">Glossary Styles</A>
+<DT><STRONG>listgroup</STRONG>
+<DD><A HREF="glossaries-manual.html#3266">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3272">Glossary Styles</A>
+<DT><STRONG>listhypergroup</STRONG>
+<DD><A HREF="glossaries-manual.html#3270">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3431">Defining your own glossary</A>
+<DT><STRONG>long</STRONG>
+<DD><A HREF="glossaries-manual.html#3288">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3297">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3301">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3309">Glossary Styles</A>
+<DT><STRONG>long3col</STRONG>
+<DD><A HREF="glossaries-manual.html#3307">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3314">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3318">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3326">Glossary Styles</A>
+<DT><STRONG>long3colborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3312">Glossary Styles</A>
+<DT><STRONG>long3colheader</STRONG>
+<DD><A HREF="glossaries-manual.html#3316">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3322">Glossary Styles</A>
+<DT><STRONG>long3colheaderborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3320">Glossary Styles</A>
+<DT><STRONG>long4col</STRONG>
+<DD><A HREF="glossaries-manual.html#2069">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3324">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3330">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3334">Glossary Styles</A>
+<DT><STRONG>long4colborder</STRONG>
+<DD><A HREF="glossaries-manual.html#2073">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3328">Glossary Styles</A>
+<DT><STRONG>long4colheader</STRONG>
+<DD><A HREF="glossaries-manual.html#2071">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3332">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3338">Glossary Styles</A>
+<DT><STRONG>long4colheaderborder</STRONG>
+<DD><A HREF="glossaries-manual.html#2075">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3336">Glossary Styles</A>
+<DT><STRONG>longborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3295">Glossary Styles</A>
+<DT><STRONG>longheader</STRONG>
+<DD><A HREF="glossaries-manual.html#3299">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3305">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3420">Defining your own glossary</A>
+<DT><STRONG>longheaderborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3303">Glossary Styles</A>
+<DT><STRONG>super</STRONG>
+<DD><A HREF="glossaries-manual.html#3340">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3349">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3353">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3361">Glossary Styles</A>
+<DT><STRONG>super3col</STRONG>
+<DD><A HREF="glossaries-manual.html#3359">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3366">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3370">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3378">Glossary Styles</A>
+<DT><STRONG>super3colborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3364">Glossary Styles</A>
+<DT><STRONG>super3colheader</STRONG>
+<DD><A HREF="glossaries-manual.html#3368">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3374">Glossary Styles</A>
+<DT><STRONG>super3colheaderborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3372">Glossary Styles</A>
+<DT><STRONG>super4col</STRONG>
+<DD><A HREF="glossaries-manual.html#2077">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3376">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3382">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3386">Glossary Styles</A>
+<DT><STRONG>super4colborder</STRONG>
+<DD><A HREF="glossaries-manual.html#2081">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3380">Glossary Styles</A>
+<DT><STRONG>super4colheader</STRONG>
+<DD><A HREF="glossaries-manual.html#2079">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3384">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3390">Glossary Styles</A>
+<DT><STRONG>super4colheaderborder</STRONG>
+<DD><A HREF="glossaries-manual.html#2083">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#3388">Glossary Styles</A>
+<DT><STRONG>superborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3347">Glossary Styles</A>
+<DT><STRONG>superheader</STRONG>
+<DD><A HREF="glossaries-manual.html#3351">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3357">Glossary Styles</A>
+<DT><STRONG>superheaderborder</STRONG>
+<DD><A HREF="glossaries-manual.html#3355">Glossary Styles</A>
+</DL>
+<DT><STRONG><TT>glossary-list</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1996">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;glossaryentrynumbers</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3437">Defining your own glossary</A>
+<DT><STRONG><TT>&#092;glossarystyle</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2094">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2820">Displaying a glossary</A>
+<DT><STRONG><TT>&#092;gls</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1960">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2005">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2008">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2011">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2054">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2482">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2491">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2638">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2644">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2650">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2656">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2662">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2674">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2686">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2702">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2754">Enabling and disabling hyperlinks</A>
+ | <A HREF="glossaries-manual.html#3250">Unsetting and resetting entry</A>
+<DT><STRONG><TT>&#092;glsadd</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2042">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2057">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;glsaddall</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2045">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2060">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;glscompositor</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1936">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;glsdesc</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3229">Acronyms</A>
+<DT><STRONG><TT>&#092;glsfirst</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3235">Acronyms</A>
+<DT><STRONG><TT>&#092;glslink</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2023">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2051">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2629">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2751">Enabling and disabling hyperlinks</A>
+ | <A HREF="glossaries-manual.html#2769">Adding an entry to</A>
+<DT><STRONG><TT>&#092;glslink</TT> keys</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>counter</STRONG>
+<DD><A HREF="glossaries-manual.html#2613">Links to Glossary Entries</A>
+<DT><STRONG>format</STRONG>
+<DD><A HREF="glossaries-manual.html#2026">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2029">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2039">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2600">Links to Glossary Entries</A>
+<DT><STRONG>hyper</STRONG>
+<DD><A HREF="glossaries-manual.html#2616">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2757">Enabling and disabling hyperlinks</A>
+ | <A HREF="glossaries-manual.html#2772">Adding an entry to</A>
+</DL>
+<DT><STRONG><TT>&#092;glsnamefont</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1993">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2002">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;glspl</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1963">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2014">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2017">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2020">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2500">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2509">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2705">Changing the format of</A>
+<DT><STRONG><TT>&#092;glssymbol</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3232">Acronyms</A>
+<DT><STRONG><TT>&#092;glstext</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3219">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3223">Acronyms</A>
+<DT><STRONG><TT>&#092;glstextformat</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2730">Changing the format of</A>
+<DT><STRONG><TT>html</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1877">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2747">Enabling and disabling hyperlinks</A>
+<DT><STRONG><TT>&#092;hyperemph</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2033">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;hyperlink</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2760">Enabling and disabling hyperlinks</A>
+<DT><STRONG><TT>hyperref</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1874">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2606">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2744">Enabling and disabling hyperlinks</A>
+ | <A HREF="glossaries-manual.html#2766">Enabling and disabling hyperlinks</A>
+<DT><STRONG><TT>&#092;hypertarget</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2763">Enabling and disabling hyperlinks</A>
+<DT><STRONG><TT>&#092;item</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1999">A Quick Guide For</A>
+<DT><STRONG>link text</STRONG>
+<DD><A HREF="glossaries-manual.html#2596">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2597">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2598">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2618">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2700">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2728">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2739">Changing the format of</A>
+<DT><STRONG><TT>longtable</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3291">Glossary Styles</A>
+<DT><STRONG><TT>makeglossaries</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1827">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1838">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1841">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1856">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1880">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1883">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1889">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1907">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1916">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1939">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2454">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2778">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#2787">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#2833">Defining New Glossaries</A>
+<DT><STRONG><TT>makeindex</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1830">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1833">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1844">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1859">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1904">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1910">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1913">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1919">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2048">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2066">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2457">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2462">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2521">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2527">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2603">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2781">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#2784">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#2830">Defining New Glossaries</A>
+<DT><STRONG><TT>&#092;newacronym</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1975">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2402">Package Options</A>
+ | <A HREF="glossaries-manual.html#2414">Package Options</A>
+ | <A HREF="glossaries-manual.html#2426">Package Options</A>
+ | <A HREF="glossaries-manual.html#2438">Package Options</A>
+ | <A HREF="glossaries-manual.html#2877">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3238">Acronyms</A>
+<DT><STRONG><TT>&#092;newglossary</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1901">A Quick Guide For</A>
+<DT><STRONG><TT>&#092;newglossaryentry</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1951">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1990">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2593">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2626">Links to Glossary Entries</A>
+<DT><STRONG><TT>&#092;newglossaryentry</TT> keys</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>description</STRONG>
+<DD><A HREF="glossaries-manual.html#1957">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2310">Package Options</A>
+ | <A HREF="glossaries-manual.html#2325">Package Options</A>
+ | <A HREF="glossaries-manual.html#2337">Package Options</A>
+ | <A HREF="glossaries-manual.html#2476">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2470">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2689">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2692">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2695">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2720">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2925">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3120">Acronyms</A>
+<DT><STRONG>first</STRONG>
+<DD><A HREF="glossaries-manual.html#2488">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2512">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2558">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2623">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2647">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2714">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2919">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3253">Unsetting and resetting entry</A>
+<DT><STRONG>firstplural</STRONG>
+<DD><A HREF="glossaries-manual.html#2506">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2561">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2635">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2659">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2717">Changing the format of</A>
+<DT><STRONG>format</STRONG>
+<DD><A HREF="glossaries-manual.html#2610">Links to Glossary Entries</A>
+<DT><STRONG>name</STRONG>
+<DD><A HREF="glossaries-manual.html#1954">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2307">Package Options</A>
+ | <A HREF="glossaries-manual.html#2328">Package Options</A>
+ | <A HREF="glossaries-manual.html#2334">Package Options</A>
+ | <A HREF="glossaries-manual.html#2349">Package Options</A>
+ | <A HREF="glossaries-manual.html#2352">Package Options</A>
+ | <A HREF="glossaries-manual.html#2473">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2467">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2485">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2524">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2549">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2665">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2668">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2671">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#3114">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3117">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3425">Defining your own glossary</A>
+<DT><STRONG>plural</STRONG>
+<DD><A HREF="glossaries-manual.html#1972">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2497">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2555">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2632">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2653">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2711">Changing the format of</A>
+<DT><STRONG>sort</STRONG>
+<DD><A HREF="glossaries-manual.html#2063">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2343">Package Options</A>
+ | <A HREF="glossaries-manual.html#2518">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#3422">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3428">Defining your own glossary</A>
+<DT><STRONG>symbol</STRONG>
+<DD><A HREF="glossaries-manual.html#2313">Package Options</A>
+ | <A HREF="glossaries-manual.html#2331">Package Options</A>
+ | <A HREF="glossaries-manual.html#2340">Package Options</A>
+ | <A HREF="glossaries-manual.html#2515">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2677">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2680">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2683">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2723">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2726">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2737">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2928">Acronyms</A>
+<DT><STRONG>text</STRONG>
+<DD><A HREF="glossaries-manual.html#2346">Package Options</A>
+ | <A HREF="glossaries-manual.html#2355">Package Options</A>
+ | <A HREF="glossaries-manual.html#2479">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2494">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2503">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2546">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2552">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2620">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2641">Links to Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2708">Changing the format of</A>
+ | <A HREF="glossaries-manual.html#2922">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3256">Unsetting and resetting entry</A>
+<DT><STRONG>type</STRONG>
+<DD><A HREF="glossaries-manual.html#1966">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1969">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2531">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2564">Defining Glossary Entries</A>
+</DL>
+<DT><STRONG>number list</STRONG>
+<DD><A HREF="glossaries-manual.html#2285">Package Options</A>
+ | <A HREF="glossaries-manual.html#2295">Package Options</A>
+ | <A HREF="glossaries-manual.html#2570">Number lists</A>
+ | <A HREF="glossaries-manual.html#2828">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#3286">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3293">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3310">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3345">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3362">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3462">Example: creating a completely</A>
+<DT><STRONG>package options</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>acronym</STRONG>
+<DD><A HREF="glossaries-manual.html#1852">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1854">Generating the associated glossary</A>
+ | <A HREF="glossaries-manual.html#1931">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1933">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1986">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1988">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2188">Package Options</A>
+ | <A HREF="glossaries-manual.html#2190">Package Options</A>
+ | <A HREF="glossaries-manual.html#2242">Package Options</A>
+ | <A HREF="glossaries-manual.html#2244">Package Options</A>
+ | <A HREF="glossaries-manual.html#2255">Package Options</A>
+ | <A HREF="glossaries-manual.html#2257">Package Options</A>
+ | <A HREF="glossaries-manual.html#2264">Package Options</A>
+ | <A HREF="glossaries-manual.html#2266">Package Options</A>
+ | <A HREF="glossaries-manual.html#2542">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2544">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#2841">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#2843">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#2850">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#2852">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#2859">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#2861">Defining New Glossaries</A>
+ | <A HREF="glossaries-manual.html#2872">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2874">Acronyms</A>
+<DT><STRONG>babel</STRONG>
+<DD><A HREF="glossaries-manual.html#2363">Package Options</A>
+ | <A HREF="glossaries-manual.html#2365">Package Options</A>
+ | <A HREF="glossaries-manual.html#2376">Package Options</A>
+ | <A HREF="glossaries-manual.html#2389">Package Options</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="glossaries-manual.html#2391">Package Options</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="glossaries-manual.html#2378">Package Options</A>
+</DL>
+<DT><STRONG>counter</STRONG>
+<DD><A HREF="glossaries-manual.html#2292">Package Options</A>
+ | <A HREF="glossaries-manual.html#2294">Package Options</A>
+ | <A HREF="glossaries-manual.html#2586">Number lists</A>
+ | <A HREF="glossaries-manual.html#2588">Number lists</A>
+<DT><STRONG>description</STRONG>
+<DD><A HREF="glossaries-manual.html#2398">Package Options</A>
+ | <A HREF="glossaries-manual.html#2400">Package Options</A>
+ | <A HREF="glossaries-manual.html#2906">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2908">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2936">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2938">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2954">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2956">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2972">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2974">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3026">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3028">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3041">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3043">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3110">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3112">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3128">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3130">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3180">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3182">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3215">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3217">Acronyms</A>
+<DT><STRONG>dua</STRONG>
+<DD><A HREF="glossaries-manual.html#2434">Package Options</A>
+ | <A HREF="glossaries-manual.html#2436">Package Options</A>
+ | <A HREF="glossaries-manual.html#2963">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2965">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2999">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3001">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3083">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3085">Acronyms</A>
+<DT><STRONG>footnote</STRONG>
+<DD><A HREF="glossaries-manual.html#2410">Package Options</A>
+ | <A HREF="glossaries-manual.html#2412">Package Options</A>
+ | <A HREF="glossaries-manual.html#2915">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2917">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2945">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2947">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2981">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2983">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3017">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3019">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3050">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3052">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3092">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3094">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3145">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3147">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3171">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3173">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3206">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3208">Acronyms</A>
+<DT><STRONG>nonumberlist</STRONG>
+<DD><A HREF="glossaries-manual.html#2103">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2105">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2282">Package Options</A>
+ | <A HREF="glossaries-manual.html#2284">Package Options</A>
+ | <A HREF="glossaries-manual.html#2577">Number lists</A>
+ | <A HREF="glossaries-manual.html#2579">Number lists</A>
+ | <A HREF="glossaries-manual.html#3445">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3447">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3454">Defining your own glossary</A>
+ | <A HREF="glossaries-manual.html#3456">Defining your own glossary</A>
+<DT><STRONG>numberedsection</STRONG>
+<DD><A HREF="glossaries-manual.html#2209">Package Options</A>
+ | <A HREF="glossaries-manual.html#2211">Package Options</A>
+ | <A HREF="glossaries-manual.html#2218">Package Options</A>
+ | <A HREF="glossaries-manual.html#2220">Package Options</A>
+ | <A HREF="glossaries-manual.html#2233">Package Options</A>
+<DD><DL COMPACT>
+<DT><STRONG>autolabel</STRONG>
+<DD><A HREF="glossaries-manual.html#2235">Package Options</A>
+ | <A HREF="glossaries-manual.html#2226">Package Options</A>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="glossaries-manual.html#2222">Package Options</A>
+<DT><STRONG>nolabel</STRONG>
+<DD><A HREF="glossaries-manual.html#2224">Package Options</A>
+</DL>
+<DT><STRONG>numberline</STRONG>
+<DD><A HREF="glossaries-manual.html#2143">Package Options</A>
+ | <A HREF="glossaries-manual.html#2145">Package Options</A>
+ | <A HREF="glossaries-manual.html#2179">Package Options</A>
+ | <A HREF="glossaries-manual.html#2181">Package Options</A>
+<DT><STRONG>sanitize</STRONG>
+<DD><A HREF="glossaries-manual.html#2302">Package Options</A>
+ | <A HREF="glossaries-manual.html#2304">Package Options</A>
+ | <A HREF="glossaries-manual.html#2321">Package Options</A>
+ | <A HREF="glossaries-manual.html#2323">Package Options</A>
+ | <A HREF="glossaries-manual.html#3060">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3062">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3068">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3075">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3137">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3154">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3189">Acronyms</A>
+<DD><DL COMPACT>
+<DT><STRONG>description</STRONG>
+<DD><A HREF="glossaries-manual.html#3069">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3155">Acronyms</A>
+<DT><STRONG>symbol</STRONG>
+<DD><A HREF="glossaries-manual.html#3076">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3138">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3190">Acronyms</A>
+</DL>
+<DT><STRONG>section</STRONG>
+<DD><A HREF="glossaries-manual.html#2112">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2114">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2121">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2123">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2197">Package Options</A>
+ | <A HREF="glossaries-manual.html#2199">Package Options</A>
+<DT><STRONG>smallcaps</STRONG>
+<DD><A HREF="glossaries-manual.html#2422">Package Options</A>
+ | <A HREF="glossaries-manual.html#2424">Package Options</A>
+ | <A HREF="glossaries-manual.html#2885">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2887">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2897">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2899">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2990">Acronyms</A>
+ | <A HREF="glossaries-manual.html#2992">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3008">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3010">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3101">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3103">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3162">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3164">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3197">Acronyms</A>
+ | <A HREF="glossaries-manual.html#3199">Acronyms</A>
+<DT><STRONG>style</STRONG>
+<DD><A HREF="glossaries-manual.html#2090">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2092">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2273">Package Options</A>
+ | <A HREF="glossaries-manual.html#2275">Package Options</A>
+ | <A HREF="glossaries-manual.html#2816">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#2818">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#3397">Glossary Styles</A>
+ | <A HREF="glossaries-manual.html#3399">Glossary Styles</A>
+<DT><STRONG>toc</STRONG>
+<DD><A HREF="glossaries-manual.html#1897">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1899">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1947">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#1949">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2134">Package Options</A>
+ | <A HREF="glossaries-manual.html#2136">Package Options</A>
+ | <A HREF="glossaries-manual.html#2152">Package Options</A>
+ | <A HREF="glossaries-manual.html#2154">Package Options</A>
+ | <A HREF="glossaries-manual.html#2161">Package Options</A>
+ | <A HREF="glossaries-manual.html#2163">Package Options</A>
+ | <A HREF="glossaries-manual.html#2170">Package Options</A>
+ | <A HREF="glossaries-manual.html#2172">Package Options</A>
+ | <A HREF="glossaries-manual.html#2804">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#2806">Displaying a glossary</A>
+<DT><STRONG>translate</STRONG>
+<DD><A HREF="glossaries-manual.html#1819">Introduction</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="glossaries-manual.html#1821">Introduction</A>
+</DL>
+</DL>
+<DT><STRONG><TT>&#092;printglossaries</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1886">A Quick Guide For</A>
+ | <A HREF="glossaries-manual.html#2451">Defining Glossary Entries</A>
+<DT><STRONG><TT>&#092;printglossary</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2448">Defining Glossary Entries</A>
+ | <A HREF="glossaries-manual.html#3404">Glossary Styles</A>
+<DT><STRONG><TT>&#092;printglossary</TT> keys</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>style</STRONG>
+<DD><A HREF="glossaries-manual.html#2808">Displaying a glossary</A>
+ | <A HREF="glossaries-manual.html#3401">Glossary Styles</A>
+<DT><STRONG>title</STRONG>
+<DD><A HREF="glossaries-manual.html#2793">Displaying a glossary</A>
+<DT><STRONG>toctitle</STRONG>
+<DD><A HREF="glossaries-manual.html#2796">Displaying a glossary</A>
+<DT><STRONG>type</STRONG>
+<DD><A HREF="glossaries-manual.html#2790">Displaying a glossary</A>
+</DL>
+<DT><STRONG><TT>&#092;setglossarysection</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#2201">Package Options</A>
+<DT><STRONG><TT>supertabular</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#3343">Glossary Styles</A>
+<DT><STRONG><TT>translator</TT></STRONG>
+<DD><A HREF="glossaries-manual.html#1810">Introduction</A>
+
+</DL>
+<P>
+<A HREF="glossaries-manual.html#top">Top</A>
+
+<P>
+<BR><HR><H4>Footnotes</H4>
+<DL>
+<DT><A NAME="foot370">...
+range</A><A
+ HREF="glossaries-manual.html#tex2html4"><SUP>1</SUP></A></DT>
+<DD>This is new to version 1.01
+
+</DD>
+<DT><A NAME="foot1670">...acronym</A><A
+ HREF="glossaries-manual.html#tex2html5"><SUP>2</SUP></A></DT>
+<DD>if the
+<TT>acronym</TT><A NAME="2242"></A> option is used, otherwise the list of
+acronyms is the main glossary
+
+</DD>
+<DT><A NAME="foot1718">... name</A><A
+ HREF="glossaries-manual.html#tex2html6"><SUP>3</SUP></A></DT>
+<DD><TT>main</TT> for the main
+(default) glossary, <TT>&#092;acronymtype</TT> for the list of acronyms, or the
+name supplied in the first mandatory argument to <TT>&#092;newglossary</TT> for
+additional glossaries.
+
+</DD>
+<DT><A NAME="foot1409">... start.</A><A
+ HREF="glossaries-manual.html#tex2html8"><SUP>4</SUP></A></DT>
+<DD>This style was
+supplied by Axel&nbsp;Menzel.
+
+</DD>
+<DT><A NAME="foot1752">...
+link</A><A
+ HREF="glossaries-manual.html#tex2html9"><SUP>5</SUP></A></DT>
+<DD>if the document doesn't have hyperlinks enabled
+<TT>&#092;@glslink</TT> ignores the label and simply typesets the text.
+
+</DD>
+<DT><A NAME="foot1753">... correctly.</A><A
+ HREF="glossaries-manual.html#tex2html10"><SUP>6</SUP></A></DT>
+<DD>again, if the
+document doesn't support hyperlinks, <TT>&#092;@glstarget</TT> will ignore
+the label, and just typeset the text.
+
+</DD>
+</DL>
+<BR><HR>
+
+</BODY>
+</HTML>
diff --git a/Master/texmf-dist/doc/latex/glossaries/glossaries-manual.tex b/Master/texmf-dist/doc/latex/glossaries/glossaries-manual.tex
new file mode 100644
index 00000000000..9ede69d65e0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/glossaries-manual.tex
@@ -0,0 +1,1947 @@
+\documentclass[a4paper]{ltxdoc}
+\usepackage{ifthen}
+\usepackage{alltt}
+\usepackage[colorlinks,
+ bookmarks,
+ hyperindex=false,
+ pdfauthor={Nicola L.C. Talbot},
+ pdftitle={glossaries.sty: LaTeX2e Package to Assist Generating Glossaries},
+ pdfkeywords={LaTeX,package,glossary,acronyms}]{hyperref}
+
+ %hyperindex conflicts with doc
+ %(end up with |usage|hyperpage in indexentry)
+ %This unfortunately means that the changes section doesn't
+ %have active links, but at least it will keep makeindex happy.
+
+\usepackage{creatdtx}
+\ifmakedtx{
+\renewcommand{\usage}[1]{\textit{\hyperpage{#1}}}
+\renewcommand{\main}[1]{\hyperpage{#1}}
+\newcommand{\see}[2]{\emph{see} #1}
+\makeatletter
+\def\index@prologue{\section*{Index}}
+\makeatother
+\RecordChanges
+\PageIndex
+\CheckSum{4357}
+\CodelineNumbered
+\newcommand*{\termdef}[1]{\emph{#1}\iterm{#1}}
+\newcommand*{\term}[1]{#1\iterm{#1}}
+\newcommand*{\iterm}[1]{\index{#1|main}}
+\newcommand{\dq}[1]{``#1''}
+}
+{
+\usepackage{html}
+\usepackage{makeidx}
+\renewcommand{\LaTeX}{LaTeX}
+\renewcommand{\LaTeXe}{LaTeX2e}
+\newcommand*{\termdef}[1]{\emph{#1}\index{#1}}
+\newcommand*{\term}[1]{#1\index{#1}}
+\newcommand*{\iterm}[1]{\index{#1}}
+\newcommand{\dq}[1]{"#1"}
+}
+
+
+\ifmakedtx{
+\newcommand*{\istkey}[1]{\texttt{#1}\index{makeindex=\texttt{makeindex}>#1=\texttt{#1}|hyperpage}}
+\newcommand*{\ics}[1]{\texttt{\char`\\#1}\SpecialMainIndex{#1}}
+\newcommand*{\appname}[1]{\texttt{#1}\index{#1=\texttt{#1}|hyperpage}}
+\newcommand*{\mkidxspch}{\index{makeindex=\texttt{makeindex}>special characters|hyperpage}}
+\newcommand*{\igloskey}[2][newglossaryentry]{\index{#1 options=\cs{#1} options>#2=\textsf{#2}|hyperpage}}
+\newcommand*{\gloskey}[2][newglossaryentry]{\textsf{#2}\igloskey[#1]{#2}}
+\newcommand*{\ipkgopt}[2][]{%
+\ifthenelse{\equal{#1}{}}{%
+\index{package options>#2=\textsf{#2}|hyperpage}}{%
+\index{package options>#2=\textsf{#2}>#1=\textsf{#1}|hyperpage}}}
+\newcommand*{\pkgopt}[2][]{%
+\ifthenelse{\equal{#1}{}}{%
+\textsf{#2}\index{package options>#2=\textsf{#2}|hyperpage}}{%
+\textsf{#2=#1}\index{package options>#2=\textsf{#2}>#1=\textsf{#1}|hyperpage}}}
+\newcommand*{\pkgoptval}[2]{\textsf{#1}\index{package options>#2=\textsf{#2}>#1=\textsf{#1}|hyperpage}}
+\newcommand*{\glostyle}[1]{\textsf{#1}\index{glossary styles>#1|hyperpage}}
+\newcommand*{\filetype}[1]{\texttt{#1}\index{file types>#1|hyperpage}}
+\newcommand*{\sty}[1]{\textsf{#1}}
+\newcommand*{\isty}[1]{\sty{#1}\index{#1 package=\sty{#1} package|hyperpage}}
+\newcommand*{\envname}[1]{\textsf{#1}}
+}
+{
+\newcommand{\istkey}[1]{\texttt{#1}\index{makeindex key!#1}}
+\newcommand{\ics}[1]{\texttt{\char`\\#1}\index{#1@\cs{#1}}}
+\html{\newcommand{\SpecialMainIndex}[1]{\index{#1@\cs{#1}}}}
+\newcommand{\appname}[1]{\texttt{#1}\index{#1@\texttt{#1}}}
+\newcommand*{\mkidxspch}{\index{makeindex@\texttt{makeindex}!special characters|hyperpage}}
+\newcommand{\gloskey}[2][newglossaryentry]{\texttt{#2}\index{#1 keys@\cs{#1} keys!#2}}
+\newcommand{\ipkgopt}[2][]{%
+\ifthenelse{\equal{#1}{}}{%
+\index{package options!#2}}{%
+\index{package options!#2!#1}}}
+\newcommand{\pkgopt}[2][]{%
+\ifthenelse{\equal{#1}{}}{%
+\texttt{#2}\index{package options!#2}}{%
+\texttt{#2=#1}\index{package options!#2!#1}}}
+\newcommand{\pkgoptval}[2]{\texttt{#1}\index{package options!#2!#1}}
+\newcommand{\glostyle}[1]{\texttt{#1}\index{glossary styles!#1}}
+\newcommand{\filetype}[1]{\texttt{#1}\index{file types!#1}}
+\newcommand{\sty}[1]{\texttt{#1}}
+\newcommand{\isty}[1]{\sty{#1}\index{#1@\sty{#1}}}
+\newcommand{\envname}[1]{\texttt{#1}}
+\newcommand{\toTop}{\mbox{}\par\htmlref{Top}{top}}
+}
+
+\begin{document}\ifmakedtx{}{\label{top}}
+\MakeShortVerb{"}
+\DeleteShortVerb{\|}
+
+ \title{glossaries.sty v 1.11: \LaTeXe\ Package to Assist Generating Glossaries}
+ \author{Nicola L.C. Talbot\\[10pt]
+School of Computing Sciences\\
+University of East Anglia\\
+Norwich. Norfolk\\
+NR4 7TJ. United Kingdom.\\
+\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
+
+ \date{2nd March 2008}
+ \maketitle
+\tableofcontents
+
+ \section{Introduction}
+
+ \changes{1.0}{2007 May 16}{Initial version}
+The \sty{glossaries} package is provided to assist generating
+glossaries. It has a certain amount of flexibility, allowing the user
+to customize the format of the glossary and define multiple glossaries.
+It also supports acronyms and glossary styles that include
+symbols (in addition to a name and description) for glossary
+entries. There is provision for loading a database of glossary terms
+where only those terms used in the text are added to the glossary.
+This package replaces the \isty{glossary} package which is now
+obsolete.
+
+As from version 1.08, the \sty{glossaries} package now has
+limited multi-lingual support, thanks to all the people who have sent
+me the relevant translations either via email or via comp.text.tex.
+However you must load \isty{babel} \emph{before}
+\sty{glossaries} to enable this. \ifmakedtx{(See \autoref{sec:predefinednames} for the
+predefined names used by the \sty{glossaries} package.)}{}
+As from version 1.1, the \sty{glossaries} package also supports
+Till~Tantau's \isty{translator} package provided it is loaded
+before the \sty{glossaries} package. This makes it easier to change
+the default translations or add new dictionaries.
+If you don't want to use the predefined translations, you can use the
+package option \pkgopt[false]{translate} and supply your own translations.
+
+This documentation is structured as follows: \ifmakedtx{\autoref{sec:quick}}{\htmlref{{A Quick Guide For The Impatient}}{sec:quick}} is for
+people who want a few quick pointers of how to get started,
+without having to read through lengthy descriptions,
+\ifmakedtx{\autoref{sec:overview}}{and \htmlref{Overview}{sec:overview}} gives an overview of available commands
+and their syntax\ifmakedtx{, \autoref{sec:code} contains the documented
+source code for those who want to know more about how the
+package works, and how to do more complicated things, such as
+changing the way glossary entries appear}{}.\ifmakedtx{}{\toTop}
+
+\subsection{Generating the associated glossary files}
+\label{sec:makeglossaries}
+
+The \sty{glossaries} package comes with the Perl script
+\appname{makeglossaries} which will run \appname{makeindex} on
+all the glossary files using a customized \appname{makeindex}
+\filetype{.ist} style file (which is created by \ics{makeglossaries}).
+The relevant extensions are obtained from the
+auxiliary file, so you should only pass the basename as the
+argument. For example, if your document is called
+\texttt{myfile.tex}, do:
+\begin{verbatim}
+latex myfile
+makeglossaries myfile
+latex myfile
+\end{verbatim}
+You may need to explicitly load \appname{makeglossaries} into
+Perl:
+\begin{verbatim}
+perl makeglossaries myfile
+\end{verbatim}
+There is a batch file called \texttt{makeglossaries.bat} which
+does this for Windows users.
+
+If you don't have Perl installed, you will have to run
+\appname{makeindex} for each glossary type you have defined.
+For example, if you have used the \pkgopt{acronym} package option
+then you will have both a main glossary as well as a list of acronyms, so you
+will need to do (assuming your document is called \texttt{myfile.tex}):
+\begin{verbatim}
+makeindex -s myfile.ist -t myfile.glg -o myfile.gls myfile.glo
+makeindex -s myfile.ist -t myfile.alg -o myfile.acr myfile.acn
+\end{verbatim}
+This requires remembering all extensions for each of the glossaries
+defined in your document, so where possible you should use
+\appname{makeglossaries} instead to reduce the possibility of error.
+Don't pass all the glossary files in a single call to
+\appname{makeindex} or it will merge all your glossaries into a
+single glossary.
+
+If any problems occur, remember to check the transcript files
+(e.g.\ \filetype{.glg} or \filetype{.alg}) for messages.\ifmakedtx{}{\toTop}
+
+\subsection{Troubleshooting}
+
+The glossaries package comes with a minimal file called
+\texttt{minimalgls.tex} which can be used for testing. This
+should be located in \texttt{texmf/doc/latex/glossaries/samples/}. Further
+information on debugging \LaTeX\ code is available at
+\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/}.
+
+There is a list of frequently asked questions for the
+\sty{glossaries} package available at
+\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html}.\ifmakedtx{}{\toTop}
+
+\section{A Quick Guide For The Impatient}
+\label{sec:quick}
+
+This section is for people who want a few quick pointers
+of how to get started, without having to read through
+lengthy descriptions.
+
+\begin{enumerate}
+\item Load \sty{glossaries} \emph{after} \isty{hyperref}:
+\begin{verbatim}
+\usepackage{hyperref}
+\usepackage{glossaries}
+\end{verbatim}
+Similarly for the \isty{html} package:
+\begin{verbatim}
+\usepackage{html}
+\usepackage{glossaries}
+\end{verbatim}
+
+\item Always use \ics{makeglossaries} if you want the glossary
+entries to be written to the glossary file:
+\begin{verbatim}
+\documentclass{article}
+\usepackage{glossaries}
+\makeglossaries
+\end{verbatim}
+If you don't use \ics{makeglossaries}, your glossaries will
+not appear in the document!
+
+\item Use \ics{printglossaries} to make your glossaries appear
+in the document at that point. For example:
+\begin{verbatim}
+\maketitle
+\printglossaries
+\section{Introduction}
+\end{verbatim}
+Note that only the glossary entries that have been used in the
+document text will appear in the glossary.
+
+\item When you have created your document, run \LaTeX\ on it,
+then the Perl script \appname{makeglossaries}, then run \LaTeX\
+on it again:
+\begin{verbatim}
+latex myfile
+makeglossaries myfile
+latex myfile
+\end{verbatim}
+(You may need to run \LaTeX\ again if you have used the \pkgopt{toc}
+package option.)
+If you use Windows, there is a batch file called
+\texttt{makeglossaries.bat} which you can use, but you will
+still need Perl installed.
+
+\item New glossaries can be defined using:\par
+\ics{newglossary}\oarg{log-ext}%
+\marg{label}\marg{in-ext}\marg{out-ext}%
+\marg{title}\par where \meta{label} is an identifying label,
+\meta{in-ext} is the extension of the file to be created
+by \appname{makeindex} (called by \appname{makeglossaries}),
+\meta{out-ext} is the extension of the file to be read by
+\appname{makeindex} and \meta{title} is the title for this
+new glossary. The first optional argument \meta{log-ext} specifies
+the extension of the \appname{makeindex} transcript file. Example:
+\begin{verbatim}
+\newglossary[nlg]{notation}{not}{ntn}{Notation}
+\end{verbatim}
+This glossary's label is \texttt{notation} and its title
+will be Notation. If you use \appname{makeglossaries}, the
+\appname{makeindex} transcript will be written to a file with the
+extension \filetype{.nlg}. If \meta{log-ext} is omitted, the extension
+\filetype{.glg} will be used.
+
+\item Any new glossaries must be defined before
+\cs{makeglossaries}
+\begin{verbatim}
+\documentclass{article}
+\usepackage{glossaries}
+\newglossary{notation}{not}{ntn}{Notation}
+\makeglossaries
+\end{verbatim}
+
+\item If you use the \pkgopt{acronym} package option, the
+\sty{glossaries} package
+will automatically create a new glossary type labelled
+\texttt{acronym}:
+\begin{verbatim}
+\usepackage[acronym]{glossaries}
+\end{verbatim}
+
+\item If your pages have a hyphen compositor (i.e.\ your page
+numbers appear in the form 2-1), redefine \ics{glscompositor}
+\emph{before} \ics{makeglossaries}:
+\begin{verbatim}
+\documentclass{article}
+\usepackage{glossaries}
+\renewcommand{\glscompositor}{-}
+\makeglossaries
+\end{verbatim}
+
+\item To add the glossaries to the table of contents use the
+\pkgopt{toc} package option:
+\begin{verbatim}
+\usepackage[toc]{glossaries}
+\end{verbatim}
+
+\item Define a new entry with:\par
+\ics{newglossaryentry}\marg{label}\marg{key-val list}\par
+The \meta{key-val list} must at least contain a \gloskey{name}
+key and a \gloskey{description} key.
+For example:
+\begin{verbatim}
+\newglossaryentry{perl}{name=Perl,
+description=A scripting language}
+\end{verbatim}
+In this example, I have given the entry the label \texttt{perl}.
+Whenever I want to use this entry, that is the label I need
+to use to identify it.
+
+\item If the entry name starts with an accented letter, you will
+need to group the first letter (otherwise it will cause a
+problem for \ics{Gls} and \ics{Glspl}):
+\begin{verbatim}
+\newglossaryentry{elite}{name={{\'e}lite},
+description={select group or class}}
+\end{verbatim}
+
+\item If you have multiple glossaries, use the \gloskey{type}
+key to specify in which glossary the entry belongs. For example:
+\begin{verbatim}
+\newglossary{languages}{lan}{lng}{Index of Languages}
+
+\makeglossaries
+
+\newglossaryentry{perl}{name=Perl,
+description=A scripting language,
+type=languages}
+\end{verbatim}
+If \gloskey{type} is omitted, the default glossary is used.
+
+\item Remember to group values that have a comma or equal sign.
+For example:
+\begin{verbatim}
+\newglossaryentry{pagelist}{name=page list,
+description={A list of individual pages or page ranges
+(e.g.\ 1,2,4,7--9)}}
+\end{verbatim}
+
+\item Plural forms are assumed to be the singular form with an
+\dq{s} appended, unless otherwise specified. To specify an
+irregular plural, use the \gloskey{plural} key. For example:
+\begin{verbatim}
+\newglossaryentry{matrix}{name=matrix,
+description=rectangular array of quantities,
+plural=matrices}
+\end{verbatim}
+
+\item The way the term appears in the main text can be different
+from the way the term appears in the glossary:
+\begin{verbatim}
+\newglossaryentry{matrix}{name=Matrix,
+description=rectangular array of quantities,
+text=matrix,
+plural=matrices}
+\end{verbatim}
+In this example, the entry name appears as \dq{Matrix} in the
+glossary, and either \dq{matrix} or \dq{matrices} in the text.
+
+\item The way the term appears on first use can be different
+to the way it appears subsequently:
+\begin{verbatim}
+\newglossaryentry{singmtx}{name=Singular Matrix,
+description=A matrix with a zero determinant,
+first=singular matrix (SM),
+text=SM,
+firstplural=singular matrices (SMs)}
+\end{verbatim}
+In this example, the entry name appears as \dq{Singular Matrix} in
+the glossary, and in the text it appears as \dq{singular matrix (SM)}
+or \dq{singular matrices (SMs)} the first time the entry is used,
+and subsequently appears as \dq{SM} or \dq{SMs}.
+
+\item The quick and easy way to define an acronym is to use:\par
+\ics{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}%
+\marg{long}\par
+For example:
+\begin{verbatim}
+\newacronym{svm}{SVM}{support vector machine}
+\end{verbatim}
+This is equivalent to:
+\begin{verbatim}
+\newglossaryentry{svm}{type=\acronymtype,
+name={SVM},
+description={support vector machine},
+text={SVM},
+first={support vector machine (SVM)},
+plural={SVMs},
+firstplural={support vector machines (SVMs)}}
+\end{verbatim}
+(The value of \ics{acronymtype} varies depending on whether
+the \pkgopt{acronym} package option is used or not.
+The optional argument \meta{key-val list} can be used to
+override any of the \ics{newglossaryentry} keys; for
+example, if the acronym has an irregular plural.)
+
+\item The font used to display the entry name in the glossary
+is governed by \ics{glsnamefont}. This can be redefined
+as required. For example, to make the entry names appear
+in a medium sans-serif font do:
+\begin{verbatim}
+\renewcommand{\glsnamefont}[1]{\textsf{\mdseries #1}}
+\end{verbatim}
+Note that the list-like glossary styles defined in the
+\isty{glossary-list} package place the entry name in
+the optional argument to \ics{item}, so they will
+appear in bold, unless you redefine \ics{glsnamefont} to counteract the
+bold font.
+
+\item In the document use \ics{gls}\marg{label}
+to use a predefined term (this will also enter the term into
+the associated glossary output file). For example:
+\begin{verbatim}
+A \gls{singmtx} is a matrix with a zero determinant.
+\end{verbatim}
+
+\item Other variations:
+\begin{itemize}
+\item \ics{Gls}\marg{label} : like \cs{gls},
+but with first letter in upper case
+\item \ics{GLS}\marg{label} : like \cs{gls},
+but all upper case.
+\item \ics{glspl}\marg{label} : use plural
+\item \ics{Glspl}\marg{label} : use plural with
+first letter in upper case
+\item \ics{GLSpl}\marg{label} : use plural but
+all upper case
+\item \ics{glslink}\marg{label}\marg{link text} :
+use \meta{link text} to link to the given entry in the glossary.
+\end{itemize}
+For example, the following will produce the plural form with
+the first letter in uppercase:
+\begin{verbatim}
+\Glspl{singmtx} are matrices with a zero determinant.
+\end{verbatim}
+
+\item Additional text can be appended to the link using the
+end optional argument. For example, to form the possessive:
+\begin{verbatim}
+The \gls{singmtx}['s] dimensions \ldots
+\end{verbatim}
+
+\item The format of the associated entry number can be
+changed using the \gloskey[glslink]{format} key in the optional argument.
+Note that the value of the \gloskey[glslink]{format} key should be the
+name of a command \emph{without} the initial backslash. For
+example:
+\begin{verbatim}
+The primary definition of \glspl[format=textbf]{singmtx}.
+\end{verbatim}
+In this example the relevant glossary entry will have the
+page number in bold (since it uses \cs{textbf}) but
+it will no longer have a hyperlink (if hyperlinks are enabled.)
+
+\item The \sty{glossaries} package provides commands to
+change the font whilst ensuring that the number remains a
+hyperlink. These are of the form \cs{hyper}\meta{xx} and
+are equivalent to the standard font changing commands of the
+form \cs{text}\meta{xx}, as well as \ics{hyperemph}
+(which uses \ics{emph}.) For example:
+\begin{verbatim}
+The primary definition of \glspl[format=hyperbf]{singmtx}.
+\end{verbatim}
+
+\item Don't use declarations in \gloskey[glslink]{format} as this can
+cause unpredictable results, as there is no guarantee that the effect
+will be localised to the required text.
+
+\item Entries can be added to the glossary without producing
+any text using \ics{glsadd}\marg{label} or
+\ics{glsaddall}. These commands also taken an optional
+argument where you can specify the format. For example
+\begin{verbatim}
+\glsadd[format=hyperbf]{singmtx}
+\end{verbatim}
+will add a line to the
+glossary file for the specified term, but will not produce
+any text where the command occurs.
+
+\item A number range can be entered using \verb|format=(| and
+\verb"format=)" to mark the beginning and ending of the
+range\footnote{This is new to version 1.01}. For example:
+\begin{verbatim}
+ \glsadd[format=(]{singmtx}
+ This is a very long section all about \glspl{singmtx}.
+
+ % lots of text omitted
+
+ \glsadd[format=)]{singmtx}
+\end{verbatim}
+This is equivalent to \appname{makeindex}'s \verb"|(" and \verb"|)"
+formats.
+
+\item You can combine the range markers with a formatting command
+(again without the preceding backslash). For example:
+\begin{verbatim}
+ This is the start of a very long section all
+ about \glspl[format=(hyperbf]{singmtx}.
+
+ % lots of text omitted
+
+ This is the end a very long section all about
+ \glspl[format=)hyperbf]{singmtx}.
+\end{verbatim}
+
+\item Only those terms that have actually been used in the
+document will be placed in the glossary. If you have defined
+a term that doesn't appear in the document, then it means
+you haven't used it in the text (either via \ics{glslink}
+or \ics{gls} and related commands, or via \ics{glsadd}
+or \ics{glsaddall}.)
+
+\item To change the sorting order, use the \gloskey{sort} key.
+For example:
+\begin{verbatim}
+\newglossaryentry{universal}{name={\ensuremath{\mathcal{U}}},
+description=The universal set,
+sort=U}
+\end{verbatim}
+
+\item You don't need to escape \appname{makeindex}'s special characters:
+\begin{verbatim}
+\newglossaryentry{quote}{name={"},
+description={Double quote character}}
+
+\newglossaryentry{exclam}{name={!},
+description={Exclamation mark}}
+
+\newacronym{rna}{RNA}{ribonukleins\"aure}
+\end{verbatim}
+
+\item Associated symbols can also be specified, but whether the
+symbol appears in the glossary depends on the glossary style.
+For example:
+\begin{verbatim}
+\newglossaryentry{metre}{name={metre},
+description={A metric measurement of length},
+symbol={m}}
+\end{verbatim}
+The predefined glossary styles that display the entry symbol
+are: \glostyle{long4col}, \glostyle{long4colheader},
+\glostyle{long4colborder}, \glostyle{long4colheaderborder},
+\glostyle{super4col}, \glostyle{super4colheader},
+\glostyle{super4colborder} and \glostyle{super4colheaderborder}.
+All the other styles supplied by this package ignore the associated
+symbol.
+
+\item Glossary styles can be set using the \pkgopt{style}
+package option. For example:
+\begin{verbatim}
+\usepackage[style=long3col]{glossaries}
+\end{verbatim}
+or using \ics{glossarystyle}\marg{style}. For example:
+\begin{verbatim}
+\glossarystyle{altlist}
+\end{verbatim}
+The predefined glossary styles provided by the \sty{glossaries}
+bundle are listed in \ifmakedtx{\autoref{sec:styles}}{\htmlref{{Glossary Styles}}{sec:styles}}.
+
+\item The list of numbers associated with each glossary entry
+can be suppressed using the package option \pkgopt{nonumberlist}:
+\begin{verbatim}
+\usepackage[nonumberlist]{glossaries}
+\end{verbatim}
+
+\item By default, the glossaries will appear in an unnumbered
+chapter if chapters are defined, otherwise in an unnumbered
+section. This can be changed using the \pkgopt{section} package
+option. For example, to make the glossaries appear in an unnumbered
+section, even if chapters are defined, do:
+\begin{verbatim}
+\usepackage[section]{glossaries}
+\end{verbatim}
+Other sectional units can also be specified as
+\pkgopt{section}=\meta{value}. For example, to make the glossaries
+appear in unnumbered subsections:
+\begin{verbatim}
+\usepackage[section=subsection]{glossaries}
+\end{verbatim}
+
+\end{enumerate}\ifmakedtx{}{\toTop}
+
+\section{Overview}\label{sec:overview}
+ \changes{1.02}{2007 May 25}{added overview section}
+
+\subsection{Package Options}
+
+The \sty{glossaries} package options are as follows:
+\begin{description}
+\item[\pkgopt{toc}] Add the glossaries to the table of contents.
+
+\item[\pkgopt{numberline}] When used with \pkgopt{toc}, this will
+add \cs{numberline}\verb|{}| in the final argument of
+\cs{addcontentsline}. This will align the table of contents entry
+with the numbered section titles. Note that this option has no
+effect if the \pkgopt{toc} option is omitted. If \pkgopt{toc} is
+used without \pkgopt{numberline}, the title will be aligned with
+the section numbers rather than the section titles.
+
+\item[\pkgopt{acronym}] Make a separate glossary for acronyms.
+
+\item[\pkgopt{section}] This is a \meta{key}=\meta{value} option. Its
+value should be the name of a sectional unit (e.g.\ chapter).
+This will make the glossaries appear in the named sectional unit,
+otherwise each glossary will appear in a chapter, if chapters
+exists, otherwise in a section. Unnumbered sectional units will be used
+by default. Example:
+\begin{verbatim}
+\usepackage[section=subsection]{glossaries}
+\end{verbatim}
+You can omit the value if you want to use sections, i.e.\
+\begin{verbatim}
+\usepackage[section]{glossaries}
+\end{verbatim}
+is equivalent to
+\begin{verbatim}
+\usepackage[section=section]{glossaries}
+\end{verbatim}
+You can change this value later in the document using
+\ics{setglossarysection}\marg{type}.
+
+\item[\pkgopt{numberedsection}]
+The glossaries are placed in unnumbered sectional units by default,
+but this can be changed using \pkgopt{numberedsection}. This option can take
+three possible values: \pkgoptval{false}{numberedsection} (no
+number, i.e.\ use starred form), \pkgoptval{nolabel}{numberedsection}
+(numbered, i.e.\ unstarred form, but not labelled) and
+\pkgoptval{autolabel}{numberedsection} (numbered with automatic
+labelling). If \pkgopt[autolabel]{numberedsection} is used, each
+glossary is given a label that matches the glossary type, so the
+main (default) glossary is labelled \texttt{main}, the list of
+acronyms is labelled \texttt{acronym}\footnote{if the
+\pkgopt{acronym} option is used, otherwise the list of
+acronyms is the main glossary} and additional glossaries are labelled
+using the value specified in the first mandatory argument to
+\cs{newglossary}. For example, if you load \sty{glossaries}
+using:
+\begin{verbatim}
+\usepackage[section,numberedsection=autolabel]{glossaries}
+\end{verbatim}
+then each glossary will appear in a numbered section, and can
+be referenced using something like:
+\begin{verbatim}
+The main glossary is in section~\ref{main} and the list of
+acronyms is in section~\ref{acronym}.
+\end{verbatim}
+If you can't decide whether to have the acronyms in the main
+glossary or a separate list of acronyms, you can use
+\ics{acronymtype} which is set to \texttt{main} if the
+\pkgopt{acronym} option is not used and is set to \texttt{acronym}
+if the \pkgopt{acronym} option is used. For example:
+\begin{verbatim}
+The list of acronyms is in section~\ref{\acronymtype}.
+\end{verbatim}
+
+\item[\pkgopt{style}] This is a \meta{key}=\meta{value} option. Its
+value should be the name of the glossary style to use. Predefined
+glossary styles are listed \ifmakedtx{in \autoref{sec:styles}}{\htmlref{later}{sec:styles}}.
+
+\item[\pkgopt{nonumberlist}] This option will suppress the
+associated number lists\iterm{number list} in the glossaries (see also
+\ifmakedtx{\autoref{sec:numberlists}}{\htmlref{Number Lists}{sec:numberlists}}.)
+
+\item[\pkgopt{counter}] This is a \meta{key}=\meta{value} option. The
+value should be the name of the default counter to use in the number
+lists\iterm{number list}.
+
+\ifmakedtx{\hypertarget{sanitize}{}\relax}{\label{sanitize}}
+\item[\pkgopt{sanitize}] This is a \meta{key}=\meta{value} option whose
+value is also a \meta{key}=\meta{value} list. By default, the
+\sty{glossaries} package sanitizes the values of the
+\gloskey{name}, \gloskey{description} and \gloskey{symbol} keys used
+when defining a new glossary entry. This may lead to unexpected results
+if you try to display these values within the document text. This
+sanitization can be switched off using the \pkgopt{sanitize} package
+option. \ifmakedtx{(See \autoref{sec:pkgopt} and \autoref{sec:newentry} for
+further details.)}{} For example, to switch off the sanitization for the
+\gloskey{description} and \gloskey{name} keys, but not for the
+\gloskey{symbol} key, do:
+\begin{verbatim}
+\usepackage[sanitize={name=false,description=false,%
+symbol=true}]{glossaries}
+\end{verbatim}
+
+\textbf{Note}: this sanitization only applies to the \gloskey{name},
+\gloskey{description} and \gloskey{symbol} keys. It doesn't apply
+to any of the other keys (except the \gloskey{sort} key which is
+always sanitized) so fragile commands contained in the value of
+the other keys must always be protected using \cs{protect}.
+Since the value of the \gloskey{text} key is obtained from the
+\gloskey{name} key, you will still need to protect fragile commands
+in the \gloskey{name} key if you don't use the \gloskey{text} key.
+
+\item[\pkgopt{babel}] This is a boolean key and is for use when
+the \sty{glossaries} package is used in conjunction with the
+\isty{babel} package. The default is \pkgopt[true]{babel}, which
+adds the glossary translations to \isty{babel}'s captions. If
+you don't like the translations provided by the \sty{glossaries}
+package, you can set \pkgopt[false]{babel} and provide your own
+translations.
+
+\item[\pkgopt{description}] This option changes the definition of
+\ics{newacronym} to allow a description. See \ifmakedtx{\autoref{sec:acronyms}}{\htmlref{later}{sec:acronyms}}
+for further details.
+
+\item[\pkgopt{footnote}] This option changes the definition of
+\ics{newacronym} and the way that acronyms are displayed. See \ifmakedtx{\autoref{sec:acronyms}}{\htmlref{later}{sec:acronyms}}
+for further details.
+
+\item[\pkgopt{smallcaps}] This option changes the definition of
+\ics{newacronym} and the way that acronyms are displayed. See \ifmakedtx{\autoref{sec:acronyms}}{\htmlref{later}{sec:acronyms}}
+for further details.
+
+\item[\pkgopt{dua}] This option changes the definition of
+\ics{newacronym} so that acronyms are always expanded.
+See \ifmakedtx{\autoref{sec:acronyms}}{\htmlref{later}{sec:acronyms}}
+for further details.
+
+\end{description}\ifmakedtx{}{\toTop}
+
+\subsection{Defining Glossary Entries}
+\label{sec:newglosentry}
+
+All glossary entries that are used in a document must be defined in
+the preamble. Only those entries that occur in the document
+(using any of the commands described in \ifmakedtx{\autoref{sec:glslink}}{\htmlref{Links to Glossary Entries}{sec:glslink}} and
+\ifmakedtx{\autoref{sec:glsadd}}{\htmlref{Adding an entry to the glossary without generating text}{sec:glsadd}}) will appear in the glossary. Each time an entry
+is used in this way, a line is added to an associated glossary
+(\filetype{.glo}) file, which then needs to be converted into a
+corresponding \filetype{.gls} file which contains the typeset glossary
+which is input by \ics{printglossary} or
+\ics{printglossaries}. The Perl script \appname{makeglossaries}
+can be used to call \appname{makeindex}, using a customised
+\filetype{.ist} style file, for each of the glossaries that are defined
+in the document. Note that there should be no need for you to
+explicitly edit or input any of these external files.
+
+\DescribeMacro{\makeglossaries}
+The command \cs{makeglossaries} must be placed in the preamble in
+order to create the customised \appname{makeindex} \filetype{.ist}
+style file and to ensure that glossary entries are written to the
+appropriate output file. If you omit \cs{makeglossaries} none of the
+glossaries will be created. Note that if your page numbers use a
+hyphen compositor, you must set this by redefining
+\DescribeMacro{\glscompositor}\cs{glscompositor} \emph{before}
+using \cs{makeglossaries}:
+\begin{verbatim}
+\renewcommand*{\glscompositor}{-}
+\end{verbatim}
+(The default value of \cs{glscompositor} is a full stop.)
+
+\DescribeMacro{\newglossaryentry}
+New glossary entries are defined using the command:\\[10pt]
+\cs{newglossaryentry}\marg{label}\marg{key-val list}\\[10pt] The first
+argument, \meta{label}, must be a unique label with which to identify
+this entry. The second argument, \meta{key-val list}, is a
+\meta{key}=\meta{value} list that supplies the relevant information
+about this entry. There are two required fields: \gloskey{name} and
+\gloskey{description}. Available fields are listed below:
+
+\begin{description}
+\item[{\gloskey{name}}] The name of the entry (as it will appear in the
+glossary).
+
+\item[{\gloskey{description}}] A brief description of this term (to
+appear in the glossary).
+
+\item[{\gloskey{text}}] How this entry will appear in the document text
+when using \ics{gls} (or one of its uppercase variants). If this
+field is omitted, the value of the \gloskey{name} key is used.
+
+\item[{\gloskey{first}}] How the entry will appear in the document text
+the first time it is used with \ics{gls} (or one of its uppercase
+variants). If this field is omitted, the value of the \gloskey{text}
+key is used.
+
+\item[{\gloskey{plural}}] How the entry will appear in the document text
+when using \ics{glspl} (or one of its uppercase variants).
+If this field is omitted, the value is obtained by appending an
+\dq{s} to the value of the \gloskey{text} field.
+
+\item[{\gloskey{firstplural}}] How the entry will appear in the document
+text the first time it is used with \ics{glspl} (or one of
+its uppercase variants). If this field is omitted, the value is
+obtained by appending an \dq{s} to the value of the \gloskey{first}
+field.
+
+\item[{\gloskey{symbol}}] This field is provided to allow the user to
+specify an associated symbol, but most glossary styles ignore
+this value. If omitted, the value is set to \cs{relax}.
+
+\item[{\gloskey{sort}}] This value indicates how \appname{makeindex}
+should sort this entry. If omitted, the value is given by the
+\gloskey{name} field. This value is equivalent to
+\appname{makeindex}'s \dq{actual} character (which is usually the
+at-sign @ although the \sty{glossaries} package uses a different
+symbol).
+
+\item[{\gloskey{type}}] This is the glossary type to which this entry
+belongs. If omitted, the default glossary is assumed
+(\texttt{type=main}). The list of acronyms type is given by
+\ics{acronymtype} which will either be \texttt{main} or
+\texttt{acronym}, depending on whether the \pkgopt{acronym} package
+option was used.
+\end{description}
+Note that if the \gloskey{text} key (or the \gloskey{name} key, if the
+\gloskey{text} key is omitted) starts with an accented letter,
+you must group the accented letter, otherwise it will cause a
+problem for \cs{Gls} and \cs{Glspl}. For example:
+\begin{verbatim}
+\newglossaryentry{elite}{name={{\'e}lite},
+description={select group or class}}
+\end{verbatim}
+(Likewise for the \gloskey{plural}, \gloskey{first} and
+\gloskey{firstplural} keys.)
+
+\DescribeMacro{\loadglsentries}
+You can store all your glossary entry definitions in another
+file, and use:\\[10pt]
+\cs{loadglsentries}\oarg{type}\marg{filename}\\[10pt]
+where \meta{filename} is the name of the file containing all the
+\cs{newglossaryentry} commands. The optional argument
+\meta{type} is the name of the glossary to which those entries
+should belong, for those entries where the \gloskey{type} key has
+been omitted. Note that only those entries that have been used
+in the text will appear in the relevant glossaries.\ifmakedtx{}{\toTop}
+
+\subsection{Number lists}
+\label{sec:numberlists}
+
+Each entry in the glossary has an associated \termdef{number list}.
+By default,
+these numbers refer to the pages on which that entry has been used
+(using any of the commands described in \ifmakedtx{\autoref{sec:glslink}}{\htmlref{Links to Glossary Entries}{sec:glslink}}
+and \ifmakedtx{\autoref{sec:glsadd}}{\htmlref{Adding an entry to the glossary without generating text}{sec:glsadd}}). The number list can be suppressed using
+the \pkgopt{nonumberlist} package option, or an alternative counter
+can be set as the default using the \pkgopt{counter} package option.\ifmakedtx{}{\toTop}
+
+\subsection{Links to Glossary Entries}
+\label{sec:glslink}
+
+Once you have defined a glossary entry using
+\ics{newglossaryentry}, you can refer to that entry in the
+document using one of the commands listed in this section. The
+text which appears at that point in the document when using
+one of these commands is referred to as the
+\termdef{link text} (even if there are no hyperlinks).
+
+The way the \term{link text} is displayed
+depends on \DescribeMacro{\glstextformat}\cs{glstextformat}\marg{text}.
+For example, to make all \term{link text} appear in a sans-serif
+font, do:
+\begin{verbatim}
+\renewcommand*{\glstextformat}[1]{\textsf{#1}}
+\end{verbatim}
+
+\DescribeMacro{\glslink}
+The command:\\[10pt]
+\cs{glslink}\oarg{options}\marg{label}\marg{text}\\[10pt]
+will place \meta{text} in the document at that point and add
+a line into the associated glossary file for the glossary entry
+given by \meta{label}. If hyperlinks are supported, \meta{text}
+will be a hyperlink to the relevant line in the glossary. The
+optional argument \meta{options} must be a \meta{key}=\meta{value}
+list which can take any of the following keys:
+
+\begin{description}
+\item[{\gloskey[glslink]{format}}] This specifies how to format the
+associated number for this entry in the glossary. This value is
+equivalent to the \appname{makeindex} encap value, and (as with
+\cs{index}) the value needs to be the name of a command \emph{without}
+the initial backslash. As with \cs{index}, the characters \verb"(" and
+\verb")" can also be used to specify the beginning and ending of a
+number range. Again as with \cs{index}, the command should be the name
+of a command which takes an argument (which will be the associated
+number). Be careful not to use a declaration (such as \cs{bfseries})
+instead of a text block command (such as \cs{textbf}) as the effect is
+not guaranteed to be localised. If you want to apply more than one
+style to a given entry (e.g.\ \textbf{bold} and \emph{italic}) you will
+need to create a command that applies both formats, e.g.\
+\begin{verbatim}
+\newcommand*{\textbfem}[1]{\textbf{\emph{#1}}}
+\end{verbatim}
+and use that command.
+
+If you are using hyperlinks and you want to change the font of the
+hyperlink, don't use \cs{hyperpage} (provided by the \isty{hyperref}
+package) as the numbers may not refer to a page number.
+Instead, the \sty{glossaries} package provides the following
+number formats:
+\begin{center}
+\ifmakedtx{\begin{tabular}{@{\sffamily}lp{0.8\linewidth}}
+hyperrm & The number is a serif hyperlink to the relevant part of the
+document\\
+hypersf & The number is a sans-serif hyperlink to the relevant part
+of the document\\
+hypertt & The number is a monospaced hyperlink to the relevant part
+of the document\\
+hyperbf & The number is a bold hyperlink to the relevant part of the
+document\\
+hypermd & The number is a medium weight hyperlink to the relevant
+part of the document\\
+hyperit & The number is an italic hyperlink to the relevant
+part of the document\\
+hypersl & The number is a slanted hyperlink to the relevant
+part of the document\\
+hyperup & The number is an upright hyperlink to the relevant
+part of the document\\
+hypersc & The number is a small caps hyperlink to the relevant
+part of the document\\
+hyperemph & The number is an emphasized hyperlink to the relevant
+part of the document
+\end{tabular}}{\begin{tabular}{ll}
+\texttt{hyperrm} & The number is a serif hyperlink to the relevant part of the
+document\\
+\texttt{hypersf} & The number is a sans-serif hyperlink to the relevant part
+of the document\\
+\texttt{hypertt} & The number is a monospaced hyperlink to the relevant part
+of the document\\
+\texttt{hyperbf} & The number is a bold hyperlink to the relevant part of the
+document\\
+\texttt{hypermd} & The number is a medium weight hyperlink to the relevant
+part of the document\\
+\texttt{hyperit} & The number is an italic hyperlink to the relevant
+part of the document\\
+\texttt{hypersl} & The number is a slanted hyperlink to the relevant
+part of the document\\
+\texttt{hyperup} & The number is an upright hyperlink to the relevant
+part of the document\\
+\texttt{hypersc} & The number is a small caps hyperlink to the relevant
+part of the document\\
+\texttt{hyperemph} & The number is an emphasized hyperlink to the relevant
+part of the document
+\end{tabular}}
+\end{center}
+Note that if the \cs{hyperlink} command hasn't been defined,
+the \texttt{hyper}\meta{xx} formats are equivalent to the
+analogous \cs{text}\meta{xx} font commands. If you want to
+make a new format, you will need to define a command which takes
+one argument and use that; for example, if you want the associated
+number in the glossary to be in a bold sans-serif font, you can define a
+command called, say, \cs{hyperbsf}:
+\begin{verbatim}
+\newcommand{\hyperbsf}[1]{\textbf{\hypersf{#1}}}
+\end{verbatim}
+and then use \texttt{hyperbsf} as the value for the \gloskey{format}
+key.\ifmakedtx{ (See also \autoref{sec:printglos}.)}{}
+
+\item[{\gloskey[glslink]{counter}}] This specifies which counter
+to use for the associated number for this glossary entry. (See also
+\ifmakedtx{\autoref{sec:numberlists}}{\htmlref{Number Lists}{sec:numberlists}}.)
+
+\item[{\gloskey[glslink]{hyper}}] This is a boolean key which can
+be used to enable/disable the hyperlink to the relevant entry
+in the glossary. (Note that setting \texttt{hyper=true} will have no
+effect if \cs{hyperlink} has not been defined.) The default
+value is \texttt{hyper=true}.
+
+\end{description}
+\DescribeMacro{\glslink*}
+There is also a starred version:\\[10pt]
+\cs{glslink*}\oarg{options}\marg{label}\marg{text}\\[10pt]
+which is equivalent to \cs{glslink}, except it sets
+\texttt{hyper=false}.
+
+\DescribeMacro{\gls}
+The command:\\[10pt]
+\cs{gls}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is the same as \cs{glslink}, except that the \term{link text}
+is determined from the values of the \gloskey{text} and
+\gloskey{first} keys supplied when the entry was defined using
+\ics{newglossaryentry}. There are two uppercase variants:\\[10pt]
+\DescribeMacro{\Gls}
+\cs{Gls}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+and\\[10pt]
+\DescribeMacro{\GLS}
+\cs{GLS}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+which make the first letter of the link or all the link text
+uppercase, respectively.
+
+The final optional argument \meta{insert}, allows you to insert
+some additional text into the link text. By default, this will
+append \meta{insert} at the end of the link text. The first optional
+argument \meta{options} is the same as the optional argument to
+\ics{glslink}. As with \cs{glslink}, these commands also have
+a starred version that disable the hyperlink.
+
+There are also analogous plural forms:\\[10pt]
+\DescribeMacro{\glspl}
+\cs{glspl}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+\DescribeMacro{\Glspl}
+\cs{Glspl}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSpl}
+\cs{GLSpl}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+These determine the link text from the \gloskey{plural} and
+\gloskey{firstplural} keys supplied when the entry was first
+defined. As before, these commands also have
+a starred version that disable the hyperlink.
+
+\DescribeMacro{\glstext}The command:\\[10pt]
+\cs{glstext}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{text} key and does not mark the entry as
+having been used.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glstext}
+\cs{Glstext}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLStext}
+\cs{GLStext}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\DescribeMacro{\glsfirst}The command:\\[10pt]
+\cs{glsfirst}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{first} key and does not mark the entry as
+having been used.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glsfirst}
+\cs{Glsfirst}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSfirst}
+\cs{GLSfirst}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\DescribeMacro{\glsplural}The command:\\[10pt]
+\cs{glsplural}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{plural} key and does not mark the entry as
+having been used.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glsplural}
+\cs{Glsplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSplural}
+\cs{GLSplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\DescribeMacro{\glsfirstplural}The command:\\[10pt]
+\cs{glsfirstplural}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{firstplural} key and does not mark the entry as
+having been used.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glsfirstplural}
+\cs{Glsfirstplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSfirstplural}
+\cs{GLSfirstplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\DescribeMacro{\glsname}The command:\\[10pt]
+\cs{glsname}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{name} key and does not mark the entry as
+having been used. Note: if you want to use this command and the
+\gloskey{name} key contains commands, you will have to disable the
+\ifmakedtx{\hyperlink{sanitize}{sanitization}}{\htmlref{sanitization}{sanitize}}
+of the \gloskey{name} key and protect fragile commands.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glsname}
+\cs{Glsname}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSname}
+\cs{GLSname}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\DescribeMacro{\glssymbol}The command:\\[10pt]
+\cs{glssymbol}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{symbol} key and does not mark the entry as
+having been used. Note: if you want to use this command and the
+\gloskey{symbol} key contains commands, you will have to disable the
+\ifmakedtx{\hyperlink{sanitize}{sanitization}}{\htmlref{sanitization}{sanitize}}
+of the \gloskey{symbol} key and protect fragile commands.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glssymbol}
+\cs{Glssymbol}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSsymbol}
+\cs{GLSsymbol}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\DescribeMacro{\glsdesc}The command:\\[10pt]
+\cs{glsdesc}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+is similar to \ics{gls} except that it always uses the value
+of the \gloskey{description} key and does not mark the entry as
+having been used. Note: if you want to use this command and the
+\gloskey{description} key contains commands, you will have to disable the
+\ifmakedtx{\hyperlink{sanitize}{sanitization}}{\htmlref{sanitization}{sanitize}}
+of the \gloskey{description} key and protect fragile commands.
+
+There are also analogous commands:\\[10pt]
+\DescribeMacro{\Glsdesc}
+\cs{Glsdesc}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+\DescribeMacro{\GLSdesc}
+\cs{GLSdesc}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+As before, these commands also have a starred version that disable
+the hyperlink.
+
+\ifmakedtx{}{\toTop}
+
+\subsubsection{Changing the format of the link text}
+\label{sec:glsdisplay}
+
+The format of the \term{link text} for \ics{gls}, \ics{glspl}
+and their uppercase variants is governed by two commands:
+\DescribeMacro{\glsdisplayfirst}\cs{glsdisplayfirst}, which is used the
+first time a glossary entry is used in the text and
+\DescribeMacro{\glsdisplay}\cs{glsdisplay}, which is used subsequently.
+Both commands take four arguments: the first is either the singular or
+plural form given by the \gloskey{text}, \gloskey{plural},
+\gloskey{first} or \gloskey{firstplural} keys (used when the term was
+defined) depending on context; the second argument is the term's
+description (as supplied by the \gloskey{description} key); the third
+argument is the symbol associated with the term (as supplied by the
+\gloskey{symbol} key) and the fourth argument is the additional text
+supplied in the final optional argument to \cs{gls} or
+\cs{glspl} (or their uppercase variants). The default definitions
+of \cs{glsdisplay} and \cs{glsdisplayfirst} simply
+print the first argument immediately followed by the fourth argument.
+The remaining arguments are ignored.
+
+For example, suppose you want a glossary of measurements and
+units, you can use the \gloskey{symbol} key to store the unit:
+\begin{verbatim}
+\newglossaryentry{distance}{name=distance,
+description={The length between two points},
+symbol={km}}
+\end{verbatim}
+and now suppose you want \verb|\gls{distance}| to produce
+\dq{distance (km)} on first use, then you can redefine
+\cs{glsdisplayfirst} as follows:
+\begin{verbatim}
+\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
+\end{verbatim}
+Note that the additional text is placed after \verb|#1|, so
+\verb|\gls{distance}['s]| will produce \dq{distance's (km)}
+rather than \dq{distance (km)'s} which looks a bit odd (even though
+it may be in the context of \dq{the distance (km) is measured between
+the two points} --- but in this instance it may be better not to
+use a contraction).
+
+Note also that all of the \term{link text} will be formatted according
+to \ics{glstextformat} (described earlier). So if you do, say:
+\begin{verbatim}
+\renewcommand{\glstextformat}[1]{\textbf{#1}}
+\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
+\end{verbatim}
+then \verb|\gls{distance}| will produce \dq{\textbf{distance (km)}}.
+
+If you have multiple glossaries, changing \cs{glsdisplayfirst} and
+\cs{glsdisplay} will change the way entries for all of the
+glossaries appear when using commands \cs{gls}, \cs{glspl} and their
+uppercase variants. If you only
+want the change to affect entries for a given glossary, then you need
+to use \DescribeMacro{\defglsdisplay}\cs{defglsdisplay} and
+\DescribeMacro{\defglsdisplayfirst}\cs{defglsdisplayfirst} instead
+of redefining \cs{glsdisplay} and \cs{glsdisplayfirst}.
+
+Both \cs{defglsdisplay} and \cs{defglsdisplayfirst} take two arguments:
+the first (which is optional) is the glossary name\footnote{\texttt{main} for the main
+(default) glossary, \cs{acronymtype} for the list of acronyms, or the
+name supplied in the first mandatory argument to \cs{newglossary} for
+additional glossaries.} and the second is how the term should be
+displayed when it is invoked using commands \cs{gls},
+\cs{glspl} and their uppercase variants. This is similar to the way \cs{glsdisplayfirst} was
+redefined above.
+
+For example, suppose you have created a new glossary called
+\texttt{notation} and you want to change the way the entry is
+displayed on first use so that it includes the symbol, you can
+do:
+\begin{verbatim}
+\defglsdisplayfirst[notation]{#1#4 (denoted #3)}
+\end{verbatim}
+Now suppose you have defined an entry as follows:
+\begin{verbatim}
+\newglossaryentry{set}{type=notation,
+name=set,
+description={A collection of objects},
+symbol={$S$},
+}
+\end{verbatim}
+The first time you reference this entry using \cs{gls} it
+will be displayed as: \dq{set (denoted \ifmakedtx{$S$}{\textit{S}})}
+(similarly for \cs{glspl} and the uppercase variants).
+
+Remember that if you use the \gloskey{symbol} key, you need to use a
+glossary style that displays the symbol, as many of the styles ignore
+it. In addition, if you want either the description or symbol to appear
+in the \term{link text}, you will have to disable the
+\ifmakedtx{\hyperlink{sanitize}{sanitization}}{\htmlref{sanitization}{sanitize}}
+of these keys and protect fragile commands.\ifmakedtx{}{\toTop}
+
+\subsubsection{Enabling and disabling hyperlinks to glossary entries}
+
+If you load the \isty{hyperref} or \isty{html} packages prior to
+loading the \sty{glossaries} package, commands such as \ics{glslink}
+and \ics{gls}, described above, will automatically have hyperlinks
+to the relevant glossary entry, unless the \gloskey[glslink]{hyper}
+option has been set to \texttt{false}. You can disable or enable links using:\\[10pt]
+\DescribeMacro{\glsdisablehyper}\cs{glsdisablehyper}\\[10pt]
+and\\[10pt]
+\DescribeMacro{\glsenablehyper}\cs{glsenablehyper}\\[10pt]
+respectively. The effect can be localised by placing the commands
+within a group. Note that you should only use \cs{glsenablehyper}
+if the commands \ics{hyperlink} and \ics{hypertarget} have been
+defined (for example, by the \isty{hyperref} package).
+
+\subsection{Adding an entry to the glossary without generating text}
+\label{sec:glsadd}
+
+\DescribeMacro{\glsadd}
+It is possible to add a line in the glossary file without
+generating any text at that point in the document using:\\[10pt]
+\cs{glsadd}\oarg{options}\marg{label}\\[10pt]
+This is similar to \ics{glslink}, only it doesn't produce
+any text (so therefore, there is no \gloskey[glslink]{hyper} key
+available in \meta{options} but all the other options that can
+be used with \cs{glslink} can be passed to \cs{glsadd}).
+
+\DescribeMacro{\glsaddall}
+To add all entries that have been defined, use:\\[10pt]
+\cs{glsaddall}\oarg{glossary list}\\[10pt]
+If there are multiple glossaries, you can specify to add only
+those entries which belong to the glossaries listed in
+\meta{glossary list} (which must be a comma separated list of
+glossary names). For example:
+\begin{verbatim}
+\glsaddall[notation]
+\end{verbatim}
+will add all the entries that have been defined for the glossary
+labelled \dq{notation}.\ifmakedtx{}{\toTop}
+
+\subsection{Displaying a glossary}
+
+\DescribeMacro{\printglossaries}
+The command \cs{printglossaries} will display all the
+defined glossaries. Note that no glossaries will appear until
+you have either used the Perl script \appname{makeglossaries}
+or have directly used \appname{makeindex} (as described in
+\ifmakedtx{\autoref{sec:makeglossaries}}{\htmlref{Generating the Associated Glossary Files}{sec:makeglossaries}}). If the glossary still
+does not appear after you re-\LaTeX\ your document, check
+the \appname{makeindex} log files to see if there is a problem.
+Remember that you also need to use the command \ics{makeglossaries} in
+the preamble to enable the glossaries.
+
+\DescribeMacro{\printglossary}
+An individual glossary is displayed using:\\[10pt]
+\cs{printglossary}\oarg{options}\\[10pt]
+where \meta{options} is a \meta{key}=\meta{value} list of options.
+The following keys are available:
+\begin{description}
+\item[{\gloskey[printglossary]{type}}] The value of this key
+specifies which glossary to print. If omitted, the default
+glossary is assumed. For example, to print the list of acronyms:
+\begin{verbatim}
+\printglossary[type=\acronymtype]
+\end{verbatim}
+
+\item[{\gloskey[printglossary]{title}}] This is the glossary's
+title (overriding the title specified when the glossary was
+defined).
+
+\item[{\gloskey[printglossary]{toctitle}}] This is the title
+to use for the table of contents (if the \pkgopt{toc} package
+option has been used). If omitted, the glossary title is used.
+
+\item[{\gloskey[printglossary]{style}}] This specifies which
+glossary style to use for this glossary, overriding the effect
+of the \pkgopt{style} option or \ics{glossarystyle}.
+\end{description}
+
+\DescribeMacro{\glossarypreamble}
+Information can be added to the start of the glossary by redefining
+\cs{glossarypreamble}. For example:
+\begin{verbatim}
+\renewcommand{\glossarypreamble}{Numbers in italic indicate
+primary definitions.}
+\end{verbatim}
+This needs to be done before the glossary is displayed using
+\cs{printglossaries} or \cs{printglossary}. Note that if you
+want a different preamble for each glossary, you will need to
+use a separate \cs{printglossary} for each glossary and change
+the definition of \cs{glossarypreamble} between each glossary.
+For example:
+\begin{verbatim}
+\renewcommand{\glossarypreamble}{Numbers in italic indicate
+primary definitions.}
+\printglossary
+\renewcommand{\glossarypreamble}{}
+\printglossary[type=acronym]
+\end{verbatim}
+Alternatively, you can do something like:
+\begin{verbatim}
+\renewcommand{\glossarypreamble}{Numbers in italic indicate
+primary definitions.\gdef\glossarypreamble{}}
+\printglossaries
+\end{verbatim}
+which will print the preamble text for the first glossary and
+change the preamble to do nothing for subsequent glossaries.
+(Note that \cs{gdef} is required as the glossary is placed within
+a group.)
+
+\DescribeMacro{\glossarypostamble}There is an analogous command
+called \cs{glossarypostamble} which is placed at the end of each
+glossary.\ifmakedtx{}{\toTop}
+
+\subsubsection{Changing the way the entry name appears in the glossary}
+\label{sec:glsnamefont}
+
+\DescribeMacro{\glsnamefont}Within each glossary, each entry name is
+formatted according to \cs{glsnamefont} which takes one argument: the
+entry name. This command is always used regardless of the glossary
+style. By default, \cs{glsnamefont} simply displays its argument in
+whatever the surrounding font happens to be. This means that in the
+list styles the name will appear in bold, since the name is placed in
+the optional argument of \cs{item}, whereas in the tabular styles the
+name will appear in the normal font.
+
+For example, suppose you want all the entry names to appear in
+medium weight small caps, then you can do:
+\begin{verbatim}
+\renewcommand{\glsnamefont}[1]{\textsc{\mdseries #1}}
+\end{verbatim}
+\ifmakedtx{}{\toTop}
+
+\subsection{Defining New Glossaries}
+
+\DescribeMacro{\newglossary}
+A new glossary can be defined using:\\[10pt]
+\cs{newglossary}\oarg{log-ext}\marg{name}\marg{in-ext}\marg{out-ext}\marg{title}\oarg{counter}\\[10pt]
+where \meta{name} is label to assign to this glossary. The arguments
+\meta{in-ext} and \meta{out-ext} specify the extensions to give to the
+input and output files for that glossary, \meta{title} is the default
+title for this new glossary and the final optional argument
+\meta{counter} specifies which counter to use for the associated number
+lists\iterm{number list} (see also \ifmakedtx{\autoref{sec:numberlists}}{\htmlref{Number Lists}{sec:numberlists}}.) The
+first optional argument specifies the extension for the
+\appname{makeindex} transcript file (this information is only used by
+\appname{makeglossaries} which picks up the information from the
+auxiliary file.)
+
+Note that the main (default) glossary is automatically created as:
+\begin{verbatim}
+\newglossary{main}{gls}{glo}{\glossaryname}
+\end{verbatim}
+so it can be identified by the label \texttt{main}. Using the
+\pkgopt{acronym} package option is equivalent to:
+\begin{verbatim}
+\newglossary[alg]{acronym}{acr}{acn}{\acronymname}
+\end{verbatim}
+so it can be identified by the label \texttt{acronym}. If you are
+not sure whether the \pkgopt{acronym} option has been used, you
+can identify the list of acronyms by the command
+\DescribeMacro{\acronymtype}\cs{acronymtype} which is set to
+\texttt{acronym}, if the \pkgopt{acronym} option has been used,
+otherwise it is set to \texttt{main}.\ifmakedtx{}{\toTop}
+
+\subsection{Acronyms}
+\label{sec:acronyms}
+
+\DescribeMacro{\newacronym}
+As you may have noticed in \ifmakedtx{\autoref{sec:newglosentry}}{\htmlref{Defining Glossary Entries}{sec:newglosentry}}, when you
+specify a new entry, you can specify alternate text to use when
+the term is first used in the document. This provides a useful
+means to define acronyms. The \sty{glossaries} package defines
+the command:\\[10pt]
+\cs{newacronym}\oarg{key-val list}\marg{label}\marg{abbrv}\marg{long}\\[10pt]
+This is equivalent to:\vskip5pt
+\begin{ttfamily}\par\noindent
+\cs{newglossaryentry}\textrm{\marg{label}}\{type=\cs{acronymtype},\\
+name=\textrm{\marg{abbrv}},\\
+description=\textrm{\marg{long}},\\
+text=\textrm{\marg{abbrv}},\\
+first=\{\textrm{\meta{long}} (\textrm{\meta{abbrv}})\},\\
+plural=\{\textrm{\meta{abbrv}}s\},\\
+firstplural=\{\textrm{\meta{long}}s (\textrm{\meta{abbrv}}s)\},\\
+\textrm{\meta{key-val list}}\}\par
+\end{ttfamily}
+\vskip5pt
+As mentioned in the previous section, the command \cs{acronymtype} is
+the name of the glossary in which the acronyms should appear. If the
+\pkgopt{acronym} package option has been used, this will be
+\texttt{acronym}, otherwise it will be \texttt{main}. The acronyms can
+then be used in exactly the same way as any other glossary entry.
+For example, the following defines the acronym IDN:
+\begin{verbatim}
+\newacronym{idn}{IDN}{identification number}
+\end{verbatim}
+This is equivalent to:
+\begin{verbatim}
+\newglossaryentry{idn}{type=\acronymtype,
+name={IDN},
+description={identification number},
+text={IDN},
+first={identification number (IDN)},
+plural={IDNs},
+firstplural={identification numbers (IDNs)}}
+\end{verbatim}
+so \verb|\gls{idn}| will produce \dq{identification number (IDN)} on
+first use and \dq{IDN} on subsequent uses.
+
+The \sty{glossaries} package has options that change the
+definition of \ics{newacronym} for common acronym formats. These
+options also change the way the link text is displayed for the
+acronyms.
+
+Table~\ref{tab:acronymsettings} lists the package options and
+how the keys are used to store \meta{long} (the long form) and
+\meta{abbrv} (the short form). Note that the \pkgopt{smallcaps}
+option redefines \ics{acronymfont} so that it sets its argument
+in small captials otherwise \cs{acronymfont} simply displays its
+argument in the surrounding font. Note also that if none of
+the package options \pkgopt{smallcaps}, \pkgopt{description}
+or \pkgopt{footnote} are used, \cs{acronymfont} is not used, so
+changing the definition of \cs{acronymfont} will have no effect
+under such circumstances.
+
+\begin{table}[htbp]
+\caption{Package options governing acronyms and how the information
+is stored in the glossary keys}
+\label{tab:acronymsettings}
+\begin{center}
+\begin{tabular}{lllll}
+\bfseries Package Option &
+\gloskey{first} &
+\gloskey{text} &
+\gloskey{description} &
+\gloskey{symbol}\\
+\pkgopt{description},\pkgopt{footnote} &
+\meta{abbrv} &
+\meta{abbrv} &
+user supplied &
+\meta{long}\\
+\pkgopt{description},\pkgopt{dua} &
+\meta{long} &
+\meta{long} &
+user supplied &
+\meta{abbrv}\\
+\pkgopt{description} &
+\meta{long} &
+\meta{abbrv} &
+user supplied &
+\meta{abbrv}\\
+\pkgopt{footnote} &
+\meta{abbrv} &
+\meta{abbrv} &
+\meta{long} &
+ \\
+\pkgopt{smallcaps} &
+\meta{long} &
+\meta{abbrv} &
+\meta{long} &
+\meta{abbrv}\\
+\pkgopt{dua} &
+\meta{long} &
+\meta{long} &
+\meta{long} &
+\meta{abbrv}\\
+None of the above&
+\meta{long} (\meta{abbrv}) &
+\meta{abbrv} &
+\meta{long} &
+\end{tabular}
+\end{center}
+\end{table}
+
+Each of the package options \pkgopt{smallcaps}, \pkgopt{footnote}
+and \pkgopt{description} use \ics{defglsdisplay} and
+\ics{defglsdisplayfirst} (described \ifmakedtx{in
+\autoref{sec:glsdisplay}}{\htmlref{earlier}{sec:glsdisplay}})
+to change the way the link text is displayed.
+
+\begin{description}
+\item[\pkgopt{description},\pkgopt{footnote}]\ifmakedtx{\mbox{}\par}{}
+When these two options are used together, the first use displays
+the entry as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}
+\\[10pt]
+while subsequent use displays the entry as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+where \meta{insert} indicates the text supplied in the final
+optional argument to \cs{gls}, \cs{glspl} or their uppercase
+variants.
+
+Note also that when these two package options are used (in the
+given order), the \sty{glossaries} package additionally implements the
+\pkgopt{sanitize} option using
+\ipkgopt[description]{sanitize}\ipkgopt[symbol]{sanitize}\verb|sanitize={description=false,symbol=false}|, so
+remember to protect fragile commands when defining acronyms.
+
+\item[dua]\ifmakedtx{\mbox{}\par}{}
+The \pkgopt{dua} package option always displays the expanded
+form and so may not be used with \pkgopt{footnote} or
+\pkgopt{smallcaps}. Both first use and subsequent use displays the
+entry in the form:\\[10pt]
+\meta{long}\meta{insert}\\[10pt]
+If the \pkgopt{description} option is also used, the \gloskey{name}
+key is set to the long form, otherwise the \gloskey{name} key is
+set to the short form and the \gloskey{description} key is set to
+the long form.
+
+\item[\pkgopt{description}]\ifmakedtx{\mbox{}\par}{}
+This option displays the entry on first use as:\\[10pt]
+\meta{long}\meta{insert} (\cs{acronymfont}\marg{abbrv})\\[10pt]
+while subsequent use displays the entry as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+Note also that if this package option is used, the \sty{glossaries}
+package additionally implements the option
+\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
+remember to protect fragile commands when defining acronyms.
+
+\item[\pkgopt{footnote}]\ifmakedtx{\mbox{}\par}{}
+This option displays the entry on first use as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}\\[10pt]
+while subsequent use displays the entry as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}
+
+Note also that if this package option is used, the \sty{glossaries}
+package additionally implements the option
+\ipkgopt[description]{sanitize}\verb|sanitize={description=false}|, so
+remember to protect fragile commands when defining acronyms.
+
+\item[\pkgopt{smallcaps}]\ifmakedtx{\mbox{}\par}{}
+If neither the \pkgopt{footnote} nor \pkgopt{description} options
+have been set, this option displays the entry on first use as:\\[10pt]
+\meta{long}\meta{insert} (\cs{acronymfont}\marg{abbrv})\\[10pt]
+while subsequent use displays the entry as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+where \cs{acronymfont} is set to \cs{textsc}.
+
+Note also that if this package option is used, the \sty{glossaries}
+package additionally implements the option
+\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
+remember to protect fragile commands when defining acronyms.
+
+\item[None of the above]\ifmakedtx{\mbox{}\par}{}
+If none of the package options \pkgopt{smallcaps}, \pkgopt{footnote}
+or \pkgopt{description} are used, then on first use the entry is
+displayed as:\\[10pt]
+\meta{long} (\meta{abbrv})\meta{insert}\\[10pt]
+while subsequent use displays the entry as:\\[10pt]
+\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+\meta{abbrv}\meta{insert}
+\end{description}
+
+Recall from \ifmakedtx{\autoref{sec:glslink}}{\htmlref{earlier}{sec:glslink}}
+that you can access the values of individual keys using commands
+like \ics{glstext}, so it is possible to use these commands to
+print just the long form or just the abbreviation without affecting
+the flag that determines whether the entry has been used. However
+the keys that store the long and short form vary depending on
+the acronym style, so the \sty{glossaries} package provides
+commands that are set according to the package options. These are
+as follows:
+\vspace{10pt}\par\noindent
+\DescribeMacro{\acrshort}
+\cs{acrshort}\oarg{options}\marg{label}\oarg{insert}\\
+\DescribeMacro{\Acrshort}
+\cs{ACRshort}\oarg{options}\marg{label}\oarg{insert}\\
+\DescribeMacro{\ACRshort}
+\cs{ACRshort}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+Print the abbreviated version with a hyperlink (if necessary) to the
+relevant entry in the glossary. This is usually equivalent to
+\ics{glstext} (or its uppercase variants) but may additionally
+put the link text within the argument to \ics{acronymfont}.
+\vspace{10pt}\par\noindent
+\DescribeMacro{\acrlong}
+\cs{acrlong}\oarg{options}\marg{label}\oarg{insert}\\
+\DescribeMacro{\Acrlong}
+\cs{ACRlong}\oarg{options}\marg{label}\oarg{insert}\\
+\DescribeMacro{\ACRlong}
+\cs{ACRlong}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+Print the long version with a hyperlink (if necessary) to the
+relevant entry in the glossary. This is may be equivalent to
+\ics{glsdesc}, \ics{glssymbol} or \ics{glsfirst} (or their uppercase
+variants), depending on package options.
+\vspace{10pt}\par\noindent
+\DescribeMacro{\acrfull}
+\cs{acrfull}\oarg{options}\marg{label}\oarg{insert}\\
+\DescribeMacro{\Acrfull}
+\cs{ACRfull}\oarg{options}\marg{label}\oarg{insert}\\
+\DescribeMacro{\ACRfull}
+\cs{ACRfull}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+Print the long version followed by the abbreviation in brackets
+with a hyperlink (if necessary) to the
+relevant entry in the glossary.
+
+Note that if you change the definition of \ics{newacronym}, you
+may additionally need to change the above commands as well as
+the changing way the text is displayed using \ics{defglsdisplay}
+and \ics{defglsdisplayfirst}.
+
+\ifmakedtx{}{\toTop}
+
+\subsection{Unsetting and resetting entry flags}
+
+When using commands such as \ics{gls} it is possible that you may want
+to use the value given by the \gloskey{first} key, even though you have
+already used the glossary entry. Conversely, you may want to use the
+value given by the \gloskey{text} key, even though you haven't used the
+glossary entry. The former can be achieved by one of the following
+commands:\\[10pt]
+\DescribeMacro{\glsreset}\cs{glsreset}\marg{label}\\
+\DescribeMacro{\glslocalreset}\cs{glslocalreset}\marg{label}\\[10pt]
+while the latter can be achieved by one of the following commands:\\[10pt]
+\DescribeMacro{\glsunset}\cs{glsunset}\marg{label}\\
+\DescribeMacro{\glslocalunset}\cs{glslocalunset}\marg{label}
+\\[10pt]
+You can determine whether an entry has been used using:\\[10pt]
+\DescribeMacro{\ifglsused}
+\cs{ifglsused}\marg{label}\marg{true part}\marg{false part}\\[10pt]
+where \meta{label} is the label of the required entry. If the
+entry has been used, \meta{true part} will be done, otherwise
+\meta{false part} will be done.
+\ifmakedtx{}{\toTop}
+
+\subsection{Glossary Styles}
+\label{sec:styles}
+The \sty{glossaries} package comes with some pre-defined
+glossary styles. These are as follows:
+\begin{description}
+\item[list] The \glostyle{list} style uses the \envname{description}
+environment. The entry name is placed in the optional argument
+of the \cs{item} command (so it will appear in bold by
+default). The description follows, and then the associated number
+list for that entry.
+
+\item[listgroup] The \glostyle{listgroup} style is like
+\glostyle{list} but the glossary groups have headings.
+
+\item[listhypergroup] The \glostyle{listhypergroup} style is like
+\glostyle{listgroup} but has a set of links to the glossary
+groups.
+
+\item[altlist] The \glostyle{altlist} style is like \glostyle{list}
+but the description is placed on the following line.
+
+\item[altlistgroup] The \glostyle{altlistgroup} style is like
+\glostyle{altlist} but the glossary groups have headings.
+
+\item[altlisthypergroup] The \glostyle{altlisthypergroup} style is like
+\glostyle{altlistgroup} but has a set of links to the glossary
+groups.
+
+\item[listdotted] This style uses the \envname{description}
+environment. Each entry starts with \verb|\item[]|, followed by the
+name followed by a dotted line, followed by the description. Note that
+this style ignores both the \term{number list} and the symbol. The
+length \DescribeMacro{\glslistdottedwidth}\cs{glslistdottedwidth}
+governs where the description should start.\footnote{This style was
+supplied by Axel~Menzel.}
+
+\item[long] The \glostyle{long} style uses the \envname{longtable}
+environment (defined by the \isty{longtable} package). It has two
+columns: the first column contains the entry's name and the second
+column contains the description followed by the \term{number list}.
+
+\item[longborder] The \glostyle{longborder} style is like
+\glostyle{long} but has horizontal and vertical lines around it.
+
+\item[longheader] The \glostyle{longheader} style is like
+\glostyle{long} but has a header row.
+
+\item[longheaderborder] The \glostyle{longheaderborder} style is
+like \glostyle{longheader} but has horizontal and vertical lines
+around it.
+
+\item[long3col] The \glostyle{long3col} style is like
+\glostyle{long} but has three columns. The first column contains
+the entry's name, the second column contains the description
+and the third column contains the \term{number list}.
+
+\item[long3colborder] The \glostyle{long3colborder} style is like
+the \glostyle{long3col} style but has horizontal and vertical
+lines around it.
+
+\item[long3colheader] The \glostyle{long3colheader} style is like
+\glostyle{long3col} but has a header row.
+
+\item[long3colheaderborder] The \glostyle{long3colheaderborder} style is
+like \glostyle{long3colheader} but has horizontal and vertical lines
+around it.
+
+\item[long4col] The \glostyle{long4col} style is like
+\glostyle{long3col} but has an additional column in which the
+entry's associated symbol appears.
+
+\item[long4colborder] The \glostyle{long4colborder} style is like
+the \glostyle{long4col} style but has horizontal and vertical
+lines around it.
+
+\item[long4colheader] The \glostyle{long4colheader} style is like
+\glostyle{long4col} but has a header row.
+
+\item[long4colheaderborder] The \glostyle{long4colheaderborder} style is
+like \glostyle{long4colheader} but has horizontal and vertical lines
+around it.
+
+\item[super] The \glostyle{super} style uses the \envname{supertabular}
+environment (defined by the \isty{supertabular} package). It has two
+columns: the first column contains the entry's name and the second
+column contains the description followed by the \term{number list}.
+
+\item[superborder] The \glostyle{superborder} style is like
+\glostyle{super} but has horizontal and vertical lines around it.
+
+\item[superheader] The \glostyle{superheader} style is like
+\glostyle{super} but has a header row.
+
+\item[superheaderborder] The \glostyle{superheaderborder} style is
+like \glostyle{superheader} but has horizontal and vertical lines
+around it.
+
+\item[super3col] The \glostyle{super3col} style is like
+\glostyle{super} but has three columns. The first column contains
+the entry's name, the second column contains the description
+and the third column contains the \iterm{number list}.
+
+\item[super3colborder] The \glostyle{super3colborder} style is like
+the \glostyle{super3col} style but has horizontal and vertical
+lines around it.
+
+\item[super3colheader] The \glostyle{super3colheader} style is like
+\glostyle{super3col} but has a header row.
+
+\item[super3colheaderborder] The \glostyle{super3colheaderborder} style
+is like \glostyle{super3colheader} but has horizontal and vertical
+lines around it.
+
+\item[super4col] The \glostyle{super4col} style is like
+\glostyle{super3col} but has an additional column in which the
+entry's associated symbol appears.
+
+\item[super4colborder] The \glostyle{super4colborder} style is like
+the \glostyle{super4col} style but has horizontal and vertical
+lines around it.
+
+\item[super4colheader] The \glostyle{super4colheader} style is like
+\glostyle{super4col} but has a header row.
+
+\item[super4colheaderborder] The \glostyle{super4colheaderborder} style
+is like \glostyle{super4colheader} but has horizontal and vertical
+lines around it.
+
+\end{description}
+
+The glossary style can be set using the \pkgopt{style} package option
+or using the \gloskey[printglossary]{style} key in the optional
+argument to \ics{printglossary} or using the command:\\[10pt]
+\DescribeMacro{\glossarystyle}\cs{glossarystyle}\marg{style-name}\\[10pt]
+
+ \changes{1.03}{2007 July 4}{'glspostdescription added}
+All the styles except for the three- and four-column styles and the
+\glostyle{listdotted} style use the command
+\DescribeMacro{\glspostdescription}\cs{glspostdescription} after the
+description. This simply displays a full stop by default. To eliminate
+this full stop (or replace it with something else, say a comma), you
+will need to redefine \cs{glspostdescription} before the glossary is
+displayed.\ifmakedtx{}{\toTop}
+
+\subsection{Defining your own glossary style}
+
+If the predefined styles don't fit your requirements, you can
+define your own style using\DescribeMacro{\newglossarystyle}:\\[10pt]
+\cs{newglossarystyle}\marg{name}\marg{definitions}\\[10pt]
+where \meta{name} is the name of the new glossary style (to be
+used in \cs{glossarystyle}). The second argument \meta{definitions},
+needs to redefine all of the following:
+
+\begin{description}
+\item
+\DescribeEnv{theglossary}
+\envname{theglossary}\par\noindent
+This environment defines how the main body of the glossary should
+be typeset. Note that this does not include the section heading,
+the glossary preamble (defined by \cs{glossarypreamble}) or the
+glossary postamble (defined by \cs{glossarypostamble}.) For example,
+the \glostyle{list} style uses the \envname{description} environment,
+so the \envname{theglossary} environment is simply redefined to begin
+and end the \envname{description} environment.
+
+\item
+\DescribeMacro{\glossaryheader}
+\cs{glossaryheader}\par\noindent
+This macro indicates what to do at the start of the main body
+of the glossary. Note that this is not the same as
+\cs{glossarypreamble}, which should not be affected by changes in
+the glossary style. The \glostyle{list} glossary style redefines
+\cs{glossaryheader} to do nothing, whereas the \glostyle{longheader}
+glossary style redefines \cs{glossaryheader} to do a header row.
+
+\item
+\DescribeMacro{\glsgroupheading}
+\cs{glsgroupheading}\marg{label}\par\noindent
+This macro indicates what to do at the start of each logical block
+within the main body of the glossary. The glossary is sub-divided into
+twenty-eight logical blocks that are determined by the first character
+of the \gloskey{sort} key (or \gloskey{name} key if the \gloskey{sort}
+key is omitted). The sub-divisions are in the following order: symbols,
+numbers, A, \ldots, Z. Note that the argument to \cs{glsgroupheading}
+is a label \emph{not} the group title. The group title can be obtained
+via \cs{glsgetgrouptitle}\marg{label}, and a navigation hypertarget can
+be created using \cs{glsnavhypertarget}\marg{label}. Most of the
+predefined glossary styles redefine \cs{glsgroupheading} to simply
+ignore its argument. The \glostyle{listhypergroup} style redefines
+\cs{glsgroupheading} as follows:
+\begin{verbatim}
+\renewcommand*{\glsgroupheading}[1]{%
+\item[\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}]}
+\end{verbatim}
+See also \cs{glsgroupskip} below. (Note that command definitions within
+\cs{newglossarystyle} must use \verb|##1| etc instead of \verb|#1| etc.)
+
+\item
+\DescribeMacro{\glsgroupskip}
+\cs{glsgroupskip}\par\noindent
+This macro determines what to do after one logical group but before
+the header for the next logical group. The \glostyle{list} glossary
+style simply redefines \cs{glsgroupskip} to be \cs{indexspace}.
+
+\item
+\DescribeMacro{\glossaryentryfield}
+\cs{glossaryentryfield}\marg{label}\marg{formatted
+name}\marg{description}\marg{symbol}
+\marg{number list}\par\noindent
+This macro indicates what to do for a given glossary entry.
+Note that \meta{formatted name} will always be in the form
+\cs{glsnamefont}\marg{name}. This allows the user to set a given
+font for the entry name, regardless of the glossary style used.
+Note that \meta{label} is the label used when the glossary entry
+was defined via either \cs{newglossaryentry} or \cs{newacronym}.
+Each time you use a glossary entry it creates a
+link\footnote{if the document doesn't have hyperlinks enabled
+\cs{@glslink} ignores the label and simply typesets the text.}
+using \cs{@glslink}\marg{label}\marg{text} with the label
+\texttt{glo:}\meta{label}. Your
+new glossary style must therefore redefine \cs{glossaryentryfield}
+so that it uses \cs{@glstarget}\verb|{|\texttt{glo:}\meta{label}\verb|}|\marg{text}
+to ensure the hyperlinks function correctly.\footnote{again, if the
+document doesn't support hyperlinks, \cs{@glstarget} will ignore
+the label, and just typeset the text.} For example, the
+\glostyle{list} style defines \cs{glossaryentryfield} as follows:
+\begin{verbatim}
+\renewcommand*{\glossaryentryfield}[5]{%
+\item[\@glstarget{glo:##1}{##2}] ##3\glspostdescription\space ##5}
+\end{verbatim}
+
+Note also that \meta{number list} will always be of the form\\[10pt]
+\cs{glossaryentrynumbers}\{\cs{relax}\\
+\cs{setentrycounter}\marg{counter name}\cs{glsnumberformat}\marg{number(s)}\}\\[10pt]
+where \meta{number(s)}
+may contain \cs{delimN} (to delimit individual numbers) and/or
+\cs{delimR} (to indicate a range of numbers). There may be
+multiple occurrences of
+\cs{setentrycounter}\marg{counter name}\cs{glsnumberformat}\marg{number(s)}, but note
+that the entire number list is enclosed within the argument
+to \ics{glossaryentrynumbers}. The user can redefine this to change
+the way the entire number list is formatted, regardless of
+the glossary style. However the most common use of
+\cs{glossaryentrynumbers} is to provide a means of suppressing the
+number list altogether. (In fact, the \pkgopt{nonumberlist} option
+redefines \cs{glossaryentrynumbers} to ignore its argument.)
+Therefore, when you define a new glossary style, you don't need
+to worry about whether the user has specified the
+\pkgopt{nonumberlist} package option.
+\end{description}\ifmakedtx{}{\toTop}
+
+\subsubsection{Example: creating a completely new style}
+
+If you want a completely new style, you will need to redefine all
+of the commands and environment listed above. You also need to
+take care when using internal commands (commands whose name
+contain the @ symbol). These should either be used in a \texttt{.sty}
+file or must be placed within \cs{makeatletter} and \cs{makeatother}.
+
+For example, suppose you want each entry to start with a bullet point.
+This means that the glossary should be placed in the \envname{itemize}
+environment, so \envname{theglossary} should start and end that
+environment. Let's also suppose that you don't want anything between
+the glossary groups (so \cs{glsgroupheading} and \cs{glsgroupskip}
+should do nothing) and suppose you don't want anything to appear
+immediately after \verb|\begin{theglossary}| (so \cs{glossaryheader}
+should do nothing). In addition, let's suppose the symbol should
+appear in brackets after the name, followed by the description and
+last of all the \term{number list} should appear within square brackets
+at the end. Then you can create this new glossary style, called, say,
+\texttt{mylist}, as follows:
+\begin{verbatim}
+ \newglossarystyle{mylist}{%
+ % put the glossary in the itemize environment:
+ \renewenvironment{theglossary}{\begin{itemize}}{\end{itemize}}%
+ % have nothing after \begin{theglossary}:
+ \renewcommand*{\glossaryheader}{}%
+ % have nothing between glossary groups:
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand*{\glsgroupskip}{}%
+ % set how each entry should appear:
+ \renewcommand*{\glossaryentryfield}[5]{%
+ \item % bullet point
+ \@glstarget{glo:##1}{##2}% the entry name
+ \space (##4)% the symbol in brackets
+ \space ##3% the description
+ \space [##5]% the number list in square brackets
+ }%
+ }
+\end{verbatim}
+\ifmakedtx{}{\toTop}
+
+\subsubsection{Example: creating a new glossary style based on an
+existing style}
+
+\changes{1.11}{2008 March 1}{Fixed error in manual (glossary style
+is set using 'glossarystyle not 'setglossarystyle)}%
+If you want to define a new style that is a slightly modified
+version of an existing style, you can use \cs{glossarystyle}
+within the second argument of \cs{newglossarystyle} followed by
+whatever alterations you require. For example, suppose you want
+a style like the \glostyle{list} style but you don't want the extra
+vertical space created by \cs{indexspace} between groups, then you
+can create a new glossary style called, say, \texttt{mylist} as
+follows:
+\begin{verbatim}
+\newglossarystyle{mylist}{%
+\glossarystyle{list}% base this style on the list style
+\renewcommand{\glsgroupskip}{}% make nothing happen between groups
+}
+\end{verbatim}
+\ifmakedtx{}{\toTop}
+
+ \StopEventually{\clearpage\phantomsection\addcontentsline{toc}{section}{Index}\PrintIndex}
+
+\ifmakedtx{}{\printindex\toTop}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/glossaries/glossaries.pdf b/Master/texmf-dist/doc/latex/glossaries/glossaries.pdf
new file mode 100644
index 00000000000..34cab2da055
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/glossaries.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.html b/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.html
index 235ac5000db..74207fb56c1 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/glossary2glossaries.html
+++ b/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.html
@@ -34,41 +34,41 @@ Contents</A>
<!--Table of Contents-->
<UL>
-<LI><A NAME="tex2html19"
+<LI><A NAME="tex2html21"
HREF="glossary2glossaries.html#SECTION00020000000000000000">1 Package Options</A>
-<LI><A NAME="tex2html20"
+<LI><A NAME="tex2html22"
HREF="glossary2glossaries.html#SECTION00030000000000000000">2 Defining new glossary types</A>
-<LI><A NAME="tex2html21"
+<LI><A NAME="tex2html23"
HREF="glossary2glossaries.html#SECTION00040000000000000000">3 &#92;make&lt;glossary name&gt;</A>
-<LI><A NAME="tex2html22"
+<LI><A NAME="tex2html24"
HREF="glossary2glossaries.html#SECTION00050000000000000000">4 Storing glossary information</A>
-<LI><A NAME="tex2html23"
+<LI><A NAME="tex2html25"
HREF="glossary2glossaries.html#SECTION00060000000000000000">5 Adding an entry to the glossary</A>
<UL>
-<LI><A NAME="tex2html24"
+<LI><A NAME="tex2html26"
HREF="glossary2glossaries.html#SECTION00061000000000000000">5.1 &#92;useglosentry</A>
-<LI><A NAME="tex2html25"
+<LI><A NAME="tex2html27"
HREF="glossary2glossaries.html#SECTION00062000000000000000">5.2 &#92;useGlosentry</A>
-<LI><A NAME="tex2html26"
+<LI><A NAME="tex2html28"
HREF="glossary2glossaries.html#SECTION00063000000000000000">5.3 &#92;gls</A>
-<LI><A NAME="tex2html27"
+<LI><A NAME="tex2html29"
HREF="glossary2glossaries.html#SECTION00064000000000000000">5.4 &#92;glossary</A>
</UL>
<BR>
-<LI><A NAME="tex2html28"
+<LI><A NAME="tex2html30"
HREF="glossary2glossaries.html#SECTION00070000000000000000">6 Acronyms</A>
<UL>
-<LI><A NAME="tex2html29"
+<LI><A NAME="tex2html31"
HREF="glossary2glossaries.html#SECTION00071000000000000000">6.1 &#92;acrln and &#92;acrsh</A>
-<LI><A NAME="tex2html30"
+<LI><A NAME="tex2html32"
HREF="glossary2glossaries.html#SECTION00072000000000000000">6.2 &#92;ifacronymfirstuse</A>
-<LI><A NAME="tex2html31"
+<LI><A NAME="tex2html33"
HREF="glossary2glossaries.html#SECTION00073000000000000000">6.3 &#92;resetacronym and &#92;unsetacronym</A>
</UL>
<BR>
-<LI><A NAME="tex2html32"
+<LI><A NAME="tex2html34"
HREF="glossary2glossaries.html#SECTION00080000000000000000">7 Displaying the glossary</A>
-<LI><A NAME="tex2html33"
+<LI><A NAME="tex2html35"
HREF="glossary2glossaries.html#SECTION00090000000000000000">8 Using makeindex</A>
</UL>
<!--End of Table of Contents-->
@@ -104,7 +104,7 @@ to the <TT>glossaries</TT> package options.
<A NAME="tab:pkgopt"></A>
<DIV ALIGN="CENTER">
-<A NAME="457"></A>
+<A NAME="462"></A>
<TABLE CELLPADDING=3>
<CAPTION><STRONG>Table 1:</STRONG>
Mappings from <TT>glossary</TT> to <TT>glossaries</TT>
@@ -290,7 +290,7 @@ glossary information for later use, or you could simply use
<TT>&#92;glossary</TT> whenever you wanted to add information to the glossary.
With the new <TT>glossaries</TT> package, the latter option is no longer
available<A NAME="tex2html2"
- HREF="#foot459"><SUP>1</SUP></A>. If
+ HREF="#foot464"><SUP>1</SUP></A>. If
you have stored all the glossary information using
<TT>&#92;storeglosentry</TT>, then you will need to convert these commands
into the equivalent <TT>&#92;newglossaryentry</TT>. If you haven't used
@@ -429,18 +429,19 @@ to <TT>counter</TT>.
</H2>
<P>
-If you have opted to explicitly use <TT>&#92;glossary</TT> instead of storing
-the glossary information with <TT>&#92;storeglosentry</TT>, then converting
-from <TT>glossary</TT> to <TT>glossaries</TT> will be more time-consuming,
-although in the end, I hope you will see the benefits! Using
-<TT>&#92;glossary</TT> throughout the document is time consuming, and if you
-use it more than once for the same term, there's a chance extra
-spaces may creep in which will cause <TT>makeindex</TT> to treat the
-two entries as different terms, even though they look the same in the
-document. However, if you have used <TT>&#92;glossary</TT>, you will need
-to define the term using <TT>&#92;newglossaryentry</TT>, and then use
-<TT>&#92;glsadd&#123;&lt;<I>label</I>&gt;&#125;</TT> (or <TT>&#92;glslink&#123;&lt;<I>label</I>&gt;&#125;&#123;&lt;<I>text</I>&gt;&#125;</TT>
-if you have used <TT>&#92;xglossary</TT>.)
+When using the <TT>glossaries</TT> package, you should not use
+<TT>&#92;glossary</TT> directly.<A NAME="tex2html3"
+ HREF="#foot469"><SUP>2</SUP></A> If, with the old
+package, you have opted to explicitly use <TT>&#92;glossary</TT> instead of
+storing the glossary information with <TT>&#92;storeglosentry</TT>, then
+converting from <TT>glossary</TT> to <TT>glossaries</TT> will be more
+time-consuming, although in the end, I hope you will see the
+benefits!<A NAME="tex2html4"
+ HREF="#foot470"><SUP>3</SUP></A> If
+you have used <TT>&#92;glossary</TT> with the old glossary package, you will
+instead need to define the relevant glossary terms using
+<TT>&#92;newglossaryentry</TT> and reference the terms using <TT>&#92;glslink</TT>,
+<TT>&#92;gls</TT> (or <TT>&#92;glspl</TT> etc).
<P>
If you don't like the idea of continually scrolling back to the
@@ -727,20 +728,37 @@ instead.
<P>
<BR><HR><H4>Footnotes</H4>
<DL>
-<DT><A NAME="foot459">...
+<DT><A NAME="foot464">...
available</A><A
HREF="glossary2glossaries.html#tex2html2"><SUP>1</SUP></A></DT>
<DD>mainly because having a key value list in
<TT>&#92;glossary</TT> caused problems, but it also helps consistency.
</DD>
+<DT><A NAME="foot469">... directly.</A><A
+ HREF="glossary2glossaries.html#tex2html3"><SUP>2</SUP></A></DT>
+<DD>This is because <TT>&#92;glossary</TT> requires
+the argument to be in a specific format and doesn't use the
+&lt;<I>key</I>&gt;=&lt;<I>value</I>&gt; format that the old glossary package used. The
+new package's internal commands set this format, as well as escaping
+any of <TT>makeindex</TT>'s special characters, so although it is
+still possible to use <TT>&#92;glossary</TT> with the new package, it's not
+recommended. If you persist in using <TT>&#92;glossary</TT> with the new
+package, don't complain if things go wrong!
+
+</DD>
+<DT><A NAME="foot470">...
+benefits!</A><A
+ HREF="glossary2glossaries.html#tex2html4"><SUP>3</SUP></A></DT>
+<DD>From the user's point of view, using <TT>&#92;glossary</TT>
+throughout the document is time consuming, and if you use it more than
+once for the same term, there's a chance extra spaces may creep in
+which will cause <TT>makeindex</TT> to treat the two entries as
+different terms, even though they look the same in the document.
+
+</DD>
</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: 2007-09-15
-</ADDRESS>
+
</BODY>
</HTML>
diff --git a/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.pdf b/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.pdf
new file mode 100644
index 00000000000..7280a20d692
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.tex b/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.tex
new file mode 100644
index 00000000000..f811c671f11
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/glossary2glossaries.tex
@@ -0,0 +1,529 @@
+\documentclass[a4paper]{article}
+
+\usepackage[colorlinks,pdfauthor={Nicola L.C. Talbot},
+ pdftitle={Upgrading from the glossary package to
+ the glossaries package}]{hyperref}
+\usepackage{html}
+\usepackage{xr}
+
+\externaldocument{glossaries}
+
+\title{Upgrading from the glossary package to the glossaries
+package}
+\author{Nicola L.C. Talbot}
+
+\newcommand*{\meta}[1]{\textnormal{\textless\emph{#1}\textgreater}}
+\newcommand*{\marg}[1]{\texttt{\char`\{\meta{#1}\char`\}}}
+\newcommand*{\oarg}[1]{\texttt{[\meta{#1}]}}
+\newcommand*{\cs}[1]{\texttt{\char`\\#1}}
+
+%\begin{latexonly}
+\newcommand*{\sty}[1]{\textsf{#1}}
+
+\newsavebox\waybox
+\newenvironment{oldway}{\begin{lrbox}{\waybox}
+\begin{minipage}{0.98\linewidth}\ttfamily
+}{\end{minipage}\end{lrbox}\vskip\baselineskip\par\noindent
+\begin{tabular}{r}
+\fbox{\usebox\waybox}\\[4pt]\footnotesize\mbox{\sty{glossary}}
+\end{tabular}%
+\vskip\baselineskip\par\noindent\ignorespaces}
+
+\newenvironment{newway}{\begin{lrbox}{\waybox}
+\begin{minipage}{0.98\linewidth}\ttfamily
+}{\end{minipage}\end{lrbox}\vskip\baselineskip\par\noindent
+\begin{tabular}{r}
+\fbox{\usebox\waybox}\\[4pt]\footnotesize\mbox{\sty{glossaries}}
+\end{tabular}%
+\vskip\baselineskip\par\noindent\ignorespaces}
+%\end{latexonly}
+\begin{htmlonly}
+\newenvironment{oldway}{\par\begin{ttfamily}}{\end{ttfamily}\par}
+\newenvironment{newway}{\par\begin{ttfamily}}{\end{ttfamily}\par}
+\newcommand{\sty}[1]{\texttt{#1}}
+\renewcommand{\LaTeX}{LaTeX}
+\end{htmlonly}
+
+\begin{document}
+\maketitle
+\tableofcontents
+
+\begin{abstract}
+The purpose of this document is to provide advice if you want
+to convert a \LaTeX\ document from using the obsolete
+\sty{glossary} package to the replacement \sty{glossaries} package.
+\end{abstract}
+
+\section{Package Options}
+
+When converting a document that currently uses the obsolete
+\sty{glossary} package to the replacement \sty{glossaries} package,
+it should be fairly obvious that the first thing you need to do is
+replace \verb|\usepackage{glossary}| with
+\verb|\usepackage{glossaries}|, however some of the package options
+are different, so you may need to change those as well.
+Table~\ref{tab:pkgopt} shows the mappings from the \sty{glossary}
+to the \sty{glossaries} package options.
+
+\begin{table}[htbp]
+\caption[Mappings]{Mappings from \sty{glossary} to \sty{glossaries}
+package options}
+\label{tab:pkgopt}
+\begin{center}
+\begin{tabular}{ll}
+\bfseries \sty{glossary} option & \bfseries \sty{glossaries} option\\
+style=list & style=list\\
+style=altlist & style=altlist\\
+style=long,header=none,border=none,cols=2 & style=long\\
+style=long,header=plain,border=none,cols=2 & style=longheader\\
+style=long,header=none,border=plain,cols=2 & style=longborder\\
+style=long,header=plain,border=plain,cols=2 & style=longheaderborder\\
+style=long,header=none,border=none,cols=3 & style=long3col\\
+style=long,header=plain,border=none,cols=3 & style=long3colheader\\
+style=long,header=none,border=plain,cols=3 & style=long3colborder\\
+style=long,header=plain,border=plain,cols=3 & style=long3colheaderborder\\
+style=super,header=none,border=none,cols=2 & style=super\\
+style=super,header=plain,border=none,cols=2 & style=superheader\\
+style=super,header=none,border=plain,cols=2 & style=superborder\\
+style=super,header=plain,border=plain,cols=2 & style=superheaderborder\\
+style=super,header=none,border=none,cols=3 & style=super3col\\
+style=super,header=plain,border=none,cols=3 & style=super3colheader\\
+style=super,header=none,border=plain,cols=3 & style=super3colborder\\
+style=super,header=plain,border=plain,cols=3 & style=super3colheaderborder\\
+number=none & nonumberlist\\
+number=\meta{counter name} & counter=\meta{counter name}\\
+toc & toc\\
+hypertoc & toc\\
+hyper & \emph{no corresponding option}\\
+section=true & section\\
+section=false & \emph{no corresponding option}\\
+acronym & acronym\\
+global & \emph{no corresponding option}
+\end{tabular}
+\end{center}
+\end{table}
+
+\section{Defining new glossary types}
+
+If you have created new glossary types, you will need to
+replace all instances of
+\begin{oldway}
+\cs{newglossarytype}\oarg{log-ext}\marg{type}\marg{out-ext}\marg{in-ext}\oarg{style list}\newline
+\cs{newcommand}\verb|{\|\meta{type}name\verb|}|\marg{title}
+\end{oldway}%
+with
+\begin{newway}
+\cs{newglossary}\oarg{log-ext}\marg{type}\marg{out-ext}\marg{in-ext}\marg{title}
+\end{newway}%
+in the preamble, and
+\begin{newway}
+\cs{glossarystyle}\marg{new style list}
+\end{newway}%
+immediately before \verb|\printglossary[type=|\meta{type}\verb|]|,
+if the new glossary requires a different style to the main (default)
+glossary.
+
+The \meta{style list} optional argument can be converted to
+\meta{new style list} using the same mapping given in
+Table~\ref{tab:pkgopt}.
+
+For example, if your document contains the following:
+\begin{verbatim}
+\newglossarytype[nlg]{notation}{not}{ntn}[style=long,header]
+\newcommand{\notationname}{Index of Notation}
+\end{verbatim}
+You will need to replace the above two lines with:
+\begin{verbatim}
+\newglossary[nlg]{notation}{not}{ntn}{Index of Notation}
+\end{verbatim}
+in the preamble, and
+\begin{verbatim}
+\glossarystyle{style=longheader}
+\end{verbatim}
+immediately prior to displaying this glossary new type.
+
+Note that the glossary title is no longer specified using
+\cs{}\meta{glossary-type}\texttt{name} (except for \cs{glossaryname}
+and \cs{acronymname}) but is instead specified in the \meta{title}
+argument of \cs{newglossary}. The short title which is specified
+in the \sty{glossary} package by the command
+\cs{short}\meta{glossary-name}\texttt{name} is now specified
+using the \texttt{toctitle} key in the optional argument to
+\cs{printglossary}.
+
+\section{\cs{make}\meta{glossary name}}
+
+All instances of \cs{make}\meta{glossary name} (e.g.\
+\cs{makeglossary} and \cs{makeacronym}) should be replaced
+by the single command \cs{makeglossaries}. For example, if
+your document contained the following:
+\begin{verbatim}
+\makeglossary
+\makeacronym
+\end{verbatim}
+then you should replace both lines with the single line:
+\begin{verbatim}
+\makeglossaries
+\end{verbatim}
+
+\section{Storing glossary information}
+
+With the old \sty{glossary} package you could optionally store
+glossary information for later use, or you could simply use
+\cs{glossary} whenever you wanted to add information to the glossary.
+With the new \sty{glossaries} package, the latter option is no longer
+available\footnote{mainly because having a key value list in
+\cs{glossary} caused problems, but it also helps consistency.}. If
+you have stored all the glossary information using
+\cs{storeglosentry}, then you will need to convert these commands
+into the equivalent \cs{newglossaryentry}. If you haven't used
+\cs{storeglosentry}, then you'll have a bit more work to do!
+
+The former approach requires substituting all instances of
+\begin{oldway}
+\cs{storeglosentry}\marg{label}\marg{gls-entry}
+\end{oldway}%
+with
+\begin{newway}
+\cs{newglossaryentry}\marg{label}\marg{gls-entry}
+\end{newway}%
+This should be fairly easy to do using the search and replace
+facility in your editor (but see notes below).
+
+If you have used the optional argument of \cs{storeglosentry}
+(i.e.\ you have multiple glossaries) then you will need to
+substitute
+\begin{oldway}
+\cs{storeglosentry}\oarg{gls-type}\marg{label}\marg{gls-entry}
+\end{oldway}%
+with
+\begin{newway}
+\cs{newglossaryentry}\marg{label}\verb|{|\meta{gls-entry},type=\meta{gls-type}\verb|}|
+\end{newway}
+
+The glossary entry information \meta{gls-entry} may also need
+changing. If \meta{gls-entry} contains any of \texttt{makeindex}'s
+special characters (i.e.\ \texttt{@} \texttt{!} \verb|"| or
+\verb"|") then they should no longer be escaped with \verb'"'
+since the \sty{glossaries} package deals with these characters
+internally. For example, if your document contains the following:
+\begin{verbatim}
+\storeglosentry{card}{name={$"|\mathcal{S}"|$},
+description={The cardinality of the set $\mathcal{S}$}}
+\end{verbatim}
+then you will need to replace it with:
+\begin{verbatim}
+\newglossaryentry{card}{name={$|\mathcal{S}|$},
+description={The cardinality of the set $\mathcal{S}$}}
+\end{verbatim}
+
+The \texttt{format} and \texttt{number} keys available in
+\cs{storeglosentry} are not available with \cs{newglossaryentry}.
+Note also that the \sty{glossary} package allowed you to use
+\cs{storeglosentry} in the document, but \cs{newglossaryentry}
+may only be used in the preamble.
+
+\section{Adding an entry to the glossary}
+
+The \sty{glossary} package provided two basic means to add
+information to the glossary: firstly, the term was defined
+using \cs{storeglosentry} and the entries for that term were
+added using \cs{useglosentry}, \cs{useGlosentry} and \cs{gls}.
+Secondly, the term was added to the glossary using \cs{glossary}.
+This second approach is unavailable with the \sty{glossaries}
+package.
+
+\subsection{\cs{useglosentry}}
+\label{sec:useglosentry}
+
+The \sty{glossary} package allows you to add information to the
+glossary for a predefined term without producing any text
+in the document using
+\begin{oldway}
+\cs{useglosentry}\oarg{old options}\marg{label}
+\end{oldway}%
+Any occurrences of this command will need to be replaced with
+\begin{newway}
+\cs{glsadd}\oarg{new options}\marg{label}
+\end{newway}%
+The \texttt{format} key in \meta{old options} remains the same
+in \meta{new options}, the \texttt{number=}\meta{counter name}
+key in \meta{old options} should be replaced with\linebreak
+\texttt{counter=}\meta{counter name} in \meta{new options}.
+
+\subsection{\cs{useGlosentry}}
+
+The \sty{glossary} package allows you to add information to the
+glossary for a predefined term with the given text using
+\begin{oldway}
+\cs{useGlosentry}\oarg{old options}\marg{label}\marg{text}
+\end{oldway}%
+Any occurrences if this command will need to be replaced with
+\begin{newway}
+\cs{glslink}\oarg{new options}\marg{label}\marg{text}
+\end{newway}%
+The mapping from \meta{old options} to \meta{new options} is
+the same as that given in section~\ref{sec:useglosentry} above.
+
+\subsection{\cs{gls}}
+
+Both the \sty{glossary} and the \sty{glossaries} packages define
+the command \cs{gls}. In this case, the only thing you need to
+change is the \texttt{number} key in the optional argument
+to \texttt{counter}.
+
+\subsection{\cs{glossary}}
+
+When using the \sty{glossaries} package, you should not use
+\cs{glossary} directly.\footnote{This is because \cs{glossary} requires
+the argument to be in a specific format and doesn't use the
+\meta{key}=\meta{value} format that the old glossary package used. The
+new package's internal commands set this format, as well as escaping
+any of \texttt{makeindex}'s special characters, so although it is
+still possible to use \cs{glossary} with the new package, it's not
+recommended. If you persist in using \cs{glossary} with the new
+package, don't complain if things go wrong!} If, with the old
+package, you have opted to explicitly use \cs{glossary} instead of
+storing the glossary information with \cs{storeglosentry}, then
+converting from \sty{glossary} to \sty{glossaries} will be more
+time-consuming, although in the end, I hope you will see the
+benefits!\footnote{From the user's point of view, using \cs{glossary}
+throughout the document is time consuming, and if you use it more than
+once for the same term, there's a chance extra spaces may creep in
+which will cause \texttt{makeindex} to treat the two entries as
+different terms, even though they look the same in the document.} If
+you have used \cs{glossary} with the old glossary package, you will
+instead need to define the relevant glossary terms using
+\cs{newglossaryentry} and reference the terms using \cs{glslink},
+\cs{gls} (or \cs{glspl} etc).
+
+If you don't like the idea of continually scrolling back to the
+preamble to type all your \cs{newglossaryentry} commands, you may
+prefer to create a new file, in which to store all these commands,
+and then input that file in your document's preamble. Most text
+editors and front-ends allow you to have multiple files open, and
+you can tab back and forth between them.
+
+\section{Acronyms}
+
+In the \sty{glossary} package, acronyms were treated differently
+to glossary entries. This resulted in inconsistencies and sprawling
+unmaintainable code. The new \sty{glossaries} package treats
+acronyms in exactly the same way as normal glossary terms. In fact,
+in the \sty{glossaries} package:
+\begin{newway}
+\cs{newacronym}\oarg{options}\marg{label}\marg{abbrv}\marg{long}
+\end{newway}
+is a shortcut for:
+\begin{newway}
+\cs{newglossaryentry}\marg{label}\{type=\cs{acronymtype},
+name=\marg{abbrv},
+description=\marg{long},
+text=\marg{abbrv},
+first=\{\meta{long} (\meta{abbrv})\},
+plural=\{\meta{abbrv}s\},
+firstplural=\{\meta{long}s (\meta{abbrv}s)\},
+\meta{options}\}
+\end{newway}
+
+This is different to the \sty{glossary} package which set the
+\texttt{name} key to \meta{long} (\meta{abbrv}) and allowed you
+to set a description using the \texttt{description} key. If you want
+your document to remain like this, you can redefine \cs{newacronym}
+as follows:
+\begin{verbatim}
+\renewcommand{\newacronym}[4][]{%
+\newglossaryentry{#2}{type=\acronymtype,
+name={#4 (#3)},
+text={#3},
+first={#4 (#3)},
+plural={#3s},
+firstplural={#4s (#3s)},#1}}
+\end{verbatim}
+The \texttt{description} key will then need to be entered using the
+optional argument.
+
+For example, if your document originally had the following:
+\begin{verbatim}
+\newacronym{SVM}{Support Vector Machine}{description=Statistical
+pattern recognition technique}
+\end{verbatim}
+Then you would need to redefine \cs{newacronym} as shown above,
+and change the above to:
+\begin{verbatim}
+\newacronym[description=Statistical pattern recognition
+technique]{svm}{SVM}{Support Vector Machine}
+\end{verbatim}
+You will also need to replace all occurrences of \cs{SVM} with
+\verb|\gls{svm}|. Alternatively, you can define \cs{SVM}:
+\begin{verbatim}
+\newcommand{\SVM}{\gls{svm}}
+\end{verbatim}
+
+If you have used \cs{useacronym} instead of \cs{}\meta{acr-name},
+then you will need to replace all occurrences of
+\begin{oldway}
+\cs{useacronym}\oarg{insert}\marg{acr-name}
+\end{oldway}%
+with
+\begin{newway}
+\cs{gls}\marg{label}\oarg{insert}
+\end{newway}%
+Note that the starred versions of \cs{useacronym} and
+\cs{}\meta{acr-name} (which make the first letter uppercase) should
+be replaced with \cs{Gls}\marg{label}.
+
+\subsection{\cs{acrln} and \cs{acrsh}}
+
+In the \sty{glossary} package, it is possible to produce the
+long and short forms of an acronym without adding an entry to
+the glossary using \cs{acrln} and \cs{acrsh}. With the
+\sty{glossaries} package, you can replace
+\begin{oldway}
+\cs{acrsh}\marg{acr-name}
+\end{oldway}%
+with
+\begin{newway}
+\cs{glsentrytext}\marg{label}
+\end{newway}%
+However the \sty{glossaries} package provides no direct equivalent
+of \cs{acrln}. Instead it provides \cs{glsentryfirst} which
+produces the ``first use'' text without adding an entry to the
+glossary, or affecting the first use flag.
+
+Alternatively, if you haven't changed the definition of
+\cs{newacronym}, the long form by itself can be obtained using
+\cs{glsentrydesc}, since by default the \texttt{description} key is
+set to the long form (but read the notes in the \sty{glossaries}
+manual regarding the \texttt{sanitize} package option).
+
+If you want to be able to set a description, and be able to
+independently access the description, the long form and the
+short form, you can redefine \cs{newacronym} so that it uses
+the \texttt{symbol} key and use \cs{defglsdisplayfirst}
+so that it uses this value on first use, as follows:
+\begin{verbatim}
+\renewcommand{\newacronym}[4][]{\newglossaryentry{#2}{%
+name={#4 (#3)},
+text={#3},
+first={#4},
+symbol={#3},
+}}
+\defglsdisplayfirst{\acronymtype}{##1 (##3)##4}
+\end{verbatim}
+As before, you can access the short name via
+\cs{glsentrytext}\marg{label}, but you can now access just the long
+form via \cs{glsentryfirst}\marg{label} and the description via
+\cs{glsentrydesc}\marg{label}.
+
+See
+\latexhtml{section~\ref*{sec:code:glslink} (}{the section }``Using
+glossary entries in the text''\latex{)} of the \sty{glossaries}
+manual for further details of how to use these commands.
+
+\subsection{\cs{ifacronymfirstuse}}
+
+The \sty{glossary} package command
+\begin{oldway}
+\cs{ifacronymfirstuse}\marg{acr-name}\marg{text1}\marg{text2}
+\end{oldway}%
+can be replaced by the \sty{glossaries} command:
+\begin{newway}
+\cs{ifglsused}\marg{label}\marg{text2}\marg{text1}
+\end{newway}%
+Note that \cs{ifglsused} evaluates the opposite condition to
+that of \cs{ifacronymfirstuse} which is why the last two arguments
+have been reversed.
+
+\subsection{\cs{resetacronym} and \cs{unsetacronym}}
+
+The \sty{glossary} package allows you to reset and unset the
+acronym flag which is used to determine whether the acronym has
+been used in the document. The \sty{glossaries} package also
+provides a means to do this on either a local or global level.
+To reset an acronym, you will need to replace:
+\begin{oldway}
+\cs{resetacronym}\marg{acr-name}
+\end{oldway}%
+with either
+\begin{newway}
+\cs{glsreset}\marg{label}
+\end{newway}%
+or
+\begin{newway}
+\cs{glslocalreset}\marg{label}
+\end{newway}
+
+To unset an acronym, you will need to replace:
+\begin{oldway}
+\cs{unsetacronym}\marg{acr-name}
+\end{oldway}%
+with either
+\begin{newway}
+\cs{glsunset}\marg{label}
+\end{newway}%
+or
+\begin{newway}
+\cs{glslocalunset}\marg{label}
+\end{newway}
+
+\section{Displaying the glossary}
+
+The \sty{glossary} package provides the command \cs{printglossary}
+(or \cs{print}\meta{type} for other glossary types) which
+can be used to print individual glossaries. The \sty{glossaries}
+package provides the command \cs{printglossaries} which
+will print all the glossaries which have been defined, or
+\cs{printglossary}\oarg{options} to print individual glossaries.
+So if you just have \cs{printglossary}, then you can leave it as
+it is, but if you have, say:
+\begin{verbatim}
+\printglossary
+\printglossary[acronym]
+\end{verbatim}
+or
+\begin{verbatim}
+\printglossary
+\printacronym
+\end{verbatim}
+then you will need to either replace this with either
+\begin{verbatim}
+\printglossaries
+\end{verbatim}
+or
+\begin{verbatim}
+\printglossary
+\printglossary[type=\acronymtype]
+\end{verbatim}
+
+The \sty{glossary} package allows you to specify a short title
+(for the table of contents and page header) by defining a command
+of the form \cs{short}\meta{glossary-type}\texttt{name}. The
+\sty{glossaries} package doesn't do this, but instead provides
+the \texttt{toctitle} key which can be used in the optional
+argument to \cs{printglossary}. For example, if you have created
+a new glossary type called \texttt{notation}, and you had
+defined
+\begin{verbatim}
+\newcommand{\shortnotationname}{Notation}
+\end{verbatim}
+then you would need to use the \texttt{toctitle} key:
+\begin{verbatim}
+\printglossary[type=notation,toctitle=Notation]
+\end{verbatim}
+The \sty{glossaries} package will ignore \cs{shortnotationname},
+so unless you have used it elsewhere in the document, you may
+as well remove the definition.
+
+\section{Using makeindex}
+
+If you convert your document from using the \sty{glossary} package
+to the \sty{glossaries} package, you will need to delete any of
+the additional files, such as the \texttt{.glo} file, that were
+created by the \sty{glossary} package, as the \sty{glossaries}
+package uses a different \texttt{makeindex} style file.
+Remember also, that if you used the \texttt{makeglos} Perl script,
+you will need to use the \texttt{makeglossaries} Perl script
+instead.
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/glossaries/latex2html/glossaries.perl b/Master/texmf-dist/doc/latex/glossaries/latex2html/glossaries.perl
deleted file mode 100644
index 22ad50f784c..00000000000
--- a/Master/texmf-dist/doc/latex/glossaries/latex2html/glossaries.perl
+++ /dev/null
@@ -1,1713 +0,0 @@
-# File : glossaries.perl
-# Author : Nicola L.C. Talbot
-# Date : 14th June 2007
-# Last Modified : 21st Aug 2007
-# Version : 1.02
-# Description : LaTeX2HTML (limited!) implementation of glossaries
-# package. Note that not all the glossaries.sty
-# macros have been implemented.
-
-# This is a LaTeX2HTML style implementing the glossaries package, and
-# is distributed as part of that package.
-# Copyright 2007 Nicola L.C. Talbot
-# This work may be distributed and/or modified under the
-# conditions of the LaTeX Project Public License, either version 1.3
-# of this license of (at your option) any later version.
-# The latest version of this license is in
-# http://www.latex-project.org/lppl.txt
-# and version 1.3 or later is part of all distributions of LaTeX
-# version 2005/12/01 or later.
-#
-# This work has the LPPL maintenance status `maintained'.
-#
-# The Current Maintainer of this work is Nicola Talbot.
-
-# This work consists of the files glossaries.dtx and glossaries.ins
-# and the derived files glossaries.sty, glossary-hypernav.sty,
-# glossary-list.sty, glossary-long.sty, glossary-super.sty,
-# glossaries.perl. Also makeglossaries and makeglossaries.bat
-
-package main;
-
-# These are the only package options implemented.
-
-sub do_glossaries_style_altlist{
-}
-
-sub do_glossaries_toc{
-}
-
-sub do_glossaries_toc_true{
-}
-
-$GLSCURRENTFORMAT="textrm";
-
-sub do_cmd_glossaryname{
- "Glossary$_[0]"
-}
-
-$gls_mark{'main'} = "<tex2html_gls_main_mark>";
-$gls_file_mark{'main'} = "<tex2html_gls_main_file_mark>";
-$gls_title{'main'} = "\\glossaryname";
-$delimN{'main'} = ", ";
-$glsnumformat{'main'} = $GLSCURRENTFORMAT;
-@{$gls_entries{'main'}} = ();
-$gls_displayfirst{'main'} = "glsdisplayfirst";
-$gls_display{'main'} = "glsdisplay";
-
-
-$acronymtype = 'main';
-
-sub do_glossaries_acronym{
- &do_glossaries_acronym_true
-}
-
-sub do_glossaries_acronym_true{
- &make_newglossarytype("acronym", "\\acronymname");
- $acronymtype = 'acronym';
-}
-
-sub do_glossary_acronym_false{
- $acronymtype = 'main';
-}
-
-sub do_cmd_acronymname{
- join('', 'Acronyms', $_[0]);
-}
-
-sub do_cmd_acronymtype{
- join('', $acronymtype, $_[0]);
-}
-
-# modify set_depth_levels so that glossary is added
-
-sub replace_glossary_markers{
- foreach $type (keys %gls_mark)
- {
- if (defined &add_gls_hook)
- {&add_gls_hook if (/$gls_mark{$type}/);}
- else
- {&add_gls($type) if (/$gls_mark{$type}/);}
-
- s/$gls_file_mark{$type}/$glsfile{$type}/g;
- }
-}
-
-# there must be a better way of doing this
-# other than copying the orginal code and adding to it.
-sub replace_general_markers {
- if (defined &replace_infopage_hook) {&replace_infopage_hook if (/$info_page_mark/);}
- else { &replace_infopage if (/$info_page_mark/); }
- if (defined &add_idx_hook) {&add_idx_hook if (/$idx_mark/);}
- else {&add_idx if (/$idx_mark/);}
- &replace_glossary_markers;
-
- if ($segment_figure_captions) {
-s/$lof_mark/$segment_figure_captions/o
- } else { s/$lof_mark/$figure_captions/o }
- if ($segment_table_captions) {
-s/$lot_mark/$segment_table_captions/o
- } else { s/$lot_mark/$table_captions/o }
- &replace_morelinks();
- if (defined &replace_citations_hook) {&replace_citations_hook if /$bbl_mark/;}
- else {&replace_bbl_marks if /$bbl_mark/;}
- if (defined &add_toc_hook) {&add_toc_hook if (/$toc_mark/);}
- else {&add_toc if (/$toc_mark/);}
- if (defined &add_childs_hook) {&add_childs_hook if (/$childlinks_on_mark/);}
- else {&add_childlinks if (/$childlinks_on_mark/);}
- &remove_child_marks;
-
- if (defined &replace_cross_references_hook) {&replace_cross_references_hook;}
- else {&replace_cross_ref_marks if /$cross_ref_mark||$cross_ref_visible_mark/;}
- if (defined &replace_external_references_hook) {&replace_external_references_hook;}
- else {&replace_external_ref_marks if /$external_ref_mark/;}
- if (defined &replace_cite_references_hook) {&replace_cite_references_hook;}
- else { &replace_cite_marks if /$cite_mark/; }
- if (defined &replace_user_references) {
- &replace_user_references if /$user_ref_mark/; }
-
-}
-
-sub add_gls{
- local($sidx_style, $eidx_style) =('<STRONG>','</STRONG>');
- if ($INDEX_STYLES) {
-if ($INDEX_STYLES =~/,/) {
-local(@styles) = split(/\s*,\s*/,$INDEX_STYLES);
- $sidx_style = join('','<', join('><',@styles) ,'>');
- $eidx_style = join('','</', join('></',reverse(@styles)) ,'>');
-} else {
- $sidx_style = join('','<', $INDEX_STYLES,'>');
- $eidx_style = join('','</', $INDEX_STYLES,'>');
-}
- }
- &add_real_gls
-}
-
-sub gloskeysort{
- local($x, $y) = ($a, $b);
- $x=~s/^(.*)###(\d+)$/\l\1/;
- local($x_id) = $2;
- $y=~s/^(.*)###(\d+)$/\l\1/;
- local($y_id) = $2;
-
- local($n) = ($x cmp $y);
-
- if ($n == 0)
- {
- $n = ($x_id <=> $y_id);
- }
-
- $n;
-}
-
-sub add_real_gls{
- local($type) = @_;
- print "\nDoing glossary '$type' ...";
- local($key, $str, @keys, $glossary, $level, $count,
- @previous, @current, $id, $linktext, $delimN);
-
- @keys = keys %{$glossary{$type}};
-
- @keys = sort gloskeysort @keys;
-
- $level = 0;
-
- $delimN = $delimN{$type};
-
- foreach $key (@keys)
- {
- $current = $key;
- $str = $current;
- $str =~ s/\#\#\#\d+$//o; # Remove the unique id's
- #$linktext = $cross_ref_visible_mark;
- $id = ++$global{'max_id'};
- $linktext = "\\$glossary_format{$type}{$key}${OP}$id${CP}$glossary_linktext{$type}{$key}${OP}$id${CP}";
- $linktext = &translate_commands($linktext);
-
- local($entry) = $glossary_entry{$type}{$key};
-
- $id = ++$global{'max_id'};
- local($name) = &translate_commands(
- "\\glsnamefont $OP$id$CP$glsentry{$entry}{name}$OP$id$CP");
-
- local($symbol) = ($glsentry{$entry}{'symbol'} ?
- " $glsentry{$entry}{symbol}" : '');
-
- $glossary .=
- # If it's the same string don't start a new line
- (&index_key_eq($current, $previous) ?
- $delimN
- . $glossary{$type}{$key}
- . $linktext
- . "</A>\n"
- : "<DT>"
- . $name
- . "<DD>"
- . $glsentry{$entry}{'description'}
- . $symbol . '. '
- . $glossary{$type}{$key}
- . $linktext. "</A>\n");
- $previous = $current;
- }
- $glossary = '<DD>'.$glossary unless ($glossary =~ /^\s*<D(T|D)>/);
-
- $glossary =~ s/(<A [^>]*>)(<D(T|D)>)/$2$1/g;
-
- $str = &translate_commands("\\glossarypostamble");
- s/$gls_mark{$type}/$preglossary\n<DL COMPACT>\n$glossary<\/DL>$str\n/s;
-}
-
-sub set_depth_levels {
- # Sets $outermost_level
- local($level);
- # scan the document body, not the preamble, for use of sectioning commands
- my ($contents) = $_;
- if ($contents =~ /\\begin\s*((?:$O|$OP)\d+(?:$C|$CP))document\1|\\startdocument/s) {
-$contents = $';
- }
- foreach $level ("part", "chapter", "section", "subsection",
- "subsubsection", "paragraph") {
-last if (($outermost_level) = $contents =~ /\\($level)$delimiter_rx/);
-last if (($outermost_level) = $contents =~ /\\endsegment\s*\[\s*($level)\s*\]/s);
-if ($contents =~ /\\segment\s*($O\d+$C)[^<]+\1\s*($O\d+$C)\s*($level)\s*\2/s)
-{ $outermost_level = $3; last };
- }
- $level = ($outermost_level ? $section_commands{$outermost_level} :
- do {$outermost_level = 'section'; 3;});
-
- if ($REL_DEPTH && $MAX_SPLIT_DEPTH) {
-$MAX_SPLIT_DEPTH = $level + $MAX_SPLIT_DEPTH;
- } elsif (!($MAX_SPLIT_DEPTH)) { $MAX_SPLIT_DEPTH = 1 };
-
- %unnumbered_section_commands = (
- 'tableofcontents', $level
-, 'listoffigures', $level
-, 'listoftables', $level
-, 'bibliography', $level
-, 'textohtmlindex', $level
-, 'textohtmlglossary', $level
-, 'textohtmlglossaries', $level
- , %unnumbered_section_commands
- );
-
- %section_commands = (
- %unnumbered_section_commands
- , %section_commands
- );
-}
-
-sub add_bbl_and_idx_dummy_commands {
- local($id) = $global{'max_id'};
-
- s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
- ## if ($bbl_cnt == 1) {
-s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo;
- #}
- $global{'max_id'} = $id;
- s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
- s/[\\]printindex/\\textohtmlindex /o;
- &add_gls_dummy_commands;
- &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands);
-}
-
-sub add_gls_dummy_commands{
- s/[\\]printglossary/\\textohtmlglossary/sg;
- s/[\\]printglossaries/\\textohtmlglossaries/sg;
-}
-
-sub get_firstkeyval{
- local($key,$_) = @_;
- local($value);
-
- s/\b$key\s*=$OP(\d+)$CP(.*)$OP\1$CP\s*(,|$)/$value=$2;','/es;
- undef($value) if $`=~/\b$key\s*=/;
-
- unless (defined($value))
- {
- s/(^|,)\s*$key\s*=\s*([^,]*)\s*(,|$)/,/s;
- $value=$2;
- }
-
- ($value,$_);
-}
-
-# need to get the value of the last key of a given name
-# in the event of multiple occurences.
-sub get_keyval{
- local($key,$_) = @_;
- local($value);
-
- while (/\b$key\s*=/)
- {
- ($value,$_) = &get_firstkeyval($key, $_);
- last unless defined($value);
- }
-
- ($value,$_);
-}
-
-# This is modified from do_cmd_textohtmlindex
-
-sub do_cmd_textohtmlglossary{
- local($_) = @_;
-
- local($keyval,$pat) = &get_next_optional_argument;
-
- local($type,$title,$toctitle,$style);
-
- ($type,$keyval) = &get_keyval('type', $keyval);
- ($title,$keyval) = &get_keyval('title', $keyval);
- ($toctitle,$keyval) = &get_keyval('toctitle', $keyval);
- ($style,$keyval) = &get_keyval('style', $keyval);
-
- &make_textohtmlglossary($type,$toctitle,$title,$style).$_;
-}
-
-sub make_textohtmlglossary{
- local($type,$toctitle,$title,$style) = @_;
-
- unless (defined($type)) {$type = 'main';}
-
- unless (defined $gls_mark{$type})
- {
- &write_warnings("glossary type '$type' not implemented");
- }
-
- unless (defined($title) and $title) {$title = $gls_title{$type};}
- unless (defined($toctitle) and $toctitle) {$toctitle = $title;}
-
- $toc_sec_title = $toctitle;
- $glsfile{$type} = $CURRENT_FILE;
-
- $TITLE=&translate_commands($toctitle);
-
- if (%glossary_labels) { &make_glossary_labels(); }
-
- if (($SHORT_INDEX) && (%glossary_segment))
- {
- &make_preglossary();
- }
- else
- {
- $preglossary = &translate_commands("\\glossarypreamble");
- }
-
- local $idx_head = $section_headings{'textohtmlindex'};
- local($heading) = join(''
- , &make_section_heading($title, $idx_head)
- , $gls_mark{$type} );
- local($pre,$post) = &minimize_open_tags($heading);
- join('',"<BR>\n" , $pre);
-}
-
-sub do_cmd_textohtmlglossaries{
- local($_) = @_;
-
- foreach $type (keys %gls_mark)
- {
- $id = ++$global{'max_id'};
- $_ = &make_textohtmlglossary($type,$gls_title{'main'}).$_;
- }
-
- $_;
-}
-
-sub make_glossary_labels {
- local($key, @keys);
- @keys = keys %glossary_labels;
- foreach $key (@keys) {
- if (($ref_files{$key}) && !($ref_files{$key} eq "$glsfile{'main'}")) {
- local($tmp) = $ref_files{$key};
- &write_warnings("\nmultiple label $key , target in $glsfile{'main'} masks $tmp ");
- }
- $ref_files{$key} .= $glsfile{'main'};
- }
-}
-
-sub make_preglossary{ &make_real_preglossary }
-sub make_real_preglossary{
- local($key, @keys, $head, $body);
- $head = "<HR>\n<H4>Legend:</H4>\n<DL COMPACT>";
- @keys = keys %glossary_segment;
- foreach $key (@keys) {
- local($tmp) = "segment$key";
- $tmp = $ref_files{$tmp};
- $body .= "\n<DT>$key<DD>".&make_named_href('',$tmp,$glossary_segment{$key});
- }
- $preglossary = join('', $head, $body, "\n</DL>") if ($body);
-}
-
-sub do_cmd_glossary { &do_real_glossary(@_) }
-sub do_real_glossary {
- local($_) = @_;
- local($type) = "main";
- local($anchor,$entry);
-
- local($type,$pat) = &get_next_optional_argument;
-
- $entry = &missing_braces unless
- (s/$next_pair_pr_rx//o&&($entry=$2));
-
- $anchor = &make_glossary_entry($entry,$anchor_invisible_mark,$type);
-
- join('', $anchor, $_);
-}
-
-sub make_glossary_entry { &make_real_glossary_entry(@_) }
-sub make_real_glossary_entry {
- local($entry,$text,$type) = @_;
- local($this_file) = $CURRENT_FILE;
- $TITLE = $saved_title if (($saved_title)&&(!($TITLE)||($TITLE eq $default_title)));
-
- local($sort) = $glsentry{$entry}{'sort'};
-
- # Save the reference
- local($str) = "$sort###" . ++$global{'max_id'}; # Make unique
- # concatenate multiple spaces into a single space
- # otherwise keys won't sort properly
- $str=~s/\s+/ /gs;
- local($br_id) = ++$global{'max_id'};
- $glossary{$type}{$str} .= &make_half_href($this_file."#$br_id");
- $glossary_format{$type}{$str} = $GLSCURRENTFORMAT;
- $glossary_entry{$type}{$str} = $entry;
- $glossary_linktext{$type}{$str} = $TITLE;
- "<A HREF=$gls_file_mark{$type}#tex2html$href_name NAME=\"$br_id\">$text<\/A>";
-}
-
-sub do_cmd_newglossary{
- local($_) = @_;
- local($type,$out,$in,$opt,$pat,$title);
-
- ($opt,$pat) = &get_next_optional_argument;
-
- $type = &missing_braces unless
- (s/$next_pair_pr_rx//o&&($type=$2));
- $in = &missing_braces unless
- (s/$next_pair_pr_rx//o&&($in=$2));
- $out = &missing_braces unless
- (s/$next_pair_pr_rx//o&&($out=$2));
- $title = &missing_braces unless
- (s/$next_pair_pr_rx//o&&($title=$2));
-
- ($opt,$pat) = &get_next_optional_argument;
-
- &make_newglossarytype($type, $title);
-
- $_;
-}
-
-sub make_newglossarytype{
- local($type, $title) = @_;
-
- $gls_mark{$type} = "<tex2html_gls_${type}_mark>";
- $gls_file_mark{$type} = "<tex2html_gls_${type}_file_mark>";
- $gls_title{$type} = $title;
- $delimN{$type} = ", ";
- $glsnumformat{$type} = $GLSCURRENTFORMAT;
- @{$gls_entries{$type}} = ();
- $gls_displayfirst{$type} = "glsdisplayfirst";
- $gls_display{$type} = "glsdisplay";
-}
-
-sub do_cmd_glsdisplay{
- local($_) = @_;
- local($text,$description,$symbol,$insert);
-
- $text = &missing_braces unless
- (s/$next_pair_pr_rx/$text=$2;''/eo);
-
- $description = &missing_braces unless
- (s/$next_pair_pr_rx/$description=$2;''/eo);
-
- $symbol = &missing_braces unless
- (s/$next_pair_pr_rx/$symbol=$2;''/eo);
-
- $insert = &missing_braces unless
- (s/$next_pair_pr_rx/$insert=$2;''/eo);
-
- "$text$insert" . $_;
-}
-
-sub do_cmd_glsdisplayfirst{
- local($_) = @_;
- local($text,$description,$symbol,$insert);
-
- $text = &missing_braces unless
- (s/$next_pair_pr_rx/$text=$2;''/eo);
-
- $description = &missing_braces unless
- (s/$next_pair_pr_rx/$description=$2;''/eo);
-
- $symbol = &missing_braces unless
- (s/$next_pair_pr_rx/$symbol=$2;''/eo);
-
- $insert = &missing_braces unless
- (s/$next_pair_pr_rx/$insert=$2;''/eo);
-
- "$text$insert" . $_;
-}
-
-sub gls_get_displayfirst{
- local($type) = @_;
- local($display)= $gls_displayfirst{$type};
-
- if (not defined($display))
- {
- &write_warnings("Glossary '$type' is not defined");
- $display='';
- }
- elsif ($display eq '')
- {
- &write_warnings("glsdisplayfirst not set for glossary '$type'");
- }
- else
- {
- $display = "\\$display ";
- }
-
- $display;
-}
-
-sub gls_get_display{
- local($type) = @_;
- local($display)= $gls_display{$type};
-
- if (not defined($display))
- {
- &write_warnings("Glossary '$type' is not defined");
- $display = '';
- }
- elsif ($display eq '')
- {
- &write_warnings("glsdisplay not set for glossary '$type'");
- }
- else
- {
- $display = "\\$display ";
- }
-
- $display;
-}
-
-sub do_cmd_glsnamefont{
- local($_) = @_;
- local($text);
-
- $text = &missing_braces unless
- (s/$next_pair_pr_rx/$text=$2;''/eo);
-
- "<B>$text</B>$_";
-}
-
-sub do_cmd_newacronym{
- local($_) = @_;
- local($label,$abbrev,$long,$opt);
-
- ($opt,$pat) = &get_next_optional_argument;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
- $abbrv = &missing_braces unless
- (s/$next_pair_pr_rx/$abbrv=$2;''/eo);
- $long = &missing_braces unless
- (s/$next_pair_pr_rx/$long=$2;''/eo);
-
- local($cmd) = "\\newglossaryentry";
- local($id);
- $id = ++$global{'max_id'};
- $cmd .= "$OP$id$CP$label$OP$id$CP";
- $id = ++$global{'max_id'};
- local($entry) = "type=$OP$id$CP\\acronymtype$OP$id$CP,";
- $id = ++$global{'max_id'};
- $entry .= "name=$OP$id$CP$abbrv$OP$id$CP,";
- $id = ++$global{'max_id'};
- $entry .= "description=$OP$id$CP$long$OP$id$CP,";
- $id = ++$global{'max_id'};
- $entry .= "text=$OP$id$CP$abbrv$OP$id$CP,";
- $id = ++$global{'max_id'};
- $entry .= "first=$OP$id$CP$long ($abbrv)$OP$id$CP,";
- $id = ++$global{'max_id'};
- $entry .= "plural=$OP$id$CP${abbrv}s$OP$id$CP,";
- $id = ++$global{'max_id'};
- $entry .= "firstplural=$OP$id$CP${long}s (${abbrv}s)$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $cmd .= "$OP$id$CP$entry,$opt$OP$id$CP";
-
- &translate_commands($cmd).$_;
-}
-
-sub gls_entry_init{
- local($label, $type, $name, $desc) = @_;
-
- %{$glsentry{$label}} =
- ( type => $type,
- name => $name,
- 'sort' => $name,
- description => $description,
- text => $name,
- first => $name,
- plural => "${name}s",
- firstplural => "${name}s",
- symbol => '',
- flag => 0
- );
-}
-
-sub gls_get_type{
- local($label) = @_;
- local($type) = '';
-
- if (&gls_entry_defined($label))
- {
- $type = $glsentry{$label}{'type'};
- }
- else
- {
- &write_warnings("gls_get_type: glossary entry '$label' has not been defined");
- }
-
- $type;
-}
-
-sub gls_set_type{
- local($label, $type) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'type'} = $type;
- }
- else
- {
- &write_warnings("gls_set_type: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_name{
- local($label) = @_;
- local($name) = '';
-
- if (&gls_entry_defined($label))
- {
- $name = $glsentry{$label}{'name'};
- }
- else
- {
- &write_warnings("gls_get_name: glossary entry '$label' has not been defined");
- }
-
- $name;
-}
-
-sub gls_set_name{
- local($label, $name) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'name'} = $name;
- }
- else
- {
- &write_warnings("gls_set_name: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_description{
- local($label) = @_;
- local($description) = '';
-
- if (&gls_entry_defined($label))
- {
- $description = $glsentry{$label}{'description'};
- }
- else
- {
- &write_warnings("gls_get_description: glossary entry '$label' has not been defined");
- }
-
- $description;
-}
-
-sub gls_set_description{
- local($label, $description) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'description'} = $description;
- }
- else
- {
- &write_warnings("gls_set_description: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_symbol{
- local($label) = @_;
- local($symbol) = '';
-
- if (&gls_entry_defined($label))
- {
- $symbol = $glsentry{$label}{'symbol'};
- }
- else
- {
- &write_warnings("gls_get_symbol: glossary entry '$label' has not been defined");
- }
-
- $symbol;
-}
-
-sub gls_set_symbol{
- local($label, $symbol) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'symbol'} = $symbol;
- }
- else
- {
- &write_warnings("gls_set_symbol: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_sort{
- local($label) = @_;
- local($sort) = '';
-
- if (&gls_entry_defined($label))
- {
- $sort = $glsentry{$label}{'sort'};
- }
- else
- {
- &write_warnings("gls_get_sort: glossary entry '$label' has not been defined");
- }
-
- $sort;
-}
-
-sub gls_set_sort{
- local($label, $sort) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'sort'} = $sort;
- }
- else
- {
- &write_warnings("gls_set_sort: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_text{
- local($label) = @_;
- local($text) = '';
-
- if (&gls_entry_defined($label))
- {
- $text = $glsentry{$label}{'text'};
- }
- else
- {
- &write_warnings("gls_get_text: glossary entry '$label' has not been defined");
- }
-
- $text;
-}
-
-sub gls_set_text{
- local($label, $text) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'text'} = $text;
- }
- else
- {
- &write_warnings("gls_set_text: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_plural{
- local($label) = @_;
- local($plural) = '';
-
- if (&gls_entry_defined($label))
- {
- $plural = $glsentry{$label}{'plural'};
- }
- else
- {
- &write_warnings("gls_get_plural: glossary entry '$label' has not been defined");
- }
-
- $plural;
-}
-
-sub gls_set_plural{
- local($label, $plural) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'plural'} = $plural;
- }
- else
- {
- &write_warnings("gls_set_plural: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_firstplural{
- local($label) = @_;
- local($firstplural) = '';
-
- if (&gls_entry_defined($label))
- {
- $firstplural = $glsentry{$label}{'firstplural'};
- }
- else
- {
- &write_warnings("gls_get_firstplural: glossary entry '$label' has not been defined");
- }
-
- $firstplural;
-}
-
-sub gls_set_firstplural{
- local($label, $firstplural) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'firstplural'} = $firstplural;
- }
- else
- {
- &write_warnings("gls_set_firstplural: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_get_first{
- local($label) = @_;
- local($first) = '';
-
- if (&gls_entry_defined($label))
- {
- $first = $glsentry{$label}{'first'};
- }
- else
- {
- &write_warnings("gls_get_first: glossary entry '$label' has not been defined");
- }
-
- $first;
-}
-
-sub gls_set_first{
- local($label, $first) = @_;
-
- if (&gls_entry_defined($label))
- {
- $glsentry{$label}{'first'} = $first;
- }
- else
- {
- &write_warnings("gls_set_first: glossary entry '$label' has not been defined");
- }
-}
-
-sub gls_used{
- local($label) = @_;
- local($flag) = 0;
-
- if (&gls_entry_defined($label))
- {
- $flag = $glsentry{$label}{'flag'};
- }
- else
- {
- &write_warnings("gls_used: glossary entry '$label' has not been defined");
- }
-
- $flag;
-}
-
-sub gls_entry_defined{
- local($label) = @_;
-
- defined(%{$glsentry{$label}});
-}
-
-sub do_cmd_newglossaryentry{
- local($_) = @_;
- local($label,$name,$description,$symbol,$sort,$text,$first,
- $plural,$firstplural,$type,$keyval);
-
- $label = &missing_braces unless
- s/$next_pair_pr_rx/$label=$2;''/eo;
-
- $keyval = &missing_braces unless
- s/$next_pair_pr_rx/$keyval=$2;''/eo;
-
- ($name,$keyval) = &get_keyval('name', $keyval);
- ($description,$keyval) = &get_keyval('description', $keyval);
- ($symbol,$keyval) = &get_keyval('symbol', $keyval);
- ($sort,$keyval) = &get_keyval('sort', $keyval);
- ($text,$keyval) = &get_keyval('text', $keyval);
- ($first,$keyval) = &get_keyval('first', $keyval);
- ($firstplural,$keyval) = &get_keyval('firstplural', $keyval);
- ($plural,$keyval) = &get_keyval('plural', $keyval);
- ($type,$keyval) = &get_keyval('type', $keyval);
-
- if (defined($type))
- {
- $type = &translate_commands($type);
- }
- else
- {
- $type = 'main';
- }
-
- &gls_entry_init($label, $type, $name, $description);
-
- &gls_set_symbol($label, defined($symbol)?$symbol:'');
-
- $sort = "$name $description" unless (defined($sort) and $sort);
-
- &gls_set_sort($label, $sort);
-
- $text = $name unless (defined($text) and $text);
-
- &gls_set_text($label, $text);
-
- $first = $text unless (defined($first) and $first);
-
- &gls_set_first($label, $first);
-
- $plural = "${text}s" unless (defined($plural) and $plural);
-
- &gls_set_plural($label, $plural);
-
- $firstplural = "${first}s" unless (defined($firstplural) and $firstplural);
-
- &gls_set_firstplural($label, $firstplural);
-
- push @{$gls_entries{$type}}, $label;
-
- $_;
-}
-
-sub reset_entry{
- local($label) = @_;
-
- $glsentry{$label}{'flag'} = 0;
-}
-
-sub unset_entry{
- local($label) = @_;
-
- $glsentry{$label}{'flag'} = 1;
-}
-
-sub do_cmd_glsreset{
- local($_) = @_;
- local($label);
-
- $label = &missing_braces unless
- s/$next_pair_pr_rx/$label=$2;''/eo;
-
- &reset_entry($label);
-
- $_;
-}
-
-sub do_cmd_glsunset{
- local($_) = @_;
- local($label);
-
- $label = &missing_braces unless
- s/$next_pair_pr_rx/$label=$2;''/eo;
-
- &unset_entry($label);
-
- $_;
-}
-
-sub do_cmd_ifglsused{
- local($_) = @_;
- local($label,$true,$false);
-
- $label = &missing_braces unless
- s/$next_pair_pr_rx/$label=$2;''/eo;
-
- $true = &missing_braces unless
- s/$next_pair_pr_rx/$true=$2;''/eo;
-
- $false = &missing_braces unless
- s/$next_pair_pr_rx/$false=$2;''/eo;
-
- (&gls_used($label) ? $true : $false) . $_;
-}
-
-sub do_cmd_ifglsentryexists{
- local($_) = @_;
- local($label,$true,$false);
-
- $label = &missing_braces unless
- s/$next_pair_pr_rx/$label=$2;''/eo;
-
- $true = &missing_braces unless
- s/$next_pair_pr_rx/$true=$2;''/eo;
-
- $false = &missing_braces unless
- s/$next_pair_pr_rx/$false=$2;''/eo;
-
- (&gls_entry_defined($label) ? $true : $false) . $_;
-}
-
-sub gls_add_entry{
- local($type, $label, $format, $text) = @_;
-
- local($oldfmt) = $GLSCURRENTFORMAT;
-
- if (defined($format) and $format)
- {
- $GLSCURRENTFORMAT=$format;
- }
-
- $id = ++$global{'max_id'};
-
- local($str) = &make_real_glossary_entry($label,$text,$type);
- $GLSCURRENTFORMAT = $oldfmt;
-
- $str;
-}
-
-sub do_cmd_glsadd{
- local($_) = @_;
- local($optarg,$pat,$label,$str,$id,$type,$format);
- ($optarg,$pat) = &get_next_optional_argument;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- $type = &gls_get_type($label);
-
- if (defined $type)
- {
- ($format,$optarg) = &get_keyval('format', $optarg);
- $format='' unless(defined($format));
-
- &gls_add_entry($type,$label,$format,"");
- }
- else
- {
- &write_warnings("gls_add: glossary entry '$label' undefined");
- $str = '';
- }
-
- $str . $_;
-}
-
-sub do_cmd_glsaddall{
- local($_) = @_;
- local($optarg,$pat) = &get_next_optional_argument;
-
- local($format,$types);
-
- ($type,$optarg) = &get_keyval('types', $optarg);
-
- ($format,$optarg) = &get_keyval('format', $optarg);
- $format='' unless(defined($format));
-
- local(@types) = keys(%gls_mark);
-
- if (defined($types))
- {
- @types = split /,/, $types;
- }
-
- foreach $type (@types)
- {
- # strip leasing and trailing spaces
- $type=~s/^\s*([^\s]+)\s*$/\1/;
-
- foreach $label (@{$gls_entries{$type}})
- {
- &gls_add_entry($type,$label,$format,"");
- }
- }
-
- $_;
-}
-
-sub do_cmd_glsresetall{
- local($_) = @_;
- local($types,$pat) = &get_next_optional_argument;
-
- local(@types) = keys(%gls_mark);
-
- if (defined($types) and $types)
- {
- @types = split /,/, $types;
- }
-
- foreach $type (@types)
- {
- # strip leasing and trailing spaces
- $type=~s/^\s*([^\s]+)\s*$/\1/;
-
- foreach $label (@{$gls_entries{$type}})
- {
- &reset_entry($label);
- }
- }
-
- $_;
-}
-
-sub do_cmd_glsunsetall{
- local($_) = @_;
- local($types,$pat) = &get_next_optional_argument;
-
- local(@types) = keys(%gls_mark);
-
- if (defined($types) and $types)
- {
- @types = split /,/, $types;
- }
-
- foreach $type (@types)
- {
- # strip leasing and trailing spaces
- $type=~s/^\s*([^\s]+)\s*$/\1/;
-
- foreach $label (@{$gls_entries{$type}})
- {
- &reset_entry($label);
- }
- }
-
- $_;
-}
-
-sub make_glslink{
- local($type,$label,$format,$text) = @_;
- local($str) = '';
-
- if (defined $type)
- {
- $str = &gls_add_entry($type,$label,$format,$text);
- }
- else
- {
- &write_warnings("glossary '$type' undefined");
- }
-
- $str;
-}
-
-sub do_cmd_glslink{
- local($_) = @_;
- local($optarg,$pat,$label,$text,$type,$format,$str);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- $text = &missing_braces unless
- (s/$next_pair_pr_rx/$text=$2;''/eo);
-
- # v1.01 removed following lines (\glslink doesn't have
- # a final optional argument!
- #local ($space) = '';
- #if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
- #($optarg,$pat) = &get_next_optional_argument;
-
- $type = &gls_get_type($label);
-
- #&make_glslink($type, $label, $format, $text).$space . $_;
- &make_glslink($type, $label, $format, $text) . $_;
-}
-
-sub do_cmd_glsentrydesc{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- &gls_get_description($label).$_;
-}
-
-sub do_cmd_Glsentrydesc{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_description($label)).$_;
-}
-
-sub do_cmd_glsentrytext{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- &gls_get_text($label).$_;
-}
-
-sub do_cmd_Glsentrytext{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_text($label)).$_;
-}
-
-sub do_cmd_glsentryname{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- &gls_get_name($label).$_;
-}
-
-sub do_cmd_Glsentryname{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_name($label)).$_;
-}
-
-sub do_cmd_glsentryfirst{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- &gls_get_first($label).$_;
-}
-
-sub do_cmd_Glsentryfirst{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_first($label)).$_;
-}
-
-sub do_cmd_glsentryplural{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- &gls_get_plural($label).$_;
-}
-
-sub do_cmd_Glsentryplural{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_plural($label)).$_;
-}
-
-sub do_cmd_glsentryfirstplural{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local($text)=$glsentry{$label}{'firstplural'};
-
- unless (defined($text))
- {
- &write_warnings("glossary entry '$label' has not been defined");
- $text = '';
- }
-
- "$text$_";
- &gls_get_firstplural($label).$_;
-}
-
-sub do_cmd_Glsentryfirstplural{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_firstplural($label)).$_;
-}
-
-sub do_cmd_glsentrysymbol{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- &gls_get_symbol($label).$_;
-}
-
-sub do_cmd_Glsentrysymbol{
- local($_) = @_;
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- ucfirst(&gls_get_symbol($label)).$_;
-}
-
-sub do_cmd_gls{
- local($_) = @_;
- local($optarg,$pat,$label,$text, $format, $insert);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local ($space) = '';
- if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
-
- $insert = '';
- ($insert,$pat) = &get_next_optional_argument;
-
- local($display) = '';
-
- local($type) = &gls_get_type($label);
-
- if (&gls_used($label))
- {
- # entry has already been used
-
- $text = &gls_get_text($label);
- $display = &gls_get_display($type);
- }
- else
- {
- # entry hasn't been used
-
- $text = &gls_get_first($label);
- $display = &gls_get_displayfirst($type);
-
- &unset_entry($label);
- }
-
- local($args) = '';
-
- local($id) = ++$global{'max_id'};
- $args .= "$OP$id$CP$text$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{description}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{symbol}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$insert$OP$id$CP";
-
- local($link_text) = &translate_commands("$display$args");
-
- &make_glslink($type, $label, $format, $link_text) .$space . $_;
-}
-
-sub do_cmd_glspl{
- local($_) = @_;
- local($optarg,$pat,$label,$text, $format, $insert);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local ($space) = '';
- if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
-
- $insert = '';
- ($insert,$pat) = &get_next_optional_argument;
-
- local($display) = '';
-
- local($type) = $glsentry{$label}{'type'};
-
- if (&gls_used($label))
- {
- # entry has already been used
-
- $text = &gls_get_plural($label);
- $display = &gls_get_display($type);;
- }
- else
- {
- # entry hasn't been used
-
- $text = &gls_get_firstplural($label);
- $display = &gls_get_displayfirst($type);
-
- &unset_entry($label);
- }
-
- local($args) = '';
-
- local($id) = ++$global{'max_id'};
- $args .= "$OP$id$CP$text$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{description}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{symbol}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$insert$OP$id$CP";
-
- local($link_text) = &translate_commands("$display$args");
-
- &make_glslink($type, $label, $format, $link_text) . $space . $_;
-}
-
-sub do_cmd_Gls{
- local($_) = @_;
- local($optarg,$pat,$label,$text, $format, $insert);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local ($space) = '';
- if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
-
- $insert = '';
- ($insert,$pat) = &get_next_optional_argument;
-
- local($display) = '';
-
- local($type) = $glsentry{$label}{'type'};
-
- if (&gls_used($label))
- {
- # entry has already been used
-
- $text = &gls_get_text($label);
- $display = &gls_get_display($type);;
- }
- else
- {
- # entry hasn't been used
-
- $text = &gls_get_first($label);
- $display = &gls_get_displayfirst($type);
-
- &unset_entry($label);
- }
-
- local($args) = '';
-
- local($id) = ++$global{'max_id'};
- $args .= "$OP$id$CP$text$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{description}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{symbol}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$insert$OP$id$CP";
-
- local($link_text) = &translate_commands("$display$args");
-
- &make_glslink($type, $label, $format, ucfirst($link_text)). $space . $_;
-}
-
-sub do_cmd_Glspl{
- local($_) = @_;
- local($optarg,$pat,$label,$text, $format, $insert);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local ($space) = '';
- if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
-
- $insert = '';
- ($insert,$pat) = &get_next_optional_argument;
-
- local($display) = '';
-
- local($type) = $glsentry{$label}{'type'};
-
- if (&gls_used($label))
- {
- # entry has already been used
-
- $text = &gls_get_plural($label);
- $display = &gls_get_display($type);;
- }
- else
- {
- # entry hasn't been used
-
- $text = &gls_get_firstplural($label);
- $display = &gls_get_displayfirst($type);
-
- &unset_entry($label);
- }
-
- local($args) = '';
-
- local($id) = ++$global{'max_id'};
- $args .= "$OP$id$CP$text$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{description}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{symbol}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$insert$OP$id$CP";
-
- local($link_text) = &translate_commands("$display$args");
-
- &make_glslink($type, $label, $format, ucfirst($link_text)).$space . $_;
-}
-
-sub do_cmd_GLS{
- local($_) = @_;
- local($optarg,$pat,$label,$text, $format, $insert);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local ($space) = '';
- if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
-
- $insert = '';
- ($insert,$pat) = &get_next_optional_argument;
-
- local($display) = '';
-
- local($type) = $glsentry{$label}{'type'};
-
- if (&gls_used($label))
- {
- # entry has already been used
-
- $text = &gls_get_text($label);
- $display = &gls_get_display($type);;
- }
- else
- {
- # entry hasn't been used
-
- $text = &gls_get_first($label);
- $display = &gls_get_displayfirst($type);
-
- &unset_entry($label);
- }
-
- local($args) = '';
-
- local($id) = ++$global{'max_id'};
- $args .= "$OP$id$CP$text$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{description}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{symbol}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$insert$OP$id$CP";
-
- local($link_text) = &translate_commands("$display$args");
-
- &make_glslink($type, $label, $format, uc($link_text)).$space . $_;
-}
-
-sub do_cmd_GLSpl{
- local($_) = @_;
- local($optarg,$pat,$label,$text, $format, $insert);
-
- ($optarg,$pat) = &get_next_optional_argument;
-
- ($format,$optarg) = &get_keyval('format', $optarg);
-
- $label = &missing_braces unless
- (s/$next_pair_pr_rx/$label=$2;''/eo);
-
- local ($space) = '';
- if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
-
- $insert = '';
- ($insert,$pat) = &get_next_optional_argument;
-
- local($display) = '';
-
- local($type) = $glsentry{$label}{'type'};
-
- if (&gls_used($label))
- {
- # entry has already been used
-
- $text = &gls_get_plural($label);
- $display = &gls_get_display($type);;
- }
- else
- {
- # entry hasn't been used
-
- $text = &gls_get_firstplural($label);
- $display = &gls_get_displayfirst($type);
-
- &unset_entry($label);
- }
-
- local($args) = '';
-
- local($id) = ++$global{'max_id'};
- $args .= "$OP$id$CP$text$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{description}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$glsentry{$label}{symbol}$OP$id$CP";
-
- $id = ++$global{'max_id'};
- $args .= "$OP$id$CP$insert$OP$id$CP";
-
- local($link_text) = &translate_commands("$display$args");
-
- &make_glslink($type, $label, $format, uc($link_text)).$space . $_;
-}
-
-sub do_cmd_glossarypreamble{
- local($_) = @_;
- $_[0];
-}
-
-sub do_cmd_glossarypostamble{
- local($_) = @_;
- $_[0];
-}
-
-sub do_cmd_glsnumformat{
- local($_) = @_;
-
- $_;
-}
-
-sub do_cmd_hyperit{
- join('', "\\textit ", $_[0]);
-}
-
-sub do_cmd_hyperrm{
- join('', "\\textrm ", $_[0]);
-}
-
-sub do_cmd_hypertt{
- join('', "\\texttt ", $_[0]);
-}
-
-sub do_cmd_hypersf{
- join('', "\\textsf ", $_[0]);
-}
-
-sub do_cmd_hyperbf{
- join('', "\\textbf ", $_[0]);
-}
-
-&ignore_commands( <<_IGNORED_CMDS_ );
-makeglossary
-makeglossaries
-_IGNORED_CMDS_
-
-1;
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/database1.tex b/Master/texmf-dist/doc/latex/glossaries/samples/database1.tex
index 8a78ad6d785..ab557f81460 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/database1.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/database1.tex
@@ -1,8 +1,8 @@
-% This is a sample database of glossary entries
-% Only those entries used in the document with \glslink, \gls,
-% \glspl, and uppercase variants will have entries in the
-% glossary. Note that the type key is not used, as the
-% glossary type can be specified in \loadglsentries
+ % This is a sample database of glossary entries
+ % Only those entries used in the document with \glslink, \gls,
+ % \glspl, and uppercase variants will have entries in the
+ % glossary. Note that the type key is not used, as the
+ % glossary type can be specified in \loadglsentries
\newglossaryentry{array}{name=array,
description={A list of values identified by a numeric value}}
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/database2.tex b/Master/texmf-dist/doc/latex/glossaries/samples/database2.tex
index 032b2d2b586..1fb3042e36b 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/database2.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/database2.tex
@@ -1,10 +1,10 @@
-% This is a sample database of glossary entries
-% Only those entries used in the document with \glslink, \gls,
-% \glspl, and uppercase variants will have entries in the
-% glossary. Note that the type key is not used, as the
-% glossary type can be specified in \loadglsentries
+ % This is a sample database of glossary entries
+ % Only those entries used in the document with \glslink, \gls,
+ % \glspl, and uppercase variants will have entries in the
+ % glossary. Note that the type key is not used, as the
+ % glossary type can be specified in \loadglsentries
-% Don't need to worry about makeindex special characters
+ % Don't need to worry about makeindex special characters
\newglossaryentry{quote}{name={"},
description={the double quote symbol}}
diff --git a/Master/texmf-dist/doc/latex/glossaries/samples/minimalgls.tex b/Master/texmf-dist/doc/latex/glossaries/samples/minimalgls.tex
new file mode 100644
index 00000000000..b9d3cf6c7e6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/minimalgls.tex
@@ -0,0 +1,39 @@
+ % This is a minimal file for testing and debugging
+ % the glossaries package. Change the class file as
+ % desired, and add the relevant package options to
+ % both the class file and the glossaries package.
+ % Change the sample glossary entry and acronym if
+ % required.
+ %
+ % Only add extra packages or commands if they
+ % contribute to whatever problem you are trying to
+ % test.
+ %
+ % Remember that the document will not be complete
+ % until you have successfully completed all of the
+ % following steps:
+ % 1. latex minimalgls
+ % 2. makeglossaries minimalgls (note no extension)
+ % 3. latex minimalgls
+ % A further run through LaTeX will be required to ensure that
+ % the table of contents is up to date if the toc option
+ % is used.
+\documentclass{article}
+\listfiles
+
+ %\usepackage{glossaries} % acronym will go in main glossary
+\usepackage[acronym]{glossaries} % make a separate list of acronyms
+
+\makeglossaries
+
+\newglossaryentry{sample}{name={sample},
+description={a sample entry}}
+
+\newacronym{aca}{aca}{a contrived acronym}
+
+\begin{document}
+
+A \gls{sample} entry and \gls{aca}.
+
+\printglossaries
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sample.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sample.tex
index 1555f0c31d3..f91ab534f8e 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sample.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sample.tex
@@ -15,14 +15,14 @@ sort=Perl, % need a sort key because name contains a command
description=A scripting language}
\newglossaryentry{pagelist}{name=page list,
-% description value has to be enclosed in braces
-% because it contains commas
+ % 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)}}
\newglossaryentry{mtrx}{name=matrix,
description={rectangular array of quantities},
-% plural is not simply obtained by appending an s, so specify
+ % plural is not simply obtained by appending an s, so specify
plural=matrices}
\newcommand{\pardescription}{distinct section of piece of
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sample4col.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sample4col.tex
index 67b78bc4575..67b78bc4575 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sample4col.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sample4col.tex
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleAcr.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleAcr.tex
index 2b26e982be0..2b26e982be0 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleAcr.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleAcr.tex
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleAcrDesc.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleAcrDesc.tex
index 4a54c674943..8014d656b42 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleAcrDesc.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleAcrDesc.tex
@@ -10,17 +10,17 @@
\makeglossaries
\newglossaryentry{svm}{
-% how the entry name should appear in the glossary
+ % how the entry name should appear in the glossary
name={Support vector machine (SVM)},
-% how the description should appear in the glossary
-% since I have used sanitize={description=false}
-% I have to protect fragile commands
+ % how the description should appear in the glossary
+ % since I have used sanitize={description=false}
+ % I have to protect fragile commands
description={Statistical pattern recognition
technique~\protect\cite{svm}},
-% how the entry should appear in the document text
+ % how the entry should appear in the document text
text={svm},
-% how the entry should appear the first time it is
-% used in the document text
+ % how the entry should appear the first time it is
+ % used in the document text
first={support vector machine (svm)}}
\newglossaryentry{ksvm}{
@@ -36,7 +36,7 @@ first={kernel support vector machine}}
\chapter{Support Vector Machines}
The \gls{svm} is used widely in the area of pattern recognition.
-% plural form with initial letter in uppercase:
+ % plural form with initial letter in uppercase:
\Glspl{svm} are \ldots
This is the text produced without a link: \glsentrytext{svm}.
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleDB.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleDB.tex
index 7d58e32e2af..7d58e32e2af 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleDB.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleDB.tex
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleEq.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleEq.tex
index 4fb888c6cb9..39829705e77 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleEq.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleEq.tex
@@ -9,13 +9,13 @@
\makeglossaries
-% Change the glossary headings
+ % Change the glossary headings
\renewcommand{\entryname}{Notation}
\renewcommand{\descriptionname}{Function Name}
\renewcommand{\pagelistname}{Number of Formula}
-% define glossary entries
+ % define glossary entries
\newglossaryentry{Gamma}{name=\ensuremath{\Gamma(z)},
description=Gamma function,
@@ -78,7 +78,7 @@ description=Euler's constant,sort=C}
description=Catalan's constant,sort=G}
\begin{document}
-\title{A Sample Document Using glossary.sty}
+\title{A Sample Document Using glossaries.sty}
\author{Nicola Talbot}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleEqPg.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleEqPg.tex
index 19531e3897e..218b1a3fed4 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleEqPg.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleEqPg.tex
@@ -13,27 +13,27 @@
\renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number,
numbers in bold indicate page numbers where the main definition occurs.\par}
-% set the glossary number style to italic
-% hyperit is used instead of textit because
-% the hyperref package is being used.
+ % set the glossary number style to italic
+ % hyperit is used instead of textit because
+ % the hyperref package is being used.
\renewcommand{\glsnumberformat}[1]{\hyperit{#1}}
-% 1st column heading
+ % 1st column heading
\renewcommand{\entryname}{Notation}
-% 2nd column heading
+ % 2nd column heading
\renewcommand{\descriptionname}{Function Name}
-% 3rd column heading
+ % 3rd column heading
\renewcommand{\pagelistname}{}
-% Redefine header row so that it
-% adds a blank row after the title row
+ % Redefine header row so that it
+ % adds a blank row after the title row
\renewcommand{\glossaryheader}{\bfseries\entryname &
\bfseries\descriptionname&\bfseries\pagelistname\\
& & \\\endhead}
-% Define glossary entries
+ % Define glossary entries
\newglossaryentry{Gamma}{name=\ensuremath{\Gamma(z)},
description=Gamma function,sort=Gamma}
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleNtn.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleNtn.tex
index 04af87e3562..b33269174f6 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleNtn.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleNtn.tex
@@ -4,12 +4,12 @@
\usepackage{html}
\usepackage[toc]{glossaries}
-% Define a new glossary type called notation
+ % Define a new glossary type called notation
\newglossary[nlg]{notation}{not}{ntn}{Notation}
\makeglossaries
-% Notation definitions
+ % Notation definitions
\newglossaryentry{not:set}{type=notation, % glossary type
name={$\mathcal{S}$},
@@ -31,7 +31,7 @@ name={$!$},
description={factorial},
sort=factorial}
-% Main glossary definitions
+ % Main glossary definitions
\newglossaryentry{gls:set}{name=set,
description={A collection of distinct objects}}
@@ -40,13 +40,13 @@ description={A collection of distinct objects}}
description={The number of elements in the specified set}}
\begin{document}
-\title{Sample Document using glossary Package}
+\title{Sample Document using the glossaries Package}
\author{Nicola Talbot}
\pagenumbering{alph}
\maketitle
\begin{abstract}
-%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{glossaries} package. In this example, a new glossary type
@@ -60,6 +60,9 @@ doesn't have associated numbers.
\tableofcontents
\printglossaries
+ %\printglossary
+ %\setglossarysection{section}
+ %\printglossary[type=notation]
\chapter{Introduction}
\pagenumbering{arabic}
diff --git a/Master/texmf-dist/doc/latex/glossaries/doc/sampleSec.tex b/Master/texmf-dist/doc/latex/glossaries/samples/sampleSec.tex
index ccefe8c19e1..ccefe8c19e1 100644
--- a/Master/texmf-dist/doc/latex/glossaries/doc/sampleSec.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/sampleSec.tex
diff --git a/Master/texmf-dist/doc/latex/glossaries/scripts/makeglossaries b/Master/texmf-dist/scripts/glossaries/makeglossaries
index aaa0c1b36d0..20a4b236fff 100755
--- a/Master/texmf-dist/doc/latex/glossaries/scripts/makeglossaries
+++ b/Master/texmf-dist/scripts/glossaries/makeglossaries
@@ -1,8 +1,8 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
# File : makeglossaries
# Author : Nicola Talbot
-# Version : 1.0 (2007/05/10)
+# Version : 1.2 (2008/03/02)
# Description: simple Perl script that calls makeindex.
# Intended for use with "glossaries.sty" (saves having to remember
# all the various switches)
@@ -25,43 +25,63 @@
# and the derived files glossaries.sty, glossary-hypernav.sty,
# glossary-list.sty, glossary-long.sty, glossary-super.sty,
# glossaries.perl. Also makeglossaries and makeglossaries.
+#
+# History:
+# v1.2 (2008-03-02) :
+# * added support for --help and --version
+# * improved error handling
+# v1.1 (2008-02-13) :
+# * added -w and strict
+# * added check to ensure .tex file not passed to makeglossaries
+#
+# v1.0 (2007-05-10) : Initial release.
use Getopt::Std;
+use strict;
+
+$Getopt::Std::STANDARD_HELP_VERSION = 1;
+
+my $version="1.2 (2008-03-02)";
+
+my($opt_q, $opt_t, $opt_o, $opt_s, $opt_p, $opt_g, $opt_c, $opt_r,
+ $opt_l, $opt_i)=("","","","","","","","","","");
+
+getopts('s:o:t:p:ilqrcg');
-if ($#ARGV < 0)
+unless ($#ARGV == 0)
{
- die "Syntax : $0 [-ilqrcg] [-s sty] [-o gls] [-t log] [-p num] <filename>\n";
+ die "makeglossaries: Need exactly one file argument.\nUse `makeglossaries --help' for help.\n";
}
-getopt('sotp');
-getopts('ilqrcg');
-
# define known extensions
- %exttype = (
+my %exttype = (
main => {in=>'glo', out=>'gls', 'log'=>'glg'},
);
-$ext = '';
+my $ext = '';
+my $name = $ARGV[0];
-if (length(@ARGV[0]) < 4)
-{
- $name = @ARGV[0];
-}
-elsif (substr(@ARGV[0],-4,1) eq ".")
+# modified this to make sure users don't try passing the
+# tex file:
+if (length($ARGV[0]) > 3 and substr($ARGV[0],-4,1) eq ".")
{
- $name = substr(@ARGV[0],0,length(@ARGV[0])-4);
+ $name = substr($ARGV[0],0,length($ARGV[0])-4);
- $ext = substr(@ARGV[0],-3,3);
-}
-else
-{
- $name = @ARGV[0];
+ $ext = substr($ARGV[0],-3,3);
+
+ if (lc($ext) eq 'tex')
+ {
+ die("Don't pass the tex file to makeglossaries:\n"
+ ."either omit the extension to make all the glossaries, "
+ ."or specify one of the glossary files, e.g. $name.glo, to "
+ ."make just that glossary.\n")
+ }
}
-$istfile = "$name.ist";
+my $istfile = "$name.ist";
-# check log file for other glossary types
+# check aux file for other glossary types
# and for ist file name
if (open AUXFILE, "$name.aux")
@@ -91,12 +111,12 @@ if (open AUXFILE, "$name.aux")
}
else
{
- print "unable to open $name.aux\n";
+ print STDERR "Unable to open $name.aux: $!\n";
}
# save all the general makeindex switches
-$mkidxopts = '';
+my $mkidxopts = '';
if ($opt_i)
{
@@ -140,9 +160,9 @@ unless ($opt_s eq "")
if ($ext ne '')
{
- %thistype = %{$exttype{'main'}}; #default
+ my %thistype = %{$exttype{'main'}}; #default
- foreach $type (keys %exttype)
+ foreach my $type (keys %exttype)
{
if ($exttype{$type}{'in'} eq $ext)
{
@@ -152,6 +172,8 @@ if ($ext ne '')
}
}
+ my $outfile;
+
if ($opt_o eq "")
{
$outfile = "$name.$thistype{out}";
@@ -161,6 +183,8 @@ if ($ext ne '')
$outfile = $opt_o;
}
+ my $transcript;
+
if ($opt_t eq "")
{
$transcript = "$name.$thistype{'log'}";
@@ -175,14 +199,16 @@ if ($ext ne '')
}
else
{
- foreach $type (keys %exttype)
+ foreach my $type (keys %exttype)
{
- %thistype = %{$exttype{$type}};
+ my %thistype = %{$exttype{$type}};
- $inputfile = "$name.$thistype{in}";
+ my $inputfile = "$name.$thistype{in}";
if (-r $inputfile)
{
+ my $outfile;
+
if ($opt_o eq "")
{
$outfile = "$name.$thistype{out}";
@@ -192,6 +218,8 @@ else
$outfile = $opt_o;
}
+ my $transcript;
+
if ($opt_t eq "")
{
$transcript = "$name.$thistype{'log'}";
@@ -204,17 +232,17 @@ else
&makeindex($inputfile,$outfile,$transcript,
$istfile,$mkidxopts,$opt_q);
}
- elsif (!$opt_q)
+ else
{
- print "no read access for '$inputfile'\n";
+ print STDERR "No read access for '$inputfile': $!\n";
}
}
}
sub makeindex{
- local($in,$out,$trans,$ist,$rest,$quiet) = @_;
- local($name,$cmdstr,$buffer,$n,$i,$j);
- local(@stuff,@item);
+ my($in,$out,$trans,$ist,$rest,$quiet) = @_;
+ my($name,$cmdstr,$buffer,$n,$i,$j);
+ my(@stuff,@item);
$cmdstr = "$rest -s $ist -t $trans -o $out $in";
@@ -226,4 +254,31 @@ sub makeindex{
`makeindex $cmdstr`;
}
+sub HELP_MESSAGE{
+ print "\nSyntax : makeglossaries [options] <filename>\n\n";
+ print "For use with the glossaries package to pass relevant\n";
+ print "files to makeindex\n\n";
+ print "<filename>\tBase name of glossary file(s). This should\n";
+ print "\t\tbe the name of your main LaTeX document without any\n";
+ print "\t\textension.\n";
+ print "\nOptions:\n";
+ print "-c\t\tCompress intermediate blanks\n";
+ print "-g\t\tEmploy German word ordering\n";
+ print "-l\t\tLetter ordering\n";
+ print "-o <gls>\tUse <gls> as the output file.\n";
+ print "-p <num>\tSet the starting page number to be <num>\n";
+ print "-q\t\tQuiet mode\n";
+ print "-r\t\tDisable implicit page range formation\n";
+ print "-s <sty>\tEmploy <sty> as the style file\n";
+ print "-t <log>\tEmploy <log> as the transcript file\n";
+ print "\nSee makeindex documentation for further details on these ";
+ print "options\n";
+}
+
+sub VERSION_MESSAGE{
+ print "Makeglossaries Version $version\n";
+ print "Copyright (C) 2007 Nicola L C Talbot\n";
+ print "This material is subject to the LaTeX Project Public License.\n";
+}
+
1;
diff --git a/Master/texmf-dist/doc/latex/glossaries/scripts/makeglossaries.bat b/Master/texmf-dist/scripts/glossaries/makeglossaries.bat
index 64a6a20750c..64a6a20750c 100755
--- a/Master/texmf-dist/doc/latex/glossaries/scripts/makeglossaries.bat
+++ b/Master/texmf-dist/scripts/glossaries/makeglossaries.bat
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
index a47abec2adb..08536be6b18 100644
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.dtx
@@ -2,17 +2,24 @@
% glossaries.dtx generated using makedtx version 0.94b (c) Nicola Talbot
% Command line args:
% -macrocode "glossaries\.perl"
+% -macrocode ".*\.tex"
% -src "glossaries.sty\Z=>glossaries.sty"
% -src "(glossary-.+)\.(sty)\Z=>\1.\2"
-% -src "glossaries\.perl\Z=>glossaries.perl"
+% -src "(glossaries-babel)\.(sty)\Z=>\1.\2"
+% -src "(glossaries-dictionary-.+)\.(dict)\Z=>\1.\2"
+% -src "(minimalgls\.tex)\Z=>\1"
+% -src "(sample.*\.tex)\Z=>\1"
+% -src "(database.*\.tex)\Z=>\1"
+% -src "(glossaries\.perl)\Z=>\1"
% -author "Nicola Talbot"
% -dir "source"
% -setambles "glossaries\.perl=>\nopreamble\nopostamble"
% -comment "glossaries\.perl"
-% -doc "manual.tex"
+% -comment ".*\.tex"
+% -doc "glossaries-manual.tex"
% -codetitle "Documented Code"
% glossaries
-% Created on 2007/10/13 15:35
+% Created on 2008/3/4 12:06
%\fi
%\iffalse
%<*package>
@@ -35,7 +42,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2007 Nicola Talbot, all rights reserved.
+% Copyright (C) 2008 Nicola Talbot, all rights reserved.
% \fi
% \iffalse
%<*driver>
@@ -45,7 +52,7 @@
\usepackage[colorlinks,
bookmarks,
hyperindex=false,
- pdfauthor={N.L.C. Talbot},
+ pdfauthor={Nicola L.C. Talbot},
pdftitle={glossaries.sty: LaTeX2e Package to Assist Generating Glossaries},
pdfkeywords={LaTeX,package,glossary,acronyms}]{hyperref}
@@ -63,40 +70,45 @@
\makeatother
\RecordChanges
\PageIndex
-\CheckSum{3027}
+\CheckSum{4357}
\CodelineNumbered
\newcommand*{\termdef}[1]{\emph{#1}\iterm{#1}}
\newcommand*{\term}[1]{#1\iterm{#1}}
\newcommand*{\iterm}[1]{\index{#1|main}}
+\newcommand{\dq}[1]{``#1''}
\newcommand*{\istkey}[1]{\texttt{#1}\index{makeindex=\texttt{makeindex}>#1=\texttt{#1}|hyperpage}}
-\newcommand*{\icmdname}[1]{\texttt{\char`\\#1}\SpecialMainIndex{#1}}
+\newcommand*{\ics}[1]{\texttt{\char`\\#1}\SpecialMainIndex{#1}}
\newcommand*{\appname}[1]{\texttt{#1}\index{#1=\texttt{#1}|hyperpage}}
\newcommand*{\mkidxspch}{\index{makeindex=\texttt{makeindex}>special characters|hyperpage}}
\newcommand*{\igloskey}[2][newglossaryentry]{\index{#1 options=\cs{#1} options>#2=\textsf{#2}|hyperpage}}
\newcommand*{\gloskey}[2][newglossaryentry]{\textsf{#2}\igloskey[#1]{#2}}
+\newcommand*{\ipkgopt}[2][]{%
+\ifthenelse{\equal{#1}{}}{%
+\index{package options>#2=\textsf{#2}|hyperpage}}{%
+\index{package options>#2=\textsf{#2}>#1=\textsf{#1}|hyperpage}}}
\newcommand*{\pkgopt}[2][]{%
\ifthenelse{\equal{#1}{}}{%
\textsf{#2}\index{package options>#2=\textsf{#2}|hyperpage}}{%
\textsf{#2=#1}\index{package options>#2=\textsf{#2}>#1=\textsf{#1}|hyperpage}}}
-\newcommand*{\pkgoptval}[2]{\textsf{#1}\index{package options>#2>#1|hyperpage}}
+\newcommand*{\pkgoptval}[2]{\textsf{#1}\index{package options>#2=\textsf{#2}>#1=\textsf{#1}|hyperpage}}
\newcommand*{\glostyle}[1]{\textsf{#1}\index{glossary styles>#1|hyperpage}}
\newcommand*{\filetype}[1]{\texttt{#1}\index{file types>#1|hyperpage}}
-\newcommand*{\styname}[1]{\textsf{#1}\index{#1 package=\textsf{#1} package|hyperpage}}
+\newcommand*{\sty}[1]{\textsf{#1}}
+\newcommand*{\isty}[1]{\sty{#1}\index{#1 package=\sty{#1} package|hyperpage}}
\newcommand*{\envname}[1]{\textsf{#1}}
-\begin{document}
-\DocInput{glossaries.dtx}
+\begin{document}\DocInput{glossaries.dtx}
\end{document}
%</driver>
%\fi
%\MakeShortVerb{"}
%\DeleteShortVerb{\|}
%
-% \title{glossaries.sty v 1.08: \LaTeXe\ Package to Assist Generating Glossaries}
+% \title{glossaries.sty v 1.11: \LaTeXe\ Package to Assist Generating Glossaries}
% \author{Nicola L.C. Talbot\\[10pt]
%School of Computing Sciences\\
%University of East Anglia\\
@@ -104,31 +116,47 @@
%NR4 7TJ. United Kingdom.\\
%\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
%
-% \date{13th October 2007}
+% \date{2nd March 2008}
% \maketitle
%\tableofcontents
%
% \section{Introduction}
%
% \changes{1.0}{2007 May 16}{Initial version}
-%The \styname{glossaries} package is provided to assist
-%generating glossaries. It has a certain amount of flexibility,
-%allowing the user to customize the format of the glossary,
-%define new glossary styles, and multiple glossaries. It
-%also supports acronyms, and glossary styles which
-%include symbols in addition to a name and description for a
-%given glossary entry. There is provision for loading a database
-%of glossary terms, where only those terms used in the
-%text are added to the glossary. This
-%package replaces the \styname{glossary} package which is now
+%The \sty{glossaries} package is provided to assist generating
+%glossaries. It has a certain amount of flexibility, allowing the user
+%to customize the format of the glossary and define multiple glossaries.
+%It also supports acronyms and glossary styles that include
+%symbols (in addition to a name and description) for glossary
+%entries. There is provision for loading a database of glossary terms
+%where only those terms used in the text are added to the glossary.
+%This package replaces the \isty{glossary} package which is now
%obsolete.
%
-%The \styname{glossaries} package comes with the Perl script
+%As from version 1.08, the \sty{glossaries} package now has
+%limited multi-lingual support, thanks to all the people who have sent
+%me the relevant translations either via email or via comp.text.tex.
+%However you must load \isty{babel} \emph{before}
+%\sty{glossaries} to enable this. (See \autoref{sec:predefinednames} for thepredefined names used by the \sty{glossaries} package.)
+%As from version 1.1, the \sty{glossaries} package also supports
+%Till~Tantau's \isty{translator} package provided it is loaded
+%before the \sty{glossaries} package. This makes it easier to change
+%the default translations or add new dictionaries.
+%If you don't want to use the predefined translations, you can use the
+%package option \pkgopt[false]{translate} and supply your own translations.
+%
+%This documentation is structured as follows: \autoref{sec:quick} is for people who want a few quick pointers of how to get started,
+%without having to read through lengthy descriptions,
+%\autoref{sec:overview} gives an overview of available commands.
+%\subsection{Generating the associated glossary files}
+%\label{sec:makeglossaries}
+%
+%The \sty{glossaries} package comes with the Perl script
%\appname{makeglossaries} which will run \appname{makeindex} on
%all the glossary files using a customized \appname{makeindex}
-%style file (which is created by \icmdname{makeglossaries}).
+%\filetype{.ist} style file (which is created by \ics{makeglossaries}).
%The relevant extensions are obtained from the
-%auxiliary file, so you only need to pass the basename as the
+%auxiliary file, so you should only pass the basename as the
%argument. For example, if your document is called
%\texttt{myfile.tex}, do:
%\begin{verbatim}
@@ -146,8 +174,8 @@
%
%If you don't have Perl installed, you will have to run
%\appname{makeindex} for each glossary type you have defined.
-%For example, if you have used the \pkgopt{acronym} package option,
-%so you have both a main glossary as well as a list of acronyms, you
+%For example, if you have used the \pkgopt{acronym} package option
+%then you will have both a main glossary as well as a list of acronyms, so you
%will need to do (assuming your document is called \texttt{myfile.tex}):
%\begin{verbatim}
%makeindex -s myfile.ist -t myfile.glg -o myfile.gls myfile.glo
@@ -156,29 +184,23 @@
%This requires remembering all extensions for each of the glossaries
%defined in your document, so where possible you should use
%\appname{makeglossaries} instead to reduce the possibility of error.
+%Don't pass all the glossary files in a single call to
+%\appname{makeindex} or it will merge all your glossaries into a
+%single glossary.
%
-%As from version 1.08, the \styname{glossaries} package now has
-%limited multi-lingual support, thanks to all the people who have sent
-%me the relevant translations either via email or via comp.text.tex.
-%However, you must load \styname{babel} \emph{before}
-%\styname{glossaries}. (See \autoref{sec:predefinednames} for the
-%predefined names used by the \styname{glossaries} package.)
-%
-%This documentation is structured as follows: \autoref{sec:quick}
-%is for people who want a few quick pointers of how to get started,
-%without having to read through lengthy descriptions,
-%\autoref{sec:overview} gives an overview of available commands
-%and their syntax, \autoref{sec:code} contains the documented
-%source code for those who want to know more about how the
-%package works, and how to do more complicated things, such as
-%changing the way glossary entries appear.
-%
+%If any problems occur, remember to check the transcript files
+%(e.g.\ \filetype{.glg} or \filetype{.alg}) for messages.
%\subsection{Troubleshooting}
%
-%There is a list of frequently asked questions for the
-%\styname{glossaries} package available at:
-%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/}.
+%The glossaries package comes with a minimal file called
+%\texttt{minimalgls.tex} which can be used for testing. This
+%should be located in \texttt{texmf/doc/latex/glossaries/samples/}. Further
+%information on debugging \LaTeX\ code is available at
+%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/minexample/}.
%
+%There is a list of frequently asked questions for the
+%\sty{glossaries} package available at
+%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/glossariesfaq.html}.
%\section{A Quick Guide For The Impatient}
%\label{sec:quick}
%
@@ -187,28 +209,28 @@
%lengthy descriptions.
%
%\begin{enumerate}
-%\item Load \styname{glossaries} \emph{after} \styname{hyperref}:
+%\item Load \sty{glossaries} \emph{after} \isty{hyperref}:
%\begin{verbatim}
%\usepackage{hyperref}
%\usepackage{glossaries}
%\end{verbatim}
-%Similarly for the \styname{html} package:
+%Similarly for the \isty{html} package:
%\begin{verbatim}
%\usepackage{html}
%\usepackage{glossaries}
%\end{verbatim}
%
-%\item Always use \icmdname{makeglossaries} if you want the glossary
+%\item Always use \ics{makeglossaries} if you want the glossary
%entries to be written to the glossary file:
%\begin{verbatim}
%\documentclass{article}
%\usepackage{glossaries}
%\makeglossaries
%\end{verbatim}
-%If you don't use \icmdname{makeglossaries}, your glossaries will
+%If you don't use \ics{makeglossaries}, your glossaries will
%not appear in the document!
%
-%\item Use \icmdname{printglossaries} to make your glossaries appear
+%\item Use \ics{printglossaries} to make your glossaries appear
%in the document at that point. For example:
%\begin{verbatim}
%\maketitle
@@ -226,24 +248,30 @@
%makeglossaries myfile
%latex myfile
%\end{verbatim}
+%(You may need to run \LaTeX\ again if you have used the \pkgopt{toc}
+%package option.)
%If you use Windows, there is a batch file called
%\texttt{makeglossaries.bat} which you can use, but you will
%still need Perl installed.
%
%\item New glossaries can be defined using:\par
-%\icmdname{newglossary}%
+%\ics{newglossary}\oarg{log-ext}%
%\marg{label}\marg{in-ext}\marg{out-ext}%
%\marg{title}\par where \meta{label} is an identifying label,
%\meta{in-ext} is the extension of the file to be created
%by \appname{makeindex} (called by \appname{makeglossaries}),
%\meta{out-ext} is the extension of the file to be read by
%\appname{makeindex} and \meta{title} is the title for this
-%new glossary. Example:
+%new glossary. The first optional argument \meta{log-ext} specifies
+%the extension of the \appname{makeindex} transcript file. Example:
%\begin{verbatim}
-%\newglossary{notation}{not}{ntn}{Notation}
+%\newglossary[nlg]{notation}{not}{ntn}{Notation}
%\end{verbatim}
%This glossary's label is \texttt{notation} and its title
-%will be Notation.
+%will be Notation. If you use \appname{makeglossaries}, the
+%\appname{makeindex} transcript will be written to a file with the
+%extension \filetype{.nlg}. If \meta{log-ext} is omitted, the extension
+%\filetype{.glg} will be used.
%
%\item Any new glossaries must be defined before
%\cs{makeglossaries}
@@ -255,7 +283,7 @@
%\end{verbatim}
%
%\item If you use the \pkgopt{acronym} package option, the
-%\styname{glossaries} package
+%\sty{glossaries} package
%will automatically create a new glossary type labelled
%\texttt{acronym}:
%\begin{verbatim}
@@ -263,8 +291,8 @@
%\end{verbatim}
%
%\item If your pages have a hyphen compositor (i.e.\ your page
-%numbers appear in the form 2-1), redefine \icmdname{glscompositor}
-%\emph{before} \icmdname{makeglossaries}:
+%numbers appear in the form 2-1), redefine \ics{glscompositor}
+%\emph{before} \ics{makeglossaries}:
%\begin{verbatim}
%\documentclass{article}
%\usepackage{glossaries}
@@ -279,7 +307,7 @@
%\end{verbatim}
%
%\item Define a new entry with:\par
-%\icmdname{newglossaryentry}\marg{label}\marg{key-val list}\par
+%\ics{newglossaryentry}\marg{label}\marg{key-val list}\par
%The \meta{key-val list} must at least contain a \gloskey{name}
%key and a \gloskey{description} key.
%For example:
@@ -293,7 +321,7 @@
%
%\item If the entry name starts with an accented letter, you will
%need to group the first letter (otherwise it will cause a
-%problem for \icmdname{Gls} and \icmdname{Glspl}):
+%problem for \ics{Gls} and \ics{Glspl}):
%\begin{verbatim}
%\newglossaryentry{elite}{name={{\'e}lite},
%description={select group or class}}
@@ -321,7 +349,7 @@
%\end{verbatim}
%
%\item Plural forms are assumed to be the singular form with an
-%``s'' appended, unless otherwise specified. To specify an
+%\dq{s} appended, unless otherwise specified. To specify an
%irregular plural, use the \gloskey{plural} key. For example:
%\begin{verbatim}
%\newglossaryentry{matrix}{name=matrix,
@@ -337,8 +365,8 @@
%text=matrix,
%plural=matrices}
%\end{verbatim}
-%In this example, the entry name appears as Matrix in the
-%glossary, and either matrix or matrices in the text.
+%In this example, the entry name appears as \dq{Matrix} in the
+%glossary, and either \dq{matrix} or \dq{matrices} in the text.
%
%\item The way the term appears on first use can be different
%to the way it appears subsequently:
@@ -349,13 +377,13 @@
%text=SM,
%firstplural=singular matrices (SMs)}
%\end{verbatim}
-%In this example, the entry name appears as Singular Matrix in
-%the glossary, and in the text it appears as singular matrix (SM)
-%or singular matrices (SMs) the first time the entry is used,
-%and subsequently appears as SM or SMs.
+%In this example, the entry name appears as \dq{Singular Matrix} in
+%the glossary, and in the text it appears as \dq{singular matrix (SM)}
+%or \dq{singular matrices (SMs)} the first time the entry is used,
+%and subsequently appears as \dq{SM} or \dq{SMs}.
%
%\item The quick and easy way to define an acronym is to use:\par
-%\icmdname{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}%
+%\ics{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}%
%\marg{long}\par
%For example:
%\begin{verbatim}
@@ -371,43 +399,44 @@
%plural={SVMs},
%firstplural={support vector machines (SVMs)}}
%\end{verbatim}
-%(The value of \icmdname{acronymtype} varies depending on whether
-%the glossary package option \pkgopt{acronym} is used or not.
+%(The value of \ics{acronymtype} varies depending on whether
+%the \pkgopt{acronym} package option is used or not.
%The optional argument \meta{key-val list} can be used to
-%override any of the \icmdname{newglossaryentry} keys, for
+%override any of the \ics{newglossaryentry} keys; for
%example, if the acronym has an irregular plural.)
%
%\item The font used to display the entry name in the glossary
-%is governed by \icmdname{glsnamefont}. This can be redefined
+%is governed by \ics{glsnamefont}. This can be redefined
%as required. For example, to make the entry names appear
%in a medium sans-serif font do:
%\begin{verbatim}
%\renewcommand{\glsnamefont}[1]{\textsf{\mdseries #1}}
%\end{verbatim}
%Note that the list-like glossary styles defined in the
-%\styname{glossary-list} package place the entry name in
-%the optional argument to \icmdname{item}, so they will
-%appear in bold, unless you redefine \icmdname{glsnamefont}.
+%\isty{glossary-list} package place the entry name in
+%the optional argument to \ics{item}, so they will
+%appear in bold, unless you redefine \ics{glsnamefont} to counteract the
+%bold font.
%
-%\item In the document use \icmdname{gls}\marg{label}
+%\item In the document use \ics{gls}\marg{label}
%to use a predefined term (this will also enter the term into
-%the associated glossary output file.) For example:
+%the associated glossary output file). For example:
%\begin{verbatim}
%A \gls{singmtx} is a matrix with a zero determinant.
%\end{verbatim}
%
%\item Other variations:
%\begin{itemize}
-%\item \icmdname{Gls}\marg{label} : like \cs{gls},
+%\item \ics{Gls}\marg{label} : like \cs{gls},
%but with first letter in upper case
-%\item \icmdname{GLS}\marg{label} : like \cs{gls},
+%\item \ics{GLS}\marg{label} : like \cs{gls},
%but all upper case.
-%\item \icmdname{glspl}\marg{label} : use plural
-%\item \icmdname{Glspl}\marg{label} : use plural with
+%\item \ics{glspl}\marg{label} : use plural
+%\item \ics{Glspl}\marg{label} : use plural with
%first letter in upper case
-%\item \icmdname{GLSpl}\marg{label} : use plural but
+%\item \ics{GLSpl}\marg{label} : use plural but
%all upper case
-%\item \icmdname{glslink}\marg{label}\marg{link text} :
+%\item \ics{glslink}\marg{label}\marg{link text} :
%use \meta{link text} to link to the given entry in the glossary.
%\end{itemize}
%For example, the following will produce the plural form with
@@ -419,7 +448,7 @@
%\item Additional text can be appended to the link using the
%end optional argument. For example, to form the possessive:
%\begin{verbatim}
-%The \gls{singmtx}['s] dimensions are not necessarily equal.
+%The \gls{singmtx}['s] dimensions \ldots
%\end{verbatim}
%
%\item The format of the associated entry number can be
@@ -434,19 +463,23 @@
%page number in bold (since it uses \cs{textbf}) but
%it will no longer have a hyperlink (if hyperlinks are enabled.)
%
-%\item The \styname{glossaries} package provides commands to
+%\item The \sty{glossaries} package provides commands to
%change the font whilst ensuring that the number remains a
%hyperlink. These are of the form \cs{hyper}\meta{xx} and
%are equivalent to the standard font changing commands of the
-%form \cs{text}\meta{xx}, as well as \icmdname{hyperemph}
-%(which uses \icmdname{emph}.) For example:
+%form \cs{text}\meta{xx}, as well as \ics{hyperemph}
+%(which uses \ics{emph}.) For example:
%\begin{verbatim}
%The primary definition of \glspl[format=hyperbf]{singmtx}.
%\end{verbatim}
%
+%\item Don't use declarations in \gloskey[glslink]{format} as this can
+%cause unpredictable results, as there is no guarantee that the effect
+%will be localised to the required text.
+%
%\item Entries can be added to the glossary without producing
-%any text using \icmdname{glsadd}\marg{label} or
-%\icmdname{glsaddall}. These commands also taken an optional
+%any text using \ics{glsadd}\marg{label} or
+%\ics{glsaddall}. These commands also taken an optional
%argument where you can specify the format. For example
%\begin{verbatim}
%\glsadd[format=hyperbf]{singmtx}
@@ -455,9 +488,9 @@
%glossary file for the specified term, but will not produce
%any text where the command occurs.
%
-%\item A number range can be entered using "format=(" and "format=)"
-%to mark the beginning and ending of the range\footnote{This is new
-%to version 1.01}. For example:
+%\item A number range can be entered using \verb|format=(| and
+%\verb"format=)" to mark the beginning and ending of the
+%range\footnote{This is new to version 1.01}. For example:
%\begin{verbatim}
% \glsadd[format=(]{singmtx}
% This is a very long section all about \glspl{singmtx}.
@@ -466,10 +499,11 @@
%
% \glsadd[format=)]{singmtx}
%\end{verbatim}
-%This is equivalent to \appname{makeindex}'s "|(" and "|)" formats.
+%This is equivalent to \appname{makeindex}'s \verb"|(" and \verb"|)"
+%formats.
%
%\item You can combine the range markers with a formatting command
-%(again without the preceding backslash.) For example:
+%(again without the preceding backslash). For example:
%\begin{verbatim}
% This is the start of a very long section all
% about \glspl[format=(hyperbf]{singmtx}.
@@ -483,9 +517,9 @@
%\item Only those terms that have actually been used in the
%document will be placed in the glossary. If you have defined
%a term that doesn't appear in the document, then it means
-%you haven't used it in the text (either via \icmdname{glslink}
-%or \icmdname{gls} and related commands, or via \icmdname{glsadd}
-%or \icmdname{glsaddall}.)
+%you haven't used it in the text (either via \ics{glslink}
+%or \ics{gls} and related commands, or via \ics{glsadd}
+%or \ics{glsaddall}.)
%
%\item To change the sorting order, use the \gloskey{sort} key.
%For example:
@@ -525,15 +559,14 @@
%\item Glossary styles can be set using the \pkgopt{style}
%package option. For example:
%\begin{verbatim}
-%\usepackage[style=long3col]{glossary}
+%\usepackage[style=long3col]{glossaries}
%\end{verbatim}
-%or using \icmdname{glossarystyle}\marg{style}. For example:
+%or using \ics{glossarystyle}\marg{style}. For example:
%\begin{verbatim}
%\glossarystyle{altlist}
%\end{verbatim}
-%The predefined glossary styles provided by the \styname{glossaries}
-%bundle are detailed in \autoref{sec:styles}.
-%
+%The predefined glossary styles provided by the \sty{glossaries}
+%bundle are listed in \autoref{sec:styles}.
%\item The list of numbers associated with each glossary entry
%can be suppressed using the package option \pkgopt{nonumberlist}:
%\begin{verbatim}
@@ -556,20 +589,31 @@
%\end{verbatim}
%
%\end{enumerate}
-%
%\section{Overview}\label{sec:overview}
% \changes{1.02}{2007 May 25}{added overview section}
%
%\subsection{Package Options}
%
-%The \styname{glossaries} package options are as follows:
+%The \sty{glossaries} package options are as follows:
%\begin{description}
-%\item[\pkgopt{toc}] Add the glossaries to the table of contents
-%\item[\pkgopt{section}] This is a key=value option. Its value should
-%be the name of a sectional unit (e.g.\ "chapter"). This will make
-%the glossaries appear in the named sectional unit, otherwise the
-%each glossary will appear in an unnumber chapter, if chapters
-%exists, otherwise in an unnumbered section. Example:
+%\item[\pkgopt{toc}] Add the glossaries to the table of contents.
+%
+%\item[\pkgopt{numberline}] When used with \pkgopt{toc}, this will
+%add \cs{numberline}\verb|{}| in the final argument of
+%\cs{addcontentsline}. This will align the table of contents entry
+%with the numbered section titles. Note that this option has no
+%effect if the \pkgopt{toc} option is omitted. If \pkgopt{toc} is
+%used without \pkgopt{numberline}, the title will be aligned with
+%the section numbers rather than the section titles.
+%
+%\item[\pkgopt{acronym}] Make a separate glossary for acronyms.
+%
+%\item[\pkgopt{section}] This is a \meta{key}=\meta{value} option. Its
+%value should be the name of a sectional unit (e.g.\ chapter).
+%This will make the glossaries appear in the named sectional unit,
+%otherwise each glossary will appear in a chapter, if chapters
+%exists, otherwise in a section. Unnumbered sectional units will be used
+%by default. Example:
%\begin{verbatim}
%\usepackage[section=subsection]{glossaries}
%\end{verbatim}
@@ -581,41 +625,63 @@
%\begin{verbatim}
%\usepackage[section=section]{glossaries}
%\end{verbatim}
-%Note that the starred form of the sectioning command is always used
-%since glossaries tend to be placed in unnumbered sections or chapters.
-%If you want the glossaries to appeared in a numbered section, you
-%will need to set \DescribeMacro{\glossarysection}\cs{glossarysection}
-%to the relevant sectioning command. For example, to make the
-%glossaries appear in numbered chapters, do:
+%You can change this value later in the document using
+%\ics{setglossarysection}\marg{type}.
+%
+%\item[\pkgopt{numberedsection}]
+%The glossaries are placed in unnumbered sectional units by default,
+%but this can be changed using \pkgopt{numberedsection}. This option can take
+%three possible values: \pkgoptval{false}{numberedsection} (no
+%number, i.e.\ use starred form), \pkgoptval{nolabel}{numberedsection}
+%(numbered, i.e.\ unstarred form, but not labelled) and
+%\pkgoptval{autolabel}{numberedsection} (numbered with automatic
+%labelling). If \pkgopt[autolabel]{numberedsection} is used, each
+%glossary is given a label that matches the glossary type, so the
+%main (default) glossary is labelled \texttt{main}, the list of
+%acronyms is labelled \texttt{acronym}\footnote{if the
+%\pkgopt{acronym} option is used, otherwise the list of
+%acronyms is the main glossary} and additional glossaries are labelled
+%using the value specified in the first mandatory argument to
+%\cs{newglossary}. For example, if you load \sty{glossaries}
+%using:
%\begin{verbatim}
-%\let\glossarysection\chapter
+%\usepackage[section,numberedsection=autolabel]{glossaries}
+%\end{verbatim}
+%then each glossary will appear in a numbered section, and can
+%be referenced using something like:
+%\begin{verbatim}
+%The main glossary is in section~\ref{main} and the list of
+%acronyms is in section~\ref{acronym}.
+%\end{verbatim}
+%If you can't decide whether to have the acronyms in the main
+%glossary or a separate list of acronyms, you can use
+%\ics{acronymtype} which is set to \texttt{main} if the
+%\pkgopt{acronym} option is not used and is set to \texttt{acronym}
+%if the \pkgopt{acronym} option is used. For example:
+%\begin{verbatim}
+%The list of acronyms is in section~\ref{\acronymtype}.
%\end{verbatim}
%
-%\item[\pkgopt{style}] This is a key=value option. Its value should
-%be the name of the glossary style to use.
-%
+%\item[\pkgopt{style}] This is a \meta{key}=\meta{value} option. Its
+%value should be the name of the glossary style to use. Predefined
+%glossary styles are listed in \autoref{sec:styles}.
%\item[\pkgopt{nonumberlist}] This option will suppress the
%associated number lists\iterm{number list} in the glossaries (see also
%\autoref{sec:numberlists}.)
-%
-%\item[\pkgopt{acronym}] Make a separate glossary for acronyms.
-%
-%\item[\pkgopt{counter}] This is a key=value option. The value should
-%be the name of the default counter to use in the
-%number lists\iterm{number list}.
-%
-%\hypertarget{sanitize}{}\relax
-%\item[\pkgopt{sanitize}] This is a key=value option whose value is a
-%key=value list. By default, the \styname{glossaries} package
-%sanitizes the values of the \gloskey{name}, \gloskey{description} and
-%\gloskey{symbol} keys used when defining a new glossary entry. This
-%may lead to unexpected results if you try to
-%display these values within the document text. This sanitization can
-%be switched off using the \pkgopt{sanitize} package option. (See
-%\autoref{sec:pkgopt} and \autoref{sec:newentry} for further details.)
-%For example, to switch off the sanitization for the
-%\gloskey{description} and \gloskey{name} keys, but not for
-%the \gloskey{symbol} key, do:
+%\item[\pkgopt{counter}] This is a \meta{key}=\meta{value} option. The
+%value should be the name of the default counter to use in the number
+%lists\iterm{number list}.
+%
+%\hypertarget{sanitize}{}\relax\item[\pkgopt{sanitize}] This is a \meta{key}=\meta{value} option whose
+%value is also a \meta{key}=\meta{value} list. By default, the
+%\sty{glossaries} package sanitizes the values of the
+%\gloskey{name}, \gloskey{description} and \gloskey{symbol} keys used
+%when defining a new glossary entry. This may lead to unexpected results
+%if you try to display these values within the document text. This
+%sanitization can be switched off using the \pkgopt{sanitize} package
+%option. (See \autoref{sec:pkgopt} and \autoref{sec:newentry} for further details.) For example, to switch off the sanitization for the
+%\gloskey{description} and \gloskey{name} keys, but not for the
+%\gloskey{symbol} key, do:
%\begin{verbatim}
%\usepackage[sanitize={name=false,description=false,%
%symbol=true}]{glossaries}
@@ -630,70 +696,121 @@
%\gloskey{name} key, you will still need to protect fragile commands
%in the \gloskey{name} key if you don't use the \gloskey{text} key.
%
-%\end{description}
+%\item[\pkgopt{babel}] This is a boolean key and is for use when
+%the \sty{glossaries} package is used in conjunction with the
+%\isty{babel} package. The default is \pkgopt[true]{babel}, which
+%adds the glossary translations to \isty{babel}'s captions. If
+%you don't like the translations provided by the \sty{glossaries}
+%package, you can set \pkgopt[false]{babel} and provide your own
+%translations.
+%
+%\item[\pkgopt{description}] This option changes the definition of
+%\ics{newacronym} to allow a description. See \autoref{sec:acronyms} for further details.
%
+%\item[\pkgopt{footnote}] This option changes the definition of
+%\ics{newacronym} and the way that acronyms are displayed. See \autoref{sec:acronyms} for further details.
+%
+%\item[\pkgopt{smallcaps}] This option changes the definition of
+%\ics{newacronym} and the way that acronyms are displayed. See \autoref{sec:acronyms} for further details.
+%
+%\item[\pkgopt{dua}] This option changes the definition of
+%\ics{newacronym} so that acronyms are always expanded.
+%See \autoref{sec:acronyms} for further details.
+%
+%\end{description}
%\subsection{Defining Glossary Entries}
%\label{sec:newglosentry}
%
%All glossary entries that are used in a document must be defined in
%the preamble. Only those entries that occur in the document
-%(using any of the commands described in \autoref{sec:glslink} and
-%\autoref{sec:glsadd}) will appear in the glossary. Each time an entry
-%is used in this way, a line is added to an associated glossary (.glo)
-%file, which then needs to be converted into a corresponding .gls file
-%which contains the typeset glossary. The Perl script
-%\appname{makeglossaries} can be used to call \appname{makeindex}
-%using a customised style file for each of the glossaries that are
-%defined in the document.
+%(using any of the commands described in \autoref{sec:glslink} and \autoref{sec:glsadd}) will appear in the glossary. Each time an entry is used in this way, a line is added to an associated glossary
+%(\filetype{.glo}) file, which then needs to be converted into a
+%corresponding \filetype{.gls} file which contains the typeset glossary
+%which is input by \ics{printglossary} or
+%\ics{printglossaries}. The Perl script \appname{makeglossaries}
+%can be used to call \appname{makeindex}, using a customised
+%\filetype{.ist} style file, for each of the glossaries that are defined
+%in the document. Note that there should be no need for you to
+%explicitly edit or input any of these external files.
%
%\DescribeMacro{\makeglossaries}
-%The command \cs{makeglossaries} must be placed in the preamble,
-%in order to create the customised \appname{makeindex} style file,
-%and to ensure that glossary entries are written to the appropriate
-%output file.
+%The command \cs{makeglossaries} must be placed in the preamble in
+%order to create the customised \appname{makeindex} \filetype{.ist}
+%style file and to ensure that glossary entries are written to the
+%appropriate output file. If you omit \cs{makeglossaries} none of the
+%glossaries will be created. Note that if your page numbers use a
+%hyphen compositor, you must set this by redefining
+%\DescribeMacro{\glscompositor}\cs{glscompositor} \emph{before}
+%using \cs{makeglossaries}:
+%\begin{verbatim}
+%\renewcommand*{\glscompositor}{-}
+%\end{verbatim}
+%(The default value of \cs{glscompositor} is a full stop.)
%
%\DescribeMacro{\newglossaryentry}
%New glossary entries are defined using the command:\\[10pt]
-%\cs{newglossaryentry}\marg{label}\marg{key-val list}\\[10pt]
-%The first argument, \meta{label}, must be a unique label with which to
-%identify this entry. The second argument, \meta{key-val list},
-%is a key=value list that supplies the relevant information about this
-%entry. There are two required fields: \gloskey{name} and
+%\cs{newglossaryentry}\marg{label}\marg{key-val list}\\[10pt] The first
+%argument, \meta{label}, must be a unique label with which to identify
+%this entry. The second argument, \meta{key-val list}, is a
+%\meta{key}=\meta{value} list that supplies the relevant information
+%about this entry. There are two required fields: \gloskey{name} and
%\gloskey{description}. Available fields are listed below:
%
%\begin{description}
%\item[{\gloskey{name}}] The name of the entry (as it will appear in the
-%glossary.)
+%glossary).
+%
%\item[{\gloskey{description}}] A brief description of this term (to
-%appear in the glossary.)
+%appear in the glossary).
+%
%\item[{\gloskey{text}}] How this entry will appear in the document text
-%when using \icmdname{gls} (or one of its
-%uppercase variants.) If this field is omitted, the value of the
-%\gloskey{name} key is used.
+%when using \ics{gls} (or one of its uppercase variants). If this
+%field is omitted, the value of the \gloskey{name} key is used.
+%
%\item[{\gloskey{first}}] How the entry will appear in the document text
-%the first time it is used with \icmdname{gls}
-%(or one of its uppercase variants.) If this field is omitted,
-%the value of the \gloskey{text} key is used.
+%the first time it is used with \ics{gls} (or one of its uppercase
+%variants). If this field is omitted, the value of the \gloskey{text}
+%key is used.
+%
%\item[{\gloskey{plural}}] How the entry will appear in the document text
-%when using \icmdname{glspl} (or one of its uppercase variants.)
+%when using \ics{glspl} (or one of its uppercase variants).
%If this field is omitted, the value is obtained by appending an
-%``s'' to the value of the \gloskey{text} field.
+%\dq{s} to the value of the \gloskey{text} field.
+%
%\item[{\gloskey{firstplural}}] How the entry will appear in the document
-%text the first time it is used with \icmdname{glspl} (or one of
-%its uppercase variants.) If this field is omitted, the value is
-%obtained by appending an ``s'' to the value of the \gloskey{first}
+%text the first time it is used with \ics{glspl} (or one of
+%its uppercase variants). If this field is omitted, the value is
+%obtained by appending an \dq{s} to the value of the \gloskey{first}
%field.
+%
%\item[{\gloskey{symbol}}] This field is provided to allow the user to
%specify an associated symbol, but most glossary styles ignore
%this value. If omitted, the value is set to \cs{relax}.
-%\item[{\gloskey{sort}}] This value indicates how \appname{makeindex}
-%should sort this entry. If omitted, the value is given by
-%the \gloskey{name} field.
-%This value is equivalent to \appname{makeindex}'s ``actual''
-%character (which is usually the at-sign @.)
+%
+%\item[{\gloskey{sort}}] This value indicates how \appname{makeindex}
+%should sort this entry. If omitted, the value is given by the
+%\gloskey{name} field. This value is equivalent to
+%\appname{makeindex}'s \dq{actual} character (which is usually the
+%at-sign @ although the \sty{glossaries} package uses a different
+%symbol).
+%
%\item[{\gloskey{type}}] This is the glossary type to which this entry
-%belongs. If omitted, the default glossary is assumed.
+%belongs. If omitted, the default glossary is assumed
+%(\texttt{type=main}). The list of acronyms type is given by
+%\ics{acronymtype} which will either be \texttt{main} or
+%\texttt{acronym}, depending on whether the \pkgopt{acronym} package
+%option was used.
%\end{description}
+%Note that if the \gloskey{text} key (or the \gloskey{name} key, if the
+%\gloskey{text} key is omitted) starts with an accented letter,
+%you must group the accented letter, otherwise it will cause a
+%problem for \cs{Gls} and \cs{Glspl}. For example:
+%\begin{verbatim}
+%\newglossaryentry{elite}{name={{\'e}lite},
+%description={select group or class}}
+%\end{verbatim}
+%(Likewise for the \gloskey{plural}, \gloskey{first} and
+%\gloskey{firstplural} keys.)
%
%\DescribeMacro{\loadglsentries}
%You can store all your glossary entry definitions in another
@@ -705,27 +822,23 @@
%should belong, for those entries where the \gloskey{type} key has
%been omitted. Note that only those entries that have been used
%in the text will appear in the relevant glossaries.
-%
%\subsection{Number lists}
%\label{sec:numberlists}
%
%Each entry in the glossary has an associated \termdef{number list}.
%By default,
%these numbers refer to the pages on which that entry has been used
-%(using any of the commands described in \autoref{sec:glslink}
-%and \autoref{sec:glsadd}.) The number list can be suppressed using
-%the \pkgopt{nonumberlist} package option, or an alternative counter
+%(using any of the commands described in \autoref{sec:glslink} and \autoref{sec:glsadd}). The number list can be suppressed using the \pkgopt{nonumberlist} package option, or an alternative counter
%can be set as the default using the \pkgopt{counter} package option.
-%
%\subsection{Links to Glossary Entries}
%\label{sec:glslink}
%
%Once you have defined a glossary entry using
-%\icmdname{newglossaryentry}, you can refer to that entry in the
+%\ics{newglossaryentry}, you can refer to that entry in the
%document using one of the commands listed in this section. The
%text which appears at that point in the document when using
%one of these commands is referred to as the
-%\termdef{link text} (even if there are no hyperlinks.)
+%\termdef{link text} (even if there are no hyperlinks).
%
%The way the \term{link text} is displayed
%depends on \DescribeMacro{\glstextformat}\cs{glstextformat}\marg{text}.
@@ -738,41 +851,39 @@
%\DescribeMacro{\glslink}
%The command:\\[10pt]
%\cs{glslink}\oarg{options}\marg{label}\marg{text}\\[10pt]
-%will place \meta{text} in the document at that point, and add
+%will place \meta{text} in the document at that point and add
%a line into the associated glossary file for the glossary entry
%given by \meta{label}. If hyperlinks are supported, \meta{text}
%will be a hyperlink to the relevant line in the glossary. The
-%optional argument \meta{options} must be a key=value list which
-%can take any of the following keys:
+%optional argument \meta{options} must be a \meta{key}=\meta{value}
+%list which can take any of the following keys:
%
%\begin{description}
-%\item[{\gloskey[glslink]{format}}] This specifies how to format
-%the associated number for this entry in the glossary. This value
-%is equivalent to the \appname{makeindex} encap value, and (as with
-%\cs{index}) the value needs to be the name of a
-%command \emph{without} the initial backslash. As with
-%\cs{index}, the characters "(" and ")" can also be used to
-%specify the beginning and ending of a number range.
-%Again, as with \cs{index} the command should be the name of a
-%command which takes an argument (which will be the associated number.)
-%Be careful not to use a declaration (such as \cs{bfseries}) instead of
-%a text block command (such as \cs{textbf}) as the effect will not be
-%localised. If you want to apply more than one
-%style to a given entry (e.g.\ \textbf{bold} and \emph{italic}) you
-%will need to create a command that applies both formats, e.g.\
+%\item[{\gloskey[glslink]{format}}] This specifies how to format the
+%associated number for this entry in the glossary. This value is
+%equivalent to the \appname{makeindex} encap value, and (as with
+%\cs{index}) the value needs to be the name of a command \emph{without}
+%the initial backslash. As with \cs{index}, the characters \verb"(" and
+%\verb")" can also be used to specify the beginning and ending of a
+%number range. Again as with \cs{index}, the command should be the name
+%of a command which takes an argument (which will be the associated
+%number). Be careful not to use a declaration (such as \cs{bfseries})
+%instead of a text block command (such as \cs{textbf}) as the effect is
+%not guaranteed to be localised. If you want to apply more than one
+%style to a given entry (e.g.\ \textbf{bold} and \emph{italic}) you will
+%need to create a command that applies both formats, e.g.\
%\begin{verbatim}
%\newcommand*{\textbfem}[1]{\textbf{\emph{#1}}}
%\end{verbatim}
-%and use that command. (Just as you would have to do with \cs{index}.)
+%and use that command.
%
-%If you are using hyperlinks, and you want to change the font of the
-%hyperlink, don't use \cs{hyperpage} (provided by the \styname{hyperref}
+%If you are using hyperlinks and you want to change the font of the
+%hyperlink, don't use \cs{hyperpage} (provided by the \isty{hyperref}
%package) as the numbers may not refer to a page number.
-%Instead, the \styname{glossaries} package provides the following
+%Instead, the \sty{glossaries} package provides the following
%number formats:
%\begin{center}
-%\begin{tabular}{@{\sffamily}lp{0.8\linewidth}}
-%hyperrm & The number is a serif hyperlink to the relevant part of the
+%\begin{tabular}{@{\sffamily}lp{0.8\linewidth}}hyperrm & The number is a serif hyperlink to the relevant part of the
%document\\
%hypersf & The number is a sans-serif hyperlink to the relevant part
%of the document\\
@@ -791,38 +902,36 @@
%hypersc & The number is a small caps hyperlink to the relevant
%part of the document\\
%hyperemph & The number is an emphasized hyperlink to the relevant
-%part of the document\\
+%part of the document
%\end{tabular}
%\end{center}
%Note that if the \cs{hyperlink} command hasn't been defined,
-%the "hyper"\meta{xx} formats are equivalent to the
+%the \texttt{hyper}\meta{xx} formats are equivalent to the
%analogous \cs{text}\meta{xx} font commands. If you want to
%make a new format, you will need to define a command which takes
-%one argument, for example, if you want the associated number in
-%the glossary to be in a bold sans-serif font, you can define a
+%one argument and use that; for example, if you want the associated
+%number in the glossary to be in a bold sans-serif font, you can define a
%command called, say, \cs{hyperbsf}:
%\begin{verbatim}
%\newcommand{\hyperbsf}[1]{\textbf{\hypersf{#1}}}
%\end{verbatim}
-%and then use "hyperbsf" as the value for the \gloskey{format} key.
-%(See also \autoref{sec:printglos}.)
-%
+%and then use \texttt{hyperbsf} as the value for the \gloskey{format}
+%key. (See also \autoref{sec:printglos}.)
%\item[{\gloskey[glslink]{counter}}] This specifies which counter
%to use for the associated number for this glossary entry. (See also
%\autoref{sec:numberlists}.)
-%
%\item[{\gloskey[glslink]{hyper}}] This is a boolean key which can
%be used to enable/disable the hyperlink to the relevant entry
-%in the glossary. (Note that setting "hyper=true" will have no
+%in the glossary. (Note that setting \texttt{hyper=true} will have no
%effect if \cs{hyperlink} has not been defined.) The default
-%value is "hyper=true".
+%value is \texttt{hyper=true}.
%
%\end{description}
%\DescribeMacro{\glslink*}
%There is also a starred version:\\[10pt]
%\cs{glslink*}\oarg{options}\marg{label}\marg{text}\\[10pt]
%which is equivalent to \cs{glslink}, except it sets
-%"hyper=false".
+%\texttt{hyper=false}.
%
%\DescribeMacro{\gls}
%The command:\\[10pt]
@@ -830,20 +939,21 @@
%is the same as \cs{glslink}, except that the \term{link text}
%is determined from the values of the \gloskey{text} and
%\gloskey{first} keys supplied when the entry was defined using
-%\icmdname{newglossaryentry}. There are two uppercase variants:\\[10pt]
+%\ics{newglossaryentry}. There are two uppercase variants:\\[10pt]
%\DescribeMacro{\Gls}
%\cs{Gls}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
-%and
+%and\\[10pt]
%\DescribeMacro{\GLS}
%\cs{GLS}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
-%which make the first letter of the link, or all the link text,
+%which make the first letter of the link or all the link text
%uppercase, respectively.
%
%The final optional argument \meta{insert}, allows you to insert
%some additional text into the link text. By default, this will
%append \meta{insert} at the end of the link text. The first optional
-%argument, \meta{options}, is the same as the optional argument to
-%\icmdname{glslink}.
+%argument \meta{options} is the same as the optional argument to
+%\ics{glslink}. As with \cs{glslink}, these commands also have
+%a starred version that disable the hyperlink.
%
%There are also analogous plural forms:\\[10pt]
%\DescribeMacro{\glspl}
@@ -854,131 +964,614 @@
%\cs{GLSpl}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
%These determine the link text from the \gloskey{plural} and
%\gloskey{firstplural} keys supplied when the entry was first
-%defined.
-%
-%To make the description or symbol also appear in the \term{link text},
-%you will need to redefine \cs{glsdisplayfirst} and \cs{glsdisplay}
-%or use the commands \cs{defglsdisplayfirst} and \cs{defglsdisplay}.
-%See \autoref{sec:code:glslink} for further details. (Note that if you
-%want either the description or symbol to appear in the
-%\term{link text}, you will have to disable the
-%\hyperlink{sanitize}{sanitization} of these
-%keys, and protect fragile commands.)
+%defined. As before, these commands also have
+%a starred version that disable the hyperlink.
+%
+%\DescribeMacro{\glstext}The command:\\[10pt]
+%\cs{glstext}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{text} key and does not mark the entry as
+%having been used.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glstext}
+%\cs{Glstext}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLStext}
+%\cs{GLStext}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%\DescribeMacro{\glsfirst}The command:\\[10pt]
+%\cs{glsfirst}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{first} key and does not mark the entry as
+%having been used.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glsfirst}
+%\cs{Glsfirst}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLSfirst}
+%\cs{GLSfirst}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%\DescribeMacro{\glsplural}The command:\\[10pt]
+%\cs{glsplural}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{plural} key and does not mark the entry as
+%having been used.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glsplural}
+%\cs{Glsplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLSplural}
+%\cs{GLSplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%\DescribeMacro{\glsfirstplural}The command:\\[10pt]
+%\cs{glsfirstplural}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{firstplural} key and does not mark the entry as
+%having been used.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glsfirstplural}
+%\cs{Glsfirstplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLSfirstplural}
+%\cs{GLSfirstplural}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%\DescribeMacro{\glsname}The command:\\[10pt]
+%\cs{glsname}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{name} key and does not mark the entry as
+%having been used. Note: if you want to use this command and the
+%\gloskey{name} key contains commands, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of the \gloskey{name} key and protect fragile commands.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glsname}
+%\cs{Glsname}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLSname}
+%\cs{GLSname}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%\DescribeMacro{\glssymbol}The command:\\[10pt]
+%\cs{glssymbol}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{symbol} key and does not mark the entry as
+%having been used. Note: if you want to use this command and the
+%\gloskey{symbol} key contains commands, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of the \gloskey{symbol} key and protect fragile commands.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glssymbol}
+%\cs{Glssymbol}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLSsymbol}
+%\cs{GLSsymbol}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%\DescribeMacro{\glsdesc}The command:\\[10pt]
+%\cs{glsdesc}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%is similar to \ics{gls} except that it always uses the value
+%of the \gloskey{description} key and does not mark the entry as
+%having been used. Note: if you want to use this command and the
+%\gloskey{description} key contains commands, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of the \gloskey{description} key and protect fragile commands.
+%
+%There are also analogous commands:\\[10pt]
+%\DescribeMacro{\Glsdesc}
+%\cs{Glsdesc}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%\DescribeMacro{\GLSdesc}
+%\cs{GLSdesc}\oarg{options}\marg{text}\oarg{insert}\\[10pt]
+%As before, these commands also have a starred version that disable
+%the hyperlink.
+%
+%
+%\subsubsection{Changing the format of the link text}
+%\label{sec:glsdisplay}
+%
+%The format of the \term{link text} for \ics{gls}, \ics{glspl}
+%and their uppercase variants is governed by two commands:
+%\DescribeMacro{\glsdisplayfirst}\cs{glsdisplayfirst}, which is used the
+%first time a glossary entry is used in the text and
+%\DescribeMacro{\glsdisplay}\cs{glsdisplay}, which is used subsequently.
+%Both commands take four arguments: the first is either the singular or
+%plural form given by the \gloskey{text}, \gloskey{plural},
+%\gloskey{first} or \gloskey{firstplural} keys (used when the term was
+%defined) depending on context; the second argument is the term's
+%description (as supplied by the \gloskey{description} key); the third
+%argument is the symbol associated with the term (as supplied by the
+%\gloskey{symbol} key) and the fourth argument is the additional text
+%supplied in the final optional argument to \cs{gls} or
+%\cs{glspl} (or their uppercase variants). The default definitions
+%of \cs{glsdisplay} and \cs{glsdisplayfirst} simply
+%print the first argument immediately followed by the fourth argument.
+%The remaining arguments are ignored.
+%
+%For example, suppose you want a glossary of measurements and
+%units, you can use the \gloskey{symbol} key to store the unit:
+%\begin{verbatim}
+%\newglossaryentry{distance}{name=distance,
+%description={The length between two points},
+%symbol={km}}
+%\end{verbatim}
+%and now suppose you want \verb|\gls{distance}| to produce
+%\dq{distance (km)} on first use, then you can redefine
+%\cs{glsdisplayfirst} as follows:
+%\begin{verbatim}
+%\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
+%\end{verbatim}
+%Note that the additional text is placed after \verb|#1|, so
+%\verb|\gls{distance}['s]| will produce \dq{distance's (km)}
+%rather than \dq{distance (km)'s} which looks a bit odd (even though
+%it may be in the context of \dq{the distance (km) is measured between
+%the two points} --- but in this instance it may be better not to
+%use a contraction).
+%
+%Note also that all of the \term{link text} will be formatted according
+%to \ics{glstextformat} (described earlier). So if you do, say:
+%\begin{verbatim}
+%\renewcommand{\glstextformat}[1]{\textbf{#1}}
+%\renewcommand{\glsdisplayfirst}[4]{#1#4 (#3)}
+%\end{verbatim}
+%then \verb|\gls{distance}| will produce \dq{\textbf{distance (km)}}.
+%
+%If you have multiple glossaries, changing \cs{glsdisplayfirst} and
+%\cs{glsdisplay} will change the way entries for all of the
+%glossaries appear when using commands \cs{gls}, \cs{glspl} and their
+%uppercase variants. If you only
+%want the change to affect entries for a given glossary, then you need
+%to use \DescribeMacro{\defglsdisplay}\cs{defglsdisplay} and
+%\DescribeMacro{\defglsdisplayfirst}\cs{defglsdisplayfirst} instead
+%of redefining \cs{glsdisplay} and \cs{glsdisplayfirst}.
+%
+%Both \cs{defglsdisplay} and \cs{defglsdisplayfirst} take two arguments:
+%the first (which is optional) is the glossary name\footnote{\texttt{main} for the main
+%(default) glossary, \cs{acronymtype} for the list of acronyms, or the
+%name supplied in the first mandatory argument to \cs{newglossary} for
+%additional glossaries.} and the second is how the term should be
+%displayed when it is invoked using commands \cs{gls},
+%\cs{glspl} and their uppercase variants. This is similar to the way \cs{glsdisplayfirst} was
+%redefined above.
+%
+%For example, suppose you have created a new glossary called
+%\texttt{notation} and you want to change the way the entry is
+%displayed on first use so that it includes the symbol, you can
+%do:
+%\begin{verbatim}
+%\defglsdisplayfirst[notation]{#1#4 (denoted #3)}
+%\end{verbatim}
+%Now suppose you have defined an entry as follows:
+%\begin{verbatim}
+%\newglossaryentry{set}{type=notation,
+%name=set,
+%description={A collection of objects},
+%symbol={$S$},
+%}
+%\end{verbatim}
+%The first time you reference this entry using \cs{gls} it
+%will be displayed as: \dq{set (denoted $S$)} (similarly for \cs{glspl} and the uppercase variants).
+%
+%Remember that if you use the \gloskey{symbol} key, you need to use a
+%glossary style that displays the symbol, as many of the styles ignore
+%it. In addition, if you want either the description or symbol to appear
+%in the \term{link text}, you will have to disable the
+%\hyperlink{sanitize}{sanitization} of these keys and protect fragile commands.
+%\subsubsection{Enabling and disabling hyperlinks to glossary entries}
+%
+%If you load the \isty{hyperref} or \isty{html} packages prior to
+%loading the \sty{glossaries} package, commands such as \ics{glslink}
+%and \ics{gls}, described above, will automatically have hyperlinks
+%to the relevant glossary entry, unless the \gloskey[glslink]{hyper}
+%option has been set to \texttt{false}. You can disable or enable links using:\\[10pt]
+%\DescribeMacro{\glsdisablehyper}\cs{glsdisablehyper}\\[10pt]
+%and\\[10pt]
+%\DescribeMacro{\glsenablehyper}\cs{glsenablehyper}\\[10pt]
+%respectively. The effect can be localised by placing the commands
+%within a group. Note that you should only use \cs{glsenablehyper}
+%if the commands \ics{hyperlink} and \ics{hypertarget} have been
+%defined (for example, by the \isty{hyperref} package).
%
%\subsection{Adding an entry to the glossary without generating text}
%\label{sec:glsadd}
%
%\DescribeMacro{\glsadd}
-%It is also possible to add a line in the glossary file without
-%generating any text at that point in the document.\\[10pt]
+%It is possible to add a line in the glossary file without
+%generating any text at that point in the document using:\\[10pt]
%\cs{glsadd}\oarg{options}\marg{label}\\[10pt]
-%This is similar to \icmdname{glslink}, only it doesn't produce
+%This is similar to \ics{glslink}, only it doesn't produce
%any text (so therefore, there is no \gloskey[glslink]{hyper} key
-%available in \meta{options}.)
+%available in \meta{options} but all the other options that can
+%be used with \cs{glslink} can be passed to \cs{glsadd}).
%
%\DescribeMacro{\glsaddall}
-%To add a line for all entries that have been defined, use:\\[10pt]
+%To add all entries that have been defined, use:\\[10pt]
%\cs{glsaddall}\oarg{glossary list}\\[10pt]
%If there are multiple glossaries, you can specify to add only
%those entries which belong to the glossaries listed in
%\meta{glossary list} (which must be a comma separated list of
-%glossary names.)
-%
+%glossary names). For example:
+%\begin{verbatim}
+%\glsaddall[notation]
+%\end{verbatim}
+%will add all the entries that have been defined for the glossary
+%labelled \dq{notation}.
%\subsection{Displaying a glossary}
%
%\DescribeMacro{\printglossaries}
%The command \cs{printglossaries} will display all the
%defined glossaries. Note that no glossaries will appear until
%you have either used the Perl script \appname{makeglossaries}
-%or have directly used \appname{makeindex}. If the glossary still
-%does not appear, after you re-\LaTeX\ your document, then check
+%or have directly used \appname{makeindex} (as described in
+%\autoref{sec:makeglossaries}). If the glossary still does not appear after you re-\LaTeX\ your document, check
%the \appname{makeindex} log files to see if there is a problem.
+%Remember that you also need to use the command \ics{makeglossaries} in
+%the preamble to enable the glossaries.
%
%\DescribeMacro{\printglossary}
%An individual glossary is displayed using:\\[10pt]
%\cs{printglossary}\oarg{options}\\[10pt]
-%where \meta{options} is a key-val list of options. The following
-%keys are available:
+%where \meta{options} is a \meta{key}=\meta{value} list of options.
+%The following keys are available:
%\begin{description}
%\item[{\gloskey[printglossary]{type}}] The value of this key
%specifies which glossary to print. If omitted, the default
-%glossary is assumed.
+%glossary is assumed. For example, to print the list of acronyms:
+%\begin{verbatim}
+%\printglossary[type=\acronymtype]
+%\end{verbatim}
%
%\item[{\gloskey[printglossary]{title}}] This is the glossary's
%title (overriding the title specified when the glossary was
-%defined.)
+%defined).
%
%\item[{\gloskey[printglossary]{toctitle}}] This is the title
%to use for the table of contents (if the \pkgopt{toc} package
-%option has been used.)
+%option has been used). If omitted, the glossary title is used.
%
%\item[{\gloskey[printglossary]{style}}] This specifies which
-%glossary style to use for this glossary.
+%glossary style to use for this glossary, overriding the effect
+%of the \pkgopt{style} option or \ics{glossarystyle}.
%\end{description}
%
+%\DescribeMacro{\glossarypreamble}
+%Information can be added to the start of the glossary by redefining
+%\cs{glossarypreamble}. For example:
+%\begin{verbatim}
+%\renewcommand{\glossarypreamble}{Numbers in italic indicate
+%primary definitions.}
+%\end{verbatim}
+%This needs to be done before the glossary is displayed using
+%\cs{printglossaries} or \cs{printglossary}. Note that if you
+%want a different preamble for each glossary, you will need to
+%use a separate \cs{printglossary} for each glossary and change
+%the definition of \cs{glossarypreamble} between each glossary.
+%For example:
+%\begin{verbatim}
+%\renewcommand{\glossarypreamble}{Numbers in italic indicate
+%primary definitions.}
+%\printglossary
+%\renewcommand{\glossarypreamble}{}
+%\printglossary[type=acronym]
+%\end{verbatim}
+%Alternatively, you can do something like:
+%\begin{verbatim}
+%\renewcommand{\glossarypreamble}{Numbers in italic indicate
+%primary definitions.\gdef\glossarypreamble{}}
+%\printglossaries
+%\end{verbatim}
+%which will print the preamble text for the first glossary and
+%change the preamble to do nothing for subsequent glossaries.
+%(Note that \cs{gdef} is required as the glossary is placed within
+%a group.)
+%
+%\DescribeMacro{\glossarypostamble}There is an analogous command
+%called \cs{glossarypostamble} which is placed at the end of each
+%glossary.
+%\subsubsection{Changing the way the entry name appears in the glossary}
+%\label{sec:glsnamefont}
+%
+%\DescribeMacro{\glsnamefont}Within each glossary, each entry name is
+%formatted according to \cs{glsnamefont} which takes one argument: the
+%entry name. This command is always used regardless of the glossary
+%style. By default, \cs{glsnamefont} simply displays its argument in
+%whatever the surrounding font happens to be. This means that in the
+%list styles the name will appear in bold, since the name is placed in
+%the optional argument of \cs{item}, whereas in the tabular styles the
+%name will appear in the normal font.
+%
+%For example, suppose you want all the entry names to appear in
+%medium weight small caps, then you can do:
+%\begin{verbatim}
+%\renewcommand{\glsnamefont}[1]{\textsc{\mdseries #1}}
+%\end{verbatim}
+%
%\subsection{Defining New Glossaries}
%
%\DescribeMacro{\newglossary}
%A new glossary can be defined using:\\[10pt]
%\cs{newglossary}\oarg{log-ext}\marg{name}\marg{in-ext}\marg{out-ext}\marg{title}\oarg{counter}\\[10pt]
-%where \meta{name} is label to assign to this glossary. (Note that
-%the default glossary is labelled "main" and if you use the
-%\pkgopt{acronym} package option, there will also be a glossary
-%called "acronym".) The arguments \meta{in-ext} and \meta{out-ext}
-%specify the extensions to give to the input and output files
-%for that glossary, \meta{title} is the default title for this
-%new glossary and the final optional argument \meta{counter} specifies
-%which counter to use for the associated
-%number lists\iterm{number list} (see also
-%\autoref{sec:numberlists}.) The first optional argument specifies
-%the extension for the \appname{makeindex} transcript file (this
-%information is only used by \appname{makeglossaries} which picks
-%up the information from the auxiliary file.)
-%
+%where \meta{name} is label to assign to this glossary. The arguments
+%\meta{in-ext} and \meta{out-ext} specify the extensions to give to the
+%input and output files for that glossary, \meta{title} is the default
+%title for this new glossary and the final optional argument
+%\meta{counter} specifies which counter to use for the associated number
+%lists\iterm{number list} (see also \autoref{sec:numberlists}.) The first optional argument specifies the extension for the
+%\appname{makeindex} transcript file (this information is only used by
+%\appname{makeglossaries} which picks up the information from the
+%auxiliary file.)
+%
+%Note that the main (default) glossary is automatically created as:
+%\begin{verbatim}
+%\newglossary{main}{gls}{glo}{\glossaryname}
+%\end{verbatim}
+%so it can be identified by the label \texttt{main}. Using the
+%\pkgopt{acronym} package option is equivalent to:
+%\begin{verbatim}
+%\newglossary[alg]{acronym}{acr}{acn}{\acronymname}
+%\end{verbatim}
+%so it can be identified by the label \texttt{acronym}. If you are
+%not sure whether the \pkgopt{acronym} option has been used, you
+%can identify the list of acronyms by the command
+%\DescribeMacro{\acronymtype}\cs{acronymtype} which is set to
+%\texttt{acronym}, if the \pkgopt{acronym} option has been used,
+%otherwise it is set to \texttt{main}.
%\subsection{Acronyms}
+%\label{sec:acronyms}
%
%\DescribeMacro{\newacronym}
-%As you may have noticed in \autoref{sec:newglosentry}, when you
-%specify a new entry, you can specify alternate text to use when
-%the term is first used in the document, this provides a useful
-%means to define acronyms. The \styname{glossaries} package defines
+%As you may have noticed in \autoref{sec:newglosentry}, when you specify a new entry, you can specify alternate text to use when
+%the term is first used in the document. This provides a useful
+%means to define acronyms. The \sty{glossaries} package defines
%the command:\\[10pt]
%\cs{newacronym}\oarg{key-val list}\marg{label}\marg{abbrv}\marg{long}\\[10pt]
%This is equivalent to:\vskip5pt
-%\begin{ttfamily}\obeylines
-%\cs{newglossaryentry}\textrm{\marg{label}}\{type=\cs{acronymtype},
-%name=\textrm{\marg{abbrv}},
-%description=\textrm{\marg{long}},
-%text=\textrm{\marg{abbrv}},
-%first=\{\textrm{\meta{long}} (\textrm{\meta{abbrv}})\},
-%plural=\{\textrm{\meta{abbrv}}s\},
-%firstplural=\{\textrm{\meta{long}}s (\textrm{\meta{abbrv}}s)\},
-%\textrm{\meta{key-val list}}\}
+%\begin{ttfamily}\par\noindent
+%\cs{newglossaryentry}\textrm{\marg{label}}\{type=\cs{acronymtype},\\
+%name=\textrm{\marg{abbrv}},\\
+%description=\textrm{\marg{long}},\\
+%text=\textrm{\marg{abbrv}},\\
+%first=\{\textrm{\meta{long}} (\textrm{\meta{abbrv}})\},\\
+%plural=\{\textrm{\meta{abbrv}}s\},\\
+%firstplural=\{\textrm{\meta{long}}s (\textrm{\meta{abbrv}}s)\},\\
+%\textrm{\meta{key-val list}}\}\par
%\end{ttfamily}
%\vskip5pt
-%The command \cs{acronymtype} is the name of the glossary
-%in which the acronyms should appear. If the \pkgopt{acronym}
-%package option has been used, this will be "acronym", otherwise
-%it will be "main". The acronyms can then be used in exactly
-%the same way as any other glossary entry.
-%
-%As you can see from the above, \cs{newacronym} sets the
-%description to the long form of the acronym. You may prefer to
-%have a description, and set the name to both the long and abbreviated
-%forms. For example, the following defines the acronym IDN:
+%As mentioned in the previous section, the command \cs{acronymtype} is
+%the name of the glossary in which the acronyms should appear. If the
+%\pkgopt{acronym} package option has been used, this will be
+%\texttt{acronym}, otherwise it will be \texttt{main}. The acronyms can
+%then be used in exactly the same way as any other glossary entry.
+%For example, the following defines the acronym IDN:
%\begin{verbatim}
-%\newacronym[name={identification number (IDN)},
-%description={A number uniquely identifying a particular
-%object}]{idn}{IDN}{identification number}
+%\newacronym{idn}{IDN}{identification number}
%\end{verbatim}
-%Alternatively:
+%This is equivalent to:
%\begin{verbatim}
-%\newacronym[description={identification number --- a number uniquely
-%identifying a particular object}]{idn}{IDN}{identification number}
+%\newglossaryentry{idn}{type=\acronymtype,
+%name={IDN},
+%description={identification number},
+%text={IDN},
+%first={identification number (IDN)},
+%plural={IDNs},
+%firstplural={identification numbers (IDNs)}}
%\end{verbatim}
+%so \verb|\gls{idn}| will produce \dq{identification number (IDN)} on
+%first use and \dq{IDN} on subsequent uses.
+%
+%The \sty{glossaries} package has options that change the
+%definition of \ics{newacronym} for common acronym formats. These
+%options also change the way the link text is displayed for the
+%acronyms.
+%
+%Table~\ref{tab:acronymsettings} lists the package options and
+%how the keys are used to store \meta{long} (the long form) and
+%\meta{abbrv} (the short form). Note that the \pkgopt{smallcaps}
+%option redefines \ics{acronymfont} so that it sets its argument
+%in small captials otherwise \cs{acronymfont} simply displays its
+%argument in the surrounding font. Note also that if none of
+%the package options \pkgopt{smallcaps}, \pkgopt{description}
+%or \pkgopt{footnote} are used, \cs{acronymfont} is not used, so
+%changing the definition of \cs{acronymfont} will have no effect
+%under such circumstances.
+%
+%\begin{table}[htbp]
+%\caption{Package options governing acronyms and how the information
+%is stored in the glossary keys}
+%\label{tab:acronymsettings}
+%\begin{center}
+%\begin{tabular}{lllll}
+%\bfseries Package Option &
+%\gloskey{first} &
+%\gloskey{text} &
+%\gloskey{description} &
+%\gloskey{symbol}\\
+%\pkgopt{description},\pkgopt{footnote} &
+%\meta{abbrv} &
+%\meta{abbrv} &
+%user supplied &
+%\meta{long}\\
+%\pkgopt{description},\pkgopt{dua} &
+%\meta{long} &
+%\meta{long} &
+%user supplied &
+%\meta{abbrv}\\
+%\pkgopt{description} &
+%\meta{long} &
+%\meta{abbrv} &
+%user supplied &
+%\meta{abbrv}\\
+%\pkgopt{footnote} &
+%\meta{abbrv} &
+%\meta{abbrv} &
+%\meta{long} &
+% \\
+%\pkgopt{smallcaps} &
+%\meta{long} &
+%\meta{abbrv} &
+%\meta{long} &
+%\meta{abbrv}\\
+%\pkgopt{dua} &
+%\meta{long} &
+%\meta{long} &
+%\meta{long} &
+%\meta{abbrv}\\
+%None of the above&
+%\meta{long} (\meta{abbrv}) &
+%\meta{abbrv} &
+%\meta{long} &
+%\end{tabular}
+%\end{center}
+%\end{table}
+%
+%Each of the package options \pkgopt{smallcaps}, \pkgopt{footnote}
+%and \pkgopt{description} use \ics{defglsdisplay} and
+%\ics{defglsdisplayfirst} (described in \autoref{sec:glsdisplay})
+%to change the way the link text is displayed.
+%
+%\begin{description}
+%\item[\pkgopt{description},\pkgopt{footnote}]\mbox{}\par When these two options are used together, the first use displays
+%the entry as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}
+%\\[10pt]
+%while subsequent use displays the entry as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%where \meta{insert} indicates the text supplied in the final
+%optional argument to \cs{gls}, \cs{glspl} or their uppercase
+%variants.
+%
+%Note also that when these two package options are used (in the
+%given order), the \sty{glossaries} package additionally implements the
+%\pkgopt{sanitize} option using
+%\ipkgopt[description]{sanitize}\ipkgopt[symbol]{sanitize}\verb|sanitize={description=false,symbol=false}|, so
+%remember to protect fragile commands when defining acronyms.
+%
+%\item[dua]\mbox{}\par The \pkgopt{dua} package option always displays the expanded
+%form and so may not be used with \pkgopt{footnote} or
+%\pkgopt{smallcaps}. Both first use and subsequent use displays the
+%entry in the form:\\[10pt]
+%\meta{long}\meta{insert}\\[10pt]
+%If the \pkgopt{description} option is also used, the \gloskey{name}
+%key is set to the long form, otherwise the \gloskey{name} key is
+%set to the short form and the \gloskey{description} key is set to
+%the long form.
+%
+%\item[\pkgopt{description}]\mbox{}\par This option displays the entry on first use as:\\[10pt]
+%\meta{long}\meta{insert} (\cs{acronymfont}\marg{abbrv})\\[10pt]
+%while subsequent use displays the entry as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%Note also that if this package option is used, the \sty{glossaries}
+%package additionally implements the option
+%\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
+%remember to protect fragile commands when defining acronyms.
+%
+%\item[\pkgopt{footnote}]\mbox{}\par This option displays the entry on first use as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}\cs{footnote}\marg{long}\\[10pt]
+%while subsequent use displays the entry as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}
+%
+%Note also that if this package option is used, the \sty{glossaries}
+%package additionally implements the option
+%\ipkgopt[description]{sanitize}\verb|sanitize={description=false}|, so
+%remember to protect fragile commands when defining acronyms.
+%
+%\item[\pkgopt{smallcaps}]\mbox{}\par If neither the \pkgopt{footnote} nor \pkgopt{description} options
+%have been set, this option displays the entry on first use as:\\[10pt]
+%\meta{long}\meta{insert} (\cs{acronymfont}\marg{abbrv})\\[10pt]
+%while subsequent use displays the entry as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%where \cs{acronymfont} is set to \cs{textsc}.
+%
+%Note also that if this package option is used, the \sty{glossaries}
+%package additionally implements the option
+%\ipkgopt[symbol]{sanitize}\verb|sanitize={symbol=false}|, so
+%remember to protect fragile commands when defining acronyms.
+%
+%\item[None of the above]\mbox{}\par If none of the package options \pkgopt{smallcaps}, \pkgopt{footnote}
+%or \pkgopt{description} are used, then on first use the entry is
+%displayed as:\\[10pt]
+%\meta{long} (\meta{abbrv})\meta{insert}\\[10pt]
+%while subsequent use displays the entry as:\\[10pt]
+%\cs{acronymfont}\marg{abbrv}\meta{insert}\\[10pt]
+%\meta{abbrv}\meta{insert}
+%\end{description}
+%
+%Recall from \autoref{sec:glslink} that you can access the values of individual keys using commands
+%like \ics{glstext}, so it is possible to use these commands to
+%print just the long form or just the abbreviation without affecting
+%the flag that determines whether the entry has been used. However
+%the keys that store the long and short form vary depending on
+%the acronym style, so the \sty{glossaries} package provides
+%commands that are set according to the package options. These are
+%as follows:
+%\vspace{10pt}\par\noindent
+%\DescribeMacro{\acrshort}
+%\cs{acrshort}\oarg{options}\marg{label}\oarg{insert}\\
+%\DescribeMacro{\Acrshort}
+%\cs{ACRshort}\oarg{options}\marg{label}\oarg{insert}\\
+%\DescribeMacro{\ACRshort}
+%\cs{ACRshort}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%Print the abbreviated version with a hyperlink (if necessary) to the
+%relevant entry in the glossary. This is usually equivalent to
+%\ics{glstext} (or its uppercase variants) but may additionally
+%put the link text within the argument to \ics{acronymfont}.
+%\vspace{10pt}\par\noindent
+%\DescribeMacro{\acrlong}
+%\cs{acrlong}\oarg{options}\marg{label}\oarg{insert}\\
+%\DescribeMacro{\Acrlong}
+%\cs{ACRlong}\oarg{options}\marg{label}\oarg{insert}\\
+%\DescribeMacro{\ACRlong}
+%\cs{ACRlong}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%Print the long version with a hyperlink (if necessary) to the
+%relevant entry in the glossary. This is may be equivalent to
+%\ics{glsdesc}, \ics{glssymbol} or \ics{glsfirst} (or their uppercase
+%variants), depending on package options.
+%\vspace{10pt}\par\noindent
+%\DescribeMacro{\acrfull}
+%\cs{acrfull}\oarg{options}\marg{label}\oarg{insert}\\
+%\DescribeMacro{\Acrfull}
+%\cs{ACRfull}\oarg{options}\marg{label}\oarg{insert}\\
+%\DescribeMacro{\ACRfull}
+%\cs{ACRfull}\oarg{options}\marg{label}\oarg{insert}\\[10pt]
+%Print the long version followed by the abbreviation in brackets
+%with a hyperlink (if necessary) to the
+%relevant entry in the glossary.
+%
+%Note that if you change the definition of \ics{newacronym}, you
+%may additionally need to change the above commands as well as
+%the changing way the text is displayed using \ics{defglsdisplay}
+%and \ics{defglsdisplayfirst}.
+%
+%
+%\subsection{Unsetting and resetting entry flags}
+%
+%When using commands such as \ics{gls} it is possible that you may want
+%to use the value given by the \gloskey{first} key, even though you have
+%already used the glossary entry. Conversely, you may want to use the
+%value given by the \gloskey{text} key, even though you haven't used the
+%glossary entry. The former can be achieved by one of the following
+%commands:\\[10pt]
+%\DescribeMacro{\glsreset}\cs{glsreset}\marg{label}\\
+%\DescribeMacro{\glslocalreset}\cs{glslocalreset}\marg{label}\\[10pt]
+%while the latter can be achieved by one of the following commands:\\[10pt]
+%\DescribeMacro{\glsunset}\cs{glsunset}\marg{label}\\
+%\DescribeMacro{\glslocalunset}\cs{glslocalunset}\marg{label}
+%\\[10pt]
+%You can determine whether an entry has been used using:\\[10pt]
+%\DescribeMacro{\ifglsused}
+%\cs{ifglsused}\marg{label}\marg{true part}\marg{false part}\\[10pt]
+%where \meta{label} is the label of the required entry. If the
+%entry has been used, \meta{true part} will be done, otherwise
+%\meta{false part} will be done.
%
%\subsection{Glossary Styles}
-%The \styname{glossaries} package comes with some pre-defined
+%\label{sec:styles}
+%The \sty{glossaries} package comes with some pre-defined
%glossary styles. These are as follows:
%\begin{description}
%\item[list] The \glostyle{list} style uses the \envname{description}
@@ -988,35 +1581,43 @@
%list for that entry.
%
%\item[listgroup] The \glostyle{listgroup} style is like
-%\glostyle{list}, but the glossary groups have headings.
+%\glostyle{list} but the glossary groups have headings.
%
%\item[listhypergroup] The \glostyle{listhypergroup} style is like
-%\glostyle{listgroup}, but has a set of links to the glossary
+%\glostyle{listgroup} but has a set of links to the glossary
%groups.
%
%\item[altlist] The \glostyle{altlist} style is like \glostyle{list}
%but the description is placed on the following line.
%
%\item[altlistgroup] The \glostyle{altlistgroup} style is like
-%\glostyle{altlist}, but the glossary groups have headings.
+%\glostyle{altlist} but the glossary groups have headings.
%
%\item[altlisthypergroup] The \glostyle{altlisthypergroup} style is like
-%\glostyle{altlistgroup}, but has a set of links to the glossary
+%\glostyle{altlistgroup} but has a set of links to the glossary
%groups.
%
+%\item[listdotted] This style uses the \envname{description}
+%environment. Each entry starts with \verb|\item[]|, followed by the
+%name followed by a dotted line, followed by the description. Note that
+%this style ignores both the \term{number list} and the symbol. The
+%length \DescribeMacro{\glslistdottedwidth}\cs{glslistdottedwidth}
+%governs where the description should start.\footnote{This style was
+%supplied by Axel~Menzel.}
+%
%\item[long] The \glostyle{long} style uses the \envname{longtable}
-%environment. It has two columns, the first column contains the
-%entry's name, the second column contains the description followed
-%by the \term{number list}.
+%environment (defined by the \isty{longtable} package). It has two
+%columns: the first column contains the entry's name and the second
+%column contains the description followed by the \term{number list}.
%
%\item[longborder] The \glostyle{longborder} style is like
-%\glostyle{long}, but has horizontal and vertical lines around it.
+%\glostyle{long} but has horizontal and vertical lines around it.
%
%\item[longheader] The \glostyle{longheader} style is like
-%\glostyle{long}, but has a header row.
+%\glostyle{long} but has a header row.
%
%\item[longheaderborder] The \glostyle{longheaderborder} style is
-%like \glostyle{longheader}, but has horizontal and vertical lines
+%like \glostyle{longheader} but has horizontal and vertical lines
%around it.
%
%\item[long3col] The \glostyle{long3col} style is like
@@ -1029,10 +1630,10 @@
%lines around it.
%
%\item[long3colheader] The \glostyle{long3colheader} style is like
-%\glostyle{long3col}, but has a header row.
+%\glostyle{long3col} but has a header row.
%
%\item[long3colheaderborder] The \glostyle{long3colheaderborder} style is
-%like \glostyle{long3colheader}, but has horizontal and vertical lines
+%like \glostyle{long3colheader} but has horizontal and vertical lines
%around it.
%
%\item[long4col] The \glostyle{long4col} style is like
@@ -1044,25 +1645,25 @@
%lines around it.
%
%\item[long4colheader] The \glostyle{long4colheader} style is like
-%\glostyle{long4col}, but has a header row.
+%\glostyle{long4col} but has a header row.
%
%\item[long4colheaderborder] The \glostyle{long4colheaderborder} style is
-%like \glostyle{long4colheader}, but has horizontal and vertical lines
+%like \glostyle{long4colheader} but has horizontal and vertical lines
%around it.
%
%\item[super] The \glostyle{super} style uses the \envname{supertabular}
-%environment. It has two columns, the first column contains the
-%entry's name, the second column contains the description followed
-%by the \term{number list}.
+%environment (defined by the \isty{supertabular} package). It has two
+%columns: the first column contains the entry's name and the second
+%column contains the description followed by the \term{number list}.
%
%\item[superborder] The \glostyle{superborder} style is like
-%\glostyle{super}, but has horizontal and vertical lines around it.
+%\glostyle{super} but has horizontal and vertical lines around it.
%
%\item[superheader] The \glostyle{superheader} style is like
-%\glostyle{super}, but has a header row.
+%\glostyle{super} but has a header row.
%
%\item[superheaderborder] The \glostyle{superheaderborder} style is
-%like \glostyle{superheader}, but has horizontal and vertical lines
+%like \glostyle{superheader} but has horizontal and vertical lines
%around it.
%
%\item[super3col] The \glostyle{super3col} style is like
@@ -1075,11 +1676,11 @@
%lines around it.
%
%\item[super3colheader] The \glostyle{super3colheader} style is like
-%\glostyle{super3col}, but has a header row.
+%\glostyle{super3col} but has a header row.
%
-%\item[super3colheaderborder] The \glostyle{super3colheaderborder} style is
-%like \glostyle{super3colheader}, but has horizontal and vertical lines
-%around it.
+%\item[super3colheaderborder] The \glostyle{super3colheaderborder} style
+%is like \glostyle{super3colheader} but has horizontal and vertical
+%lines around it.
%
%\item[super4col] The \glostyle{super4col} style is like
%\glostyle{super3col} but has an additional column in which the
@@ -1090,38 +1691,40 @@
%lines around it.
%
%\item[super4colheader] The \glostyle{super4colheader} style is like
-%\glostyle{super4col}, but has a header row.
+%\glostyle{super4col} but has a header row.
%
-%\item[super4colheaderborder] The \glostyle{super4colheaderborder} style is
-%like \glostyle{super4colheader}, but has horizontal and vertical lines
-%around it.
+%\item[super4colheaderborder] The \glostyle{super4colheaderborder} style
+%is like \glostyle{super4colheader} but has horizontal and vertical
+%lines around it.
%
%\end{description}
%
-%The glossary style can be set using the \pkgopt{style} package option,
+%The glossary style can be set using the \pkgopt{style} package option
%or using the \gloskey[printglossary]{style} key in the optional
-%argument to \icmdname{printglossary}, or using the command:\\[10pt]
-%\cs{glossarystyle}\marg{style-name}\\[10pt]
+%argument to \ics{printglossary} or using the command:\\[10pt]
+%\DescribeMacro{\glossarystyle}\cs{glossarystyle}\marg{style-name}\\[10pt]
%
% \changes{1.03}{2007 July 4}{'glspostdescription added}
-%All the styles except for the three and four column styles use the
-%command \DescribeMacro{\glspostdescription}\cs{glspostdescription}
-%after the description. This simply displays a full stop by default.
-%To eliminate this full stop (or replace it with something else,
-%say a comma), you will need to redefine \cs{glspostdescription}
-%before the glossary is displayed.
-%
+%All the styles except for the three- and four-column styles and the
+%\glostyle{listdotted} style use the command
+%\DescribeMacro{\glspostdescription}\cs{glspostdescription} after the
+%description. This simply displays a full stop by default. To eliminate
+%this full stop (or replace it with something else, say a comma), you
+%will need to redefine \cs{glspostdescription} before the glossary is
+%displayed.
%\subsection{Defining your own glossary style}
%
%If the predefined styles don't fit your requirements, you can
%define your own style using\DescribeMacro{\newglossarystyle}:\\[10pt]
%\cs{newglossarystyle}\marg{name}\marg{definitions}\\[10pt]
%where \meta{name} is the name of the new glossary style (to be
-%used in \cs{glossarystyle}. The second argument \meta{definitions},
-%needs to redefine the following:
+%used in \cs{glossarystyle}). The second argument \meta{definitions},
+%needs to redefine all of the following:
%
+%\begin{description}
+%\item
%\DescribeEnv{theglossary}
-%\noindent\envname{theglossary}\par\noindent
+%\envname{theglossary}\par\noindent
%This environment defines how the main body of the glossary should
%be typeset. Note that this does not include the section heading,
%the glossary preamble (defined by \cs{glossarypreamble}) or the
@@ -1130,8 +1733,9 @@
%so the \envname{theglossary} environment is simply redefined to begin
%and end the \envname{description} environment.
%
+%\item
%\DescribeMacro{\glossaryheader}
-%\noindent\cs{glossaryheader}\par\noindent
+%\cs{glossaryheader}\par\noindent
%This macro indicates what to do at the start of the main body
%of the glossary. Note that this is not the same as
%\cs{glossarypreamble}, which should not be affected by changes in
@@ -1139,27 +1743,36 @@
%\cs{glossaryheader} to do nothing, whereas the \glostyle{longheader}
%glossary style redefines \cs{glossaryheader} to do a header row.
%
+%\item
%\DescribeMacro{\glsgroupheading}
-%\noindent\cs{glsgroupheading}\marg{label}\par\noindent
+%\cs{glsgroupheading}\marg{label}\par\noindent
%This macro indicates what to do at the start of each logical block
-%within the main body of the glossary. The glossary is sub-divided
-%into 28 logical blocks that are determined by the first character of
-%the \gloskey{sort} key (or \gloskey{name} key if the \gloskey{sort}
-%key is omitted.) The sub-divisions are in the following order:
-%symbols, numbers, A, \ldots, Z. Note that the argument to
-%\cs{glsgroupheading} is a label, \emph{not} the group title. The
-%group title can be obtained via \cs{glsgetgrouptitle}\marg{label},
-%and a navigation hypertarget can be created using
-%\cs{glsnavhypertarget}\marg{label}. Most of the predefined glossary
-%styles redefine \cs{glsgroupheading} to simply ignore its argument.
-%The \glostyle{listhypergroup} style redefines \cs{glsgroupheading}
-%as follows:
+%within the main body of the glossary. The glossary is sub-divided into
+%twenty-eight logical blocks that are determined by the first character
+%of the \gloskey{sort} key (or \gloskey{name} key if the \gloskey{sort}
+%key is omitted). The sub-divisions are in the following order: symbols,
+%numbers, A, \ldots, Z. Note that the argument to \cs{glsgroupheading}
+%is a label \emph{not} the group title. The group title can be obtained
+%via \cs{glsgetgrouptitle}\marg{label}, and a navigation hypertarget can
+%be created using \cs{glsnavhypertarget}\marg{label}. Most of the
+%predefined glossary styles redefine \cs{glsgroupheading} to simply
+%ignore its argument. The \glostyle{listhypergroup} style redefines
+%\cs{glsgroupheading} as follows:
%\begin{verbatim}
%\renewcommand*{\glsgroupheading}[1]{%
%\item[\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}]}
%\end{verbatim}
-%See also \cs{glsgroupskip} below.
+%See also \cs{glsgroupskip} below. (Note that command definitions within
+%\cs{newglossarystyle} must use \verb|##1| etc instead of \verb|#1| etc.)
%
+%\item
+%\DescribeMacro{\glsgroupskip}
+%\cs{glsgroupskip}\par\noindent
+%This macro determines what to do after one logical group but before
+%the header for the next logical group. The \glostyle{list} glossary
+%style simply redefines \cs{glsgroupskip} to be \cs{indexspace}.
+%
+%\item
%\DescribeMacro{\glossaryentryfield}
%\cs{glossaryentryfield}\marg{label}\marg{formatted
%name}\marg{description}\marg{symbol}
@@ -1171,52 +1784,101 @@
%Note that \meta{label} is the label used when the glossary entry
%was defined via either \cs{newglossaryentry} or \cs{newacronym}.
%Each time you use a glossary entry it creates a
-%link\footnote{if the document doesn't have hyperlinks enabled,
-%\cs{@glslink} ignores the label, and simply typesets the text.}
+%link\footnote{if the document doesn't have hyperlinks enabled
+%\cs{@glslink} ignores the label and simply typesets the text.}
%using \cs{@glslink}\marg{label}\marg{text} with the label
%\texttt{glo:}\meta{label}. Your
%new glossary style must therefore redefine \cs{glossaryentryfield}
-%so that it uses \cs{@glstarget}\{\texttt{glo:}\meta{label}\}\marg{text}
-%to ensure the hyperlinks function correctly\footnote{again, if the
+%so that it uses \cs{@glstarget}\verb|{|\texttt{glo:}\meta{label}\verb|}|\marg{text}
+%to ensure the hyperlinks function correctly.\footnote{again, if the
%document doesn't support hyperlinks, \cs{@glstarget} will ignore
-%the label, and just typeset the text.}.
+%the label, and just typeset the text.} For example, the
+%\glostyle{list} style defines \cs{glossaryentryfield} as follows:
+%\begin{verbatim}
+%\renewcommand*{\glossaryentryfield}[5]{%
+%\item[\@glstarget{glo:##1}{##2}] ##3\glspostdescription\space ##5}
+%\end{verbatim}
%
%Note also that \meta{number list} will always be of the form\\[10pt]
%\cs{glossaryentrynumbers}\{\cs{relax}\\
%\cs{setentrycounter}\marg{counter name}\cs{glsnumberformat}\marg{number(s)}\}\\[10pt]
%where \meta{number(s)}
%may contain \cs{delimN} (to delimit individual numbers) and/or
-%\cs{delimR} (to indicate a range of numbers.) There may be
+%\cs{delimR} (to indicate a range of numbers). There may be
%multiple occurrences of
%\cs{setentrycounter}\marg{counter name}\cs{glsnumberformat}\marg{number(s)}, but note
%that the entire number list is enclosed within the argument
-%to \cs{glossaryentrynumbers}. The user can redefine this to change
+%to \ics{glossaryentrynumbers}. The user can redefine this to change
%the way the entire number list is formatted, regardless of
-%the glossary style (although, obviously, the \gloskey{format}
-%key may over-ride this.) However the most common use of
+%the glossary style. However the most common use of
%\cs{glossaryentrynumbers} is to provide a means of suppressing the
%number list altogether. (In fact, the \pkgopt{nonumberlist} option
%redefines \cs{glossaryentrynumbers} to ignore its argument.)
%Therefore, when you define a new glossary style, you don't need
%to worry about whether the user has specified the
%\pkgopt{nonumberlist} package option.
+%\end{description}
+%\subsubsection{Example: creating a completely new style}
+%
+%If you want a completely new style, you will need to redefine all
+%of the commands and environment listed above. You also need to
+%take care when using internal commands (commands whose name
+%contain the @ symbol). These should either be used in a \texttt{.sty}
+%file or must be placed within \cs{makeatletter} and \cs{makeatother}.
+%
+%For example, suppose you want each entry to start with a bullet point.
+%This means that the glossary should be placed in the \envname{itemize}
+%environment, so \envname{theglossary} should start and end that
+%environment. Let's also suppose that you don't want anything between
+%the glossary groups (so \cs{glsgroupheading} and \cs{glsgroupskip}
+%should do nothing) and suppose you don't want anything to appear
+%immediately after \verb|\begin{theglossary}| (so \cs{glossaryheader}
+%should do nothing). In addition, let's suppose the symbol should
+%appear in brackets after the name, followed by the description and
+%last of all the \term{number list} should appear within square brackets
+%at the end. Then you can create this new glossary style, called, say,
+%\texttt{mylist}, as follows:
+%\begin{verbatim}
+% \newglossarystyle{mylist}{%
+% % put the glossary in the itemize environment:
+% \renewenvironment{theglossary}{\begin{itemize}}{\end{itemize}}%
+% % have nothing after \begin{theglossary}:
+% \renewcommand*{\glossaryheader}{}%
+% % have nothing between glossary groups:
+% \renewcommand*{\glsgroupheading}[1]{}%
+% \renewcommand*{\glsgroupskip}{}%
+% % set how each entry should appear:
+% \renewcommand*{\glossaryentryfield}[5]{%
+% \item % bullet point
+% \@glstarget{glo:##1}{##2}% the entry name
+% \space (##4)% the symbol in brackets
+% \space ##3% the description
+% \space [##5]% the number list in square brackets
+% }%
+% }
+%\end{verbatim}
%
-%One more thing to remember is that when you are redefining a command
-%within the argument to another command, you must use \verb|##1|,
-%\verb|##2|, etc instead of \verb|#1|, \verb|#2|, etc. For examples,
-%look at the way the predefined styles are defined in
-%\autoref{sec:styles}.
-%
-%\DescribeMacro{\glsgroupskip}
-%\noindent\cs{glsgroupskip}\par\noindent
-%This macro determines what to do after one logical group but before
-%the header for the next logical group. The \glostyle{list} glossary
-%style simply redefines \cs{glsgroupskip} to be \cs{indexspace}.
-%
-%For further details on creating or modifying glossary styles see
-%\autoref{sec:printglos} and \autoref{sec:styles}.
+%\subsubsection{Example: creating a new glossary style based on an
+%existing style}
+%
+%\changes{1.11}{2008 March 1}{Fixed error in manual (glossary style
+%is set using 'glossarystyle not 'setglossarystyle)}%
+%If you want to define a new style that is a slightly modified
+%version of an existing style, you can use \cs{glossarystyle}
+%within the second argument of \cs{newglossarystyle} followed by
+%whatever alterations you require. For example, suppose you want
+%a style like the \glostyle{list} style but you don't want the extra
+%vertical space created by \cs{indexspace} between groups, then you
+%can create a new glossary style called, say, \texttt{mylist} as
+%follows:
+%\begin{verbatim}
+%\newglossarystyle{mylist}{%
+%\glossarystyle{list}% base this style on the list style
+%\renewcommand{\glsgroupskip}{}% make nothing happen between groups
+%}
+%\end{verbatim}
%
-% \StopEventually{\phantomsection\addcontentsline{toc}{section}{Index}\PrintIndex}
+% \StopEventually{\clearpage\phantomsection\addcontentsline{toc}{section}{Index}\PrintIndex}
%
%
%
@@ -1232,13 +1894,20 @@
% This package requires \LaTeXe.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries}[2007/10/13 v1.08 (NLCT)]
+\ProvidesPackage{glossaries}[2008/02/22 v1.11 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
\RequirePackage{ifthen}
\RequirePackage{xkeyval}[2006/11/18]
-\RequirePackage{xspace}
+% \end{macrocode}
+%\changes{1.1}{2008 Feb 22}{amsgen now loaded (\cs{new@ifnextchar} needed)}
+% Need to use \cs{new@ifnextchar} instead of \cs{@ifnextchar} in
+% commands that have a final optional argument (such as \ics{gls})
+% so require \isty{amsgen}.
+% Thanks to Morten~H{\o}gholm for suggesting this.
+% \begin{macrocode}
+\RequirePackage{amsgen}
% \end{macrocode}
%
% \subsection{Package Options}\label{sec:pkgopt}
@@ -1248,6 +1917,13 @@
% \begin{macrocode}
\define@boolkey{glossaries.sty}[gls]{toc}[true]{}
% \end{macrocode}
+%\changes{1.1}{2008 Feb 22}{numberline option added}
+% The \pkgopt{numberline} package option adds \cs{numberline} to
+% \cs{addcontentsline}. Note that this option only has an effect
+% if used in with \pkgopt[true]{toc}.
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[gls]{numberline}[true]{}
+% \end{macrocode}
%
% The sectional unit used to start the glossary is stored in
% \cs{@@glossarysec}. If chapters are defined, this
@@ -1264,18 +1940,44 @@
% The starred form of the named sectional unit will be used.
% If you want some other way to start the glossary section (e.g.\
% a numbered section) you will have to redefined
-% \icmdname{glossarysection}.
+% \ics{glossarysection}.
% \begin{macrocode}
\define@choicekey{glossaries.sty}{section}{part,chapter,section,%
subsection,subsubsection,paragraph,subparagraph}[section]{%
\renewcommand*{\@@glossarysec}{#1}}
% \end{macrocode}
+%\changes{1.1}{2008 Feb 22}{numberedsection option added}
+% Determine whether or not to use numbered sections.
+%\begin{macro}{\@@glossarysecstar}
+% \begin{macrocode}
+\newcommand*{\@@glossarysecstar}{*}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@@glossaryseclabel}
+% \begin{macrocode}
+\newcommand*{\@@glossaryseclabel}{}
+% \end{macrocode}
+%\end{macro}
+% \begin{macrocode}
+\define@choicekey{glossaries.sty}{numberedsection}[\val\nr]{%
+false,nolabel,autolabel}[nolabel]{%
+\ifcase\nr\relax
+ \renewcommand*{\@@glossarysecstar}{*}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+\or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+\or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{\label{\@glo@type}}%
+\fi}
+% \end{macrocode}
%
% The default glossary style is stored in
% \cs{@glossary@default@style}. This is initialised to
% \texttt{list}. (The \glostyle{list} style is
-% defined in the accompanying \styname{glossary-list} package
-% described in \autoref{sec:styles}.)
+% defined in the accompanying \isty{glossary-list} package
+% described in \autoref{sec:code:styles}.)
%\begin{macro}{\@glossary@default@style}
% \begin{macrocode}
\newcommand*{\@glossary@default@style}{list}
@@ -1287,7 +1989,7 @@ subsection,subsubsection,paragraph,subparagraph}[section]{%
% of the document, so you can still use the \pkgopt{style} key to
% set a style that is defined in another package. This package comes
% with some predefined styles that are defined in
-% \autoref{sec:styles}.
+% \autoref{sec:code:styles}.
% \begin{macrocode}
\define@key{glossaries.sty}{style}{%
\renewcommand*{\@glossary@default@style}{#1}}
@@ -1321,7 +2023,7 @@ subsection,subsubsection,paragraph,subparagraph}[section]{%
% as an argument (or as the value of the
% \gloskey{type}\igloskey[printglossary]{type} key in
%a key-value list.) This was mainly done so that
-% \icmdname{loadglsentries} can temporarily change
+% \ics{loadglsentries} can temporarily change
% \cs{glsdefaulttype} while it loads a file containing
% new glossary entries (see \autoref{sec:load}).
%\begin{macro}{\glsdefaulttype}
@@ -1348,7 +2050,7 @@ subsection,subsubsection,paragraph,subparagraph}[section]{%
% is stored in \cs{glscounter}. This is initialised to the
% page counter. This is used as the default counter when a
% new glossary is defined, unless a different counter is specified
-% in the optional argument to \icmdname{newglossary} (see
+% in the optional argument to \ics{newglossary} (see
% \autoref{sec:newglos}).
%\begin{macro}{\glscounter}
% \begin{macrocode}
@@ -1366,15 +2068,15 @@ subsection,subsubsection,paragraph,subparagraph}[section]{%
% \gloskey{sort}, \gloskey{name}, \gloskey{description} and
% \gloskey{symbol}) need to be sanitized, otherwise fragile
% commands would not be able to be used in
-% \icmdname{newglossaryentry}. However, strange results will occur
+% \ics{newglossaryentry}. However, strange results will occur
% if you then use those fields in the document. As these fields
% are not normally used in the document, but are by default only
% used in the glossary, the default is to sanitize them. If however
% you want to use these values in the document (either by redefining
-% commands like \icmdname{glsdisplay} or by using commands like
-% \icmdname{glsentrydesc}) you will have to switch off the
+% commands like \ics{glsdisplay} or by using commands like
+% \ics{glsentrydesc}) you will have to switch off the
% sanitization using the \pkgopt{sanitize} package option, but
-% you will then have to use \icmdname{protect} to protect fragile
+% you will then have to use \ics{protect} to protect fragile
% commands when defining new glossary entries.
% The \pkgopt{sanitize} option
% takes a key-value list as its value, which can be used to
@@ -1458,6 +2160,48 @@ name=true]{%
}{\setkeys[gls]{sanitize}{#1}}%
}
% \end{macrocode}
+%\changes{1.1}{2008 Feb 22}{translate option added}
+% Define \pkgopt{translate} option. If false don't set up
+% multi-lingual support.
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[gls]{translate}[true]{}
+% \end{macrocode}
+% Set the default value:
+% \begin{macrocode}
+\glstranslatefalse
+\@ifpackageloaded{translator}{\glstranslatetrue}{%
+\@ifpackageloaded{babel}{\glstranslatetrue}{}}
+% \end{macrocode}
+% Set the long form of the acronym in footnote on first use.
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[glsacr]{footnote}[true]{%
+\ifthenelse{\boolean{glsacrdescription}}{}%
+{\renewcommand*{\@gls@sanitizedesc}{}}%
+}
+% \end{macrocode}
+% Allow acronyms to have a description (needs to be set using
+% the \gloskey{description} key in the optional argument of
+% \ics{newacronym}).
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[glsacr]{description}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+% \end{macrocode}
+% Define \ics{newacronym} to set the short form in small capitals.
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[glsacr]{smallcaps}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+% \end{macrocode}
+% Define \ics{newacronym} to always use the long forms
+% (i.e.\ don't use acronyms)
+% \begin{macrocode}
+\define@boolkey{glossaries.sty}[glsacr]{dua}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+% \end{macrocode}
+%
+%
% Process package options:
% \begin{macrocode}
\ProcessOptionsX
@@ -1487,7 +2231,7 @@ name=true]{%
%\subsection{Default values}\label{sec:predefinednames}
% This section sets up default values that are used by this
% package. Some of the names may already be defined (e.g.\ by
-% \styname{babel}) so \cs{providecommand} is used.
+% \isty{babel}) so \cs{providecommand} is used.
%
% Main glossary title:
%\begin{macro}{\glossaryname}
@@ -1544,142 +2288,25 @@ name=true]{%
% babel support}. Thanks to everyone who contributed to the
% translations from both comp.text.tex and via email.
% \begin{macrocode}
-\@ifpackageloaded{babel}{%
-% \end{macrocode}
-% English:
-% \begin{macrocode}
-\addto\captionsenglish{%
-\renewcommand*{\glossaryname}{Glossary}%
-\renewcommand*{\acronymname}{Acronyms}%
-\renewcommand*{\entryname}{Notation}%
-\renewcommand*{\descriptionname}{Description}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Page List}%
-\renewcommand*{\glssymbolsgroupname}{Symbols}%
-\renewcommand*{\glsnumbersgroupname}{Numbers}%
-}%
-% \end{macrocode}
-% German (quite a few variations were suggested for German,
-% I settled on the following):
-% \begin{macrocode}
-\addto\captionsgerman{%
-\renewcommand*{\glossaryname}{Glossar}%
-\renewcommand*{\acronymname}{Akronyme}%
-\renewcommand*{\entryname}{Bezeichnung}%
-\renewcommand*{\descriptionname}{Beschreibung}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Seiten}%
-\renewcommand*{\glssymbolsgroupname}{Symbole}%
-\renewcommand*{\glsnumbersgroupname}{Zahlen}}
-% \end{macrocode}
-% ngerman is identical to German:
-% \begin{macrocode}
-\addto\captionsngerman{%
-\renewcommand*{\glossaryname}{Glossar}%
-\renewcommand*{\acronymname}{Akronyme}%
-\renewcommand*{\entryname}{Bezeichnung}%
-\renewcommand*{\descriptionname}{Beschreibung}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Seiten}%
-\renewcommand*{\glssymbolsgroupname}{Symbole}%
-\renewcommand*{\glsnumbersgroupname}{Zahlen}}
-% \end{macrocode}
-% Italian:
-% \begin{macrocode}
-\addto\captionsitalian{%
-\renewcommand*{\glossaryname}{Glossario}%
-\renewcommand*{\acronymname}{Acronimi}%
-\renewcommand*{\entryname}{Nomenclatura}%
-\renewcommand*{\descriptionname}{Descrizione}%
-\renewcommand*{\symbolname}{Simbolo}%
-\renewcommand*{\pagelistname}{Elenco delle pagine}%
-\renewcommand*{\glssymbolsgroupname}{Simboli}%
-\renewcommand*{\glsnumbersgroupname}{Numeri}}
-% \end{macrocode}
-% Dutch:
-% \begin{macrocode}
-\addto\captionsdutch{%
-\renewcommand*{\glossaryname}{Woordenlijst}%
-\renewcommand*{\acronymname}{Acroniemen}%
-\renewcommand*{\entryname}{Benaming}%
-\renewcommand*{\descriptionname}{Beschrijving}%
-\renewcommand*{\symbolname}{Symbool}%
-\renewcommand*{\pagelistname}{Pagina's}%
-\renewcommand*{\glssymbolsgroupname}{Symbolen}%
-\renewcommand*{\glsnumbersgroupname}{Cijfers}}
-% \end{macrocode}
-% Spanish:
-% \begin{macrocode}
-\addto\captionsspanish{%
-\renewcommand*{\glossaryname}{Glosario}%
-\renewcommand*{\acronymname}{Siglas}%
-\renewcommand*{\entryname}{Entrada}%
-\renewcommand*{\descriptionname}{Descripci\'on}%
-\renewcommand*{\symbolname}{S\'{\i}mbolo}%
-\renewcommand*{\pagelistname}{Lista de p\'aginas}%
-\renewcommand*{\glssymbolsgroupname}{S\'{\i}mbolos}%
-\renewcommand*{\glsnumbersgroupname}{N\'umeros}}
-% \end{macrocode}
-% French:
-% \begin{macrocode}
-\addto\captionsfrench{%
-\renewcommand*{\glossaryname}{Glossaire}%
-\renewcommand*{\acronymname}{Acronymes}%
-\renewcommand*{\entryname}{Terme}%
-\renewcommand*{\descriptionname}{Description}%
-\renewcommand*{\symbolname}{Symbole}%
-\renewcommand*{\pagelistname}{Pages}%
-\renewcommand*{\glssymbolsgroupname}{Symboles}%
-\renewcommand*{\glsnumbersgroupname}{Nombres}}
-% \end{macrocode}
-% Danish:
-% \begin{macrocode}
-\addto\captionsdanish{%
-\renewcommand*{\glossaryname}{Ordliste}%
-\renewcommand*{\acronymname}{Akronymer}%
-\renewcommand*{\entryname}{Symbolforklaring}%
-\renewcommand*{\descriptionname}{Beskrivelse}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Side}%
-\renewcommand*{\glssymbolsgroupname}{Symboler}%
-\renewcommand*{\glsnumbersgroupname}{Tal}}
-% \end{macrocode}
-% Irish:
-% \begin{macrocode}
-\addto\captionsirish{%
-\renewcommand*{\glossaryname}{Gluais}%
-\renewcommand*{\acronymname}{Acrainmneacha}% 'Acronyms'
-% \end{macrocode}
-% wasn't sure whether to go for N\'ota (Note), Ciall (`Meaning',
-% `sense') ot Br\'{\i} (`Meaning'). In the end I chose Ciall.
-% \begin{macrocode}
-\renewcommand*{\entryname}{Ciall}%
-\renewcommand*{\descriptionname}{Tuairisc}%
-% \end{macrocode}
-% Again, not sure whether to use Comhartha/Comhartha\'{\i} or
-% Siombail/Siombaile, so have chosen the former.
-% \begin{macrocode}
-\renewcommand*{\symbolname}{Comhartha}%
-\renewcommand*{\glssymbolsgroupname}{Comhartha\'{\i}}%OR
-\renewcommand*{\pagelistname}{Leathanaigh}%
-\renewcommand*{\glsnumbersgroupname}{Uimhreacha}}
-% \end{macrocode}
-% Hungarian:
-% \begin{macrocode}
-\addto\captionsmagyar{%
-\renewcommand*{\glossaryname}{Sz\'ojegyz\'ek}%
-\renewcommand*{\acronymname}{Bet\H uszavak}%
-\renewcommand*{\entryname}{Kifejez\'es}%
-\renewcommand*{\descriptionname}{Magyar\'azat}%
-\renewcommand*{\symbolname}{Jel\"ol\'es}%
-\renewcommand*{\pagelistname}{Oldalsz\'am}%
-\renewcommand*{\glssymbolsgroupname}{Jelek}%
-\renewcommand*{\glsnumbersgroupname}{Sz\'amjegyek}%
-}
-% \end{macrocode}
-% babel not loaded:
-% \begin{macrocode}
-}{}
+\ifglstranslate
+% \end{macrocode}
+% If \isty{translator} is not install, used standard
+% \isty{babel} captions, otherwise load \isty{translator}
+% dictionary.
+%\changes{1.1}{2008 Feb 22}{Added support for translator package}
+% \begin{macrocode}
+\@ifpackageloaded{translator}{\usedictionary{glossaries-dictionary}%
+\renewcommand*{\glossaryname}{\translate{Glossary}}%
+\renewcommand*{\acronymname}{\translate{Acronyms}}%
+\renewcommand*{\entryname}{\translate{Notation (glossaries)}}%
+\renewcommand*{\descriptionname}{\translate{Description (glossaries)}}%
+\renewcommand*{\symbolname}{\translate{Symbol (glossaries)}}%
+\renewcommand*{\pagelistname}{\translate{Page List (glossaries)}}%
+\renewcommand*{\glssymbolsgroupname}{\translate{Symbols (glossaries)}}%
+\renewcommand*{\glsnumbersgroupname}{\translate{Numbers (glossaries)}}%
+}{%
+\@ifpackageloaded{babel}{\RequirePackage{glossaries-babel}}{}}
+\fi
% \end{macrocode}
% The description terminator is given by \cs{glspostdescription}
% (except for the 3 and 4 column styles). This is a full stop
@@ -1692,10 +2319,10 @@ name=true]{%
%
% The name of the \appname{makeindex} style file is given by
% \cs{istfilename}. This file is
-% created by \icmdname{writeist} (which is used by
-% \icmdname{makeglossaries}) so
+% created by \ics{writeist} (which is used by
+% \ics{makeglossaries}) so
% redefining this command will only have an effect if it is
-% done \emph{before} the \filetype{ist} file is created.
+% done \emph{before} the \filetype{.ist} file is created.
%\begin{macro}{\istfilename}
% \begin{macrocode}
\providecommand*{\istfilename}{\jobname.ist}
@@ -1727,10 +2354,10 @@ name=true]{%
%
% The command \cs{glsnumberformat} indicates the default
% format for the page numbers in the glossary. (Note that this
-% is not the same as \icmdname{glossaryentrynumbers}, but applies
+% is not the same as \ics{glossaryentrynumbers}, but applies
% to individual numbers or groups of numbers within an entry's
% associated number list.) If hyperlinks are defined, it will use
-% \icmdname{glshypernumber}, otherwise it will simply display its
+% \ics{glshypernumber}, otherwise it will simply display its
% argument ``as is''.
%\begin{macro}{\glsnumberformat}
% \begin{macrocode}
@@ -1768,9 +2395,9 @@ name=true]{%
% change \cs{glossarypreamble}.) The preamble is empty by
% default. If you have multiple glossaries, and you want a
% different preamble for each glossary, you will need to use
-% \icmdname{printglossary} for each glossary type, instead of
-% \icmdname{printglossaries}, and redefine \cs{glossarypreamble}
-% before each \icmdname{printglossary}.
+% \ics{printglossary} for each glossary type, instead of
+% \ics{printglossaries}, and redefine \cs{glossarypreamble}
+% before each \ics{printglossary}.
%\begin{macro}{\glossarypreamble}
% \begin{macrocode}
\newcommand*{\glossarypreamble}{}
@@ -1782,7 +2409,7 @@ name=true]{%
% add something after the end of the \envname{theglossary}
% environment (again, this shouldn't be affected by the
% glossary style.) It is, of course, possible to simply add the
-% text after \icmdname{printglossary}, but if you only want the
+% text after \ics{printglossary}, but if you only want the
% postamble to appear after the first glossary, but not after
% subsequent glossaries, you can do something like:
%\begin{verbatim}
@@ -1798,7 +2425,7 @@ name=true]{%
% The sectioning command that starts a glossary is given by
% \cs{glossarysection}. (This does not form part of the
% glossary style, and so should not be changed by a glossary
-% style.) If \icmdname{phantomsection}
+% style.) If \ics{phantomsection}
% is defined, it uses \cs{\@p@glossarysection}, otherwise it
% uses \cs{@glossarysection}.
%\changes{1.05}{2007 Aug 10}{added '@mkboth to 'glossarysection}
@@ -1815,31 +2442,52 @@ name=true]{%
%
% The required sectional unit is given by \cs{@@glossarysec}
% which was defined by the \pkgopt{section} package option. The
-% starred form of the command is chosen. If you want a numbered
-% section for the glossary or if you don't want any sectional
+% starred form of the command is chosen. If you don't want any sectional
% command, you will need to redefine \cs{glossarysection}.
+% The sectional unit can be changed, if different sectional units
+% are required.
+%\begin{macro}{\setglossarysection}
+%\changes{1.1}{2008 Feb 22}{new}
+% \begin{macrocode}
+\newcommand*{\setglossarysection}[1]{%
+\setkeys{glossaries.sty}{section=#1}}
+% \end{macrocode}
+%\end{macro}
%
%The command \cs{@glossarysection} indicates how to start
-% the glossary section if \icmdname{phantomsection} is not defined.
+% the glossary section if \ics{phantomsection} is not defined.
%\begin{macro}{\@glossarysection}
+%\changes{1.1}{2008 Feb 22}{numbered sections and auto label added}
% \begin{macrocode}
\newcommand*{\@glossarysection}[2]{%
-\csname\@@glossarysec\endcsname*{#2}%
-\@gls@toc{#1}{\@@glossarysec}}
+\ifx\@@glossarysecstar\@empty
+ \csname\@@glossarysec\endcsname{#2}%
+\else
+ \csname\@@glossarysec\endcsname*{#2}%
+ \@gls@toc{#1}{\@@glossarysec}%
+\fi
+\@@glossaryseclabel}
% \end{macrocode}
%\end{macro}
%
% As \cs{@glossarysection}, but put in
-% \icmdname{phantomsection}, and swap where \cs{@gls@toc} goes.
+% \ics{phantomsection}, and swap where \cs{@gls@toc} goes.
% If using chapters do a \cs{clearpage}. This ensures that
% the hyper link from the table of contents leads to the line above
% the heading, rather than the line below it.
%\begin{macro}{\@p@glossarysection}
+%\changes{1.1}{2008 Feb 22}{numbered sections and auto label added}
% \begin{macrocode}
\newcommand*{\@p@glossarysection}[2]{%
\gls@doclearpage
-\phantomsection\@gls@toc{#1}{\@@glossarysec}%
-\csname\@@glossarysec\endcsname*{#2}}
+\phantomsection
+\ifx\@@glossarysecstar\@empty
+ \csname\@@glossarysec\endcsname{#2}%
+\else
+ \@gls@toc{#1}{\@@glossarysec}%
+ \csname\@@glossarysec\endcsname*{#2}%
+\fi
+\@@glossaryseclabel}
% \end{macrocode}
%\end{macro}
%
@@ -1858,13 +2506,20 @@ name=true]{%
%
% The glossary is added to the table of contents if glstoc flag set.
% If it is set, \cs{@gls@toc} will add a line to the
-% \filetype{toc} file, otherwise it will do nothing.
+% \filetype{.toc} file, otherwise it will do nothing.
% (The first argument to \cs{@gls@toc} is the title for the
% table of contents, the second argument is the sectioning type.)
%\begin{macro}{\@gls@toc}
+%\changes{1.1}{2008 Feb 22}{numberline added}
% \begin{macrocode}
\newcommand*{\@gls@toc}[2]{%
-\ifglstoc \addcontentsline{toc}{#2}{#1}\fi}
+\ifglstoc
+ \ifglsnumberline
+ \addcontentsline{toc}{#2}{\numberline{}#1}%
+ \else
+ \addcontentsline{toc}{#2}{#1}%
+ \fi
+\fi}
% \end{macrocode}
%\end{macro}
%
@@ -1971,7 +2626,7 @@ been defined.}{}}{#2}}
% in \cs{@glo@types}. When a new glossary type
% is created, its identifying name is added to this list.
% This is used by commands that iterate through all glossaries
-% (such as \icmdname{makeglossaries} and \icmdname{printglossaries}.)
+% (such as \ics{makeglossaries} and \ics{printglossaries}.)
%\begin{macro}{\@glo@types}
% \begin{macrocode}
\newcommand*{\@glo@types}{,}
@@ -1983,12 +2638,12 @@ been defined.}{}}{#2}}
%\marg{title}\oarg{counter}\\[10pt]%
% where \meta{log-ext} is the extension of the \appname{makeindex}
% transcript file, \meta{in-ext} is the extension of the glossary
-% input file (read in by \icmdname{printglossary} and created by
+% input file (read in by \ics{printglossary} and created by
% \appname{makeindex}), \meta{out-ext} is the extension of the
% glossary output file which is read in by \appname{makeindex}
-% (lines are written to this file by the \icmdname{glossary} command),
+% (lines are written to this file by the \ics{glossary} command),
% \meta{title} is the title of the glossary that is used in
-% \icmdname{glossarysection} and
+% \ics{glossarysection} and
% \meta{counter} is the default counter to be used by entries
% belonging to this glossary. The \appname{makeglossaries} Perl
% script reads in the relevant extensions from the auxiliary file,
@@ -2024,7 +2679,7 @@ exists}%
% How to display this entry in the document text (uses
% \cs{glsdisplay} and \cs{glsdisplayfirst} by
% default). These can be redefined by the user later if required
-% (see \icmdname{defglsdisplay} and \icmdname{defglsdisplayfirst})
+% (see \ics{defglsdisplay} and \ics{defglsdisplayfirst})
% \begin{macrocode}
\expandafter\gdef\csname gls@#2@display\endcsname{%
\glsdisplay}%
@@ -2033,7 +2688,7 @@ exists}%
% \end{macrocode}
% Find out if the final optional argument has been specified, and
% use it to set the counter associated with this glossary. (Uses
-% \icmdname{glscounter} if no optional argument is present.)
+% \ics{glscounter} if no optional argument is present.)
% \begin{macrocode}
\@ifnextchar[{\@gls@setcounter{#2}}{\@gls@setcounter{#2}[\glscounter]}}}
% \end{macrocode}
@@ -2044,7 +2699,7 @@ exists}%
% \end{macrocode}
%\cs{@newglossary} is used to specify the file extensions
% for the \appname{makeindex} input, output and transcript files.
-% It is written to the auxiliary file by \icmdname{newglossary}.
+% It is written to the auxiliary file by \ics{newglossary}.
% Since it is not used by \LaTeX, \cs{@newglossary} simply
% ignores its arguments.
%\begin{macro}{\@newglossary}
@@ -2072,7 +2727,7 @@ exists}%
%\end{macro}
%
% Define the main glossary. This will be the first glossary to
-% be displayed when using \icmdname{printglossaries}.
+% be displayed when using \ics{printglossaries}.
% \begin{macrocode}
\newglossary{main}{gls}{glo}{\glossaryname}
% \end{macrocode}
@@ -2100,8 +2755,8 @@ exists}%
%
% The \gloskey{description} key is usually only used in
% the glossary, but can be made to appear in the text by redefining
-% \icmdname{glsdisplay} and \icmdname{glsdisplayfirst} (or
-% using \icmdname{defglsdisplay} and \icmdname{defglsdisplayfirst}), however,
+% \ics{glsdisplay} and \ics{glsdisplayfirst} (or
+% using \ics{defglsdisplay} and \ics{defglsdisplayfirst}), however,
% you will have to disable the sanitize option (using the
% \pkgopt{sanitize} package option,
% "sanitize={description=false}", and protect fragile
@@ -2174,12 +2829,12 @@ exists}%
% It is provided for glossary styles that require an associated
% symbol, as well as a name and description. To make this value
% appear in the glossary, you need to redefine
-% \icmdname{glossaryentryfield} so that it uses its fourth parameter.
+% \ics{glossaryentryfield} so that it uses its fourth parameter.
% If you want this value to appear in the text when the term is used
-% by commands like \icmdname{gls}, you will need to change
-% \icmdname{glsdisplay} and \icmdname{glsdisplayfirst} (either
-% explicitly for all glossaries or via \icmdname{defglsdisplay}
-% and \icmdname{defglsdisplayfirst} for individual glossaries.)
+% by commands like \ics{gls}, you will need to change
+% \ics{glsdisplay} and \ics{glsdisplayfirst} (either
+% explicitly for all glossaries or via \ics{defglsdisplay}
+% and \ics{defglsdisplayfirst} for individual glossaries.)
% \begin{macrocode}
\define@key{glossentry}{symbol}{%
\def\@glo@symbol{#1}%
@@ -2289,7 +2944,7 @@ in it}}{%
% Each glossary entry is assigned a conditional of the form
%\cs{ifglo@}\meta{label}\texttt{@flag} which determines
% whether or not the entry has been used (see also
-% \icmdname{ifglsused} defined below.) These flags can
+% \ics{ifglsused} defined below.) These flags can
% be set and unset using the following macros:
%
% The command \cs{glsreset}\marg{label} can be used
@@ -2368,8 +3023,8 @@ in it}}{%
% \subsection{Loading files containing glossary entries}
%\label{sec:load}
% Glossary entries can be defined in an external file.
-% These external files can contain \icmdname{newglossaryentry}
-% and \icmdname{newacronym} commands.\footnote{and any other valid
+% These external files can contain \ics{newglossaryentry}
+% and \ics{newacronym} commands.\footnote{and any other valid
%\LaTeX\ code that can be used in the preamble.}\\[10pt]
% \cs{loadglsentries}\oarg{type}\marg{filename}\\[10pt]
% This command will input the file using \cs{input}.
@@ -2377,8 +3032,8 @@ in it}}{%
% entries should be assigned if they haven't used the \gloskey{type}
% key. If the optional argument is not specified, the default
% glossary is used. Only those entries used in the document (via
-% \icmdname{glslink}, \icmdname{gls}, \icmdname{glspl} and uppercase
-% variants or \icmdname{glsadd} and \icmdname{glsaddall}
+% \ics{glslink}, \ics{gls}, \ics{glspl} and uppercase
+% variants or \ics{glsadd} and \ics{glsaddall}
% will appear in the glossary.) The mandatory argument is
% the filename (with or without .tex extension.)
%\begin{macro}{\loadglsentries}
@@ -2397,15 +3052,15 @@ in it}}{%
%\subsection{Using glossary entries in the text}
%\label{sec:code:glslink}
%
-% Any term that has been defined using \icmdname{newglossaryentry}
-% (or \icmdname{newacronym}) can be displayed in the text
+% Any term that has been defined using \ics{newglossaryentry}
+% (or \ics{newacronym}) can be displayed in the text
% (i.e.\ outside of the glossary) using
% one of the commands defined in this section. Unless you use
-% \icmdname{glslink}, the way the term appears in the text is
-% determined by \icmdname{glsdisplayfirst} (if it is the first
-% time the term has been used) or \icmdname{glsdisplay} (for
+% \ics{glslink}, the way the term appears in the text is
+% determined by \ics{glsdisplayfirst} (if it is the first
+% time the term has been used) or \ics{glsdisplay} (for
% subsequent use.) Any formatting commands (such as \cs{textbf}
-% is governed by \icmdname{glstextformat}. By default this just
+% is governed by \ics{glstextformat}. By default this just
% displays the \term{link text} ``as is''.
%\changes{1.04}{2007 Aug 3}{Added 'glstextformat}%
%\begin{macro}{\glstextformat}
@@ -2421,7 +3076,7 @@ in it}}{%
% \verb|#2| will be the value of the entry's \gloskey{description}
% key, \verb|#3| will be the value of the entry's \gloskey{symbol}
% key and \verb|#4| is additional text supplied by the final optional
-% argument to commands like \icmdname{gls} and \icmdname{glspl}.
+% argument to commands like \ics{gls} and \ics{glspl}.
% The default is to display the first parameter followed by the
% additional text.
%\begin{macro}{\glsdisplayfirst}
@@ -2437,7 +3092,7 @@ in it}}{%
% \verb|#2| will be the value of the entry's \gloskey{description}
% key, \verb|#3| will be the value of the entry's \gloskey{symbol}
% key and \verb|#4| is additional text supplied by the final optional
-% argument to commands like \icmdname{gls} and \icmdname{glspl}.
+% argument to commands like \ics{gls} and \ics{glspl}.
%\begin{macro}{\glsdisplay}
% \begin{macrocode}
\newcommand*{\glsdisplay}[4]{#1#4}
@@ -2448,14 +3103,14 @@ in it}}{%
% and \cs{glsdisplay} as the default way of displaying its
% entry in the text. This can be changed for the entries belonging
% to an individual glossary using
-% \icmdname{defglsdisplay} and \icmdname{defglsdisplayfirst}.
+% \ics{defglsdisplay} and \ics{defglsdisplayfirst}.
%\\[10pt]
% \cs{defglsdisplay}\oarg{type}\marg{definition}\\[10pt]%
% The glossary type is given by \meta{type} (the default glossary
% if omitted) and
% \meta{definition} should have at most \verb|#1|, \verb|#2|,
% \verb|#3| and \verb|#4|. These represent the same arguments
-% as those described for \icmdname{glsdisplay}.
+% as those described for \ics{glsdisplay}.
%\begin{macro}{\defglsdisplay}
% \begin{macrocode}
\newcommand*{\defglsdisplay}[2][\glsdefaulttype]{%
@@ -2468,7 +3123,7 @@ in it}}{%
% if omitted) and
% \meta{definition} should have at most \verb|#1|, \verb|#2|,
% \verb|#3| and \verb|#4|. These represent the same arguments
-% as those described for \icmdname{glsdisplayfirst}.
+% as those described for \ics{glsdisplayfirst}.
%\begin{macro}{\defglsdisplayfirst}
% \begin{macrocode}
\newcommand*{\defglsdisplayfirst}[2][\glsdefaulttype]{%
@@ -2483,7 +3138,7 @@ in it}}{%
% the commands like \cs{gls} have a final optional
% argument that can be used to insert additional text in the
% link (this will usually be appended, but can be redefined using
-% \icmdname{defglsdisplay} and \icmdname{defglsdisplayfirst}).
+% \ics{defglsdisplay} and \ics{defglsdisplayfirst}).
% It goes against the \LaTeX\ norm to have an optional
% argument after the mandatory arguments, but it makes more
% sense to write, say, \verb|\gls{label}['s]| rather than, say,
@@ -2491,7 +3146,8 @@ in it}}{%
% are defined to include the final square bracket, spaces
% will be ignored after them. This is likely to lead to
% confusion as most users would not expect, say, "\gls{"\meta{label}"}"
-% to ignore following spaces, so \icmdname{xspace} is used.
+% to ignore following spaces, so \cs{new@ifnextchar} from the
+% \isty{amsgen} package is required.
%
% The following keys can be used in the first optional
% argument. The \gloskey[glslink]{counter} key checks that the
@@ -2597,7 +3253,6 @@ counter as its value}}{%
% if there is nothing else),
% otherwise set \cs{@glo@prefix} to nothing and
% \cs{@glo@suffix} to all of it.
-%\begin{macro}{\@glo@check@mkidxrangechar}
% \begin{macrocode}
\def\@glo@check@mkidxrangechar#1#2\@nil{%
\if#1(\relax
@@ -2620,7 +3275,6 @@ counter as its value}}{%
\fi
\fi}
% \end{macrocode}
-%\end{macro}
% Catch \appname{makeindex} special characters\mkidxspch:
%\begin{macro}{\@gls@checkmkidxchars}
% \begin{macrocode}
@@ -2655,10 +3309,17 @@ counter as its value}}{%
\def\@gls@updatechecked#1\@nil#2{\def#2{#1}}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\@gls@tmpb}
+%\changes{1.1}{2008 Feb 22}{changed \cs{toksdef} to \cs{newtoks}}
+% Define temporary token
+% \begin{macrocode}
+\newtoks\@gls@tmpb
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkquote}
% Replace \verb|"| with \verb|""| since \verb|"| is a makeindex
% special character\mkidxspch.
% \begin{macrocode}
-\toksdef\@gls@tmpb=2
\def\@gls@checkquote#1"#2"#3\null{%
\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
\toks@={#1}%
@@ -2682,6 +3343,8 @@ counter as its value}}{%
\fi
\@@gls@checkquote}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkescquote}
% Do the same for \verb|\"|:
% \begin{macrocode}
\def\@gls@checkescquote#1\"#2\"#3\null{%
@@ -2708,6 +3371,8 @@ counter as its value}}{%
\fi
\@@gls@checkescquote}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkescactual}
% Similarly for \verb|\?| (which is replaces @ as
% \appname{makeindex}'s special character):
% \begin{macrocode}
@@ -2735,6 +3400,8 @@ counter as its value}}{%
\fi
\@@gls@checkescactual}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkescbar}
% Similarly for \verb"\|":
% \begin{macrocode}
\def\@gls@checkescbar#1\|#2\|#3\null{%
@@ -2761,6 +3428,8 @@ counter as its value}}{%
\fi
\@@gls@checkescbar}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkesclevel}
% Similarly for \verb"\!":
% \begin{macrocode}
\def\@gls@checkesclevel#1\!#2\!#3\null{%
@@ -2787,6 +3456,8 @@ counter as its value}}{%
\fi
\@@gls@checkesclevel}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkbar}
% and for \verb"|":
% \begin{macrocode}
\def\@gls@checkbar#1|#2|#3\null{%
@@ -2812,6 +3483,8 @@ counter as its value}}{%
\fi
\@@gls@checkbar}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checklevel}
% and for \verb"!":
% \begin{macrocode}
\def\@gls@checklevel#1!#2!#3\null{%
@@ -2837,6 +3510,8 @@ counter as its value}}{%
\fi
\@@gls@checklevel}
% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gls@checkactual}
% and for \verb"?":
% \begin{macrocode}
\def\@gls@checkactual#1?#2?#3\null{%
@@ -2862,12 +3537,13 @@ counter as its value}}{%
\fi
\@@gls@checkactual}
% \end{macrocode}
+%\end{macro}
%
-% If \icmdname{hyperlink}
+% If \ics{hyperlink}
% is not defined, \cs{@glslink} and \cs{@glstarget}
% ignore their first argument, and just do the second argument,
-% otherwise they are equivalent to \icmdname{hyperlink} and
-%\icmdname{hypertarget}.
+% otherwise they are equivalent to \ics{hyperlink} and
+%\ics{hypertarget}.
% \begin{macrocode}
\@ifundefined{hyperlink}{%
\gdef\@glslink#1#2{#2}\gdef\@glstarget#1#2{#2}%
@@ -2901,12 +3577,12 @@ counter as its value}}{%
% keys used when the entry was defined.
%
% The first optional argument is a key-value list, the same as
-% \icmdname{glslink}\igloskey[glslink]{hyper}\igloskey[glslink]{format}\igloskey[glslink]{counter},
+% \ics{glslink}\igloskey[glslink]{hyper}\igloskey[glslink]{format}\igloskey[glslink]{counter},
% the mandatory argument is the entry label.
% After the mandatory argument, there is another optional argument
% to insert extra text in the link text (the location of the inserted
-% text is governed by \icmdname{glsdisplay} and
-% \icmdname{glsdisplayfirst}). As with \cs{glslink}
+% text is governed by \ics{glsdisplay} and
+% \ics{glsdisplayfirst}). As with \cs{glslink}
% there is a starred version which is the same as the unstarred
% version but with the \gloskey[glslink]{hyper} key set to \texttt{false}.
% (Additional options can also be specified
@@ -2929,7 +3605,7 @@ counter as its value}}{%
%\begin{macro}{\@gls}
% \begin{macrocode}
\newcommand*{\@gls}[2][]{%
-\@ifnextchar[{\@gls@{#1}{#2}}{\@gls@{#1}{#2}[]}}
+\new@ifnextchar[{\@gls@{#1}{#2}}{\@gls@{#1}{#2}[]}}
% \end{macrocode}
%\end{macro}
% Read in the final optional argument:
@@ -2937,6 +3613,11 @@ counter as its value}}{%
\def\@gls@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
% \end{macrocode}
+% Save options in \cs{@gls@link@opts} and label in \cs{@gls@link@label}
+% \begin{macrocode}
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
% \begin{macrocode}
@@ -2947,15 +3628,24 @@ counter as its value}}{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
% \end{macrocode}
-% Call \cs{@gls@link}
+% Call \cs{@gls@link}.
+% If \pkgopt{footnote} package option has been used, suppress
+% hyperlink for first use.
% \begin{macrocode}
-\@gls@link[#1]{#2}{\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\@glo@text}%
+ \fi
+}%
% \end{macrocode}
-% Indicate that this entry has now been used, and add a space if
-% appropriate
+% Indicate that this entry has now been used
% \begin{macrocode}
\glsunset{#2}}%
-\xspace}
+}
% \end{macrocode}
%
% \cs{Gls} behaves like \cs{gls}, but the first letter
@@ -2976,13 +3666,18 @@ counter as its value}}{%
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Gls}[2][]{%
-\@ifnextchar[{\@Gls@{#1}{#2}}{\@Gls@{#1}{#2}[]}}
+\new@ifnextchar[{\@Gls@{#1}{#2}}{\@Gls@{#1}{#2}[]}}
% \end{macrocode}
% Read in the final optional argument:
% \begin{macrocode}
\def\@Gls@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
% \end{macrocode}
+% Save options in \cs{@gls@link@opts} and label in \cs{@gls@link@label}
+% \begin{macrocode}
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
% \begin{macrocode}
@@ -2994,17 +3689,26 @@ counter as its value}}{%
{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
% \end{macrocode}
% Call \cs{@gls@link}
+% If \pkgopt{footnote} package option has been used, suppress
+% hyperlink for first use.
% \begin{macrocode}
-\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \fi
+}%
% \end{macrocode}
-% Indicate that this entry has now been used, and add a space if
-% appropriate
+% Indicate that this entry has now been used
% \begin{macrocode}
\glsunset{#2}}%
-\xspace}
+}
% \end{macrocode}
%
-% \cs{GLS} behaves like \icmdname{gls}, but the link
+% \cs{GLS} behaves like \ics{gls}, but the link
% text is converted to uppercase:
%\begin{macro}{\GLS}
% \begin{macrocode}
@@ -3019,13 +3723,18 @@ counter as its value}}{%
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLS}[2][]{%
-\@ifnextchar[{\@GLS@{#1}{#2}}{\@GLS@{#1}{#2}[]}}
+\new@ifnextchar[{\@GLS@{#1}{#2}}{\@GLS@{#1}{#2}[]}}
% \end{macrocode}
% Read in the final optional argument:
% \begin{macrocode}
\def\@GLS@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
% \end{macrocode}
+% Save options in \cs{@gls@link@opts} and label in \cs{@gls@link@label}
+% \begin{macrocode}
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
% \begin{macrocode}
@@ -3037,17 +3746,26 @@ counter as its value}}{%
{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
% \end{macrocode}
% Call \cs{@gls@link}
+% If \pkgopt{footnote} package option has been used, suppress
+% hyperlink for first use.
% \begin{macrocode}
-\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}%
+ \else
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+ \fi
+}%
% \end{macrocode}
-% Indicate that this entry has now been used, and add a space if
-% appropriate
+% Indicate that this entry has now been used
% \begin{macrocode}
\glsunset{#2}}%
-\xspace}
+}
% \end{macrocode}
%
-% \cs{glspl} behaves in the same way as \icmdname{gls} except
+% \cs{glspl} behaves in the same way as \ics{gls} except
% it uses the plural form.
%\begin{macro}{\glspl}
% \begin{macrocode}
@@ -3062,13 +3780,18 @@ counter as its value}}{%
% a final optional argument
% \begin{macrocode}
\newcommand*{\@glspl}[2][]{%
-\@ifnextchar[{\@glspl@{#1}{#2}}{\@glspl@{#1}{#2}[]}}
+\new@ifnextchar[{\@glspl@{#1}{#2}}{\@glspl@{#1}{#2}[]}}
% \end{macrocode}
% Read in the final optional argument:
% \begin{macrocode}
\def\@glspl@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
% \end{macrocode}
+% Save options in \cs{@gls@link@opts} and label in \cs{@gls@link@label}
+% \begin{macrocode}
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
% \begin{macrocode}
@@ -3080,19 +3803,28 @@ counter as its value}}{%
{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
% \end{macrocode}
% Call \cs{@gls@link}
+% If \pkgopt{footnote} package option has been used, suppress
+% hyperlink for first use.
% \begin{macrocode}
-\@gls@link[#1]{#2}{\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\@glo@text}%
+ \fi
+}%
% \end{macrocode}
-% Indicate that this entry has now been used, and add a space if
-% appropriate
+% Indicate that this entry has now been used
% \begin{macrocode}
\glsunset{#2}}%
-\xspace}
+}
% \end{macrocode}
%
-% \cs{Glspl} behaves in the same way as \icmdname{glspl}, except
+% \cs{Glspl} behaves in the same way as \ics{glspl}, except
% that the first letter of the link text is converted to uppercase
-% (as with \icmdname{Gls}, if the first letter has an accent, it
+% (as with \ics{Gls}, if the first letter has an accent, it
% will need to be grouped.)
%\begin{macro}{\Glspl}
% \begin{macrocode}
@@ -3107,13 +3839,18 @@ counter as its value}}{%
% a final optional argument
% \begin{macrocode}
\newcommand*{\@Glspl}[2][]{%
-\@ifnextchar[{\@Glspl@{#1}{#2}}{\@Glspl@{#1}{#2}[]}}
+\new@ifnextchar[{\@Glspl@{#1}{#2}}{\@Glspl@{#1}{#2}[]}}
% \end{macrocode}
% Read in the final optional argument:
% \begin{macrocode}
\def\@Glspl@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
% \end{macrocode}
+% Save options in \cs{@gls@link@opts} and label in \cs{@gls@link@label}
+% \begin{macrocode}
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
% \begin{macrocode}
@@ -3125,17 +3862,26 @@ counter as its value}}{%
{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
% \end{macrocode}
% Call \cs{@gls@link}
+% If \pkgopt{footnote} package option has been used, suppress
+% hyperlink for first use.
% \begin{macrocode}
-\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \fi
+}%
% \end{macrocode}
-% Indicate that this entry has now been used, and add a space if
-% appropriate
+% Indicate that this entry has now been used
% \begin{macrocode}
\glsunset{#2}}%
-\xspace}
+}
% \end{macrocode}
%
-% \cs{GLSpl} behaves like \icmdname{glspl} except that all the
+% \cs{GLSpl} behaves like \ics{glspl} except that all the
% link text is converted to uppercase.
%\begin{macro}{\GLSpl}
% \begin{macrocode}
@@ -3150,13 +3896,18 @@ counter as its value}}{%
% a final optional argument
% \begin{macrocode}
\newcommand*{\@GLSpl}[2][]{%
-\@ifnextchar[{\@GLSpl@{#1}{#2}}{\@GLSpl@{#1}{#2}[]}}
+\new@ifnextchar[{\@GLSpl@{#1}{#2}}{\@GLSpl@{#1}{#2}[]}}
% \end{macrocode}
% Read in the final optional argument:
% \begin{macrocode}
\def\@GLSpl@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
% \end{macrocode}
+% Save options in \cs{@gls@link@opts} and label in \cs{@gls@link@label}
+% \begin{macrocode}
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
+% \end{macrocode}
% Determine what the link text should be (this is stored in
% \cs{@glo@text})
% \begin{macrocode}
@@ -3168,14 +3919,786 @@ counter as its value}}{%
{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
% \end{macrocode}
% Call \cs{@gls@link}
+% If \pkgopt{footnote} package option has been used, suppress
+% hyperlink for first use.
% \begin{macrocode}
-\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}%
+ \else
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+ \fi
+}%
% \end{macrocode}
-% Indicate that this entry has now been used, and add a space if
-% appropriate
+% Indicate that this entry has now been used
% \begin{macrocode}
\glsunset{#2}}%
-\xspace}
+}
+% \end{macrocode}
+%
+% \cs{glstext} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{text} key and it doesn't mark the entry as
+% used.
+%\begin{macro}{\glstext}
+% \begin{macrocode}
+\newcommand*{\glstext}{\@ifstar\@sglstext\@glstext}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglstext}[1][]{\@glstext[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glstext}[2][]{%
+\new@ifnextchar[{\@glstext@{#1}{#2}}{\@glstext@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glstext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLStext} behaves like \cs{glstext} except the text is converted
+% to uppercase.
+%\begin{macro}{\GLStext}
+% \begin{macrocode}
+\newcommand*{\GLStext}{\@ifstar\@sGLStext\@GLStext}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLStext}[1][]{\@GLStext[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLStext}[2][]{%
+\new@ifnextchar[{\@GLStext@{#1}{#2}}{\@GLStext@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLStext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glstext} behaves like \cs{glstext} except that the first letter
+% of the text is converted to uppercase.
+%\begin{macro}{\Glstext}
+% \begin{macrocode}
+\newcommand*{\Glstext}{\@ifstar\@sGlstext\@Glstext}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlstext}[1][]{\@Glstext[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glstext}[2][]{%
+\new@ifnextchar[{\@Glstext@{#1}{#2}}{\@Glstext@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glstext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{glsfirst} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{first} key and it doesn't mark the entry as
+% used.
+%\begin{macro}{\glsfirst}
+% \begin{macrocode}
+\newcommand*{\glsfirst}{\@ifstar\@sglsfirst\@glsfirst}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglsfirst}[1][]{\@glsfirst[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glsfirst}[2][]{%
+\new@ifnextchar[{\@glsfirst@{#1}{#2}}{\@glsfirst@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glsfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glsfirst} behaves like \ics{glsfirst} except it displays the
+% first letter in uppercase.
+%\begin{macro}{\Glsfirst}
+% \begin{macrocode}
+\newcommand*{\Glsfirst}{\@ifstar\@sGlsfirst\@Glsfirst}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlsfirst}[1][]{\@Glsfirst[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glsfirst}[2][]{%
+\new@ifnextchar[{\@Glsfirst@{#1}{#2}}{\@Glsfirst@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glsfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLSfirst} behaves like \ics{Glsfirst} except it displays the
+% text in uppercase.
+%\begin{macro}{\GLSfirst}
+% \begin{macrocode}
+\newcommand*{\GLSfirst}{\@ifstar\@sGLSfirst\@GLSfirst}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLSfirst}[1][]{\@GLSfirst[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLSfirst}[2][]{%
+\new@ifnextchar[{\@GLSfirst@{#1}{#2}}{\@GLSfirst@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLSfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{glsplural} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{plural} key and it doesn't mark the entry as
+% used.
+%\begin{macro}{\glsplural}
+% \begin{macrocode}
+\newcommand*{\glsplural}{\@ifstar\@sglsplural\@glsplural}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglsplural}[1][]{\@glsplural[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glsplural}[2][]{%
+\new@ifnextchar[{\@glsplural@{#1}{#2}}{\@glsplural@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glsplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glsplural} behaves like \ics{glsplural} except that the first
+% letter is converted to uppercase.
+%\begin{macro}{\Glsplural}
+% \begin{macrocode}
+\newcommand*{\Glsplural}{\@ifstar\@sGlsplural\@Glsplural}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlsplural}[1][]{\@Glsplural[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glsplural}[2][]{%
+\new@ifnextchar[{\@Glsplural@{#1}{#2}}{\@Glsplural@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glsplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLSplural} behaves like \ics{glsplural} except that the
+% text is converted to uppercase.
+%\begin{macro}{\GLSplural}
+% \begin{macrocode}
+\newcommand*{\GLSplural}{\@ifstar\@sGLSplural\@GLSplural}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLSplural}[1][]{\@GLSplural[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLSplural}[2][]{%
+\new@ifnextchar[{\@GLSplural@{#1}{#2}}{\@GLSplural@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLSplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{glsfirstplural} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{firstplural} key and it doesn't mark the entry as
+% used.
+%\begin{macro}{\glsfirstplural}
+% \begin{macrocode}
+\newcommand*{\glsfirstplural}{\@ifstar\@sglsfirstplural\@glsfirstplural}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglsfirstplural}[1][]{\@glsfirstplural[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glsfirstplural}[2][]{%
+\new@ifnextchar[{\@glsfirstplural@{#1}{#2}}{\@glsfirstplural@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glsfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glsfirstplural} behaves like \ics{glsfirstplural} except that the
+% first letter is converted to uppercase.
+%\begin{macro}{\Glsfirstplural}
+% \begin{macrocode}
+\newcommand*{\Glsfirstplural}{\@ifstar\@sGlsfirstplural\@Glsfirstplural}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlsfirstplural}[1][]{\@Glsfirstplural[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glsfirstplural}[2][]{%
+\new@ifnextchar[{\@Glsfirstplural@{#1}{#2}}{\@Glsfirstplural@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glsfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLSfirstplural} behaves like \ics{glsfirstplural} except that the
+% link text is converted to uppercase.
+%\begin{macro}{\GLSfirstplural}
+% \begin{macrocode}
+\newcommand*{\GLSfirstplural}{\@ifstar\@sGLSfirstplural\@GLSfirstplural}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLSfirstplural}[1][]{\@GLSfirstplural[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLSfirstplural}[2][]{%
+\new@ifnextchar[{\@GLSfirstplural@{#1}{#2}}{\@GLSfirstplural@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLSfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{glsname} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{name} key and it doesn't mark the entry as
+% used.
+%\begin{macro}{\glsname}
+% \begin{macrocode}
+\newcommand*{\glsname}{\@ifstar\@sglsname\@glsname}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglsname}[1][]{\@glsname[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glsname}[2][]{%
+\new@ifnextchar[{\@glsname@{#1}{#2}}{\@glsname@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glsname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryname{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glsname} behaves like \ics{glsname} except that the
+% first letter is converted to uppercase.
+%\begin{macro}{\Glsname}
+% \begin{macrocode}
+\newcommand*{\Glsname}{\@ifstar\@sGlsname\@Glsname}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlsname}[1][]{\@Glsname[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glsname}[2][]{%
+\new@ifnextchar[{\@Glsname@{#1}{#2}}{\@Glsname@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glsname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryname{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLSname} behaves like \ics{glsname} except that the
+% link text is converted to uppercase.
+%\begin{macro}{\GLSname}
+% \begin{macrocode}
+\newcommand*{\GLSname}{\@ifstar\@sGLSname\@GLSname}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLSname}[1][]{\@GLSname[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLSname}[2][]{%
+\new@ifnextchar[{\@GLSname@{#1}{#2}}{\@GLSname@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLSname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryname{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{glsdesc} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{description} key and it doesn't mark the entry
+% as used.
+%\begin{macro}{\glsdesc}
+% \begin{macrocode}
+\newcommand*{\glsdesc}{\@ifstar\@sglsdesc\@glsdesc}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglsdesc}[1][]{\@glsdesc[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glsdesc}[2][]{%
+\new@ifnextchar[{\@glsdesc@{#1}{#2}}{\@glsdesc@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glsdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrydesc{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glsdesc} behaves like \ics{glsdesc} except that the
+% first letter is converted to uppercase.
+%\begin{macro}{\Glsdesc}
+% \begin{macrocode}
+\newcommand*{\Glsdesc}{\@ifstar\@sGlsdesc\@Glsdesc}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlsdesc}[1][]{\@Glsdesc[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glsdesc}[2][]{%
+\new@ifnextchar[{\@Glsdesc@{#1}{#2}}{\@Glsdesc@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glsdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrydesc{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLSdesc} behaves like \ics{glsdesc} except that the
+% link text is converted to uppercase.
+%\begin{macro}{\GLSdesc}
+% \begin{macrocode}
+\newcommand*{\GLSdesc}{\@ifstar\@sGLSdesc\@GLSdesc}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLSdesc}[1][]{\@GLSdesc[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLSdesc}[2][]{%
+\new@ifnextchar[{\@GLSdesc@{#1}{#2}}{\@GLSdesc@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLSdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrydesc{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{glssymbol} behaves like \ics{gls} except it always uses the value
+% given by the \gloskey{symbol} key and it doesn't mark the entry as
+% used.
+%\begin{macro}{\glssymbol}
+% \begin{macrocode}
+\newcommand*{\glssymbol}{\@ifstar\@sglssymbol\@glssymbol}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sglssymbol}[1][]{\@glssymbol[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@glssymbol}[2][]{%
+\new@ifnextchar[{\@glssymbol@{#1}{#2}}{\@glssymbol@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@glssymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrysymbol{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{Glssymbol} behaves like \ics{glssymbol} except that the
+% first letter is converted to uppercase.
+%\begin{macro}{\Glssymbol}
+% \begin{macrocode}
+\newcommand*{\Glssymbol}{\@ifstar\@sGlssymbol\@Glssymbol}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGlssymbol}[1][]{\@Glssymbol[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@Glssymbol}[2][]{%
+\new@ifnextchar[{\@Glssymbol@{#1}{#2}}{\@Glssymbol@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@Glssymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrysymbol{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+% \end{macrocode}
+%
+% \cs{GLSsymbol} behaves like \ics{glssymbol} except that the
+% link text is converted to uppercase.
+%\begin{macro}{\GLSsymbol}
+% \begin{macrocode}
+\newcommand*{\GLSsymbol}{\@ifstar\@sGLSsymbol\@GLSsymbol}
+% \end{macrocode}
+%\end{macro}
+% Define the starred form:
+% \begin{macrocode}
+\newcommand*{\@sGLSsymbol}[1][]{\@GLSsymbol[hyper=false,#1]}
+% \end{macrocode}
+% Defined the un-starred form. Need to determine if there is
+% a final optional argument
+% \begin{macrocode}
+\newcommand*{\@GLSsymbol}[2][]{%
+\new@ifnextchar[{\@GLSsymbol@{#1}{#2}}{\@GLSsymbol@{#1}{#2}[]}}
+% \end{macrocode}
+% Read in the final optional argument:
+% \begin{macrocode}
+\def\@GLSsymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+% \end{macrocode}
+% Determine what the link text should be (this is stored in
+% \cs{@glo@text})
+% \begin{macrocode}
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrysymbol{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+% \end{macrocode}
+% Call \cs{@gls@link}
+% \begin{macrocode}
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
% \end{macrocode}
%
% \subsubsection{Displaying entry details without adding
@@ -3376,10 +4899,10 @@ counter as its value}}{%
%
%\subsection{Creating associated files}
% The \cs{writeist} command creates the associated
-% customized \filetype{ist} \appname{makeindex} style file.
+% customized \filetype{.ist} \appname{makeindex} style file.
% While defining this command, some characters have their
% catcodes temporarily changed to ensure they get written to
-% the \filetype{ist} file correctly. The \appname{makeindex}
+% the \filetype{.ist} file correctly. The \appname{makeindex}
% actual character (usually "@") is redefined to be a "?", to allow
% internal commands to be written to the glossary file output file.
%
@@ -3392,14 +4915,14 @@ counter as its value}}{%
% needs to worry about \appname{makeindex} special characters.)
%
% The symbols and numbers label for group headings are hardwired into
-% the \filetype{ist} file as \texttt{glssymbols} and
+% the \filetype{.ist} file as \texttt{glssymbols} and
% \texttt{glsnumbers}, the group titles can be translated
-% (so that \icmdname{glssymbolsgroupname} replaces \texttt{glssymbols}
-% and \icmdname{glsnumbersgroupname} replaces \texttt{glsnumbers})
-% using the command \icmdname{glsgetgrouptitle} which is
-% defined in \styname{glossary-hypernav}. This is done to prevent
-% any problem characters in \icmdname{glssymbolsgroupname}
-% and \icmdname{glsnumbersgroupname} from breaking hyperlinks.
+% (so that \ics{glssymbolsgroupname} replaces \texttt{glssymbols}
+% and \ics{glsnumbersgroupname} replaces \texttt{glsnumbers})
+% using the command \ics{glsgetgrouptitle} which is
+% defined in \isty{glossary-hypernav}. This is done to prevent
+% any problem characters in \ics{glssymbolsgroupname}
+% and \ics{glsnumbersgroupname} from breaking hyperlinks.
%
% Some of these lines are too long to fit on the page, but as I
% have temporarily disabled the comment character, I can't split
@@ -3449,10 +4972,10 @@ counter as its value}}{%
%\end{macro}
%
%The command \cs{noist} will suppress the creation of
-% the \filetype{ist} file (it simply redefines
+% the \filetype{.ist} file (it simply redefines
% \cs{writeist} to do nothing.) Obviously you need to use this
% command before \cs{writeist} to have any effect. Since
-% the \filetype{ist} file should only be created once, \cs{noist}
+% the \filetype{.ist} file should only be created once, \cs{noist}
% is called at the end of \cs{writeist}.
%\begin{macro}{\noist}
% \begin{macrocode}
@@ -3464,9 +4987,9 @@ counter as its value}}{%
% argument indicating the glossary type. This command will
% create the glossary file required by \appname{makeindex} for the
% given glossary type, using the extension supplied by the
-% \meta{out-ext} parameter used in \icmdname{newglossary}
-% (and it will also activate the \icmdname{glossary} command,
-% and create the customized \filetype{ist} \appname{makeindex}
+% \meta{out-ext} parameter used in \ics{newglossary}
+% (and it will also activate the \ics{glossary} command,
+% and create the customized \filetype{.ist} \appname{makeindex}
% style file.)
%
% Note that you can't use \cs{@makeglossary} for only some of the
@@ -3611,13 +5134,13 @@ to move \string\makeglossaries\space after all your
% \end{macrocode}
%\end{macro}
% The keys that can be used in the optional argument to
-% \icmdname{printglossary} are as follows:
+% \ics{printglossary} are as follows:
% The \gloskey[printglossary]{type} key sets the glossary type.
% \begin{macrocode}
\define@key{printgloss}{type}{\def\@glo@type{#1}}
% \end{macrocode}
% The \gloskey[printglossary]{title} key sets the title used in the glossary section
-% header. This overrides the title used in \icmdname{newglossary}.
+% header. This overrides the title used in \ics{newglossary}.
% \begin{macrocode}
\define@key{printgloss}{title}{\def\glossarytitle{#1}}
% \end{macrocode}
@@ -3715,8 +5238,8 @@ style `#1' undefined}{}}{%
% This command produces the title for the glossary group
% whose label is given by \meta{label}. By default, the group
% labelled \texttt{glssymbols} produces
-% \icmdname{glssymbolsgroupname}, the group labelled
-% \texttt{glsnumbers} produces \icmdname{glsnumbersgroupname}
+% \ics{glssymbolsgroupname}, the group labelled
+% \texttt{glsnumbers} produces \ics{glsnumbersgroupname}
% and all the other groups simply produce their label.
% As mentioned above, the group labels are: \texttt{glssymbols}, \texttt{glsnumbers},
% \texttt{A}, \ldots, \texttt{Z}\@. If you want to redefine
@@ -3743,9 +5266,9 @@ style `#1' undefined}{}}{%
%
% The command \cs{setentrycounter} sets the entry's
% associated counter (required by
-% \cs{glshypernumber} etc.) \icmdname{glslink} and
-% \icmdname{glsadd} encode the
-% \icmdname{glossary} argument so that the relevant counter is
+% \cs{glshypernumber} etc.) \ics{glslink} and
+% \ics{glsadd} encode the
+% \ics{glossary} argument so that the relevant counter is
% set prior to the formatting command.
%\begin{macro}{\setentrycounter}
% \begin{macrocode}
@@ -3767,12 +5290,12 @@ style `#1' undefined}{}}{%
% New glossary styles can be defined using:\\[10pt]
% \cs{newglossarystyle}\marg{name}\marg{definition}\\[10pt]
% The \meta{definition} argument should redefine
-% \envname{theglossary}, \icmdname{glossaryheader},
-% \icmdname{glsgroupheading}, \icmdname{glossaryentryfield} and
-% \icmdname{glsgroupskip} (see \autoref{sec:styles} for the
+% \envname{theglossary}, \ics{glossaryheader},
+% \ics{glsgroupheading}, \ics{glossaryentryfield} and
+% \ics{glsgroupskip} (see \autoref{sec:code:styles} for the
% definitions of predefined styles.) Glossary styles should not
-% redefine \icmdname{glossarypreamble} and
-% \icmdname{glossarypostamble}, as
+% redefine \ics{glossarypreamble} and
+% \ics{glossarypostamble}, as
% the user should be able to switch between styles without affecting
% the pre- and postambles.
%\begin{macro}{\newglossarystyle}
@@ -3785,13 +5308,13 @@ style `#1' undefined}{}}{%
%\end{macro}
%
% Glossary entries are encoded so that the second argument
-% to \icmdname{glossaryentryfield} is always specified as
+% to \ics{glossaryentryfield} is always specified as
% \cs{glsnamefont}\marg{name}. This allows the
% user to change the font used to display the name term
-% without having to redefine \icmdname{glossaryentryfield}.
+% without having to redefine \ics{glossaryentryfield}.
% The default uses the surrounding font, so in the list type
% styles (which place the name in the optional argument to
-% \icmdname{item}) the name will appear in bold.
+% \ics{item}) the name will appear in bold.
%\begin{macro}{\glsnamefont}
% \begin{macrocode}
\newcommand*{\glsnamefont}[1]{#1}
@@ -3801,22 +5324,22 @@ style `#1' undefined}{}}{%
% Each glossary entry has an associated number list (usually page
% numbers) that indicate where in the document the entry has been
% used. The format for these number lists can be changed using the
-% \gloskey[glslink]{format}\igloskey[glsadd]{format} key in commands like \icmdname{glslink}.
+% \gloskey[glslink]{format}\igloskey[glsadd]{format} key in commands like \ics{glslink}.
% The default format is given by \cs{glshypernumber}. This takes
% a single argument which may be a single number, a number range
% or a number list. The number ranges are delimited with
-% \icmdname{delimR}, the number lists are delimited with
-% \icmdname{delimN}.
+% \ics{delimR}, the number lists are delimited with
+% \ics{delimN}.
%
% If the document doesn't have hyperlinks, the numbers can be
% displayed just as they are, but if the document supports
% hyperlinks, the numbers should link to the relevant location.
% This means extracting the individual numbers from the list or
-% ranges. The \styname{hyperref} package does this with the
-% \icmdname{hyperpage} command, but this is encoded for comma and
+% ranges. The \isty{hyperref} package does this with the
+% \ics{hyperpage} command, but this is encoded for comma and
% dash delimiters and only for the page counter, but this code needs
% to be more general. So I have adapted the code used in the
-% \styname{hyperref} package.
+% \isty{hyperref} package.
%\begin{macro}{\glshypernumber}
% \begin{macrocode}
\@ifundefined{hyperlink}{%
@@ -3942,31 +5465,32 @@ style `#1' undefined}{}}{%
% new glossary called "acronym" is created
% \begin{macrocode}
\ifglsacronym
-\newglossary[alg]{acronym}{acr}{acn}{\acronymname}
+ \newglossary[alg]{acronym}{acr}{acn}{\acronymname}
% \end{macrocode}
-%and \icmdname{acronymtype} is set to the name of this new glossary.
+%and \ics{acronymtype} is set to the name of this new glossary.
% \begin{macrocode}
-\renewcommand{\acronymtype}{acronym}
+ \renewcommand{\acronymtype}{acronym}
% \end{macrocode}
-% In the event that the user redefines \icmdname{glsdisplay}
-% and \icmdname{glsdisplayfirst}, the relevant commands for
+% In the event that the user redefines \ics{glsdisplay}
+% and \ics{glsdisplayfirst}, the relevant commands for
% the new acronym glossary are set to match the format
-% given by \icmdname{newacronym}. If you redefine
-% \icmdname{newacronym} you may need to set these to something
+% given by \ics{newacronym}. If you redefine
+% \ics{newacronym} you may need to set these to something
% else.
% \begin{macrocode}
-\defglsdisplay[acronym]{#1#4}\defglsdisplayfirst[acronym]{#1#4}
+ \defglsdisplay[acronym]{#1#4}
+ \defglsdisplayfirst[acronym]{#1#4}
\fi
% \end{macrocode}
%\vskip5pt
% \cs{newacronym}\oarg{key-val list}\marg{label}\marg{abbrev}\marg{long}\\[10pt]
% This is a quick way of defining acronyms, all it does
-% is call \icmdname{newglossaryentry} with the appropriate
+% is call \ics{newglossaryentry} with the appropriate
% values. It sets the
-% glossary type to \icmdname{acronymtype} which will be
+% glossary type to \ics{acronymtype} which will be
% "acronym" if the package option \pkgopt{acronym} has
% been used, otherwise it will be the default glossary.
-% Since \cs{newacronym} merely calls \icmdname{newglossaryentry},
+% Since \cs{newacronym} merely calls \ics{newglossaryentry},
% the acronym is treated like any other glossary entry.
%
% If you prefer a different format, you
@@ -3984,9 +5508,391 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
% \begin{macrocode}
\@onlypreamble{\newacronym}
% \end{macrocode}
+% Set up some convenient short cuts. These need to be changed if
+% \cs{newacronym} is changed (or if the \gloskey{description} key
+% is changed).
+%
+% Using the default definitions, \ics{acrshort} is the same as
+% \ics{glstext}, which means that it will print the abbreviation.
+%\begin{macro}{\acrshort}
+% \begin{macrocode}
+\newcommand*{\acrshort}[2][]{%
+\new@ifnextchar[{\@acrshort{#1}{#2}}{\@acrshort{#1}{#2}[]}}
+\def\@acrshort#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\Acrshort}
+% \begin{macrocode}
+\newcommand*{\Acrshort}[2][]{%
+\new@ifnextchar[{\@Acrshort{#1}{#2}}{\@Acrshort{#1}{#2}[]}}
+\def\@Acrshort#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\ACRshort}
+% \begin{macrocode}
+\newcommand*{\ACRshort}[2][]{%
+\new@ifnextchar[{\@ACRshort{#1}{#2}}{\@ACRshort{#1}{#2}[]}}
+\def\@ACRshort#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+% \ics{acrlong} is set to \ics{glsdesc}, so it will print the long
+% form, unless the description key has been set to something else.
+%\begin{macro}{\acrlong}
+% \begin{macrocode}
+\newcommand*{\acrlong}[2][]{%
+\new@ifnextchar[{\@acrlong{#1}{#2}}{\@acrlong{#1}{#2}[]}}
+\def\@acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\Acrlong}
+% \begin{macrocode}
+\newcommand*{\Acrlong}[2][]{%
+\new@ifnextchar[{\@Acrlong{#1}{#2}}{\@Acrlong{#1}{#2}[]}}
+\def\@Acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\ACRlong}
+% \begin{macrocode}
+\newcommand*{\ACRlong}[2][]{%
+\new@ifnextchar[{\@ACRlong{#1}{#2}}{\@ACRlong{#1}{#2}[]}}
+\def\@ACRlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%
+% \ics{acrfull} is set to \ics{glsfirst}, so it should display the
+% full form.
+%\begin{macro}{\acrfull}
+% \begin{macrocode}
+\newcommand*{\acrfull}[2][]{%
+\new@ifnextchar[{\@acrfull{#1}{#2}}{\@acrfull{#1}{#2}[]}}
+\def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\Acrfull}
+% \begin{macrocode}
+\newcommand*{\Acrfull}[2][]{%
+\new@ifnextchar[{\@Acrfull{#1}{#2}}{\@Acrfull{#1}{#2}[]}}
+\def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\ACRfull}
+% \begin{macrocode}
+\newcommand*{\ACRfull}[2][]{%
+\new@ifnextchar[{\@ACRfull{#1}{#2}}{\@ACRfull{#1}{#2}[]}}
+\def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+% \end{macrocode}
+%\end{macro}
+%
+%\subsection{Additional predefined acronym styles}
+%\begin{macro}{\acronymfont}
+%This is only used with the additional acronym styles:
+% \begin{macrocode}
+\newcommand{\acronymfont}[1]{#1}
+% \end{macrocode}
+%\end{macro}
+% \begin{macrocode}
+\ifglsacrdescription
+% \end{macrocode}
+%
+% If a description and footnote are both required, store the long form
+% in the \gloskey{symbol} key. Store the short form in \gloskey{text}
+% key.
+% \begin{macrocode}
+ \ifglsacrfootnote
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ symbol={#4},%
+ #1}}
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong#1#2[#3]{\@glssymbol@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]}
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull#1#2[#3]{\@glssymbol@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]
+ (\acronymfont{\@GLStext@{#1}{#2}[#3]})}
+% \end{macrocode}
+%
+% If \pkgopt{footnote} package option is specified, set the first
+% use to append the long form (stored in \gloskey{symbol}) as a
+% footnote.
+% \begin{macrocode}
+ \defglsdisplayfirst[\acronymtype]{%
+ \acronymfont{#1}#4\noexpand\footnote{%
+ \noexpand\glslink[\@gls@link@opts]{\@gls@link@label}{#3}}}%
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}%
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{#1}}
+ \fi
+% \end{macrocode}
+% Check for package option clash
+% \begin{macrocode}
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `footnote' and `dua'
+ can't both be set}{}%
+ \fi
+ \else
+% \end{macrocode}
+% Footnote not required. Should the acronym always be expanded?
+% \begin{macrocode}
+ \ifglsacrdua
+ \ifglsacrsmallcaps
+ \PackageError{glossaries}{Option clash: `smallcaps' and `dua'
+ can't both be set}{}%
+ \fi
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#4},%
+ first={#4},%
+ symbol={#3},%
+ #1}}
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glssymbol@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glssymbol@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLSsymbol@{#1}{#2}[#3]}}
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]
+ (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})}
+% \end{macrocode}
+% Set display.
+% \begin{macrocode}
+ \defglsdisplayfirst[\acronymtype]{#1#4}
+ \defglsdisplay[\acronymtype]{#1#4}
+ \else
+% \end{macrocode}
+% Store long form in \gloskey{first} key
+% and short form in \gloskey{text} and \gloskey{symbol} key.
+% \begin{macrocode}
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ first={#4},%
+ symbol={#3},%
+ #1}}
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]
+ (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})}
+% \end{macrocode}
+% Set display.
+% \begin{macrocode}
+ \defglsdisplayfirst[\acronymtype]{#1#4 (\acronymfont{#3})}
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}
+% \end{macrocode}
+% Set small caps and check for option clash
+% \begin{macrocode}
+ \ifglsacrsmallcaps
+ \renewcommand{\acronymfont}[1]{\textsc{#1}}
+ \fi
+ \fi
+ \fi
+\else
+% \end{macrocode}
+% If here, acronyms do not require additional description.
+% \begin{macrocode}
+ \ifglsacrfootnote
+% \end{macrocode}
+%
+% If \pkgopt{footnote} package option is specified, set the first
+% use to append the long form (stored in \gloskey{description}) as a
+% footnote.
+% Use the \gloskey{description} key to store the long form.
+% \begin{macrocode}
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ description={#4},%
+ #1}}
+% \end{macrocode}
+% Set display
+% \begin{macrocode}
+ \defglsdisplayfirst[\acronymtype]{%
+ \acronymfont{#1}#4\noexpand\footnote{%
+ \noexpand\glslink[\@gls@link@opts]{\@gls@link@label}{#2}}}%
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}%
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsdesc@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSdesc@{#1}{#2}[#3]}
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull#1#2[#3]{\@glsdesc@{#1}{#2}[#3]
+ (\@glstext@{#1}{#2}[#3])}
+ \def\@Acrfull#1#2[#3]{\@Glsdesc@{#1}{#2}[#3]
+ (\@glstext@{#1}{#2}[#3])}
+ \def\@ACRfull#1#2[#3]{\@GLSdesc@{#1}{#2}[#3]
+ (\@GLStext@{#1}{#2}[#3])}
+% \end{macrocode}
+% Redefine \ics{acronymfont} is small caps required
+% \begin{macrocode}
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{#1}}%
+ \fi
+% \end{macrocode}
+% Check for option clash
+% \begin{macrocode}
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `footnote' and `dua'
+ can't both be set}{}%
+ \fi
+ \else
+% \end{macrocode}
+% No footnotes required.
+% \begin{macrocode}
+ \ifglsacrsmallcaps
+% \end{macrocode}
%
-% \subsection{Predefined Styles}\label{sec:styles}
-% The \styname{glossaries} bundle comes with some predefined glossary styles which
+% Neither footnote nor description required.
+% Use the \gloskey{symbol} key to store the short form and
+% \gloskey{first} to store the description.
+% Note that this way makes the first use plural form
+% appear as \dq{\meta{long}s (\meta{short})} instead of
+% \dq{\meta{long}s (\meta{short}s)}.
+% \begin{macrocode}
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ first={#4},%
+ description={#4},%
+ symbol={#3},%
+ #1}}
+% \end{macrocode}
+% Change the display since \gloskey{first} only contains long form.
+% \begin{macrocode}
+ \defglsdisplayfirst[\acronymtype]{#1#4 (\acronymfont{#3})}
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}
+% \end{macrocode}
+% Change \ics{acronymfont} to small caps:
+% \begin{macrocode}
+ \renewcommand*{\acronymfont}[1]{\textsc{#1}}
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]
+ (\acronymfont{\@GLStext@{#1}{#2}[#3]})}
+% \end{macrocode}
+% check for option clash
+% \begin{macrocode}
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `smallcaps' and `dua'
+ can't both be set}{}%
+ \fi
+ \else
+% \end{macrocode}
+% Should acronyms always be expanded?
+% \begin{macrocode}
+ \ifglsacrdua
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ description={#4},%
+ text={#4},%
+ symbol={#3},%
+ #1}}
+% \end{macrocode}
+% Set the display
+% \begin{macrocode}
+ \defglsdisplayfirst[\acronymtype]{#1#4}
+ \defglsdisplay[\acronymtype]{#1#4}
+% \end{macrocode}
+% Set up short cuts. Short form:
+% \begin{macrocode}
+ \def\@acrshort#1#2[#3]{\@glssymbol@{#1}{#2}[#3]}
+ \def\@Acrshort#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]}
+ \def\@ACRshort#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]}
+% \end{macrocode}
+% Long form:
+% \begin{macrocode}
+ \def\@acrlong#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glstext@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLStext@{#1}{#2}[#3]}
+% \end{macrocode}
+% Full form:
+% \begin{macrocode}
+ \def\@acrfull#1#2[#3]{\@glstext@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glstext@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLStext@{#1}{#2}[#3]
+ (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})}
+ \fi
+ \fi
+ \fi
+\fi
+% \end{macrocode}
+%
+% \subsection{Predefined Glossary Styles}\label{sec:code:styles}
+% The \sty{glossaries} bundle comes with some predefined glossary styles which
% are defined in the following packages:
% \begin{macrocode}
\RequirePackage{glossary-hypernav}
@@ -3995,7 +5901,7 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
\RequirePackage{glossary-super}
% \end{macrocode}
% The default glossary style is set according to the \pkgopt{style} package
-% option, but can be overridden by \icmdname{glossarystyle}.
+% option, but can be overridden by \ics{glossarystyle}.
% \begin{macrocode}
\glossarystyle{\@glossary@default@style}
% \end{macrocode}
@@ -4018,7 +5924,7 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
% The commands defined in this package are provided to
% help navigate around the groups within a glossary
% (see \autoref{sec:printglos}.)
-% \icmdname{printglossary} (and \icmdname{printglossaries})
+% \ics{printglossary} (and \ics{printglossaries})
% set \cs{@glo@type} to the label of the current
% glossary. This is used to create a unique hypertarget in
% the event of multiple glossaries.
@@ -4114,20 +6020,20 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
% \end{macrocode}
%\fi
% \subsubsection{List Style (glossary-list package)}
-% The \styname{glossary-list} package defines glossary styles
+% The \isty{glossary-list} package defines glossary styles
% that use the \envname{description} environment. Note that since
% the entry name is placed in the optional argument to the
-% \icmdname{item} command, it will appear in a bold font by
+% \ics{item} command, it will appear in a bold font by
% default.
% \begin{macrocode}
-\ProvidesPackage{glossary-list}[2007/10/04 v1.02 (NLCT)]
+\ProvidesPackage{glossary-list}[2008/02/16 v1.03 (NLCT)]
% \end{macrocode}
% The \glostyle{list} glossary style
% uses the \envname{description} environment. The group separator
-% \icmdname{glsgroupskip} is redefined as \cs{indexspace}
+% \ics{glsgroupskip} is redefined as \cs{indexspace}
% which produces a gap between groups. The glossary heading
% and the group headings do nothing. This is used as the default
-% style for the \styname{glossaries} package.
+% style for the \sty{glossaries} package.
% \begin{macrocode}
\newglossarystyle{list}{%
\renewenvironment{theglossary}{\begin{description}}{\end{description}}%
@@ -4184,6 +6090,25 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
\renewcommand*{\glsgroupheading}[1]{%
\item[\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}]}}
% \end{macrocode}
+% The \glostyle{listdotted} glossary style was supplied by
+% Axel~Menzel. I've modified it slightly so that the distance from
+% the start of the name to the end of the dotted line is specified by
+% \cs{glslistdottedwidth}.
+%\begin{macro}{\glslistdottedwidth}
+% \begin{macrocode}
+\newlength\glslistdottedwidth
+\setlength{\glslistdottedwidth}{.5\linewidth}
+% \end{macrocode}
+%\end{macro}
+% Note that this style ignores the page numbers as well as the
+% symbol.
+% \begin{macrocode}
+\newglossarystyle{listdotted}{%
+\glossarystyle{list}%
+\renewcommand*{\glossaryentryfield}[5]{%
+\item[]\makebox[\glslistdottedwidth][l]{\@glstarget{glo:##1}{##2}%
+\unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}##3}}
+% \end{macrocode}
%\iffalse
% \begin{macrocode}
%</glossary-list.sty>
@@ -4196,12 +6121,12 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
%\fi
% \subsubsection{Glossary Styles using longtable (the glossary-long
% package)}
-% The glossary styles defined in the \styname{glossary-long} package
+% The glossary styles defined in the \isty{glossary-long} package
% used the \envname{longtable} environment in the glossary.
% \begin{macrocode}
\ProvidesPackage{glossary-long}[2007/07/04 v1.01 (NLCT)]
% \end{macrocode}
-% Requires the \styname{longtable} package:
+% Requires the \isty{longtable} package:
% \begin{macrocode}
\RequirePackage{longtable}
% \end{macrocode}
@@ -4362,18 +6287,18 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
% \end{macrocode}
%\fi
% \subsubsection{Glossary Styles using supertabular environment (glossary-super package)}
-% The glossary styles defined in the \styname{glossary-super} package
+% The glossary styles defined in the \isty{glossary-super} package
% use the \envname{supertabular} environment.
% \begin{macrocode}
\ProvidesPackage{glossary-super}[2007/07/04 v1.01 (NLCT)]
% \end{macrocode}
-% Requires the \styname{supertabular} package:
+% Requires the \isty{supertabular} package:
% \begin{macrocode}
\RequirePackage{supertabular}
% \end{macrocode}
% The \glostyle{super} glossary style uses the
% \envname{supertabular} environment
-% (it uses lengths defined in the \styname{glossary-long} package.)
+% (it uses lengths defined in the \isty{glossary-long} package.)
% \begin{macrocode}
\newglossarystyle{super}{%
\renewenvironment{theglossary}{%
@@ -4528,6 +6453,1525 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
%\fi
%\iffalse
% \begin{macrocode}
+%<*glossaries-babel.sty>
+% \end{macrocode}
+%\fi
+%\subsection{Multi-Lingual Support}
+%\subsubsection{Babel Captions}
+% Define \isty{babel} captions if multi-lingual
+% support is required, but the \isty{translator} package is not loaded.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{glossaries-babel}[2008/02/22 v1.0 (NLCT)]
+% \end{macrocode}
+% English:
+% \begin{macrocode}
+\addto\captionsenglish{%
+\renewcommand*{\glossaryname}{Glossary}%
+\renewcommand*{\acronymname}{Acronyms}%
+\renewcommand*{\entryname}{Notation}%
+\renewcommand*{\descriptionname}{Description}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Page List}%
+\renewcommand*{\glssymbolsgroupname}{Symbols}%
+\renewcommand*{\glsnumbersgroupname}{Numbers}%
+}%
+% \end{macrocode}
+% German (quite a few variations were suggested for German;
+% I settled on the following):
+% \begin{macrocode}
+\addto\captionsgerman{%
+\renewcommand*{\glossaryname}{Glossar}%
+\renewcommand*{\acronymname}{Akronyme}%
+\renewcommand*{\entryname}{Bezeichnung}%
+\renewcommand*{\descriptionname}{Beschreibung}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Seiten}%
+\renewcommand*{\glssymbolsgroupname}{Symbole}%
+\renewcommand*{\glsnumbersgroupname}{Zahlen}}
+% \end{macrocode}
+% ngerman is identical to German:
+% \begin{macrocode}
+\addto\captionsngerman{%
+\renewcommand*{\glossaryname}{Glossar}%
+\renewcommand*{\acronymname}{Akronyme}%
+\renewcommand*{\entryname}{Bezeichnung}%
+\renewcommand*{\descriptionname}{Beschreibung}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Seiten}%
+\renewcommand*{\glssymbolsgroupname}{Symbole}%
+\renewcommand*{\glsnumbersgroupname}{Zahlen}}
+% \end{macrocode}
+% Italian:
+% \begin{macrocode}
+\addto\captionsitalian{%
+\renewcommand*{\glossaryname}{Glossario}%
+\renewcommand*{\acronymname}{Acronimi}%
+\renewcommand*{\entryname}{Nomenclatura}%
+\renewcommand*{\descriptionname}{Descrizione}%
+\renewcommand*{\symbolname}{Simbolo}%
+\renewcommand*{\pagelistname}{Elenco delle pagine}%
+\renewcommand*{\glssymbolsgroupname}{Simboli}%
+\renewcommand*{\glsnumbersgroupname}{Numeri}}
+% \end{macrocode}
+% Dutch:
+% \begin{macrocode}
+\addto\captionsdutch{%
+\renewcommand*{\glossaryname}{Woordenlijst}%
+\renewcommand*{\acronymname}{Acroniemen}%
+\renewcommand*{\entryname}{Benaming}%
+\renewcommand*{\descriptionname}{Beschrijving}%
+\renewcommand*{\symbolname}{Symbool}%
+\renewcommand*{\pagelistname}{Pagina's}%
+\renewcommand*{\glssymbolsgroupname}{Symbolen}%
+\renewcommand*{\glsnumbersgroupname}{Cijfers}}
+% \end{macrocode}
+% Spanish:
+% \begin{macrocode}
+\addto\captionsspanish{%
+\renewcommand*{\glossaryname}{Glosario}%
+\renewcommand*{\acronymname}{Siglas}%
+\renewcommand*{\entryname}{Entrada}%
+\renewcommand*{\descriptionname}{Descripci\'on}%
+\renewcommand*{\symbolname}{S\'{\i}mbolo}%
+\renewcommand*{\pagelistname}{Lista de p\'aginas}%
+\renewcommand*{\glssymbolsgroupname}{S\'{\i}mbolos}%
+\renewcommand*{\glsnumbersgroupname}{N\'umeros}}
+% \end{macrocode}
+% French:
+% \begin{macrocode}
+\addto\captionsfrench{%
+\renewcommand*{\glossaryname}{Glossaire}%
+\renewcommand*{\acronymname}{Acronymes}%
+\renewcommand*{\entryname}{Terme}%
+\renewcommand*{\descriptionname}{Description}%
+\renewcommand*{\symbolname}{Symbole}%
+\renewcommand*{\pagelistname}{Pages}%
+\renewcommand*{\glssymbolsgroupname}{Symboles}%
+\renewcommand*{\glsnumbersgroupname}{Nombres}}
+% \end{macrocode}
+% Danish:
+% \begin{macrocode}
+\addto\captionsdanish{%
+\renewcommand*{\glossaryname}{Ordliste}%
+\renewcommand*{\acronymname}{Akronymer}%
+\renewcommand*{\entryname}{Symbolforklaring}%
+\renewcommand*{\descriptionname}{Beskrivelse}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Side}%
+\renewcommand*{\glssymbolsgroupname}{Symboler}%
+\renewcommand*{\glsnumbersgroupname}{Tal}}
+% \end{macrocode}
+% Irish:
+% \begin{macrocode}
+\addto\captionsirish{%
+\renewcommand*{\glossaryname}{Gluais}%
+\renewcommand*{\acronymname}{Acrainmneacha}%
+% \end{macrocode}
+% wasn't sure whether to go for N\'ota (Note), Ciall (`Meaning',
+% `sense') or Br\'{\i} (`Meaning'). In the end I chose Ciall.
+% \begin{macrocode}
+\renewcommand*{\entryname}{Ciall}%
+\renewcommand*{\descriptionname}{Tuairisc}%
+% \end{macrocode}
+% Again, not sure whether to use Comhartha/Comhartha\'{\i} or
+% Siombail/Siombaile, so have chosen the former.
+% \begin{macrocode}
+\renewcommand*{\symbolname}{Comhartha}%
+\renewcommand*{\glssymbolsgroupname}{Comhartha\'{\i}}%
+\renewcommand*{\pagelistname}{Leathanaigh}%
+\renewcommand*{\glsnumbersgroupname}{Uimhreacha}}
+% \end{macrocode}
+% Hungarian:
+% \begin{macrocode}
+\addto\captionsmagyar{%
+\renewcommand*{\glossaryname}{Sz\'ojegyz\'ek}%
+\renewcommand*{\acronymname}{Bet\H uszavak}%
+\renewcommand*{\entryname}{Kifejez\'es}%
+\renewcommand*{\descriptionname}{Magyar\'azat}%
+\renewcommand*{\symbolname}{Jel\"ol\'es}%
+\renewcommand*{\pagelistname}{Oldalsz\'am}%
+\renewcommand*{\glssymbolsgroupname}{Jelek}%
+\renewcommand*{\glsnumbersgroupname}{Sz\'amjegyek}%
+}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-babel.sty>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-Danish.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{Danish Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Danish}
+% \end{macrocode}
+% Provide Danish translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Ordliste}
+\providetranslation{Acronyms}{Akronymer}
+\providetranslation{Notation (glossaries)}{Symbolforklaring}
+\providetranslation{Description (glossaries)}{Beskrivelse}
+\providetranslation{Symbol (glossaries)}{Symbol}
+\providetranslation{Page List (glossaries)}{Side}
+\providetranslation{Symbols (glossaries)}{Symboler}
+\providetranslation{Numbers (glossaries)}{Tal}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Danish.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-Dutch.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{Dutch Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Dutch}
+% \end{macrocode}
+% Provide Dutch translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Woordenlijst}
+\providetranslation{Acronyms}{Acroniemen}
+\providetranslation{Notation (glossaries)}{Benaming}
+\providetranslation{Description (glossaries)}{Beschrijving}
+\providetranslation{Symbol (glossaries)}{Symbool}
+\providetranslation{Page List (glossaries)}{Pagina's}
+\providetranslation{Symbols (glossaries)}{Symbolen}
+\providetranslation{Numbers (glossaries)}{Cijfers}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Dutch.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-English.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{English Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{English}
+% \end{macrocode}
+% Provide English translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Glossary}
+\providetranslation{Acronyms}{Acronyms}
+\providetranslation{Notation (glossaries)}{Notation}
+\providetranslation{Description (glossaries)}{Description}
+\providetranslation{Symbol (glossaries)}{Symbol}
+\providetranslation{Page List (glossaries)}{Page List}
+\providetranslation{Symbols (glossaries)}{Symbols}
+\providetranslation{Numbers (glossaries)}{Numbers}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-English.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-French.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{French Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{French}
+% \end{macrocode}
+% Provide French translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Glossaire}
+\providetranslation{Acronyms}{Acronymes}
+\providetranslation{Notation (glossaries)}{Terme}
+\providetranslation{Description (glossaries)}{Description}
+\providetranslation{Symbol (glossaries)}{Symbole}
+\providetranslation{Page List (glossaries)}{Pages}
+\providetranslation{Symbols (glossaries)}{Symboles}
+\providetranslation{Numbers (glossaries)}{Nombres}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-French.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-German.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{German Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{German}
+% \end{macrocode}
+% Provide German translations (quite a few variations were suggested
+% for German; I settled on the following):
+% \begin{macrocode}
+\providetranslation{Glossary}{Glossar}
+\providetranslation{Acronyms}{Akronyme}
+\providetranslation{Notation (glossaries)}{Bezeichnung}
+\providetranslation{Description (glossaries)}{Beschreibung}
+\providetranslation{Symbol (glossaries)}{Symbol}
+\providetranslation{Page List (glossaries)}{Seiten}
+\providetranslation{Symbols (glossaries)}{Symbole}
+\providetranslation{Numbers (glossaries)}{Zahlen}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-German.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-Irish.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{Irish Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Irish}
+% \end{macrocode}
+% Provide Irish translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Gluais}
+\providetranslation{Acronyms}{Acrainmneacha}
+\providetranslation{Notation (glossaries)}{Ciall}
+\providetranslation{Description (glossaries)}{Tuairisc}
+\providetranslation{Symbol (glossaries)}{Comhartha}
+\providetranslation{Page List (glossaries)}{Leathanaigh}
+\providetranslation{Symbols (glossaries)}{Comhartha\'{\i}}
+\providetranslation{Numbers (glossaries)}{Uimhreacha}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Irish.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-Italian.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{Italian Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Italian}
+% \end{macrocode}
+% Provide Italian translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Glossario}
+\providetranslation{Acronyms}{Acronimi}
+\providetranslation{Notation (glossaries)}{Nomenclatura}
+\providetranslation{Description (glossaries)}{Descrizione}
+\providetranslation{Symbol (glossaries)}{Simbolo}
+\providetranslation{Page List (glossaries)}{Elenco delle pagine}
+\providetranslation{Symbols (glossaries)}{Simboli}
+\providetranslation{Numbers (glossaries)}{Numeri}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Italian.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-Magyar.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{Magyar Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Magyar}
+% \end{macrocode}
+% Provide translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Sz\'ojegyz\'ek}
+\providetranslation{Acronyms}{Bet\H uszavak}
+\providetranslation{Notation (glossaries)}{Kifejez\'es}
+\providetranslation{Description (glossaries)}{Magyar\'azat}
+\providetranslation{Symbol (glossaries)}{Jel\"ol\'es}
+\providetranslation{Page List (glossaries)}{Oldalsz\'am}
+\providetranslation{Symbols (glossaries)}{Jelek}
+\providetranslation{Numbers (glossaries)}{Sz\'amjegyek}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Magyar.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*glossaries-dictionary-Spanish.dict>
+% \end{macrocode}
+%\fi
+%\subsubsection{Spanish Dictionary}
+% This is a dictonary file provided for use with the \isty{translator}
+% package.
+% \begin{macrocode}
+\ProvidesDictionary{glossaries-dictionary}{Spanish}
+% \end{macrocode}
+% Provide Spanish translations:
+% \begin{macrocode}
+\providetranslation{Glossary}{Glosario}
+\providetranslation{Acronyms}{Siglas}
+\providetranslation{Notation (glossaries)}{Entrada}
+\providetranslation{Description (glossaries)}{Descripci\'on}
+\providetranslation{Symbol (glossaries)}{S\'{\i}mbolo}
+\providetranslation{Page List (glossaries)}{Lista de p\'aginas}
+\providetranslation{Symbols (glossaries)}{S\'{\i}mbolos}
+\providetranslation{Numbers (glossaries)}{N\'umeros}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</glossaries-dictionary-Spanish.dict>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*minimalgls.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This is a minimal file for testing and debugging
+ % the glossaries package. Change the class file as
+ % desired, and add the relevant package options to
+ % both the class file and the glossaries package.
+ % Change the sample glossary entry and acronym if
+ % required.
+ %
+ % Only add extra packages or commands if they
+ % contribute to whatever problem you are trying to
+ % test.
+ %
+ % Remember that the document will not be complete
+ % until you have successfully completed all of the
+ % following steps:
+ % 1. latex minimalgls
+ % 2. makeglossaries minimalgls (note no extension)
+ % 3. latex minimalgls
+ % A further run through LaTeX will be required to ensure that
+ % the table of contents is up to date if the toc option
+ % is used.
+\documentclass{article}
+\listfiles
+
+ %\usepackage{glossaries} % acronym will go in main glossary
+\usepackage[acronym]{glossaries} % make a separate list of acronyms
+
+\makeglossaries
+
+\newglossaryentry{sample}{name={sample},
+description={a sample entry}}
+
+\newacronym{aca}{aca}{a contrived acronym}
+
+\begin{document}
+
+A \gls{sample} entry and \gls{aca}.
+
+\printglossaries
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</minimalgls.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sample.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass[a4paper]{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage[style=altlist]{glossaries}
+
+\makeglossaries
+
+\newglossaryentry{glossary}{name=glossary,
+description={1) list of technical words, 2) collection of
+glosses},
+plural={glossaries}}
+
+\newglossaryentry{Perl}{name=\texttt{Perl},
+sort=Perl, % need a sort key because name contains a command
+description=A scripting language}
+
+\newglossaryentry{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)}}
+
+\newglossaryentry{mtrx}{name=matrix,
+description={rectangular array of quantities},
+ % plural is not simply obtained by appending an s, so specify
+plural=matrices}
+
+\newcommand{\pardescription}{distinct section of piece of
+writing.\par Beginning on new, usually indented, line}
+\newglossaryentry{par}{name=paragraph,
+description=\pardescription}
+
+\begin{document}
+
+\title{Sample Document Using glossary Package}
+\author{Nicola Talbot}
+\pagenumbering{alph}% prevent duplicate page link names if using PDF
+\maketitle
+
+\pagenumbering{roman}
+\tableofcontents
+
+\chapter{Introduction}
+\pagenumbering{arabic}
+
+A \gls{glossary} is a very useful addition to any
+technical document, although a \gls{glossary} can
+also simply be a collection of glosses, which is
+another thing entirely. Some documents have
+multiple \glspl{glossary}.
+
+Once you have run your document through \LaTeX, you
+will then need to run the \texttt{.glo} file through
+\texttt{makeindex}. You will need to set the output
+file so that it creates a \texttt{.gls} file instead
+of an \texttt{.ind} file, and change the name of
+the log file so that it doesn't overwrite the index
+log file (if you have an index for your document).
+Rather than having to remember all the command line
+switches, you can call the \gls{Perl} script
+\texttt{makeglossaries} which provides a convenient
+wrapper.
+
+If a comma appears within the name or description, grouping
+must be used, e.g.\ in the description of \gls{pagelist}.
+
+Plurals are assumed to have the letter s appended, but if
+this is not the case, as in \glspl{mtrx}, then you need
+to specify the plural when you define the entry.
+
+\Glspl{par} can cause a problem in commands.
+
+\printglossaries
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sample.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sample4col.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass[a4paper]{article}
+
+\usepackage[style=long4colheader]{glossaries}
+
+\makeglossaries
+
+\newglossaryentry{w}{name={$w$},
+sort=w,
+description={width},
+symbol=m}
+
+\newglossaryentry{M}{name={$M$},
+sort=M,
+description={mass},
+symbol={kg}}
+
+\begin{document}
+
+\printglossaries
+
+The width, \gls{w}, is measured in meters. The mass, \gls{M} is
+measured in kilograms.
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sample4col.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleAcr.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass[a4paper]{report}
+
+\usepackage[colorlinks,plainpages=false]{hyperref}
+\usepackage[style=long,toc]{glossaries}
+
+\makeglossaries
+
+\renewcommand*{\glstextformat}[1]{\textsf{#1}}
+
+\newacronym{svm}% label
+{svm}% abbreviation
+{support vector machine}% long form
+
+\newacronym{ksvm}{ksvm}{kernel support vector machine}
+
+\newacronym{rna}{rna}{ribonukleins\"aure}
+
+\begin{document}
+\tableofcontents
+
+\chapter{Support Vector Machines}
+
+\Glspl{svm} are used widely in the area of pattern recognition.
+
+This is the text produced without a link: \glsentrytext{svm}.
+This is the text produced on first use without a link:
+\glsentryfirst{svm}. This is the entry's description without
+a link: \glsentrydesc{svm}.
+
+This is the entry in uppercase: \GLS{svm}.
+
+\chapter{Kernel Support Vector Machines}
+
+The \gls{ksvm} is \ifglsused{svm}{an}{a} \gls{svm} that uses
+the so called ``kernel trick''. Plural: \glspl{ksvm}.
+
+\glsresetall
+Possessive: \gls{ksvm}['s].
+Make the glossary entry number bold for this
+one \gls[format=hyperbf]{svm}.
+
+\chapter{Another chapter}
+
+You don't need to worry about makeindex's special characters:
+\gls{rna}.
+
+\printglossary[title={Acronyms}]
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleAcr.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleAcrDesc.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass[a4paper]{report}
+
+\usepackage[colorlinks,plainpages=false]{hyperref}
+
+\usepackage[style=altlist, % use altlist style
+ toc, % add the glossary to the table of contents
+ sanitize={description=false}% don't sanitize description
+ ]{glossaries}
+
+\makeglossaries
+
+\newglossaryentry{svm}{
+ % how the entry name should appear in the glossary
+name={Support vector machine (SVM)},
+ % how the description should appear in the glossary
+ % since I have used sanitize={description=false}
+ % I have to protect fragile commands
+description={Statistical pattern recognition
+technique~\protect\cite{svm}},
+ % how the entry should appear in the document text
+text={svm},
+ % how the entry should appear the first time it is
+ % used in the document text
+first={support vector machine (svm)}}
+
+\newglossaryentry{ksvm}{
+name={Kernel support vector machine (KSVM)},
+description={Statistical pattern recognition technique
+using the ``kernel trick'' (see also SVM)},
+text={ksvm},
+first={kernel support vector machine}}
+
+\begin{document}
+\tableofcontents
+
+\chapter{Support Vector Machines}
+
+The \gls{svm} is used widely in the area of pattern recognition.
+ % plural form with initial letter in uppercase:
+\Glspl{svm} are \ldots
+
+This is the text produced without a link: \glsentrytext{svm}.
+This is the text produced on first use without a link:
+\glsentryfirst{svm}. This is the entry's description without
+a link: \glsentrydesc{svm}.
+
+This is the entry in uppercase: \GLS{svm}.
+
+\chapter{Kernel Support Vector Machines}
+
+The \gls{ksvm} is \ifglsused{svm}{an}{a} \gls{svm} that uses
+the so called ``kernel trick''.
+
+\glsresetall
+Possessive: \gls{ksvm}['s].
+Make the glossary entry number bold for this
+one \gls[format=hyperbf]{svm}.
+
+\begin{thebibliography}{1}
+\bibitem{svm} \ldots
+\end{thebibliography}
+
+\printglossary[title={Acronyms}]
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleAcrDesc.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleDB.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass{article}
+
+\usepackage[colorlinks,plainpages=false]{hyperref}
+\usepackage[nonumberlist]{glossaries}
+
+\newglossary[nlg]{symbols}{not}{ntn}{Symbols}
+
+\makeglossaries
+
+\loadglsentries{database1}
+\loadglsentries[symbols]{database2}
+
+\begin{document}
+
+Adding all entries\glsaddall.
+
+\printglossaries
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleDB.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleEq.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass[a4paper,12pt]{report}
+
+\usepackage{amsmath}
+\usepackage[colorlinks]{hyperref}
+\usepackage[style=long3colheader,counter=equation]{glossaries}
+
+\newcommand{\erf}{\operatorname{erf}}
+\newcommand{\erfc}{\operatorname{erfc}}
+
+\makeglossaries
+
+ % Change the glossary headings
+
+\renewcommand{\entryname}{Notation}
+\renewcommand{\descriptionname}{Function Name}
+\renewcommand{\pagelistname}{Number of Formula}
+
+ % define glossary entries
+
+\newglossaryentry{Gamma}{name=\ensuremath{\Gamma(z)},
+description=Gamma function,
+sort=Gamma}
+
+\newglossaryentry{gamma}{name={\ensuremath{\gamma(\alpha,x)}},
+description=Incomplete gamma function,
+sort=gamma}
+
+\newglossaryentry{iGamma}{name={\ensuremath{\Gamma(\alpha,x)}},
+description=Incomplete gamma function,
+sort=Gamma}
+
+\newglossaryentry{psi}{name=\ensuremath{\psi(x)},
+description=Psi function,sort=psi}
+
+\newglossaryentry{erf}{name=\ensuremath{\erf(x)},
+description=Error function,sort=erf}
+
+\newglossaryentry{erfc}{name=\ensuremath{\erfc},
+description=Complementary error function,sort=erfc}
+
+\newglossaryentry{B}{name={\ensuremath{B(x,y)}},
+description=Beta function,sort=B}
+
+\newglossaryentry{Bx}{name={\ensuremath{B_x(p,q)}},
+description=Incomplete beta function,sort=Bx}
+
+\newglossaryentry{Tn}{name=\ensuremath{T_n(x)},
+description=Chebyshev's polynomials of the first kind,sort=Tn}
+
+\newglossaryentry{Un}{name=\ensuremath{U_n(x)},
+description=Chebyshev's polynomials of the second kind,sort=Un}
+
+\newglossaryentry{Hn}{name=\ensuremath{H_n(x)},
+description=Hermite polynomials,sort=Hn}
+
+\newglossaryentry{Ln}{name=\ensuremath{L_n^\alpha(x)},
+description=Laguerre polynomials,sort=Lna}
+
+\newglossaryentry{Znu}{name=\ensuremath{Z_\nu(z)},
+description=Bessel functions,sort=Z}
+
+\newglossaryentry{Phi}{name={\ensuremath{\Phi(\alpha,\gamma;z)}},
+description=confluent hypergeometric function,sort=Pagz}
+
+\newglossaryentry{knu}{name=\ensuremath{k_\nu(x)},
+description=Bateman's function,sort=kv}
+
+\newglossaryentry{Dp}{name=\ensuremath{D_p(z)},
+description=Parabolic cylinder functions,sort=Dp}
+
+\newglossaryentry{F}{name={\ensuremath{F(\phi,k)}},
+description=Elliptical integral of the first kind,sort=Fpk}
+
+\newglossaryentry{C}{name=\ensuremath{C},
+description=Euler's constant,sort=C}
+
+\newglossaryentry{G}{name=\ensuremath{G},
+description=Catalan's constant,sort=G}
+
+\begin{document}
+\title{A Sample Document Using glossaries.sty}
+\author{Nicola Talbot}
+\maketitle
+
+\begin{abstract}
+This is a sample document illustrating the use of the \textsf{glossaries}
+package. The functions here have been taken from ``Tables of
+Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik.
+The glossary is a list of special functions, so
+the equation number has been used rather than the page number. This
+can be done using the \texttt{counter=equation} package
+option.
+\end{abstract}
+
+\printglossary[title={Index of Special Functions and Notations}]
+
+\chapter{Gamma Functions}
+
+\begin{equation}
+\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
+\end{equation}
+
+\verb|\ensuremath| is only required here if using
+hyperlinks.
+\begin{equation}
+\glslink{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x)
+\end{equation}
+
+\begin{equation}
+\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+
+\begin{equation}
+\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+
+\newpage
+
+\begin{equation}
+\gls{Gamma} = \Gamma(\alpha, x) + \gamma(\alpha, x)
+\end{equation}
+
+\begin{equation}
+\gls{psi} = \frac{d}{dx}\ln\Gamma(x)
+\end{equation}
+
+\chapter{Error Functions}
+
+\begin{equation}
+\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt
+\end{equation}
+
+\begin{equation}
+\gls{erfc} = 1 - \erf(x)
+\end{equation}
+
+\chapter{Beta Function}
+
+\begin{equation}
+\gls{B} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt
+\end{equation}
+Alternatively:
+\begin{equation}
+\gls{B} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi
+\end{equation}
+
+\begin{equation}
+\gls{B} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x)
+\end{equation}
+
+\begin{equation}
+\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt
+\end{equation}
+
+\chapter{Polynomials}
+
+\section{Chebyshev's polynomials}
+
+\begin{equation}
+\gls{Tn} = \cos(n\arccos x)
+\end{equation}
+
+\begin{equation}
+\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]}
+\end{equation}
+
+\section{Hermite polynomials}
+
+\begin{equation}
+\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2})
+\end{equation}
+
+\section{Laguerre polynomials}
+
+\begin{equation}
+L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha}
+\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha})
+\end{equation}
+
+\chapter{Bessel Functions}
+
+Bessel functions $Z_\nu$ are solutions of
+\begin{equation}
+\frac{d^2\glslink{Znu}{Z_\nu}}{dz^2}
++ \frac{1}{z}\,\frac{dZ_\nu}{dz} +
+\left( 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right)
+\end{equation}
+
+\chapter{Confluent hypergeometric function}
+
+\begin{equation}
+\gls{Phi} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!}
++ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!}
++\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\,
+\frac{z^3}{3!} + \cdots
+\end{equation}
+
+\begin{equation}
+\gls{knu} = \frac{2}{\pi}\int_0^{\pi/2}
+\cos(x \tan\theta - \nu\theta)\,d\theta
+\end{equation}
+
+\chapter{Parabolic cylinder functions}
+
+\begin{equation}
+\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}}
+\left\{
+\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)}
+\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right)
+-\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)}
+\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right)
+\right\}
+\end{equation}
+
+\chapter{Elliptical Integral of the First Kind}
+
+\begin{equation}
+\gls{F} = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}}
+\end{equation}
+
+\chapter{Constants}
+
+\begin{equation}
+\gls{C} = 0.577\,215\,664\,901\ldots
+\end{equation}
+
+\begin{equation}
+\gls{G} = 0.915\,965\,594\ldots
+\end{equation}
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleEq.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleEqPg.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass[a4paper,12pt]{report}
+
+\usepackage{amsmath}
+\usepackage[colorlinks]{hyperref}
+\usepackage[style=long3colheader,toc,
+ counter=equation]{glossaries}
+
+\newcommand{\erf}{\operatorname{erf}}
+\newcommand{\erfc}{\operatorname{erfc}}
+
+\renewcommand{\glossaryname}{Index of Special Functions and Notations}
+
+\renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number,
+numbers in bold indicate page numbers where the main definition occurs.\par}
+
+ % set the glossary number style to italic
+ % hyperit is used instead of textit because
+ % the hyperref package is being used.
+\renewcommand{\glsnumberformat}[1]{\hyperit{#1}}
+
+ % 1st column heading
+\renewcommand{\entryname}{Notation}
+
+ % 2nd column heading
+\renewcommand{\descriptionname}{Function Name}
+
+ % 3rd column heading
+\renewcommand{\pagelistname}{}
+
+ % Redefine header row so that it
+ % adds a blank row after the title row
+\renewcommand{\glossaryheader}{\bfseries\entryname &
+\bfseries\descriptionname&\bfseries\pagelistname\\
+& & \\\endhead}
+
+ % Define glossary entries
+
+\newglossaryentry{Gamma}{name=\ensuremath{\Gamma(z)},
+description=Gamma function,sort=Gamma}
+
+\newglossaryentry{gamma}{name=\ensuremath{\gamma(\alpha,x)},
+description=Incomplete gamma function,sort=gamma}
+
+\newglossaryentry{iGamma}{name=\ensuremath{\Gamma(\alpha,x)},
+description=Incomplete gamma function,sort=Gamma}
+
+\newglossaryentry{psi}{name=\ensuremath{\psi(x)},
+description=Psi function,sort=psi}
+
+\newglossaryentry{erf}{name=\ensuremath{\erf(x)},
+description=Error function,sort=erf}
+
+\newglossaryentry{erfc}{name=\ensuremath{\erfc(x)},
+description=Complementary error function,sort=erfc}
+
+\newglossaryentry{beta}{name=\ensuremath{B(x,y)},
+description=Beta function,sort=B}
+
+\newglossaryentry{Bx}{name=\ensuremath{B_x(p,q)},
+description=Incomplete beta function,sort=Bx}
+
+\newglossaryentry{Tn}{name=\ensuremath{T_n(x)},
+description=Chebyshev's polynomials of the first kind,
+sort=Tn}
+
+\newglossaryentry{Un}{name=\ensuremath{U_n(x)},
+description=Chebyshev's polynomials of the second kind,
+sort=Un}
+
+\newglossaryentry{Hn}{name=\ensuremath{H_n(x)},
+description=Hermite polynomials,sort=Hn}
+
+\newglossaryentry{Lna}{name=\ensuremath{L_n^\alpha(x)},
+description=Laguerre polynomials,sort=Lna}
+
+\newglossaryentry{Znu}{name=\ensuremath{Z_\nu(z)},
+description=Bessel functions,sort=Z}
+
+\newglossaryentry{Pagz}{name=\ensuremath{\Phi(\alpha,\gamma;z)},
+description=confluent hypergeometric function,sort=Pagz}
+
+\newglossaryentry{kv}{name=\ensuremath{k_\nu(x)},
+description=Bateman's function,sort=kv}
+
+\newglossaryentry{Dp}{name=\ensuremath{D_p(z)},
+description=Parabolic cylinder functions,sort=Dp}
+
+\newglossaryentry{Fpk}{name=\ensuremath{F(\phi,k)},
+description=Elliptical integral of the first kind,sort=Fpk}
+
+\newglossaryentry{C}{name=\ensuremath{C},
+description=Euler's constant,sort=C}
+
+\newglossaryentry{G}{name=\ensuremath{G},
+description=Catalan's constant,sort=G}
+
+\makeglossaries
+
+\pagestyle{headings}
+
+\begin{document}
+
+\title{Sample Document Using Interchangable Numbering}
+\author{Nicola Talbot}
+\maketitle
+
+\begin{abstract}
+This is a sample document illustrating the use of the \textsf{glossaries}
+package. The functions here have been taken from ``Tables of
+Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik.
+
+The glossary lists both page numbers and equation numbers.
+Since the majority of the entries use the equation number,
+\texttt{counter=equation} was used as a package option.
+Note that this example will only work where the
+page number and equation number compositor is the same. So
+it won't work if, say, the page numbers are of the form
+2-4 and the equation numbers are of the form 4.6.
+As most of the glossary entries should have an italic
+format, it is easiest to set the default format to
+italic.
+
+\end{abstract}
+
+\tableofcontents
+
+\printglossary[toctitle={Special Functions}]
+
+\chapter{Gamma Functions}
+
+The \glslink[format=hyperbf,counter=page]{Gamma}{gamma function} is
+defined as
+\begin{equation}
+\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
+\end{equation}
+
+\begin{equation}
+\glslink{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x)
+\end{equation}
+
+\begin{equation}
+\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+
+\begin{equation}
+\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+
+\newpage
+
+\begin{equation}
+\glslink{Gamma}{\ensuremath{\Gamma(\alpha)}} =
+\Gamma(\alpha, x) + \gamma(\alpha, x)
+\end{equation}
+
+\begin{equation}
+\gls{psi} = \frac{d}{dx}\ln\Gamma(x)
+\end{equation}
+
+\chapter{Error Functions}
+
+The \glslink[format=hyperbf,counter=page]{erf}{error function} is defined as:
+\begin{equation}
+\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt
+\end{equation}
+
+\begin{equation}
+\gls{erfc} = 1 - \erf(x)
+\end{equation}
+
+\chapter{Beta Function}
+
+\begin{equation}
+\gls{beta} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt
+\end{equation}
+Alternatively:
+\begin{equation}
+\gls{beta} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi
+\end{equation}
+
+\begin{equation}
+\gls{beta} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x)
+\end{equation}
+
+\begin{equation}
+\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt
+\end{equation}
+
+\chapter{Chebyshev's polynomials}
+
+\begin{equation}
+\gls{Tn} = \cos(n\arccos x)
+\end{equation}
+
+\begin{equation}
+\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]}
+\end{equation}
+
+\chapter{Hermite polynomials}
+
+\begin{equation}
+\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2})
+\end{equation}
+
+\chapter{Laguerre polynomials}
+
+\begin{equation}
+\gls{Lna} = \frac{1}{n!}e^x x^{-\alpha}
+\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha})
+\end{equation}
+
+\chapter{Bessel Functions}
+
+Bessel functions $Z_\nu(z)$ are solutions of
+\begin{equation}
+\frac{d^2\glslink{Znu}{Z_\nu}}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} +
+\left(
+1-\frac{\nu^2}{z^2}Z_\nu = 0
+\right)
+\end{equation}
+
+\chapter{Confluent hypergeometric function}
+
+\begin{equation}
+\gls{Pagz} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!}
++ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!}
++\frac{\alpha(\alpha+1)(\alpha+2)}
+ {\gamma(\gamma+1)(\gamma+2)}
+\,\frac{z^3}{3!}
++ \cdots
+\end{equation}
+
+\begin{equation}
+\gls{kv} = \frac{2}{\pi}\int_0^{\pi/2}
+\cos(x \tan\theta - \nu\theta)\,d\theta
+\end{equation}
+
+\chapter{Parabolic cylinder functions}
+
+\begin{equation}
+\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}}
+\left\{
+\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)}
+\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right)
+-\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)}
+\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right)
+\right\}
+\end{equation}
+
+\chapter{Elliptical Integral of the First Kind}
+
+\begin{equation}
+\gls{Fpk} = \int_0^\phi
+\frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}}
+\end{equation}
+
+\chapter{Constants}
+
+\begin{equation}
+\gls{C} = 0.577\,215\,664\,901\ldots
+\end{equation}
+
+\begin{equation}
+\gls{G} = 0.915\,965\,594\ldots
+\end{equation}
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleEqPg.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleNtn.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage{html}
+\usepackage[toc]{glossaries}
+
+ % Define a new glossary type called notation
+\newglossary[nlg]{notation}{not}{ntn}{Notation}
+
+\makeglossaries
+
+ % Notation definitions
+
+\newglossaryentry{not:set}{type=notation, % glossary type
+name={$\mathcal{S}$},
+description={A set},
+sort={S}}
+
+\newglossaryentry{not:U}{type=notation,
+name={$\mathcal{U}$},
+description={The universal set},
+sort=U}
+
+\newglossaryentry{not:card}{type=notation,
+name={$|\mathcal{S}|$},
+description={cardinality of $\mathcal{S}$},
+sort=cardinality}
+
+\newglossaryentry{not:fact}{type=notation,
+name={$!$},
+description={factorial},
+sort=factorial}
+
+ % Main glossary definitions
+
+\newglossaryentry{gls:set}{name=set,
+description={A collection of distinct objects}}
+
+\newglossaryentry{gls:card}{name=cardinality,
+description={The number of elements in the specified set}}
+
+\begin{document}
+\title{Sample Document using the glossaries Package}
+\author{Nicola Talbot}
+\pagenumbering{alph}
+\maketitle
+
+\begin{abstract}
+ %stop hyperref complaining about duplicate page identifiers:
+\pagenumbering{Alph}
+This is a sample document illustrating the use of the
+\textsf{glossaries} package. In this example, a new glossary type
+called \texttt{notation} is defined, so that the document can have a
+separate glossary of terms and index of notation. The index of notation
+doesn't have associated numbers.
+\end{abstract}
+
+
+\pagenumbering{roman}
+\tableofcontents
+
+\printglossaries
+ %\printglossary
+ %\setglossarysection{section}
+ %\printglossary[type=notation]
+
+\chapter{Introduction}
+\pagenumbering{arabic}
+
+\glslink{gls:set}{Sets}
+are denoted by a caligraphic font
+e.g.\ \gls{not:set}.
+
+Let \gls[format=hyperit]{not:U} denote the universal set.
+
+The \gls{gls:card} of a set $\mathcal{S}$ is denoted
+\gls{not:card}.
+
+\chapter{Another Chapter}
+
+Another mention of the universal set \gls{not:U}.
+
+The factorial symbol: \gls{not:fact}.
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleNtn.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*sampleSec.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+\documentclass{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage[style=altlist,toc,counter=section]{glossaries}
+
+\makeglossaries
+
+\newglossaryentry{ident}{name=identity matrix,
+description=diagonal matrix with 1s along the leading diagonal,
+plural=identity matrices}
+
+\newglossaryentry{diag}{name=diagonal matrix,
+description=matrix whose only non-zero entries are along
+the leading diagonal,
+plural=diagonal matrices}
+
+\newglossaryentry{sing}{name=singular matrix,
+description=matrix with zero determinant,
+plural=singular matrices}
+
+\begin{document}
+
+\pagenumbering{roman}
+\tableofcontents
+
+\printglossaries
+
+\chapter{Introduction}
+\pagenumbering{arabic}
+This is a sample document illustrating the use of the
+\textsf{glossaries} package.
+
+\chapter{Diagonal matrices}
+
+A \gls[format=hyperit]{diag} is a matrix where all elements not on the
+leading diagonal are zero. This is the
+primary definition, so an italic font is used for the page number.
+
+\newpage
+\section{Identity matrix}
+The \gls[format=hyperit]{ident} is a \gls{diag} whose leading
+diagonal elements are all equal to 1.
+
+Here is another entry for a \gls{diag}. And this is the
+plural: \glspl{ident}.
+
+This adds an entry into the glossary with a bold number, but
+it doesn't create a hyperlink: \gls*[format=hyperbf]{ident}.
+
+\chapter{Singular Matrices}
+
+A \gls{sing} is a matrix with zero determinant.
+\Glspl{sing} are non-invertible. Possessive:
+a \gls{sing}['s] dimensions are not necessarily equal.
+
+Another \gls{ident} entry.
+
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sampleSec.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*database1.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This is a sample database of glossary entries
+ % Only those entries used in the document with \glslink, \gls,
+ % \glspl, and uppercase variants will have entries in the
+ % glossary. Note that the type key is not used, as the
+ % glossary type can be specified in \loadglsentries
+
+\newglossaryentry{array}{name=array,
+description={A list of values identified by a numeric value}}
+
+\newglossaryentry{binary}{name=binary,
+description={Pertaining to numbers represented in base 2}}
+
+\newglossaryentry{comment}{name=comment,
+description={A remark that doesn't affect the meaning of the
+code}}
+
+\newglossaryentry{global}{name=global,
+description={Something that maintains its state when it leaves
+the current group}}
+
+\newglossaryentry{local}{name=local,
+description={Something that only maintains its state until
+it leaves the group in which it was defined/changed}}
+
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</database1.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*database2.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This is a sample database of glossary entries
+ % Only those entries used in the document with \glslink, \gls,
+ % \glspl, and uppercase variants will have entries in the
+ % glossary. Note that the type key is not used, as the
+ % glossary type can be specified in \loadglsentries
+
+ % Don't need to worry about makeindex special characters
+\newglossaryentry{quote}{name={"},
+description={the double quote symbol}}
+
+\newglossaryentry{at}{name={@},
+description={the ``at'' symbol}}
+
+\newglossaryentry{excl}{name={!},
+description={the exclamation mark symbol}}
+
+\newglossaryentry{bar}{name={$|$},
+description={the vertical bar symbol}}
+
+\newglossaryentry{hash}{name={\#},
+description={the hash symbol}}
+
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</database2.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*glossaries.perl>
% \end{macrocode}
%\fi
@@ -4536,8 +7980,8 @@ first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
# File : glossaries.perl
# Author : Nicola L.C. Talbot
# Date : 14th June 2007
-# Last Modified : 21st Aug 2007
-# Version : 1.02
+# Last Modified : 22 February 2008
+# Version : 1.03
# Description : LaTeX2HTML (limited!) implementation of glossaries
# package. Note that not all the glossaries.sty
# macros have been implemented.
@@ -5566,9 +9010,14 @@ sub gls_add_entry{
local($oldfmt) = $GLSCURRENTFORMAT;
- if (defined($format) and $format)
+ if (defined($format))
{
- $GLSCURRENTFORMAT=$format;
+ $format=~s/[\(\)]//;
+
+ if ($format)
+ {
+ $GLSCURRENTFORMAT=$format;
+ }
}
$id = ++$global{'max_id'};
@@ -6206,6 +9655,609 @@ sub do_cmd_GLSpl{
&make_glslink($type, $label, $format, uc($link_text)).$space . $_;
}
+# added 22 Feb 2008
+sub do_cmd_glstext{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_text($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glstext{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_text($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLStext{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_text($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsname{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_name($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsname{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_name($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSname{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_name($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsfirst{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_first($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsfirst{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_first($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSfirst{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_first($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsfirstplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_firstplural($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsfirstplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_firstplural($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSfirstplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_firstplural($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_plural($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_plural($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_plural($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsdesc{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_description($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsdesc{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_description($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSdesc{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_description($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glssymbol{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_symbol($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glssymbol{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_symbol($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSsymbol{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_symbol($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+sub do_cmd_acrshort{
+ &do_cmd_glstext(@_)
+}
+
+sub do_cmd_Acrshort{
+ &do_cmd_Glstext(@_)
+}
+
+sub do_cmd_ACRshort{
+ &do_cmd_GLStext(@_)
+}
+
+sub do_cmd_acrlong{
+ &do_cmd_glsdesc(@_)
+}
+
+sub do_cmd_Acrlong{
+ &do_cmd_Glsdesc(@_)
+}
+
+sub do_cmd_ACRlong{
+ &do_cmd_GLSdesc(@_)
+}
+
+sub do_cmd_acrfull{
+ &do_cmd_glsfirst(@_)
+}
+
+sub do_cmd_Acrfull{
+ &do_cmd_Glsfirst(@_)
+}
+
+sub do_cmd_ACRfull{
+ &do_cmd_GLSfirst(@_)
+}
+
sub do_cmd_glossarypreamble{
local($_) = @_;
$_[0];
@@ -6245,6 +10297,7 @@ sub do_cmd_hyperbf{
&ignore_commands( <<_IGNORED_CMDS_ );
makeglossary
makeglossaries
+glossarystyle {}
_IGNORED_CMDS_
1;
diff --git a/Master/texmf-dist/source/latex/glossaries/glossaries.ins b/Master/texmf-dist/source/latex/glossaries/glossaries.ins
index 170da75cd4e..9efa72599bc 100644
--- a/Master/texmf-dist/source/latex/glossaries/glossaries.ins
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.ins
@@ -1,10 +1,10 @@
-% glossaries.ins generated using makedtx version 0.94b 2007/10/13 15:35
+% glossaries.ins generated using makedtx version 0.94b 2008/3/4 12:06
\input docstrip
\preamble
glossaries.dtx
- Copyright 2007 Nicola Talbot
+ Copyright 2008 Nicola Talbot
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -18,7 +18,7 @@
The Current Maintainer of this work is Nicola Talbot.
- This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries.perl.
+ This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
\endpreamble
@@ -34,6 +34,50 @@
\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-long.sty,package}}
\file{glossary-super.sty}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{glossaries.dtx}{glossary-super.sty,package}}
+\file{glossaries-babel.sty}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-babel.sty,package}}
+\file{glossaries-dictionary-Danish.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Danish.dict,package}}
+\file{glossaries-dictionary-Dutch.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Dutch.dict,package}}
+\file{glossaries-dictionary-English.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-English.dict,package}}
+\file{glossaries-dictionary-French.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-French.dict,package}}
+\file{glossaries-dictionary-German.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-German.dict,package}}
+\file{glossaries-dictionary-Irish.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Irish.dict,package}}
+\file{glossaries-dictionary-Italian.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Italian.dict,package}}
+\file{glossaries-dictionary-Magyar.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Magyar.dict,package}}
+\file{glossaries-dictionary-Spanish.dict}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{glossaries-dictionary-Spanish.dict,package}}
+\file{minimalgls.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{minimalgls.tex,package}}
+\file{sample.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sample.tex,package}}
+\file{sample4col.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sample4col.tex,package}}
+\file{sampleAcr.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleAcr.tex,package}}
+\file{sampleAcrDesc.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleAcrDesc.tex,package}}
+\file{sampleDB.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleDB.tex,package}}
+\file{sampleEq.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleEq.tex,package}}
+\file{sampleEqPg.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleEqPg.tex,package}}
+\file{sampleNtn.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleNtn.tex,package}}
+\file{sampleSec.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{sampleSec.tex,package}}
+\file{database1.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{database1.tex,package}}
+\file{database2.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{glossaries.dtx}{database2.tex,package}}
\file{glossaries.perl}{\nopreamble\nopostamble\from{glossaries.dtx}{glossaries.perl}}
}
diff --git a/Master/texmf-dist/doc/latex/glossaries/glossaries.perl b/Master/texmf-dist/source/latex/glossaries/glossaries.perl
index 22ad50f784c..8a64fbe3aca 100644
--- a/Master/texmf-dist/doc/latex/glossaries/glossaries.perl
+++ b/Master/texmf-dist/source/latex/glossaries/glossaries.perl
@@ -1,8 +1,8 @@
# File : glossaries.perl
# Author : Nicola L.C. Talbot
# Date : 14th June 2007
-# Last Modified : 21st Aug 2007
-# Version : 1.02
+# Last Modified : 22 February 2008
+# Version : 1.03
# Description : LaTeX2HTML (limited!) implementation of glossaries
# package. Note that not all the glossaries.sty
# macros have been implemented.
@@ -1029,9 +1029,14 @@ sub gls_add_entry{
local($oldfmt) = $GLSCURRENTFORMAT;
- if (defined($format) and $format)
+ if (defined($format))
{
- $GLSCURRENTFORMAT=$format;
+ $format=~s/[\(\)]//;
+
+ if ($format)
+ {
+ $GLSCURRENTFORMAT=$format;
+ }
}
$id = ++$global{'max_id'};
@@ -1669,6 +1674,609 @@ sub do_cmd_GLSpl{
&make_glslink($type, $label, $format, uc($link_text)).$space . $_;
}
+# added 22 Feb 2008
+sub do_cmd_glstext{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_text($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glstext{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_text($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLStext{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_text($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsname{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_name($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsname{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_name($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSname{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_name($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsfirst{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_first($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsfirst{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_first($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSfirst{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_first($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsfirstplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_firstplural($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsfirstplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_firstplural($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSfirstplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_firstplural($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_plural($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_plural($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSplural{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_plural($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glsdesc{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_description($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glsdesc{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_description($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSdesc{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_description($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_glssymbol{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_symbol($label);
+
+ &make_glslink($type, $label, $format, $text) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_Glssymbol{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_symbol($label);
+
+ &make_glslink($type, $label, $format, ucfirst($text)) .$space . $_;
+}
+
+# added 22 Feb 2008
+sub do_cmd_GLSsymbol{
+ local($_) = @_;
+ local($optarg,$pat,$label,$text, $format, $insert);
+
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ ($format,$optarg) = &get_keyval('format', $optarg);
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ local ($space) = '';
+ if (/^\s+[^\[]/ or /^\s*\[.*\]\s/) {$space = ' ';}
+
+ $insert = '';
+ ($insert,$pat) = &get_next_optional_argument;
+
+ local($display) = '';
+
+ local($type) = &gls_get_type($label);
+
+ $text = &gls_get_symbol($label);
+
+ &make_glslink($type, $label, $format, uc($text)) .$space . $_;
+}
+
+sub do_cmd_acrshort{
+ &do_cmd_glstext(@_)
+}
+
+sub do_cmd_Acrshort{
+ &do_cmd_Glstext(@_)
+}
+
+sub do_cmd_ACRshort{
+ &do_cmd_GLStext(@_)
+}
+
+sub do_cmd_acrlong{
+ &do_cmd_glsdesc(@_)
+}
+
+sub do_cmd_Acrlong{
+ &do_cmd_Glsdesc(@_)
+}
+
+sub do_cmd_ACRlong{
+ &do_cmd_GLSdesc(@_)
+}
+
+sub do_cmd_acrfull{
+ &do_cmd_glsfirst(@_)
+}
+
+sub do_cmd_Acrfull{
+ &do_cmd_Glsfirst(@_)
+}
+
+sub do_cmd_ACRfull{
+ &do_cmd_GLSfirst(@_)
+}
+
sub do_cmd_glossarypreamble{
local($_) = @_;
$_[0];
@@ -1708,6 +2316,7 @@ sub do_cmd_hyperbf{
&ignore_commands( <<_IGNORED_CMDS_ );
makeglossary
makeglossaries
+glossarystyle {}
_IGNORED_CMDS_
1;
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Danish.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Danish.dict
new file mode 100644
index 00000000000..11ebed0f117
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Danish.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-Danish.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-Danish.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{Danish}
+\providetranslation{Glossary}{Ordliste}
+\providetranslation{Acronyms}{Akronymer}
+\providetranslation{Notation (glossaries)}{Symbolforklaring}
+\providetranslation{Description (glossaries)}{Beskrivelse}
+\providetranslation{Symbol (glossaries)}{Symbol}
+\providetranslation{Page List (glossaries)}{Side}
+\providetranslation{Symbols (glossaries)}{Symboler}
+\providetranslation{Numbers (glossaries)}{Tal}
+\endinput
+%%
+%% End of file `glossaries-dictionary-Danish.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Dutch.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Dutch.dict
new file mode 100644
index 00000000000..abfff1740e5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Dutch.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-Dutch.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-Dutch.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{Dutch}
+\providetranslation{Glossary}{Woordenlijst}
+\providetranslation{Acronyms}{Acroniemen}
+\providetranslation{Notation (glossaries)}{Benaming}
+\providetranslation{Description (glossaries)}{Beschrijving}
+\providetranslation{Symbol (glossaries)}{Symbool}
+\providetranslation{Page List (glossaries)}{Pagina's}
+\providetranslation{Symbols (glossaries)}{Symbolen}
+\providetranslation{Numbers (glossaries)}{Cijfers}
+\endinput
+%%
+%% End of file `glossaries-dictionary-Dutch.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-English.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-English.dict
new file mode 100644
index 00000000000..64140682399
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-English.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-English.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-English.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{English}
+\providetranslation{Glossary}{Glossary}
+\providetranslation{Acronyms}{Acronyms}
+\providetranslation{Notation (glossaries)}{Notation}
+\providetranslation{Description (glossaries)}{Description}
+\providetranslation{Symbol (glossaries)}{Symbol}
+\providetranslation{Page List (glossaries)}{Page List}
+\providetranslation{Symbols (glossaries)}{Symbols}
+\providetranslation{Numbers (glossaries)}{Numbers}
+\endinput
+%%
+%% End of file `glossaries-dictionary-English.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-French.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-French.dict
new file mode 100644
index 00000000000..41e36266967
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-French.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-French.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-French.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{French}
+\providetranslation{Glossary}{Glossaire}
+\providetranslation{Acronyms}{Acronymes}
+\providetranslation{Notation (glossaries)}{Terme}
+\providetranslation{Description (glossaries)}{Description}
+\providetranslation{Symbol (glossaries)}{Symbole}
+\providetranslation{Page List (glossaries)}{Pages}
+\providetranslation{Symbols (glossaries)}{Symboles}
+\providetranslation{Numbers (glossaries)}{Nombres}
+\endinput
+%%
+%% End of file `glossaries-dictionary-French.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-German.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-German.dict
new file mode 100644
index 00000000000..03ce4a53d80
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-German.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-German.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-German.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{German}
+\providetranslation{Glossary}{Glossar}
+\providetranslation{Acronyms}{Akronyme}
+\providetranslation{Notation (glossaries)}{Bezeichnung}
+\providetranslation{Description (glossaries)}{Beschreibung}
+\providetranslation{Symbol (glossaries)}{Symbol}
+\providetranslation{Page List (glossaries)}{Seiten}
+\providetranslation{Symbols (glossaries)}{Symbole}
+\providetranslation{Numbers (glossaries)}{Zahlen}
+\endinput
+%%
+%% End of file `glossaries-dictionary-German.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Irish.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Irish.dict
new file mode 100644
index 00000000000..72f5e8f3e2c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Irish.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-Irish.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-Irish.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{Irish}
+\providetranslation{Glossary}{Gluais}
+\providetranslation{Acronyms}{Acrainmneacha}
+\providetranslation{Notation (glossaries)}{Ciall}
+\providetranslation{Description (glossaries)}{Tuairisc}
+\providetranslation{Symbol (glossaries)}{Comhartha}
+\providetranslation{Page List (glossaries)}{Leathanaigh}
+\providetranslation{Symbols (glossaries)}{Comhartha\'{\i}}
+\providetranslation{Numbers (glossaries)}{Uimhreacha}
+\endinput
+%%
+%% End of file `glossaries-dictionary-Irish.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Italian.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Italian.dict
new file mode 100644
index 00000000000..f12f26816ce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Italian.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-Italian.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-Italian.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{Italian}
+\providetranslation{Glossary}{Glossario}
+\providetranslation{Acronyms}{Acronimi}
+\providetranslation{Notation (glossaries)}{Nomenclatura}
+\providetranslation{Description (glossaries)}{Descrizione}
+\providetranslation{Symbol (glossaries)}{Simbolo}
+\providetranslation{Page List (glossaries)}{Elenco delle pagine}
+\providetranslation{Symbols (glossaries)}{Simboli}
+\providetranslation{Numbers (glossaries)}{Numeri}
+\endinput
+%%
+%% End of file `glossaries-dictionary-Italian.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Magyar.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Magyar.dict
new file mode 100644
index 00000000000..b364df126b0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Magyar.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-Magyar.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-Magyar.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{Magyar}
+\providetranslation{Glossary}{Sz\'ojegyz\'ek}
+\providetranslation{Acronyms}{Bet\H uszavak}
+\providetranslation{Notation (glossaries)}{Kifejez\'es}
+\providetranslation{Description (glossaries)}{Magyar\'azat}
+\providetranslation{Symbol (glossaries)}{Jel\"ol\'es}
+\providetranslation{Page List (glossaries)}{Oldalsz\'am}
+\providetranslation{Symbols (glossaries)}{Jelek}
+\providetranslation{Numbers (glossaries)}{Sz\'amjegyek}
+\endinput
+%%
+%% End of file `glossaries-dictionary-Magyar.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Spanish.dict b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Spanish.dict
new file mode 100644
index 00000000000..1579534bbed
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/dict/glossaries-dictionary-Spanish.dict
@@ -0,0 +1,52 @@
+%%
+%% This is file `glossaries-dictionary-Spanish.dict',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-dictionary-Spanish.dict,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesDictionary{glossaries-dictionary}{Spanish}
+\providetranslation{Glossary}{Glosario}
+\providetranslation{Acronyms}{Siglas}
+\providetranslation{Notation (glossaries)}{Entrada}
+\providetranslation{Description (glossaries)}{Descripci\'on}
+\providetranslation{Symbol (glossaries)}{S\'{\i}mbolo}
+\providetranslation{Page List (glossaries)}{Lista de p\'aginas}
+\providetranslation{Symbols (glossaries)}{S\'{\i}mbolos}
+\providetranslation{Numbers (glossaries)}{N\'umeros}
+\endinput
+%%
+%% End of file `glossaries-dictionary-Spanish.dict'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/glossaries-babel.sty b/Master/texmf-dist/tex/latex/glossaries/glossaries-babel.sty
new file mode 100644
index 00000000000..695e13dc5a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries/glossaries-babel.sty
@@ -0,0 +1,137 @@
+%%
+%% This is file `glossaries-babel.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries.dtx (with options: `glossaries-babel.sty,package')
+%%
+%% glossaries.dtx
+%% Copyright 2008 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{glossaries-babel}[2008/02/22 v1.0 (NLCT)]
+\addto\captionsenglish{%
+\renewcommand*{\glossaryname}{Glossary}%
+\renewcommand*{\acronymname}{Acronyms}%
+\renewcommand*{\entryname}{Notation}%
+\renewcommand*{\descriptionname}{Description}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Page List}%
+\renewcommand*{\glssymbolsgroupname}{Symbols}%
+\renewcommand*{\glsnumbersgroupname}{Numbers}%
+}%
+\addto\captionsgerman{%
+\renewcommand*{\glossaryname}{Glossar}%
+\renewcommand*{\acronymname}{Akronyme}%
+\renewcommand*{\entryname}{Bezeichnung}%
+\renewcommand*{\descriptionname}{Beschreibung}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Seiten}%
+\renewcommand*{\glssymbolsgroupname}{Symbole}%
+\renewcommand*{\glsnumbersgroupname}{Zahlen}}
+\addto\captionsngerman{%
+\renewcommand*{\glossaryname}{Glossar}%
+\renewcommand*{\acronymname}{Akronyme}%
+\renewcommand*{\entryname}{Bezeichnung}%
+\renewcommand*{\descriptionname}{Beschreibung}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Seiten}%
+\renewcommand*{\glssymbolsgroupname}{Symbole}%
+\renewcommand*{\glsnumbersgroupname}{Zahlen}}
+\addto\captionsitalian{%
+\renewcommand*{\glossaryname}{Glossario}%
+\renewcommand*{\acronymname}{Acronimi}%
+\renewcommand*{\entryname}{Nomenclatura}%
+\renewcommand*{\descriptionname}{Descrizione}%
+\renewcommand*{\symbolname}{Simbolo}%
+\renewcommand*{\pagelistname}{Elenco delle pagine}%
+\renewcommand*{\glssymbolsgroupname}{Simboli}%
+\renewcommand*{\glsnumbersgroupname}{Numeri}}
+\addto\captionsdutch{%
+\renewcommand*{\glossaryname}{Woordenlijst}%
+\renewcommand*{\acronymname}{Acroniemen}%
+\renewcommand*{\entryname}{Benaming}%
+\renewcommand*{\descriptionname}{Beschrijving}%
+\renewcommand*{\symbolname}{Symbool}%
+\renewcommand*{\pagelistname}{Pagina's}%
+\renewcommand*{\glssymbolsgroupname}{Symbolen}%
+\renewcommand*{\glsnumbersgroupname}{Cijfers}}
+\addto\captionsspanish{%
+\renewcommand*{\glossaryname}{Glosario}%
+\renewcommand*{\acronymname}{Siglas}%
+\renewcommand*{\entryname}{Entrada}%
+\renewcommand*{\descriptionname}{Descripci\'on}%
+\renewcommand*{\symbolname}{S\'{\i}mbolo}%
+\renewcommand*{\pagelistname}{Lista de p\'aginas}%
+\renewcommand*{\glssymbolsgroupname}{S\'{\i}mbolos}%
+\renewcommand*{\glsnumbersgroupname}{N\'umeros}}
+\addto\captionsfrench{%
+\renewcommand*{\glossaryname}{Glossaire}%
+\renewcommand*{\acronymname}{Acronymes}%
+\renewcommand*{\entryname}{Terme}%
+\renewcommand*{\descriptionname}{Description}%
+\renewcommand*{\symbolname}{Symbole}%
+\renewcommand*{\pagelistname}{Pages}%
+\renewcommand*{\glssymbolsgroupname}{Symboles}%
+\renewcommand*{\glsnumbersgroupname}{Nombres}}
+\addto\captionsdanish{%
+\renewcommand*{\glossaryname}{Ordliste}%
+\renewcommand*{\acronymname}{Akronymer}%
+\renewcommand*{\entryname}{Symbolforklaring}%
+\renewcommand*{\descriptionname}{Beskrivelse}%
+\renewcommand*{\symbolname}{Symbol}%
+\renewcommand*{\pagelistname}{Side}%
+\renewcommand*{\glssymbolsgroupname}{Symboler}%
+\renewcommand*{\glsnumbersgroupname}{Tal}}
+\addto\captionsirish{%
+\renewcommand*{\glossaryname}{Gluais}%
+\renewcommand*{\acronymname}{Acrainmneacha}%
+\renewcommand*{\entryname}{Ciall}%
+\renewcommand*{\descriptionname}{Tuairisc}%
+\renewcommand*{\symbolname}{Comhartha}%
+\renewcommand*{\glssymbolsgroupname}{Comhartha\'{\i}}%
+\renewcommand*{\pagelistname}{Leathanaigh}%
+\renewcommand*{\glsnumbersgroupname}{Uimhreacha}}
+\addto\captionsmagyar{%
+\renewcommand*{\glossaryname}{Sz\'ojegyz\'ek}%
+\renewcommand*{\acronymname}{Bet\H uszavak}%
+\renewcommand*{\entryname}{Kifejez\'es}%
+\renewcommand*{\descriptionname}{Magyar\'azat}%
+\renewcommand*{\symbolname}{Jel\"ol\'es}%
+\renewcommand*{\pagelistname}{Oldalsz\'am}%
+\renewcommand*{\glssymbolsgroupname}{Jelek}%
+\renewcommand*{\glsnumbersgroupname}{Sz\'amjegyek}%
+}
+\endinput
+%%
+%% End of file `glossaries-babel.sty'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/glossaries.sty b/Master/texmf-dist/tex/latex/glossaries/glossaries.sty
index 2e390251c1c..e75d00d56eb 100644
--- a/Master/texmf-dist/tex/latex/glossaries/glossaries.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/glossaries.sty
@@ -7,7 +7,7 @@
%% glossaries.dtx (with options: `glossaries.sty,package')
%%
%% glossaries.dtx
-%% Copyright 2007 Nicola Talbot
+%% Copyright 2008 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries.perl.
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -39,16 +39,31 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries}[2007/10/13 v1.08 (NLCT)]
+\ProvidesPackage{glossaries}[2008/02/22 v1.11 (NLCT)]
\RequirePackage{ifthen}
\RequirePackage{xkeyval}[2006/11/18]
-\RequirePackage{xspace}
+\RequirePackage{amsgen}
\define@boolkey{glossaries.sty}[gls]{toc}[true]{}
+\define@boolkey{glossaries.sty}[gls]{numberline}[true]{}
\@ifundefined{chapter}{\newcommand*{\@@glossarysec}{section}}{%
\newcommand*{\@@glossarysec}{chapter}}
\define@choicekey{glossaries.sty}{section}{part,chapter,section,%
subsection,subsubsection,paragraph,subparagraph}[section]{%
\renewcommand*{\@@glossarysec}{#1}}
+\newcommand*{\@@glossarysecstar}{*}
+\newcommand*{\@@glossaryseclabel}{}
+\define@choicekey{glossaries.sty}{numberedsection}[\val\nr]{%
+false,nolabel,autolabel}[nolabel]{%
+\ifcase\nr\relax
+ \renewcommand*{\@@glossarysecstar}{*}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+\or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{}%
+\or
+ \renewcommand*{\@@glossarysecstar}{}%
+ \renewcommand*{\@@glossaryseclabel}{\label{\@glo@type}}%
+\fi}
\newcommand*{\@glossary@default@style}{list}
\define@key{glossaries.sty}{style}{%
\renewcommand*{\@glossary@default@style}{#1}}
@@ -92,6 +107,23 @@ name=true]{%
\renewcommand*{\@gls@sanitizesymbol}{}%
}{\setkeys[gls]{sanitize}{#1}}%
}
+\define@boolkey{glossaries.sty}[gls]{translate}[true]{}
+\glstranslatefalse
+\@ifpackageloaded{translator}{\glstranslatetrue}{%
+\@ifpackageloaded{babel}{\glstranslatetrue}{}}
+\define@boolkey{glossaries.sty}[glsacr]{footnote}[true]{%
+\ifthenelse{\boolean{glsacrdescription}}{}%
+{\renewcommand*{\@gls@sanitizedesc}{}}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{description}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{smallcaps}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
+\define@boolkey{glossaries.sty}[glsacr]{dua}[true]{%
+ \renewcommand*{\@gls@sanitizesymbol}{}%
+}
\ProcessOptionsX
\ifthenelse{\equal{\glscounter}{section}}{%
\@ifundefined{chapter}{}{%
@@ -106,100 +138,19 @@ name=true]{%
\providecommand*{\pagelistname}{Page List}
\providecommand*{\glssymbolsgroupname}{Symbols}
\providecommand*{\glsnumbersgroupname}{Numbers}
-\@ifpackageloaded{babel}{%
-\addto\captionsenglish{%
-\renewcommand*{\glossaryname}{Glossary}%
-\renewcommand*{\acronymname}{Acronyms}%
-\renewcommand*{\entryname}{Notation}%
-\renewcommand*{\descriptionname}{Description}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Page List}%
-\renewcommand*{\glssymbolsgroupname}{Symbols}%
-\renewcommand*{\glsnumbersgroupname}{Numbers}%
-}%
-\addto\captionsgerman{%
-\renewcommand*{\glossaryname}{Glossar}%
-\renewcommand*{\acronymname}{Akronyme}%
-\renewcommand*{\entryname}{Bezeichnung}%
-\renewcommand*{\descriptionname}{Beschreibung}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Seiten}%
-\renewcommand*{\glssymbolsgroupname}{Symbole}%
-\renewcommand*{\glsnumbersgroupname}{Zahlen}}
-\addto\captionsngerman{%
-\renewcommand*{\glossaryname}{Glossar}%
-\renewcommand*{\acronymname}{Akronyme}%
-\renewcommand*{\entryname}{Bezeichnung}%
-\renewcommand*{\descriptionname}{Beschreibung}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Seiten}%
-\renewcommand*{\glssymbolsgroupname}{Symbole}%
-\renewcommand*{\glsnumbersgroupname}{Zahlen}}
-\addto\captionsitalian{%
-\renewcommand*{\glossaryname}{Glossario}%
-\renewcommand*{\acronymname}{Acronimi}%
-\renewcommand*{\entryname}{Nomenclatura}%
-\renewcommand*{\descriptionname}{Descrizione}%
-\renewcommand*{\symbolname}{Simbolo}%
-\renewcommand*{\pagelistname}{Elenco delle pagine}%
-\renewcommand*{\glssymbolsgroupname}{Simboli}%
-\renewcommand*{\glsnumbersgroupname}{Numeri}}
-\addto\captionsdutch{%
-\renewcommand*{\glossaryname}{Woordenlijst}%
-\renewcommand*{\acronymname}{Acroniemen}%
-\renewcommand*{\entryname}{Benaming}%
-\renewcommand*{\descriptionname}{Beschrijving}%
-\renewcommand*{\symbolname}{Symbool}%
-\renewcommand*{\pagelistname}{Pagina's}%
-\renewcommand*{\glssymbolsgroupname}{Symbolen}%
-\renewcommand*{\glsnumbersgroupname}{Cijfers}}
-\addto\captionsspanish{%
-\renewcommand*{\glossaryname}{Glosario}%
-\renewcommand*{\acronymname}{Siglas}%
-\renewcommand*{\entryname}{Entrada}%
-\renewcommand*{\descriptionname}{Descripci\'on}%
-\renewcommand*{\symbolname}{S\'{\i}mbolo}%
-\renewcommand*{\pagelistname}{Lista de p\'aginas}%
-\renewcommand*{\glssymbolsgroupname}{S\'{\i}mbolos}%
-\renewcommand*{\glsnumbersgroupname}{N\'umeros}}
-\addto\captionsfrench{%
-\renewcommand*{\glossaryname}{Glossaire}%
-\renewcommand*{\acronymname}{Acronymes}%
-\renewcommand*{\entryname}{Terme}%
-\renewcommand*{\descriptionname}{Description}%
-\renewcommand*{\symbolname}{Symbole}%
-\renewcommand*{\pagelistname}{Pages}%
-\renewcommand*{\glssymbolsgroupname}{Symboles}%
-\renewcommand*{\glsnumbersgroupname}{Nombres}}
-\addto\captionsdanish{%
-\renewcommand*{\glossaryname}{Ordliste}%
-\renewcommand*{\acronymname}{Akronymer}%
-\renewcommand*{\entryname}{Symbolforklaring}%
-\renewcommand*{\descriptionname}{Beskrivelse}%
-\renewcommand*{\symbolname}{Symbol}%
-\renewcommand*{\pagelistname}{Side}%
-\renewcommand*{\glssymbolsgroupname}{Symboler}%
-\renewcommand*{\glsnumbersgroupname}{Tal}}
-\addto\captionsirish{%
-\renewcommand*{\glossaryname}{Gluais}%
-\renewcommand*{\acronymname}{Acrainmneacha}% 'Acronyms'
-\renewcommand*{\entryname}{Ciall}%
-\renewcommand*{\descriptionname}{Tuairisc}%
-\renewcommand*{\symbolname}{Comhartha}%
-\renewcommand*{\glssymbolsgroupname}{Comhartha\'{\i}}%OR
-\renewcommand*{\pagelistname}{Leathanaigh}%
-\renewcommand*{\glsnumbersgroupname}{Uimhreacha}}
-\addto\captionsmagyar{%
-\renewcommand*{\glossaryname}{Sz\'ojegyz\'ek}%
-\renewcommand*{\acronymname}{Bet\H uszavak}%
-\renewcommand*{\entryname}{Kifejez\'es}%
-\renewcommand*{\descriptionname}{Magyar\'azat}%
-\renewcommand*{\symbolname}{Jel\"ol\'es}%
-\renewcommand*{\pagelistname}{Oldalsz\'am}%
-\renewcommand*{\glssymbolsgroupname}{Jelek}%
-\renewcommand*{\glsnumbersgroupname}{Sz\'amjegyek}%
-}
-}{}
+\ifglstranslate
+\@ifpackageloaded{translator}{\usedictionary{glossaries-dictionary}%
+\renewcommand*{\glossaryname}{\translate{Glossary}}%
+\renewcommand*{\acronymname}{\translate{Acronyms}}%
+\renewcommand*{\entryname}{\translate{Notation (glossaries)}}%
+\renewcommand*{\descriptionname}{\translate{Description (glossaries)}}%
+\renewcommand*{\symbolname}{\translate{Symbol (glossaries)}}%
+\renewcommand*{\pagelistname}{\translate{Page List (glossaries)}}%
+\renewcommand*{\glssymbolsgroupname}{\translate{Symbols (glossaries)}}%
+\renewcommand*{\glsnumbersgroupname}{\translate{Numbers (glossaries)}}%
+}{%
+\@ifpackageloaded{babel}{\RequirePackage{glossaries-babel}}{}}
+\fi
\newcommand*{\glspostdescription}{.}
\providecommand*{\istfilename}{\jobname.ist}
\newcommand*{\@istfilename}[1]{}
@@ -217,19 +168,38 @@ name=true]{%
\@glossarysection{#1}{#2}}{\@p@glossarysection{#1}{#2}}%
\@mkboth{\glossarytoctitle}{\glossarytoctitle}%
}
+\newcommand*{\setglossarysection}[1]{%
+\setkeys{glossaries.sty}{section=#1}}
\newcommand*{\@glossarysection}[2]{%
-\csname\@@glossarysec\endcsname*{#2}%
-\@gls@toc{#1}{\@@glossarysec}}
+\ifx\@@glossarysecstar\@empty
+ \csname\@@glossarysec\endcsname{#2}%
+\else
+ \csname\@@glossarysec\endcsname*{#2}%
+ \@gls@toc{#1}{\@@glossarysec}%
+\fi
+\@@glossaryseclabel}
\newcommand*{\@p@glossarysection}[2]{%
\gls@doclearpage
-\phantomsection\@gls@toc{#1}{\@@glossarysec}%
-\csname\@@glossarysec\endcsname*{#2}}
+\phantomsection
+\ifx\@@glossarysecstar\@empty
+ \csname\@@glossarysec\endcsname{#2}%
+\else
+ \@gls@toc{#1}{\@@glossarysec}%
+ \csname\@@glossarysec\endcsname*{#2}%
+\fi
+\@@glossaryseclabel}
\newcommand{\gls@doclearpage}{%
\ifthenelse{\equal{\@@glossarysec}{chapter}}{%
\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}}{}%
}
\newcommand*{\@gls@toc}[2]{%
-\ifglstoc \addcontentsline{toc}{#2}{#1}\fi}
+\ifglstoc
+ \ifglsnumberline
+ \addcontentsline{toc}{#2}{\numberline{}#1}%
+ \else
+ \addcontentsline{toc}{#2}{#1}%
+ \fi
+\fi}
\newcommand*{\forallglossaries}[3][\@glo@types]{%
\@for#2:=#1\do{\ifthenelse{\equal{#2}{}}{}{#3}}}
\newcommand*{\forglsentries}[3][\glsdefaulttype]{%
@@ -475,7 +445,7 @@ counter as its value}}{%
\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}%
}
\def\@gls@updatechecked#1\@nil#2{\def#2{#1}}
-\toksdef\@gls@tmpb=2
+\newtoks\@gls@tmpb
\def\@gls@checkquote#1"#2"#3\null{%
\@gls@tmpb=\expandafter{\@gls@checkedmkidx}%
\toks@={#1}%
@@ -669,93 +639,405 @@ counter as its value}}{%
\newcommand*{\gls}{\@ifstar\@sgls\@gls}
\newcommand*{\@sgls}[1][]{\@gls[hyper=false,#1]}
\newcommand*{\@gls}[2][]{%
-\@ifnextchar[{\@gls@{#1}{#2}}{\@gls@{#1}{#2}[]}}
+\new@ifnextchar[{\@gls@{#1}{#2}}{\@gls@{#1}{#2}[]}}
\def\@gls@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
\ifglsused{#2}{\protected@edef\@glo@text{%
\csname gls@\@glo@type @display\endcsname
{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
\protected@edef\@glo@text{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
-\@gls@link[#1]{#2}{\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\@glo@text}%
+ \fi
+}%
\glsunset{#2}}%
-\xspace}
+}
\newcommand*{\Gls}{\@ifstar\@sGls\@Gls}
\newcommand*{\@sGls}[1][]{\@Gls[hyper=false,#1]}
\newcommand*{\@Gls}[2][]{%
-\@ifnextchar[{\@Gls@{#1}{#2}}{\@Gls@{#1}{#2}[]}}
+\new@ifnextchar[{\@Gls@{#1}{#2}}{\@Gls@{#1}{#2}[]}}
\def\@Gls@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
\ifglsused{#2}{\protected@edef\@glo@text{%
\csname gls@\@glo@type @display\endcsname
{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
\protected@edef\@glo@text{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
-\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \fi
+}%
\glsunset{#2}}%
-\xspace}
+}
\newcommand*{\GLS}{\@ifstar\@sGLS\@GLS}
\newcommand*{\@sGLS}[1][]{\@GLS[hyper=false,#1]}
\newcommand*{\@GLS}[2][]{%
-\@ifnextchar[{\@GLS@{#1}{#2}}{\@GLS@{#1}{#2}[]}}
+\new@ifnextchar[{\@GLS@{#1}{#2}}{\@GLS@{#1}{#2}[]}}
\def\@GLS@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
\ifglsused{#2}{\protected@edef\@glo@text{%
\csname gls@\@glo@type @display\endcsname
{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
\protected@edef\@glo@text{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
-\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}%
+ \else
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+ \fi
+}%
\glsunset{#2}}%
-\xspace}
+}
\newcommand*{\glspl}{\@ifstar\@sglspl\@glspl}
\newcommand*{\@sglspl}[1][]{\@glspl[hyper=false,#1]}
\newcommand*{\@glspl}[2][]{%
-\@ifnextchar[{\@glspl@{#1}{#2}}{\@glspl@{#1}{#2}[]}}
+\new@ifnextchar[{\@glspl@{#1}{#2}}{\@glspl@{#1}{#2}[]}}
\def\@glspl@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
\ifglsused{#2}{\protected@edef\@glo@text{%
\csname gls@\@glo@type @display\endcsname
{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
\protected@edef\@glo@text{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
-\@gls@link[#1]{#2}{\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\@glo@text}%
+ \fi
+}%
\glsunset{#2}}%
-\xspace}
+}
\newcommand*{\Glspl}{\@ifstar\@sGlspl\@Glspl}
\newcommand*{\@sGlspl}[1][]{\@Glspl[hyper=false,#1]}
\newcommand*{\@Glspl}[2][]{%
-\@ifnextchar[{\@Glspl@{#1}{#2}}{\@Glspl@{#1}{#2}[]}}
+\new@ifnextchar[{\@Glspl@{#1}{#2}}{\@Glspl@{#1}{#2}[]}}
\def\@Glspl@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
\ifglsused{#2}{\protected@edef\@glo@text{%
\csname gls@\@glo@type @display\endcsname
{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
\protected@edef\@glo@text{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
-\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \else
+ \@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+ \fi
+}%
\glsunset{#2}}%
-\xspace}
+}
\newcommand*{\GLSpl}{\@ifstar\@sGLSpl\@GLSpl}
\newcommand*{\@sGLSpl}[1][]{\@GLSpl[hyper=false,#1]}
\newcommand*{\@GLSpl}[2][]{%
-\@ifnextchar[{\@GLSpl@{#1}{#2}}{\@GLSpl@{#1}{#2}[]}}
+\new@ifnextchar[{\@GLSpl@{#1}{#2}}{\@GLSpl@{#1}{#2}[]}}
\def\@GLSpl@#1#2[#3]{%
\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\def\@gls@link@opts{#1}%
+\def\@gls@link@label{#2}%
\ifglsused{#2}{\protected@edef\@glo@text{%
\csname gls@\@glo@type @display\endcsname
{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{%
\protected@edef\@glo@text{%
\csname gls@\@glo@type @displayfirst\endcsname
{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}%
-\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+\ifglsused{#2}{%
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}{%
+ \ifglsacrfootnote
+ \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}%
+ \else
+ \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+ \fi
+}%
\glsunset{#2}}%
-\xspace}
+}
+\newcommand*{\glstext}{\@ifstar\@sglstext\@glstext}
+\newcommand*{\@sglstext}[1][]{\@glstext[hyper=false,#1]}
+\newcommand*{\@glstext}[2][]{%
+\new@ifnextchar[{\@glstext@{#1}{#2}}{\@glstext@{#1}{#2}[]}}
+\def\@glstext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\GLStext}{\@ifstar\@sGLStext\@GLStext}
+\newcommand*{\@sGLStext}[1][]{\@GLStext[hyper=false,#1]}
+\newcommand*{\@GLStext}[2][]{%
+\new@ifnextchar[{\@GLStext@{#1}{#2}}{\@GLStext@{#1}{#2}[]}}
+\def\@GLStext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+\newcommand*{\Glstext}{\@ifstar\@sGlstext\@Glstext}
+\newcommand*{\@sGlstext}[1][]{\@Glstext[hyper=false,#1]}
+\newcommand*{\@Glstext}[2][]{%
+\new@ifnextchar[{\@Glstext@{#1}{#2}}{\@Glstext@{#1}{#2}[]}}
+\def\@Glstext@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\glsfirst}{\@ifstar\@sglsfirst\@glsfirst}
+\newcommand*{\@sglsfirst}[1][]{\@glsfirst[hyper=false,#1]}
+\newcommand*{\@glsfirst}[2][]{%
+\new@ifnextchar[{\@glsfirst@{#1}{#2}}{\@glsfirst@{#1}{#2}[]}}
+\def\@glsfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\Glsfirst}{\@ifstar\@sGlsfirst\@Glsfirst}
+\newcommand*{\@sGlsfirst}[1][]{\@Glsfirst[hyper=false,#1]}
+\newcommand*{\@Glsfirst}[2][]{%
+\new@ifnextchar[{\@Glsfirst@{#1}{#2}}{\@Glsfirst@{#1}{#2}[]}}
+\def\@Glsfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\GLSfirst}{\@ifstar\@sGLSfirst\@GLSfirst}
+\newcommand*{\@sGLSfirst}[1][]{\@GLSfirst[hyper=false,#1]}
+\newcommand*{\@GLSfirst}[2][]{%
+\new@ifnextchar[{\@GLSfirst@{#1}{#2}}{\@GLSfirst@{#1}{#2}[]}}
+\def\@GLSfirst@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+\newcommand*{\glsplural}{\@ifstar\@sglsplural\@glsplural}
+\newcommand*{\@sglsplural}[1][]{\@glsplural[hyper=false,#1]}
+\newcommand*{\@glsplural}[2][]{%
+\new@ifnextchar[{\@glsplural@{#1}{#2}}{\@glsplural@{#1}{#2}[]}}
+\def\@glsplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\Glsplural}{\@ifstar\@sGlsplural\@Glsplural}
+\newcommand*{\@sGlsplural}[1][]{\@Glsplural[hyper=false,#1]}
+\newcommand*{\@Glsplural}[2][]{%
+\new@ifnextchar[{\@Glsplural@{#1}{#2}}{\@Glsplural@{#1}{#2}[]}}
+\def\@Glsplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\GLSplural}{\@ifstar\@sGLSplural\@GLSplural}
+\newcommand*{\@sGLSplural}[1][]{\@GLSplural[hyper=false,#1]}
+\newcommand*{\@GLSplural}[2][]{%
+\new@ifnextchar[{\@GLSplural@{#1}{#2}}{\@GLSplural@{#1}{#2}[]}}
+\def\@GLSplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+\newcommand*{\glsfirstplural}{\@ifstar\@sglsfirstplural\@glsfirstplural}
+\newcommand*{\@sglsfirstplural}[1][]{\@glsfirstplural[hyper=false,#1]}
+\newcommand*{\@glsfirstplural}[2][]{%
+\new@ifnextchar[{\@glsfirstplural@{#1}{#2}}{\@glsfirstplural@{#1}{#2}[]}}
+\def\@glsfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\Glsfirstplural}{\@ifstar\@sGlsfirstplural\@Glsfirstplural}
+\newcommand*{\@sGlsfirstplural}[1][]{\@Glsfirstplural[hyper=false,#1]}
+\newcommand*{\@Glsfirstplural}[2][]{%
+\new@ifnextchar[{\@Glsfirstplural@{#1}{#2}}{\@Glsfirstplural@{#1}{#2}[]}}
+\def\@Glsfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\GLSfirstplural}{\@ifstar\@sGLSfirstplural\@GLSfirstplural}
+\newcommand*{\@sGLSfirstplural}[1][]{\@GLSfirstplural[hyper=false,#1]}
+\newcommand*{\@GLSfirstplural}[2][]{%
+\new@ifnextchar[{\@GLSfirstplural@{#1}{#2}}{\@GLSfirstplural@{#1}{#2}[]}}
+\def\@GLSfirstplural@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryfirstplural{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+\newcommand*{\glsname}{\@ifstar\@sglsname\@glsname}
+\newcommand*{\@sglsname}[1][]{\@glsname[hyper=false,#1]}
+\newcommand*{\@glsname}[2][]{%
+\new@ifnextchar[{\@glsname@{#1}{#2}}{\@glsname@{#1}{#2}[]}}
+\def\@glsname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryname{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\Glsname}{\@ifstar\@sGlsname\@Glsname}
+\newcommand*{\@sGlsname}[1][]{\@Glsname[hyper=false,#1]}
+\newcommand*{\@Glsname}[2][]{%
+\new@ifnextchar[{\@Glsname@{#1}{#2}}{\@Glsname@{#1}{#2}[]}}
+\def\@Glsname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryname{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\GLSname}{\@ifstar\@sGLSname\@GLSname}
+\newcommand*{\@sGLSname}[1][]{\@GLSname[hyper=false,#1]}
+\newcommand*{\@GLSname}[2][]{%
+\new@ifnextchar[{\@GLSname@{#1}{#2}}{\@GLSname@{#1}{#2}[]}}
+\def\@GLSname@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentryname{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+\newcommand*{\glsdesc}{\@ifstar\@sglsdesc\@glsdesc}
+\newcommand*{\@sglsdesc}[1][]{\@glsdesc[hyper=false,#1]}
+\newcommand*{\@glsdesc}[2][]{%
+\new@ifnextchar[{\@glsdesc@{#1}{#2}}{\@glsdesc@{#1}{#2}[]}}
+\def\@glsdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrydesc{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\Glsdesc}{\@ifstar\@sGlsdesc\@Glsdesc}
+\newcommand*{\@sGlsdesc}[1][]{\@Glsdesc[hyper=false,#1]}
+\newcommand*{\@Glsdesc}[2][]{%
+\new@ifnextchar[{\@Glsdesc@{#1}{#2}}{\@Glsdesc@{#1}{#2}[]}}
+\def\@Glsdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrydesc{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\GLSdesc}{\@ifstar\@sGLSdesc\@GLSdesc}
+\newcommand*{\@sGLSdesc}[1][]{\@GLSdesc[hyper=false,#1]}
+\newcommand*{\@GLSdesc}[2][]{%
+\new@ifnextchar[{\@GLSdesc@{#1}{#2}}{\@GLSdesc@{#1}{#2}[]}}
+\def\@GLSdesc@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrydesc{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
+\newcommand*{\glssymbol}{\@ifstar\@sglssymbol\@glssymbol}
+\newcommand*{\@sglssymbol}[1][]{\@glssymbol[hyper=false,#1]}
+\newcommand*{\@glssymbol}[2][]{%
+\new@ifnextchar[{\@glssymbol@{#1}{#2}}{\@glssymbol@{#1}{#2}[]}}
+\def\@glssymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrysymbol{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\@glo@text}%
+}%
+}
+\newcommand*{\Glssymbol}{\@ifstar\@sGlssymbol\@Glssymbol}
+\newcommand*{\@sGlssymbol}[1][]{\@Glssymbol[hyper=false,#1]}
+\newcommand*{\@Glssymbol}[2][]{%
+\new@ifnextchar[{\@Glssymbol@{#1}{#2}}{\@Glssymbol@{#1}{#2}[]}}
+\def\@Glssymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrysymbol{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\expandafter\MakeUppercase\@glo@text}%
+}%
+}
+\newcommand*{\GLSsymbol}{\@ifstar\@sGLSsymbol\@GLSsymbol}
+\newcommand*{\@sGLSsymbol}[1][]{\@GLSsymbol[hyper=false,#1]}
+\newcommand*{\@GLSsymbol}[2][]{%
+\new@ifnextchar[{\@GLSsymbol@{#1}{#2}}{\@GLSsymbol@{#1}{#2}[]}}
+\def\@GLSsymbol@#1#2[#3]{%
+\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}%
+\protected@edef\@glo@text{%
+\csname gls@\@glo@type @display\endcsname
+{\glsentrysymbol{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}%
+\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}%
+}%
+}
\newcommand*{\glsentryname}[1]{\csname glo@#1@name\endcsname}
\newcommand*{\Glsentryname}[1]{\expandafter
\MakeUppercase\csname glo@#1@name\endcsname}
@@ -976,15 +1258,211 @@ style `#1' undefined}{}}{%
\newcommand*{\hypersc}[1]{\textsc{\glshypernumber{#1}}}
\newcommand*{\hyperemph}[1]{\emph{\glshypernumber{#1}}}
\ifglsacronym
-\newglossary[alg]{acronym}{acr}{acn}{\acronymname}
-\renewcommand{\acronymtype}{acronym}
-\defglsdisplay[acronym]{#1#4}\defglsdisplayfirst[acronym]{#1#4}
+ \newglossary[alg]{acronym}{acr}{acn}{\acronymname}
+ \renewcommand{\acronymtype}{acronym}
+ \defglsdisplay[acronym]{#1#4}
+ \defglsdisplayfirst[acronym]{#1#4}
\fi
\newcommand{\newacronym}[4][]{%
\newglossaryentry{#2}{type=\acronymtype,%
name={#3},description={#4},text={#3},%
first={#4 (#3)},plural={#3s},firstplural={#4s (#3s)},#1}}
\@onlypreamble{\newacronym}
+\newcommand*{\acrshort}[2][]{%
+\new@ifnextchar[{\@acrshort{#1}{#2}}{\@acrshort{#1}{#2}[]}}
+\def\@acrshort#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+\newcommand*{\Acrshort}[2][]{%
+\new@ifnextchar[{\@Acrshort{#1}{#2}}{\@Acrshort{#1}{#2}[]}}
+\def\@Acrshort#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+\newcommand*{\ACRshort}[2][]{%
+\new@ifnextchar[{\@ACRshort{#1}{#2}}{\@ACRshort{#1}{#2}[]}}
+\def\@ACRshort#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+\newcommand*{\acrlong}[2][]{%
+\new@ifnextchar[{\@acrlong{#1}{#2}}{\@acrlong{#1}{#2}[]}}
+\def\@acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+\newcommand*{\Acrlong}[2][]{%
+\new@ifnextchar[{\@Acrlong{#1}{#2}}{\@Acrlong{#1}{#2}[]}}
+\def\@Acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+\newcommand*{\ACRlong}[2][]{%
+\new@ifnextchar[{\@ACRlong{#1}{#2}}{\@ACRlong{#1}{#2}[]}}
+\def\@ACRlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+\newcommand*{\acrfull}[2][]{%
+\new@ifnextchar[{\@acrfull{#1}{#2}}{\@acrfull{#1}{#2}[]}}
+\def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+\newcommand*{\Acrfull}[2][]{%
+\new@ifnextchar[{\@Acrfull{#1}{#2}}{\@Acrfull{#1}{#2}[]}}
+\def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+\newcommand*{\ACRfull}[2][]{%
+\new@ifnextchar[{\@ACRfull{#1}{#2}}{\@ACRfull{#1}{#2}[]}}
+\def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+\newcommand{\acronymfont}[1]{#1}
+\ifglsacrdescription
+ \ifglsacrfootnote
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ symbol={#4},%
+ #1}}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+ \def\@acrlong#1#2[#3]{\@glssymbol@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]}
+ \def\@acrfull#1#2[#3]{\@glssymbol@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]
+ (\acronymfont{\@GLStext@{#1}{#2}[#3]})}
+ \defglsdisplayfirst[\acronymtype]{%
+ \acronymfont{#1}#4\noexpand\footnote{%
+ \noexpand\glslink[\@gls@link@opts]{\@gls@link@label}{#3}}}%
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}%
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{#1}}
+ \fi
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `footnote' and `dua'
+ can't both be set}{}%
+ \fi
+ \else
+ \ifglsacrdua
+ \ifglsacrsmallcaps
+ \PackageError{glossaries}{Option clash: `smallcaps' and `dua'
+ can't both be set}{}%
+ \fi
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#4},%
+ first={#4},%
+ symbol={#3},%
+ #1}}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glssymbol@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glssymbol@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLSsymbol@{#1}{#2}[#3]}}
+ \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+ \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]
+ (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})}
+ \defglsdisplayfirst[\acronymtype]{#1#4}
+ \defglsdisplay[\acronymtype]{#1#4}
+ \else
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ first={#4},%
+ symbol={#3},%
+ #1}}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+ \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+ \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]
+ (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})}
+ \defglsdisplayfirst[\acronymtype]{#1#4 (\acronymfont{#3})}
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}
+ \ifglsacrsmallcaps
+ \renewcommand{\acronymfont}[1]{\textsc{#1}}
+ \fi
+ \fi
+ \fi
+\else
+ \ifglsacrfootnote
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ description={#4},%
+ #1}}
+ \defglsdisplayfirst[\acronymtype]{%
+ \acronymfont{#1}#4\noexpand\footnote{%
+ \noexpand\glslink[\@gls@link@opts]{\@gls@link@label}{#2}}}%
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}%
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+ \def\@acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsdesc@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSdesc@{#1}{#2}[#3]}
+ \def\@acrfull#1#2[#3]{\@glsdesc@{#1}{#2}[#3]
+ (\@glstext@{#1}{#2}[#3])}
+ \def\@Acrfull#1#2[#3]{\@Glsdesc@{#1}{#2}[#3]
+ (\@glstext@{#1}{#2}[#3])}
+ \def\@ACRfull#1#2[#3]{\@GLSdesc@{#1}{#2}[#3]
+ (\@GLStext@{#1}{#2}[#3])}
+ \ifglsacrsmallcaps
+ \renewcommand*{\acronymfont}[1]{\textsc{#1}}%
+ \fi
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `footnote' and `dua'
+ can't both be set}{}%
+ \fi
+ \else
+ \ifglsacrsmallcaps
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ first={#4},%
+ description={#4},%
+ symbol={#3},%
+ #1}}
+ \defglsdisplayfirst[\acronymtype]{#1#4 (\acronymfont{#3})}
+ \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}
+ \renewcommand*{\acronymfont}[1]{\textsc{#1}}
+ \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}}
+ \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}}
+ \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}}
+ \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]}
+ \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]
+ (\acronymfont{\@glstext@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]
+ (\acronymfont{\@GLStext@{#1}{#2}[#3]})}
+ \ifglsacrdua
+ \PackageError{glossaries}{Option clash: `smallcaps' and `dua'
+ can't both be set}{}%
+ \fi
+ \else
+ \ifglsacrdua
+ \renewcommand{\newacronym}[4][]{%
+ \newglossaryentry{#2}{type=\acronymtype,%
+ name={#3},%
+ description={#4},%
+ text={#4},%
+ symbol={#3},%
+ #1}}
+ \defglsdisplayfirst[\acronymtype]{#1#4}
+ \defglsdisplay[\acronymtype]{#1#4}
+ \def\@acrshort#1#2[#3]{\@glssymbol@{#1}{#2}[#3]}
+ \def\@Acrshort#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]}
+ \def\@ACRshort#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]}
+ \def\@acrlong#1#2[#3]{\@glstext@{#1}{#2}[#3]}
+ \def\@Acrlong#1#2[#3]{\@Glstext@{#1}{#2}[#3]}
+ \def\@ACRlong#1#2[#3]{\@GLStext@{#1}{#2}[#3]}
+ \def\@acrfull#1#2[#3]{\@glstext@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@Acrfull#1#2[#3]{\@Glstext@{#1}{#2}[#3]
+ (\acronymfont{\@glssymbol@{#1}{#2}[#3]})}
+ \def\@ACRfull#1#2[#3]{\@GLStext@{#1}{#2}[#3]
+ (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})}
+ \fi
+ \fi
+ \fi
+\fi
\RequirePackage{glossary-hypernav}
\RequirePackage{glossary-list}
\RequirePackage{glossary-long}
diff --git a/Master/texmf-dist/tex/latex/glossaries/glossary-hypernav.sty b/Master/texmf-dist/tex/latex/glossaries/glossary-hypernav.sty
index 8e7e9b6d670..0b165f3f5c2 100644
--- a/Master/texmf-dist/tex/latex/glossaries/glossary-hypernav.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/glossary-hypernav.sty
@@ -7,7 +7,7 @@
%% glossaries.dtx (with options: `glossary-hypernav.sty,package')
%%
%% glossaries.dtx
-%% Copyright 2007 Nicola Talbot
+%% Copyright 2008 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries.perl.
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
diff --git a/Master/texmf-dist/tex/latex/glossaries/glossary-list.sty b/Master/texmf-dist/tex/latex/glossaries/glossary-list.sty
index fe07f6ae2ab..66bc2e17350 100644
--- a/Master/texmf-dist/tex/latex/glossaries/glossary-list.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/glossary-list.sty
@@ -7,7 +7,7 @@
%% glossaries.dtx (with options: `glossary-list.sty,package')
%%
%% glossaries.dtx
-%% Copyright 2007 Nicola Talbot
+%% Copyright 2008 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries.perl.
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -38,7 +38,7 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesPackage{glossary-list}[2007/10/04 v1.02 (NLCT)]
+\ProvidesPackage{glossary-list}[2008/02/16 v1.03 (NLCT)]
\newglossarystyle{list}{%
\renewenvironment{theglossary}{\begin{description}}{\end{description}}%
\renewcommand*{\glossaryheader}{}%
@@ -69,6 +69,13 @@
\item[]\glsnavigation}%
\renewcommand*{\glsgroupheading}[1]{%
\item[\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}]}}
+\newlength\glslistdottedwidth
+\setlength{\glslistdottedwidth}{.5\linewidth}
+\newglossarystyle{listdotted}{%
+\glossarystyle{list}%
+\renewcommand*{\glossaryentryfield}[5]{%
+\item[]\makebox[\glslistdottedwidth][l]{\@glstarget{glo:##1}{##2}%
+\unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}##3}}
\endinput
%%
%% End of file `glossary-list.sty'.
diff --git a/Master/texmf-dist/tex/latex/glossaries/glossary-long.sty b/Master/texmf-dist/tex/latex/glossaries/glossary-long.sty
index b74e44fe426..c17680f813c 100644
--- a/Master/texmf-dist/tex/latex/glossaries/glossary-long.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/glossary-long.sty
@@ -7,7 +7,7 @@
%% glossaries.dtx (with options: `glossary-long.sty,package')
%%
%% glossaries.dtx
-%% Copyright 2007 Nicola Talbot
+%% Copyright 2008 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries.perl.
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
diff --git a/Master/texmf-dist/tex/latex/glossaries/glossary-super.sty b/Master/texmf-dist/tex/latex/glossaries/glossary-super.sty
index 80deb72b175..b05bbd1cf8a 100644
--- a/Master/texmf-dist/tex/latex/glossaries/glossary-super.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/glossary-super.sty
@@ -7,7 +7,7 @@
%% glossaries.dtx (with options: `glossary-super.sty,package')
%%
%% glossaries.dtx
-%% Copyright 2007 Nicola Talbot
+%% Copyright 2008 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries.perl.
+%% This work consists of the files glossaries.dtx and glossaries.ins and the derived files glossaries.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z