summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/glossary
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/glossary')
-rw-r--r--Master/texmf-dist/doc/latex/glossary/README45
-rw-r--r--Master/texmf-dist/doc/latex/glossary/glossary.pdfbin0 -> 303787 bytes
-rw-r--r--Master/texmf-dist/doc/latex/glossary/glossary.perl1025
-rw-r--r--Master/texmf-dist/doc/latex/glossary/makeglos.bat3
-rw-r--r--Master/texmf-dist/doc/latex/glossary/makeglos.pl295
-rw-r--r--Master/texmf-dist/doc/latex/glossary/manual.html2680
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sample.tex83
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sampleAcr.tex74
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sampleEq.tex228
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex254
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sampleNtn.tex92
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex94
-rw-r--r--Master/texmf-dist/doc/latex/glossary/sampleSec.tex79
13 files changed, 4952 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/glossary/README b/Master/texmf-dist/doc/latex/glossary/README
new file mode 100644
index 00000000000..1a35ffe5cac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/README
@@ -0,0 +1,45 @@
+LaTeX Package : glossary v 2.24
+
+Last Modified : 27th Sept 2005
+
+Author : Nicola Talbot
+
+Files : glossary.dtx - documented source file
+ glossary.ins - installation script
+
+This package is provided to assist generating a glossary. It has
+a certain amount of flexibility allowing the user to customize the
+format of the glossary and define new glossary-style objects. It
+is also possible to define acronyms.
+
+To extract the code do:
+
+latex glossary.ins
+
+This will create the files glossary.sty, glossary.perl,
+makeglos.pl and some sample files. Move
+glossary.sty to a subdirectory of your local texmf tree
+(e.g. $LOCALTEXMF/tex/latex/contrib/) and glossary.perl
+to the LaTeX2HTML style files directory (e.g. latex2html/styles).
+The Perl script makeglos.pl provides an easy interface to
+makeindex for those who can't remember (or can't be bothered) all
+the required switches. See documentation for more details.
+
+To extract the documentation do:
+
+latex glossary.dtx
+makeindex -s gind.ist glossary
+makeindex -s gglo.ist -o glossary.gls glossary.glo
+latex glossary.dtx
+latex glossary.dtx
+
+Alternatively, if you use pdflatex instead of latex, the
+documentation will have hyperlinks. If you want documentation
+on the code, remove the line:
+\OnlyDescription
+
+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/
+
diff --git a/Master/texmf-dist/doc/latex/glossary/glossary.pdf b/Master/texmf-dist/doc/latex/glossary/glossary.pdf
new file mode 100644
index 00000000000..6afb04d2c4f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/glossary/glossary.perl b/Master/texmf-dist/doc/latex/glossary/glossary.perl
new file mode 100644
index 00000000000..6013c1edce2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/glossary.perl
@@ -0,0 +1,1025 @@
+# File : glossary.perl
+# Author : Nicola Talbot
+# Date : 8 July 2005
+# Version : 1.02
+# Description : LaTeX2HTML implementation of glossary package.
+
+package main;
+
+# These are the only package options implemented.
+
+sub do_glossary_style_altlist{
+}
+
+sub do_glossary_style_hyper{
+}
+
+sub do_glossary_style_hyper_true{
+}
+
+sub do_glossary_style_hyperacronym{
+}
+
+sub do_glossary_style_hyperacronym_true{
+}
+
+sub do_glossary_toc{
+}
+
+sub do_glossary_toc_true{
+}
+
+$acronymtype = 'glossary';
+
+sub do_glossary_acronym{
+ &do_glossary_acronym_true
+}
+
+sub do_glossary_acronym_true{
+ $gls_mark{'acronym'} = "<tex2html_acronym_mark>";
+ $gls_file_mark{'acronym'} = "<tex2html_acronym_file_mark>";
+ $gls_title{'acronym'} = "\\acronymname";
+ $delimN{'acronym'} = ", ";
+ $glodelim{'acronym'} = " ";
+ $glsnumformat{'acronym'} = "textrm";
+ $acronymtype = 'acronym';
+}
+
+sub do_glossary_acronym_false{
+ $acronymtype = 'glossary';
+}
+
+sub do_cmd_acronymname{
+ join('', 'List of Acronyms', $_[0]);
+}
+
+# modify set_depth_levels so that glossary is added
+
+$gls_mark{'glossary'} = "<tex2html_gls_mark>";
+$gls_file_mark{'glossary'} = "<tex2html_gls_file_mark>";
+$gls_title{'glossary'} = "Glossary";
+$delimN{'glossary'} = ", ";
+$glodelim{'glossary'} = " ";
+$glsnumformat{'glossary'} = "textrm";
+
+sub replace_glossary_markers{
+ foreach $type (keys %gls_mark)
+ {
+ if (defined &add_gls_hook)
+ {&add_gls_hook if (/$gls_mark{$type}/);}
+ else
+ {&add_gls($type) if (/$gls_mark{$type}/);}
+
+ s/$gls_file_mark{$type}/$glsfile{$type}/g;
+ }
+}
+
+# there must be a better way of doing this
+# other than copying the orginal code and adding to it.
+sub replace_general_markers {
+ if (defined &replace_infopage_hook) {&replace_infopage_hook if (/$info_page_mark/);}
+ else { &replace_infopage if (/$info_page_mark/); }
+ if (defined &add_idx_hook) {&add_idx_hook if (/$idx_mark/);}
+ else {&add_idx if (/$idx_mark/);}
+ &replace_glossary_markers;
+
+ if ($segment_figure_captions) {
+s/$lof_mark/$segment_figure_captions/o
+ } else { s/$lof_mark/$figure_captions/o }
+ if ($segment_table_captions) {
+s/$lot_mark/$segment_table_captions/o
+ } else { s/$lot_mark/$table_captions/o }
+ &replace_morelinks();
+ if (defined &replace_citations_hook) {&replace_citations_hook if /$bbl_mark/;}
+ else {&replace_bbl_marks if /$bbl_mark/;}
+ if (defined &add_toc_hook) {&add_toc_hook if (/$toc_mark/);}
+ else {&add_toc if (/$toc_mark/);}
+ if (defined &add_childs_hook) {&add_childs_hook if (/$childlinks_on_mark/);}
+ else {&add_childlinks if (/$childlinks_on_mark/);}
+ &remove_child_marks;
+
+ if (defined &replace_cross_references_hook) {&replace_cross_references_hook;}
+ else {&replace_cross_ref_marks if /$cross_ref_mark||$cross_ref_visible_mark/;}
+ if (defined &replace_external_references_hook) {&replace_external_references_hook;}
+ else {&replace_external_ref_marks if /$external_ref_mark/;}
+ if (defined &replace_cite_references_hook) {&replace_cite_references_hook;}
+ else { &replace_cite_marks if /$cite_mark/; }
+ if (defined &replace_user_references) {
+ &replace_user_references if /$user_ref_mark/; }
+
+}
+
+sub add_gls{
+ local($sidx_style, $eidx_style) =('<STRONG>','</STRONG>');
+ if ($INDEX_STYLES) {
+if ($INDEX_STYLES =~/,/) {
+local(@styles) = split(/\s*,\s*/,$INDEX_STYLES);
+ $sidx_style = join('','<', join('><',@styles) ,'>');
+ $eidx_style = join('','</', join('></',reverse(@styles)) ,'>');
+} else {
+ $sidx_style = join('','<', $INDEX_STYLES,'>');
+ $eidx_style = join('','</', $INDEX_STYLES,'>');
+}
+ }
+ &add_real_gls
+}
+
+sub gloskeysort{
+ local($x, $y) = ($a, $b);
+ $x=~s/^(.*)###(\d+)$/\l\1/;
+ local($x_id) = $2;
+ $y=~s/^(.*)###(\d+)$/\l\1/;
+ local($y_id) = $2;
+
+ local($n) = ($x cmp $y);
+
+ if ($n == 0)
+ {
+ $n = ($x_id <=> $y_id);
+ }
+
+ $n;
+}
+
+sub add_real_gls{
+ local($type) = @_;
+ print "\nDoing the $type ...";
+ local($key, $str, @keys, $glossary, $level, $count,
+ @previous, @current, $id, $linktext, $delimN);
+
+ @keys = keys %{$glossary{$type}};
+
+ @keys = sort gloskeysort @keys;
+
+ $level = 0;
+
+ $delimN = $delimN{$type};
+
+ foreach $key (@keys) {
+ $current = $key;
+$str = $current;
+$str =~ s/\#\#\#\d+$//o; # Remove the unique id's
+ #$linktext = $cross_ref_visible_mark;
+ $id = ++$global{'max_id'};
+ $linktext = "\\$glossary_format{$type}{$key}${OP}$id${CP}$glossary_linktext{$type}{$key}${OP}$id${CP}";
+ $linktext = &translate_commands($linktext);
+$glossary .=
+ # If it's the same string don't start a new line
+ (&index_key_eq($current, $previous) ?
+ $delimN
+ . $glossary{$type}{$key}
+ . $linktext
+ . "</A>\n"
+ : "<DT>"
+ . $glossary_name{$type}{$key}
+ . "<DD>". $glossary_desc{$type}{$key}
+ . $glodelim{$type} . $glossary{$type}{$key}
+ . $linktext. "</A>\n");
+$previous = $current;
+ }
+ $glossary = '<DD>'.$glossary unless ($glossary =~ /^\s*<D(T|D)>/);
+
+ $glossary =~ s/(<A [^>]*>)(<D(T|D)>)/$2$1/g;
+
+ $str = &translate_commands("\\glossarypostamble");
+ s/$gls_mark{$type}/$preglossary\n<DL COMPACT>\n$glossary<\/DL>$str\n/s;
+}
+
+sub set_depth_levels {
+ # Sets $outermost_level
+ local($level);
+ # scan the document body, not the preamble, for use of sectioning commands
+ my ($contents) = $_;
+ if ($contents =~ /\\begin\s*((?:$O|$OP)\d+(?:$C|$CP))document\1|\\startdocument/s) {
+$contents = $';
+ }
+ foreach $level ("part", "chapter", "section", "subsection",
+ "subsubsection", "paragraph") {
+last if (($outermost_level) = $contents =~ /\\($level)$delimiter_rx/);
+last if (($outermost_level) = $contents =~ /\\endsegment\s*\[\s*($level)\s*\]/s);
+if ($contents =~ /\\segment\s*($O\d+$C)[^<]+\1\s*($O\d+$C)\s*($level)\s*\2/s)
+{ $outermost_level = $3; last };
+ }
+ $level = ($outermost_level ? $section_commands{$outermost_level} :
+ do {$outermost_level = 'section'; 3;});
+
+ if ($REL_DEPTH && $MAX_SPLIT_DEPTH) {
+$MAX_SPLIT_DEPTH = $level + $MAX_SPLIT_DEPTH;
+ } elsif (!($MAX_SPLIT_DEPTH)) { $MAX_SPLIT_DEPTH = 1 };
+
+ %unnumbered_section_commands = (
+ 'tableofcontents', $level
+, 'listoffigures', $level
+, 'listoftables', $level
+, 'bibliography', $level
+, 'textohtmlindex', $level
+, 'textohtmlglossary', $level
+ , %unnumbered_section_commands
+ );
+
+ %section_commands = (
+ %unnumbered_section_commands
+ , %section_commands
+ );
+}
+
+sub add_bbl_and_idx_dummy_commands {
+ local($id) = $global{'max_id'};
+
+ s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
+ ## if ($bbl_cnt == 1) {
+s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo;
+ #}
+ $global{'max_id'} = $id;
+ s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
+ s/[\\]printindex/\\textohtmlindex /o;
+ &add_gls_dummy_commands;
+ &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands);
+}
+
+# this gets called before do_cmd_newglossarytype
+# so currently only substitutes \\printglossary and \\printacronym
+sub add_gls_dummy_commands{
+ #foreach $type (keys %gls_mark)
+ #{
+ # #$id = ++$global{'max_id'};
+ # s/[\\]print$type/\\textohtmlglossary[$type]/sg;
+ #}
+
+ s/[\\]printglossary/\\textohtmlglossary/sg;
+ s/[\\]printacronym/\\textohtmlglossary[$acronymtype]/sg;
+}
+
+# This is modified from do_cmd_textohtmlindex
+
+sub do_cmd_textohtmlglossary{
+ local($_) = @_;
+
+ local($type);
+
+ $_[0]=~s/^\s*\[([^]]*)\]//;
+ $type = $1;
+ if ($type eq '') {$type = 'glossary';}
+
+ unless (defined $gls_mark{$type})
+ {
+ &write_warnings("glossary type '$type' not implemented");
+ }
+
+ if (eval "(defined \&do_cmd_${type}name) ||\$new_command{\"${type}name\"}")
+ {
+ local($br_id)=++$global{'max_id'};
+ $TITLE = &translate_environments("$O$br_id$C\\${type}name$O$br_id$C");
+ }
+ else
+ { $TITLE = $gls_title{$type} }
+ $toc_sec_title = $TITLE;
+ $glsfile{$type} = $CURRENT_FILE;
+ if (%glossary_labels) { &make_glossary_labels(); }
+ if (($SHORT_INDEX) && (%glossary_segment))
+ { &make_preglossary(); }
+ else
+ { $preglossary = &translate_commands("\\glossarypreamble"); }
+ local $idx_head = $section_headings{'textohtmlindex'};
+ local($heading) = join(''
+ , &make_section_heading($TITLE, $idx_head)
+ , $gls_mark{$type} );
+ local($pre,$post) = &minimize_open_tags($heading);
+ join('',"<BR>\n" , $pre, $_[0]);
+}
+
+sub make_glossary_labels {
+ local($key, @keys);
+ @keys = keys %glossary_labels;
+ foreach $key (@keys) {
+ if (($ref_files{$key}) && !($ref_files{$key} eq "$glsfile{'glossary'}")) {
+ local($tmp) = $ref_files{$key};
+ &write_warnings("\nmultiple label $key , target in $glsfile{'glossary'} masks $tmp ");
+ }
+ $ref_files{$key} .= $glsfile{'glossary'};
+ }
+}
+
+sub make_preglossary{ &make_real_preglossary }
+sub make_real_preglossary{
+ local($key, @keys, $head, $body);
+ $head = "<HR>\n<H4>Legend:</H4>\n<DL COMPACT>";
+ @keys = keys %glossary_segment;
+ foreach $key (@keys) {
+ local($tmp) = "segment$key";
+ $tmp = $ref_files{$tmp};
+ $body .= "\n<DT>$key<DD>".&make_named_href('',$tmp,$glossary_segment{$key});
+ }
+ $preglossary = join('', $head, $body, "\n</DL>") if ($body);
+}
+
+sub do_cmd_glossary { &do_real_glossary(@_) }
+sub do_real_glossary {
+ local($_) = @_;
+ local($br_id, $str);
+ local($type) = "glossary";
+ local($anchor);
+
+ if (s/^\S*$OP(\d+)${CP}type=(.+)$OP\1$CP//)
+ {
+ $type = $2;
+ }
+
+ local($idx_option,$pat) = &get_next_optional_argument;
+
+ $str = &missing_braces unless (
+(s/$next_pair_pr_rx/($br_id, $str) = ($1, $2);''/eo)
+||(s/$next_pair_rx/($br_id, $str) = ($1, $2);''/eo));
+
+ # the maths gets processed before being passed
+ # to do_cmd_glossary. How can I do this
+ # substitution before it gets converted to an image?
+ $str=~s/\"\"/\"/gs;
+ $str=~s/\"\|/\|/gs;
+ $str=~s/\"@/@/gs;
+ $str=~s/\"!/!/gs;
+
+ $str=~s/;SPMquot;;SPMquot;/;SPMquot;/gs;
+ $str=~s/;SPMquot;\|/\|/gs;
+ $str=~s/;SPMquot;\@/\@/gs;
+ $str=~s/;SPMquot;!/!/gs;
+
+ $anchor = &make_glossary_entry($br_id,$str,$anchor_invisible_mark,$type);
+
+ join('', $anchor, $_);
+}
+
+sub make_glossary_entry { &make_real_glossary_entry(@_) }
+sub make_real_glossary_entry {
+ local($br_id,$str,$text,$type) = @_;
+ local($this_file) = $CURRENT_FILE;
+ $TITLE = $saved_title if (($saved_title)&&(!($TITLE)||($TITLE eq $default_title)));
+ #extract name, sort, description and format data from $str
+ local($name,$sort,$description,$format);
+
+ unless (($str=~/name\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($name=$2)) ||
+ ($str=~/name\s*=\s*([^,]+)\s*,?/s && ($name=$1)))
+ {
+ &write_warnings("can't determine name key from $str");
+ }
+
+ unless (($str=~/sort\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($sort=$2)) ||
+ ($str=~/sort\s*=\s*([^,]+)\s*,?/s && ($sort=$1)))
+ {
+ $sort = $name;
+ }
+
+ unless (($str=~/description\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($description=$2)) ||
+ ($str=~/description\s*=\s*([^,]+)\s*,?/s && ($description=$1)))
+ {
+ &write_warnings("can't determine description key from $str");
+ }
+
+ unless (($str=~/format\s*=\s*${OP}(\d+)${CP}(.+)${OP}\1${CP}\s*,?/s && ($format=$2)) ||
+ ($str=~/format\s*=\s*([^,]+)\s*,?/s && ($format=$1)))
+ {
+ $format = "glsnumformat[$type]";
+ }
+
+ # Save the reference
+ $str = "$sort$description###" . ++$global{'max_id'}; # Make unique
+ # concatenate multiple spaces into a single space
+ # otherwise keys won't sort properly
+ $str=~s/\s+/ /gs;
+ $glossary{$type}{$str} .= &make_half_href($this_file."#$br_id");
+ $glossary_name{$type}{$str} = $name;
+ $glossary_format{$type}{$str} = $format;
+ $glossary_desc{$type}{$str} = $description;
+ $glossary_linktext{$type}{$str} = $TITLE;
+ "<A HREF=$gls_file_mark{$type}#tex2html$href_name NAME=\"$br_id\">$text<\/A>";
+}
+
+sub do_cmd_xglossary{
+ local($_) = @_;
+ local($entry,$text);
+ local($type) = "glossary";
+
+ if (s/^$OP(\d+)${CP}type=(.+)$OP\1$CP//)
+ {
+ $type = $2;
+ }
+
+ $entry = &missing_braces unless
+ s/$next_pair_pr_rx/$entry=$2;''/eo;
+
+ $text = &missing_braces unless
+ s/$next_pair_pr_rx/$text=$2;''/eo;
+
+ $entry=~s/\"\"/\"/gs;
+ $entry=~s/\"\|/\|/gs;
+ $entry=~s/\"\@/\@/gs;
+ $entry=~s/\"!/!/gs;
+
+ $entry=~s/;SPMquot;;SPMquot;/;SPMquot;/gs;
+ $entry=~s/;SPMquot;\|/\|/gs;
+ $entry=~s/;SPMquot;\@/\@/gs;
+ $entry=~s/;SPMquot;!/!/gs;
+
+ $br_id = ++$global{'max_id'};
+ join('', &make_glossary_entry($br_id,$entry,$text,$type),
+ $_);
+}
+
+sub do_cmd_newglossarytype{
+ local($type,$out,$in);
+ $type = &missing_braces unless
+ ($_[0]=~s/$next_pair_pr_rx//o&&($type=$2));
+ $out = &missing_braces unless
+ ($_[0]=~s/$next_pair_pr_rx//o&&($out=$2));
+ $in = &missing_braces unless
+ ($_[0]=~s/$next_pair_pr_rx//o&&($in=$2));
+
+ &make_newglossarytype($type);
+
+ $_[0];
+}
+
+sub make_newglossarytype{
+ local($type) = @_;
+
+ eval ("sub do_cmd_make$type\{\}");
+
+ $gls_mark{$type} = "<tex2html_${type}_mark>";
+ $gls_file_mark{$type} = "<tex2html_${type}_file_mark>";
+ $gls_title{$type} = "\\glossaryname";
+
+ local($tmp) = 'sub do_cmd_' . $type. '{';
+ $tmp .= 'local($id) = ++$global{\'max_id\'};';
+ $tmp .= '"\\\\glossary$OP$id${CP}type=' . $type . '$OP$id$CP".$_[0];';
+ $tmp .= '}';
+
+ eval($tmp);
+
+ $tmp = 'sub do_cmd_x' . $type. '{';
+ $tmp .= 'local($id) = ++$global{\'max_id\'};';
+ $tmp .= '"\\\\xglossary$OP$id${CP}type=' . $type . '$OP$id$CP".$_[0];';
+ $tmp .= '}';
+
+ eval($tmp);
+
+ $tmp = 'sub do_cmd_print' . $type. '{';
+ #$tmp .= 'local($id)=++$global{\'max_id\'};';
+ $tmp .= '"\\\\textohtmlglossary[' . $type
+ . ']" . $_[0]';
+ $tmp .= '}';
+
+ eval($tmp);
+
+ $delimN{$type} = ", ";
+ $glodelim{$type} = "";
+ $glsnumformat{$type} = "";
+
+}
+
+sub do_cmd_gloshort{
+ local($_) = @_;
+ join('', "<tex2html_GLOSHORT_mark>", $_);
+}
+
+sub do_cmd_glolong{
+ local($_) = @_;
+ join('', "<tex2html_GLOLONG_mark>", $_);
+}
+
+$acronymnamefmt = "<tex2html_GLOLONG_mark> (<tex2html_GLOSHORT_mark>)";
+
+sub do_cmd_setacronymnamefmt{
+ local($_) = @_;
+
+ $acronymnamefmt = &missing_braces unless
+ s/$next_pair_pr_rx/$acronymnamefmt=$2;''/eo;
+
+ $_;
+}
+
+sub do_cmd_acronymfont{
+ local($_) = @_;
+ local($text) = &missing_braces unless
+ s/$next_pair_pr_rx/$text=$2;''/eo;
+
+ $text . $_;
+}
+
+ %acronym = ();
+
+sub do_cmd_newacronym{
+ local($_) = @_;
+ local($cmdname,$pat,$abbrv,$long,$glsentry,$name);
+
+ ($cmdname,$pat) = &get_next_optional_argument;
+
+ $abbrv = &missing_braces unless
+ (s/$next_pair_pr_rx/$abbrv=$2;''/eo);
+ $long = &missing_braces unless
+ (s/$next_pair_pr_rx/$long=$2;''/eo);
+ $glsentry = &missing_braces unless
+ (s/$next_pair_pr_rx/$glsentry=$2;''/eo);
+
+ if ($cmdname eq '')
+ {
+ $cmdname = $abbrv;
+ }
+
+ local($id);
+ $id = ++$global{'max_id'};
+ local($fmtedabbrv) = &translate_commands("\\acronymfont$OP$id$CP$abbrv$OP$id$CP");
+
+ unless ($glsentry=~/name=/)
+ {
+ $name = $acronymnamefmt;
+ $name=~s/<tex2html_GLOSHORT_mark>/$fmtedabbrv/egs;
+ $name=~s/<tex2html_GLOLONG_mark>/$long/egs;
+ $id = ++$global{'max_id'};
+ $glsentry .= ",name=$OP$id$CP$name$OP$id$CP";
+ }
+
+ $global{"${cmdname}first"} = 1;
+ $acronym{$cmdname}{'abbrv'} = $abbrv;
+ $acronym{$cmdname}{'long'} = $long;
+ $acronym{$cmdname}{'entry'} = $glsentry;
+
+ local($tmp);
+
+ unless ($cmdname=~/[^a-zA-Z]/)
+ {
+ $tmp = 'sub do_cmd_' . $cmdname . '{';
+ $tmp .= 'local($_)=@_;';
+ $tmp .= 'local($id)=++$global{\'max_id\'};';
+ $tmp .= 'local($str);';
+ $tmp .= '$str="${OP}$id${CP}'
+ . $cmdname
+ . '${OP}$id${CP}";';
+ $tmp .= '&do_cmd_useacronym($str . $_[0])';
+ $tmp .= '}';
+
+ eval($tmp);
+
+ $tmp = 'sub do_cmd_' . $cmdname . 'star{';
+ $tmp .= 'local($_)=@_;';
+ $tmp .= 'local($id)=++$global{\'max_id\'};';
+ $tmp .= 'local($str);';
+ $tmp .= '$str="${OP}$id${CP}'
+ . $cmdname
+ . '${OP}$id${CP}";';
+ $tmp .= '&do_cmd_useacronymstar($str . $_[0])';
+ $tmp .= '}';
+
+ eval($tmp);
+
+ $tmp = 'sub do_cmd_' . $cmdname . 'long{';
+ $tmp .= 'local($_)=@_;';
+ $tmp .= 'join("", \'' . $long . '\', $_[0])';
+ $tmp .= '}';
+
+ eval($tmp);
+
+ $tmp = 'sub do_cmd_' . $cmdname . 'short{';
+ $tmp .= 'local($_)=@_;';
+ $tmp .= 'join("", \'' . $fmtedabbrv . '\', $_[0])';
+ $tmp .= '}';
+
+ eval($tmp);
+ }
+
+ $_;
+}
+
+sub do_cmd_acrsh{
+ local($_) = @_;
+ local($cmdname,$text,$id);
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
+
+ $text = &translate_commands("\\${cmdname}short");
+
+ $text . $_;
+}
+
+sub do_cmd_acrshstar{
+ local($_) = @_;
+ local($cmdname,$text,$id);
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
+
+ $text = &translate_commands("\\${cmdname}short");
+
+ $text=~s/(<.*>)?(\w)/\1\u\2/;
+
+ $text . $_;
+}
+
+sub do_cmd_acrln{
+ local($_) = @_;
+ local($cmdname,$text,$id);
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
+
+ $text = &translate_commands("\\${cmdname}long");
+
+ $text . $_;
+}
+
+sub do_cmd_acrlnstar{
+ local($_) = @_;
+ local($cmdname,$text,$id);
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$id=$1;$cmdname=$2;''/eo);
+
+ $text = &translate_commands("\\${cmdname}long");
+
+ $text=~s/(\w)/\u\1/;
+
+ $text . $_;
+}
+
+sub do_cmd_useacronym{
+ local($_)=@_;
+ local($str,$abbrv,$long,$entry,$id);
+
+ local($optarg,$pat)=&get_next_optional_argument;
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
+
+ if (defined %{$acronym{$cmdname}})
+ {
+ $abbrv = $acronym{$cmdname}{'abbrv'};
+ $long = $acronym{$cmdname}{'long'};
+ $entry = $acronym{$cmdname}{'entry'};
+ $id = ++$global{'max_id'};
+ $abbrv = "\\acronymfont$OP$id$CP$abbrv$OP$id$CP";
+
+ $id = ++$global{'max_id'};
+ $str = "\\xglossary${OP}$id${CP}type="
+ . $acronymtype. "${OP}$id${CP}";
+ $id = ++$global{'max_id'};
+ $str .= "${OP}$id${CP}"
+ . $entry . "${OP}$id${CP}";
+ $id = ++$global{'max_id'};
+ $str .= "${OP}$id${CP}";
+ $str .= ($global{"${cmdname}first"} ? "$long$optarg ($abbrv)" : "$abbrv$optarg");
+ $str .= "${OP}$id${CP}";
+
+ $global{"${cmdname}first"} = 0;
+ }
+ else
+ {
+ &write_warnings("acronym '$cmdname' not defined");
+ }
+
+ $str . $_
+}
+
+sub do_cmd_useacronymstar{
+ local($_)=@_;
+ local($str,$abbrv,$long,$entry,$id);
+ local($optarg,$pat)=&get_next_optional_argument;
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
+
+ if (defined %{$acronym{$cmdname}})
+ {
+ $abbrv = $acronym{$cmdname}{'abbrv'};
+ $long = $acronym{$cmdname}{'long'};
+ $entry = $acronym{$cmdname}{'entry'};
+
+ if ($global{"${cmdname}first"})
+ {
+ $long=~s/^([^a-zA-Z]*)([a-zA-Z])/\1\u\2/;
+ }
+ else
+ {
+ $abbrv=~s/^([^a-zA-Z]*)([a-zA-Z])/\1\u\2/;
+ }
+
+ $id = ++$global{'max_id'};
+ $abbrv = "\\acronymfont$OP$id$CP$abbrv$OP$id$CP";
+
+ $name = ($global{"${cmdname}first"} ? "$long$optarg ($abbrv)" : "$abbrv$optarg");
+
+ $id = ++$global{'max_id'};
+ $str = "\\xglossary${OP}$id${CP}type="
+ . $acronymtype . "${OP}$id${CP}";
+ $id = ++$global{'max_id'};
+ $str .= "${OP}$id${CP}"
+ . $entry . "${OP}$id${CP}";
+ $id = ++$global{'max_id'};
+ $str .= "${OP}$id${CP}";
+ $str .= $name;
+ $str .= "${OP}$id${CP}";
+
+ $global{"${cmdname}first"} = 0;
+ }
+ else
+ {
+ &write_warnings("acronym '$cmdname' not defined");
+ }
+
+ $str . $_
+}
+
+sub do_cmd_ifacronymfirstuse{
+ local($_) = @_;
+ local($acronym,$truebit,$falsebit,$str);
+
+ $acronym = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($acronym=$2));
+ $truebit = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($truebit=$2));
+ $falsebit = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($falsebit=$2));
+
+ $str = ($global{"${acronym}true"} ? $truebit : $falsebit);
+
+ $str . $_[0];
+}
+
+sub do_cmd_resetacronym{
+ local($_) = @_;
+ local($cmdname);
+
+ $cmdname = &missing_braces unless
+ (s/$next_pair_pr_rx/$cmdname=$2;''/eo);
+
+ if (defined %{$acronym{$cmdname}})
+ {
+ $global{"${cmdname}first"} = 1;
+ }
+ else
+ {
+ &write_warnings("acronym '$cmdname' not defined");
+ }
+
+ $_;
+}
+
+sub do_cmd_resetallacronyms{
+ local($_) = @_;
+
+ foreach $key (keys %acronym)
+ {
+ $global{"${key}first"} = 1;
+ }
+
+ $_;
+}
+
+ %savedglosentry = ();
+
+# This command is deprecated
+sub do_cmd_saveglosentry{
+ local($_) = @_;
+ local($name,$desc,$type,$pat);
+
+ ($type,$pat) = &get_next_optional_argument;
+
+ $name = &missing_braces unless
+ s/$next_pair_pr_rx/$name=$2;''/eo;
+ $desc = &missing_braces unless
+ s/$next_pair_pr_rx/$desc=$2;''/eo;
+
+ $savedglosentry{$name}{'entry'} = "name=$name,description=$desc";
+ $savedglosentry{$name}{'type'} = $type;
+
+ $_;
+}
+
+sub do_cmd_storeglosentry{
+ local($_) = @_;
+ local($type,$pat,$entry,$label);
+
+ ($type,$pat) = &get_next_optional_argument;
+
+ if ($type eq '')
+ {
+ $type = 'glossary';
+ }
+
+ $label = &missing_braces unless
+ s/$next_pair_pr_rx/$label=$2;''/eo;
+
+ $entry = &missing_braces unless
+ s/$next_pair_pr_rx/$entry=$2;''/eo;
+
+ $savedglosentry{$label}{'entry'} = $entry;
+ $savedglosentry{$label}{'type'} = $type;
+
+ $_;
+}
+
+sub do_cmd_useglosentry{
+ local($_) = @_;
+ local($optarg,$pat,$name,$str,$id);
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ $name = &missing_braces unless
+ (s/$next_pair_pr_rx/$name=$2;''/eo);
+
+ if (defined $savedglosentry{$name}{type})
+ {
+ $id = ++$global{'max_id'};
+ $str = "\\$savedglosentry{$name}{type}${OP}$id${CP}$savedglosentry{$name}{entry}";
+
+ unless ($optarg eq "")
+ {
+ $str .= ",$optarg";
+ }
+
+ $str .= "${OP}$id${CP}";
+ }
+ else
+ {
+ &write_warnings("glossary entry '$name' undefined");
+ $str = '';
+ }
+
+ $str . $_;
+}
+
+sub do_cmd_useGlosentry{
+ local($_) = @_;
+ local($optarg,$pat,$name,$str,$id);
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ $name = &missing_braces unless
+ (s/$next_pair_pr_rx/$name=$2;''/eo);
+
+ if (defined $savedglosentry{$name}{type})
+ {
+ $id = ++$global{'max_id'};
+ $str = "\\x$savedglosentry{$name}{type}${OP}$id${CP}$savedglosentry{$name}{entry}";
+
+ unless ($optarg eq "")
+ {
+ $str .= ",$optarg";
+ }
+
+ $str .= "${OP}$id${CP}";
+ }
+ else
+ {
+ &write_warnings("glossary entry '$name' undefined");
+ $str = '';
+ }
+
+ $str . $_;
+}
+
+sub do_cmd_gls{
+ local($_) = @_;
+ local($optarg,$pat,$label,$str,$id,$name);
+ ($optarg,$pat) = &get_next_optional_argument;
+
+ $label = &missing_braces unless
+ (s/$next_pair_pr_rx/$label=$2;''/eo);
+
+ if (defined $savedglosentry{$label}{type})
+ {
+ $str = $savedglosentry{$label}{'entry'};
+
+ if ($str=~/name=[ ]*${OP}(\d+)${CP}(.*)${OP}\1${CP}/s)
+ {
+ $name = $2;
+ }
+ elsif (($str=~/name=[ ]*([^,]+),/m)
+ || ($str=~/name=[ ]*([^,]+)\Z(?!\n)/m))
+ {
+ $name = $1;
+ }
+
+ $id = ++$global{'max_id'};
+ $str = "\\x$savedglosentry{$label}{type}${OP}$id${CP}$savedglosentry{$label}{entry}";
+
+ unless ($optarg eq "")
+ {
+ $str .= ",$optarg";
+ }
+
+ $str .= "${OP}$id${CP}";
+ $id = ++$global{'max_id'};
+ $str .= "${OP}$id${CP}$name${OP}$id${CP}";
+ }
+ else
+ {
+ &write_warnings("glossary entry '$label' undefined");
+ $str = '';
+ }
+
+ $str . $_;
+}
+
+sub do_cmd_glossarypreamble{
+ local($_) = @_;
+ $_[0];
+}
+
+sub do_cmd_glossarypostamble{
+ local($_) = @_;
+ $_[0];
+}
+
+sub do_cmd_glsnumformat{
+ local($_) = @_;
+ local($type,$pat) = &get_next_optional_argument;
+
+ if ($type eq '')
+ {
+ $type = 'glossary';
+ }
+
+ local($cmd) = '';
+ unless ($glsnumformat{$type} eq '')
+ {
+ $cmd = "\\$glsnumformat{$type}";
+ }
+
+ $cmd . $_;
+}
+
+sub do_cmd_setglossary{
+ local($_) = @_;
+ local($str,$type,$format,$delimN,$glodelim);
+ $str = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($str=$2));
+
+ unless (($str=~/type=([^,]+),|$/&&($type=$1)) ||
+ ($str=~/type=${OP}(\d+)${CP}(.*)${OP}\1${CP}/&&($type=$2)))
+ {
+ $type = 'glossary';
+ }
+
+ if ($str=~/glsnumformat=[ ]*${OP}(\d+)${CP}(.*)${OP}\1${CP}/s)
+ {
+ $format = $2;
+ }
+ elsif (($str=~/glsnumformat=[ ]*([^,]+),/m)
+ || ($str=~/glsnumformat=[ ]*([^,]+)\Z(?!\n)/m))
+ {
+ $format = $1;
+ }
+
+ if ($format ne '')
+ {
+ $glsnumformat{$type} = $format;
+
+ if ($format eq 'ignore')
+ {
+ $delimN{$type} = '';
+ }
+ }
+
+ if (($str=~/delimN=([^,]+),|$/&&($delimN=$1)) ||
+ ($str=~/delimN=${OP}(\d+)${CP}(.*)${OP}\1${CP}/&&($delimN=$2)))
+ {
+ $delimN{$type} = $delimN;
+ }
+
+ if (($str=~/glodelim=([^,]+),|$/&&($glodelim=$1)) ||
+ ($str=~/glodelim=${OP}(\d+)${CP}(.*)${OP}\1${CP}/&&($glodelim=$2)))
+ {
+ $glodelim{$type} = $glodelim;
+ }
+
+ $_[0];
+}
+
+sub do_cmd_ignore{
+ local($_) = @_;
+ local($str);
+ $str = &missing_braces unless ($_[0]=~s/$next_pair_pr_rx//o&&($str=$2));
+
+ $_[0];
+}
+
+sub do_cmd_hyperit{
+ join('', "\\textit ", $_[0]);
+}
+
+sub do_cmd_hyperrm{
+ join('', "\\textrm ", $_[0]);
+}
+
+sub do_cmd_hypertt{
+ join('', "\\texttt ", $_[0]);
+}
+
+sub do_cmd_hypersf{
+ join('', "\\textsf ", $_[0]);
+}
+
+sub do_cmd_hyperbf{
+ join('', "\\textbf ", $_[0]);
+}
+
+&ignore_commands( <<_IGNORED_CMDS_ );
+makeglossary
+makeacronym
+_IGNORED_CMDS_
+
+1;
diff --git a/Master/texmf-dist/doc/latex/glossary/makeglos.bat b/Master/texmf-dist/doc/latex/glossary/makeglos.bat
new file mode 100644
index 00000000000..ab83c738703
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/makeglos.bat
@@ -0,0 +1,3 @@
+@rem = '-*- Perl -*-
+@echo off
+perl -S %0.pl %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/Master/texmf-dist/doc/latex/glossary/makeglos.pl b/Master/texmf-dist/doc/latex/glossary/makeglos.pl
new file mode 100644
index 00000000000..77075e46c28
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/makeglos.pl
@@ -0,0 +1,295 @@
+#!/usr/bin/perl
+
+# File : makeglos
+# Author : Nicola Talbot
+# Version : 1.3 (2005/06/28)
+# Description: simple Perl script that calls makeindex.
+# Intended for use with "glossary.sty" (saves having to remember
+# all the various switches)
+
+use Getopt::Std;
+
+if ($#ARGV < 0)
+{
+ die "Syntax : $0 [-ilqrcgm] [-s sty] [-o gls] [-t log] [-p num] <filename>\n";
+}
+
+getopt('sotp');
+getopts('ilqrcgm');
+
+# define known extensions
+
+ %exttype = (
+ glossary => {in=>'glo', out=>'gls', 'log'=>'glg'},
+ );
+
+$ext = '';
+
+if (length(@ARGV[0]) < 4)
+{
+ $name = @ARGV[0];
+}
+elsif (substr(@ARGV[0],-4,1) eq ".")
+{
+ $name = substr(@ARGV[0],0,length(@ARGV[0])-4);
+
+ $ext = substr(@ARGV[0],-3,3);
+}
+else
+{
+ $name = @ARGV[0];
+}
+
+# check log file for other glossary types
+
+if (open AUXFILE, "$name.aux")
+{
+ while (<AUXFILE>)
+ {
+ if (m/\\\@newglossarytype\s*\[(.*)\]{(.*)}{(.*)}{(.*)}/)
+ {
+ $exttype{$2}{'in'} = $3;
+ $exttype{$2}{'out'} = $4;
+ $exttype{$2}{'log'} = $1;
+
+ if (!$opt_q)
+ {
+ print "added glossary type '$2' ($3,$4,$1)\n";
+ }
+ }
+ }
+
+ close AUXFILE;
+}
+else
+{
+ print "unable to open $name.aux\n";
+}
+
+# save all the general makeindex switches
+
+$mkidxopts = '';
+
+if ($opt_i)
+{
+ $mkidxopts .= " -i";
+}
+
+if ($opt_l)
+{
+ $mkidxopts .= " -l";
+}
+
+if ($opt_q)
+{
+ $mkidxopts .= " -q";
+}
+
+if ($opt_r)
+{
+ $mkidxopts .= " -r";
+}
+
+if ($opt_c)
+{
+ $mkidxopts .= " -c";
+}
+
+if ($opt_g)
+{
+ $mkidxopts .= " -g";
+}
+
+unless ($opt_p eq "")
+{
+ $mkidxopts .= " -p $opt_p";
+}
+
+if ($opt_s eq "")
+{
+ $istfile = "$name.ist";
+}
+else
+{
+ $istfile = $opt_s;
+}
+
+if ($ext ne '')
+{
+ %thistype = %{$exttype{'glossary'}}; #default
+
+ foreach $type (keys %exttype)
+ {
+ if ($exttype{$type}{'in'} eq $ext)
+ {
+ %thistype = %{$exttype{$type}};
+
+ last;
+ }
+ }
+
+ if ($opt_o eq "")
+ {
+ $outfile = "$name.$thistype{out}";
+ }
+ else
+ {
+ $outfile = $opt_o;
+ }
+
+ if ($opt_t eq "")
+ {
+ $transcript = "$name.$thistype{'log'}";
+ }
+ else
+ {
+ $transcript = $opt_t;
+ }
+
+ &makeindex("$name.$ext",$outfile,$transcript,$istfile,
+ $mkidxopts,$opt_q,$opt_m);
+}
+else
+{
+ foreach $type (keys %exttype)
+ {
+ %thistype = %{$exttype{$type}};
+
+ $inputfile = "$name.$thistype{in}";
+
+ if (-r $inputfile)
+ {
+ if ($opt_o eq "")
+ {
+ $outfile = "$name.$thistype{out}";
+ }
+ else
+ {
+ $outfile = $opt_o;
+ }
+
+ if ($opt_t eq "")
+ {
+ $transcript = "$name.$thistype{'log'}";
+ }
+ else
+ {
+ $transcript = $opt_t;
+ }
+
+ &makeindex($inputfile,$outfile,$transcript,
+ $istfile,$mkidxopts,$opt_q,$opt_m);
+ }
+ elsif (!$opt_q)
+ {
+ print "no read access for '$inputfile'\n";
+ }
+ }
+}
+
+sub makeindex{
+ local($in,$out,$trans,$ist,$rest,$quiet,$merge) = @_;
+ local($name,$cmdstr,$buffer,$n,$i,$j);
+ local(@stuff,@item);
+
+ if ($merge)
+ {
+ $cmdstr = "$rest -s $ist -t $trans -o tmp_$out $in";
+ }
+ else
+ {
+ $cmdstr = "$rest -s $ist -t $trans -o $out $in";
+ }
+
+ unless ($quiet)
+ {
+ print "makeindex $cmdstr\n";
+ }
+
+ `makeindex $cmdstr`;
+
+ if ($merge)
+ {
+ print "Merging entries\n";
+
+ open INPUT, "<tmp_$out";
+
+ $buffer = "";
+
+ while (<INPUT>)
+ {
+ $buffer .= $_;
+ }
+
+ close INPUT;
+
+ open OUTPUT, ">$out";
+
+ @stuff = split /\\gloitem /, $buffer;
+
+ $n = scalar(@stuff);
+
+ if ($n < 2)
+ {
+ print OUTPUT $buffer;
+ }
+ else
+ {
+ print OUTPUT $stuff[0];
+
+ for ($i = 1, $j=-1; $i < $n; $i++)
+ {
+ if ($stuff[$i]=~s/{\\glosslabel{(.+)}{(.+)}}//)
+ {
+ $name = $&;
+
+ if ($j==-1)
+ {
+ $j = 0;
+ $item[0]{'name'} = $name;
+ $item[0]{'desc'} = $stuff[$i];
+ }
+ else
+ {
+ # makeindex has already sorted the entries
+ # alphabetically, so duplicate entries
+ # will be one after the other
+
+ if ($item[$j]{'name'} eq $name)
+ {
+ $item[$j]{'desc'} .= $stuff[$i];
+
+ print "collating $name\n";
+ }
+ else
+ {
+ $j++;
+ $item[$j]{'name'} = $name;
+ $item[$j]{'desc'} = $stuff[$i];
+ }
+ }
+ }
+ else
+ {
+ print STDERR
+ "unable to extract name from glossary item:\n",
+ $stuff[$i];
+ }
+ }
+
+ for ($i=0; $i <= $j; $i++)
+ {
+ print OUTPUT "\\gloitem ", $item[$i]{'name'},
+ $item[$i]{'desc'};
+ }
+ }
+
+ close OUTPUT;
+
+ print "Output written in $out\n";
+
+ unlink "tmp_$out" or print "Can't delete tmp_$out: $!\n";
+ }
+}
+
+1;
diff --git a/Master/texmf-dist/doc/latex/glossary/manual.html b/Master/texmf-dist/doc/latex/glossary/manual.html
new file mode 100644
index 00000000000..da5650e9e76
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/manual.html
@@ -0,0 +1,2680 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with jLaTeX2HTML 2002-2-1 (1.70) JA patch-2.0
+patched version by: Kenshi Muto, Debian Project.
+* modified by: Shige TAKENO
+LaTeX2HTML 2002-2-1 (1.70),
+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>glossary.sty v 2.24: LaTeX2e Package to Assist Generating Glossaries</TITLE>
+<META NAME="description" CONTENT="glossary.sty v 2.24: LaTeX2e Package to Assist Generating Glossaries">
+<META NAME="keywords" CONTENT="manual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="jLaTeX2HTML v2002-2-1 JA patch-2.0">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+
+</HEAD>
+
+<BODY >
+
+<P>
+
+ <H1 ALIGN="CENTER">glossary.sty v 2.24: LaTeX2e Package to Assist Generating Glossaries</H1>
+<DIV>
+
+<P ALIGN="CENTER"><STRONG>Nicola L.C. Talbot</STRONG></P>
+<P ALIGN="CENTER"><STRONG>27th September 2005</STRONG></P>
+</DIV>
+<BR>
+
+<H2><A NAME="SECTION00010000000000000000">
+Contents</A>
+</H2>
+<!--Table of Contents-->
+
+<UL>
+<LI><A NAME="tex2html29"
+ HREF="manual.html#SECTION00020000000000000000">Introduction</A>
+<LI><A NAME="tex2html30"
+ HREF="manual.html#SECTION00030000000000000000">Installation</A>
+<LI><A NAME="tex2html31"
+ HREF="manual.html#SECTION00040000000000000000">Generating Glossary Information</A>
+<UL>
+<LI><A NAME="tex2html32"
+ HREF="manual.html#SECTION00041000000000000000">Storing Glossary Information</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html33"
+ HREF="manual.html#SECTION00050000000000000000">makeglos.pl</A>
+<LI><A NAME="tex2html34"
+ HREF="manual.html#SECTION00060000000000000000">Displaying the Glossary</A>
+<LI><A NAME="tex2html35"
+ HREF="manual.html#SECTION00070000000000000000">Package Options</A>
+<UL>
+<LI><A NAME="tex2html36"
+ HREF="manual.html#SECTION00071000000000000000">Examples</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html37"
+ HREF="manual.html#SECTION00080000000000000000">Defining New Glossary Types</A>
+<LI><A NAME="tex2html38"
+ HREF="manual.html#SECTION00090000000000000000">Acronyms</A>
+<UL>
+<LI><A NAME="tex2html39"
+ HREF="manual.html#SECTION00091000000000000000">Examples</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html40"
+ HREF="manual.html#SECTION000100000000000000000">Customizing the Glossary</A>
+<LI><A NAME="tex2html41"
+ HREF="manual.html#SECTION000110000000000000000">Sample Documents</A>
+<LI><A NAME="tex2html42"
+ HREF="manual.html#SECTION000120000000000000000">LaTeX2HTML Style File</A>
+<UL>
+<LI><A NAME="tex2html43"
+ HREF="manual.html#SECTION000121000000000000000">Limitations</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html44"
+ HREF="manual.html#SECTION000130000000000000000">Troubleshooting</A>
+<LI><A NAME="tex2html45"
+ HREF="manual.html#SECTION000140000000000000000">Obsolete Commands</A>
+<LI><A NAME="tex2html46"
+ HREF="manual.html#SECTION000150000000000000000">Contact Details</A>
+<LI><A NAME="tex2html47"
+ HREF="manual.html#SECTION000160000000000000000">Acknowledgements</A>
+<LI><A NAME="tex2html48"
+ HREF="manual.html#SECTION000170000000000000000">Index</A>
+</UL>
+<!--End of Table of Contents-->
+<P>
+
+<H1><A NAME="SECTION00020000000000000000">
+Introduction</A>
+</H1>
+
+ The <TT>glossary</TT><A NAME="1481"></A> package is provided to assist
+generating a glossary. It has a certain amount of flexibility,
+allowing the user to customize the format of the glossary, and
+define new glossary-style objects.
+
+<P>
+
+<H1><A NAME="SECTION00030000000000000000">
+Installation</A>
+</H1>
+
+<P>
+You need to make sure you have downloaded the following three
+files:
+<PRE>
+glossary.ins
+glossary.dtx
+README
+</PRE>
+To extract the code from the <TT>glossary.dtx</TT> file, you
+will need to run the installation file through LaTeX:
+<PRE>
+latex glossary.ins
+</PRE>
+This will create the following files:
+<PRE>
+glossary.sty
+glossary.perl
+makeglos.pl
+makeglos.bat
+</PRE>
+along with several sample files. The file <TT>glossary.sty</TT>
+should be placed somewhere in the LaTeX path, e.g.
+<TT>texmf/tex/latex/glossary/</TT>. The file
+<TT>glossary.perl</TT> is a LaTeX2HTML style file, and should
+be placed in the LaTeX2HTML style file directory (usually
+<TT>latex2html/styles/</TT>). The file <TT>makeglos.pl</TT>
+is a Perl script which calls <TT>makeindex</TT><A NAME="1484"></A>. If you are
+using UNIX or Linux, you will need to set the permissions so
+that you can execute the file:
+<PRE>
+chmod a+x makeglos.pl
+</PRE>
+You should then place this file somewhere on your path.
+(You may also need to edit the first line of
+this file, if <TT>perl</TT><A NAME="1487"></A> is located in a directory other than <code>/usr/bin/</code><A NAME="tex2html1"
+ HREF="#foot1364"><SUP>1</SUP></A>.)
+
+<P>
+If you are not using UNIX or Linux, you may have to explicitly
+load the file into Perl, so you would need to do
+<TT>perl makeglos.pl</TT> instead of just <TT>makeglos.pl</TT>.
+If you are using Windows, a batch file, <TT>makeglos.bat</TT>
+is provided which will run Perl on <TT>makeglos.pl</TT>.
+Both <TT>makeglos.pl</TT> and <TT>makeglos.bat</TT> should
+be placed somewhere specified by the PATH environment
+variable. (For example, put them both in the same
+directory as <TT>makeindex</TT><A NAME="1490"></A>, which will probably
+be in <code>\texmf\miktex\bin\</code>).
+
+<P>
+If you don't have Perl installed on your system, you can just use
+<TT>makeindex</TT><A NAME="1493"></A>, only you will have to remember all the
+command line switches, and you won't be able to merge entries
+that have the same name, but different descriptions.
+
+<P>
+
+<H1><A NAME="SECTION00040000000000000000">
+Generating Glossary Information</A>
+</H1>
+
+<P>
+The standard LaTeX command <TT>&#92;makeglossary</TT> (analogous to <TT>&#92;makeindex</TT>)
+ should be placed in the document preamble. If this command
+is omitted, glossary information will be ignored. Glossary
+entries are generated using the command
+<TT>&#92;glossary</TT><code>{</code><I>key-val list</I><code>}</code>.
+ This command is a slightly modified version of the standard
+<TT>&#92;glossary</TT> command, in order to separate out the
+information into <I>entry-name</I> and <I>entry-description</I>.
+The argument to <TT>&#92;glossary</TT> must be a comma-separated
+list of <I>key</I>=<I>value</I> pairs. The following keys are
+available:
+<DIV ALIGN="CENTER">
+<TABLE CELLPADDING=3>
+<TR><TH ALIGN="LEFT"><B>Key </B></TH>
+<TH ALIGN="LEFT"><B>Value</B></TH>
+</TR>
+<TR><TD ALIGN="LEFT"><TT><TT>name</TT><A NAME="1506"></A> </TT></TD>
+<TD ALIGN="LEFT">The entry name</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT><TT>description</TT><A NAME="1510"></A> </TT></TD>
+<TD ALIGN="LEFT">A description about the entry</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT><TT>sort</TT><A NAME="1514"></A> </TT></TD>
+<TD ALIGN="LEFT">How to sort the entry. (Entry name used if sort omitted)</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT><TT>format</TT><A NAME="1518"></A> </TT></TD>
+<TD ALIGN="LEFT">How to format the page number</TD>
+</TR>
+</TABLE>
+</DIV>
+For example:
+<PRE>
+\glossary{name={singular matrix},
+ description={A matrix with zero determinant}}
+</PRE>
+ The following example sorts on the text <TT>U</TT> instead of
+<code>$\mathcal{U}$</code>:
+<PRE>
+\glossary{name={$\mathcal{U}$},
+ description={The universal set},
+ sort=U}
+</PRE>
+The page format for individual entries can be changed using the
+<TT>format</TT><A NAME="1522"></A> key. This should be the name of a LaTeX
+formatting command without the preceding <code>\</code> (as with the
+<code>|</code> operator in <TT>&#92;index</TT>.) For example:
+<PRE>
+\glossary{name={$\mathbb{R}$},
+ description={The set of real numbers},
+ sort=R,
+ format=textbf}
+</PRE>
+In addition, the following formats are also available:
+
+<DIV ALIGN="CENTER">
+<TABLE CELLPADDING=3>
+<TR><TD ALIGN="LEFT"><TT>hyperrm</TT><A NAME="1528"></A><A NAME="1529"></A></TD>
+<TD ALIGN="LEFT">The number is a hyper link in roman</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypersf</TT><A NAME="1533"></A><A NAME="1534"></A></TD>
+<TD ALIGN="LEFT">The number is a hyper link in sans-serif</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hypertt</TT><A NAME="1538"></A><A NAME="1539"></A></TD>
+<TD ALIGN="LEFT">The number is a hyper link in typewriter font</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hyperbf</TT><A NAME="1543"></A><A NAME="1544"></A></TD>
+<TD ALIGN="LEFT">The number is a hyper link in bold</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>hyperit</TT><A NAME="1548"></A><A NAME="1549"></A></TD>
+<TD ALIGN="LEFT">The number is a hyper link in italic</TD>
+</TR>
+</TABLE>
+</DIV>
+If the <TT>hyper</TT><A NAME="1558"></A> option has not been set,
+<TT>hyperrm</TT><A NAME="1562"></A><A NAME="1563"></A> etc are equivalent to <TT>textrm</TT> etc.
+You should use <TT>&#92;hyperrm</TT><A NAME="1567"></A> instead of
+<TT>&#92;hyperpage</TT>, as <TT>&#92;hyperpage</TT> won't
+work on a list or range of numbers in the glossary<A NAME="tex2html2"
+ HREF="#foot1367"><SUP>2</SUP></A>.
+
+<P>
+As with the <TT>&#92;index</TT> command, care must be taken if you
+want to use the special characters: <code>@</code> <code>|</code> <code>"</code> and
+<code>!</code>. These characters should be preceded by the double quote
+character. For example:
+<PRE>
+\glossary{name={$"|\mathcal{S}"|$,
+description=The cardinality of the set \mathcal{S}}}
+</PRE>
+There is no provision for sub-entries, as these are
+generally only applicable in an index, and not in a glossary.
+
+<P>
+As from version 2.14, there is an additional command available:
+
+<P>
+
+<TT>&#92;xglossary</TT><code>{</code><I>gls-entry</I><code>}{</code><I>text</I><code>}</code>
+
+<P>
+This is equivalent to
+<I>text</I><TT>&#92;glossary</TT><A NAME="1584"></A><code>{</code><I>gls-entry</I><code>}</code>,
+where <I>text</I> will be made a hyperlink to the
+relevant entry in the glossary, if hyper
+links are supported.
+
+<P>
+
+<H2><A NAME="SECTION00041000000000000000">
+Storing Glossary Information</A>
+</H2>
+
+<P>
+The following command:
+<BR>
+<BR><TT><TT>&#92;storeglosentry</TT>[</TT> <I>gls-type</I><TT>]{</TT> <I>label</I><TT>}{</TT> <I>gls-entry</I><TT>}
+</TT>
+<BR>
+<BR>
+can be used to store glossary information. That information
+can then be used later with any of the following commands:
+
+<BR>
+<BR><TT><TT>&#92;useglosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>}
+<BR><TT>&#92;useGlosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>}{</TT> <I>text</I><TT>}
+<BR><TT>&#92;gls</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>}
+</TT>
+<BR>
+<BR><TT>&#92;useglosentry</TT> adds the stored glossary entry
+<I>gls-entry</I> to the appropriate glossary,
+<TT>&#92;useGlosentry</TT> adds the stored glossary entry, and
+makes <I>text</I> a hyperlink to that entry (if hyperlinks are
+supported). The third command, <TT>&#92;gls</TT>, is like
+<TT>&#92;useGlosentry</TT>, but forms <I>text</I> from the name
+given in <I>gls-entry</I>.
+
+<P>
+Returning to an earlier example, instead of typing:
+<PRE>
+\glossary{name={$\mathcal{U}$},
+ description={The universal set},
+ sort=U}
+</PRE>
+every time you want to add this entry to the glossary, you
+can instead store the information:
+
+<PRE>
+\storeglosentry{glos:U}{name={$\protect\mathcal{U}$},
+ description={The universal set},
+ sort=U}
+</PRE>
+(Note the use of <TT>&#92;protect</TT>.) Now, instead of continually
+copying and pasting the glossary command for this entry (which
+can have quite a large <TT>description</TT><A NAME="1607"></A> field), you can use either:
+<PRE>
+\useglosentry{glos:U}
+</PRE>
+which is equivalent to:
+<PRE>
+\glossary{name={$\mathcal{U}$},
+ description={The universal set},
+ sort=U}
+</PRE>
+or you can use:
+<PRE>
+\useGlosentry{glos:U}{text}
+</PRE>
+which is equivalent to:
+<PRE>
+\xglossary{name={$\mathcal{U}$},
+ description={The universal set},
+ sort=U}{text}
+</PRE>
+or you can use:
+<PRE>
+\gls{glos:U}
+</PRE>
+which is equivalent to:
+<PRE>
+\xglossary{name={$\mathcal{U}$},
+ description={The universal set},
+ sort=U}{$\mathcal{U}$}
+</PRE>
+The optional argument <I>gls-type</I> indicates the glossary
+type (see <A HREF="#sec:newglostype">later</A> to find out how to define new
+glossary types). If omitted, the standard glossary is used.
+
+<P>
+The optional argument <I>opt</I> allows you to add additional
+information to the glossary entry, for example:
+<PRE>
+\useglosentry[format=textbf]{glos:U}
+</PRE>
+is equivalent to:
+<PRE>
+\glossary{name={$\mathcal{U}$},
+ description={The universal set},
+ sort=U,
+ format=textbf}
+</PRE>
+The identifying label, <I>label</I>, should not contain any
+special characters, and since <TT>&#92;storeglosentry</TT> is
+fragile, care should be taken when using commands within its
+argument. If in doubt, use <TT>&#92;protect</TT>.
+
+<P>
+
+<H1><A NAME="SECTION00050000000000000000">
+makeglos.pl</A>
+</H1>
+
+<P>
+The glossary information (as given by the commands
+<TT>&#92;glossary</TT> and <TT>&#92;xglossary</TT>) is saved in the file
+with the extension <TT>glo</TT><A NAME="1619"></A> (unless the
+<TT>&#92;makeglossary</TT><A NAME="1621"></A> command is omitted, in which case the
+glossary information is simply ignored.) A <TT>makeindex</TT><A NAME="1626"></A>
+style file<A NAME="1382"></A>
+(<TT>ist</TT><A NAME="1629"></A>) is also created, which is customized for the
+document, and can be passed to <TT>makeindex</TT><A NAME="1631"></A>.
+
+<P>
+For example, suppose your document is called <TT>mydoc.tex</TT>,
+the glossary will be saved in the file
+<TT>mydoc.glo</TT><A NAME="1634"></A>, and the <TT>makeindex</TT><A NAME="1636"></A> style
+file <TT>mydoc.ist</TT><A NAME="1639"></A> will be created.
+ These files can then be passed to <TT>makeindex</TT><A NAME="1641"></A> as follows:
+<PRE>
+makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
+</PRE>
+which generates the output file <TT>mydoc.gls</TT><A NAME="1644"></A>,
+with transcript written to
+<TT>mydoc.glg</TT><A NAME="1646"></A>.
+
+<P>
+The Perl script <TT>makeglos.pl</TT><A NAME="1648"></A> provided with this package
+allows you to use <TT>makeindex</TT><A NAME="1651"></A> without having to remember
+all the command line options. The command
+<PRE>
+makeglos.pl mydoc.glo
+</PRE>
+will perform the command:
+<PRE>
+makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
+</PRE>
+The <TT>glo</TT><A NAME="1654"></A> extension may be omitted. In addition,
+<TT>makeglos.pl</TT><A NAME="1656"></A> also takes the option
+<TT>-m</TT> which can be used to collate entries where the
+same name has multiple descriptions.
+
+<P>
+<TT>makeglos.pl</TT><A NAME="1659"></A> has the following syntax:
+<PRE>
+makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] &lt;filename&gt;
+</PRE>
+where all switches, apart from <TT>-m</TT> are the same as
+those for <TT>makeindex</TT><A NAME="1662"></A>. In addition, if the extension
+to the input file name is omitted, <TT>glo</TT><A NAME="1665"></A> will be
+assumed. If there are multiple glossary types (see
+<A HREF="#sec:newglostype">later</A>)
+and the file extension is omitted, <TT>makeglos.pl</TT><A NAME="1667"></A> will
+iterate through each glossary type.
+
+<P>
+The name of the <TT>ist</TT><A NAME="1670"></A> file can be changed by redefining
+the command <TT>&#92;istfilename</TT>.
+For example:
+<PRE>
+\renewcommand{\istfilename}{foo.ist}
+</PRE>
+However, you will need to explicitly pass the name of this
+file to <TT>makeglos.pl</TT><A NAME="1674"></A> using the <TT>-s</TT> switch.
+
+<P>
+Creation of the <TT>ist</TT><A NAME="1677"></A> file can be suppressed by issuing
+the command <TT>&#92;noist</TT> before
+<TT>&#92;makeglossary</TT><A NAME="1681"></A>. It will also be suppressed when the
+command <TT>&#92;nofiles</TT><A NAME="1686"></A> is used, or if the command
+<TT>&#92;makeglossary</TT><A NAME="1691"></A> is omitted.
+
+<P>
+It should be noted that there are a few packages that can
+cause problems with the creation of the <TT>ist</TT><A NAME="1696"></A> file,
+for example <TT>ngerman</TT><A NAME="1698"></A>. If you encounter problems
+when LaTeX is processing the <TT>&#92;makeglossary</TT><A NAME="1701"></A> command,
+or if you get errors from <TT>makeindex</TT><A NAME="1706"></A> complaining about
+the style file, this is the most probable cause.
+See <A HREF="#itm:ngerman">later</A> for
+information on how to fix this.
+
+<P>
+
+<H1><A NAME="SECTION00060000000000000000">
+Displaying the Glossary</A>
+</H1>
+
+<P>
+Once the <TT>gls</TT><A NAME="1709"></A> file has been created by
+<TT>makeindex</TT><A NAME="1711"></A> (as described in the previous
+ section) the glossary can then be included in the document with
+the command <TT>&#92;printglossary</TT>.
+ If chapters are defined, the glossary will start
+with<A NAME="1715"></A>
+<PRE>
+\chapter*{\glossaryname}
+</PRE>
+If not, it will start with
+<PRE>
+\section*{\glossaryname}
+</PRE>
+The format of the main body of the glossary depends on the
+options passed to the package.
+
+<P>
+
+<H1><A NAME="SECTION00070000000000000000">
+Package Options</A>
+</H1>
+
+<P>
+The package options must be specified as a comma-separated list
+of <I>key</I>=<I>value</I> pairs. Available options are:
+<DL>
+<DT><STRONG><TT>style</TT><A NAME="1724"></A></STRONG></DT>
+<DD>The glossary style. Values:
+<A NAME="1387"></A>
+<DL>
+<DT><STRONG><TT>list</TT><A NAME="1728"></A></STRONG></DT>
+<DD>use
+<TT>description</TT> environment in the glossary
+</DD>
+<DT><STRONG><TT>altlist</TT><A NAME="1731"></A></STRONG></DT>
+<DD>modified
+version of <TT>style=list</TT><A NAME="1740"></A>. The description starts on the
+line following the name of the term being defined.
+
+</DD>
+<DT><STRONG><TT>super</TT><A NAME="1742"></A></STRONG></DT>
+<DD>use
+<TT>supertabular</TT> environment in the glossary
+</DD>
+<DT><STRONG><TT>long</TT><A NAME="1745"></A></STRONG></DT>
+<DD>use
+<TT>longtable</TT> environment in the glossary (Default)
+</DD>
+</DL>
+
+<P>
+</DD>
+<DT><STRONG><TT>header</TT><A NAME="1753"></A></STRONG></DT>
+<DD><A NAME="1389"></A> Glossary
+header. Values:
+<DL>
+<DT><STRONG><TT>none</TT><A NAME="1757"></A></STRONG></DT>
+<DD>The glossary
+doesn't have a heading (Default)
+</DD>
+<DT><STRONG><TT>plain</TT><A NAME="1759"></A></STRONG></DT>
+<DD>The glossary
+has a heading
+</DD>
+</DL>
+
+<P>
+</DD>
+<DT><STRONG><TT>border</TT><A NAME="1766"></A></STRONG></DT>
+<DD><A NAME="1390"></A> Glossary
+border. Values:
+<DL>
+<DT><STRONG><TT>none</TT><A NAME="1770"></A></STRONG></DT>
+<DD>The glossary
+doesn't have a border (Default)
+</DD>
+<DT><STRONG><TT>plain</TT><A NAME="1772"></A></STRONG></DT>
+<DD>Border
+around the main body of the glossary
+</DD>
+</DL>
+
+<P>
+</DD>
+<DT><STRONG><TT>cols</TT><A NAME="1779"></A></STRONG></DT>
+<DD><A NAME="1391"></A> Number of
+columns. Values:
+<DL>
+<DT><STRONG><TT>2</TT><A NAME="1783"></A></STRONG></DT>
+<DD>The entry name and description are in two separate
+columns with the associated page numbers in the same column as
+the description. (Default)
+</DD>
+<DT><STRONG><TT>3</TT><A NAME="1785"></A></STRONG></DT>
+<DD>The entry name, description and associated page numbers
+are in three separate columns.
+</DD>
+</DL>
+
+<P>
+
+</DD>
+<DT><STRONG><TT>number</TT><A NAME="1792"></A></STRONG></DT>
+<DD>Associated number corresponding to each entry. Values:
+<DL>
+<DT><STRONG><TT>page</TT><A NAME="1796"></A></STRONG></DT>
+<DD>Each entry has the corresponding page number(s) where the
+entry is defined. (Default)
+</DD>
+<DT><STRONG><TT>section</TT><A NAME="1798"></A></STRONG></DT>
+<DD>Each entry has the corresponding section number(s) where
+the entry is defined.
+</DD>
+<DT><STRONG><TT>none</TT><A NAME="1800"></A></STRONG></DT>
+<DD>The corresponding numbers are
+suppressed.
+</DD>
+</DL>
+
+<P>
+</DD>
+<DT><STRONG><TT>toc</TT><A NAME="1807"></A></STRONG></DT>
+<DD><A NAME="1393"></A>
+Boolean variable:
+
+<DL>
+<DT><STRONG><TT>true</TT><A NAME="1811"></A></STRONG></DT>
+<DD>Add glossary to table of contents
+</DD>
+<DT><STRONG><TT>false</TT><A NAME="1813"></A></STRONG></DT>
+<DD>Omit glossary from table of contents (Default)
+</DD>
+</DL>
+Note that if you specify this option, you will need to run
+LaTeX twice after generating the glossary.
+
+<P>
+</DD>
+<DT><STRONG><TT>hypertoc</TT><A NAME="1820"></A></STRONG></DT>
+<DD>Boolean variable. This is similar to the package option
+<TT>toc</TT><A NAME="1829"></A>, but if you are using the <TT>hyperref</TT><A NAME="1833"></A>
+package, <TT>hypertoc</TT><A NAME="1841"></A> will generate a link to the
+beginning of the page, whereas <TT>toc</TT><A NAME="1850"></A> will have
+a hyperlink to jst after the glossary title. Note
+that you can not use both <TT>toc=true</TT><A NAME="1861"></A> and
+<TT>hypertoc=true</TT><A NAME="1870"></A>. Default value:
+<TT>hypertoc=false</TT><A NAME="1879"></A>.
+
+<P>
+</DD>
+<DT><STRONG><TT>hyper</TT><A NAME="1886"></A></STRONG></DT>
+<DD>Boolean
+variable:
+
+<DL>
+<DT><STRONG><TT>true</TT><A NAME="1890"></A></STRONG></DT>
+<DD>Make associated numbers in the
+glossary a hypertext link, and also make acronyms, and the text
+given by <TT>&#92;xglossary</TT><A NAME="1892"></A> have a hyperlink to their
+corresponding entries in the glossary.
+</DD>
+<DT><STRONG><TT>false</TT><A NAME="1897"></A></STRONG></DT>
+<DD>Don't make associated numbers a hypertext link
+</DD>
+</DL>
+If the <TT>hyperref</TT><A NAME="1899"></A> or <TT>html</TT><A NAME="1902"></A> package has
+been loaded prior to loading <TT>glossary.sty</TT>,
+<TT>hyper=true</TT><A NAME="1912"></A> is set, otherwise
+the default is <TT>hyper=false</TT><A NAME="1921"></A>. Note that this package
+option now encompasses the old <TT>hyperacronym</TT><A NAME="1928"></A> option.
+
+<P>
+</DD>
+<DT><STRONG><TT>section</TT><A NAME="1937"></A></STRONG></DT>
+<DD>Boolean variable:
+
+<DL>
+<DT><STRONG><TT>true</TT><A NAME="1941"></A></STRONG></DT>
+<DD>Make the glossary an unnumbered
+section, even if chapters are defined
+</DD>
+<DT><STRONG><TT>false</TT><A NAME="1943"></A></STRONG></DT>
+<DD>Only make glossary an
+unnumbered section if chapters are not defined (default).
+</DD>
+</DL>
+
+<P>
+</DD>
+<DT><STRONG><TT>acronym</TT><A NAME="1950"></A></STRONG></DT>
+<DD>Boolean variable:
+
+<DL>
+<DT><STRONG><TT>true</TT><A NAME="1954"></A></STRONG></DT>
+<DD>Make the list of acronyms
+separate from the main glossary.
+
+<P>
+</DD>
+<DT><STRONG><TT>false</TT><A NAME="1956"></A></STRONG></DT>
+<DD>The acronyms will all
+be placed in the main glossary. (Default)
+</DD>
+</DL>
+</DD>
+</DL>
+ The <TT>border</TT><A NAME="1963"></A>, <TT>header</TT><A NAME="1972"></A> and <TT>cols</TT><A NAME="1981"></A> options
+should not be used in conjunction with <TT>style=list</TT><A NAME="1992"></A>
+or <TT>style=altlist</TT><A NAME="2001"></A>, as they only make sense with one of
+the tabular-style options.
+The value for the boolean variables can be omitted if they are
+to be set. For example
+ <TT>toc</TT><A NAME="2008"></A> is equivalent to <TT>toc=true</TT><A NAME="2019"></A>. Note that the
+<TT>altlist</TT><A NAME="2021"></A> style is better suited to
+glossaries with long entry names.
+
+<P>
+You can set up your own preferred defaults in a configuration
+file<A NAME="1399"></A>.
+The file must be called <TT>glossary.cfg</TT><A NAME="2023"></A> and
+should be placed somewhere on the T<SMALL>E</SMALL>X path. In this file you
+can use the command
+<TT>&#92;glossarypackageoptions</TT><code>{</code><I>option-list</I><code>}</code>
+
+where <I>option-list</I> is a comma-separated list of
+<I>key</I>=<I>value</I> pairs, as passed to the
+<TT>glossary</TT><A NAME="2027"></A>
+package. Note that this command may only be used in the
+configuration file.
+
+<P>
+
+<H2><A NAME="SECTION00071000000000000000">
+Examples</A>
+</H2>
+See <TT><A NAME="tex2html3"
+ HREF="glossary.pdf">glossary.pdf</A></TT> (the PDF version of this manual) for
+examples.
+
+<P>
+
+<H1><A NAME="SECTION00080000000000000000"></A>
+<A NAME="sec:newglostype"></A>
+<BR>
+Defining New Glossary Types
+</H1>
+
+<P>
+A new type of glossary can be defined using the command:
+<BR>
+<BR><TT>&#92;newglossarytype</TT><code>[</code><I>log-ext</I><code>]{</code><I>name</I><code>}{</code><I>out-ext</I><code>}{</code><I>in-ext</I><code>}</code>
+<BR>
+<BR>
+For example, suppose you want your document to have a separate
+index of terms and index of notation,
+you could use <TT>&#92;makeglossary</TT><A NAME="2205"></A>, <TT>&#92;glossary</TT><A NAME="2210"></A>,
+<TT>&#92;xglossary</TT><A NAME="2215"></A> and <TT>&#92;printglossary</TT><A NAME="2220"></A> for the first
+glossary, and define a new type of glossary called say,
+<TT>notation</TT>, using
+<PRE>
+\newglossarytype[nlg]{notation}{not}{ntn}
+</PRE>
+which will create the analogous commands:
+<TT>&#92;makenotation</TT>, <TT>&#92;notation</TT>, <TT>&#92;xnotation</TT>
+and <TT>&#92;printnotation</TT> which can be used for the second
+glossary.
+
+<P>
+The command <TT>&#92;newglossarytype</TT> should only occur in the
+preamble. The new commands
+ <TT>&#92;make</TT><I>name</I>, <code>\</code><I>name</I>,
+<code>\x</code><I>name</I> and <TT>&#92;print</TT><I>name</I> all have the
+same format as their ``glossary'' counter-parts.
+
+<P>
+The glossary information will be saved to a file
+with the extension given by <I>out-ext</I> (analogous to
+<TT>glo</TT><A NAME="2239"></A>), which can then be passed to <TT>makeindex</TT><A NAME="2241"></A>
+either directly or via <TT>makeglos.pl</TT><A NAME="2244"></A>,
+and the file to be read in (i.e. the file created by
+<TT>makeindex</TT><A NAME="2247"></A>) will have the extension <I>in-ext</I>
+(analogous to <TT>gls</TT><A NAME="2250"></A>).
+
+<P>
+The optional argument <I>log-ext</I> indicates
+the extension for the <TT>makeindex</TT><A NAME="2252"></A> log file, if omitted the
+extension <TT>glg</TT><A NAME="2255"></A> is used. This is not used by LaTeX,
+however <TT>makeglos.pl</TT><A NAME="2257"></A> reads in this information from
+the LaTeX auxiliary file and passes it to <TT>makeindex</TT><A NAME="2260"></A>.
+
+<P>
+For the above <TT>notation</TT>
+example, if your document is called, say, <TT>mydoc.tex</TT>,
+ you will need to do the following:
+<PRE>
+latex mydoc
+makeglos.pl mydoc
+latex mydoc
+</PRE>
+(You may need to do an extra <code>latex mydoc</code> to get
+cross-references up-to-date.) Note that if you don't specify the
+file extension when using <TT>makeglos.pl</TT><A NAME="2263"></A>, it will
+check the transcript file from the LaTeX run to determine
+all the glossary types, so, for this example,
+<PRE>
+makeglos.pl mydoc
+</PRE>
+is equivalent to:
+<PRE>
+makeglos.pl mydoc.glo
+makeglos.pl mydoc.not
+</PRE>
+since <TT>makeglos.pl</TT><A NAME="2266"></A> has read in the information
+for the <TT>notation</TT> glossary type from the file
+<TT>mydoc.log</TT>.
+
+<P>
+If you don't have Perl installed
+on your system, or for any other reason are unable to use
+<TT>makeglos.pl</TT><A NAME="2269"></A>, you can call <TT>makeindex</TT><A NAME="2272"></A>
+explicitly:
+<PRE>
+latex mydoc
+makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
+makeindex -s mydoc.ist -t mydoc.nlg -o mydoc.ntn mydoc.not
+latex mydoc
+</PRE>
+
+<P>
+Note that you can use the command
+<TT>&#92;printglossary</TT><A NAME="2275"></A><TT>[</TT><I>name</I><TT>]</TT>
+instead of <code>\print</code><I>name</I>.
+These two commands have the same effect when using LaTeX,
+however, they have a slightly different effect when
+using LaTeX2HTML (see <A HREF="#sec:l2h">later</A>).
+
+<P>
+If the command <code>\</code><I>glossary-type</I><code>name</code>
+is defined, (e.g. <code>\notationname</code> in the above example)
+this will be used as the title for the specified
+glossary. If this command is not defined, <TT>&#92;glossaryname</TT><A NAME="2280"></A>
+will be used instead.
+If the command <code>\short</code><I>glossary-type</I><code>name</code>
+is defined, (e.g. <TT>&#92;shortnotationname</TT> in the above
+example) this will be used for the table of contents
+entry, otherwise <code>\</code><I>glossary-type</I><code>name</code> will
+be used instead.
+For example:
+<PRE>
+\newglossarytype[nlg]{notation}{not}{ntn}
+\newcommand{\notationname}{Index of Notation}
+\newcommand{\shortnotationname}{Notation}
+</PRE>
+
+<P>
+
+<H1><A NAME="SECTION00090000000000000000">
+Acronyms</A>
+</H1>
+
+<P>
+The <TT>glossary</TT><A NAME="2287"></A> package provides the command:
+<BR>
+<BR><TT><TT>&#92;newacronym</TT>[</TT> <I>cmd-name</I><TT>]{</TT> <I>acronym</I><TT>}{</TT> <I>long</I><TT>}{</TT> <I>glossary entry</I><TT>}
+</TT>
+<BR>
+<BR>
+which can be used to define acronyms. The argument <I>long</I>
+is the full name, the argument <I>acronym</I> is the acronym for
+<I>long</I> and <I>glossary entry</I> is the glossary information
+in the form used by the <TT>&#92;glossary</TT><A NAME="2292"></A> command. If the
+optional argument <I>cmd-name</I> is missing,
+<TT>&#92;newacronym</TT> will create a command called
+<code>\</code><I>acronym</I>, otherwise it will create a command
+called <code>\</code><I>cmd-name</I> (henceforth denoted <TT>&#92;</TT><I>acr-name</I>).
+This command can then be used throughout the text. The first
+instance of this command is equivalent to:
+<BR>
+<BR><I>long</I> <TT>(&#92;xacronym</TT><A NAME="2301"></A><code>{</code><TT>name</TT><A NAME="2306"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code><TT>)</TT>
+<BR>
+<BR>
+subsequent instances will be equivalent to:
+<BR>
+<BR><TT>&#92;xacronym</TT><A NAME="2310"></A><code>{</code><TT>name</TT><A NAME="2315"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code>
+<BR>
+<BR>
+The command <TT>&#92;</TT><I>acr-name</I> also has a starred
+version, which will make the first letter of <I>long</I>
+uppercase (for use at the start of a sentence).
+
+<P>
+Note that if you want to change the format of the acronym,
+for example, if you want the acronym to appear in small caps,
+you will need to not only use the optional argument, but you
+will also need to use the <TT>sort</TT><A NAME="2321"></A> key, otherwise you
+will get an error. For example:
+<PRE>
+\newacronym[SVM]{\textsc{svm}}{Support Vector Machine}%
+{description=Statistical pattern recognition
+technique,sort=svm}
+</PRE>
+
+<P>
+If the package option <TT>acronym</TT><A NAME="2330"></A> is not set (default)
+<TT>&#92;xacronym</TT><A NAME="2334"></A>, is a synonym for <TT>&#92;xglossary</TT><A NAME="2339"></A>.
+If the package option <TT>acronym=true</TT><A NAME="2351"></A> is specified, a
+new glossary type called <TT>acronym</TT> will be defined as:
+<PRE>
+\newglossarytype[alg]{acronym}{acr}{acn}
+\newcommand{\acronymname}{List of Acronyms}
+</PRE>
+You will then need to use the commands <TT>&#92;makeacronym</TT><A NAME="2353"></A>
+and <TT>&#92;printacronym</TT><A NAME="2358"></A> to make the list of acronyms appear.
+You will also need to run the <TT>acr</TT><A NAME="2363"></A> file through
+<TT>makeindex</TT><A NAME="2365"></A> (or <TT>makeglos.pl</TT><A NAME="2368"></A>). For example:
+<PRE>
+makeindex -s mydoc.ist -t mydoc.alg -o mydoc.acn mydoc.acr
+</PRE>
+alternatively:
+<PRE>
+makeglos.pl mydoc
+</PRE>
+Note that the package option <TT>acronym=true</TT><A NAME="2378"></A> is only
+appropriate if you want both a glossary and a separate list of
+acronyms.
+
+<P>
+The <TT>name</TT><A NAME="2380"></A> key is not used in <I>glossary
+entry</I>, as it is constructed from <I>long</I> and
+<I>acronym</I>. By default this will be in the form:
+<I>long</I> (<I>acronym</I>), however the format can be
+overridden using the
+command:
+<BR>
+<BR><TT>&#92;setacronymnamefmt</TT>{<I>format</I>}
+<BR>
+<BR>
+Within <I>format</I> the following commands may
+be used to represent <I>long</I> and <I>acronym</I>:
+<TT>&#92;glolong</TT><A NAME="2386"></A> and
+<TT>&#92;gloshort</TT><A NAME="2391"></A>. For example,
+suppose you just want the acronym to appear in the glossary entry,
+and not its full length name, then you would need to do:
+<PRE>
+\setacronymnamefmt{\gloshort}
+</PRE>
+
+<P>
+Given an acronym named <I>acr-name</I> (the command name
+associated with the acronym as defined in
+<TT>&#92;newacronym</TT> without the preceding backslash),
+the following commands are also available:
+
+<P>
+<BR>
+<BR>
+
+<TT>&#92;useacronym</TT><code>[</code><I>insert</I><code>]{</code><I>acr-name</I><code>}</code>
+<BR>
+<BR>
+This command can be used instead of <TT>&#92;</TT><I>acr-name</I>.
+<TT>&#92;useacronym</TT> also has a starred version equivalent to
+<TT>&#92;</TT><I>acr-name</I><TT>*</TT>.
+The optional argument <I>insert</I> allows you to insert text
+after <I>long</I>, if this is the first occurrence of the
+acronym, or after the acronym on subsequent occurrences.
+
+<P>
+<BR>
+<BR>
+
+<TT>&#92;resetacronym</TT><code>{</code><I>acr-name</I><code>}</code>
+<BR>
+<BR>
+This command will cause the next use of <TT>&#92;</TT><I>acr-name</I>
+to produce the long version. To reset all acronyms
+do <TT>&#92;resetallacronyms</TT>.
+
+<P>
+<BR>
+<BR>
+
+<TT>&#92;ifacronymfirstuse</TT><code>{</code><I>acr-name</I><code>}{</code><I>true text</I><code>}{</code><I>false text</I><code>}</code>
+<BR>
+<BR>
+This will test if the acronym has been used yet. If it has been
+used, <I>true text</I> will be implemented, otherwise
+<I>false text</I> will be implemented.
+
+<P>
+The long and short forms of an acronym can be produced explicitly
+without a corresponding glossary entry, using the commands:
+<BR>
+<BR><TT>&#92;acrln</TT><code>{</code><I>acr-name</I><code>}</code>
+<BR><TT>&#92;acrsh</TT><code>{</code><I>acr-name</I><code>}</code>
+<BR>
+<BR>
+Or, alternatively:
+<BR>
+<BR><TT>&#92;</TT><I>acr-name</I><TT>long</TT>
+<BR><TT>&#92;</TT><I>acr-name</I><TT>short</TT>
+<BR>
+<BR>
+The first two commands (<TT>&#92;acrln</TT> and <TT>&#92;acrsh</TT>)
+have a starred form that makes the first letter uppercase.
+The other two commands, simply contain <I>long</I> and
+<I>acronym</I>.
+
+<P>
+Note that since these four commands do not generate glossary
+entries they will therefore not contain any hyperlinks, even if
+you have specified the <TT>hyper</TT><A NAME="2431"></A> package option. They are
+provided for use in situations where the associated glossary
+command may cause problems (e.g. in the table of contents entry.)
+
+<P>
+Note that, as with all LaTeX commands, spaces following
+command names are ignored so if, for example, you defined
+a new acronym called, say, SVM, then the <code>\SVM</code> will
+ignore any spaces following it. To force a space, you
+can either place an empty set of braces after the command
+name (e.g. <code>\SVM{}</code>) or use
+<TT>&#92;_</TT> i.e. a backslash followed by
+a space (e.g. <code>\SVM\ </code>). Alternatively, as from
+version 2.22, if you load the <TT>xspace</TT><A NAME="2437"></A> package
+before loading the <TT>glossary</TT><A NAME="2440"></A> package, spaces will
+be put in automatically using <TT>&#92;xspace</TT><A NAME="2443"></A>.
+
+<P>
+If you want the acronym to appear in a particular font,
+for example, small caps, you can redefine the command
+<TT>&#92;acronymfont</TT>. For example:
+<PRE>
+\renewcommand{\acronymfont}[1]{\textsc{#1}}
+</PRE>
+The default definition of <TT>&#92;acronymfont</TT> is:
+<PRE>
+\newcommand{\acronymfont}[1]{#1}
+</PRE>
+
+<P>
+
+<H2><A NAME="SECTION00091000000000000000">
+Examples</A>
+</H2>
+
+<P>
+<PRE>
+\newacronym{SVM}{Support Vector Machine}{description=Statistical
+pattern recognition technique}
+</PRE>
+This will define the command <TT>&#92;SVM</TT>. The first time this
+command is used will display the text: Support Vector Machine
+(SVM). Subsequent use will simply display: SVM. The next
+example uses the optional argument <I>cmd-name</I> since the
+acronym contains a non-alphabetical character:
+<PRE>
+\newacronym[KSVM]{K-SVM}{Kernel Support Vector
+Machine}{description=Statistical pattern recognition
+technique using the ``kernel trick''}
+</PRE>
+This will define the command <TT>&#92;KSVM</TT>. The first time
+this command is used will display the text: Kernel Support Vector
+Machine (K-SVM). Subsequent use will simply display: K-SVM.
+
+<P>
+To test whether or not an acronym has been used:
+<PRE>
+\ifacronymfirstuse{SVM}{a}{an} \SVM\ is \ldots
+</PRE>
+If the acronym has not been used, the following text will
+be produced:
+<BR>
+<BR>
+a Support Vector Machine is ...
+<BR>
+<BR>
+otherwise it will produce:
+<BR>
+<BR>
+an SVM is ...
+<BR>
+<BR>
+To expand the acronym a second time:
+<PRE>
+\chapter{An overview of the \protect\SVM}
+\resetacronym{SVM}
+The \SVM\ \ldots
+</PRE>
+Note the use of <TT>&#92;protect</TT> (see
+note&nbsp;<A HREF="#itm:fragile">14</A>.) In fact, in this situation
+it would be better to do:
+<PRE>
+\chapter[An overview of the \SVMlong]{An overview of the \protect\SVM}
+\resetacronym{SVM}
+The \SVM\ \ldots
+</PRE>
+
+<P>
+Now suppose you want the text: support vector machine,
+instead of Support Vector Machine (i.e. you don't like the
+uppercase letters). You can define the acronym as follows:
+<PRE>
+\newacronym{SVM}{support vector machine}{description=Statistical
+pattern recognition technique}
+</PRE>
+however, if the command <TT>&#92;SVM</TT> occurs at the start of the
+sentence, you would clearly want the first letter as an
+uppercase letter. This can be done using <TT>&#92;SVM*</TT> instead
+of <TT>&#92;SVM</TT>. For example:
+<PRE>
+\SVM*\ techniques are widely used \ldots
+</PRE>
+This will then come out as: Support vector machine (SVM)
+techniques are widely used ...(Assuming this is the first
+use of either <TT>&#92;SVM</TT> or <TT>&#92;SVM*</TT>.)
+
+<P>
+Alternatively, <TT>&#92;useacronym</TT><A NAME="2468"></A><code>{SVM}</code> can be used instead of
+<TT>&#92;SVM</TT>. For example:
+<PRE>
+\useacronym*[s]{SVM} are widely used in the area of pattern
+recognition.
+</PRE>
+If this is the first use of the acronym SVM, it will produce the
+following text:
+<BR>
+<BR>
+Support vector machines (SVM) are widely used in the area of
+pattern recognition.
+<BR>
+<BR>
+If this is not the first use of this acronym, it will produce the
+following text:
+<BR>
+<BR>
+SVMs are widely used in the area of pattern recognition.
+
+<P>
+
+<H1><A NAME="SECTION000100000000000000000">
+Customizing the Glossary</A>
+</H1>
+The <TT>glossary</TT><A NAME="2475"></A> package provides commands which can be redefined to customize the
+glossary. The following name commands are defined by this package:
+<DIV ALIGN="CENTER">
+<TABLE CELLPADDING=3>
+<TR><TH ALIGN="LEFT"><B>Command </B></TH>
+<TH ALIGN="LEFT"><B>Default Value</B></TH>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>&#92;glossaryname</TT></TD>
+<TD ALIGN="LEFT">Glossary</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>&#92;shortglossaryname</TT></TD>
+<TD ALIGN="LEFT"><TT>&#92;glossaryname</TT></TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>&#92;entryname</TT></TD>
+<TD ALIGN="LEFT">Notation</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT>&#92;descriptionname</TT></TD>
+<TD ALIGN="LEFT">Description</TD>
+</TR>
+</TABLE>
+</DIV>
+The command <TT>&#92;shortglossaryname</TT> is used for the
+page headers and table of contents entry.
+ Any text required before or after the glossary can be added
+by redefining the commands <TT>&#92;glossarypreamble</TT>
+and <TT>&#92;glossarypostamble</TT>.
+For example.
+<PRE>
+\renewcommand{\glossarypreamble}{Page numbers in
+italic indicate the main definition\par}
+</PRE>
+By default, <TT>&#92;glossarypreamble</TT> and <TT>&#92;glossarypostamble</TT> do nothing.
+
+<P>
+The command <TT>&#92;setglossary</TT><code>{</code><I>key-val list</I><code>}</code>
+can be used to modify some of the glossary settings. The argument
+<I>key-val list</I> is a comma-separated list of
+<I>key</I>=<I>value</I> pairs. Available keys are:
+<DL>
+<DT><STRONG><TT>type</TT><A NAME="2500"></A></STRONG></DT>
+<DD>This is the glossary type.
+If it is omitted, the standard glossary is assumed.
+
+<P>
+</DD>
+<DT><STRONG><TT>glsnumformat</TT><A NAME="2504"></A></STRONG></DT>
+<DD>This is the name of the command,
+<I>without</I> the preceding backslash<A NAME="tex2html4"
+ HREF="#foot1416"><SUP>3</SUP></A>, to format the
+entry numbers. For example, to make all the entry numbers italic,
+do:
+<PRE>
+\setglossary{glsnumformat=textit}
+</PRE>
+To suppress numbering altogether, you can do:
+<PRE>
+\setglossary{glsnumformat=ignore}
+</PRE>
+
+<P>
+</DD>
+<DT><STRONG><TT>glodelim</TT><A NAME="2510"></A></STRONG></DT>
+<DD>This
+specifies what to do after the entry description and
+before the page numbers. The default value is a comma, unless the <TT>cols=3</TT><A NAME="2521"></A> option is specified,
+in which case it has the value <code>&amp;</code>, or if
+<TT>style=altlist</TT><A NAME="2530"></A>,
+in which case it is simply a space<A NAME="tex2html5"
+ HREF="#foot1417"><SUP>4</SUP></A>. If the package option <TT>number=none</TT><A NAME="2539"></A> is
+specified, <TT>glodelim</TT><A NAME="2541"></A> will have an empty value (unless
+<TT>cols=3</TT><A NAME="2552"></A> is specified,
+where, again, it will have the value <code>&amp;</code>.)
+This setting corresponds to the <TT>delim_0</TT><A NAME="2554"></A> key in the
+<TT>makeindex</TT><A NAME="2556"></A> style file.
+
+<P>
+</DD>
+<DT><STRONG><TT>delimN</TT><A NAME="2559"></A></STRONG></DT>
+<DD>
+The delimiter to be inserted between two
+page numbers for the same entry. (This corresponds to the
+<TT>delim_n</TT><A NAME="2563"></A> key in the <TT>makeindex</TT><A NAME="2565"></A> style file.)
+By default, this has the value
+<TT>,_</TT> (comma followed by a space). If the
+package option <TT>number=none</TT><A NAME="2575"></A> is chosen, the value is set
+to empty.
+
+<P>
+</DD>
+<DT><STRONG><TT>delimR</TT><A NAME="2577"></A></STRONG></DT>
+<DD>
+The delimiter to be inserted between the starting and ending page
+number range for the same entry. (This corresponds to the
+<TT>delim_r</TT><A NAME="2581"></A> key in the <TT>makeindex</TT><A NAME="2583"></A> style file.)
+By default, this has the value <code>--</code>. If the
+package option <TT>number=none</TT><A NAME="2593"></A> is chosen, the value is set
+to empty.
+
+<P>
+</DD>
+</DL>
+Note that:
+<PRE>
+\setglossary{glsnumformat=ignore}
+</PRE>
+is equivalent to
+<PRE>
+\setglossary{glsnumformat=ignore,delimN={},delimR={}}
+</PRE>
+
+<P>
+The number associated with each entry is, by default, the page number where
+ that entry was defined. If the package option
+<TT>number=section</TT><A NAME="2602"></A> has been chosen, this
+ will be the section number instead. You can choose a different counter
+ by changing the value of the command <TT>&#92;theglossarynum</TT>.
+For example, suppose you have the following code:
+<PRE>
+\begin{equation}
+\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+</PRE>
+and you want the glossary to refer to the equation number, instead of the
+page or section number, this can be done by redefining <TT>&#92;theglossarynum</TT>
+as follows:
+<PRE>
+\renewcommand{\theglossarynum}{\theequation}
+</PRE>
+If the equation number depends on another counter (such as
+<TT>chapter</TT>)
+you will need to specify that the number is in the form <I>NUM</I>.<I>num</I>
+ (e.g. 3.24). This can be done by redefining the <TT>&#92;pagecompositor</TT> command:
+<PRE>
+\renewcommand{\pagecompositor}{.}
+</PRE>
+(By default this value is <TT>-</TT>, unless the package option
+<TT>number=section</TT><A NAME="2617"></A> has
+been chosen, in which case this command has the value <TT>.</TT>
+(full stop), as in the example above).
+The <TT>&#92;pagecompositor</TT> command must be
+redefined before <TT>&#92;makeglossary</TT><A NAME="2621"></A> for it to have any effect.
+If the package option <TT>number=none</TT><A NAME="2633"></A> is used,
+the numbering will be suppressed, regardless
+of the value of <TT>&#92;theglossarynum</TT><A NAME="2635"></A>.
+This command corresponds to the <TT>page_compositor</TT><A NAME="2640"></A> key
+in the <TT>makeindex</TT><A NAME="2642"></A> style file.
+
+<P>
+The start and end of the main body of the glossary is given by the commands:
+<TT>&#92;beforeglossary</TT> and
+<TT>&#92;afterglossary</TT>.
+If the <TT>style=list</TT><A NAME="2656"></A>
+or <TT>style=altlist</TT><A NAME="2665"></A>
+package options are chosen these commands simply begin and end
+the <TT>description</TT>
+environment, otherwise these commands begin and end the
+<TT>longtable</TT> or
+<TT>supertabular</TT>
+environment with argument specified by
+<TT>&#92;glossaryalignment</TT>.
+
+<P>
+The above conflicts with the <TT>array</TT><A NAME="2672"></A> package, so as
+from version 2.1, if the <TT>array</TT><A NAME="2675"></A> package has been
+loaded <I>prior</I> to loading the <TT>glossary</TT><A NAME="2678"></A> package,
+the new column type <TT>G</TT> will be defined and used
+instead of <TT>&#92;glossaryalignment</TT>.
+
+<P>
+The command <TT>&#92;gloitem</TT> indicates
+what to do at the start of each glossary entry.
+This command takes one argument, which will be the text specified by the <TT>name</TT><A NAME="2685"></A> key
+in the <TT>&#92;glossary</TT><A NAME="2689"></A> command. In the case of the
+<TT>style=list</TT><A NAME="2701"></A> option,
+<TT>&#92;gloitem</TT><code>{</code><I>text</I><code>}</code>
+will do
+<BR>
+<BR><code>\item[</code><I>text</I><code>]</code>
+<BR>
+<BR>
+or if <TT>style=altlist</TT><A NAME="2712"></A>:
+<BR>
+<BR><code>\item[</code><I>text</I><code>]\mbox{}\par</code>
+<BR>
+<BR>
+otherwise it will do
+<BR>
+<BR><I>text</I><code> &amp;</code>
+<BR>
+<BR>
+if it's the first
+item of the page or
+<BR>
+<BR><code>\\ </code><I>text</I><code> &amp;</code>
+<BR>
+<BR>
+otherwise.
+This command corresponds to the <TT>item_0</TT><A NAME="2714"></A> key in the
+<TT>makeindex</TT><A NAME="2716"></A> style file.
+
+<P>
+The command <TT>&#92;gloskip</TT> specifies what to do between groups.
+If <TT>style=list</TT><A NAME="2728"></A> or <TT>style=altlist</TT><A NAME="2737"></A> this has the
+value <TT>&#92;indexspace</TT>, otherwise it creates a blank line
+ in the <TT>longtable</TT> or <TT>supertabular</TT> environment.
+This command corresponds to the <TT>group_skip</TT><A NAME="2743"></A> key in
+the <TT>makeindex</TT><A NAME="2745"></A> style file.
+
+<P>
+The command <TT>&#92;glossaryheader</TT> (if <TT>style=long</TT><A NAME="2757"></A> or <TT>style=super</TT><A NAME="2766"></A> is selected)
+indicates what to do at the start of the <TT>longtable</TT> or
+<TT>supertabular</TT> environment. If <TT>border=none</TT><A NAME="2777"></A>, it
+is defined as:
+<PRE>
+\bfseries\entryname &amp; \bfseries \descriptionname\\
+</PRE>
+So, if you want the <TT>&#92;descriptionname</TT><A NAME="2779"></A> to be centred, you could do:
+<PRE>
+\renewcommand{\glossaryheader}{\bfseries\entryname &amp;
+ \hfil\bfseries\descriptionname\\}
+</PRE>
+The command <TT>&#92;glosstail</TT> indicates what to do at the end of
+the <TT>longtable</TT> or <TT>supertabular</TT> environment.
+
+<P>
+The width of the second column for the tabular-type styles is given by the length
+<TT>&#92;descriptionwidth</TT>. This value can be changed using
+the <TT>&#92;setlength</TT> command (the default value is <code>0.6\textwidth</code>).
+
+<P>
+
+<H1><A NAME="SECTION000110000000000000000">
+Sample Documents</A>
+</H1>
+This package comes with the following sample documents:
+
+<UL>
+<LI><TT>sampleSec.tex</TT> -- This document uses the options:
+<TT>style=altlist</TT><A NAME="2799"></A>, <TT>toc</TT><A NAME="2806"></A> and
+<TT>number=section</TT><A NAME="2817"></A>. It also loads the
+<TT>hyperref</TT><A NAME="2819"></A> package before loading the
+<TT>glossary</TT><A NAME="2822"></A> package, so the glossary has hyperlinks
+to the section numbers. Experimenting with different package
+options, will illustrate the different glossary styles.
+You will need to do:
+<PRE>
+pdflatex sampleSec
+makeglos.pl sampleSec
+pdflatex sampleSec
+pdflatex sampleSec
+</PRE>
+If you don't want to use <TT>makeglos.pl</TT><A NAME="2825"></A>, you will need
+to do
+<PRE>
+makeindex -s sampleSec.ist -t sampleSec.glg -o sampleSec.gls sampleSec.glo
+</PRE>
+
+<P>
+</LI>
+<LI><TT>sampleNtn.tex</TT> -- This has a glossary and defines
+a new glossary type called <TT>notation</TT>. The glossary has
+associated page numbers, but the new glossary type doesn't.
+You will need to do:
+<PRE>
+latex sampleNtn
+makeglos.pl sampleNtn
+latex sampleNtn
+latex sampleNtn
+</PRE>
+If you don't want to use <TT>makeglos.pl</TT><A NAME="2828"></A>, you will need
+to do
+<PRE>
+makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo
+makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.ntn sampleNtn.not
+</PRE>
+
+<P>
+</LI>
+<LI><TT>sampleNtn2.tex</TT> --This is similar to
+<TT>sampleNtn.tex</TT>, but uses <TT>&#92;storeglosentry</TT><A NAME="2831"></A>.
+
+<P>
+</LI>
+<LI><TT>sampleEq.tex</TT> -- This has a glossary where the
+numbers in the glossary refer to the equation number rather than
+the page number. The <TT>&#92;pagecompositor</TT><A NAME="2836"></A>,
+<TT>&#92;theglossarynum</TT><A NAME="2841"></A>, <TT>&#92;glossaryname</TT><A NAME="2846"></A> and
+<TT>&#92;glossaryheader</TT><A NAME="2851"></A> are all redefined to customize the
+glossary. You will need to do:
+<PRE>
+latex sampleEq
+makeglos.pl sampleEq
+latex sampleEq
+</PRE>
+If you don't want to use <TT>makeglos.pl</TT><A NAME="2856"></A>, you will need
+to do
+<PRE>
+makeindex -s sampleEq.ist -t sampleEq.glg -o sampleEq.gls sampleEq.glo
+</PRE>
+
+<P>
+</LI>
+<LI><TT>sampleEqPg.tex</TT> -- This is a modified version of
+<TT>sampleEq.tex</TT>. This example has one glossary, where some
+of the entry numbers refer to the corresponding page number, and
+some of the entry numbers refer to the corresponding equation
+number. You will need to do:
+<PRE>
+latex sampleEqPg
+makeglos.pl sampleEqPg
+latex sampleEqPg
+</PRE>
+If you don't want to use <TT>makeglos.pl</TT><A NAME="2859"></A>, you will need
+to do
+<PRE>
+makeindex -s sampleEqPg.ist -t sampleEqPg.glg -o sampleEqPg.gls sampleEqPg.glo
+</PRE>
+
+<P>
+</LI>
+<LI><TT>sampleAcr.tex</TT> -- This has a glossary containing
+acronyms. It uses the style <TT>altlist</TT><A NAME="2862"></A> as this is better
+suited to glossaries with long names. It also uses the
+<TT>hyperref</TT><A NAME="2864"></A> package, so the page numbers in the
+glossary will automatically be hyperlinks, and the acronyms
+within the text will have hyperlinks to their corresponding entry
+in the glossary. You will need to do:
+<PRE>
+pdflatex sampleAcr
+makeglos.pl sampleAcr
+pdflatex sampleAcr
+pdflatex sampleAcr
+</PRE>
+If you don't want to use <TT>makeglos.pl</TT><A NAME="2867"></A>, you will need
+to do
+<PRE>
+makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo
+</PRE>
+
+<P>
+</LI>
+<LI><TT>sample.tex</TT> -- This has a glossary entry
+with two different definitions of the same name.
+If you just use <TT>makeindex</TT><A NAME="2870"></A>, the two entries
+will be treated separately, however, if you want them
+concatenated, you can use <TT>makeglos.pl</TT><A NAME="2873"></A> with
+the <TT>-m</TT> switch. You will need to do:
+<PRE>
+pdflatex sample
+makeglos.pl -m sample
+pdflatex sample
+pdflatex sample
+</PRE>
+(Depending on the configuration of your system, you
+may have to do <TT>perl makeglos.pl</TT> instead of
+just <TT>makeglos.pl</TT><A NAME="2876"></A>)
+
+<P>
+If you don't want to use <TT>makeglos.pl</TT><A NAME="2879"></A>, you will need
+to do
+<PRE>
+makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo
+</PRE>
+however, the entries with the same name but multiple descriptions
+will not be merged.
+
+<P>
+</LI>
+</UL>
+
+<P>
+
+<H1><A NAME="SECTION000120000000000000000"></A>
+<A NAME="sec:l2h"></A>
+<BR>
+LaTeX2HTML Style File
+</H1>
+
+<P>
+A LaTeX2HTML Perl script, <TT>glossary.perl</TT><A NAME="2882"></A>, is
+provided with this package for those wishing to use the
+glossary package with the LaTeX2HTML translator.
+The file <TT>glossary.perl</TT><A NAME="2884"></A> should be extracted
+along with <TT>glossary.sty</TT> when you run the
+installation script (<TT>glossary.ins</TT>) through LaTeX.
+
+<P>
+
+<H2><A NAME="SECTION000121000000000000000">
+Limitations</A>
+</H2>
+
+<P>
+
+<UL>
+<LI>The only package options supported are:
+<TT>style=altlist</TT><A NAME="2893"></A>, <TT>hyper=true</TT><A NAME="2902"></A>, <TT>toc=true</TT><A NAME="2911"></A>,
+<TT>acronym=true</TT><A NAME="2920"></A> and <TT>acronym=false</TT><A NAME="2929"></A>.
+
+<P>
+</LI>
+<LI>If you have more than one glossary type, the
+secondary glossaries will occur in the same segment
+as the primary glossary if you use the command
+<code>\print</code><I>name</I> instead of
+<code>\printglossary[</code><I>name</I><code>]</code>, where
+<I>name</I> is the name of the glossary type.
+
+<P>
+</LI>
+<LI>The command <TT>&#92;setglossary</TT><A NAME="2931"></A> must be
+placed in the preamble to have an effect.
+
+<P>
+</LI>
+<LI>The <TT>&#92;storeglosentry</TT><A NAME="2936"></A> commands must be in
+the document environment to have an effect. (They don't
+seem to work in the preamble, I don't know why.)
+
+<P>
+</LI>
+<LI>If you place a <TT>&#92;glossary</TT><A NAME="2941"></A> command
+inside an environment not translated by LaTeX2HTML
+(for example, inside a mathematics environment),
+it will not be entered into the glossary.
+
+<P>
+</LI>
+<LI>The combinations <code>""</code>, <code>"|</code>, <code>"!</code>
+and <code>"@</code> will be correctly translated, unless they
+occur within a maths environment. This is because
+the maths environment is translated before being
+passed to <TT>&#92;glossary</TT><A NAME="2946"></A>. You can overcome this
+by doing, e.g.:
+<BR><TT>&#92;begin</TT><code>{latexonly}</code>
+<BR><code>\glossary{name=$"|\mathcal{S}"|$,description=cardinality of set</code>
+<BR><code>$\mathcal{S}$,sort=cardinality}</code>
+<BR><TT>&#92;end</TT><code>{latexonly}</code>
+<BR><TT>&#92;begin</TT><code>{htmlonly}</code>
+<BR><code>\glossary{name=$|\mathcal{S}|$,description=cardinality of set</code>
+<BR><code>$\mathcal{S}$,sort=cardinality}</code>
+<BR><TT>&#92;end</TT><code>{htmlonly}</code>
+
+<P>
+Alternative, you can use <TT>&#92;mid</TT> instead:
+<PRE>
+\glossary{name=$\mid\mathcal{S}\mid$,description=cardinality of
+set $\mathcal{S}$,sort=cardinality}
+</PRE>
+
+<P>
+</LI>
+<LI>Glossary items with the same names but different
+definitions will not be merged.
+
+<P>
+</LI>
+<LI>The command <TT>&#92;theglossarynum</TT><A NAME="2961"></A> is ignored
+by LaTeX2HTML, as page numbers have no meaning within
+HTML files.
+
+<P>
+</LI>
+<LI>The configuration file <TT>glossary.cfg</TT> is ignored.
+
+<P>
+</LI>
+</UL>
+
+<P>
+
+<H1><A NAME="SECTION000130000000000000000"></A>
+<A NAME="sec:trouble"></A>
+<BR>
+Troubleshooting
+</H1>
+
+<OL>
+<LI>My glossary hasn't appeared.
+
+<P>
+Check the following:
+
+<UL>
+<LI>Have you included the command <TT>&#92;makeglossary</TT><A NAME="2966"></A>
+in the preamble?
+
+<P>
+</LI>
+<LI>Have you put the command <TT>&#92;printglossary</TT><A NAME="2971"></A> where
+you want the glossary to appear?
+
+<P>
+</LI>
+<LI>Have you used <TT>makeglos.pl</TT><A NAME="2976"></A> or <TT>makeindex</TT><A NAME="2979"></A>,
+and if you did, did it successfully create the <TT>gls</TT><A NAME="2982"></A>
+file? (Check the transcript <TT>glg</TT><A NAME="2984"></A> file.)
+
+<P>
+
+<UL>
+<LI>If you used <TT>makeindex</TT><A NAME="2986"></A> directly, did you specify
+the <TT>ist</TT><A NAME="2989"></A> file created by <TT>&#92;makeglossary</TT><A NAME="2991"></A>,
+and did you remember to specify the output file with the extension
+<TT>gls</TT><A NAME="2996"></A>?
+
+<P>
+</LI>
+<LI>When <TT>makeindex</TT><A NAME="2998"></A> scans the <TT>ist</TT><A NAME="3001"></A> file,
+it should generate the message:
+<PRE>
+9 attributes redefined, 0 ignored
+</PRE>
+If you have a number other than 0 ignored, then there is something
+wrong with the <TT>ist</TT><A NAME="3003"></A> file. Some packages can cause
+problems with the creation of this file, see
+item&nbsp;<A HREF="#itm:ngerman">15</A> below.
+</LI>
+</UL>
+
+<P>
+</LI>
+<LI>Have you remembered to LaTeX your document again
+after using <TT>makeglos.pl</TT><A NAME="3005"></A> or <TT>makeindex</TT><A NAME="3008"></A>?
+
+<P>
+</LI>
+<LI>Have you used <TT>&#92;glossary</TT><A NAME="3011"></A> or <TT>&#92;xglossary</TT><A NAME="3016"></A>?
+
+<P>
+</LI>
+<LI>If you have used <TT>&#92;storeglosentry</TT><A NAME="3021"></A>, have you also
+used <TT>&#92;useglosentry</TT><A NAME="3026"></A>, <TT>&#92;useGlosentry</TT><A NAME="3031"></A> or
+<TT>&#92;gls</TT><A NAME="3036"></A>?
+</LI>
+</UL>
+
+<P>
+If you have defined a new glossary type, have you checked
+all the analogous commands to the above?
+
+<P>
+</LI>
+<LI>My list of acronyms hasn't appeared.
+
+<P>
+Have you used the <TT>acronym=true</TT><A NAME="3048"></A> package option? If no,
+check the answers to the previous item, if yes, make sure
+you have used <TT>&#92;makeacronym</TT><A NAME="3050"></A> and <TT>&#92;printacronym</TT><A NAME="3055"></A>.
+Have you used any of the acronyms you have defined? Remember
+that <TT>&#92;acrsh</TT>, <TT>&#92;acrln</TT>,
+<TT>&#92;</TT><I>acr-name</I><TT>short</TT> and
+<TT>&#92;</TT><I>acr-name</I><TT>long</TT> don't generate entries
+in the list of acronyms, where <TT>&#92;</TT><I>acr-name</I> is the
+name of an acronym command.
+
+<P>
+</LI>
+<LI>I get an error when using the command
+<TT>&#92;saveglosentry</TT><A NAME="3070"></A>.
+
+<P>
+Don't use this command it's obsolete, use
+<TT>&#92;storeglosentry</TT><A NAME="3075"></A> instead.
+
+<P>
+</LI>
+<LI>One of more of my glossary entries hasn't appeared.
+
+<P>
+Check the following
+
+<UL>
+<LI>If you defined the entry using <TT>&#92;storeglosentry</TT><A NAME="3080"></A>
+have you used either <TT>&#92;useglosentry</TT><A NAME="3085"></A>,
+<TT>&#92;useGlosentry</TT><A NAME="3090"></A> or <TT>&#92;gls</TT><A NAME="3095"></A>?
+
+<P>
+</LI>
+<LI>Have you remembered to <TT>&#92;protect</TT><A NAME="3100"></A> commands
+such as <TT>&#92;mathcal</TT> within <TT>&#92;storeglosentry</TT><A NAME="3107"></A>?
+
+<P>
+</LI>
+<LI>Have you used the characters <TT>@</TT> <TT>!</TT>
+<TT>|</TT> <code>"</code>? If so, have you preceded them
+with a double quote character?
+</LI>
+</UL>
+
+<P>
+Check the <TT>makeindex</TT><A NAME="3112"></A> log file to see if there are
+any error messages.
+
+<P>
+</LI>
+<LI>My glossary has duplicate entries on separate lines.
+
+<P>
+LaTeX treats multiple spaces equivalent to a single space, but <TT>makeindex</TT><A NAME="3115"></A>
+takes spaces into account when determining whether two entries are identical.
+For example:
+<PRE>
+\glossary{name=Identity matrix,
+description=diagonal matrix with 1's along the diagonal}
+</PRE>
+and
+<PRE>
+\glossary{name=Identity matrix,
+description=diagonal matrix with 1's along the diagonal}
+</PRE>
+will be treated as different entries by <TT>makeindex</TT><A NAME="3118"></A>,
+because the first has only one space
+between `Identity' and `matrix' and the second has two.
+The easiest way to ensure consistency is to use
+<TT>&#92;storeglosentry</TT><A NAME="3121"></A> together with <TT>&#92;useglosentry</TT><A NAME="3126"></A>,
+<TT>&#92;useGlosentry</TT><A NAME="3131"></A> or <TT>&#92;gls</TT><A NAME="3136"></A>.
+
+<P>
+</LI>
+<LI>I had an error, fixed it, but I keep getting the same error message.
+
+<P>
+Suppose you've made an error in the <TT>&#92;glossary</TT><A NAME="3141"></A> command. For example:
+<PRE>
+\glossary{name=Java,description=A programming language,format=texbf}
+</PRE>
+In this case <TT>textbf</TT> has been mis-spelt. This error will be copied to the <TT>glo</TT><A NAME="3146"></A> file,
+which in turn will be copied to the <TT>gls</TT><A NAME="3148"></A> file by
+<TT>makeindex</TT><A NAME="3150"></A>. A subsequent run of LaTeX will
+read this error in. If you fix the error in your main document, the error will still be read in from
+the <TT>gls</TT><A NAME="3153"></A> file. The best thing to do is to delete the
+<TT>gls</TT><A NAME="3155"></A> file, and try again.
+
+<P>
+</LI>
+<LI>My glossary has ended up wider than my page.
+
+<P>
+This may occur if you have long entry names, and you are using
+either the <TT>style=long</TT><A NAME="3164"></A> or <TT>style=super</TT><A NAME="3173"></A>
+options. The width of the description column is proportional to
+the text width (in fact, it's <code>0.6\textwidth</code>)
+but the first column is as wide as the widest entry name. You
+can either redefine <TT>&#92;glossaryalignment</TT><A NAME="3175"></A> to change the
+column specifications, or use one of the list-type styles.
+
+<P>
+</LI>
+<LI>The page numbers in my glossary don't match up with the actual page numbers where the entry
+was defined.
+
+<P>
+You may need to LaTeX your document again (just as you have to do with <TT>&#92;tableofcontents</TT>, <TT>&#92;listoffigures</TT> etc).
+
+<P>
+</LI>
+<LI>I'm getting a <TT>keyval</TT><A NAME="3184"></A> error.
+
+<P>
+The <TT>glossary</TT><A NAME="3187"></A> package uses the <TT>keyval</TT><A NAME="3190"></A>
+package to extract the information from <I>key</I>=<I>value</I>
+comma separated lists. You need to make sure the syntax is correct. If your <I>value</I> contains a
+comma, you will need to enclose <I>value</I> in curly braces. See the <TT>keyval</TT><A NAME="3193"></A> documentation for
+further information<A NAME="tex2html6"
+ HREF="#foot1419"><SUP>5</SUP></A>.
+
+<P>
+</LI>
+<LI>I've used the <TT>hyper</TT><A NAME="3201"></A> option, but nothing happens
+when I click on the numbers in the glossary.
+
+<P>
+Check the following:
+
+<OL>
+<LI>Have you remembered to use PDFLaTeX instead of LaTeX,
+or used a driver that understands hyperlinks?
+</LI>
+<LI>Have you remembered to use the <TT>hyperref</TT><A NAME="3205"></A> or
+<TT>html</TT><A NAME="3208"></A> package?
+</LI>
+<LI>Have you remembered to use a formatting command which uses <TT>&#92;hyperlink</TT>? (E.g. using <TT>hyperbf</TT><A NAME="3213"></A><A NAME="3214"></A> instead
+of <TT>textbf</TT>)? Remember to check the <TT>format</TT><A NAME="3218"></A> key
+in your <TT>&#92;glossary</TT><A NAME="3222"></A> commands, and the
+<TT>glsnumformat</TT><A NAME="3227"></A> key in the <TT>&#92;setglossary</TT><A NAME="3231"></A>
+command.
+</LI>
+<LI>What application are you using to view the PDF file?
+Ghostview can display a PDF file, but ignores the links. If you are using Windows, try
+using Adobe's Acrobat Reader, or if you are using UNIX or Linux, try using <TT>xpdf</TT><A NAME="3236"></A> or <TT>acroread</TT><A NAME="3239"></A>.
+</LI>
+</OL>
+
+<P>
+</LI>
+<LI>The <TT>glossary</TT><A NAME="3242"></A> package conflicts with the
+<TT>datetime</TT><A NAME="3245"></A> package.
+
+<P>
+This has been fixed in version 2.01.
+
+<P>
+</LI>
+<LI>I get an error when using certain commands, such as <TT>&#92;cite</TT> or <code>~</code> in <TT>&#92;newacronym</TT><A NAME="3250"></A>.
+
+<P>
+This has been fixed in version 2.1.
+
+<P>
+</LI>
+<LI>I get the following error:
+<PRE>
+! Package array Error: Illegal pream-token (\glossaryalignment): `c' used.
+</PRE>
+
+<P>
+The <TT>glossary</TT><A NAME="3255"></A> package used to conflict with the
+<TT>array</TT><A NAME="3258"></A> package. This was fixed in version 2.1,
+however, you must load the <TT>array</TT><A NAME="3261"></A> package
+<I>prior</I> to loading the <TT>glossary</TT><A NAME="3264"></A> package.
+
+<P>
+</LI>
+<LI><A NAME="itm:fragile"></A> I get the following error:
+<PRE>
+Use of \@chapter doesn't match its definition
+</PRE>
+or
+<PRE>
+! Argument of \@sect has an extra }
+</PRE>
+
+<P>
+If you want to use an acronym command in a moving argument (such as a chapter heading)
+you need to <TT>&#92;protect</TT> it first. Note that if you do put an acronym in a chapter etc
+heading, it will be expanded for the first time in the table of contents, not
+in the chapter heading. The best way to get around this is to use the
+optional argument, e.g.
+<PRE>
+\chapter[Introduction to Kernel Support Vector Machines]{Introduction
+to \protect\KSVM}
+</PRE>
+You will also need to do this if you are using bookmarks in a PDF document.
+
+<P>
+Alternatively, you can do:
+<PRE>
+\resetacronym{KSVM}
+\chapter{Introduction to \protect\KSVM}
+</PRE>
+or if you are using PDFLaTeX:
+<PRE>
+\resetacronym{KSVM}
+\chapter{Introduction to \texorpdfstring{\protect\KSVM}{KSVM}}
+</PRE>
+
+<P>
+</LI>
+<LI><A NAME="itm:ngerman"></A> The <TT>glossary</TT><A NAME="3269"></A> package conflicts with
+<TT>ngerman</TT><A NAME="3272"></A>.
+
+<P>
+This problem is caused by the fact that <TT>ngerman</TT><A NAME="3275"></A>
+redefines the effect of the double quote
+character, but this character is used in the creation of the
+<TT>ist</TT><A NAME="3278"></A> <TT>makeindex</TT><A NAME="3280"></A> style file.
+Try one of the following methods:
+
+<OL>
+<LI>Include the <TT>ngerman</TT><A NAME="3283"></A> package after the
+<TT>&#92;makeglossary</TT><A NAME="3286"></A> command:
+<PRE>
+\usepackage{glossary}
+\makeglossary
+\usepackage{ngerman}
+</PRE>
+
+<P>
+</LI>
+<LI>First omit the <TT>ngerman</TT><A NAME="3291"></A> package and include
+<TT>&#92;makeglossary</TT><A NAME="3294"></A> then LaTeX your document.
+This will create the <TT>ist</TT><A NAME="3299"></A> file. Then include the
+<TT>ngerman</TT><A NAME="3301"></A> package, and insert <TT>&#92;noist</TT><A NAME="3304"></A> before
+the <TT>&#92;makeglossary</TT><A NAME="3309"></A> command, this will prevent further attempts to generate the <TT>ist</TT><A NAME="3314"></A> file.
+<PRE>
+\usepackage{ngerman}
+\usepackage{glossary}
+\noist\makeglossary
+</PRE>
+
+<P>
+</LI>
+<LI>Use <TT>&#92;noist</TT><A NAME="3316"></A>, as above, and create the
+<TT>ist</TT><A NAME="3321"></A> file
+in an ordinary text editor. The file should contain the
+following lines:
+<PRE>
+keyword "\\glossaryentry"
+preamble "\\begin{theglossary}"
+postamble "\n\\end{theglossary}\n"
+group_skip "\\gloskip "
+item_0 "\n\\gloitem "
+delim_0 "\n\\glodelim "
+page_compositor "-"
+delim_n "\\delimN "
+delim_r "\\delimR "
+</PRE>
+</LI>
+</OL>
+It is possible that there may be other packages which will
+also cause a problem, if so, try any of the above.
+
+<P>
+</LI>
+<LI><TT>makeglos.pl</TT><A NAME="3323"></A> gives the following error message:
+<PRE>
+unable to extract name from glossary item:
+</PRE>
+
+<P>
+You are using an old version of <TT>makeglos.pl</TT><A NAME="3326"></A> with a
+new version of the <TT>glossary</TT><A NAME="3329"></A> package. You will need
+to update your version <TT>makeglos.pl</TT><A NAME="3332"></A>.
+</LI>
+</OL>
+Let me know if you encounter any other problems or if you have any comments regarding this package.
+
+<P>
+
+<H1><A NAME="SECTION000140000000000000000">
+Obsolete Commands</A>
+</H1>
+
+<P>
+The commands described in this section are now obsolete, but
+are currently still provided for backwards compatibility. Their
+use is deprecated.
+
+<P>
+
+<TT>&#92;saveglosentry</TT><A NAME="3335"></A>{ <I>name</I>}{<I>description</I>}
+<BR>
+This command has now been replaced by <TT>&#92;storeglosentry</TT>.
+
+<P>
+The command <TT>&#92;glsprimaryfmt</TT> is no longer used in <TT>&#92;newacronym</TT><A NAME="3344"></A> as you can end up with duplicate
+page numbers, however the command is currently still defined (although it
+ may be removed in future versions.)
+
+<P>
+The package option <TT>hyperacronym</TT><A NAME="3354"></A> is now superseded by the package option
+<TT>hyper</TT><A NAME="3363"></A>. This option was implemented prior to the
+introduction of the command <TT>&#92;xglossary</TT><A NAME="3367"></A>. Since the
+acronyms now use <TT>&#92;xglossary</TT><A NAME="3372"></A>, there is no difference
+between the <TT>hyperacronym</TT><A NAME="3382"></A> and <TT>hyper</TT><A NAME="3391"></A> options.
+This option has a boolean value:
+
+<DL>
+<DT><STRONG><TT>true</TT><A NAME="3395"></A></STRONG></DT>
+<DD>Make acronyms link to their corresponding entry in the glossary
+</DD>
+<DT><STRONG><TT>false</TT><A NAME="3397"></A></STRONG></DT>
+<DD>Acronyms don't have a hyperlink.
+</DD>
+</DL>
+If the <TT>hyperref</TT><A NAME="3399"></A> package has been loaded prior to
+loading <TT>glossary.sty</TT> or if <TT>hyper=true</TT><A NAME="3409"></A> is set,
+<TT>hyperacronym=true</TT><A NAME="3418"></A> otherwise
+<TT>hyperacronym=false</TT><A NAME="3427"></A>.
+<P>
+
+<H1><A NAME="SECTION000150000000000000000">
+Contact Details</A>
+</H1>
+
+Dr Nicola Talbot
+<BR>
+School of Computing Sciences
+<BR>
+University of East Anglia
+<BR>
+Norwich. Norfolk
+<BR>
+NR4 7TJ. United Kingdom.
+<BR><TT><A NAME="tex2html7"
+ HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT>
+<P>
+
+<H1><A NAME="SECTION000160000000000000000">
+Acknowledgements</A>
+</H1>
+
+<P>
+I would like to thank the following people for their
+suggestions:
+Jens&nbsp;Happe,
+Dmitry&nbsp;Katsubo,
+Markus&nbsp;Lazanowski,
+Slava&nbsp;Pestov and
+Dario&nbsp;Teixeira
+
+<P>
+
+<P>
+<BR>
+
+<H2><A NAME="SECTION000170000000000000000">
+Index</A>
+</H2><DL COMPACT>
+<DT><STRONG><TT>acroread</TT></STRONG>
+<DD><A HREF="manual.html#3239">Troubleshooting</A>
+<DT><STRONG><TT>array</TT></STRONG>
+<DD><A HREF="manual.html#2672">Customizing the Glossary</A>
+ | <A HREF="manual.html#2675">Customizing the Glossary</A>
+ | <A HREF="manual.html#3258">Troubleshooting</A>
+ | <A HREF="manual.html#3261">Troubleshooting</A>
+<DT><STRONG><TT>datetime</TT></STRONG>
+<DD><A HREF="manual.html#3245">Troubleshooting</A>
+<DT><STRONG><TT>&#92;descriptionname</TT></STRONG>
+<DD><A HREF="manual.html#2779">Customizing the Glossary</A>
+<DT><STRONG>file types</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>acr</STRONG>
+<DD><A HREF="manual.html#2363">Acronyms</A>
+<DT><STRONG>cfg</STRONG>
+<DD><A HREF="manual.html#2023">Package Options</A>
+<DT><STRONG>glg</STRONG>
+<DD><A HREF="manual.html#1646">makeglos.pl</A>
+ | <A HREF="manual.html#2255">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2984">Troubleshooting</A>
+<DT><STRONG>glo</STRONG>
+<DD><A HREF="manual.html#1619">makeglos.pl</A>
+ | <A HREF="manual.html#1634">makeglos.pl</A>
+ | <A HREF="manual.html#1654">makeglos.pl</A>
+ | <A HREF="manual.html#1665">makeglos.pl</A>
+ | <A HREF="manual.html#2239">Defining New Glossary Types</A>
+ | <A HREF="manual.html#3146">Troubleshooting</A>
+<DT><STRONG>gls</STRONG>
+<DD><A HREF="manual.html#1644">makeglos.pl</A>
+ | <A HREF="manual.html#1709">Displaying the Glossary</A>
+ | <A HREF="manual.html#2250">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2982">Troubleshooting</A>
+ | <A HREF="manual.html#2996">Troubleshooting</A>
+ | <A HREF="manual.html#3148">Troubleshooting</A>
+ | <A HREF="manual.html#3153">Troubleshooting</A>
+ | <A HREF="manual.html#3155">Troubleshooting</A>
+<DT><STRONG>ist</STRONG>
+<DD><A HREF="manual.html#1629">makeglos.pl</A>
+ | <A HREF="manual.html#1639">makeglos.pl</A>
+ | <A HREF="manual.html#1670">makeglos.pl</A>
+ | <A HREF="manual.html#1677">makeglos.pl</A>
+ | <A HREF="manual.html#1696">makeglos.pl</A>
+ | <A HREF="manual.html#2989">Troubleshooting</A>
+ | <A HREF="manual.html#3001">Troubleshooting</A>
+ | <A HREF="manual.html#3003">Troubleshooting</A>
+ | <A HREF="manual.html#3278">Troubleshooting</A>
+ | <A HREF="manual.html#3299">Troubleshooting</A>
+ | <A HREF="manual.html#3314">Troubleshooting</A>
+ | <A HREF="manual.html#3321">Troubleshooting</A>
+<DT><STRONG>perl</STRONG>
+<DD><A HREF="manual.html#2882">LaTeX2HTML Style File</A>
+ | <A HREF="manual.html#2884">LaTeX2HTML Style File</A>
+</DL>
+<DT><STRONG><TT>&#92;glolong</TT></STRONG>
+<DD><A HREF="manual.html#2386">Acronyms</A>
+<DT><STRONG><TT>&#92;gloshort</TT></STRONG>
+<DD><A HREF="manual.html#2391">Acronyms</A>
+<DT><STRONG><TT>glossary</TT></STRONG>
+<DD><A HREF="manual.html#1481">Introduction</A>
+ | <A HREF="manual.html#1584">Generating Glossary Information</A>
+ | <A HREF="manual.html#2027">Package Options</A>
+ | <A HREF="manual.html#2030">Examples</A>
+ | <A HREF="manual.html#2210">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2287">Acronyms</A>
+ | <A HREF="manual.html#2292">Acronyms</A>
+ | <A HREF="manual.html#2440">Acronyms</A>
+ | <A HREF="manual.html#2475">Customizing the Glossary</A>
+ | <A HREF="manual.html#2678">Customizing the Glossary</A>
+ | <A HREF="manual.html#2689">Customizing the Glossary</A>
+ | <A HREF="manual.html#2822">Sample Documents</A>
+ | <A HREF="manual.html#2941">Limitations</A>
+ | <A HREF="manual.html#2946">Limitations</A>
+ | <A HREF="manual.html#3011">Troubleshooting</A>
+ | <A HREF="manual.html#3141">Troubleshooting</A>
+ | <A HREF="manual.html#3187">Troubleshooting</A>
+ | <A HREF="manual.html#3222">Troubleshooting</A>
+ | <A HREF="manual.html#3242">Troubleshooting</A>
+ | <A HREF="manual.html#3255">Troubleshooting</A>
+ | <A HREF="manual.html#3264">Troubleshooting</A>
+ | <A HREF="manual.html#3269">Troubleshooting</A>
+ | <A HREF="manual.html#3329">Troubleshooting</A>
+<DT><STRONG>glossary border</STRONG>
+<DD><i>see </i> package options, border
+<DT><STRONG>glossary columns</STRONG>
+<DD><i>see </i> package options, cols
+<DT><STRONG>glossary header</STRONG>
+<DD><i>see </i> package options, header
+<DT><STRONG><TT>&#92;glossary</TT> keys</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>description</STRONG>
+<DD><A HREF="manual.html#1510">Generating Glossary Information</A>
+ | <A HREF="manual.html#1607">Storing Glossary Information</A>
+<DT><STRONG>format</STRONG>
+<DD><A HREF="manual.html#1518">Generating Glossary Information</A>
+ | <A HREF="manual.html#1522">Generating Glossary Information</A>
+ | <A HREF="manual.html#3218">Troubleshooting</A>
+<DD><DL COMPACT>
+<DT><STRONG>hyperbf</STRONG>
+<DD><A HREF="manual.html#1544">Generating Glossary Information</A>
+ | <A HREF="manual.html#3214">Troubleshooting</A>
+<DT><STRONG>hyperit</STRONG>
+<DD><A HREF="manual.html#1549">Generating Glossary Information</A>
+<DT><STRONG>hyperrm</STRONG>
+<DD><A HREF="manual.html#1529">Generating Glossary Information</A>
+ | <A HREF="manual.html#1563">Generating Glossary Information</A>
+<DT><STRONG>hypersf</STRONG>
+<DD><A HREF="manual.html#1534">Generating Glossary Information</A>
+<DT><STRONG>hypertt</STRONG>
+<DD><A HREF="manual.html#1539">Generating Glossary Information</A>
+</DL>
+<DT><STRONG>name</STRONG>
+<DD><A HREF="manual.html#1506">Generating Glossary Information</A>
+ | <A HREF="manual.html#2306">Acronyms</A>
+ | <A HREF="manual.html#2315">Acronyms</A>
+ | <A HREF="manual.html#2380">Acronyms</A>
+ | <A HREF="manual.html#2685">Customizing the Glossary</A>
+<DT><STRONG>sort</STRONG>
+<DD><A HREF="manual.html#1514">Generating Glossary Information</A>
+ | <A HREF="manual.html#2321">Acronyms</A>
+</DL>
+<DT><STRONG>glossary style</STRONG>
+<DD><i>see </i> package options, style
+<DT><STRONG>glossary.cfg</STRONG>
+<DD><i>see </i> file type, cfg
+<DT><STRONG><TT>&#92;glossaryalignment</TT></STRONG>
+<DD><A HREF="manual.html#3175">Troubleshooting</A>
+<DT><STRONG><TT>&#92;glossaryheader</TT></STRONG>
+<DD><A HREF="manual.html#2851">Sample Documents</A>
+<DT><STRONG><TT>&#92;glossaryname</TT></STRONG>
+<DD><A HREF="manual.html#1715">Displaying the Glossary</A>
+ | <A HREF="manual.html#2280">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2846">Sample Documents</A>
+<DT><STRONG><TT>&#92;gls</TT></STRONG>
+<DD><A HREF="manual.html#3036">Troubleshooting</A>
+ | <A HREF="manual.html#3095">Troubleshooting</A>
+ | <A HREF="manual.html#3136">Troubleshooting</A>
+<DT><STRONG><TT>html</TT></STRONG>
+<DD><A HREF="manual.html#1902">Package Options</A>
+ | <A HREF="manual.html#3208">Troubleshooting</A>
+<DT><STRONG><TT>hyperref</TT></STRONG>
+<DD><A HREF="manual.html#1833">Package Options</A>
+ | <A HREF="manual.html#1899">Package Options</A>
+ | <A HREF="manual.html#2819">Sample Documents</A>
+ | <A HREF="manual.html#2864">Sample Documents</A>
+ | <A HREF="manual.html#3205">Troubleshooting</A>
+ | <A HREF="manual.html#3399">Obsolete Commands</A>
+<DT><STRONG><TT>&#92;hyperrm</TT></STRONG>
+<DD><A HREF="manual.html#1567">Generating Glossary Information</A>
+<DT><STRONG><TT>keyval</TT></STRONG>
+<DD><A HREF="manual.html#3184">Troubleshooting</A>
+ | <A HREF="manual.html#3190">Troubleshooting</A>
+ | <A HREF="manual.html#3193">Troubleshooting</A>
+<DT><STRONG><TT>&#92;makeacronym</TT></STRONG>
+<DD><A HREF="manual.html#2353">Acronyms</A>
+ | <A HREF="manual.html#3050">Troubleshooting</A>
+<DT><STRONG><TT>makeglos.pl</TT></STRONG>
+<DD><A HREF="manual.html#1648">makeglos.pl</A>
+ | <A HREF="manual.html#1656">makeglos.pl</A>
+ | <A HREF="manual.html#1659">makeglos.pl</A>
+ | <A HREF="manual.html#1667">makeglos.pl</A>
+ | <A HREF="manual.html#1674">makeglos.pl</A>
+ | <A HREF="manual.html#2244">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2257">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2263">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2266">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2269">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2368">Acronyms</A>
+ | <A HREF="manual.html#2825">Sample Documents</A>
+ | <A HREF="manual.html#2828">Sample Documents</A>
+ | <A HREF="manual.html#2856">Sample Documents</A>
+ | <A HREF="manual.html#2859">Sample Documents</A>
+ | <A HREF="manual.html#2867">Sample Documents</A>
+ | <A HREF="manual.html#2873">Sample Documents</A>
+ | <A HREF="manual.html#2876">Sample Documents</A>
+ | <A HREF="manual.html#2879">Sample Documents</A>
+ | <A HREF="manual.html#2976">Troubleshooting</A>
+ | <A HREF="manual.html#3005">Troubleshooting</A>
+ | <A HREF="manual.html#3323">Troubleshooting</A>
+ | <A HREF="manual.html#3326">Troubleshooting</A>
+ | <A HREF="manual.html#3332">Troubleshooting</A>
+<DT><STRONG><TT>&#92;makeglossary</TT></STRONG>
+<DD><A HREF="manual.html#1621">makeglos.pl</A>
+ | <A HREF="manual.html#1681">makeglos.pl</A>
+ | <A HREF="manual.html#1691">makeglos.pl</A>
+ | <A HREF="manual.html#1701">makeglos.pl</A>
+ | <A HREF="manual.html#2205">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2621">Customizing the Glossary</A>
+ | <A HREF="manual.html#2966">Troubleshooting</A>
+ | <A HREF="manual.html#2991">Troubleshooting</A>
+ | <A HREF="manual.html#3286">Troubleshooting</A>
+ | <A HREF="manual.html#3294">Troubleshooting</A>
+ | <A HREF="manual.html#3309">Troubleshooting</A>
+<DT><STRONG><TT>makeindex</TT></STRONG>
+<DD><A HREF="manual.html#1484">Installation</A>
+ | <A HREF="manual.html#1490">Installation</A>
+ | <A HREF="manual.html#1493">Installation</A>
+ | <A HREF="manual.html#1626">makeglos.pl</A>
+ | <A HREF="manual.html#1631">makeglos.pl</A>
+ | <A HREF="manual.html#1636">makeglos.pl</A>
+ | <A HREF="manual.html#1641">makeglos.pl</A>
+ | <A HREF="manual.html#1651">makeglos.pl</A>
+ | <A HREF="manual.html#1662">makeglos.pl</A>
+ | <A HREF="manual.html#1706">makeglos.pl</A>
+ | <A HREF="manual.html#1711">Displaying the Glossary</A>
+ | <A HREF="manual.html#2241">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2247">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2252">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2260">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2272">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2365">Acronyms</A>
+ | <A HREF="manual.html#2556">Customizing the Glossary</A>
+ | <A HREF="manual.html#2565">Customizing the Glossary</A>
+ | <A HREF="manual.html#2583">Customizing the Glossary</A>
+ | <A HREF="manual.html#2642">Customizing the Glossary</A>
+ | <A HREF="manual.html#2716">Customizing the Glossary</A>
+ | <A HREF="manual.html#2745">Customizing the Glossary</A>
+ | <A HREF="manual.html#2870">Sample Documents</A>
+ | <A HREF="manual.html#2979">Troubleshooting</A>
+ | <A HREF="manual.html#2986">Troubleshooting</A>
+ | <A HREF="manual.html#2998">Troubleshooting</A>
+ | <A HREF="manual.html#3008">Troubleshooting</A>
+ | <A HREF="manual.html#3112">Troubleshooting</A>
+ | <A HREF="manual.html#3115">Troubleshooting</A>
+ | <A HREF="manual.html#3118">Troubleshooting</A>
+ | <A HREF="manual.html#3150">Troubleshooting</A>
+ | <A HREF="manual.html#3280">Troubleshooting</A>
+<DT><STRONG>makeindex key</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>delim_0</STRONG>
+<DD><A HREF="manual.html#2554">Customizing the Glossary</A>
+<DT><STRONG>delim_n</STRONG>
+<DD><A HREF="manual.html#2563">Customizing the Glossary</A>
+<DT><STRONG>delim_r</STRONG>
+<DD><A HREF="manual.html#2581">Customizing the Glossary</A>
+<DT><STRONG>group_skip</STRONG>
+<DD><A HREF="manual.html#2743">Customizing the Glossary</A>
+<DT><STRONG>item_0</STRONG>
+<DD><A HREF="manual.html#2714">Customizing the Glossary</A>
+<DT><STRONG>page_compositor</STRONG>
+<DD><A HREF="manual.html#2640">Customizing the Glossary</A>
+</DL>
+<DT><STRONG>makeindex style file (.ist)</STRONG>
+<DD><i>see </i> file types, ist
+<DT><STRONG><TT>&#92;newacronym</TT></STRONG>
+<DD><A HREF="manual.html#3250">Troubleshooting</A>
+ | <A HREF="manual.html#3344">Obsolete Commands</A>
+<DT><STRONG><TT>ngerman</TT></STRONG>
+<DD><A HREF="manual.html#1698">makeglos.pl</A>
+ | <A HREF="manual.html#3272">Troubleshooting</A>
+ | <A HREF="manual.html#3275">Troubleshooting</A>
+ | <A HREF="manual.html#3283">Troubleshooting</A>
+ | <A HREF="manual.html#3291">Troubleshooting</A>
+ | <A HREF="manual.html#3301">Troubleshooting</A>
+<DT><STRONG><TT>&#92;nofiles</TT></STRONG>
+<DD><A HREF="manual.html#1686">makeglos.pl</A>
+<DT><STRONG><TT>&#92;noist</TT></STRONG>
+<DD><A HREF="manual.html#3304">Troubleshooting</A>
+ | <A HREF="manual.html#3316">Troubleshooting</A>
+<DT><STRONG>package options</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>acronym</STRONG>
+<DD><A HREF="manual.html#1950">Package Options</A>
+ | <A HREF="manual.html#1952">Package Options</A>
+ | <A HREF="manual.html#2330">Acronyms</A>
+ | <A HREF="manual.html#2332">Acronyms</A>
+ | <A HREF="manual.html#2349">Acronyms</A>
+ | <A HREF="manual.html#2376">Acronyms</A>
+ | <A HREF="manual.html#2918">Limitations</A>
+ | <A HREF="manual.html#2927">Limitations</A>
+ | <A HREF="manual.html#3046">Troubleshooting</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="manual.html#1956">Package Options</A>
+ | <A HREF="manual.html#2929">Limitations</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="manual.html#1954">Package Options</A>
+ | <A HREF="manual.html#2351">Acronyms</A>
+ | <A HREF="manual.html#2378">Acronyms</A>
+ | <A HREF="manual.html#2920">Limitations</A>
+ | <A HREF="manual.html#3048">Troubleshooting</A>
+</DL>
+<DT><STRONG>border</STRONG>
+<DD><A HREF="manual.html#1766">Package Options</A>
+ | <A HREF="manual.html#1768">Package Options</A>
+ | <A HREF="manual.html#1963">Package Options</A>
+ | <A HREF="manual.html#1965">Package Options</A>
+ | <A HREF="manual.html#2091">Examples</A>
+ | <A HREF="manual.html#2127">Examples</A>
+ | <A HREF="manual.html#2154">Examples</A>
+ | <A HREF="manual.html#2181">Examples</A>
+ | <A HREF="manual.html#2775">Customizing the Glossary</A>
+<DD><DL COMPACT>
+<DT><STRONG>none</STRONG>
+<DD><A HREF="manual.html#1770">Package Options</A>
+ | <A HREF="manual.html#2093">Examples</A>
+ | <A HREF="manual.html#2183">Examples</A>
+ | <A HREF="manual.html#2777">Customizing the Glossary</A>
+<DT><STRONG>plain</STRONG>
+<DD><A HREF="manual.html#1772">Package Options</A>
+ | <A HREF="manual.html#2129">Examples</A>
+ | <A HREF="manual.html#2156">Examples</A>
+</DL>
+<DT><STRONG>cols</STRONG>
+<DD><A HREF="manual.html#1779">Package Options</A>
+ | <A HREF="manual.html#1781">Package Options</A>
+ | <A HREF="manual.html#1981">Package Options</A>
+ | <A HREF="manual.html#1983">Package Options</A>
+ | <A HREF="manual.html#2199">Examples</A>
+ | <A HREF="manual.html#2519">Customizing the Glossary</A>
+ | <A HREF="manual.html#2550">Customizing the Glossary</A>
+<DD><DL COMPACT>
+<DT><STRONG>2</STRONG>
+<DD><A HREF="manual.html#1783">Package Options</A>
+<DT><STRONG>3</STRONG>
+<DD><A HREF="manual.html#1785">Package Options</A>
+ | <A HREF="manual.html#2201">Examples</A>
+ | <A HREF="manual.html#2521">Customizing the Glossary</A>
+ | <A HREF="manual.html#2552">Customizing the Glossary</A>
+</DL>
+<DT><STRONG>header</STRONG>
+<DD><A HREF="manual.html#1753">Package Options</A>
+ | <A HREF="manual.html#1755">Package Options</A>
+ | <A HREF="manual.html#1972">Package Options</A>
+ | <A HREF="manual.html#1974">Package Options</A>
+ | <A HREF="manual.html#2100">Examples</A>
+ | <A HREF="manual.html#2136">Examples</A>
+ | <A HREF="manual.html#2163">Examples</A>
+ | <A HREF="manual.html#2190">Examples</A>
+<DD><DL COMPACT>
+<DT><STRONG>none</STRONG>
+<DD><A HREF="manual.html#1757">Package Options</A>
+ | <A HREF="manual.html#2102">Examples</A>
+ | <A HREF="manual.html#2138">Examples</A>
+<DT><STRONG>plain</STRONG>
+<DD><A HREF="manual.html#1759">Package Options</A>
+ | <A HREF="manual.html#2165">Examples</A>
+ | <A HREF="manual.html#2192">Examples</A>
+</DL>
+<DT><STRONG>hyper</STRONG>
+<DD><A HREF="manual.html#1558">Generating Glossary Information</A>
+ | <A HREF="manual.html#1560">Generating Glossary Information</A>
+ | <A HREF="manual.html#1886">Package Options</A>
+ | <A HREF="manual.html#1888">Package Options</A>
+ | <A HREF="manual.html#1910">Package Options</A>
+ | <A HREF="manual.html#1919">Package Options</A>
+ | <A HREF="manual.html#2431">Acronyms</A>
+ | <A HREF="manual.html#2433">Acronyms</A>
+ | <A HREF="manual.html#2900">Limitations</A>
+ | <A HREF="manual.html#3201">Troubleshooting</A>
+ | <A HREF="manual.html#3203">Troubleshooting</A>
+ | <A HREF="manual.html#3363">Obsolete Commands</A>
+ | <A HREF="manual.html#3365">Obsolete Commands</A>
+ | <A HREF="manual.html#3391">Obsolete Commands</A>
+ | <A HREF="manual.html#3393">Obsolete Commands</A>
+ | <A HREF="manual.html#3407">Obsolete Commands</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="manual.html#1897">Package Options</A>
+ | <A HREF="manual.html#1921">Package Options</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="manual.html#1890">Package Options</A>
+ | <A HREF="manual.html#1912">Package Options</A>
+ | <A HREF="manual.html#2902">Limitations</A>
+ | <A HREF="manual.html#3409">Obsolete Commands</A>
+</DL>
+<DT><STRONG>hyperacronym</STRONG>
+<DD><A HREF="manual.html#1928">Package Options</A>
+ | <A HREF="manual.html#1930">Package Options</A>
+ | <A HREF="manual.html#3354">Obsolete Commands</A>
+ | <A HREF="manual.html#3356">Obsolete Commands</A>
+ | <A HREF="manual.html#3382">Obsolete Commands</A>
+ | <A HREF="manual.html#3384">Obsolete Commands</A>
+ | <A HREF="manual.html#3416">Obsolete Commands</A>
+ | <A HREF="manual.html#3425">Obsolete Commands</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="manual.html#3397">Obsolete Commands</A>
+ | <A HREF="manual.html#3427">Obsolete Commands</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="manual.html#3395">Obsolete Commands</A>
+ | <A HREF="manual.html#3418">Obsolete Commands</A>
+</DL>
+<DT><STRONG>hypertoc</STRONG>
+<DD><A HREF="manual.html#1820">Package Options</A>
+ | <A HREF="manual.html#1822">Package Options</A>
+ | <A HREF="manual.html#1841">Package Options</A>
+ | <A HREF="manual.html#1843">Package Options</A>
+ | <A HREF="manual.html#1868">Package Options</A>
+ | <A HREF="manual.html#1877">Package Options</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="manual.html#1879">Package Options</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="manual.html#1870">Package Options</A>
+</DL>
+<DT><STRONG>number</STRONG>
+<DD><A HREF="manual.html#1792">Package Options</A>
+ | <A HREF="manual.html#1794">Package Options</A>
+ | <A HREF="manual.html#2073">Examples</A>
+ | <A HREF="manual.html#2109">Examples</A>
+ | <A HREF="manual.html#2537">Customizing the Glossary</A>
+ | <A HREF="manual.html#2573">Customizing the Glossary</A>
+ | <A HREF="manual.html#2591">Customizing the Glossary</A>
+ | <A HREF="manual.html#2600">Customizing the Glossary</A>
+ | <A HREF="manual.html#2615">Customizing the Glossary</A>
+ | <A HREF="manual.html#2631">Customizing the Glossary</A>
+ | <A HREF="manual.html#2815">Sample Documents</A>
+<DD><DL COMPACT>
+<DT><STRONG>none</STRONG>
+<DD><A HREF="manual.html#1800">Package Options</A>
+ | <A HREF="manual.html#2075">Examples</A>
+ | <A HREF="manual.html#2539">Customizing the Glossary</A>
+ | <A HREF="manual.html#2575">Customizing the Glossary</A>
+ | <A HREF="manual.html#2593">Customizing the Glossary</A>
+ | <A HREF="manual.html#2633">Customizing the Glossary</A>
+<DT><STRONG>page</STRONG>
+<DD><A HREF="manual.html#1796">Package Options</A>
+ | <A HREF="manual.html#2111">Examples</A>
+<DT><STRONG>section</STRONG>
+<DD><A HREF="manual.html#1798">Package Options</A>
+ | <A HREF="manual.html#2602">Customizing the Glossary</A>
+ | <A HREF="manual.html#2617">Customizing the Glossary</A>
+ | <A HREF="manual.html#2817">Sample Documents</A>
+</DL>
+<DT><STRONG>section</STRONG>
+<DD><A HREF="manual.html#1937">Package Options</A>
+ | <A HREF="manual.html#1939">Package Options</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="manual.html#1943">Package Options</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="manual.html#1941">Package Options</A>
+</DL>
+<DT><STRONG>style</STRONG>
+<DD><A HREF="manual.html#1724">Package Options</A>
+ | <A HREF="manual.html#1726">Package Options</A>
+ | <A HREF="manual.html#1738">Package Options</A>
+ | <A HREF="manual.html#1990">Package Options</A>
+ | <A HREF="manual.html#1999">Package Options</A>
+ | <A HREF="manual.html#2046">Examples</A>
+ | <A HREF="manual.html#2055">Examples</A>
+ | <A HREF="manual.html#2064">Examples</A>
+ | <A HREF="manual.html#2082">Examples</A>
+ | <A HREF="manual.html#2118">Examples</A>
+ | <A HREF="manual.html#2145">Examples</A>
+ | <A HREF="manual.html#2172">Examples</A>
+ | <A HREF="manual.html#2528">Customizing the Glossary</A>
+ | <A HREF="manual.html#2654">Customizing the Glossary</A>
+ | <A HREF="manual.html#2663">Customizing the Glossary</A>
+ | <A HREF="manual.html#2699">Customizing the Glossary</A>
+ | <A HREF="manual.html#2710">Customizing the Glossary</A>
+ | <A HREF="manual.html#2726">Customizing the Glossary</A>
+ | <A HREF="manual.html#2735">Customizing the Glossary</A>
+ | <A HREF="manual.html#2755">Customizing the Glossary</A>
+ | <A HREF="manual.html#2764">Customizing the Glossary</A>
+ | <A HREF="manual.html#2797">Sample Documents</A>
+ | <A HREF="manual.html#2891">Limitations</A>
+ | <A HREF="manual.html#3162">Troubleshooting</A>
+ | <A HREF="manual.html#3171">Troubleshooting</A>
+<DD><DL COMPACT>
+<DT><STRONG>altlist</STRONG>
+<DD><A HREF="manual.html#1731">Package Options</A>
+ | <A HREF="manual.html#2001">Package Options</A>
+ | <A HREF="manual.html#2021">Package Options</A>
+ | <A HREF="manual.html#2057">Examples</A>
+ | <A HREF="manual.html#2530">Customizing the Glossary</A>
+ | <A HREF="manual.html#2665">Customizing the Glossary</A>
+ | <A HREF="manual.html#2712">Customizing the Glossary</A>
+ | <A HREF="manual.html#2737">Customizing the Glossary</A>
+ | <A HREF="manual.html#2799">Sample Documents</A>
+ | <A HREF="manual.html#2862">Sample Documents</A>
+ | <A HREF="manual.html#2893">Limitations</A>
+<DT><STRONG>list</STRONG>
+<DD><A HREF="manual.html#1728">Package Options</A>
+ | <A HREF="manual.html#1740">Package Options</A>
+ | <A HREF="manual.html#1992">Package Options</A>
+ | <A HREF="manual.html#2048">Examples</A>
+ | <A HREF="manual.html#2066">Examples</A>
+ | <A HREF="manual.html#2656">Customizing the Glossary</A>
+ | <A HREF="manual.html#2701">Customizing the Glossary</A>
+ | <A HREF="manual.html#2728">Customizing the Glossary</A>
+<DT><STRONG>long</STRONG>
+<DD><A HREF="manual.html#1745">Package Options</A>
+ | <A HREF="manual.html#2084">Examples</A>
+ | <A HREF="manual.html#2120">Examples</A>
+ | <A HREF="manual.html#2147">Examples</A>
+ | <A HREF="manual.html#2174">Examples</A>
+ | <A HREF="manual.html#2757">Customizing the Glossary</A>
+ | <A HREF="manual.html#3164">Troubleshooting</A>
+<DT><STRONG>super</STRONG>
+<DD><A HREF="manual.html#1742">Package Options</A>
+ | <A HREF="manual.html#2766">Customizing the Glossary</A>
+ | <A HREF="manual.html#3173">Troubleshooting</A>
+</DL>
+<DT><STRONG>toc</STRONG>
+<DD><A HREF="manual.html#1807">Package Options</A>
+ | <A HREF="manual.html#1809">Package Options</A>
+ | <A HREF="manual.html#1829">Package Options</A>
+ | <A HREF="manual.html#1831">Package Options</A>
+ | <A HREF="manual.html#1850">Package Options</A>
+ | <A HREF="manual.html#1852">Package Options</A>
+ | <A HREF="manual.html#1859">Package Options</A>
+ | <A HREF="manual.html#2008">Package Options</A>
+ | <A HREF="manual.html#2010">Package Options</A>
+ | <A HREF="manual.html#2017">Package Options</A>
+ | <A HREF="manual.html#2806">Sample Documents</A>
+ | <A HREF="manual.html#2808">Sample Documents</A>
+ | <A HREF="manual.html#2909">Limitations</A>
+<DD><DL COMPACT>
+<DT><STRONG>false</STRONG>
+<DD><A HREF="manual.html#1813">Package Options</A>
+<DT><STRONG>true</STRONG>
+<DD><A HREF="manual.html#1811">Package Options</A>
+ | <A HREF="manual.html#1861">Package Options</A>
+ | <A HREF="manual.html#2019">Package Options</A>
+ | <A HREF="manual.html#2911">Limitations</A>
+</DL>
+</DL>
+<DT><STRONG>page number formats</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>hyperbf</STRONG>
+<DD><A HREF="manual.html#1543">Generating Glossary Information</A>
+ | <A HREF="manual.html#3213">Troubleshooting</A>
+<DT><STRONG>hyperit</STRONG>
+<DD><A HREF="manual.html#1548">Generating Glossary Information</A>
+<DT><STRONG>hyperrm</STRONG>
+<DD><A HREF="manual.html#1528">Generating Glossary Information</A>
+ | <A HREF="manual.html#1562">Generating Glossary Information</A>
+<DT><STRONG>hypersf</STRONG>
+<DD><A HREF="manual.html#1533">Generating Glossary Information</A>
+<DT><STRONG>hypertt</STRONG>
+<DD><A HREF="manual.html#1538">Generating Glossary Information</A>
+</DL>
+<DT><STRONG><TT>&#92;pagecompositor</TT></STRONG>
+<DD><A HREF="manual.html#2836">Sample Documents</A>
+<DT><STRONG><TT>perl</TT></STRONG>
+<DD><A HREF="manual.html#1487">Installation</A>
+<DT><STRONG><TT>&#92;printacronym</TT></STRONG>
+<DD><A HREF="manual.html#2358">Acronyms</A>
+ | <A HREF="manual.html#3055">Troubleshooting</A>
+<DT><STRONG><TT>&#92;printglossary</TT></STRONG>
+<DD><A HREF="manual.html#2220">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2275">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2971">Troubleshooting</A>
+<DT><STRONG><TT>&#92;protect</TT></STRONG>
+<DD><A HREF="manual.html#3100">Troubleshooting</A>
+<DT><STRONG><TT>&#92;saveglosentry</TT></STRONG>
+<DD><A HREF="manual.html#3070">Troubleshooting</A>
+ | <A HREF="manual.html#3335">Obsolete Commands</A>
+<DT><STRONG><TT>&#92;setglossary</TT></STRONG>
+<DD><A HREF="manual.html#2931">Limitations</A>
+ | <A HREF="manual.html#3231">Troubleshooting</A>
+<DT><STRONG><TT>&#92;setglossary</TT> keys</STRONG>
+<DD><DL COMPACT>
+<DT><STRONG>delimN</STRONG>
+<DD><A HREF="manual.html#2559">Customizing the Glossary</A>
+<DT><STRONG>delimR</STRONG>
+<DD><A HREF="manual.html#2577">Customizing the Glossary</A>
+<DT><STRONG>glodelim</STRONG>
+<DD><A HREF="manual.html#2510">Customizing the Glossary</A>
+ | <A HREF="manual.html#2541">Customizing the Glossary</A>
+<DT><STRONG>glsnumformat</STRONG>
+<DD><A HREF="manual.html#2504">Customizing the Glossary</A>
+ | <A HREF="manual.html#3227">Troubleshooting</A>
+<DT><STRONG>type</STRONG>
+<DD><A HREF="manual.html#2500">Customizing the Glossary</A>
+</DL>
+<DT><STRONG><TT>&#92;storeglosentry</TT></STRONG>
+<DD><A HREF="manual.html#2831">Sample Documents</A>
+ | <A HREF="manual.html#2936">Limitations</A>
+ | <A HREF="manual.html#3021">Troubleshooting</A>
+ | <A HREF="manual.html#3075">Troubleshooting</A>
+ | <A HREF="manual.html#3080">Troubleshooting</A>
+ | <A HREF="manual.html#3107">Troubleshooting</A>
+ | <A HREF="manual.html#3121">Troubleshooting</A>
+<DT><STRONG>table of contents, adding to</STRONG>
+<DD><i>see </i> package options, toc
+<DT><STRONG><TT>&#92;theglossarynum</TT></STRONG>
+<DD><A HREF="manual.html#2635">Customizing the Glossary</A>
+ | <A HREF="manual.html#2841">Sample Documents</A>
+ | <A HREF="manual.html#2961">Limitations</A>
+<DT><STRONG><TT>&#92;useacronym</TT></STRONG>
+<DD><A HREF="manual.html#2468">Examples</A>
+<DT><STRONG><TT>&#92;useGlosentry</TT></STRONG>
+<DD><A HREF="manual.html#3026">Troubleshooting</A>
+ | <A HREF="manual.html#3031">Troubleshooting</A>
+ | <A HREF="manual.html#3085">Troubleshooting</A>
+ | <A HREF="manual.html#3090">Troubleshooting</A>
+ | <A HREF="manual.html#3126">Troubleshooting</A>
+ | <A HREF="manual.html#3131">Troubleshooting</A>
+<DT><STRONG><TT>&#92;xacronym</TT></STRONG>
+<DD><A HREF="manual.html#2301">Acronyms</A>
+ | <A HREF="manual.html#2310">Acronyms</A>
+ | <A HREF="manual.html#2334">Acronyms</A>
+<DT><STRONG><TT>&#92;xglossary</TT></STRONG>
+<DD><A HREF="manual.html#1892">Package Options</A>
+ | <A HREF="manual.html#2215">Defining New Glossary Types</A>
+ | <A HREF="manual.html#2339">Acronyms</A>
+ | <A HREF="manual.html#3016">Troubleshooting</A>
+ | <A HREF="manual.html#3367">Obsolete Commands</A>
+ | <A HREF="manual.html#3372">Obsolete Commands</A>
+<DT><STRONG><TT>xpdf</TT></STRONG>
+<DD><A HREF="manual.html#3236">Troubleshooting</A>
+<DT><STRONG><TT>&#92;xspace</TT></STRONG>
+<DD><A HREF="manual.html#2437">Acronyms</A>
+ | <A HREF="manual.html#2443">Acronyms</A>
+
+</DL>
+
+<P>
+<BR><HR><H4>Footnotes</H4>
+<DL>
+<DT><A NAME="foot1364">... <code>/usr/bin/</code></A><A
+ HREF="manual.html#tex2html1"><SUP>1</SUP></A></DT>
+<DD>and you can also remove the <TT>.pl</TT>
+extension which isn't to everyone's liking.
+
+</DD>
+<DT><A NAME="foot1367">... glossary</A><A
+ HREF="manual.html#tex2html2"><SUP>2</SUP></A></DT>
+<DD>This is because the list and number ranges are
+delimited using <TT>&#92;delimR</TT> and <TT>&#92;delimN</TT> instead of
+explicitly using a comma or en-dash.
+
+</DD>
+<DT><A NAME="foot1416">... backslash</A><A
+ HREF="manual.html#tex2html4"><SUP>3</SUP></A></DT>
+<DD>Note, you should
+no longer try redefining the command <TT>&#92;glsnumformat</TT>, as
+this now takes an optional argument, allowing for different
+glossary types
+
+</DD>
+<DT><A NAME="foot1417">... space</A><A
+ HREF="manual.html#tex2html5"><SUP>4</SUP></A></DT>
+<DD>This
+is because the <TT>altlist</TT> style is intended for use with long descriptions that will look better ending with a
+ full stop which the user can add if desired.
+
+</DD>
+<DT><A NAME="foot1419">... information</A><A
+ HREF="manual.html#tex2html6"><SUP>5</SUP></A></DT>
+<DD>This should be in the directory
+<TT>texmf/doc/latex/graphics/</TT>
+
+</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: 2005-09-27
+</ADDRESS>
+</BODY>
+</HTML>
diff --git a/Master/texmf-dist/doc/latex/glossary/sample.tex b/Master/texmf-dist/doc/latex/glossary/sample.tex
new file mode 100644
index 00000000000..9b823a64bfc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sample.tex
@@ -0,0 +1,83 @@
+%%
+%% This is file `sample.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sample.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass[a4paper]{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage{glossary}
+
+\makeglossary
+
+\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 \xglossary{name=glossary,description=1) list of technical
+words}{glossary} is a very useful addition to any
+technical document, although a \xglossary{name=glossary,
+description=2) collection of glosses}{glossary} can
+also simply be a collection of glosses, which is
+another thing entirely.
+
+Once you have run your document through \LaTeX, you
+will then need to run the \texttt{.glo} file through
+\texttt{makeindex}. You will need to set the output
+file so that it creates a \texttt{.gls} file instead
+of an \texttt{.ind} file, and change the name of
+the log file so that it doesn't overwrite the index
+log file (if you have an index for your document).
+Rather than having to remember all the command line
+switches, you can call the \xglossary{name=\texttt{Perl},
+sort=Perl,description=A scripting language}{Perl} script
+\texttt{makeglos.pl} which provides a convenient
+wrapper.
+
+If you have two terms with different meanings in your
+\xglossary{name=glossary,description=1) list of technical
+words}{glossary},
+\texttt{makeindex} will of course treat them as two
+separate entries, however, some people prefer to
+merge them. This can be done using
+\texttt{makeglos.pl}, and passing the option
+\texttt{-m}.
+
+\printglossary
+
+\end{document}
+\endinput
+%%
+%% End of file `sample.tex'.
diff --git a/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex b/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex
new file mode 100644
index 00000000000..4454ae6bf90
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex
@@ -0,0 +1,74 @@
+%%
+%% This is file `sampleAcr.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sampleAcr.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass[a4paper]{report}
+
+\usepackage{xspace}
+\usepackage[colorlinks,plainpages=false]{hyperref}
+\usepackage[style=altlist,toc,number=none]{glossary}
+
+\makeglossary
+
+\renewcommand{\acronymfont}[1]{\textmd{\scshape #1}}
+
+\setacronymnamefmt{\gloshort: \expandafter\MakeUppercase\glolong}
+
+\newacronym{svm}{support vector machine}{description=Statistical pattern recognition technique~\cite{svm}}
+
+\newacronym[ksvm]{k-svm}{kernel support vector machine}{description=Statistical pattern recognition technique using
+the ``kernel trick'' (see also SVM)}
+
+\begin{document}
+\tableofcontents
+\printglossary
+
+\chapter{Support Vector Machines}
+
+The \svm is used widely in the area of pattern recognition.
+\useacronym*[s]{svm} are \ldots
+
+This is the long version: \svmlong or alternatively:
+\acrln*{svm}.
+Abbreviation: \svmshort or \acrsh*{svm}.
+
+\chapter{Kernel Support Vector Machines}
+
+The \ksvm\ is \ifacronymfirstuse{svm}{a}{an} \svm\ that uses the so called ``kernel trick''.
+
+\resetallacronyms
+\useacronym*[s]{ksvm} \ldots
+\svm.
+
+\begin{thebibliography}{1}
+\bibitem{svm} \ldots
+\end{thebibliography}
+
+\end{document}
+\endinput
+%%
+%% End of file `sampleAcr.tex'.
diff --git a/Master/texmf-dist/doc/latex/glossary/sampleEq.tex b/Master/texmf-dist/doc/latex/glossary/sampleEq.tex
new file mode 100644
index 00000000000..375874f06c5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sampleEq.tex
@@ -0,0 +1,228 @@
+%%
+%% This is file `sampleEq.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sampleEq.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass[a4paper,12pt]{report}
+
+\usepackage{amsmath}
+\usepackage[header,border=none,cols=3]{glossary}
+
+\newcommand{\erf}{\operatorname{erf}}
+\newcommand{\erfc}{\operatorname{erfc}}
+
+\renewcommand{\theglossarynum}{\theequation}
+\renewcommand{\pagecompositor}{.}
+
+\renewcommand{\glossaryname}{Index of Special Functions and Notations}
+
+\renewcommand{\glossaryheader}{\bfseries Notation &
+\multicolumn{2}{c}{\bfseries
+\begin{tabular}{c}Name of the Function and\\the number of
+the formula\end{tabular}}\\}
+
+\makeglossary
+
+\begin{document}
+\title{A Sample Document Using glossary.sty}
+\author{Nicola Talbot}
+\maketitle
+
+\begin{abstract}
+This is a sample document illustrating the use of the \textsf{glossary}
+package. The functions here have been taken from ``Tables of
+Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik.
+The glossary is a list of special functions, so
+the equation number has been used rather than the page number. This can be
+done by defining \verb|\theglossarynum| to be \verb|\theequation|.
+The equation numbers are a composite number made up of the chapter number
+and number of equation within the chapter. The two parts of the page
+number are separated by a fullstop. The default compositor is
+a dash \verb|-|, so it needs to be set to a dot by redefining the command
+\verb|\pagecompositor|. (This needs to be done \emph{before} the command
+\verb|\makeglossary|.)
+\end{abstract}
+
+\printglossary
+
+\chapter{Gamma Functions}
+
+\begin{equation}
+\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+
+\begin{equation}
+\Gamma(x+1) = x\Gamma(x)
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+
+\begin{equation}
+\gamma(\alpha, x) = \int_0^x e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+\glossary{name={$\gamma(\alpha,x)$},description=Incomplete gamma function,sort=gamma}
+
+\begin{equation}
+\Gamma(\alpha, x) = \int_x^\infty e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+\glossary{name={$\Gamma(\alpha,x)$},description=Incomplete gamma function,sort=Gamma}
+
+\newpage
+
+\begin{equation}
+\Gamma(\alpha) = \Gamma(\alpha, x) + \gamma(\alpha, x)
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+
+\begin{equation}
+\psi(x) = \frac{d}{dx}\ln\Gamma(x)
+\end{equation}
+\glossary{name=$\psi(x)$,description=Psi function,sort=psi}
+
+\chapter{Error Functions}
+
+\begin{equation}
+\erf(x) = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt
+\end{equation}
+\glossary{name=$\erf(x)$,description=Error function,sort=erf}
+
+\begin{equation}
+\erfc(x) = 1 - \erf(x)
+\end{equation}
+\glossary{name=$\erfc(x)$,description=Complementary error function,sort=erfc}
+
+\chapter{Beta Function}
+
+\begin{equation}
+B(x,y) = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt
+\end{equation}
+\glossary{name={$B(x,y)$},description=Beta function,sort=B}
+Alternatively:
+\begin{equation}
+B(x,y) = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi
+\end{equation}
+\glossary{name={$B(x,y)$},description=Beta function,sort=B}
+
+\begin{equation}
+B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x)
+\end{equation}
+\glossary{name={$B(x,y)$},description=Beta function,sort=B}
+
+\begin{equation}
+B_x(p,q) = \int_0^x t^{p-1}(1-t)^{q-1}\,dt
+\end{equation}
+\glossary{name={$B_x(p,q)$},description=Incomplete beta function,sort=Bx}
+
+\chapter{Polynomials}
+
+\section{Chebyshev's polynomials}
+
+\begin{equation}
+T_n(x) = \cos(n\arccos x)
+\end{equation}
+\glossary{name=$T_n(x)$,description=Chebyshev's polynomials of the first kind,sort=Tn}
+
+\begin{equation}
+U_n(x) = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]}
+\end{equation}
+\glossary{name=$U_n(x)$,description=Chebyshev's polynomials of the second kind,sort=Un}
+
+\section{Hermite polynomials}
+
+\begin{equation}
+H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2})
+\end{equation}
+\glossary{name=$H_n(x)$,description=Hermite polynomials,sort=Hn}
+
+\section{Laguerre polynomials}
+
+\begin{equation}
+L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} \frac{d^n}{dx^n}(e^{-x}x^{n+\alpha})
+\end{equation}
+\glossary{name=$L_n^\alpha(x)$,description=Laguerre polynomials,sort=Lna}
+
+\chapter{Bessel Functions}
+
+Bessel functions $Z_\nu(z)$ are solutions of
+\begin{equation}
+\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} +
+\left(
+1-\frac{\nu^2}{z^2}Z_\nu = 0
+\right)
+\end{equation}
+\glossary{name=$Z_\nu(z)$,description=Bessel functions,sort=Z}
+
+\chapter{Confluent hypergeometric function}
+
+\begin{equation}
+\Phi(\alpha,\gamma;z) = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!}
++ \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}
+\glossary{name={$\Phi(\alpha,\gamma;z)$},description=confluent hypergeometric function,sort=Pagz}
+
+\begin{equation}
+k_\nu(x) = \frac{2}{\pi}\int_0^{\pi/2}\cos(x \tan\theta - \nu\theta)\,d\theta
+\end{equation}
+\glossary{name=$k_\nu(x)$,description=Bateman's function,sort=kv}
+
+\chapter{Parabolic cylinder functions}
+
+\begin{equation}
+D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}}
+\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}
+\glossary{name=$D_p(z)$,description=Parabolic cylinder functions,sort=Dp}
+
+\chapter{Elliptical Integral of the First Kind}
+
+\begin{equation}
+F(\phi, k) = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}}
+\end{equation}
+\glossary{name={$F(\phi,k)$},description=Elliptical integral of the first kind,sort=Fpk}
+
+\chapter{Constants}
+
+\begin{equation}
+C = 0.577\,215\,664\,901\ldots
+\end{equation}
+\glossary{name=$C$,description=Euler's constant,sort=C}
+
+\begin{equation}
+G = 0.915\,965\,594\ldots
+\end{equation}
+\glossary{name=$G$,description=Catalan's constant,sort=G}
+
+\end{document}
+\endinput
+%%
+%% End of file `sampleEq.tex'.
diff --git a/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex b/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex
new file mode 100644
index 00000000000..06eca783988
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex
@@ -0,0 +1,254 @@
+%%
+%% This is file `sampleEqPg.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sampleEqPg.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass[a4paper,12pt]{report}
+
+\usepackage{amsmath}
+\usepackage[header,toc,border=none,cols=3]{glossary}
+
+\newcommand{\erf}{\operatorname{erf}}
+\newcommand{\erfc}{\operatorname{erfc}}
+
+\renewcommand{\theglossarynum}{\theequation}
+\renewcommand{\pagecompositor}{.}
+
+\renewcommand{\glossaryname}{Index of Special Functions and Notations}
+
+\renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number,
+numbers in bold indicate page numbers where the main definition occurs.\par}
+
+\setglossary{glsnumformat=textit}
+
+\renewcommand{\glossaryheader}{\bfseries Notation &
+\multicolumn{2}{c}{\bfseries
+\begin{tabular}{c}Name of the Function and\\the number of
+the formula\end{tabular}}\\}
+
+\renewcommand{\shortglossaryname}{Special Functions}
+
+\makeglossary
+
+\pagestyle{headings}
+
+\begin{document}
+
+\title{Sample Document Using Interchangable Numbering}
+\author{Nicola Talbot}
+\maketitle
+
+\begin{abstract}
+This is a sample document illustrating the use of the \textsf{glossary}
+package. The functions here have been taken from ``Tables of
+Integrals, Series, and Products'' by I.S.~Gradshteyn and I.M~Ryzhik.
+
+The glossary lists both page number and equation numbers. Since the
+equation numbers depend on chapter numbers, the page compositor needs
+to be redefined. (Note that this example will only work where the
+page number and equation number compositor is the same. So it won't work
+if, say, the page numbers are of the form 2-4 and the equation numbers
+are of the form 4.6) As most of the glossary entries should have an italic
+format, it is easiest to set the default format to italic.
+
+\end{abstract}
+
+\tableofcontents
+
+\printglossary
+
+\newcommand{\myglossary}[2]{%
+\renewcommand{\theglossarynum}{#1}\glossary{#2}}
+
+\newcommand{\glossarypage}[1]{%
+\renewcommand{\theglossarynum}{\thepage}\glossary{#1,format=textbf}}
+\newcommand{\glossaryequation}[1]{%
+\renewcommand{\theglossarynum}{\theequation}\glossary{#1}}
+
+\chapter{Gamma Functions}
+
+The gamma function is defined as
+\renewcommand{\theglossarynum}{\thepage}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma,format=textbf}
+\renewcommand{\theglossarynum}{\theequation}
+\begin{equation}
+\Gamma(z) = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+
+\begin{equation}
+\Gamma(x+1) = x\Gamma(x)
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+
+\begin{equation}
+\gamma(\alpha, x) = \int_0^x e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+\glossary{name={$\gamma(\alpha,x)$},description=Incomplete gamma function,sort=gamma}
+
+\begin{equation}
+\Gamma(\alpha, x) = \int_x^\infty e^{-t}t^{\alpha-1}\,dt
+\end{equation}
+\glossary{name={$\Gamma(\alpha,x)$},description=Incomplete gamma function,sort=Gamma}
+
+\newpage
+
+\begin{equation}
+\Gamma(\alpha) = \Gamma(\alpha, x) + \gamma(\alpha, x)
+\end{equation}
+\glossary{name=$\Gamma(z)$,description=Gamma function,sort=Gamma}
+
+\begin{equation}
+\psi(x) = \frac{d}{dx}\ln\Gamma(x)
+\end{equation}
+\glossary{name=$\psi(x)$,description=Psi function,sort=psi}
+
+\chapter{Error Functions}
+
+The error function is defined as:
+\renewcommand{\theglossarynum}{\thepage}
+\glossary{name=$\erf(x)$,description=Error function,sort=erf,format=textbf}
+\renewcommand{\theglossarynum}{\theequation}
+\begin{equation}
+\erf(x) = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt
+\end{equation}
+\glossary{name=$\erf(x)$,description=Error function,sort=erf}
+
+\begin{equation}
+\erfc(x) = 1 - \erf(x)
+\end{equation}
+\glossary{name=$\erfc(x)$,description=Complementary error function,sort=erfc}
+
+\chapter{Beta Function}
+
+\begin{equation}
+B(x,y) = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt
+\end{equation}
+\glossary{name={$B(x,y)$},description=Beta function,sort=B}
+Alternatively:
+\begin{equation}
+B(x,y) = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi
+\end{equation}
+\glossary{name={$B(x,y)$},description=Beta function,sort=B}
+
+\begin{equation}
+B(x,y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x)
+\end{equation}
+\glossary{name={$B(x,y)$},description=Beta function,sort=B}
+
+\begin{equation}
+B_x(p,q) = \int_0^x t^{p-1}(1-t)^{q-1}\,dt
+\end{equation}
+\glossary{name={$B_x(p,q)$},description=Incomplete beta function,sort=Bx}
+
+\chapter{Chebyshev's polynomials}
+
+\begin{equation}
+T_n(x) = \cos(n\arccos x)
+\end{equation}
+\glossary{name=$T_n(x)$,description=Chebyshev's polynomials of the first kind,sort=Tn}
+
+\begin{equation}
+U_n(x) = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]}
+\end{equation}
+\glossary{name=$U_n(x)$,description=Chebyshev's polynomials of the second kind,sort=Un}
+
+\chapter{Hermite polynomials}
+
+\begin{equation}
+H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2})
+\end{equation}
+\glossary{name=$H_n(x)$,description=Hermite polynomials,sort=Hn}
+
+\chapter{Laguerre polynomials}
+
+\begin{equation}
+L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} \frac{d^n}{dx^n}(e^{-x}x^{n+\alpha})
+\end{equation}
+\glossary{name=$L_n^\alpha(x)$,description=Laguerre polynomials,sort=Lna}
+
+\chapter{Bessel Functions}
+
+Bessel functions $Z_\nu(z)$ are solutions of
+\begin{equation}
+\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} +
+\left(
+1-\frac{\nu^2}{z^2}Z_\nu = 0
+\right)
+\end{equation}
+\glossary{name=$Z_\nu(z)$,description=Bessel functions,sort=Z}
+
+\chapter{Confluent hypergeometric function}
+
+\begin{equation}
+\Phi(\alpha,\gamma;z) = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!}
++ \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}
+\glossary{name={$\Phi(\alpha,\gamma;z)$},description=confluent hypergeometric function,sort=Pagz}
+
+\begin{equation}
+k_\nu(x) = \frac{2}{\pi}\int_0^{\pi/2}\cos(x \tan\theta - \nu\theta)\,d\theta
+\end{equation}
+\glossary{name=$k_\nu(x)$,description=Bateman's function,sort=kv}
+
+\chapter{Parabolic cylinder functions}
+
+\begin{equation}
+D_p(z) = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}}
+\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}
+\glossary{name=$D_p(z)$,description=Parabolic cylinder functions,sort=Dp}
+
+\chapter{Elliptical Integral of the First Kind}
+
+\begin{equation}
+F(\phi, k) = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}}
+\end{equation}
+\glossary{name={$F(\phi,k)$},description=Elliptical integral of the first kind,sort=Fpk}
+
+\chapter{Constants}
+
+\begin{equation}
+C = 0.577\,215\,664\,901\ldots
+\end{equation}
+\glossary{name=$C$,description=Euler's constant,sort=C}
+
+\begin{equation}
+G = 0.915\,965\,594\ldots
+\end{equation}
+\glossary{name=$G$,description=Catalan's constant,sort=G}
+
+\end{document}
+\endinput
+%%
+%% End of file `sampleEqPg.tex'.
diff --git a/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex b/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex
new file mode 100644
index 00000000000..4186f296196
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex
@@ -0,0 +1,92 @@
+%%
+%% This is file `sampleNtn.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sampleNtn.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage{html}
+\usepackage[toc]{glossary}
+
+\makeglossary
+
+\newglossarytype{notation}{not}{ntn}
+
+\newcommand{\notationname}{Notation}
+\setglossary{type=notation,glsnumformat=ignore,%
+glodelim={.}}
+
+\makenotation
+
+\begin{document}
+
+\title{Sample Document using glossary Package}
+\author{Nicola Talbot}
+\pagenumbering{alph}
+\maketitle
+
+\begin{abstract}
+\pagenumbering{Alph}%stop hyperref complaining about duplicate page identifiers
+This is a sample document illustrating the use of the
+\textsf{glossary} package. In this example, a new glossary type
+called \texttt{notation} is defined, so that the document can have a
+separate glossary of terms and index of notation. The index of notation
+doesn't have associated numbers.
+\end{abstract}
+
+\pagenumbering{roman}
+\tableofcontents
+
+\printglossary
+
+
+\printglossary[notation]
+
+\chapter{Introduction}
+\pagenumbering{arabic}
+
+Sets\glossary{name=set,description=A collection of distinct objects}
+are denoted by a caligraphic font
+e.g.\ $\mathcal{S}$%
+\notation{name=$\mathcal{S}$,description=A set,sort=S}.
+
+Let $\mathcal{U}$ denote the universal set\notation{name=$\mathcal{U}$,description={The universal set},sort=U}.
+
+The cardinality\glossary{name=cardinality,description=The number of elements in the specified set} of a set $\mathcal{S}$ is denoted
+$|\mathcal{S}|$%
+\notation{name=$\mid\mathcal{S}\mid$,description=cardinality of $\mathcal{S}$,sort=cardinality}
+
+\chapter{Next}
+
+Now for a hyperlink:
+\xnotation{name=$\mathcal{U}$,description={The universal
+set},sort=U}{$\mathcal{U}$}.
+
+\end{document}
+\endinput
+%%
+%% End of file `sampleNtn.tex'.
diff --git a/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex b/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex
new file mode 100644
index 00000000000..5ea38558d05
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex
@@ -0,0 +1,94 @@
+%%
+%% This is file `sampleNtn2.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sampleNtn2.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage{html}
+\usepackage[toc]{glossary}
+
+\makeglossary
+
+\newglossarytype{notation}{not}{ntn}
+
+\newcommand{\notationname}{Notation}
+\setglossary{type=notation,glsnumformat=ignore,%
+glodelim={.}}
+
+\makenotation
+
+\begin{document}
+
+\storeglosentry[notation]{not:set}{name={$\protect\mathcal{S}$},description=A set,sort=S}
+
+\storeglosentry[notation]{not:U}{name=$\protect\mathcal{U}$,description={The universal set},sort=U}
+
+\storeglosentry[notation]{not:card}{name=$\mid\protect\mathcal{S}\mid$,description=cardinality of $\protect\mathcal{S}$,sort=cardinality}
+
+\storeglosentry{glos:set}{name=set,description=A collection of distinct objects}
+
+\storeglosentry{glos:card}{name=cardinality,description=The number of elements in the specified set}
+
+\title{Sample Document using glossary Package}
+\author{Nicola Talbot}
+\pagenumbering{alph}
+\maketitle
+
+\begin{abstract}
+\pagenumbering{Alph}%stop hyperref complaining about duplicate page identifiers
+This is a sample document illustrating the use of the
+\textsf{glossary} package. In this example, a new glossary type
+called \texttt{notation} is defined, so that the document can have a
+separate glossary of terms and index of notation. The index of notation
+doesn't have associated numbers.
+\end{abstract}
+
+\pagenumbering{roman}
+\tableofcontents
+
+\printglossary
+
+
+\printnotation
+
+\chapter{Introduction}
+\pagenumbering{arabic}
+
+Sets\useglosentry{glos:set}
+are denoted by a caligraphic font
+e.g.\ $\mathcal{S}$\useglosentry{not:set}.
+
+Let \gls{not:U} denote the universal set.
+
+The \gls{glos:card} of a set $\mathcal{S}$ is denoted
+\gls{not:card}.
+
+\end{document}
+\endinput
+%%
+%% End of file `sampleNtn2.tex'.
diff --git a/Master/texmf-dist/doc/latex/glossary/sampleSec.tex b/Master/texmf-dist/doc/latex/glossary/sampleSec.tex
new file mode 100644
index 00000000000..4e1ba036a28
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/glossary/sampleSec.tex
@@ -0,0 +1,79 @@
+%%
+%% This is file `sampleSec.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossary.dtx (with options: `sampleSec.tex,package')
+%% Copyright (C) 2005 Nicola Talbot, all rights reserved.
+%% If you modify this file, you must change its name first.
+%% You are NOT ALLOWED to distribute this file alone. You are NOT
+%% ALLOWED to take money for the distribution or use of either this
+%% file or a changed version, except for a nominal charge for copying
+%% etc.
+%% \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 \~}
+\documentclass{report}
+
+\usepackage[plainpages=false,colorlinks]{hyperref}
+\usepackage[style=altlist,toc,number=section]{glossary}
+
+\makeglossary
+
+
+\storeglosentry{glos:I}{name=identity matrix,description=diagonal
+matrix with 1s along the leading diagonal}
+
+\begin{document}
+
+\pagenumbering{roman}
+\tableofcontents
+
+\printglossary
+
+\chapter{Introduction}
+\pagenumbering{arabic}
+This is a sample document illustrating the use of the
+\textsf{glossary} package.
+
+\chapter{Diagonal matrices}
+
+A diagonal matrix\glossary{name=diagonal matrix,
+description=matrix whose only non-zero entries are along the leading diagonal,format=hyperit}
+is a matrix where all elements not on the leading diagonal are zero. This is the
+primary definition, so an italic font is used for the page number.
+
+\newpage
+\section{Identity matrix}
+The identity matrix\glossary{name=identity matrix,
+description=diagonal matrix with 1s along the leading diagonal}
+\ldots
+
+Here is another entry for a diagonal matrix\glossary{name=diagonal matrix,
+description=matrix whose only non-zero entries are along the leading diagonal}
+
+\chapter{Singular Matrices}
+
+A singular matrix\glossary{name=singular matrix,
+description=matrix with zero determinant}
+\ldots
+
+Another \useGlosentry{glos:I}{identity matrix} entry.
+
+\end{document}
+\endinput
+%%
+%% End of file `sampleSec.tex'.