diff options
author | Karl Berry <karl@freefriends.org> | 2007-05-18 16:16:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-05-18 16:16:38 +0000 |
commit | 746c3964c5c60a06f25b93438ad3271ff2113458 (patch) | |
tree | 841b253699e5d16e72028b12f7ef1d61b402cfc5 | |
parent | 20a9ebe1f7a852ec5c82045ece1e87bc3540ba2c (diff) |
glossary replaced by glossaries
git-svn-id: svn://tug.org/texlive/trunk@4306 c570f23f-e606-0410-a88d-b1316a301751
19 files changed, 0 insertions, 12629 deletions
diff --git a/Master/texmf-dist/doc/latex/glossary/CHANGES b/Master/texmf-dist/doc/latex/glossary/CHANGES deleted file mode 100644 index 05691178dea..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/CHANGES +++ /dev/null @@ -1,115 +0,0 @@ -glossary.sty history: - - * Version 2.4: fixed problems caused by \@sanitize. - Extended package option "number" to be used with - any counter (not just page or section). Added - number key to \setglossarystyle. Removed - some redundant code. Fixed problems caused with - hyperlinks when using a mixture of counters for - individual entries. Added extra \hyper<xx> page - formats. Added hook to provide a sub header when - using a tabular style glossary. Added means of - specifying a column header for page list column. - Added facility to insert text between groups. - Fixed bug in documentation when omitting \OnlyDescription - - *** Note that if you update to version 2.4, it *** - *** is advisable to delete your .gls etc files *** - *** before recompiling. *** - - - * Version 2.38: fixed by where inappropriate spaces are - inserted when using xspace package. - - * Version 2.37: fixed hypertoc to work with sections - - * Version 2.36: added \useglosentry{*}. Fixed bug which - allowed a pagebreak to occur between entry name and - entry description when using the altlist style. - - * Version 2.35: fixed makeglos.bat - - * Version 2.34: \acronymname now defined using - \providecommand instead of \newcommand. Fixed bug - that prevented redefinition of \glossaryalignment. - - * Version 2.33: fixed bug that occurs when a comma is - used in the description field of \newacronym. - - * Version 2.32: added \setacronymdescfmt. (Makes it - easier to align the list of acronyms with - acronym in one column and the long name in the - second column.) - - * Version 2.31: added global package option. Added - \unsetacronym and \unsetallacronyms. - - * Version 2.3: Made it easier to have multiple glossaries - with different styles within the same document. Added - facility for inserting text before and after the list of - page numbers. - - * Version 2.26: Fixed bug in \useacronym (optional argument - was ignored in certain situations). - - * Version 2.25: Minor bug fix (missing page delimiters). - - * Version 2.24: Added hypertoc option, and changed the - hyperlink targets in the glossary entries. - - * Version 2.23: Fixed bug in hyperlinks caused by \glsxspace. - - * Version 2.22: Added acronymfont. Added xspace support. - Changed makeglos.pl so that it reads information from - auxiliary file. Added makeglos.bat file - - * Version 2.21: Added \resetallacronyms - - * Version 2.2: \glossaryname is now defined using - \providecommand instead of \newcommand. Checks if - theglossary environment is already defined, and if so - redefines it and issues a warning. - - * Version 2.19: fixed bug in \storeglosentry. - - * Version 2.18: fixed bug in \useacronym. Added \gls. - - * Version 2.17: added acronym package option. Added - \storeglosentry (replacing old \saveglosentry command) - - * Version 2.16: fixed bug preventing changes to \glossaryname - and \shortglossary name from having an effect. - - * Version 2.15: added \shortglossaryname (for page header and - table of contents) - - * Version 2.14: added LaTeX2HTML support, added \xglossary - command (provides hyperlink to relevent entry in the - glossary), added -m switch to makeglos.pl (merges multiple - entries with the same name but different descriptions). - - * Version 2.13: added extra package option "hyperacronym". - - * Version 2.12: mostly bug fixes, also added extra package - option "section". - - * Version 2.11: starred form of acronym defined. Added - \useacronym. - - * Version 2.1: fixed conflict with array package. Fixed - problems which occured when using certain commands (such as - \cite) in the last argument of \newacronym. - - * Version 2.01: fixed conflict with datetime package. - - * Version 2.0: provides the command \newacronym to define - acronyms. Additional package options "toc" (add glossary to - table of contents) and "hyper" use hyperlinks in the - glossary. - - * Version 1.1: provides the additional package option - "number" which sets the associated glossary entry number to - the page number (default), the section number or no number. - Also provides the additional commands \glossarypreamble and - \glossarypostamble - diff --git a/Master/texmf-dist/doc/latex/glossary/README b/Master/texmf-dist/doc/latex/glossary/README deleted file mode 100644 index 77fea0e17b2..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/README +++ /dev/null @@ -1,45 +0,0 @@ -LaTeX Package : glossary v 2.4
-
-Last Modified : 20th July 2006
-
-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 Binary files differdeleted file mode 100644 index e74d20b2161..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/glossary.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/glossary/glossary.perl b/Master/texmf-dist/doc/latex/glossary/glossary.perl deleted file mode 100644 index b0de72c074c..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/glossary.perl +++ /dev/null @@ -1,1055 +0,0 @@ -# File : glossary.perl -# Author : Nicola Talbot -# Date : 5 December 2005 -# Version : 1.03 -# 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; - } - - $_; -} - -sub do_cmd_unsetacronym{ - local($_) = @_; - local($cmdname); - - $cmdname = &missing_braces unless - (s/$next_pair_pr_rx/$cmdname=$2;''/eo); - - if (defined %{$acronym{$cmdname}}) - { - $global{"${cmdname}first"} = 0; - } - else - { - &write_warnings("acronym '$cmdname' not defined"); - } - - $_; -} - -sub do_cmd_unsetallacronyms{ - local($_) = @_; - - foreach $key (keys %acronym) - { - $global{"${key}first"} = 0; - } - - $_; -} - - %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 deleted file mode 100644 index 35dffccdca3..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/makeglos.bat +++ /dev/null @@ -1,3 +0,0 @@ -@rem = '-*- Perl -*-
-@echo off
-perl -S %~dp0makeglos.pl %*
diff --git a/Master/texmf-dist/doc/latex/glossary/makeglos.pl b/Master/texmf-dist/doc/latex/glossary/makeglos.pl deleted file mode 100644 index 0b3cb56f008..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/makeglos.pl +++ /dev/null @@ -1,304 +0,0 @@ -#!/usr/bin/perl - -# File : makeglos -# Author : Nicola Talbot -# Version : 1.5 (2006/07/20) -# Description: simple Perl script that calls makeindex. -# Intended for use with "glossary.sty" (saves having to remember -# all the various switches) - -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]; -} - -$istfile = "$name.ist"; - -# check log file for other glossary types -# and for ist file name - -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"; - } - } - - if (m/\\\@istfilename\s*{([^}]*)}/) - { - $istfile = $1; - } - } - - 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"; -} - -unless ($opt_s eq "") -{ - $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++) - { - # remove all but the last \delimT - while ($item[$i]{'desc'}=~s/\\delimT/$&/sg > 1) - { - $item[$i]{'desc'}=~s/\\delimT//s; - } - 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 deleted file mode 100644 index 5cd4cdb85d9..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/manual.html +++ /dev/null @@ -1,3069 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> - -<!--Converted with 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.4: LaTeX2e Package to Assist Generating Glossaries</TITLE> -<META NAME="description" CONTENT="glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries"> -<META NAME="keywords" CONTENT="manual"> -<META NAME="resource-type" CONTENT="document"> -<META NAME="distribution" CONTENT="global"> - -<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"> -<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> - - -</HEAD> - -<BODY > - -<P> - - <H1 ALIGN="CENTER">glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries</H1> -<DIV> - -<P ALIGN="CENTER"><STRONG>Nicola L.C. Talbot</STRONG></P> -<P ALIGN="CENTER"><STRONG>20th July 2006</STRONG></P> -</DIV> -<BR> - -<H2><A NAME="SECTION00010000000000000000"> -Contents</A> -</H2> -<!--Table of Contents--> - -<UL> -<LI><A NAME="tex2html32" - HREF="manual.html#SECTION00020000000000000000">Introduction</A> -<LI><A NAME="tex2html33" - HREF="manual.html#SECTION00030000000000000000">Installation</A> -<LI><A NAME="tex2html34" - HREF="manual.html#SECTION00040000000000000000">Generating Glossary Information</A> -<UL> -<LI><A NAME="tex2html35" - HREF="manual.html#SECTION00041000000000000000">Storing Glossary Information</A> -</UL> -<BR> -<LI><A NAME="tex2html36" - HREF="manual.html#SECTION00050000000000000000">makeglos.pl</A> -<LI><A NAME="tex2html37" - HREF="manual.html#SECTION00060000000000000000">Displaying the Glossary</A> -<LI><A NAME="tex2html38" - HREF="manual.html#SECTION00070000000000000000">Package Options</A> -<UL> -<LI><A NAME="tex2html39" - HREF="manual.html#SECTION00071000000000000000">Examples</A> -</UL> -<BR> -<LI><A NAME="tex2html40" - HREF="manual.html#SECTION00080000000000000000">Defining New Glossary Types</A> -<LI><A NAME="tex2html41" - HREF="manual.html#SECTION00090000000000000000">Acronyms</A> -<UL> -<LI><A NAME="tex2html42" - HREF="manual.html#SECTION00091000000000000000">Examples</A> -</UL> -<BR> -<LI><A NAME="tex2html43" - HREF="manual.html#SECTION000100000000000000000">Customizing the Glossary</A> -<LI><A NAME="tex2html44" - HREF="manual.html#SECTION000110000000000000000">Sample Documents</A> -<LI><A NAME="tex2html45" - HREF="manual.html#SECTION000120000000000000000">LaTeX2HTML Style File</A> -<UL> -<LI><A NAME="tex2html46" - HREF="manual.html#SECTION000121000000000000000">Limitations</A> -</UL> -<BR> -<LI><A NAME="tex2html47" - HREF="manual.html#SECTION000130000000000000000">Troubleshooting</A> -<LI><A NAME="tex2html48" - HREF="manual.html#SECTION000140000000000000000">Obsolete Commands</A> -<LI><A NAME="tex2html49" - HREF="manual.html#SECTION000150000000000000000">Contact Details</A> -<LI><A NAME="tex2html50" - HREF="manual.html#SECTION000160000000000000000">Acknowledgements</A> -<LI><A NAME="tex2html51" - HREF="manual.html#SECTION000170000000000000000">Index</A> -</UL> -<!--End of Table of Contents--> -<P> - -<H1><A NAME="SECTION00020000000000000000"> -Introduction</A> -</H1> - - The <TT>glossary</TT><A NAME="1680"></A> package is provided to assist -generating a glossary. It has a certain amount of flexibility, -allowing the user to customize the format of the glossary, and -define new glossary-style objects. - -<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> or -<TT>localtexmf/tex/latex/glossary/</TT>. Remember to update the -T<SMALL>E</SMALL>X database if you are installing this package for the first time. -The file <TT>glossary.perl</TT> is a LaTeX2HTML style file, and -should be placed in the LaTeX2HTML style file directory (usually -<TT>latex2html/styles/</TT>). The file <TT>makeglos.pl</TT> -is a Perl script which calls <TT>makeindex</TT><A NAME="1683"></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="1686"></A> is located in a directory other than <code>/usr/bin/</code><A NAME="tex2html1" - HREF="#foot1555"><SUP>1</SUP></A>.) - -<P> -If you are not using UNIX or Linux etc, you may have to explicitly -load the file into Perl, so you would need to do -<TT>perl makeglos.pl</TT> instead of just <TT>makeglos.pl</TT>. -If you are using Windows, a batch file, <TT>makeglos.bat</TT> -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="1689"></A>, which will probably -be in <code>\texmf\miktex\bin\</code>). - -<P> -If you don't have Perl installed on your system, you can just use -<TT>makeindex</TT><A NAME="1692"></A>, only you will have to remember all the -command line switches, and you won't be able to merge entries -that have the same name, but different descriptions. - -<P> -Note that if you are updating the glossary package, it is -a good idea to update <TT>makeglos.pl</TT> as it may also -have been modified. - -<P> - -<H1><A NAME="SECTION00040000000000000000"> -Generating Glossary Information</A> -</H1> - -<P> -The standard LaTeX command <TT>\makeglossary</TT> (analogous to <TT>\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>\glossary</TT><code>{</code><I>key-val list</I><code>}</code>. - This command is a slightly modified version of the standard -<TT>\glossary</TT> command, in order to separate out the -information into <I>entry-name</I> and <I>entry-description</I>. -The argument to <TT>\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" VALIGN="TOP" WIDTH=400><B>Value</B></TH> -</TR> -<TR><TD ALIGN="LEFT"><TT><TT>name</TT><A NAME="1705"></A> </TT></TD> -<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>The entry name</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT><TT>description</TT><A NAME="1709"></A> </TT></TD> -<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>A description about the entry</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT><TT>sort</TT><A NAME="1713"></A> </TT></TD> -<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>How to sort the entry. (Entry name used if sort omitted)</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT><TT>format</TT><A NAME="1717"></A> </TT></TD> -<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>How to format the page number</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT><TT>number</TT><A NAME="1721"></A> </TT></TD> -<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=400>Override the page number with a different -counter. The value should be the name of a counter (e.g. -<TT>number=section</TT>).</TD> -</TR> -</TABLE> -</DIV> -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> -Note that you should always use the <TT>sort</TT><A NAME="1725"></A> -key if the <TT>name</TT><A NAME="1729"></A> key contains commands, this is particularly -important if you are using hyperlinks, as the target is constructed -from the <TT>name</TT><A NAME="1733"></A> key if the <TT>sort</TT><A NAME="1737"></A> key is omitted. - -<P> -In the glossary, each entry is followed by a list of page numbers -that correspond to the pages where the relevant <TT>\glossary</TT> -command is placed. By default the numbers are formatted in the -current font, but the page number format for individual entries can be -changed using the <TT>format</TT><A NAME="1743"></A> key. This should be the name of a -LaTeX formatting command without the preceding <code>\</code> (as with the -<code>|</code> operator in <TT>\index</TT>.) For example: -<PRE> -\glossary{name={$\mathbb{R}$}, - 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="1749"></A><A NAME="1750"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in roman</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hypersf</TT><A NAME="1754"></A><A NAME="1755"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in sans-serif</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hypertt</TT><A NAME="1759"></A><A NAME="1760"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in typewriter font</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hyperbf</TT><A NAME="1764"></A><A NAME="1765"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in bold</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hypermd</TT><A NAME="1769"></A><A NAME="1770"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in medium weight</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hyperit</TT><A NAME="1774"></A><A NAME="1775"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in italic</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hypersl</TT><A NAME="1779"></A><A NAME="1780"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in slanted font</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hyperup</TT><A NAME="1784"></A><A NAME="1785"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in upright font</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hypersc</TT><A NAME="1789"></A><A NAME="1790"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link in small caps</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>hyperem</TT><A NAME="1794"></A><A NAME="1795"></A></TD> -<TD ALIGN="LEFT">The number is a hyper link using <TT>\emph</TT></TD> -</TR> -</TABLE> -</DIV> -If the <TT>hyper</TT><A NAME="1806"></A> option has not been set, -<TT>hyperem</TT><A NAME="1810"></A><A NAME="1811"></A> is equivalent to <TT>emph</TT>, and the remaining -<TT>hyperrm</TT><A NAME="1815"></A><A NAME="1816"></A> etc are equivalent to <TT>textrm</TT> etc. -Note that it is important the you use <TT>hyperrm</TT> instead of -<TT>hyperpage</TT>, as the <TT>\hyperpage</TT> command won't -work on a list or range of numbers in the glossary<A NAME="tex2html2" - HREF="#foot1559"><SUP>2</SUP></A>. If you want to define your -own command that uses hyper links, it must be defined in an -analogous manner to <TT>\hyperrm</TT><A NAME="1826"></A>. For example, if you want -to display a page number in a bold italic format, that contains a -hyperlink to the appropriate page, you would need to define it as -follows: -<PRE> -\newcommand{\hyperbfit}[2][\gls@number]{% -\textbf{\itshape\glshyper{#1}{#2}}} -</PRE> -As can be seen from the definition, all the <TT>\hyper</TT><I>xx</I> -commands have an optional argument. This argument is the name of the -counter being used. You do not need to worry about this argument if -you only use these commands within the <TT>\glossary</TT><A NAME="1833"></A> command. -So the previous example can simply be rewritten as: -<PRE> -\glossary{name={$\mathbb{R}$}, - description={The set of real numbers}, - sort=R, - format=hyperbf} -</PRE> - -<P> -<B>Note:</B> although the numbers in the glossary are referred to -as ``page'' numbers in this manual, they may in fact refer to some -other counter, such as the <TT>section</TT> counter, depending on -whether the <TT>number</TT><A NAME="1838"></A> key has been used. - -<P> -As with the <TT>\index</TT> command, care must be taken if you -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>\xglossary</TT><code>{</code><I>gls-entry</I><code>}{</code><I>text</I><code>}</code> - -<P> -This is equivalent to -<I>text</I><TT>\glossary</TT><A NAME="1846"></A><code>{</code><I>gls-entry</I><code>}</code>, -where <I>text</I> will be made a hyper link to the -relevant entry in the glossary, if hyper -links are supported. - -<P> - -<H2><A NAME="SECTION00041000000000000000"> -Storing Glossary Information</A> -</H2> - -<P> -It is very cumbersome having to use the <TT>\glossary</TT><A NAME="1851"></A> command -throughout your document, every time you use a term that you want in -your glossary. This is particularly true for terms with a long -description. The <TT>glossary</TT><A NAME="1856"></A> package provides a means -of storing the glossary information at the beginning of the document, -and then using it whenever required. It is strongly recommended -that you use this approach, rather than explicity using the -<TT>\glossary</TT><A NAME="1859"></A> command. - -<P> -The following command: -<BR> -<BR><TT><TT>\storeglosentry</TT>[</TT> <I>gls-type</I><TT>]{</TT> <I>label</I><TT>}{</TT> <I>gls-entry</I><TT>} -</TT> -<BR> -<BR> -can be used to store glossary information, where <I>label</I> is -a unique label assigned to this entry. The information -can then be used later with any of the following commands: -<BR> -<BR> - -<TT><TT>\useglosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>} -<BR><TT>\useGlosentry</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>}{</TT> <I>text</I><TT>} -<BR><TT>\gls</TT>[</TT> <I>opt</I><TT>]{</TT> <I>label</I><TT>} -</TT> -<BR> -<BR><TT>\useglosentry</TT> adds the glossary entry whose label is given by -<I>label</I> to the appropriate glossary, -<TT>\useGlosentry</TT> adds the glossary entry, and -makes <I>text</I> a hyperlink to that entry (if hyperlinks are -supported). The third command, <TT>\gls</TT>, is like -<TT>\useGlosentry</TT>, but forms <I>text</I> from the name -given in the glossary entry. - -<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={$\mathcal{U}$}, - description={The universal set}, - sort=U} -</PRE> -Now, instead of continually copying and pasting the glossary command -for this entry (which can have quite a large <TT>description</TT><A NAME="1880"></A> -field), you can use either: -<PRE> -\useglosentry{glos:U} -</PRE> -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> -If you want to use glossary entries in an equation, it is better -to use <TT>\ensuremath</TT> instead of <code>$</code>...<code>$</code>. -For example: -<PRE> -\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, -description=Gamma function, -sort=Gamma} -</PRE> -You can then use this entry in either text or math mode: -<PRE> -The \useGlosentry{Gamma}{Gamma function} is defined as -\begin{equation} -\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -\end{equation} -</PRE> -If you are using hyper links, and you want to use -<TT>\useGlosentry</TT> within math mode, you must use -<TT>\ensuremath</TT>: -<PRE> -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) -\end{equation} -</PRE> - -<P> -The optional argument to <TT>\storeglosentry</TT><A NAME="1890"></A> (<I>gls-type</I>) -indicates the glossary type (see -<A HREF="#sec:newglostype">later</A> to find out how to define new -glossary types). If omitted, the standard glossary is used. - -<P> -The optional argument to <TT>\useglosentry</TT><A NAME="1895"></A>, -<TT>\useGlosentry</TT><A NAME="1900"></A> and <TT>\gls</TT><A NAME="1905"></A> (<I>opt</I>) allows you to -add additional information to the glossary entry, for example: -<PRE> -\useglosentry[format=textbf]{glos:U} -</PRE> -is equivalent to: -<PRE> -\glossary{name={$\mathcal{U}$}, - description={The universal set}, - sort=U, - format=textbf} -</PRE> -Since version 2.4, <TT>\storeglosentry</TT><A NAME="1910"></A> is robust, and -<TT>\protect</TT> should no longer be needed, however -the identifying label, <I>label</I>, should not -contain any special characters. - -<P> -As from version 2.36, if you want to use all glossary entries -which have been defined using <TT>\storeglosentry</TT>, do: -<code>\useglosentry{*}</code>. (Note that this option is not -available for <TT>\useGlosentry</TT> and <TT>\gls</TT>.) - -<P> - -<H1><A NAME="SECTION00050000000000000000"> -makeglos.pl</A> -</H1> - -<P> -Whenever a glossary entry is used, either explicity using -<TT>\glossary</TT> or <TT>\xglossary</TT> or implicitly using -<TT>\useglosentry</TT>, <TT>\useGlosentry</TT> and <TT>\gls</TT>, -the information is saved in a file with the extension <TT>glo</TT><A NAME="1933"></A> -(unless the <TT>\makeglossary</TT><A NAME="1935"></A> command is omitted, in which case -the glossary information is simply ignored.) A <TT>makeindex</TT><A NAME="1940"></A> -style file<A NAME="1574"></A> -(<TT>ist</TT><A NAME="1943"></A>) is also created, which is customized for the -document, and can be passed to <TT>makeindex</TT><A NAME="1945"></A>. - -<P> -For example, suppose your document is called <TT>mydoc.tex</TT>, -the glossary will be saved in the file -<TT>mydoc.glo</TT><A NAME="1948"></A>, and the <TT>makeindex</TT><A NAME="1950"></A> style -file <TT>mydoc.ist</TT><A NAME="1953"></A> will be created. - These files can then be passed to <TT>makeindex</TT><A NAME="1955"></A> as follows: -<PRE> -makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo -</PRE> -which generates the output file <TT>mydoc.gls</TT><A NAME="1958"></A>, -with transcript written to -<TT>mydoc.glg</TT><A NAME="1960"></A>. - -<P> -The Perl script <TT>makeglos.pl</TT><A NAME="1962"></A> provided with this package -allows you to use <TT>makeindex</TT><A NAME="1965"></A> without having to remember -all the command line options. The command -<PRE> -makeglos.pl mydoc -</PRE> -will perform the command: -<PRE> -makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo -</PRE> -In addition, <TT>makeglos.pl</TT><A NAME="1968"></A> also takes the option -<TT>-m</TT> which can be used to collate entries where the -same name has multiple descriptions. - -<P> -<TT>makeglos.pl</TT><A NAME="1971"></A> has the following syntax: -<PRE> -makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] <filename> -</PRE> -where all switches, apart from <TT>-m</TT> are the same as -those for <TT>makeindex</TT><A NAME="1974"></A>. If there are multiple glossary types -(see -<A HREF="#sec:newglostype">later</A>) -and the file extension is omitted, <TT>makeglos.pl</TT><A NAME="1977"></A> will -iterate through each glossary type (it will pick up the relevant -information from the auxiliary file). - -<P> -The name of the <TT>ist</TT><A NAME="1980"></A> file can be changed by redefining -the command <TT>\istfilename</TT> -<I>before</I> <TT>\makeglossary</TT>. -For example: -<PRE> -\renewcommand{\istfilename}{foo.ist} -\makeglossary -</PRE> -Only one <TT>ist</TT><A NAME="1986"></A> file will be created per document, even if -you have multiple glossaries with different styles. The only -circumstance where you will need multiple <TT>ist</TT><A NAME="1988"></A> files for -a single document is when you have multiple glossaries that use -different counters with different compositors, but this is rarely -likely to occur. - -<P> -Creation of the <TT>ist</TT><A NAME="1990"></A> file can be suppressed by issuing -the command <TT>\noist</TT> before -<TT>\makeglossary</TT><A NAME="1994"></A>. It will also be suppressed when the -command <TT>\nofiles</TT><A NAME="1999"></A> is used, or if the command -<TT>\makeglossary</TT><A NAME="2004"></A> is omitted. - -<P> -It should be noted that there are a few packages that can -cause problems with the creation of the <TT>ist</TT><A NAME="2009"></A> file, -for example <TT>ngerman</TT><A NAME="2011"></A>. If you encounter problems -when LaTeX is processing the <TT>\makeglossary</TT><A NAME="2014"></A> command, -or if you get errors from <TT>makeindex</TT><A NAME="2019"></A> complaining about -the style file, this is the most probable cause. -See <A HREF="#itm:ngerman">later</A> for -information on how to fix this. - -<P> - -<H1><A NAME="SECTION00060000000000000000"> -Displaying the Glossary</A> -</H1> - -<P> -Once the <TT>gls</TT><A NAME="2022"></A> file has been created by -<TT>makeindex</TT><A NAME="2024"></A> (as described in the previous - section) the glossary can then be included in the document with -the command <TT>\printglossary</TT>. - If chapters are defined, the glossary will start -with<A NAME="2028"></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"></A> -<A NAME="sec:options"></A> -<BR> -Package Options -</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="2037"></A></STRONG></DT> -<DD>The glossary style. Values: -<A NAME="1579"></A> -<DL> -<DT><STRONG><TT>list</TT><A NAME="2041"></A></STRONG></DT> -<DD>use -<TT>description</TT> environment in the glossary -</DD> -<DT><STRONG><TT>altlist</TT><A NAME="2044"></A></STRONG></DT> -<DD>modified -version of <TT>style=list</TT><A NAME="2053"></A>. The description starts on the -line following the name of the term being defined. - -</DD> -<DT><STRONG><TT>super</TT><A NAME="2055"></A></STRONG></DT> -<DD>use -<TT>supertabular</TT> environment in the glossary -</DD> -<DT><STRONG><TT>long</TT><A NAME="2058"></A></STRONG></DT> -<DD>use -<TT>longtable</TT> environment in the glossary (Default) -</DD> -</DL> - -<P> -</DD> -<DT><STRONG><TT>header</TT><A NAME="2066"></A></STRONG></DT> -<DD><A NAME="1581"></A> Glossary -header. Values: -<DL> -<DT><STRONG><TT>none</TT><A NAME="2070"></A></STRONG></DT> -<DD>The glossary -doesn't have a heading (Default) -</DD> -<DT><STRONG><TT>plain</TT><A NAME="2072"></A></STRONG></DT> -<DD>The glossary -has a heading -</DD> -</DL> - -<P> -</DD> -<DT><STRONG><TT>border</TT><A NAME="2079"></A></STRONG></DT> -<DD><A NAME="1582"></A> Glossary -border. Values: -<DL> -<DT><STRONG><TT>none</TT><A NAME="2083"></A></STRONG></DT> -<DD>The glossary -doesn't have a border (Default) -</DD> -<DT><STRONG><TT>plain</TT><A NAME="2085"></A></STRONG></DT> -<DD>Border -around the main body of the glossary -</DD> -</DL> - -<P> -</DD> -<DT><STRONG><TT>cols</TT><A NAME="2092"></A></STRONG></DT> -<DD><A NAME="1583"></A> Number of -columns. Values: -<DL> -<DT><STRONG><TT>2</TT><A NAME="2096"></A></STRONG></DT> -<DD>The entry name and description are in two separate -columns with the associated page numbers in the same column as -the description. (Default) -</DD> -<DT><STRONG><TT>3</TT><A NAME="2098"></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="2105"></A></STRONG></DT> -<DD>Associated number corresponding to each entry. -This may either be the keyword <TT>none</TT><A NAME="2109"></A> indicating that -the corresponding numbers should be suppressed, or it can be the -name of a LaTeX counter. The default is <TT>number=page</TT><A NAME="2118"></A>. - -<P> -</DD> -<DT><STRONG><TT>toc</TT><A NAME="2125"></A></STRONG></DT> -<DD><A NAME="1586"></A> -Boolean variable: - -<DL> -<DT><STRONG><TT>true</TT><A NAME="2129"></A></STRONG></DT> -<DD>Add glossary to table of contents -</DD> -<DT><STRONG><TT>false</TT><A NAME="2131"></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="2138"></A></STRONG></DT> -<DD>Boolean variable. This is similar to the package option -<TT>toc</TT><A NAME="2147"></A>, but if you are using the <TT>hyperref</TT><A NAME="2151"></A> -package, <TT>hypertoc</TT><A NAME="2159"></A> will generate a link to the -point immediately before the glossary title, whereas <TT>toc</TT><A NAME="2168"></A> will -have a hyperlink to just after the glossary title. Note -that you can not use both <TT>toc=true</TT><A NAME="2179"></A> and -<TT>hypertoc=true</TT><A NAME="2188"></A>. Default value: -<TT>hypertoc=false</TT><A NAME="2197"></A>. - -<P> -</DD> -<DT><STRONG><TT>hyper</TT><A NAME="2204"></A></STRONG></DT> -<DD>Boolean -variable: - -<DL> -<DT><STRONG><TT>true</TT><A NAME="2208"></A></STRONG></DT> -<DD>Make associated numbers in the -glossary a hypertext link, and also make acronyms, and the text -given by <TT>\xglossary</TT><A NAME="2210"></A> have a hyperlink to their -corresponding entries in the glossary. -</DD> -<DT><STRONG><TT>false</TT><A NAME="2215"></A></STRONG></DT> -<DD>Don't make associated numbers a hypertext link -</DD> -</DL> -If the <TT>hyperref</TT><A NAME="2217"></A> or <TT>html</TT><A NAME="2220"></A> package has -been loaded prior to loading <TT>glossary.sty</TT>, -<TT>hyper=true</TT><A NAME="2230"></A> is set, otherwise -the default is <TT>hyper=false</TT><A NAME="2239"></A>. Note that this package -option now encompasses the old <TT>hyperacronym</TT><A NAME="2246"></A> option. - -<P> -</DD> -<DT><STRONG><TT>section</TT><A NAME="2255"></A></STRONG></DT> -<DD>Boolean variable: - -<DL> -<DT><STRONG><TT>true</TT><A NAME="2259"></A></STRONG></DT> -<DD>Make the glossary an unnumbered -section, even if chapters are defined -</DD> -<DT><STRONG><TT>false</TT><A NAME="2261"></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="2268"></A></STRONG></DT> -<DD>Boolean variable: - -<DL> -<DT><STRONG><TT>true</TT><A NAME="2272"></A></STRONG></DT> -<DD>Make the list of acronyms -separate from the main glossary. - -<P> -</DD> -<DT><STRONG><TT>false</TT><A NAME="2274"></A></STRONG></DT> -<DD>The acronyms will all -be placed in the main glossary. (Default) -</DD> -</DL> - -<P> -</DD> -<DT><STRONG><TT>global</TT><A NAME="2281"></A></STRONG></DT> -<DD>Boolean variable: - -<DL> -<DT><STRONG><TT>false</TT><A NAME="2285"></A></STRONG></DT> -<DD>Acronym commands only have -a local effect. (Default) -</DD> -<DT><STRONG><TT>true</TT><A NAME="2287"></A></STRONG></DT> -<DD>Acronym commands have a global -effect. -</DD> -</DL> -</DD> -</DL> - The <TT>border</TT><A NAME="2294"></A>, <TT>header</TT><A NAME="2303"></A> and <TT>cols</TT><A NAME="2312"></A> options -should not be used in conjunction with <TT>style=list</TT><A NAME="2323"></A> -or <TT>style=altlist</TT><A NAME="2332"></A>, as they only make sense with one of -the tabular-style options. -The value for the boolean variables can be omitted if they are -to be set. For example - <TT>toc</TT><A NAME="2339"></A> is equivalent to <TT>toc=true</TT><A NAME="2350"></A>. Note that the -<TT>altlist</TT><A NAME="2352"></A> style is better suited to -glossaries with long entry names. - -<P> -You can set up your own preferred defaults in a configuration -file<A NAME="1593"></A>. -The file must be called <TT>glossary.cfg</TT><A NAME="2354"></A> and -should be placed somewhere on the T<SMALL>E</SMALL>X path. In this file you -can use the command -<TT>\glossarypackageoptions</TT><code>{</code><I>option-list</I><code>}</code> - -where <I>option-list</I> is a comma-separated list of -<I>key</I>=<I>value</I> pairs, as passed to the -<TT>glossary</TT><A NAME="2358"></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>\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><I>style list</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>\makeglossary</TT><A NAME="2536"></A>, <TT>\glossary</TT><A NAME="2541"></A>, -<TT>\xglossary</TT><A NAME="2546"></A> and <TT>\printglossary</TT><A NAME="2551"></A> for the first -glossary, and define a new type of glossary called say, -<TT>notation</TT>, using -<PRE> -\newglossarytype[nlg]{notation}{not}{ntn} -</PRE> -which will create the analogous commands: -<TT>\makenotation</TT>, <TT>\notation</TT>, <TT>\xnotation</TT> -and <TT>\printnotation</TT> which can be used for the second -glossary. - -<P> -As from version 2.3, <TT>\newglossarytype</TT> now has an -additional optional argument <I>style list</I>. This should -be a comma separated list of <I>key</I>=<I>value</I> pairs -that can be used to specify the style of the new glossary. -If omitted, the new glossary will have the same format -as the main glossary. The following options are available: -<TT>number</TT>, <TT>style</TT>, <TT>header</TT>, <TT>border</TT> and -<TT>cols</TT>. These can take the same values as those -given in the package options (described in section <A HREF="#sec:options">6</A>). - -<P> -The command <TT>\newglossarytype</TT> should only occur in the -preamble. The new commands - <TT>\make</TT><I>name</I>, <code>\</code><I>name</I>, -<code>\x</code><I>name</I> and <TT>\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="2572"></A>), which can then be passed to <TT>makeindex</TT><A NAME="2574"></A> -either directly or via <TT>makeglos.pl</TT><A NAME="2577"></A>, -and the file to be read in (i.e. the file created by -<TT>makeindex</TT><A NAME="2580"></A>) will have the extension <I>in-ext</I> -(analogous to <TT>gls</TT><A NAME="2583"></A>). - -<P> -The optional argument <I>log-ext</I> indicates -the extension for the <TT>makeindex</TT><A NAME="2585"></A> log file, if omitted the -extension <TT>glg</TT><A NAME="2588"></A> is used. This is not used by LaTeX, -however <TT>makeglos.pl</TT><A NAME="2590"></A> reads in this information from -the LaTeX auxiliary file and passes it to <TT>makeindex</TT><A NAME="2593"></A>. - -<P> -For the above <TT>notation</TT> -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="2596"></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="2599"></A> has read in the information -for the <TT>notation</TT> glossary type from the file -<TT>mydoc.log</TT>. - -<P> -If you don't have Perl installed -on your system, or for any other reason are unable to use -<TT>makeglos.pl</TT><A NAME="2602"></A>, you can call <TT>makeindex</TT><A NAME="2605"></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>\printglossary</TT><A NAME="2608"></A><TT>[</TT><I>name</I><TT>]</TT> -instead of <code>\print</code><I>name</I>. -These two commands have the same effect when using LaTeX, -however, they have a slightly different effect when -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>\glossaryname</TT><A NAME="2613"></A> -will be used instead. -If the command <code>\short</code><I>glossary-type</I><code>name</code> -is defined, (e.g. <TT>\shortnotationname</TT> in the above -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="2620"></A> package provides the command: -<BR> -<BR><TT><TT>\newacronym</TT>[</TT> <I>cmd-name</I><TT>]{</TT> <I>acronym</I><TT>}{</TT> <I>long</I><TT>}{</TT> <I>glossary entry</I><TT>} -</TT> -<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>\glossary</TT><A NAME="2625"></A> command. If the -optional argument <I>cmd-name</I> is missing, -<TT>\newacronym</TT> will create a command called -<code>\</code><I>acronym</I>, otherwise it will create a command -called <code>\</code><I>cmd-name</I> (henceforth denoted <TT>\</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>(\xacronym</TT><A NAME="2634"></A><code>{</code><TT>name</TT><A NAME="2639"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code><TT>)</TT> -<BR> -<BR> -subsequent instances will be equivalent to: -<BR> -<BR><TT>\xacronym</TT><A NAME="2643"></A><code>{</code><TT>name</TT><A NAME="2648"></A><TT>=</TT><I>long</I> <TT>(</TT><I>acronym</I><TT>),</TT><I>glossary entry</I><code>}{</code><I>acronym</I><code>}</code> -<BR> -<BR> -The command <TT>\</TT><I>acr-name</I> also has a starred -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="2654"></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="2663"></A> is not set (default) -<TT>\xacronym</TT><A NAME="2667"></A>, is a synonym for <TT>\xglossary</TT><A NAME="2672"></A>, and -the acronyms will appear in the main glossary (remember to -specify <TT>\makeglossary</TT> and <TT>\printglossary</TT>). -If the package option <TT>acronym=true</TT><A NAME="2688"></A> is specified, a -new glossary type called <TT>acronym</TT> will be defined as: -<PRE> -\newglossarytype[alg]{acronym}{acr}{acn} -\providecommand{\acronymname}{List of Acronyms} -</PRE> -You will then need to use the commands <TT>\makeacronym</TT><A NAME="2690"></A> -and <TT>\printacronym</TT><A NAME="2695"></A> to make the list of acronyms appear. -You will also need to run the <TT>acr</TT><A NAME="2700"></A> file through -<TT>makeindex</TT><A NAME="2702"></A> (or <TT>makeglos.pl</TT><A NAME="2705"></A>). For example: -<PRE> -makeindex -s mydoc.ist -t mydoc.alg -o mydoc.acn mydoc.acr -</PRE> -alternatively: -<PRE> -makeglos.pl mydoc -</PRE> -Note that the package option <TT>acronym=true</TT><A NAME="2715"></A> is only -appropriate if you want both a glossary and a separate list of -acronyms. If you do not write in English, you can set up your -own language definition -for <TT>\acronymname</TT> in the configuration file -<TT>glossarycfg</TT><A NAME="2719"></A>. For example: -<PRE> -\newcommand{\acronymname}{Akronyme} -</PRE> -(If <TT>glossary.cfg</TT> does not exist, create a new file, add the -appropriate definition of <TT>\acronymname</TT>, and save it to the -same directory as <TT>glossary.sty</TT>.) - -<P> -The <TT>name</TT><A NAME="2723"></A> key does not need to appear in <I>glossary -entry</I>, as it is constructed from <I>long</I> and -<I>acronym</I>. By default this will be in the form: -<I>long</I> (<I>acronym</I>), however the format can be -overridden using the -command: -<BR> -<BR><TT>\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>\glolong</TT><A NAME="2729"></A> and -<TT>\gloshort</TT><A NAME="2734"></A>. For example, -suppose you just want the acronym to appear in the glossary entry, -and not its full length name, then you would need to do: -<PRE> -\setacronymnamefmt{\gloshort} -</PRE> - -<P> -As from version 2.32, you can also modify the way the description -key is formatted for acronyms using: -<BR> -<BR><TT>\setacronymdescfmt</TT>{<I>format</I>} -<BR> -<BR> -Within <I>format</I> you may use the commands <TT>\glolong</TT><A NAME="2741"></A> -and <TT>\gloshort</TT><A NAME="2746"></A> (as above), and you can also use -the command <TT>\glodesc</TT><A NAME="2751"></A> which is the description as -specified by the <TT>description</TT><A NAME="2756"></A> key in -<TT>\newacronym</TT><A NAME="2760"></A>. This means that if you are using -a tabular style glossary, you can have the abbreviated -form in one column and the long form in the second column -with the description. For example, the following: -<PRE> -\setacronymnamefmt{\gloshort} -\setacronymdescfmt{\glolong: \glodesc} -\newacronym{svm}{support vector machine}{description=Statistical -pattern recognition technique} -</PRE> -will generate a glossary entry of the form: -<PRE> -\glossary{name=svm,description=support vector machine: Statistical -pattern recognition technique} -</PRE> -Note that if you omit <TT>\glodesc</TT><A NAME="2765"></A> from -<TT>\setacronymdescfmt</TT> the description specified -in <TT>\newacronym</TT> will be ignored. So -<PRE> -\setacronymnamefmt{\gloshort} -\setacronymdescfmt{\glolong} -\newacronym{svm}{support vector machine}{description=Statistical -pattern recognition technique} -</PRE> -will generate a glossary entry of the form: -<PRE> -\glossary{name=svm,description=support vector machine} -</PRE> - -<P> -You will need to specify the <TT>name</TT><A NAME="2774"></A> key explicitly if -the name contains a <TT>makeindex</TT><A NAME="2778"></A> special character. -For example: -<PRE> -\newacronym{RNA}{Ribonukleins\"aure}{name={Ribonukleins\""aure (RNA)}} -</PRE> -Note that this will override any formatting specified by -<TT>\setacronymnamefmt</TT><A NAME="2781"></A>. - -<P> -Given an acronym named <I>acr-name</I> (the command name -associated with the acronym as defined in -<TT>\newacronym</TT> without the preceding backslash), -the following commands are also available: - -<P> -<BR> -<BR> - -<TT>\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>\</TT><I>acr-name</I>. -<TT>\useacronym</TT> also has a starred version equivalent to -<TT>\</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>\resetacronym</TT><code>{</code><I>acr-name</I><code>}</code> -<BR> -<BR> -This command will cause the next use of <TT>\</TT><I>acr-name</I> -to produce the long version. To reset all acronyms -do <TT>\resetallacronyms</TT>. - -<P> -<BR> -<BR> - -<TT>\unsetacronym</TT><code>{</code><I>acr-name</I><code>}</code> -<BR> -<BR> -This command will cause all subsequent uses of -<TT>\</TT><I>acr-name</I> to produce the short version. -To unset all acronyms -do <TT>\unsetallacronyms</TT>. - -<P> -<BR> -<BR> - -<TT>\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>\acrln</TT><code>{</code><I>acr-name</I><code>}</code> -<BR><TT>\acrsh</TT><code>{</code><I>acr-name</I><code>}</code> -<BR> -<BR> -Or, alternatively: -<BR> -<BR><TT>\</TT><I>acr-name</I><TT>long</TT> -<BR><TT>\</TT><I>acr-name</I><TT>short</TT> -<BR> -<BR> -The first two commands (<TT>\acrln</TT> and <TT>\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="2827"></A> package option. They are -provided for use in situations where the associated glossary -command may cause problems (e.g. in a sectioning command.) - -<P> -Note that, as with all LaTeX commands, spaces following -command names are ignored so if, for example, you defined -a new acronym called, say, SVM, then the command <code>\SVM</code> will -ignore any spaces following it. To force a space, you -can either place an empty set of braces after the command -name (e.g. <code>\SVM{}</code>) or use -<TT>\_</TT> i.e. a backslash followed by -a space (e.g. <code>\SVM\ </code>). Alternatively, as from -version 2.22, if you load the <TT>xspace</TT><A NAME="2833"></A> package -before loading the <TT>glossary</TT><A NAME="2836"></A> package, spaces will -be put in automatically using <TT>\xspace</TT><A NAME="2839"></A>. - -<P> -If you want the acronym to appear in a particular font, -for example, small caps, you can redefine the command -<TT>\acronymfont</TT>. For example: -<PRE> -\renewcommand{\acronymfont}[1]{\textsc{#1}} -</PRE> -The default definition of <TT>\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>\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>\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>\protect</TT> (see -note <A HREF="#itm:fragile">15</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>\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>\SVM*</TT> instead -of <TT>\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>\SVM</TT> or <TT>\SVM*</TT>.) - -<P> -Alternatively, <TT>\useacronym</TT><A NAME="2864"></A><code>{SVM}</code> can be used instead of -<TT>\SVM</TT>. For example: -<PRE> -\useacronym*[s]{SVM} are widely used in the area of pattern -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="2871"></A> package provides commands which can be redefined to customize the -glossary. The following name commands are defined by this package: -<DIV ALIGN="CENTER"> -<TABLE CELLPADDING=3> -<TR><TH ALIGN="LEFT"><B>Command </B></TH> -<TH ALIGN="LEFT"><B>Default Value</B></TH> -</TR> -<TR><TD ALIGN="LEFT"><TT>\glossaryname</TT></TD> -<TD ALIGN="LEFT">Glossary</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>\shortglossaryname</TT></TD> -<TD ALIGN="LEFT"><TT>\glossaryname</TT></TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>\entryname</TT></TD> -<TD ALIGN="LEFT">Notation</TD> -</TR> -<TR><TD ALIGN="LEFT"><TT>\descriptionname</TT></TD> -<TD ALIGN="LEFT">Description</TD> -</TR> -</TABLE> -</DIV> -The commands <TT>\entryname</TT> and <TT>\descriptionname</TT> -are put in the first two columns of the header row if you -are using one of the tabular glossary styles together with a -header row (as specified by the <TT>header=true</TT><A NAME="2895"></A> package option). -If you are using <TT>cols=3</TT><A NAME="2904"></A>, the command -<TT>\glspageheader</TT> will be -put in the third column of the header row. By default, this command -does nothing. - -<P> -The command <TT>\shortglossaryname</TT> is used for the -page headers and table of contents entry. - Any text required before or after the glossary can be added -by redefining the commands <TT>\glossarypreamble</TT> -and <TT>\glossarypostamble</TT>. -For example. -<PRE> -\renewcommand{\glossarypreamble}{Page numbers in -italic indicate the main definition\par} -</PRE> -By default, <TT>\glossarypreamble</TT> and <TT>\glossarypostamble</TT> do nothing. - -<P> -Any text required before or after the list of page numbers -are specified by the commands <TT>\glsbeforenum</TT> - -and <TT>\glsafternum</TT>. -By default, these commands do nothing, any redefinition -of these commands should come somewhere before the -relevant <TT>\printglossary</TT> command. For example: -<PRE> -\printglossary -\renewcommand{\glsbeforenum}{(} -\renewcommand{\glsafternum}{)} -\printnotation -</PRE> -This will put the page number list in brackets for the -second glossary, but not the first. - -<P> -Individual glossaries can have their styles changed either -by setting the style in the final optional argument -to <TT>\newglossarystyle</TT><A NAME="2924"></A> (see -<A HREF="#sec:newglostype">earlier</A>) -or using the command: -<BR> -<BR><TT>\setglossarystyle</TT>[<I>type</I>]{<I>style list</I>} -<BR> -<BR> -For example: -<PRE> -\setglossarystyle[acronym]{style=long,border=true,cols=2} -</PRE> -If <I>type</I> is omitted, the change is applied to the main -glossary. - -<P> -The command <TT>\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="2933"></A></STRONG></DT> -<DD>This is the glossary type. -If it is omitted, the standard glossary is assumed. - -<P> -</DD> -<DT><STRONG><TT>glsnumformat</TT><A NAME="2937"></A></STRONG></DT> -<DD>This is the name of the command, -<I>without</I> the preceding backslash<A NAME="tex2html4" - HREF="#foot1613"><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="2943"></A></STRONG></DT> -<DD>This -specifies what to do after the entry description and -before the page numbers. The default value is a comma, unless the <TT>cols=3</TT><A NAME="2954"></A> option is specified, -in which case it has the value <code>&</code>, or if -<TT>style=altlist</TT><A NAME="2963"></A>, -in which case it is simply a space<A NAME="tex2html5" - HREF="#foot1614"><SUP>4</SUP></A>. If the package option <TT>number=none</TT><A NAME="2972"></A> is -specified, <TT>glodelim</TT><A NAME="2974"></A> will have an empty value (unless -<TT>cols=3</TT><A NAME="2985"></A> is specified, -where, again, it will have the value <code>&</code>.) -This setting corresponds to the <TT>delim_0</TT><A NAME="2987"></A> key in the -<TT>makeindex</TT><A NAME="2989"></A> style file. - -<P> -Note that if you want a new line between the description -and the list of page numbers you will need to use -<TT>\noexpand</TT>. For example: -<PRE> -\setglossary{glodelim={\noexpand\newline}} -</PRE> - -<P> -</DD> -<DT><STRONG><TT>delimN</TT><A NAME="2994"></A></STRONG></DT> -<DD> -The delimiter to be inserted between two -page numbers for the same entry. (This corresponds to the -<TT>delim_n</TT><A NAME="2998"></A> key in the <TT>makeindex</TT><A NAME="3000"></A> style file.) -By default, this has the value -<TT>,_</TT> (comma followed by a space). If the -package option <TT>number=none</TT><A NAME="3010"></A> is chosen, the value is set -to empty. - -<P> -</DD> -<DT><STRONG><TT>delimR</TT><A NAME="3012"></A></STRONG></DT> -<DD> -The delimiter to be inserted between the starting and ending page -number range for the same entry. (This corresponds to the -<TT>delim_r</TT><A NAME="3016"></A> key in the <TT>makeindex</TT><A NAME="3018"></A> style file.) -By default, this has the value <code>--</code>. If the -package option <TT>number=none</TT><A NAME="3028"></A> is chosen, the value is set -to empty. - -<P> -</DD> -<DT><STRONG><TT>gloskip</TT><A NAME="3030"></A></STRONG></DT> -<DD> -This specifies what to do between groups. -If <TT>style=list</TT><A NAME="3041"></A> or <TT>style=altlist</TT><A NAME="3050"></A> this has the -value <TT>\indexspace</TT>, otherwise it creates a blank row - in the <TT>longtable</TT> or <TT>supertabular</TT> environment. -This command corresponds to the <TT>group_skip</TT><A NAME="3056"></A> key in -the <TT>makeindex</TT><A NAME="3058"></A> style file. -Note that as from version 2.3, you should no longer redefine -the command <TT>\gloskip</TT>. - -<P> -</DD> -<DT><STRONG><TT>delimT</TT><A NAME="3063"></A></STRONG></DT> -<DD> -The text to be inserted after the list of -page numbers for an entry. (This corresponds to the -<TT>delim_t</TT><A NAME="3067"></A> key in the <TT>makeindex</TT><A NAME="3069"></A> style file.) -The default value depends on the glossary style. It does -nothing for the list-type styles, and has the value -<code>\\</code> for the tabular-type styles. Note that -<TT>delimT</TT><A NAME="3072"></A> is separate from <TT>\glsafternum</TT>. - -<P> -For example, if you are using a 2 column tabular style, -and you want a blank line after every entry (not just -after every group) you can do the following: -<PRE> -\setglossary{delimT={\cr & \cr},gloskip={}} -</PRE> -Note the use of <TT>\cr</TT> instead of <code>\\</code> and -<TT>gloskip</TT><A NAME="3080"></A> is set to nothing otherwise there would be -a double space between groups. -</DD> -</DL> -Note that: -<PRE> -\setglossary{glsnumformat=ignore} -</PRE> -is equivalent to -<PRE> -\setglossary{glsnumformat=ignore,delimN={},delimR={}} -</PRE> - -<P> -As from version 2.4, -you can insert text between groups by redefining the -commands <TT>\glogroupSymbols</TT>, -<TT>\glogroupNumbers</TT>, <TT>\glogroupA</TT> ... <TT>\glogroupZ</TT>. For example, if you are using one -of the list styles, the following will print the appropriate -heading in bold, followed by a gap: -<PRE> -\renewcommand{\glogroupSymbols}{\textbf{Symbols}\indexspace} -\renewcommand{\glogroupNumbers}{\textbf{Numbers}\indexspace} -\renewcommand{\glogroupA}{\textbf{A}\indexspace} -....% similar lines omitted -\renewcommand{\glosgroupZ}{\textbf{Z}\indexspace} -</PRE> - -<P> -The start and end of the main body of the glossary is given by the commands: -<TT>\beforeglossary</TT> and -<TT>\afterglossary</TT>. -If the <TT>style=list</TT><A NAME="3103"></A> -or <TT>style=altlist</TT><A NAME="3112"></A> -package options are chosen these commands simply begin and end -the <TT>description</TT> -environment, otherwise these commands begin and end the -<TT>longtable</TT> or -<TT>supertabular</TT> -environment with argument specified by -<TT>\glossaryalignment</TT><A NAME="tex2html6" - HREF="#foot1148"><SUP>5</SUP></A>. - -<P> -The glossary package no longer conflicts with the <TT>array</TT><A NAME="3119"></A> -package. Changes can now be made to <TT>\glossaryalignment</TT> -regardless of whether or not the <TT>array</TT><A NAME="3124"></A> -package has been used. - -<P> -The command <TT>\gloitem</TT> indicates -what to do at the start of each glossary entry. -This command takes one argument, which will be the text specified by the <TT>name</TT><A NAME="3129"></A> key -in the <TT>\glossary</TT><A NAME="3133"></A> command. In the case of the -<TT>style=list</TT><A NAME="3145"></A> option, -<TT>\gloitem</TT><code>{</code><I>text</I><code>}</code> -will do -<BR> -<BR><code>\item[</code><I>text</I><code>]</code> -<BR> -<BR> -or if <TT>style=altlist</TT><A NAME="3156"></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> &</code> -<BR> -<BR> -This command corresponds to the <TT>item_0</TT><A NAME="3158"></A> key in the -<TT>makeindex</TT><A NAME="3160"></A> style file. - -<P> -If the glossary has a tabular style with a header row -(<TT>header=true</TT><A NAME="3170"></A> and either <TT>style=long</TT><A NAME="3179"></A> or -<TT>style=super</TT><A NAME="3188"></A>), then the header row for <TT>cols=2</TT><A NAME="3197"></A> -will be given by: -<PRE> -\bfseries\entryname & \bfseries \descriptionname\\ -</PRE> -and the header row for <TT>cols=3</TT><A NAME="3206"></A> will be given by: -<PRE> -\bfseries\entryname & \bfseries\descriptionname & -\bfseries\glspageheader\\ -</PRE> -(It may also contain <TT>\hline\hline</TT> if the -<TT>border</TT><A NAME="3217"></A> key is set.) - -<P> -If you want to override this, you need to define the command -<TT>\glossaryheader</TT><A NAME="tex2html7" - HREF="#foot1616"><SUP>6</SUP></A>. - -<P> -For example, if you are using a tabular style with <TT>cols=2</TT><A NAME="3234"></A>, -and you want the <TT>\descriptionname</TT><A NAME="3236"></A> to be centred, you could -do: -<PRE> -\newcommand{\glossaryheader}{\bfseries\entryname & - \hfil\bfseries\descriptionname\\} -</PRE> - -<P> -If you want an extra row below the header row, you can define -the command<TT>\glossarysubheader</TT> - -For example, if you are using <TT>cols=3</TT><A NAME="3250"></A>, and you want an -extra row after the header row, you can do: -<PRE> -\newcommand{\glossarysubheader}{ & & \\} -</PRE> - -<P> -The command <TT>\glosstail</TT> indicates what to do at the end of -the <TT>longtable</TT> or <TT>supertabular</TT> environment. - -<P> -The width of the second column for the tabular-type styles is given by the length -<TT>\descriptionwidth</TT>. This value can be changed using -the <TT>\setlength</TT> command (the default value is <code>0.6\linewidth</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="3267"></A>, <TT>toc</TT><A NAME="3274"></A> and -<TT>number=section</TT><A NAME="3285"></A>. It also loads the -<TT>hyperref</TT><A NAME="3287"></A> package before loading the -<TT>glossary</TT><A NAME="3290"></A> package, so the glossary has hyperlinks -to the section numbers. Experimenting with different package -options, will illustrate the different glossary styles. -You will need to do: -<PRE> -pdflatex sampleSec -makeglos.pl sampleSec -pdflatex sampleSec -pdflatex sampleSec -</PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3293"></A>, you will need -to do -<PRE> -makeindex -s sampleSec.ist -t sampleSec.glg -o sampleSec.gls sampleSec.glo -</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. -The two glossaries have different styles. -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="3296"></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>\storeglosentry</TT><A NAME="3299"></A>. - -<P> -</LI> -<LI><TT>sampleEq.tex</TT> -- This has a glossary where the -numbers in the glossary refer to the equation number rather than -the page number (achieved with the package option -<TT>number=equation</TT><A NAME="3311"></A>). The <TT>\entryname</TT><A NAME="3313"></A>, -<TT>\descriptionname</TT><A NAME="3318"></A>, <TT>\glossaryname</TT><A NAME="3323"></A> and -<TT>\glspageheader</TT><A NAME="3328"></A> are all redefined to customize the -glossary. You will need to do: -<PRE> -latex sampleEq -makeglos.pl sampleEq -latex sampleEq -</PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3333"></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="3336"></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="3339"></A> as this is better -suited to glossaries with long names. It also uses the -<TT>hyperref</TT><A NAME="3341"></A> package, so the page numbers in the -glossary will automatically be hyperlinks, and the acronyms -within the text will have hyperlinks to their corresponding entry -in the glossary. You will need to do: -<PRE> -pdflatex sampleAcr -makeglos.pl sampleAcr -pdflatex sampleAcr -pdflatex sampleAcr -</PRE> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3344"></A>, you will need -to do -<PRE> -makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo -</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="3347"></A>, the two entries -will be treated separately, however, if you want them -concatenated, you can use <TT>makeglos.pl</TT><A NAME="3350"></A> with -the <TT>-m</TT> switch. You will need to do: -<PRE> -pdflatex sample -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="3353"></A>) - -<P> -If you don't want to use <TT>makeglos.pl</TT><A NAME="3356"></A>, you will need -to do -<PRE> -makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo -</PRE> -however, the entries with the same name but multiple descriptions -will not be merged. You will also have to given them different sort -keys otherwise you will get duplicate hyper targets. - -<P> -</LI> -<LI><TT>sample4col.tex</TT>--This illustrates how to -modify the glossary style so that it has 4 columns. You -will need to do: -<PRE> -latex sample4col -makeglos.pl sample4col -latex sample4col -</PRE> - -<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="3359"></A>, is -provided with this package for those wishing to use the -glossary package with the LaTeX2HTML translator. -The file <TT>glossary.perl</TT><A NAME="3361"></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="3370"></A>, <TT>hyper=true</TT><A NAME="3379"></A>, <TT>toc=true</TT><A NAME="3388"></A>, -<TT>acronym=true</TT><A NAME="3397"></A> and <TT>acronym=false</TT><A NAME="3406"></A>. - -<P> -</LI> -<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>\setglossary</TT><A NAME="3408"></A> must be -placed in the preamble to have an effect. - -<P> -</LI> -<LI>The <TT>\storeglosentry</TT><A NAME="3413"></A> commands must be in -the document environment to have an effect. (They don't -seem to work in the preamble, I don't know why.) - -<P> -</LI> -<LI>If you place a <TT>\glossary</TT><A NAME="3418"></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>\glossary</TT><A NAME="3423"></A>. You can overcome this -by doing, e.g.: -<BR><TT>\begin</TT><code>{latexonly}</code> -<BR><code>\glossary{name=$"|\mathcal{S}"|$,description=cardinality of set</code> -<BR><code>$\mathcal{S}$,sort=cardinality}</code> -<BR><TT>\end</TT><code>{latexonly}</code> -<BR><TT>\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>\end</TT><code>{htmlonly}</code> - -<P> -Alternative, you can use <TT>\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 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> - -<P> -This is a list of common problems, for a more up-to-date FAQ, see -<TT><A NAME="tex2html8" - HREF="http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/">http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/</A></TT>. - -<P> - -<OL> -<LI>My glossary hasn't appeared. - -<P> -Check the following: - -<UL> -<LI>Have you included the command <TT>\makeglossary</TT><A NAME="3438"></A> -in the preamble? - -<P> -</LI> -<LI>Have you put the command <TT>\printglossary</TT><A NAME="3443"></A> where -you want the glossary to appear? - -<P> -</LI> -<LI>Have you used <TT>makeglos.pl</TT><A NAME="3448"></A> or <TT>makeindex</TT><A NAME="3451"></A>, -and if you did, did it successfully create the <TT>gls</TT><A NAME="3454"></A> -file? (Check the transcript <TT>glg</TT><A NAME="3456"></A> file.) - -<P> - -<UL> -<LI>If you used <TT>makeindex</TT><A NAME="3458"></A> directly, did you specify -the <TT>ist</TT><A NAME="3461"></A> file created by <TT>\makeglossary</TT><A NAME="3463"></A>, -and did you remember to specify the output file with the extension -<TT>gls</TT><A NAME="3468"></A>? - -<P> -</LI> -<LI>When <TT>makeindex</TT><A NAME="3470"></A> scans the <TT>ist</TT><A NAME="3473"></A> file, -it should generate the message: -<PRE> -9 attributes redefined, 0 ignored -</PRE> -If you have a number other than 0 ignored, then there is something -wrong with the <TT>ist</TT><A NAME="3475"></A> file. Some packages can cause -problems with the creation of this file, see -item <A HREF="#itm:ngerman">16</A> below. -</LI> -</UL> - -<P> -</LI> -<LI>Have you remembered to LaTeX your document again -after using <TT>makeglos.pl</TT><A NAME="3477"></A> or <TT>makeindex</TT><A NAME="3480"></A>? - -<P> -</LI> -<LI>Have you used <TT>\glossary</TT><A NAME="3483"></A> or <TT>\xglossary</TT><A NAME="3488"></A>? - -<P> -</LI> -<LI>If you have used <TT>\storeglosentry</TT><A NAME="3493"></A>, have you also -used <TT>\useglosentry</TT><A NAME="3498"></A>, <TT>\useGlosentry</TT><A NAME="3503"></A> or -<TT>\gls</TT><A NAME="3508"></A>? -</LI> -</UL> - -<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="3520"></A> package option? If no, -check the answers to the previous item, if yes, make sure -you have used <TT>\makeacronym</TT><A NAME="3522"></A> and <TT>\printacronym</TT><A NAME="3527"></A>. -Have you used any of the acronyms you have defined? Remember -that <TT>\acrsh</TT>, <TT>\acrln</TT>, -<TT>\</TT><I>acr-name</I><TT>short</TT> and -<TT>\</TT><I>acr-name</I><TT>long</TT> don't generate entries -in the list of acronyms, where <TT>\</TT><I>acr-name</I> is the -name of an acronym command. - -<P> -</LI> -<LI>My acronym has been expanded twice. - -<P> -By default, if any of your acronym commands occur within a -group (this includes environments which form implicit grouping) -the effect will be local to that group. You can either unset -the acronym outside the group, or use the <TT>global</TT><A NAME="3547"></A> -package option. - -<P> -</LI> -<LI>I get an error when using the command -<TT>\saveglosentry</TT><A NAME="3551"></A>. - -<P> -Don't use this command it's obsolete, use -<TT>\storeglosentry</TT><A NAME="3556"></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>\storeglosentry</TT><A NAME="3561"></A> -have you used either <TT>\useglosentry</TT><A NAME="3566"></A>, -<TT>\useGlosentry</TT><A NAME="3571"></A> or <TT>\gls</TT><A NAME="3576"></A>? - -<P> -</LI> -<LI>Have you remembered to <TT>\protect</TT><A NAME="3581"></A> commands -such as <TT>\mathcal</TT> within <TT>\storeglosentry</TT><A NAME="3588"></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="3593"></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="3596"></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="3599"></A>, -because the first has only one space -between `Identity' and `matrix' and the second has two. -The easiest way to ensure consistency is to use -<TT>\storeglosentry</TT><A NAME="3602"></A> together with <TT>\useglosentry</TT><A NAME="3607"></A>, -<TT>\useGlosentry</TT><A NAME="3612"></A> or <TT>\gls</TT><A NAME="3617"></A>. - -<P> -</LI> -<LI>I had an error, fixed it, but I keep getting the same error message. - -<P> -Suppose you've made an error in the <TT>\glossary</TT><A NAME="3622"></A> command. For example: -<PRE> -\glossary{name=Java,description=A programming language,format=texbf} -</PRE> -In this case <TT>textbf</TT> has been mis-spelt. This error will be copied to the <TT>glo</TT><A NAME="3627"></A> file, -which in turn will be copied to the <TT>gls</TT><A NAME="3629"></A> file by -<TT>makeindex</TT><A NAME="3631"></A>. A subsequent run of LaTeX will -read this error in. If you fix the error in your main document, the error will still be read in from -the <TT>gls</TT><A NAME="3634"></A> file. The best thing to do is to delete the -<TT>gls</TT><A NAME="3636"></A> file, and try again. - -<P> -</LI> -<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="3645"></A> or <TT>style=super</TT><A NAME="3654"></A> -options. The width of the description column is proportional to -the line width (in fact, it's <code>0.6\linewidth</code>) -but the first column is as wide as the widest entry name. You -can either redefine <TT>\glossaryalignment</TT><A NAME="3656"></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>\tableofcontents</TT>, <TT>\listoffigures</TT> etc). - -<P> -</LI> -<LI>I'm getting a <TT>keyval</TT><A NAME="3665"></A> error. - -<P> -The <TT>glossary</TT><A NAME="3668"></A> package uses the <TT>keyval</TT><A NAME="3671"></A> -package to extract the information from <I>key</I>=<I>value</I> -comma separated lists. You need to make sure the syntax is correct. -If your <I>value</I> contains a -comma, you will need to enclose <I>value</I> in curly braces. See the <TT>keyval</TT><A NAME="3674"></A> documentation for -further information<A NAME="tex2html9" - HREF="#foot1617"><SUP>7</SUP></A>. - -<P> -</LI> -<LI>I've used the <TT>hyper</TT><A NAME="3682"></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="3686"></A> or -<TT>html</TT><A NAME="3689"></A> package? -</LI> -<LI>Have you remembered to use a formatting command which uses <TT>\hyperlink</TT>? (E.g. using <TT>hyperbf</TT><A NAME="3694"></A><A NAME="3695"></A> instead -of <TT>textbf</TT>)? Remember to check the <TT>format</TT><A NAME="3699"></A> key -in your <TT>\glossary</TT><A NAME="3703"></A> commands, and the -<TT>glsnumformat</TT><A NAME="3708"></A> key in the <TT>\setglossary</TT><A NAME="3712"></A> -command. -</LI> -<LI>What application are you using to view the PDF file? -Ghostview can display a PDF file, but ignores the links. If you are using Windows, try -using Adobe's Acrobat Reader, or if you are using UNIX or Linux, try using <TT>xpdf</TT><A NAME="3717"></A> or <TT>acroread</TT><A NAME="3720"></A>. -</LI> -</OL> - -<P> -</LI> -<LI>The <TT>glossary</TT><A NAME="3723"></A> package conflicts with the -<TT>datetime</TT><A NAME="3726"></A> package. - -<P> -This has been fixed in version 2.01. - -<P> -</LI> -<LI>I get an error when using certain commands, such as <TT>\cite</TT> or <code>~</code> in <TT>\newacronym</TT><A NAME="3731"></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="3736"></A> package used to conflict with the -<TT>array</TT><A NAME="3739"></A> package. This was fixed in version 2.1. -As from version 2.3, it doesn't matter whether you load -the <TT>glossary</TT><A NAME="3742"></A> package before or after the -<TT>array</TT><A NAME="3745"></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>\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="3750"></A> package conflicts with -<TT>ngerman</TT><A NAME="3753"></A>. - -<P> -This problem is caused by the fact that <TT>ngerman</TT><A NAME="3756"></A> -redefines the effect of the double quote -character, but this character is used in the creation of the -<TT>ist</TT><A NAME="3759"></A> <TT>makeindex</TT><A NAME="3761"></A> style file. -Try one of the following methods: - -<OL> -<LI>Include the <TT>ngerman</TT><A NAME="3764"></A> package after the -<TT>\makeglossary</TT><A NAME="3767"></A> command: -<PRE> -\usepackage{glossary} -\makeglossary -\usepackage{ngerman} -</PRE> - -<P> -</LI> -<LI>First omit the <TT>ngerman</TT><A NAME="3772"></A> package and include -<TT>\makeglossary</TT><A NAME="3775"></A> then LaTeX your document. -This will create the <TT>ist</TT><A NAME="3780"></A> file. Then include the -<TT>ngerman</TT><A NAME="3782"></A> package, and insert <TT>\noist</TT><A NAME="3785"></A> before -the <TT>\makeglossary</TT><A NAME="3790"></A> command, this will prevent further attempts to generate the <TT>ist</TT><A NAME="3795"></A> file. -<PRE> -\usepackage{ngerman} -\usepackage{glossary} -\noist\makeglossary -</PRE> - -<P> -</LI> -<LI>Use <TT>\noist</TT><A NAME="3797"></A>, as above, and create the -<TT>ist</TT><A NAME="3802"></A> file -in an ordinary text editor. The file should contain the -following lines: -<PRE> -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="3804"></A> gives the following error message: -<PRE> -unable to extract name from glossary item: -</PRE> - -<P> -You are using an old version of <TT>makeglos.pl</TT><A NAME="3807"></A> with a -new version of the <TT>glossary</TT><A NAME="3810"></A> package. You will need -to update your version <TT>makeglos.pl</TT><A NAME="3813"></A>. -</LI> -</OL> -Let me know if you encounter any other problems or if you have any comments regarding this package. - -<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>\saveglosentry</TT><A NAME="3816"></A>{ <I>name</I>}{<I>description</I>} -<BR> -This command has now been replaced by <TT>\storeglosentry</TT>. - -<P> -The command <TT>\glsprimaryfmt</TT> has now been removed. - -<P> -The package option <TT>hyperacronym</TT><A NAME="3830"></A> is now superseded by the package option -<TT>hyper</TT><A NAME="3839"></A>. This option was implemented prior to the -introduction of the command <TT>\xglossary</TT><A NAME="3843"></A>. Since the -acronyms now use <TT>\xglossary</TT><A NAME="3848"></A>, there is no difference -between the <TT>hyperacronym</TT><A NAME="3858"></A> and <TT>hyper</TT><A NAME="3867"></A> options. -This option has a boolean value: - -<DL> -<DT><STRONG><TT>true</TT><A NAME="3871"></A></STRONG></DT> -<DD>Make acronyms link to their corresponding entry in the glossary -</DD> -<DT><STRONG><TT>false</TT><A NAME="3873"></A></STRONG></DT> -<DD>Acronyms don't have a hyperlink. -</DD> -</DL> -If the <TT>hyperref</TT><A NAME="3875"></A> package has been loaded prior to -loading <TT>glossary.sty</TT> or if <TT>hyper=true</TT><A NAME="3885"></A> is set, -<TT>hyperacronym=true</TT><A NAME="3894"></A> otherwise -<TT>hyperacronym=false</TT><A NAME="3903"></A>. -<P> - -<H1><A NAME="SECTION000150000000000000000"> -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="tex2html10" - 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 all the many people who have made suggestions -and pointed out bugs. - -<P> - -<P> -<BR> - -<H2><A NAME="SECTION000170000000000000000"> -Index</A> -</H2><DL COMPACT> -<DT><STRONG><TT>acroread</TT></STRONG> -<DD><A HREF="manual.html#3720">Troubleshooting</A> -<DT><STRONG><TT>array</TT></STRONG> -<DD><A HREF="manual.html#3119">Customizing the Glossary</A> - | <A HREF="manual.html#3124">Customizing the Glossary</A> - | <A HREF="manual.html#3739">Troubleshooting</A> - | <A HREF="manual.html#3745">Troubleshooting</A> -<DT><STRONG><TT>datetime</TT></STRONG> -<DD><A HREF="manual.html#3726">Troubleshooting</A> -<DT><STRONG><TT>\descriptionname</TT></STRONG> -<DD><A HREF="manual.html#3236">Customizing the Glossary</A> - | <A HREF="manual.html#3318">Sample Documents</A> -<DT><STRONG><TT>\entryname</TT></STRONG> -<DD><A HREF="manual.html#3313">Sample Documents</A> -<DT><STRONG>file types</STRONG> -<DD><DL COMPACT> -<DT><STRONG>acr</STRONG> -<DD><A HREF="manual.html#2700">Acronyms</A> -<DT><STRONG>cfg</STRONG> -<DD><A HREF="manual.html#2354">Package Options</A> - | <A HREF="manual.html#2719">Acronyms</A> -<DT><STRONG>glg</STRONG> -<DD><A HREF="manual.html#1960">makeglos.pl</A> - | <A HREF="manual.html#2588">Defining New Glossary Types</A> - | <A HREF="manual.html#3456">Troubleshooting</A> -<DT><STRONG>glo</STRONG> -<DD><A HREF="manual.html#1933">makeglos.pl</A> - | <A HREF="manual.html#1948">makeglos.pl</A> - | <A HREF="manual.html#2572">Defining New Glossary Types</A> - | <A HREF="manual.html#3627">Troubleshooting</A> -<DT><STRONG>gls</STRONG> -<DD><A HREF="manual.html#1958">makeglos.pl</A> - | <A HREF="manual.html#2022">Displaying the Glossary</A> - | <A HREF="manual.html#2583">Defining New Glossary Types</A> - | <A HREF="manual.html#3454">Troubleshooting</A> - | <A HREF="manual.html#3468">Troubleshooting</A> - | <A HREF="manual.html#3629">Troubleshooting</A> - | <A HREF="manual.html#3634">Troubleshooting</A> - | <A HREF="manual.html#3636">Troubleshooting</A> -<DT><STRONG>ist</STRONG> -<DD><A HREF="manual.html#1943">makeglos.pl</A> - | <A HREF="manual.html#1953">makeglos.pl</A> - | <A HREF="manual.html#1980">makeglos.pl</A> - | <A HREF="manual.html#1986">makeglos.pl</A> - | <A HREF="manual.html#1988">makeglos.pl</A> - | <A HREF="manual.html#1990">makeglos.pl</A> - | <A HREF="manual.html#2009">makeglos.pl</A> - | <A HREF="manual.html#3461">Troubleshooting</A> - | <A HREF="manual.html#3473">Troubleshooting</A> - | <A HREF="manual.html#3475">Troubleshooting</A> - | <A HREF="manual.html#3759">Troubleshooting</A> - | <A HREF="manual.html#3780">Troubleshooting</A> - | <A HREF="manual.html#3795">Troubleshooting</A> - | <A HREF="manual.html#3802">Troubleshooting</A> -<DT><STRONG>perl</STRONG> -<DD><A HREF="manual.html#3359">LaTeX2HTML Style File</A> - | <A HREF="manual.html#3361">LaTeX2HTML Style File</A> -</DL> -<DT><STRONG><TT>\glodesc</TT></STRONG> -<DD><A HREF="manual.html#2751">Acronyms</A> - | <A HREF="manual.html#2765">Acronyms</A> -<DT><STRONG><TT>\glolong</TT></STRONG> -<DD><A HREF="manual.html#2729">Acronyms</A> - | <A HREF="manual.html#2741">Acronyms</A> -<DT><STRONG><TT>\gloshort</TT></STRONG> -<DD><A HREF="manual.html#2734">Acronyms</A> - | <A HREF="manual.html#2746">Acronyms</A> -<DT><STRONG><TT>glossary</TT></STRONG> -<DD><A HREF="manual.html#1680">Introduction</A> - | <A HREF="manual.html#1833">Generating Glossary Information</A> - | <A HREF="manual.html#1846">Generating Glossary Information</A> - | <A HREF="manual.html#1851">Storing Glossary Information</A> - | <A HREF="manual.html#1856">Storing Glossary Information</A> - | <A HREF="manual.html#1859">Storing Glossary Information</A> - | <A HREF="manual.html#2358">Package Options</A> - | <A HREF="manual.html#2361">Examples</A> - | <A HREF="manual.html#2541">Defining New Glossary Types</A> - | <A HREF="manual.html#2620">Acronyms</A> - | <A HREF="manual.html#2625">Acronyms</A> - | <A HREF="manual.html#2836">Acronyms</A> - | <A HREF="manual.html#2871">Customizing the Glossary</A> - | <A HREF="manual.html#3133">Customizing the Glossary</A> - | <A HREF="manual.html#3290">Sample Documents</A> - | <A HREF="manual.html#3418">Limitations</A> - | <A HREF="manual.html#3423">Limitations</A> - | <A HREF="manual.html#3483">Troubleshooting</A> - | <A HREF="manual.html#3622">Troubleshooting</A> - | <A HREF="manual.html#3668">Troubleshooting</A> - | <A HREF="manual.html#3703">Troubleshooting</A> - | <A HREF="manual.html#3723">Troubleshooting</A> - | <A HREF="manual.html#3736">Troubleshooting</A> - | <A HREF="manual.html#3742">Troubleshooting</A> - | <A HREF="manual.html#3750">Troubleshooting</A> - | <A HREF="manual.html#3810">Troubleshooting</A> -<DT><STRONG>glossary border</STRONG> -<DD><i>see </i> package options, border -<DT><STRONG>glossary columns</STRONG> -<DD><i>see </i> package options, cols -<DT><STRONG>glossary header</STRONG> -<DD><i>see </i> package options, header -<DT><STRONG><TT>\glossary</TT> keys</STRONG> -<DD><DL COMPACT> -<DT><STRONG>description</STRONG> -<DD><A HREF="manual.html#1709">Generating Glossary Information</A> - | <A HREF="manual.html#1880">Storing Glossary Information</A> - | <A HREF="manual.html#2756">Acronyms</A> -<DT><STRONG>format</STRONG> -<DD><A HREF="manual.html#1717">Generating Glossary Information</A> - | <A HREF="manual.html#1743">Generating Glossary Information</A> - | <A HREF="manual.html#3699">Troubleshooting</A> -<DD><DL COMPACT> -<DT><STRONG>hyperbf</STRONG> -<DD><A HREF="manual.html#1765">Generating Glossary Information</A> - | <A HREF="manual.html#3695">Troubleshooting</A> -<DT><STRONG>hyperem</STRONG> -<DD><A HREF="manual.html#1795">Generating Glossary Information</A> - | <A HREF="manual.html#1811">Generating Glossary Information</A> -<DT><STRONG>hyperit</STRONG> -<DD><A HREF="manual.html#1775">Generating Glossary Information</A> -<DT><STRONG>hypermd</STRONG> -<DD><A HREF="manual.html#1770">Generating Glossary Information</A> -<DT><STRONG>hyperrm</STRONG> -<DD><A HREF="manual.html#1750">Generating Glossary Information</A> - | <A HREF="manual.html#1816">Generating Glossary Information</A> -<DT><STRONG>hypersc</STRONG> -<DD><A HREF="manual.html#1790">Generating Glossary Information</A> -<DT><STRONG>hypersf</STRONG> -<DD><A HREF="manual.html#1755">Generating Glossary Information</A> -<DT><STRONG>hypersl</STRONG> -<DD><A HREF="manual.html#1780">Generating Glossary Information</A> -<DT><STRONG>hypertt</STRONG> -<DD><A HREF="manual.html#1760">Generating Glossary Information</A> -<DT><STRONG>hyperup</STRONG> -<DD><A HREF="manual.html#1785">Generating Glossary Information</A> -</DL> -<DT><STRONG>name</STRONG> -<DD><A HREF="manual.html#1705">Generating Glossary Information</A> - | <A HREF="manual.html#1729">Generating Glossary Information</A> - | <A HREF="manual.html#1733">Generating Glossary Information</A> - | <A HREF="manual.html#2639">Acronyms</A> - | <A HREF="manual.html#2648">Acronyms</A> - | <A HREF="manual.html#2723">Acronyms</A> - | <A HREF="manual.html#2774">Acronyms</A> - | <A HREF="manual.html#3129">Customizing the Glossary</A> -<DT><STRONG>number</STRONG> -<DD><A HREF="manual.html#1721">Generating Glossary Information</A> - | <A HREF="manual.html#1838">Generating Glossary Information</A> -<DT><STRONG>sort</STRONG> -<DD><A HREF="manual.html#1713">Generating Glossary Information</A> - | <A HREF="manual.html#1725">Generating Glossary Information</A> - | <A HREF="manual.html#1737">Generating Glossary Information</A> - | <A HREF="manual.html#2654">Acronyms</A> -</DL> -<DT><STRONG>glossary style</STRONG> -<DD><i>see </i> package options, style -<DT><STRONG>glossary.cfg</STRONG> -<DD><i>see </i> file type, cfg -<DT><STRONG><TT>\glossaryalignment</TT></STRONG> -<DD><A HREF="manual.html#3656">Troubleshooting</A> -<DT><STRONG><TT>\glossaryname</TT></STRONG> -<DD><A HREF="manual.html#2028">Displaying the Glossary</A> - | <A HREF="manual.html#2613">Defining New Glossary Types</A> - | <A HREF="manual.html#3323">Sample Documents</A> -<DT><STRONG><TT>\gls</TT></STRONG> -<DD><A HREF="manual.html#1905">Storing Glossary Information</A> - | <A HREF="manual.html#3508">Troubleshooting</A> - | <A HREF="manual.html#3576">Troubleshooting</A> - | <A HREF="manual.html#3617">Troubleshooting</A> -<DT><STRONG><TT>\glspageheader</TT></STRONG> -<DD><A HREF="manual.html#3328">Sample Documents</A> -<DT><STRONG><TT>html</TT></STRONG> -<DD><A HREF="manual.html#2220">Package Options</A> - | <A HREF="manual.html#3689">Troubleshooting</A> -<DT><STRONG><TT>hyperref</TT></STRONG> -<DD><A HREF="manual.html#2151">Package Options</A> - | <A HREF="manual.html#2217">Package Options</A> - | <A HREF="manual.html#3287">Sample Documents</A> - | <A HREF="manual.html#3341">Sample Documents</A> - | <A HREF="manual.html#3686">Troubleshooting</A> - | <A HREF="manual.html#3875">Obsolete Commands</A> -<DT><STRONG><TT>\hyperrm</TT></STRONG> -<DD><A HREF="manual.html#1826">Generating Glossary Information</A> -<DT><STRONG><TT>keyval</TT></STRONG> -<DD><A HREF="manual.html#3665">Troubleshooting</A> - | <A HREF="manual.html#3671">Troubleshooting</A> - | <A HREF="manual.html#3674">Troubleshooting</A> -<DT><STRONG><TT>\makeacronym</TT></STRONG> -<DD><A HREF="manual.html#2690">Acronyms</A> - | <A HREF="manual.html#3522">Troubleshooting</A> -<DT><STRONG><TT>makeglos.pl</TT></STRONG> -<DD><A HREF="manual.html#1962">makeglos.pl</A> - | <A HREF="manual.html#1968">makeglos.pl</A> - | <A HREF="manual.html#1971">makeglos.pl</A> - | <A HREF="manual.html#1977">makeglos.pl</A> - | <A HREF="manual.html#2577">Defining New Glossary Types</A> - | <A HREF="manual.html#2590">Defining New Glossary Types</A> - | <A HREF="manual.html#2596">Defining New Glossary Types</A> - | <A HREF="manual.html#2599">Defining New Glossary Types</A> - | <A HREF="manual.html#2602">Defining New Glossary Types</A> - | <A HREF="manual.html#2705">Acronyms</A> - | <A HREF="manual.html#3293">Sample Documents</A> - | <A HREF="manual.html#3296">Sample Documents</A> - | <A HREF="manual.html#3333">Sample Documents</A> - | <A HREF="manual.html#3336">Sample Documents</A> - | <A HREF="manual.html#3344">Sample Documents</A> - | <A HREF="manual.html#3350">Sample Documents</A> - | <A HREF="manual.html#3353">Sample Documents</A> - | <A HREF="manual.html#3356">Sample Documents</A> - | <A HREF="manual.html#3448">Troubleshooting</A> - | <A HREF="manual.html#3477">Troubleshooting</A> - | <A HREF="manual.html#3804">Troubleshooting</A> - | <A HREF="manual.html#3807">Troubleshooting</A> - | <A HREF="manual.html#3813">Troubleshooting</A> -<DT><STRONG><TT>\makeglossary</TT></STRONG> -<DD><A HREF="manual.html#1935">makeglos.pl</A> - | <A HREF="manual.html#1994">makeglos.pl</A> - | <A HREF="manual.html#2004">makeglos.pl</A> - | <A HREF="manual.html#2014">makeglos.pl</A> - | <A HREF="manual.html#2536">Defining New Glossary Types</A> - | <A HREF="manual.html#3438">Troubleshooting</A> - | <A HREF="manual.html#3463">Troubleshooting</A> - | <A HREF="manual.html#3767">Troubleshooting</A> - | <A HREF="manual.html#3775">Troubleshooting</A> - | <A HREF="manual.html#3790">Troubleshooting</A> -<DT><STRONG><TT>makeindex</TT></STRONG> -<DD><A HREF="manual.html#1683">Installation</A> - | <A HREF="manual.html#1689">Installation</A> - | <A HREF="manual.html#1692">Installation</A> - | <A HREF="manual.html#1940">makeglos.pl</A> - | <A HREF="manual.html#1945">makeglos.pl</A> - | <A HREF="manual.html#1950">makeglos.pl</A> - | <A HREF="manual.html#1955">makeglos.pl</A> - | <A HREF="manual.html#1965">makeglos.pl</A> - | <A HREF="manual.html#1974">makeglos.pl</A> - | <A HREF="manual.html#2019">makeglos.pl</A> - | <A HREF="manual.html#2024">Displaying the Glossary</A> - | <A HREF="manual.html#2574">Defining New Glossary Types</A> - | <A HREF="manual.html#2580">Defining New Glossary Types</A> - | <A HREF="manual.html#2585">Defining New Glossary Types</A> - | <A HREF="manual.html#2593">Defining New Glossary Types</A> - | <A HREF="manual.html#2605">Defining New Glossary Types</A> - | <A HREF="manual.html#2702">Acronyms</A> - | <A HREF="manual.html#2778">Acronyms</A> - | <A HREF="manual.html#2989">Customizing the Glossary</A> - | <A HREF="manual.html#3000">Customizing the Glossary</A> - | <A HREF="manual.html#3018">Customizing the Glossary</A> - | <A HREF="manual.html#3058">Customizing the Glossary</A> - | <A HREF="manual.html#3069">Customizing the Glossary</A> - | <A HREF="manual.html#3160">Customizing the Glossary</A> - | <A HREF="manual.html#3347">Sample Documents</A> - | <A HREF="manual.html#3451">Troubleshooting</A> - | <A HREF="manual.html#3458">Troubleshooting</A> - | <A HREF="manual.html#3470">Troubleshooting</A> - | <A HREF="manual.html#3480">Troubleshooting</A> - | <A HREF="manual.html#3593">Troubleshooting</A> - | <A HREF="manual.html#3596">Troubleshooting</A> - | <A HREF="manual.html#3599">Troubleshooting</A> - | <A HREF="manual.html#3631">Troubleshooting</A> - | <A HREF="manual.html#3761">Troubleshooting</A> -<DT><STRONG>makeindex key</STRONG> -<DD><DL COMPACT> -<DT><STRONG>delim_0</STRONG> -<DD><A HREF="manual.html#2987">Customizing the Glossary</A> -<DT><STRONG>delim_n</STRONG> -<DD><A HREF="manual.html#2998">Customizing the Glossary</A> -<DT><STRONG>delim_r</STRONG> -<DD><A HREF="manual.html#3016">Customizing the Glossary</A> -<DT><STRONG>delim_t</STRONG> -<DD><A HREF="manual.html#3067">Customizing the Glossary</A> -<DT><STRONG>group_skip</STRONG> -<DD><A HREF="manual.html#3056">Customizing the Glossary</A> -<DT><STRONG>item_0</STRONG> -<DD><A HREF="manual.html#3158">Customizing the Glossary</A> -</DL> -<DT><STRONG>makeindex style file (.ist)</STRONG> -<DD><i>see </i> file types, ist -<DT><STRONG><TT>\newacronym</TT></STRONG> -<DD><A HREF="manual.html#2760">Acronyms</A> - | <A HREF="manual.html#3731">Troubleshooting</A> -<DT><STRONG><TT>\newglossarystyle</TT></STRONG> -<DD><A HREF="manual.html#2924">Customizing the Glossary</A> -<DT><STRONG><TT>ngerman</TT></STRONG> -<DD><A HREF="manual.html#2011">makeglos.pl</A> - | <A HREF="manual.html#3753">Troubleshooting</A> - | <A HREF="manual.html#3756">Troubleshooting</A> - | <A HREF="manual.html#3764">Troubleshooting</A> - | <A HREF="manual.html#3772">Troubleshooting</A> - | <A HREF="manual.html#3782">Troubleshooting</A> -<DT><STRONG><TT>\nofiles</TT></STRONG> -<DD><A HREF="manual.html#1999">makeglos.pl</A> -<DT><STRONG><TT>\noist</TT></STRONG> -<DD><A HREF="manual.html#3785">Troubleshooting</A> - | <A HREF="manual.html#3797">Troubleshooting</A> -<DT><STRONG>package options</STRONG> -<DD><DL COMPACT> -<DT><STRONG>,</STRONG><DD><DL COMPACT> -<DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#2109">Package Options</A> -</DL> -<DT><STRONG>acronym</STRONG> -<DD><A HREF="manual.html#2268">Package Options</A> - | <A HREF="manual.html#2270">Package Options</A> - | <A HREF="manual.html#2663">Acronyms</A> - | <A HREF="manual.html#2665">Acronyms</A> - | <A HREF="manual.html#2686">Acronyms</A> - | <A HREF="manual.html#2713">Acronyms</A> - | <A HREF="manual.html#3395">Limitations</A> - | <A HREF="manual.html#3404">Limitations</A> - | <A HREF="manual.html#3518">Troubleshooting</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2274">Package Options</A> - | <A HREF="manual.html#3406">Limitations</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2272">Package Options</A> - | <A HREF="manual.html#2688">Acronyms</A> - | <A HREF="manual.html#2715">Acronyms</A> - | <A HREF="manual.html#3397">Limitations</A> - | <A HREF="manual.html#3520">Troubleshooting</A> -</DL> -<DT><STRONG>border</STRONG> -<DD><A HREF="manual.html#2079">Package Options</A> - | <A HREF="manual.html#2081">Package Options</A> - | <A HREF="manual.html#2294">Package Options</A> - | <A HREF="manual.html#2296">Package Options</A> - | <A HREF="manual.html#2422">Examples</A> - | <A HREF="manual.html#2458">Examples</A> - | <A HREF="manual.html#2485">Examples</A> - | <A HREF="manual.html#2512">Examples</A> - | <A HREF="manual.html#3217">Customizing the Glossary</A> - | <A HREF="manual.html#3219">Customizing the Glossary</A> -<DD><DL COMPACT> -<DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#2083">Package Options</A> - | <A HREF="manual.html#2424">Examples</A> - | <A HREF="manual.html#2514">Examples</A> -<DT><STRONG>plain</STRONG> -<DD><A HREF="manual.html#2085">Package Options</A> - | <A HREF="manual.html#2460">Examples</A> - | <A HREF="manual.html#2487">Examples</A> -</DL> -<DT><STRONG>cols</STRONG> -<DD><A HREF="manual.html#2092">Package Options</A> - | <A HREF="manual.html#2094">Package Options</A> - | <A HREF="manual.html#2312">Package Options</A> - | <A HREF="manual.html#2314">Package Options</A> - | <A HREF="manual.html#2530">Examples</A> - | <A HREF="manual.html#2902">Customizing the Glossary</A> - | <A HREF="manual.html#2952">Customizing the Glossary</A> - | <A HREF="manual.html#2983">Customizing the Glossary</A> - | <A HREF="manual.html#3195">Customizing the Glossary</A> - | <A HREF="manual.html#3204">Customizing the Glossary</A> - | <A HREF="manual.html#3232">Customizing the Glossary</A> - | <A HREF="manual.html#3248">Customizing the Glossary</A> -<DD><DL COMPACT> -<DT><STRONG>2</STRONG> -<DD><A HREF="manual.html#2096">Package Options</A> - | <A HREF="manual.html#3197">Customizing the Glossary</A> - | <A HREF="manual.html#3234">Customizing the Glossary</A> -<DT><STRONG>3</STRONG> -<DD><A HREF="manual.html#2098">Package Options</A> - | <A HREF="manual.html#2532">Examples</A> - | <A HREF="manual.html#2904">Customizing the Glossary</A> - | <A HREF="manual.html#2954">Customizing the Glossary</A> - | <A HREF="manual.html#2985">Customizing the Glossary</A> - | <A HREF="manual.html#3206">Customizing the Glossary</A> - | <A HREF="manual.html#3250">Customizing the Glossary</A> -</DL> -<DT><STRONG>global</STRONG> -<DD><A HREF="manual.html#2281">Package Options</A> - | <A HREF="manual.html#2283">Package Options</A> - | <A HREF="manual.html#3547">Troubleshooting</A> - | <A HREF="manual.html#3549">Troubleshooting</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2285">Package Options</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2287">Package Options</A> -</DL> -<DT><STRONG>header</STRONG> -<DD><A HREF="manual.html#2066">Package Options</A> - | <A HREF="manual.html#2068">Package Options</A> - | <A HREF="manual.html#2303">Package Options</A> - | <A HREF="manual.html#2305">Package Options</A> - | <A HREF="manual.html#2431">Examples</A> - | <A HREF="manual.html#2467">Examples</A> - | <A HREF="manual.html#2494">Examples</A> - | <A HREF="manual.html#2521">Examples</A> - | <A HREF="manual.html#2893">Customizing the Glossary</A> - | <A HREF="manual.html#3168">Customizing the Glossary</A> -<DD><DL COMPACT> -<DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#2070">Package Options</A> - | <A HREF="manual.html#2433">Examples</A> - | <A HREF="manual.html#2469">Examples</A> -<DT><STRONG>plain</STRONG> -<DD><A HREF="manual.html#2072">Package Options</A> - | <A HREF="manual.html#2496">Examples</A> - | <A HREF="manual.html#2523">Examples</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2895">Customizing the Glossary</A> - | <A HREF="manual.html#3170">Customizing the Glossary</A> -</DL> -<DT><STRONG>hyper</STRONG> -<DD><A HREF="manual.html#1806">Generating Glossary Information</A> - | <A HREF="manual.html#1808">Generating Glossary Information</A> - | <A HREF="manual.html#2204">Package Options</A> - | <A HREF="manual.html#2206">Package Options</A> - | <A HREF="manual.html#2228">Package Options</A> - | <A HREF="manual.html#2237">Package Options</A> - | <A HREF="manual.html#2827">Acronyms</A> - | <A HREF="manual.html#2829">Acronyms</A> - | <A HREF="manual.html#3377">Limitations</A> - | <A HREF="manual.html#3682">Troubleshooting</A> - | <A HREF="manual.html#3684">Troubleshooting</A> - | <A HREF="manual.html#3839">Obsolete Commands</A> - | <A HREF="manual.html#3841">Obsolete Commands</A> - | <A HREF="manual.html#3867">Obsolete Commands</A> - | <A HREF="manual.html#3869">Obsolete Commands</A> - | <A HREF="manual.html#3883">Obsolete Commands</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2215">Package Options</A> - | <A HREF="manual.html#2239">Package Options</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2208">Package Options</A> - | <A HREF="manual.html#2230">Package Options</A> - | <A HREF="manual.html#3379">Limitations</A> - | <A HREF="manual.html#3885">Obsolete Commands</A> -</DL> -<DT><STRONG>hyperacronym</STRONG> -<DD><A HREF="manual.html#2246">Package Options</A> - | <A HREF="manual.html#2248">Package Options</A> - | <A HREF="manual.html#3830">Obsolete Commands</A> - | <A HREF="manual.html#3832">Obsolete Commands</A> - | <A HREF="manual.html#3858">Obsolete Commands</A> - | <A HREF="manual.html#3860">Obsolete Commands</A> - | <A HREF="manual.html#3892">Obsolete Commands</A> - | <A HREF="manual.html#3901">Obsolete Commands</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#3873">Obsolete Commands</A> - | <A HREF="manual.html#3903">Obsolete Commands</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#3871">Obsolete Commands</A> - | <A HREF="manual.html#3894">Obsolete Commands</A> -</DL> -<DT><STRONG>hypertoc</STRONG> -<DD><A HREF="manual.html#2138">Package Options</A> - | <A HREF="manual.html#2140">Package Options</A> - | <A HREF="manual.html#2159">Package Options</A> - | <A HREF="manual.html#2161">Package Options</A> - | <A HREF="manual.html#2186">Package Options</A> - | <A HREF="manual.html#2195">Package Options</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2197">Package Options</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2188">Package Options</A> -</DL> -<DT><STRONG>number</STRONG> -<DD><A HREF="manual.html#2105">Package Options</A> - | <A HREF="manual.html#2107">Package Options</A> - | <A HREF="manual.html#2116">Package Options</A> - | <A HREF="manual.html#2404">Examples</A> - | <A HREF="manual.html#2440">Examples</A> - | <A HREF="manual.html#2970">Customizing the Glossary</A> - | <A HREF="manual.html#3008">Customizing the Glossary</A> - | <A HREF="manual.html#3026">Customizing the Glossary</A> - | <A HREF="manual.html#3283">Sample Documents</A> - | <A HREF="manual.html#3309">Sample Documents</A> -<DD><DL COMPACT> -<DT><STRONG>equation</STRONG> -<DD><A HREF="manual.html#3311">Sample Documents</A> -<DT><STRONG>none</STRONG> -<DD><A HREF="manual.html#2406">Examples</A> - | <A HREF="manual.html#2972">Customizing the Glossary</A> - | <A HREF="manual.html#3010">Customizing the Glossary</A> - | <A HREF="manual.html#3028">Customizing the Glossary</A> -<DT><STRONG>page</STRONG> -<DD><A HREF="manual.html#2118">Package Options</A> - | <A HREF="manual.html#2442">Examples</A> -<DT><STRONG>section</STRONG> -<DD><A HREF="manual.html#3285">Sample Documents</A> -</DL> -<DT><STRONG>section</STRONG> -<DD><A HREF="manual.html#2255">Package Options</A> - | <A HREF="manual.html#2257">Package Options</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2261">Package Options</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2259">Package Options</A> -</DL> -<DT><STRONG>style</STRONG> -<DD><A HREF="manual.html#2037">Package Options</A> - | <A HREF="manual.html#2039">Package Options</A> - | <A HREF="manual.html#2051">Package Options</A> - | <A HREF="manual.html#2321">Package Options</A> - | <A HREF="manual.html#2330">Package Options</A> - | <A HREF="manual.html#2377">Examples</A> - | <A HREF="manual.html#2386">Examples</A> - | <A HREF="manual.html#2395">Examples</A> - | <A HREF="manual.html#2413">Examples</A> - | <A HREF="manual.html#2449">Examples</A> - | <A HREF="manual.html#2476">Examples</A> - | <A HREF="manual.html#2503">Examples</A> - | <A HREF="manual.html#2961">Customizing the Glossary</A> - | <A HREF="manual.html#3039">Customizing the Glossary</A> - | <A HREF="manual.html#3048">Customizing the Glossary</A> - | <A HREF="manual.html#3101">Customizing the Glossary</A> - | <A HREF="manual.html#3110">Customizing the Glossary</A> - | <A HREF="manual.html#3143">Customizing the Glossary</A> - | <A HREF="manual.html#3154">Customizing the Glossary</A> - | <A HREF="manual.html#3177">Customizing the Glossary</A> - | <A HREF="manual.html#3186">Customizing the Glossary</A> - | <A HREF="manual.html#3265">Sample Documents</A> - | <A HREF="manual.html#3368">Limitations</A> - | <A HREF="manual.html#3643">Troubleshooting</A> - | <A HREF="manual.html#3652">Troubleshooting</A> -<DD><DL COMPACT> -<DT><STRONG>altlist</STRONG> -<DD><A HREF="manual.html#2044">Package Options</A> - | <A HREF="manual.html#2332">Package Options</A> - | <A HREF="manual.html#2352">Package Options</A> - | <A HREF="manual.html#2388">Examples</A> - | <A HREF="manual.html#2963">Customizing the Glossary</A> - | <A HREF="manual.html#3050">Customizing the Glossary</A> - | <A HREF="manual.html#3112">Customizing the Glossary</A> - | <A HREF="manual.html#3156">Customizing the Glossary</A> - | <A HREF="manual.html#3267">Sample Documents</A> - | <A HREF="manual.html#3339">Sample Documents</A> - | <A HREF="manual.html#3370">Limitations</A> -<DT><STRONG>list</STRONG> -<DD><A HREF="manual.html#2041">Package Options</A> - | <A HREF="manual.html#2053">Package Options</A> - | <A HREF="manual.html#2323">Package Options</A> - | <A HREF="manual.html#2379">Examples</A> - | <A HREF="manual.html#2397">Examples</A> - | <A HREF="manual.html#3041">Customizing the Glossary</A> - | <A HREF="manual.html#3103">Customizing the Glossary</A> - | <A HREF="manual.html#3145">Customizing the Glossary</A> -<DT><STRONG>long</STRONG> -<DD><A HREF="manual.html#2058">Package Options</A> - | <A HREF="manual.html#2415">Examples</A> - | <A HREF="manual.html#2451">Examples</A> - | <A HREF="manual.html#2478">Examples</A> - | <A HREF="manual.html#2505">Examples</A> - | <A HREF="manual.html#3179">Customizing the Glossary</A> - | <A HREF="manual.html#3645">Troubleshooting</A> -<DT><STRONG>super</STRONG> -<DD><A HREF="manual.html#2055">Package Options</A> - | <A HREF="manual.html#3188">Customizing the Glossary</A> - | <A HREF="manual.html#3654">Troubleshooting</A> -</DL> -<DT><STRONG>toc</STRONG> -<DD><A HREF="manual.html#2125">Package Options</A> - | <A HREF="manual.html#2127">Package Options</A> - | <A HREF="manual.html#2147">Package Options</A> - | <A HREF="manual.html#2149">Package Options</A> - | <A HREF="manual.html#2168">Package Options</A> - | <A HREF="manual.html#2170">Package Options</A> - | <A HREF="manual.html#2177">Package Options</A> - | <A HREF="manual.html#2339">Package Options</A> - | <A HREF="manual.html#2341">Package Options</A> - | <A HREF="manual.html#2348">Package Options</A> - | <A HREF="manual.html#3274">Sample Documents</A> - | <A HREF="manual.html#3276">Sample Documents</A> - | <A HREF="manual.html#3386">Limitations</A> -<DD><DL COMPACT> -<DT><STRONG>false</STRONG> -<DD><A HREF="manual.html#2131">Package Options</A> -<DT><STRONG>true</STRONG> -<DD><A HREF="manual.html#2129">Package Options</A> - | <A HREF="manual.html#2179">Package Options</A> - | <A HREF="manual.html#2350">Package Options</A> - | <A HREF="manual.html#3388">Limitations</A> -</DL> -</DL> -<DT><STRONG>page number formats</STRONG> -<DD><DL COMPACT> -<DT><STRONG>hyperbf</STRONG> -<DD><A HREF="manual.html#1764">Generating Glossary Information</A> - | <A HREF="manual.html#3694">Troubleshooting</A> -<DT><STRONG>hyperem</STRONG> -<DD><A HREF="manual.html#1794">Generating Glossary Information</A> - | <A HREF="manual.html#1810">Generating Glossary Information</A> -<DT><STRONG>hyperit</STRONG> -<DD><A HREF="manual.html#1774">Generating Glossary Information</A> -<DT><STRONG>hypermd</STRONG> -<DD><A HREF="manual.html#1769">Generating Glossary Information</A> -<DT><STRONG>hyperrm</STRONG> -<DD><A HREF="manual.html#1749">Generating Glossary Information</A> - | <A HREF="manual.html#1815">Generating Glossary Information</A> -<DT><STRONG>hypersc</STRONG> -<DD><A HREF="manual.html#1789">Generating Glossary Information</A> -<DT><STRONG>hypersf</STRONG> -<DD><A HREF="manual.html#1754">Generating Glossary Information</A> -<DT><STRONG>hypersl</STRONG> -<DD><A HREF="manual.html#1779">Generating Glossary Information</A> -<DT><STRONG>hypertt</STRONG> -<DD><A HREF="manual.html#1759">Generating Glossary Information</A> -<DT><STRONG>hyperup</STRONG> -<DD><A HREF="manual.html#1784">Generating Glossary Information</A> -</DL> -<DT><STRONG><TT>perl</TT></STRONG> -<DD><A HREF="manual.html#1686">Installation</A> -<DT><STRONG><TT>\printacronym</TT></STRONG> -<DD><A HREF="manual.html#2695">Acronyms</A> - | <A HREF="manual.html#3527">Troubleshooting</A> -<DT><STRONG><TT>\printglossary</TT></STRONG> -<DD><A HREF="manual.html#2551">Defining New Glossary Types</A> - | <A HREF="manual.html#2608">Defining New Glossary Types</A> - | <A HREF="manual.html#3443">Troubleshooting</A> -<DT><STRONG><TT>\protect</TT></STRONG> -<DD><A HREF="manual.html#3581">Troubleshooting</A> -<DT><STRONG><TT>\saveglosentry</TT></STRONG> -<DD><A HREF="manual.html#3551">Troubleshooting</A> - | <A HREF="manual.html#3816">Obsolete Commands</A> -<DT><STRONG><TT>\setacronymnamefmt</TT></STRONG> -<DD><A HREF="manual.html#2781">Acronyms</A> -<DT><STRONG><TT>\setglossary</TT></STRONG> -<DD><A HREF="manual.html#3408">Limitations</A> - | <A HREF="manual.html#3712">Troubleshooting</A> -<DT><STRONG><TT>\setglossary</TT> keys</STRONG> -<DD><DL COMPACT> -<DT><STRONG>delimN</STRONG> -<DD><A HREF="manual.html#2994">Customizing the Glossary</A> -<DT><STRONG>delimR</STRONG> -<DD><A HREF="manual.html#3012">Customizing the Glossary</A> -<DT><STRONG>delimT</STRONG> -<DD><A HREF="manual.html#3063">Customizing the Glossary</A> - | <A HREF="manual.html#3072">Customizing the Glossary</A> -<DT><STRONG>glodelim</STRONG> -<DD><A HREF="manual.html#2943">Customizing the Glossary</A> - | <A HREF="manual.html#2974">Customizing the Glossary</A> -<DT><STRONG>gloskip</STRONG> -<DD><A HREF="manual.html#3030">Customizing the Glossary</A> - | <A HREF="manual.html#3080">Customizing the Glossary</A> -<DT><STRONG>glsnumformat</STRONG> -<DD><A HREF="manual.html#2937">Customizing the Glossary</A> - | <A HREF="manual.html#3708">Troubleshooting</A> -<DT><STRONG>type</STRONG> -<DD><A HREF="manual.html#2933">Customizing the Glossary</A> -</DL> -<DT><STRONG><TT>\storeglosentry</TT></STRONG> -<DD><A HREF="manual.html#1890">Storing Glossary Information</A> - | <A HREF="manual.html#1910">Storing Glossary Information</A> - | <A HREF="manual.html#3299">Sample Documents</A> - | <A HREF="manual.html#3413">Limitations</A> - | <A HREF="manual.html#3493">Troubleshooting</A> - | <A HREF="manual.html#3556">Troubleshooting</A> - | <A HREF="manual.html#3561">Troubleshooting</A> - | <A HREF="manual.html#3588">Troubleshooting</A> - | <A HREF="manual.html#3602">Troubleshooting</A> -<DT><STRONG>table of contents, adding to</STRONG> -<DD><i>see </i> package options, toc -<DT><STRONG><TT>\useacronym</TT></STRONG> -<DD><A HREF="manual.html#2864">Examples</A> -<DT><STRONG><TT>\useGlosentry</TT></STRONG> -<DD><A HREF="manual.html#1895">Storing Glossary Information</A> - | <A HREF="manual.html#1900">Storing Glossary Information</A> - | <A HREF="manual.html#3498">Troubleshooting</A> - | <A HREF="manual.html#3503">Troubleshooting</A> - | <A HREF="manual.html#3566">Troubleshooting</A> - | <A HREF="manual.html#3571">Troubleshooting</A> - | <A HREF="manual.html#3607">Troubleshooting</A> - | <A HREF="manual.html#3612">Troubleshooting</A> -<DT><STRONG><TT>\xacronym</TT></STRONG> -<DD><A HREF="manual.html#2634">Acronyms</A> - | <A HREF="manual.html#2643">Acronyms</A> - | <A HREF="manual.html#2667">Acronyms</A> -<DT><STRONG><TT>\xglossary</TT></STRONG> -<DD><A HREF="manual.html#2210">Package Options</A> - | <A HREF="manual.html#2546">Defining New Glossary Types</A> - | <A HREF="manual.html#2672">Acronyms</A> - | <A HREF="manual.html#3488">Troubleshooting</A> - | <A HREF="manual.html#3843">Obsolete Commands</A> - | <A HREF="manual.html#3848">Obsolete Commands</A> -<DT><STRONG><TT>xpdf</TT></STRONG> -<DD><A HREF="manual.html#3717">Troubleshooting</A> -<DT><STRONG><TT>\xspace</TT></STRONG> -<DD><A HREF="manual.html#2833">Acronyms</A> - | <A HREF="manual.html#2839">Acronyms</A> - -</DL> - -<P> -<BR><HR><H4>Footnotes</H4> -<DL> -<DT><A NAME="foot1555">... <code>/usr/bin/</code></A><A - HREF="manual.html#tex2html1"><SUP>1</SUP></A></DT> -<DD>and you can also remove the <TT>.pl</TT> -extension which isn't to everyone's liking. - -</DD> -<DT><A NAME="foot1559">... glossary</A><A - HREF="manual.html#tex2html2"><SUP>2</SUP></A></DT> -<DD>This is because the list and number ranges are -delimited using <TT>\delimR</TT> and <TT>\delimN</TT> instead of -explicitly using a comma or en-dash. - -</DD> -<DT><A NAME="foot1613">... backslash</A><A - HREF="manual.html#tex2html4"><SUP>3</SUP></A></DT> -<DD>Note, you should -no longer try redefining the command <TT>\glsnumformat</TT>, as -this now takes an optional argument, allowing for different -glossary types - -</DD> -<DT><A NAME="foot1614">... space</A><A - HREF="manual.html#tex2html5"><SUP>4</SUP></A></DT> -<DD>This -is because the <TT>altlist</TT> style is intended for use with long descriptions that will look better ending with a - full stop which the user can add if desired. - -</DD> -<DT><A NAME="foot1148">...\glossaryalignment</A><A - HREF="manual.html#tex2html6"><SUP>5</SUP></A></DT> -<DD>This isn't quite true -anymore, see the documented code for clarification - -</DD> -<DT><A NAME="foot1616">...\glossaryheader</A><A - HREF="manual.html#tex2html7"><SUP>6</SUP></A></DT> -<DD>Note that as from version 2.4, -you must use <TT>\newcommand</TT> <I>not</I> <TT>\renewcommand</TT> - -</DD> -<DT><A NAME="foot1617">... information</A><A - HREF="manual.html#tex2html9"><SUP>7</SUP></A></DT> -<DD>This should be in the directory -<TT>texmf/doc/latex/graphics/</TT> - -</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: 2006-07-25 -</ADDRESS> -</BODY> -</HTML> diff --git a/Master/texmf-dist/doc/latex/glossary/sample.tex b/Master/texmf-dist/doc/latex/glossary/sample.tex deleted file mode 100644 index 5d3a245a346..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sample.tex +++ /dev/null @@ -1,95 +0,0 @@ -%% -%% This is file `sample.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sample.tex,package') -%% Copyright (C) 2006 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 - - -\storeglosentry{glossary1}{name=glossary, -description=1) list of technical words} - -\storeglosentry{glossary2}{name=glossary, -description=2) collection of glosses} - -\storeglosentry{Perl}{name=\texttt{Perl}, -sort=Perl, % need a sort key because name contains a command -description=A scripting language} - -\storeglosentry{pagelist}{name=page list, -description={a list of individual pages or page ranges, -e.g.\ 1,2,4,7-9}} - -\begin{document} - -\title{Sample Document Using glossary Package} -\author{Nicola Talbot} -\pagenumbering{alph}% prevent duplicate page link names if using PDF -\maketitle - -\pagenumbering{roman} -\tableofcontents - -\chapter{Introduction} -\pagenumbering{arabic} - -A \gls{glossary1} is a very useful addition to any -technical document, although a \gls{glossary2} can -also simply be a collection of glosses, which is -another thing entirely. - -Once you have run your document through \LaTeX, you -will then need to run the \texttt{.glo} file through -\texttt{makeindex}. You will need to set the output -file so that it creates a \texttt{.gls} file instead -of an \texttt{.ind} file, and change the name of -the log file so that it doesn't overwrite the index -log file (if you have an index for your document). -Rather than having to remember all the command line -switches, you can call the \gls{Perl} script -\texttt{makeglos.pl} which provides a convenient -wrapper. - -If you have two terms with different meanings in your -\gls{glossary1}, \texttt{makeindex} will of course treat them as two -separate entries, however, some people prefer to -merge them. This can be done using \texttt{makeglos.pl}, and -passing the option \texttt{-m}. - -If a comma appears within the name or description, grouping -must be used: \gls{pagelist}. - -\printglossary - -\end{document} -\endinput -%% -%% End of file `sample.tex'. diff --git a/Master/texmf-dist/doc/latex/glossary/sample4col.tex b/Master/texmf-dist/doc/latex/glossary/sample4col.tex deleted file mode 100644 index e99457a0d0f..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sample4col.tex +++ /dev/null @@ -1,54 +0,0 @@ -%% -%% This is file `sample4col.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sample4col.tex,package') -%% Copyright (C) 2006 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]{article} - -\usepackage[style=long,cols=3]{glossary}[2006/07/20] - -\renewcommand{\glossaryalignment}{llll} - -\newcommand{\glossaryheader}{% -\bfseries Name & \bfseries Description & \bfseries Unit & -\bfseries Page} - -\makeglossary - -\storeglosentry{w}{name={$w$},sort=w,description={width&m}} -\storeglosentry{M}{name={$M$},sort=M,description={mass&kg}} - -\begin{document} - -\printglossary - -The width, \gls{w}, is measured in meters. The mass, \gls{M} is -measured in kilograms. - -\end{document} -\endinput -%% -%% End of file `sample4col.tex'. diff --git a/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex b/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex deleted file mode 100644 index 26e77a8f508..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sampleAcr.tex +++ /dev/null @@ -1,74 +0,0 @@ -%% -%% This is file `sampleAcr.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sampleAcr.tex,package') -%% Copyright (C) 2006 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[colorlinks,plainpages=false]{hyperref} -\usepackage[style=altlist,hypertoc,acronym]{glossary} - -\makeacronym - -\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 - -\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} - -\printacronym - -\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 deleted file mode 100644 index dc8b2a4e21b..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sampleEq.tex +++ /dev/null @@ -1,266 +0,0 @@ -%% -%% This is file `sampleEq.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sampleEq.tex,package') -%% Copyright (C) 2006 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[colorlinks]{hyperref} -\usepackage[header,border=none,cols=3,number=equation]{glossary}[2006/07/20] - -\newcommand{\erf}{\operatorname{erf}} -\newcommand{\erfc}{\operatorname{erfc}} - -\makeglossary - - - -\renewcommand{\glossaryname}{Index of Special Functions -and Notations} - - -\renewcommand{\entryname}{Notation} - -\renewcommand{\descriptionname}{Function Name} - -\renewcommand{\glspageheader}{Number of Formula} - -\newcommand{\glossarysubheader}{ & & \\} - - -\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, -description=Gamma function,sort=Gamma} - -\storeglosentry{gamma}{name={\ensuremath{\gamma(\alpha,x)}}, -description=Incomplete gamma function,sort=gamma} - -\storeglosentry{iGamma}{name={\ensuremath{\Gamma(\alpha,x)}}, -description=Incomplete gamma function,sort=Gamma} - -\storeglosentry{psi}{name=\ensuremath{\psi(x)}, -description=Psi function,sort=psi} - -\storeglosentry{erf}{name=\ensuremath{\erf(x)}, -description=Error function,sort=erf} - -\storeglosentry{erfc}{name=\ensuremath{\erfc}, -description=Complementary error function,sort=erfc} - -\storeglosentry{B}{name={\ensuremath{B(x,y)}}, -description=Beta function,sort=B} - -\storeglosentry{Bx}{name={\ensuremath{B_x(p,q)}}, -description=Incomplete beta function,sort=Bx} - -\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, -description=Chebyshev's polynomials of the first kind,sort=Tn} - -\storeglosentry{Un}{name=\ensuremath{U_n(x)}, -description=Chebyshev's polynomials of the second kind,sort=Un} - -\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, -description=Hermite polynomials,sort=Hn} - -\storeglosentry{Ln}{name=\ensuremath{L_n^\alpha(x)}, -description=Laguerre polynomials,sort=Lna} - -\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, -description=Bessel functions,sort=Z} - -\storeglosentry{Phi}{name={\ensuremath{\Phi(\alpha,\gamma;z)}}, -description=confluent hypergeometric function,sort=Pagz} - -\storeglosentry{knu}{name=\ensuremath{k_\nu(x)}, -description=Bateman's function,sort=kv} - -\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, -description=Parabolic cylinder functions,sort=Dp} - -\storeglosentry{F}{name={\ensuremath{F(\phi,k)}}, -description=Elliptical integral of the first kind,sort=Fpk} - -\storeglosentry{C}{name=\ensuremath{C}, -description=Euler's constant,sort=C} - -\storeglosentry{G}{name=\ensuremath{G}, -description=Catalan's constant,sort=G} - -\begin{document} -\title{A Sample Document Using glossary.sty} -\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 using the \texttt{number=equation} package -option. -\end{abstract} - -\printglossary - -\chapter{Gamma Functions} - -\begin{equation} -\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -\end{equation} - -\verb|\ensuremath| is only required here if using -hyperlinks. -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) -\end{equation} - -\begin{equation} -\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\begin{equation} -\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\newpage - -\begin{equation} -\gls{Gamma} = \Gamma(\alpha, x) + \gamma(\alpha, x) -\end{equation} - -\begin{equation} -\gls{psi} = \frac{d}{dx}\ln\Gamma(x) -\end{equation} - -\chapter{Error Functions} - -\begin{equation} -\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt -\end{equation} - -\begin{equation} -\gls{erfc} = 1 - \erf(x) -\end{equation} - -\chapter{Beta Function} - -\begin{equation} -\gls{B} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt -\end{equation} -Alternatively: -\begin{equation} -\gls{B} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi -\end{equation} - -\begin{equation} -\gls{B} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) -\end{equation} - -\begin{equation} -\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt -\end{equation} - -\chapter{Polynomials} - -\section{Chebyshev's polynomials} - -\begin{equation} -\gls{Tn} = \cos(n\arccos x) -\end{equation} - -\begin{equation} -\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} -\end{equation} - -\section{Hermite polynomials} - -\begin{equation} -\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) -\end{equation} - -\section{Laguerre polynomials} - -\begin{equation} -L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} -\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) -\end{equation} - -\chapter{Bessel Functions} - -Bessel functions $Z_\nu$ are solutions of -\begin{equation} -\useglosentry{Znu} -\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} + -\left( 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right) -\end{equation} - -\chapter{Confluent hypergeometric function} - -\begin{equation} -\gls{Phi} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} -+ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\, -\frac{z^3}{3!} + \cdots -\end{equation} - -\begin{equation} -\gls{knu} = \frac{2}{\pi}\int_0^{\pi/2} -\cos(x \tan\theta - \nu\theta)\,d\theta -\end{equation} - -\chapter{Parabolic cylinder functions} - -\begin{equation} -\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} -\left\{ -\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} -\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) --\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)} -\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) -\right\} -\end{equation} - -\chapter{Elliptical Integral of the First Kind} - -\begin{equation} -\gls{F} = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} -\end{equation} - -\chapter{Constants} - -\begin{equation} -\gls{C} = 0.577\,215\,664\,901\ldots -\end{equation} - -\begin{equation} -\gls{G} = 0.915\,965\,594\ldots -\end{equation} - -\end{document} -\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 deleted file mode 100644 index f5ca353ec4f..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex +++ /dev/null @@ -1,290 +0,0 @@ -%% -%% This is file `sampleEqPg.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sampleEqPg.tex,package') -%% Copyright (C) 2006 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[colorlinks]{hyperref} -\usepackage[header,toc,border=none,cols=3, - number=equation]{glossary}[2006/07/20] - -\newcommand{\erf}{\operatorname{erf}} -\newcommand{\erfc}{\operatorname{erfc}} - -\renewcommand{\glossaryname}{Index of Special Functions and Notations} - -\renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number, -numbers in bold indicate page numbers where the main definition occurs.\par} - -\setglossary{glsnumformat=hyperit} - -\renewcommand{\entryname}{Notation} - -\renewcommand{\descriptionname}{Function Name} - -\newcommand{\glossarysubheader}{ & & \\} - - -\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, -description=Gamma function,sort=Gamma} - -\storeglosentry{gamma}{name=\ensuremath{\gamma(\alpha,x)}, -description=Incomplete gamma function,sort=gamma} - -\storeglosentry{iGamma}{name=\ensuremath{\Gamma(\alpha,x)}, -description=Incomplete gamma function,sort=Gamma} - -\storeglosentry{psi}{name=\ensuremath{\psi(x)}, -description=Psi function,sort=psi} - -\storeglosentry{erf}{name=\ensuremath{\erf(x)}, -description=Error function,sort=erf} - -\storeglosentry{erfc}{name=\ensuremath{\erfc(x)}, -description=Complementary error function,sort=erfc} - -\storeglosentry{beta}{name=\ensuremath{B(x,y)}, -description=Beta function,sort=B} - -\storeglosentry{Bx}{name=\ensuremath{B_x(p,q)}, -description=Incomplete beta function,sort=Bx} - -\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, -description=Chebyshev's polynomials of the first kind, -sort=Tn} - -\storeglosentry{Un}{name=\ensuremath{U_n(x)}, -description=Chebyshev's polynomials of the second kind, -sort=Un} - -\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, -description=Hermite polynomials,sort=Hn} - -\storeglosentry{Lna}{name=\ensuremath{L_n^\alpha(x)}, -description=Laguerre polynomials,sort=Lna} - -\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, -description=Bessel functions,sort=Z} - -\storeglosentry{Pagz}{name=\ensuremath{\Phi(\alpha,\gamma;z)}, -description=confluent hypergeometric function,sort=Pagz} - -\storeglosentry{kv}{name=\ensuremath{k_\nu(x)}, -description=Bateman's function,sort=kv} - -\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, -description=Parabolic cylinder functions,sort=Dp} - -\storeglosentry{Fpk}{name=\ensuremath{F(\phi,k)}, -description=Elliptical integral of the first kind,sort=Fpk} - -\storeglosentry{C}{name=\ensuremath{C}, -description=Euler's constant,sort=C} - -\storeglosentry{G}{name=\ensuremath{G}, -description=Catalan's constant,sort=G} - -\renewcommand{\shortglossaryname}{Special Functions} - -\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 numbers and equation numbers. -Since the majority of the entries use the equation number, -\texttt{number=equation} was used as a package option. -The entries that should refer to the page number instead -use the \texttt{number=equation} glossary key. -Note that this example will only work where the -page number and equation number compositor is the same. So -it won't work if, say, the page numbers are of the form -2-4 and the equation numbers are of the form 4.6. -As most of the glossary entries should have an italic -format, it is easiest to set the default format to -italic. - -\end{abstract} - -\tableofcontents - -\printglossary - -\chapter{Gamma Functions} - -The \useGlosentry[number=page,format=hyperbf]{Gamma}{gamma function} is -defined as -\begin{equation} -\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -\end{equation} - -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) -\end{equation} - -\begin{equation} -\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\begin{equation} -\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\newpage - -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(\alpha)}} = \Gamma(\alpha, x) + \gamma(\alpha, x) -\end{equation} - -\begin{equation} -\gls{psi} = \frac{d}{dx}\ln\Gamma(x) -\end{equation} - -\chapter{Error Functions} - -The \useGlosentry[number=page,format=hyperbf]{erf}{error -function} is defined as: -\begin{equation} -\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt -\end{equation} - -\begin{equation} -\gls{erfc} = 1 - \erf(x) -\end{equation} - -\chapter{Beta Function} - -\begin{equation} -\gls{beta} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt -\end{equation} -Alternatively: -\begin{equation} -\gls{beta} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi -\end{equation} - -\begin{equation} -\gls{beta} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) -\end{equation} - -\begin{equation} -\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt -\end{equation} - -\chapter{Chebyshev's polynomials} - -\begin{equation} -\gls{Tn} = \cos(n\arccos x) -\end{equation} - -\begin{equation} -\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} -\end{equation} - -\chapter{Hermite polynomials} - -\begin{equation} -\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) -\end{equation} - -\chapter{Laguerre polynomials} - -\begin{equation} -\gls{Lna} = \frac{1}{n!}e^x x^{-\alpha} -\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) -\end{equation} - -\chapter{Bessel Functions} - -Bessel functions $Z_\nu(z)$ are solutions of -\begin{equation} -\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} + -\left( -1-\frac{\nu^2}{z^2}Z_\nu = 0 -\right) -\end{equation} -\useglosentry{Znu} - -\chapter{Confluent hypergeometric function} - -\begin{equation} -\gls{Pagz} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} -+ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)} - {\gamma(\gamma+1)(\gamma+2)} -\,\frac{z^3}{3!} -+ \cdots -\end{equation} - -\begin{equation} -\gls{kv} = \frac{2}{\pi}\int_0^{\pi/2} -\cos(x \tan\theta - \nu\theta)\,d\theta -\end{equation} - -\chapter{Parabolic cylinder functions} - -\begin{equation} -\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} -\left\{ -\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} -\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) --\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)} -\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) -\right\} -\end{equation} - -\chapter{Elliptical Integral of the First Kind} - -\begin{equation} -\gls{Fpk} = \int_0^\phi -\frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} -\end{equation} - -\chapter{Constants} - -\begin{equation} -\gls{C} = 0.577\,215\,664\,901\ldots -\end{equation} - -\begin{equation} -\gls{G} = 0.915\,965\,594\ldots -\end{equation} - -\end{document} -\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 deleted file mode 100644 index d8bbaac6f9a..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sampleNtn.tex +++ /dev/null @@ -1,94 +0,0 @@ -%% -%% This is file `sampleNtn.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sampleNtn.tex,package') -%% Copyright (C) 2006 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,style=long,cols=3]{glossary} - -\makeglossary - -\newglossarytype{notation}{not}{ntn}[style=long,cols=2,border,header] - -\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} -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 deleted file mode 100644 index b92fa57ac10..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex +++ /dev/null @@ -1,102 +0,0 @@ -%% -%% This is file `sampleNtn2.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sampleNtn2.tex,package') -%% Copyright (C) 2006 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}[2006/07/20] - -\makeglossary - -\newglossarytype[nlg]{notation}{not}{ntn}[number=none] - -\newcommand{\notationname}{Notation} - -\makenotation - -\begin{document} - -\storeglosentry[notation]{not:set}{name={$\mathcal{S}$}, -description=A set,sort=S} - -\storeglosentry[notation]{not:U}{name=$\mathcal{U}$, -description={The universal set},sort=U} - -\storeglosentry[notation]{not:card}{name=$\mid\mathcal{S}\mid$, -description=cardinality of $\mathcal{S}$, -sort=cardinality} - -\storeglosentry{glos:set}{name=set,description=A collection of -distinct objects} - -\storeglosentry{glos: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} -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}. - -\chapter{Another Chapter} - -Another mention of the universal set \gls{not:U}. - -\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 deleted file mode 100644 index dc1b3a07770..00000000000 --- a/Master/texmf-dist/doc/latex/glossary/sampleSec.tex +++ /dev/null @@ -1,81 +0,0 @@ -%% -%% This is file `sampleSec.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `sampleSec.tex,package') -%% Copyright (C) 2006 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{ident}{name=identity matrix,description=diagonal -matrix with 1s along the leading diagonal} - -\storeglosentry{diag}{name=diagonal matrix, -description=matrix whose only non-zero entries are along -the leading diagonal} - -\storeglosentry{sing}{name=singular matrix, -description=matrix with zero determinant} - -\begin{document} - -\pagenumbering{roman} -\tableofcontents - -\printglossary - -\chapter{Introduction} -\pagenumbering{arabic} -This is a sample document illustrating the use of the -\textsf{glossary} package. - -\chapter{Diagonal matrices} - -A \gls[format=hyperit]{diag} is a matrix where all elements not on the -leading diagonal are zero. This is the -primary definition, so an italic font is used for the page number. - -\newpage -\section{Identity matrix} -The \gls[format=hyperit]{ident} is a \gls{diag} whose leading -diagonal elements are all equal to 1. - -Here is another entry for a \gls{diag}. - -\chapter{Singular Matrices} - -A \gls{sing} is a matrix with zero determinant. -\useGlosentry{sing}{Singular matrices} are non-invertible. - -Another \gls{ident} entry. - -\end{document} -\endinput -%% -%% End of file `sampleSec.tex'. diff --git a/Master/texmf-dist/source/latex/glossary/glossary.dtx b/Master/texmf-dist/source/latex/glossary/glossary.dtx deleted file mode 100644 index 6d31a8d363b..00000000000 --- a/Master/texmf-dist/source/latex/glossary/glossary.dtx +++ /dev/null @@ -1,5915 +0,0 @@ -%\iffalse -% glossary.dtx generated using makedtx version 0.91b (c) Nicola Talbot -% Command line args: -% -macrocode ".*\.p.*l" -% -macrocode ".*\.bat" -% -macrocode ".*\.tex" -% -setambles ".*\.p.*l=>\nopreamble\nopostamble" -% -setambles ".*\.bat=>\nopreamble\nopostamble" -% -src "(.+)\.(sty)\Z=>\1.\2" -% -src "(.+)\.(pl)\Z=>\1.\2" -% -src "(.+)\.(bat)\Z=>\1.\2" -% -src "(.+)\.(perl)\Z=>\1.\2" -% -src "(.+)\.(tex)\Z=>\1.\2" -% -doc "manual.tex" -% -author "Nicola Talbot" -% -prefinale "\\fi" -% -dir "source" -% glossary -% Created on 2006/7/25 18:13 -%\fi -%\iffalse -%<*package> -%% \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 \~} -%</package> -%\fi -% \iffalse -% Doc-Source file to use with LaTeX2e -% Copyright (C) 2006 Nicola Talbot, all rights reserved. -% \fi -% \iffalse -%<*driver> -\documentclass[a4paper]{ltxdoc} -\usepackage{ifthen} -\usepackage[colorlinks, - bookmarks, - hyperindex=false, - pdfauthor={N.L.C. Talbot}, - pdftitle={glossary.sty: LaTeX2e Package to Assist Generating Glossaries}, - pdfkeywords={LaTeX,package,glossary,acronym}]{hyperref} - - %hyperindex conflicts with doc - %(end up with |usage|hyperpage in indexentry) - %This unfortunately means that the changes section doesn't - %have active links, but at least it will keep makeindex happy. - - -\renewcommand{\usage}[1]{\textit{\hyperpage{#1}}} -\renewcommand{\main}[1]{\hyperpage{#1}} -\newcommand{\see}[2]{\emph{see} #1} -\makeatletter -\def\index@prologue{\section*{Index}} -\makeatother -\RecordChanges -\PageIndex - %\OnlyDescription - - -\newcommand{\cmdname}[1]{\texttt{\symbol{92}#1}} -\newcommand{\istkey}[1]{\texttt{#1}\index{makeindex key>#1|hyperpage}} -\newcommand{\icmdname}[1]{\texttt{\symbol{92}#1}\SpecialMainIndex{#1}} -\newcommand{\appname}[1]{\texttt{#1}\index{#1=\texttt{#1}|hyperpage}} -\newcommand{\gloskey}[1]{\texttt{#1}\index{glossary keys=\cmdname{glossary} keys>#1|hyperpage}} -\newcommand{\setglos}[1]{\texttt{#1}\index{setglossary keys=\cmdname{setglossary} keys>#1|hyperpage}} -\newcommand{\glsnumfmt}[1]{\texttt{#1}% -\index{page number formats>#1|hyperpage}% -\index{glossary keys=\cmdname{glossary} keys>format>#1|hyperpage}} -\newcommand{\pkgopt}[2][]{% -\ifthenelse{\equal{#1}{}}{% -\texttt{#2}\index{package options>#2|hyperpage}}{% -\texttt{#2=#1}\index{package options>#2>#1|hyperpage}}} -\newcommand{\pkgoptval}[2]{\texttt{#1}\index{package options>#2>#1|hyperpage}} -\newcommand{\filetype}[1]{\texttt{#1}\index{file types>#1|hyperpage}} -\newcommand{\styname}[1]{\textsf{#1}\index{#1=\textsf{#1}|hyperpage}} -\newcommand{\envname}[1]{\textsf{#1}} - - -\begin{document} -\DocInput{glossary.dtx} -\end{document} -%</driver> -%\fi -%\MakeShortVerb{"} -%\DeleteShortVerb{\|} -% -% \title{glossary.sty v 2.4: \LaTeXe\ Package to Assist Generating Glossaries} -% \author{Nicola L.C. Talbot} -% \date{20th July 2006} -% \maketitle -%\tableofcontents -% -% \section{Introduction} -% \changes{1.0}{2004 July 29}{Initial version} -% The \styname{glossary} package is provided to assist -%generating a glossary. It has a certain amount of flexibility, -%allowing the user to customize the format of the glossary, and -%define new glossary-style objects. -% -%\section{Installation} -% -%You need to make sure you have downloaded the following three -%files: -%\begin{verbatim} -%glossary.ins -%glossary.dtx -%README -%\end{verbatim} -%To extract the code from the \texttt{glossary.dtx} file, you -%will need to run the installation file through LaTeX: -%\begin{verbatim} -%latex glossary.ins -%\end{verbatim} -%This will create the following files: -%\begin{verbatim} -%glossary.sty -%glossary.perl -%makeglos.pl -%makeglos.bat -%\end{verbatim} -%along with several sample files. The file \texttt{glossary.sty} -%should be placed somewhere in the \LaTeX\ path, e.g.\ -%\texttt{texmf/tex/latex/glossary/} or -%\texttt{localtexmf/tex/latex/glossary/}. Remember to update the -%\TeX\ database if you are installing this package for the first time. -%The file \texttt{glossary.perl} is a \LaTeX2HTML\ style file, and -%should be placed in the \LaTeX2HTML\ style file directory (usually -%\texttt{latex2html/styles/}). The file \texttt{makeglos.pl} -%is a Perl script which calls \appname{makeindex}. If you are -%using UNIX or Linux, you will need to set the permissions so -%that you can execute the file: -%\begin{verbatim} -%chmod a+x makeglos.pl -%\end{verbatim} -%You should then place this file somewhere on your path. -%(You may also need to edit the first line of -%this file, if \appname{perl} is located in a directory other than \verb"/usr/bin/"\footnote{and you can also remove the \texttt{.pl} -%extension which isn't to everyone's liking.}.) -% -%If you are not using UNIX or Linux etc, you may have to explicitly -%load the file into Perl, so you would need to do -%\texttt{perl makeglos.pl} instead of just \texttt{makeglos.pl}. -%If you are using Windows, a batch file, \texttt{makeglos.bat} -%is provided which will run Perl on \texttt{makeglos.pl}. -%Both \texttt{makeglos.pl} and \texttt{makeglos.bat} should -%be placed somewhere specified by the PATH environment -%variable. (For example, put them both in the same -%directory as \appname{makeindex}, which will probably -%be in \verb+\texmf\miktex\bin\+). -%\changes{2.22}{2005 Sept 12}{added makeglos.bat file} -% -%If you don't have Perl installed on your system, you can just use -%\appname{makeindex}, 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. -% -%Note that if you are updating the glossary package, it is -%a good idea to update \texttt{makeglos.pl} as it may also -%have been modified. -% -% \section{Generating Glossary Information} -% -% The standard \LaTeX\ command \cmdname{makeglossary}\DescribeMacro{\makeglossary}{} (analogous to \cmdname{makeindex}) -% should be placed in the document preamble. If this command -%is omitted, glossary information will be ignored. Glossary -%entries are generated using the command -%\cmdname{glossary}\verb"{"\meta{key-val list}\verb'}'\DescribeMacro{\glossary}. -% This command is a slightly modified version of the standard -%\cmdname{glossary} command, in order to separate out the -%information into \meta{entry-name} and \meta{entry-description}. -%The argument to \cmdname{glossary} must be a comma-separated -%list of \meta{key}=\meta{value} pairs. The following keys are -%available: -%\begin{center} -%\begin{tabular}{lp{0.8\linewidth}} -%\bfseries Key & \bfseries Value\\ -%\ttfamily \gloskey{name} & The entry name\\ -%\ttfamily \gloskey{description} & A description about the entry\\ -%\ttfamily \gloskey{sort} & How to sort the entry. (Entry name used if sort omitted)\\ -%\ttfamily \gloskey{format} & How to format the page number\\ -%\ttfamily \gloskey{number} & Override the page number with a different -%counter. The value should be the name of a counter (e.g.\ -%\texttt{number=section}). -%\end{tabular} -%\end{center} -% For example: -%\begin{verbatim} -%\glossary{name={singular matrix}, -% description={A matrix with zero determinant}} -%\end{verbatim} -% The following example sorts on the text \texttt{U} instead of -%\verb"$\mathcal{U}$": -%\begin{verbatim} -%\glossary{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U} -%\end{verbatim} -%Note that you should always use the \gloskey{sort} -%key if the \gloskey{name} key contains commands, this is particularly -%important if you are using hyperlinks, as the target is constructed -%from the \gloskey{name} key if the \gloskey{sort} key is omitted. -% -%In the glossary, each entry is followed by a list of page numbers -%that correspond to the pages where the relevant \cmdname{glossary} -%command is placed. By default the numbers are formatted in the -%current font, but the page number format for individual entries can be -%changed using the \gloskey{format} key. This should be the name of a -%\LaTeX\ formatting command without the preceding \verb'\' (as with the -%\verb'|' operator in \cmdname{index}.) For example: -%\begin{verbatim} -%\glossary{name={$\mathbb{R}$}, -% description={The set of real numbers}, -% sort=R, -% format=textbf} -%\end{verbatim} -%In addition, the following formats are also available: -%\changes{2.0}{2004 September 21}{Hyper page formats: -%\texttt{'hypersf}, \texttt{'hypertt}, \texttt{'hyperbf} and -%\texttt{'hyperbf}} -%\changes{2.12}{2004 November 1}{Hyper page format: -%\texttt{'hyperrm}} -%\changes{2.4}{2006 July 20}{Hyper page formats updated to take two -%arguments. Additional formats also provided} -%\begin{center} -%\begin{tabular}{ll} -%\glsnumfmt{hyperrm} & The number is a hyper link in roman \\ -%\glsnumfmt{hypersf} & The number is a hyper link in sans-serif \\ -%\glsnumfmt{hypertt} & The number is a hyper link in typewriter font \\ -%\glsnumfmt{hyperbf} & The number is a hyper link in bold \\ -%\glsnumfmt{hypermd} & The number is a hyper link in medium weight \\ -%\glsnumfmt{hyperit} & The number is a hyper link in italic\\ -%\glsnumfmt{hypersl} & The number is a hyper link in slanted font\\ -%\glsnumfmt{hyperup} & The number is a hyper link in upright font\\ -%\glsnumfmt{hypersc} & The number is a hyper link in small caps\\ -%\glsnumfmt{hyperem} & The number is a hyper link using \cmdname{emph} -%\end{tabular} -%\end{center} -%If the \pkgopt{hyper} option has not been set, -%\glsnumfmt{hyperem} is equivalent to \texttt{emph}, and the remaining -%\glsnumfmt{hyperrm} etc are equivalent to \texttt{textrm} etc. -%Note that it is important the you use \texttt{hyperrm} instead of -%\texttt{hyperpage}, as the \cmdname{hyperpage} command won't -%work on a list or range of numbers in the glossary% -%\footnote{This is because the list and number ranges are -%delimited using \cmdname{delimR} and \cmdname{delimN} instead of -%explicitly using a comma or en-dash.}. If you want to define your -%own command that uses hyper links, it must be defined in an -%analogous manner to \icmdname{hyperrm}. For example, if you want -%to display a page number in a bold italic format, that contains a -%hyperlink to the appropriate page, you would need to define it as -%follows: -%\begin{verbatim} -%\newcommand{\hyperbfit}[2][\gls@number]{% -%\textbf{\itshape\glshyper{#1}{#2}}} -%\end{verbatim} -%As can be seen from the definition, all the \cmdname{hyper}\meta{xx} -%commands have an optional argument. This argument is the name of the -%counter being used. You do not need to worry about this argument if -%you only use these commands within the \icmdname{glossary} command. -%So the previous example can simply be rewritten as: -%\begin{verbatim} -%\glossary{name={$\mathbb{R}$}, -% description={The set of real numbers}, -% sort=R, -% format=hyperbf} -%\end{verbatim} -% -%\textbf{Note:} although the numbers in the glossary are referred to -%as ``page'' numbers in this manual, they may in fact refer to some -%other counter, such as the \texttt{section} counter, depending on -%whether the \gloskey{number} key has been used. -% -%As with the \cmdname{index} command, care must be taken if you -%want to use the special characters: \verb'@' \verb/|/ \verb+"+ and -%\verb'!'. These characters should be preceded by the double quote -%character. For example: -%\begin{verbatim} -%\glossary{name={$"|\mathcal{S}"|$, -%description=The cardinality of the set \mathcal{S}}} -%\end{verbatim} -%There is no provision for sub-entries, as these are -%generally only applicable in an index, and not in a glossary. -% -%\changes{2.14}{2005 May 28}{'xglossary added}% -%As from version 2.14, there is an additional command available: -%\DescribeMacro{\xglossary} -%\par\vspace{10pt}\noindent\cmdname{xglossary}\verb'{'\meta{gls-entry}% -%\verb'}{'\meta{text}\verb"}" -%\par\vspace{10pt}\noindent This is equivalent to\meta{text}\icmdname{glossary}\verb'{'\meta{gls-entry}\verb"}", -%where \meta{text} will be made a hyper link to the -%relevant entry in the glossary, if hyper -%links are supported. -% -%\subsection{Storing Glossary Information} -% -%It is very cumbersome having to use the \icmdname{glossary} command -%throughout your document, every time you use a term that you want in -%your glossary. This is particularly true for terms with a long -%description. The \styname{glossary} package provides a means -%of storing the glossary information at the beginning of the document, -%and then using it whenever required. It is strongly recommended -%that you use this approach, rather than explicity using the -%\icmdname{glossary} command. -% -%\changes{2.17}{2005 June 28}{'storeglosentry added} -%\DescribeMacro{\storeglosentry} -%The following command:\\[10pt] -%\begin{ttfamily} -%\cmdname{storeglosentry}[\textrm{\meta{gls-type}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{gls-entry}}\} -%\end{ttfamily}\\[10pt] -%can be used to store glossary information, where \meta{label} is -%a unique label assigned to this entry. The information -%can then be used later with any of the following commands:\\[10pt] -%\changes{2.14}{2005 May 28}{'useglosentry added} -%\changes{2.14}{2005 May 28}{'useGlosentry added} -%\changes{2.18}{2005 July 5}{'gls added} -%\begin{ttfamily} -%\cmdname{useglosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\DescribeMacro{\useglosentry}\\ -%\cmdname{useGlosentry}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\{\textrm{\meta{text}}\}\DescribeMacro{\useGlosentry}\\ -%\cmdname{gls}[\textrm{\meta{opt}}]\{\textrm{\meta{label}}\}\DescribeMacro{\gls} -%\end{ttfamily}\\[10pt] -%\cmdname{useglosentry} adds the glossary entry whose label is given by -%\meta{label} to the appropriate glossary, -%\cmdname{useGlosentry} adds the glossary entry, and -%makes \meta{text} a hyperlink to that entry (if hyperlinks are -%supported). The third command, \cmdname{gls}, is like -%\cmdname{useGlosentry}, but forms \meta{text} from the name -%given in the glossary entry. -% -%Returning to an earlier example, instead of typing: -%\begin{verbatim} -%\glossary{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U} -%\end{verbatim} -%every time you want to add this entry to the glossary, you -%can instead store the information: -%\changes{2.19}{2005 July 8}{fixed bug in 'storeglosentry} -%\begin{verbatim} -%\storeglosentry{glos:U}{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U} -%\end{verbatim} -%Now, instead of continually copying and pasting the glossary command -%for this entry (which can have quite a large \gloskey{description} -%field), you can use either: -%\begin{verbatim} -%\useglosentry{glos:U} -%\end{verbatim} -%which is equivalent to: -%\begin{verbatim} -%\glossary{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U} -%\end{verbatim} -%or you can use: -%\begin{verbatim} -%\useGlosentry{glos:U}{text} -%\end{verbatim} -%which is equivalent to: -%\begin{verbatim} -%\xglossary{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U}{text} -%\end{verbatim} -%or you can use: -%\begin{verbatim} -%\gls{glos:U} -%\end{verbatim} -%which is equivalent to: -%\begin{verbatim} -%\xglossary{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U}{$\mathcal{U}$} -%\end{verbatim} -%If you want to use glossary entries in an equation, it is better -%to use \cmdname{ensuremath} instead of \verb|$|\ldots\verb'$'. -%For example: -%\begin{verbatim} -%\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, -%description=Gamma function, -%sort=Gamma} -%\end{verbatim} -%You can then use this entry in either text or math mode: -%\begin{verbatim} -%The \useGlosentry{Gamma}{Gamma function} is defined as -%\begin{equation} -%\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -%\end{equation} -%\end{verbatim} -%If you are using hyper links, and you want to use -%\cmdname{useGlosentry} within math mode, you must use -%\cmdname{ensuremath}: -%\begin{verbatim} -%\begin{equation} -%\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) -%\end{equation} -%\end{verbatim} -% -%The optional argument to \icmdname{storeglosentry} (\meta{gls-type}) -%indicates the glossary type (see -%\autoref{sec:newglostype} to find out how to define new -%glossary types). If omitted, the standard glossary is used. -% -%The optional argument to \icmdname{useglosentry}, -%\icmdname{useGlosentry} and \icmdname{gls} (\meta{opt}) allows you to -%add additional information to the glossary entry, for example: -%\begin{verbatim} -%\useglosentry[format=textbf]{glos:U} -%\end{verbatim} -%is equivalent to: -%\begin{verbatim} -%\glossary{name={$\mathcal{U}$}, -% description={The universal set}, -% sort=U, -% format=textbf} -%\end{verbatim} -%Since version 2.4, \icmdname{storeglosentry} is robust, and -%\cmdname{protect} should no longer be needed, however -%the identifying label, \meta{label}, should not -%contain any special characters. -% -%As from version 2.36, if you want to use all glossary entries -%which have been defined using \cmdname{storeglosentry}, do: -%\verb|\useglosentry{*}|. (Note that this option is not -%available for \cmdname{useGlosentry} and \cmdname{gls}.) -% -%\section{makeglos.pl} -% -%Whenever a glossary entry is used, either explicity using -%\cmdname{glossary} or \cmdname{xglossary} or implicitly using -%\cmdname{useglosentry}, \cmdname{useGlosentry} and \cmdname{gls}, -%the information is saved in a file with the extension \filetype{glo} -%(unless the \icmdname{makeglossary} command is omitted, in which case -%the glossary information is simply ignored.) A \appname{makeindex} -%style file\index{makeindex style file (.ist)|see{file types, ist}} -%(\filetype{ist}) is also created, which is customized for the -%document, and can be passed to \appname{makeindex}. -% -%For example, suppose your document is called \texttt{mydoc.tex}, -%the glossary will be saved in the file -%\texttt{mydoc.}\filetype{glo}, and the \appname{makeindex} style -%file \texttt{mydoc.}\filetype{ist} will be created. -% These files can then be passed to \appname{makeindex} as follows: -%\begin{verbatim} -%makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo -%\end{verbatim} -%which generates the output file \texttt{mydoc.}\filetype{gls}, -%with transcript written to -%\texttt{mydoc.}\filetype{glg}. -% -%The Perl script \appname{makeglos.pl} provided with this package -%allows you to use \appname{makeindex} without having to remember -%all the command line options. The command -%\begin{verbatim} -%makeglos.pl mydoc -%\end{verbatim} -%will perform the command: -%\begin{verbatim} -%makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo -%\end{verbatim} -%In addition, \appname{makeglos.pl} also takes the option -%\texttt{-m} which can be used to collate entries where the -%same name has multiple descriptions. -%\changes{2.14}{2005 May 28}{makeglos -m switch added} -% -%\appname{makeglos.pl} has the following syntax: -%\begin{verbatim} -%makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] <filename> -%\end{verbatim} -%where all switches, apart from \texttt{-m} are the same as -%those for \appname{makeindex}. If there are multiple glossary types -%(see -%\autoref{sec:newglostype}) and the file extension is omitted, \appname{makeglos.pl} will -%iterate through each glossary type (it will pick up the relevant -%information from the auxiliary file). -% -%The name of the \filetype{ist} file can be changed by redefining -%the command \cmdname{istfilename}\DescribeMacro{\istfilename} -%\emph{before} \cmdname{makeglossary}. -%For example: -%\begin{verbatim} -%\renewcommand{\istfilename}{foo.ist} -%\makeglossary -%\end{verbatim} -%Only one \filetype{ist} file will be created per document, even if -%you have multiple glossaries with different styles. The only -%circumstance where you will need multiple \filetype{ist} files for -%a single document is when you have multiple glossaries that use -%different counters with different compositors, but this is rarely -%likely to occur. -% -%Creation of the \filetype{ist} file can be suppressed by issuing -%the command \cmdname{noist}\DescribeMacro{\noist}\ before -%\icmdname{makeglossary}. It will also be suppressed when the -%command \icmdname{nofiles} is used, or if the command -%\icmdname{makeglossary} is omitted. -% -%It should be noted that there are a few packages that can -%cause problems with the creation of the \filetype{ist} file, -%for example \styname{ngerman}. If you encounter problems -%when \LaTeX\ is processing the \icmdname{makeglossary} command, -%or if you get errors from \appname{makeindex} complaining about -%the style file, this is the most probable cause. -%See \autoref{sec:trouble}, item~\ref{itm:ngerman} for -%information on how to fix this. -% -%\section{Displaying the Glossary} -% -% Once the \filetype{gls} file has been created by -%\appname{makeindex} (as described in the previous -% section) the glossary can then be included in the document with -%the command \cmdname{printglossary}\DescribeMacro{\printglossary}. -% If chapters are defined, the glossary will start -%with\SpecialMainIndex{glossaryname} -%\begin{verbatim} -%\chapter*{\glossaryname} -%\end{verbatim} -%If not, it will start with -%\begin{verbatim} -%\section*{\glossaryname} -%\end{verbatim} -%The format of the main body of the glossary depends on the -%options passed to the package. -% -%\section{Package Options} -%\label{sec:options} -% -%The package options must be specified as a comma-separated list -%of \meta{key}=\meta{value} pairs. Available options are: -%\begin{description} -%\item[\pkgopt{style}] The glossary style. Values: -%\index{glossary style|see{package options, style}} -%\begin{description} -%\item[\pkgoptval{list}{style}] use -%\envname{description} environment in the glossary -%\item[\pkgoptval{altlist}{style}] modified -%version of \pkgopt[list]{style}. The description starts on the -%line following the name of the term being defined. -%\changes{2.0}{2004 September 21}{Package option \texttt{altlist} -%style} -%\item[\pkgoptval{super}{style}] use -%\envname{supertabular} environment in the glossary -%\item[\pkgoptval{long}{style}] use -%\envname{longtable} environment in the glossary (Default) -%\end{description} -% -%\item[\pkgopt{header}]\index{glossary header|see{package options, header}} Glossary -%header. Values: -%\begin{description} -%\item[\pkgoptval{none}{header}] The glossary -%doesn't have a heading (Default) -%\item[\pkgoptval{plain}{header}] The glossary -%has a heading -%\end{description} -% -%\item[\pkgopt{border}]\index{glossary border|see{package options, border}} Glossary -%border. Values: -%\begin{description} -%\item[\pkgoptval{none}{border}] The glossary -%doesn't have a border (Default) -%\item[\pkgoptval{plain}{border}] Border -%around the main body of the glossary -%\end{description} -% -%\item[\pkgopt{cols}]\index{glossary columns|see{package options, cols}} Number of -%columns. Values: -%\begin{description} -%\item[\pkgoptval{2}{cols}] The entry name and description are in two separate -%columns with the associated page numbers in the same column as -%the description. (Default) -%\item[\pkgoptval{3}{cols}] The entry name, description and associated page numbers -%are in three separate columns. -%\end{description} -% -% \changes{1.1}{2004 August 14}{Package option \texttt{number}} -% \changes{2.4}{2006 July 20}{Package option \texttt{number} modified -%so that any counter can be used} -%\item[\pkgopt{number}] -% Associated number corresponding to each entry. -%This may either be the keyword \pkgoptval{none}, indicating that -%the corresponding numbers should be suppressed, or it can be the -%name of a \LaTeX\ counter. The default is \pkgopt[page]{number}. -% -%\item[\pkgopt{toc}]\index{table of contents, adding to|see{package options, toc}} -%Boolean variable: -%\changes{2.0}{2004 September 21}{Package option \texttt{toc}} -%\begin{description} -%\item[\pkgoptval{true}{toc}] Add glossary to table of contents -%\item[\pkgoptval{false}{toc}] Omit glossary from table of contents (Default) -%\end{description} -%Note that if you specify this option, you will need to run -%\LaTeX\ twice after generating the glossary. -% -%\item[\pkgopt{hypertoc}] -%Boolean variable. This is similar to the package option -%\pkgopt{toc}, but if you are using the \styname{hyperref} -%package, \pkgopt{hypertoc} will generate a link to the -%point immediately before the glossary title, whereas \pkgopt{toc} will -%have a hyperlink to just after the glossary title. Note -%that you can not use both \pkgopt[true]{toc} and -%\pkgopt[true]{hypertoc}. Default value: -%\pkgopt[false]{hypertoc}. -%\changes{2.24}{2005 September 27}{Package option \texttt{hypertoc}} -% -%\item[\pkgopt{hyper}] Boolean -%variable: -%\changes{2.0}{2004 September 21}{Package option \texttt{hyper}} -%\begin{description} -%\item[\pkgoptval{true}{hyper}] Make associated numbers in the -%glossary a hypertext link, and also make acronyms, and the text -%given by \icmdname{xglossary} have a hyperlink to their -%corresponding entries in the glossary. -%\item[\pkgoptval{false}{hyper}] Don't make associated numbers a hypertext link -%\end{description} -%If the \styname{hyperref} or \styname{html} package has -%been loaded prior to loading \texttt{glossary.sty}, -%\pkgopt[true]{hyper} is set, otherwise -%the default is \pkgopt[false]{hyper}. Note that this package -%option now encompasses the old \pkgopt{hyperacronym} option. -% -%\item[\pkgopt{section}] Boolean variable: -%\changes{2.12}{2004 November 1}{Package option \texttt{section}} -%\begin{description} -%\item[\pkgoptval{true}{section}] Make the glossary an unnumbered -%section, even if chapters are defined% -% -%\item[\pkgoptval{false}{section}] Only make glossary an -%unnumbered section if chapters are not defined (default). -%\end{description} -% -%\item[\pkgopt{acronym}] Boolean variable: -%\changes{2.17}{2005 June 28}{Package option \texttt{acronym}} -%\begin{description} -%\item[\pkgoptval{true}{acronym}] Make the list of acronyms -%separate from the main glossary. -% -%\item[\pkgoptval{false}{acronym}] The acronyms will all -%be placed in the main glossary. (Default) -%\end{description} -% -%\item[\pkgopt{global}] Boolean variable: -%\changes{2.31}{2005 December 5}{Package option \texttt{global}} -%\begin{description} -%\item[\pkgoptval{false}{global}] Acronym commands only have -%a local effect. (Default) -%\item[\pkgoptval{true}{global}] Acronym commands have a global -%effect. -%\end{description} -%\end{description} -% The \pkgopt{border}, \pkgopt{header} and \pkgopt{cols} options -%should not be used in conjunction with \pkgopt[list]{style} -%or \pkgopt[altlist]{style}, 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 -% \pkgopt{toc} is equivalent to \pkgopt[true]{toc}. Note that the -%\pkgoptval{altlist}{style} style is better suited to -%glossaries with long entry names. -% -%You can set up your own preferred defaults in a configuration -%file% -%\index{glossary.cfg|see{file type, cfg}}. -%The file must be called \texttt{glossary.}\filetype{cfg} and -%should be placed somewhere on the \TeX\ path. In this file you -%can use the command \DescribeMacro{\glossarypackageoptions}% -%\noindent -%\cmdname{glossarypackageoptions}\verb'{'\meta{option-list}\verb/}/ -%\noindent -%where \meta{option-list} is a comma-separated list of -%\meta{key}=\meta{value} pairs, as passed to the -%\styname{glossary} -%package. Note that this command may only be used in the -%configuration file. -% -%\subsection{Examples} -% Suppose the document has the following \icmdname{glossary} -%commands: -%\begin{center}\ttfamily -%\begin{tabular}{@{\rmfamily}ll@{}l} -%\bfseries Page & \multicolumn{2}{c}{\bfseries\rmfamily Command}\\ -%1 & \cmdname{glossary}\{&name=diagonal matrix,\\ -% & &description=Matrix whose only non-zero\\ -% & &entries are along the leading diagonal\}\\ -%2 & \cmdname{glossary}\{&name=identity matrix,\\ -% & &description=Diagonal matrix with 1s along the \\ -% & &leading diagonal\}\\ -%4 & \cmdname{glossary}\{&name=singular matrix,\\ -% & &description=Matrix with zero determinant\} -%\end{tabular} -%\end{center} -% -%\noindent Variations: -%\begin{enumerate} -%\item If \pkgopt[list]{style} is chosen, the glossary will look like: -%\begin{description} -%\item[diagonal matrix] Matrix whose only non-zero entries are along the leading -% diagonal, 1 -%\item[identity matrix] Diagonal matrix with 1s along the leading diagonal, 2 -%\item[singular matrix] Matrix with zero determinant, 4 -%\end{description} -% -%\item If \pkgopt[altlist]{style} is chosen, the glossary will look like: -%\begin{description} -%\item[diagonal matrix]\mbox{}\par Matrix whose only non-zero entries are along the leading -% diagonal, 1 -%\item[identity matrix]\mbox{}\par Diagonal matrix with 1s along the leading diagonal, 2 -%\item[singular matrix]\mbox{}\par Matrix with zero determinant, 4 -%\end{description} -% -%\item If \pkgopt[list]{style},\pkgopt[none]{number}% -% is chosen, the glossary will look like: -%\begin{description} -%\item[diagonal matrix] Matrix whose only non-zero entries are along the leading -% diagonal -%\item[identity matrix] Diagonal matrix with 1s along the leading diagonal -%\item[singular matrix] Matrix with zero determinant -%\end{description} -% -%\item If \pkgopt[long]{style},\pkgopt[none]{border},% -%\pkgopt[none]{header},\pkgopt[page]{number} -%is chosen (default), the glossary will look like:\\[10pt] -%\newlength{\descriptionwidth}\setlength{\descriptionwidth}{0.6\textwidth} -%\begin{tabular}{@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}} & -%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading -% diagonal, 1 -%\\ & -%\\identity matrix & Diagonal matrix with 1s along the leading diagonal, 2 -%\\ & -%\\ singular matrix & Matrix with zero determinant, 4 -%\end{tabular} -% -%\item If \pkgopt[long]{style},\pkgopt[plain]{border},% -%\pkgopt[none]{header} is chosen, -%the glossary will look like: -%\\[10pt] -%\begin{tabular}{|@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}|}\hline & -%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading -% diagonal, 1 -%\\ & -%\\identity matrix & Diagonal matrix with 1s along the leading diagonal, 2 -%\\ & -%\\ singular matrix & Matrix with zero determinant, 4 -%\\ & \\\hline -%\end{tabular} -% -%\item If \pkgopt[long]{style},\pkgopt[plain]{border},% -%\pkgopt[plain]{header} is -%chosen, the glossary will look like: -%\\[10pt] -%\begin{tabular}{|@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}|}\hline -%\bfseries Notation & \bfseries Description\\\hline\hline & -%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading -% diagonal, 1 -%\\ & -%\\identity matrix & Diagonal matrix with 1s along the leading diagonal, 2 -%\\ & -%\\ singular matrix & Matrix with zero determinant, 4 -%\\ & \\\hline -%\end{tabular} -% -%\item If \pkgopt[long]{style},\pkgopt[none]{border},% -%\pkgopt[plain]{header},\pkgopt[3]{cols} is chosen, the -%glossary will look like: -%\\[10pt] -%\begin{tabular}{@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}l} -%\bfseries Notation & \bfseries Description & \\ & -%\\ diagonal matrix & Matrix whose only non-zero entries are along the leading -% diagonal & 1 -%\\ & -%\\identity matrix & Diagonal matrix with 1s along the leading diagonal & 2 -%\\ & -%\\ singular matrix & Matrix with zero determinant & 4 -%\\ & \\ -%\end{tabular} -%\end{enumerate} -% -% -%\section{Defining New Glossary Types} -%\label{sec:newglostype} -% -%A new type of glossary can be defined using the command:\DescribeMacro{\newglossarytype}\\[5pt] -%\cmdname{newglossarytype}\verb/[/\meta{log-ext}\verb"]{"\meta{name}\verb'}{'\meta{out-ext}\verb+}{+\meta{in-ext}\verb!}[!\meta{style list}\verb-]-\\[5pt] -%For example, suppose you want your document to have a separate -%index of terms and index of notation, -%you could use \icmdname{makeglossary}, \icmdname{glossary}, -%\icmdname{xglossary} and \icmdname{printglossary} for the first -%glossary, and define a new type of glossary called say, -%\texttt{notation}, using -%\begin{verbatim} -%\newglossarytype[nlg]{notation}{not}{ntn} -%\end{verbatim} -%which will create the analogous commands: -%\cmdname{makenotation}, \cmdname{notation}, \cmdname{xnotation} -%and \cmdname{printnotation} which can be used for the second -%glossary. -% -%\changes{2.3}{2005 Nov 18}{Added extra optional argument to 'newglosarytype} -%As from version 2.3, \cmdname{newglossarytype} now has an -%additional optional argument \meta{style list}. This should -%be a comma separated list of \meta{key}=\meta{value} pairs -%that can be used to specify the style of the new glossary. -%If omitted, the new glossary will have the same format -%as the main glossary. The following options are available: -%\texttt{number}, \texttt{style}, \texttt{header}, \texttt{border} and -%\texttt{cols}. These can take the same values as those -%given in the package options (described in section~\ref{sec:options}). -% -%The command \cmdname{newglossarytype} should only occur in the -%preamble. The new commands -% \cmdname{make}\meta{name}, \verb'\'\meta{name}, -%\verb'\x'\meta{name} and \cmdname{print}\meta{name} all have the -%same format as their ``glossary'' counter-parts. -% -%The glossary information will be saved to a file -%with the extension given by \meta{out-ext} (analogous to -%\filetype{glo}), which can then be passed to \appname{makeindex} -%either directly or via \appname{makeglos.pl}, -%and the file to be read in (i.e.\ the file created by -%\appname{makeindex}) will have the extension \meta{in-ext} -%(analogous to \filetype{gls}). -% -%The optional argument \meta{log-ext} indicates -%the extension for the \appname{makeindex} log file, if omitted the -%extension \filetype{glg} is used. This is not used by \LaTeX, -%however \appname{makeglos.pl} reads in this information from -%the \LaTeX\ auxiliary file and passes it to \appname{makeindex}.\changes{2.22}{2005 Sept 12}{changed makeglos to read information in from .aux instead of .log file} -% -%For the above \texttt{notation} -%example, if your document is called, say, \texttt{mydoc.tex}, -% you will need to do the following: -%\begin{verbatim} -%latex mydoc -%makeglos.pl mydoc -%latex mydoc -%\end{verbatim} -%(You may need to do an extra \verb"latex mydoc" to get -%cross-references up-to-date.) Note that if you don't specify the -%file extension when using \appname{makeglos.pl}, it will -%check the transcript file from the \LaTeX\ run to determine -%all the glossary types, so, for this example, -%\begin{verbatim} -%makeglos.pl mydoc -%\end{verbatim} -%is equivalent to: -%\begin{verbatim} -%makeglos.pl mydoc.glo -%makeglos.pl mydoc.not -%\end{verbatim} -%since \appname{makeglos.pl} has read in the information -%for the \texttt{notation} glossary type from the file -%\texttt{mydoc.log}. -% -%If you don't have Perl installed -%on your system, or for any other reason are unable to use -%\appname{makeglos.pl}, you can call \appname{makeindex} -%explicitly: -%\begin{verbatim} -%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 -%\end{verbatim} -% -%Note that you can use the command -%\icmdname{printglossary}\texttt[\meta{name}\texttt] -%instead of \verb'\print'\meta{name}. -%These two commands have the same effect when using \LaTeX, -%however, they have a slightly different effect when -%using \LaTeX2HTML (see \autoref{sec:l2h}). -% -%If the command \verb'\'\meta{glossary-type}\verb"name" -%is defined, (e.g.\ \verb'\notationname' in the above example) -%this will be used as the title for the specified -%glossary. If this command is not defined, \icmdname{glossaryname} -%will be used instead. -%If the command \verb'\short'\meta{glossary-type}\verb"name" -%is defined, (e.g.\ \cmdname{shortnotationname} in the above -%example) this will be used for the table of contents -%entry, otherwise \verb'\'\meta{glossary-type}\verb"name" will -%be used instead. -%For example: -%\begin{verbatim} -%\newglossarytype[nlg]{notation}{not}{ntn} -%\newcommand{\notationname}{Index of Notation} -%\newcommand{\shortnotationname}{Notation} -%\end{verbatim} -% -%\section{Acronyms} -% -%\changes{2.0}{2004 September 21}{Acronyms} -%The \styname{glossary} package provides the command\DescribeMacro{\newacronym}:\\[5pt] -%\begin{ttfamily} -%\cmdname{newacronym}[\textrm{\meta{cmd-name}}]\{\textrm{\meta{acronym}}\}\{\textrm{\meta{long}}\}\{\textrm{\meta{glossary entry}}\} -%\end{ttfamily}\\[5pt] -%which can be used to define acronyms. The argument \meta{long} -%is the full name, the argument \meta{acronym} is the acronym for -%\meta{long} and \meta{glossary entry} is the glossary information -%in the form used by the \icmdname{glossary} command. If the -%optional argument \meta{cmd-name} is missing, -%\cmdname{newacronym} will create a command called -%\verb!\!\meta{acronym}, otherwise it will create a command -%called \verb'\'\meta{cmd-name} (henceforth denoted \cmdname{}\meta{acr-name}). -%This command can then be used throughout the text. The first -%instance of this command is equivalent to:\\[10pt] -%\meta{long} \texttt(\icmdname{xacronym}\verb"{"\gloskey{name}\texttt{=}\meta{long} \texttt(\meta{acronym}\texttt{),}\meta{glossary entry}\verb'}{'\meta{acronym}\verb/}/\texttt)\\[10pt] -%subsequent instances will be equivalent to:\\[10pt] -%\icmdname{xacronym}\verb"{"\gloskey{name}\texttt{=}\meta{long} \texttt(\meta{acronym}\texttt{),}\meta{glossary entry}\verb'}{'\meta{acronym}\verb/}/\\[10pt] -%The command \cmdname{}\meta{acr-name} also has a starred -%version, which will make the first letter of \meta{long} -%uppercase (for use at the start of a sentence). -% -%Note that if you want to change the format of the acronym, -%for example, if you want the acronym to appear in small caps, -%you will need to not only use the optional argument, but you -%will also need to use the \gloskey{sort} key, otherwise you -%will get an error. For example: -%\begin{verbatim} -%\newacronym[SVM]{\textsc{svm}}{Support Vector Machine}% -%{description=Statistical pattern recognition -%technique,sort=svm} -%\end{verbatim} -% -%If the package option \pkgopt{acronym} is not set (default) -%\icmdname{xacronym}, is a synonym for \icmdname{xglossary}, and -%the acronyms will appear in the main glossary (remember to -%specify \cmdname{makeglossary} and \cmdname{printglossary}). -%If the package option \pkgopt[true]{acronym} is specified, a -%new glossary type called \texttt{acronym} will be defined as: -%\begin{verbatim} -%\newglossarytype[alg]{acronym}{acr}{acn} -%\providecommand{\acronymname}{List of Acronyms} -%\end{verbatim} -%You will then need to use the commands \icmdname{makeacronym} -%and \icmdname{printacronym} to make the list of acronyms appear. -%You will also need to run the \filetype{acr} file through -%\appname{makeindex} (or \appname{makeglos.pl}). For example: -%\begin{verbatim} -%makeindex -s mydoc.ist -t mydoc.alg -o mydoc.acn mydoc.acr -%\end{verbatim} -%alternatively: -%\begin{verbatim} -%makeglos.pl mydoc -%\end{verbatim} -%Note that the package option \pkgopt[true]{acronym} is only -%appropriate if you want both a glossary and a separate list of -%acronyms. If you do not write in English, you can set up your -%own language definition -%for \cmdname{acronymname} in the configuration file -%\texttt{glossary}\filetype{cfg}. For example: -%\begin{verbatim} -%\newcommand{\acronymname}{Akronyme} -%\end{verbatim} -%(If \texttt{glossary.cfg} does not exist, create a new file, add the -%appropriate definition of \cmdname{acronymname}, and save it to the -%same directory as \texttt{glossary.sty}.) -% -%\changes{2.1}{2004 October 25}{name field can be omitted in -%\texttt{'newacronym}} -%The \gloskey{name} key does not need to appear in \meta{glossary -%entry}, as it is constructed from \meta{long} and -%\meta{acronym}. By default this will be in the form: -%\meta{long} (\meta{acronym}), however the format can be -%overridden using the -%command:\DescribeMacro{\setacronymnamefmt}\\[10pt] -%\cmdname{setacronymnamefmt}\{\meta{format}\}\\[10pt] -%Within \meta{format} the following commands may -%be used to represent \meta{long} and \meta{acronym}: -%\DescribeMacro{\glolong}\icmdname{glolong} and -%\DescribeMacro{\gloshort}\icmdname{gloshort}. 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: -%\begin{verbatim} -%\setacronymnamefmt{\gloshort} -%\end{verbatim} -% -%\changes{2.32}{2006 January 5}{added \texttt{'setacronymdescfmt}} -%As from version 2.32, you can also modify the way the description -%key is formatted for acronyms using\DescribeMacro{\setacronymdescfmt}:\\[10pt] -%\cmdname{setacronymdescfmt}\{\meta{format}\}\\[10pt] -%Within \meta{format} you may use the commands \icmdname{glolong} -%and \icmdname{gloshort} (as above), and you can also use -%the command \icmdname{glodesc} which is the description as -%specified by the \gloskey{description} key in -%\icmdname{newacronym}. This means that if you are using -%a tabular style glossary, you can have the abbreviated -%form in one column and the long form in the second column -%with the description. For example, the following: -%\begin{verbatim} -%\setacronymnamefmt{\gloshort} -%\setacronymdescfmt{\glolong: \glodesc} -%\newacronym{svm}{support vector machine}{description=Statistical -%pattern recognition technique} -%\end{verbatim} -%will generate a glossary entry of the form: -%\begin{verbatim} -%\glossary{name=svm,description=support vector machine: Statistical -%pattern recognition technique} -%\end{verbatim} -%Note that if you omit \icmdname{glodesc} from -%\cmdname{setacronymdescfmt} the description specified -%in \cmdname{newacronym} will be ignored. So -%\begin{verbatim} -%\setacronymnamefmt{\gloshort} -%\setacronymdescfmt{\glolong} -%\newacronym{svm}{support vector machine}{description=Statistical -%pattern recognition technique} -%\end{verbatim} -%will generate a glossary entry of the form: -%\begin{verbatim} -%\glossary{name=svm,description=support vector machine} -%\end{verbatim} -% -%You will need to specify the \gloskey{name} key explicitly if -%the name contains a \appname{makeindex} special character. -%For example: -%\begin{verbatim} -%\newacronym{RNA}{Ribonukleins\"aure}{name={Ribonukleins\""aure (RNA)}} -%\end{verbatim} -%Note that this will override any formatting specified by -%\icmdname{setacronymnamefmt}. -% -%Given an acronym named \meta{acr-name} (the command name -%associated with the acronym as defined in -%\cmdname{newacronym} without the preceding backslash), -%the following commands are also available: -% -%\vspace{10pt} -%\changes{2.11}{2004 October 25}{\texttt{'useacronym}} -%\changes{2.18}{2005 July 5}{Fixed bug in 'useacronym} -%\changes{2.26}{2005 November 17}{Fixed bug in 'useacronym} -%\noindent -%\cmdname{useacronym}\verb"["\meta{insert}\verb']{'\meta{acr-name}\verb!}!\DescribeMacro{\useacronym}\\[5pt] -%This command can be used instead of \cmdname{}\meta{acr-name}. -%\cmdname{useacronym} also has a starred version equivalent to -%\cmdname{}\meta{acr-name}\texttt{*}. -%The optional argument \meta{insert} allows you to insert text -%after \meta{long}, if this is the first occurrence of the -%acronym, or after the acronym on subsequent occurrences. -% -%\vspace{10pt} -%\changes{2.14}{2005 May 28}{'resetacronym added}\noindent -%\cmdname{resetacronym}\verb'{'\meta{acr-name}\verb"}" -%\DescribeMacro{\resetacronym}\\[10pt] -%This command will cause the next use of \cmdname{}\meta{acr-name} -%to produce the long version. To reset all acronyms -%do \cmdname{resetallacronyms}.\DescribeMacro{\resetallacronyms} -%\changes{2.21}{2005 July 27}{'resetallacronyms added} -% -%\vspace{10pt} -%\changes{2.31}{2005 December 5}{'unsetacronym added}\noindent -%\cmdname{unsetacronym}\verb'{'\meta{acr-name}\verb"}" -%\DescribeMacro{\unsetacronym}\\[10pt] -%This command will cause all subsequent uses of -%\cmdname{}\meta{acr-name} to produce the short version. -%To unset all acronyms -%do \cmdname{unsetallacronyms}.\DescribeMacro{\unsetallacronyms} -%\changes{2.31}{2005 December 5}{'unsetallacronyms added} -% -%\vspace{10pt} -%\changes{2.14}{2005 May 28}{'ifacronymfirstuse added}\noindent -%\cmdname{ifacronymfirstuse}% -%\verb'{'\meta{acr-name}% -%\verb'}{'\meta{true text}\verb"}{"\meta{false text}\verb!}! -%\DescribeMacro{\ifacronymfirstuse}\\[10pt] -%This will test if the acronym has been used yet. If it has been -%used, \meta{true text} will be implemented, otherwise -%\meta{false text} will be implemented. -% -%The long and short forms of an acronym can be produced explicitly -%without a corresponding glossary entry, using the commands:\\[10pt] -%\changes{2.19}{2005 July 8}{'acrln added}% -%\cmdname{acrln}\verb'{'\meta{acr-name}\verb/}/\DescribeMacro{\acrln}\\ -%\cmdname{acrsh}\verb'{'\meta{acr-name}\verb/}/\DescribeMacro{\acrsh} -%\changes{2.19}{2005 July 8}{'acrsh added}\\[10pt] -%Or, alternatively:\\[10pt] -%\cmdname{}\meta{acr-name}\texttt{long}\\ -%\cmdname{}\meta{acr-name}\texttt{short}\\[10pt] -%The first two commands (\cmdname{acrln} and \cmdname{acrsh}) -%have a starred form that makes the first letter uppercase. -%The other two commands, simply contain \meta{long} and -%\meta{acronym}. -% -%Note that since these four commands do not generate glossary -%entries they will therefore not contain any hyperlinks, even if -%you have specified the \pkgopt{hyper} package option. They are -%provided for use in situations where the associated glossary -%command may cause problems (e.g.\ in a sectioning command.) -% -%Note that, as with all \LaTeX\ commands, spaces following -%command names are ignored so if, for example, you defined -%a new acronym called, say, SVM, then the command \verb/\SVM/ will -%ignore any spaces following it. To force a space, you -%can either place an empty set of braces after the command -%name (e.g.\ \verb/\SVM{}/) or use -%\cmdname{\textvisiblespace} i.e.\ a backslash followed by -%a space (e.g.\ \verb/\SVM\ /). Alternatively, as from -%version 2.22, if you load the \styname{xspace} package -%before loading the \styname{glossary} package, spaces will -%be put in automatically using \icmdname{xspace}. -%\changes{2.22}{2005 Sept 16}{Added provision for 'xspace} -%\changes{2.23}{2005 Sept 17}{Fixed minor bug with hyperlinks and 'glsxspace} -%\changes{2.28}{2005 July 9}{Fixed erroneous spaces occuring while -%using xspace} -% -%\DescribeMacro{\acronymfont} -%\changes{2.22}{2005 Sept 12}{Added 'acronymfont}% -%If you want the acronym to appear in a particular font, -%for example, small caps, you can redefine the command -%\cmdname{acronymfont}. For example: -%\begin{verbatim} -%\renewcommand{\acronymfont}[1]{\textsc{#1}} -%\end{verbatim} -%The default definition of \cmdname{acronymfont} is: -%\begin{verbatim} -%\newcommand{\acronymfont}[1]{#1} -%\end{verbatim} -% -%\subsection{Examples} -% -%\begin{verbatim} -%\newacronym{SVM}{Support Vector Machine}{description=Statistical -%pattern recognition technique} -%\end{verbatim} -%This will define the command \cmdname{SVM}. 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 \meta{cmd-name} since the -%acronym contains a non-alphabetical character: -%\begin{verbatim} -%\newacronym[KSVM]{K-SVM}{Kernel Support Vector -%Machine}{description=Statistical pattern recognition -%technique using the ``kernel trick''} -%\end{verbatim} -%This will define the command \cmdname{KSVM}. The first time -%this command is used will display the text: Kernel Support Vector -%Machine (K-SVM). Subsequent use will simply display: K-SVM. -% -%To test whether or not an acronym has been used: -%\begin{verbatim} -%\ifacronymfirstuse{SVM}{a}{an} \SVM\ is \ldots -%\end{verbatim} -%If the acronym has not been used, the following text will -%be produced:\\[10pt] -%a Support Vector Machine is \ldots\\[10pt] -%otherwise it will produce:\\[10pt] -%an SVM is \ldots\\[10pt] -%To expand the acronym a second time: -%\begin{verbatim} -%\chapter{An overview of the \protect\SVM} -%\resetacronym{SVM} -%The \SVM\ \ldots -%\end{verbatim} -%Note the use of \cmdname{protect} (see -%note~\ref{itm:fragile} on page~\pageref{itm:fragile}.) In fact, in this situation -%it would be better to do: -%\begin{verbatim} -%\chapter[An overview of the \SVMlong]{An overview of the \protect\SVM} -%\resetacronym{SVM} -%The \SVM\ \ldots -%\end{verbatim} -% -%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: -%\begin{verbatim} -%\newacronym{SVM}{support vector machine}{description=Statistical -%pattern recognition technique} -%\end{verbatim} -%however, if the command \cmdname{SVM} occurs at the start of the -%sentence, you would clearly want the first letter as an -%uppercase letter. This can be done using \cmdname{SVM*} instead -%of \cmdname{SVM}. For example: -%\begin{verbatim} -%\SVM*\ techniques are widely used \ldots -%\end{verbatim} -%This will then come out as: Support vector machine (SVM) -%techniques are widely used \ldots (Assuming this is the first -%use of either \cmdname{SVM} or \cmdname{SVM*}.) -% -%Alternatively, \icmdname{useacronym}\verb'{SVM}' can be used instead of -%\cmdname{SVM}. For example: -%\begin{verbatim} -%\useacronym*[s]{SVM} are widely used in the area of pattern -%recognition. -%\end{verbatim} -%If this is the first use of the acronym SVM, it will produce the -%following text:\\[10pt] -%Support vector machines (SVM) are widely used in the area of -%pattern recognition.\\[10pt] -%If this is not the first use of this acronym, it will produce the -%following text:\\[10pt] -%SVMs are widely used in the area of pattern recognition. -% -%\section{Customizing the Glossary} -%The \styname{glossary} package provides commands which can be redefined to customize the -%glossary. The following name commands are defined by this package: -%\begin{center}\DescribeMacro{\glossaryname}\DescribeMacro{\entryname}\DescribeMacro{\descriptionname}\relax -%\begin{tabular}{ll} -%\bfseries Command & \bfseries Default Value\\ -%\cmdname{glossaryname} & Glossary\\ -%\cmdname{shortglossaryname} & \cmdname{glossaryname}\\ -%\cmdname{entryname} & Notation\\ -%\cmdname{descriptionname} & Description -%\end{tabular} -%\end{center} -%The commands \cmdname{entryname} and \cmdname{descriptionname} -%are put in the first two columns of the header row if you -%are using one of the tabular glossary styles together with a -%header row (as specified by the \pkgopt[true]{header} package option). -%If you are using \pkgopt[3]{cols}, the command -%\cmdname{glspageheader}\DescribeMacro{\glspageheader}\ will be -%put in the third column of the header row. By default, this command -%does nothing.\changes{2.4}{2006 July 20}{'glspageheader added} -% -%\changes{2.2}{2005 July 15}{'glossaryname now defined using 'providecommand instead of 'newcommand} -% \changes{2.15}{2005 June 5}{'shortglossaryname} -%\changes{2.16}{2005 June 8}{fixed bug preventing changes -%to 'glossaryname and 'shortglossaryname} -%\DescribeMacro{\shortglossaryname} -%The command \cmdname{shortglossaryname} is used for the -%page headers and table of contents entry. -% \changes{1.1}{2004 August 14}{'glossarypreamble}% -% \changes{1.1}{2004 August 14}{'glossarypostamble}% -%Any text required before or after the glossary can be added -%by redefining the commands \DescribeMacro{\glossarypreamble}\cmdname{glossarypreamble} -%and \DescribeMacro{\glossarypostamble}\cmdname{glossarypostamble}. -%For example. -%\begin{verbatim} -%\renewcommand{\glossarypreamble}{Page numbers in -%italic indicate the main definition\par} -%\end{verbatim} -%By default, \cmdname{glossarypreamble} and \cmdname{glossarypostamble} do nothing. -% -%\changes{2.3}{2005 Nov 18}{'glsbeforenum}% -%\changes{2.3}{2005 Nov 18}{'glsafternum}% -%Any text required before or after the list of page numbers -%are specified by the commands \cmdname{glsbeforenum} -%\DescribeMacro{\glsbeforenum} -%and \cmdname{glsafternum}\DescribeMacro{\glsafternum}. -%By default, these commands do nothing, any redefinition -%of these commands should come somewhere before the -%relevant \cmdname{printglossary} command. For example: -%\begin{verbatim} -%\printglossary -%\renewcommand{\glsbeforenum}{(} -%\renewcommand{\glsafternum}{)} -%\printnotation -%\end{verbatim} -%This will put the page number list in brackets for the -%second glossary, but not the first. -% -%Individual glossaries can have their styles changed either -%by setting the style in the final optional argument -%to \icmdname{newglossarystyle} (see -%\autoref{sec:newglostype}) or using the command\DescribeMacro{setglossarystyle}:\\[10pt] -%\cmdname{setglossarystyle}[\meta{type}]\{\meta{style list}\}\\[10pt] -%For example: -%\begin{verbatim} -%\setglossarystyle[acronym]{style=long,border=true,cols=2} -%\end{verbatim} -%If \meta{type} is omitted, the change is applied to the main -%glossary. -% -%\changes{1.1}{2004 August 14}{\relax Increased User Flexibility}% -%\changes{2.14}{2005 May 29}{'setglossary added} -%\DescribeMacro{\setglossary} -%The command \cmdname{setglossary}\verb'{'\meta{key-val list}\verb"}" -%can be used to modify some of the glossary settings. The argument -%\meta{key-val list} is a comma-separated list of -%\meta{key}=\meta{value} pairs. Available keys are: -%\begin{description} -%\item[\setglos{type}] This is the glossary type. -%If it is omitted, the standard glossary is assumed. -% -%\item[\setglos{glsnumformat}] -%\changes{1.1}{2004 August 14}{\texttt{'glsnumformat}}% -%This is the name of the command, -%\emph{without} the preceding backslash\footnote{Note, you should -%no longer try redefining the command \cmdname{glsnumformat}, as -%this now takes an optional argument, allowing for different -%glossary types}, to format the -%entry numbers. For example, to make all the entry numbers italic, -%do: -%\begin{verbatim} -%\setglossary{glsnumformat=textit} -%\end{verbatim} -%To suppress numbering altogether, you can do: -%\begin{verbatim} -%\setglossary{glsnumformat=ignore} -%\end{verbatim} -% -%\item[\setglos{glodelim}] This -%specifies what to do after the entry description and -%before the page numbers. The default value is a comma, unless the \pkgopt[3]{cols} option is specified, -%in which case it has the value \verb"&", or if -%\pkgopt[altlist]{style}, -%in which case it is simply a space\footnote{This -%is because the \texttt{altlist} style is intended for use with long descriptions that will look better ending with a -% full stop which the user can add if desired.}. If the package option \pkgopt[none]{number} is -%specified, \setglos{glodelim} will have an empty value (unless -%\pkgopt[3]{cols} is specified, -%where, again, it will have the value \verb"&".) -%This setting corresponds to the \istkey{delim\_0} key in the -%\appname{makeindex} style file. -% -%Note that if you want a new line between the description -%and the list of page numbers you will need to use -%\cmdname{noexpand}. For example: -%\begin{verbatim} -%\setglossary{glodelim={\noexpand\newline}} -%\end{verbatim} -% -%\item[\setglos{delimN}] -%\changes{1.1}{2004 August 14}{\texttt{'delimN}} -%The delimiter to be inserted between two -%page numbers for the same entry. (This corresponds to the -%\istkey{delim\_n} key in the \appname{makeindex} style file.) -%By default, this has the value -%\texttt{,\textvisiblespace} (comma followed by a space). If the -%package option \pkgopt[none]{number} is chosen, the value is set -%to empty. -% -%\item[\setglos{delimR}] -%\changes{1.1}{2004 August 14}{'delimR} -%The delimiter to be inserted between the starting and ending page -%number range for the same entry. (This corresponds to the -%\istkey{delim\_r} key in the \appname{makeindex} style file.) -%By default, this has the value \verb"--". If the -%package option \pkgopt[none]{number} is chosen, the value is set -%to empty. -% -%\item[\setglos{gloskip}] -%\changes{2.3}{2005 Nov 18}{'gloskip} -%This specifies what to do between groups. -%If \pkgopt[list]{style} or \pkgopt[altlist]{style} this has the -%value \cmdname{indexspace}, otherwise it creates a blank row -% in the \envname{longtable} or \envname{supertabular} environment. -%This command corresponds to the \istkey{group\_skip} key in -%the \appname{makeindex} style file. -%Note that as from version 2.3, you should no longer redefine -%the command \cmdname{gloskip}. -% -%\item[\setglos{delimT}] -%\changes{2.3}{2005 Nov 18}{'delimT} -%The text to be inserted after the list of -%page numbers for an entry. (This corresponds to the -%\istkey{delim\_t} key in the \appname{makeindex} style file.) -%The default value depends on the glossary style. It does -%nothing for the list-type styles, and has the value -%\verb/\\/ for the tabular-type styles. Note that -%\setglos{delimT} is separate from \cmdname{glsafternum}. -% -%For example, if you are using a 2 column tabular style, -%and you want a blank line after every entry (not just -%after every group) you can do the following: -%\begin{verbatim} -%\setglossary{delimT={\cr & \cr},gloskip={}} -%\end{verbatim} -%Note the use of \cmdname{cr} instead of \verb/\\/ and -%\setglos{gloskip} is set to nothing otherwise there would be -%a double space between groups. -%\end{description} -%Note that: -%\begin{verbatim} -%\setglossary{glsnumformat=ignore} -%\end{verbatim} -%is equivalent to -%\begin{verbatim} -%\setglossary{glsnumformat=ignore,delimN={},delimR={}} -%\end{verbatim} -% -%As from version 2.4\changes{2.4}{2006 July 20}{Added facility to insert text between groups}, -%you can insert text between groups by redefining the -%commands \cmdname{glogroupSymbols}, -%\cmdname{glogroupNumbers}, \cmdname{glogroupA} \ldots\ -%\cmdname{glogroupZ}. For example, if you are using one -%of the list styles, the following will print the appropriate -%heading in bold, followed by a gap: -%\begin{verbatim} -%\renewcommand{\glogroupSymbols}{\textbf{Symbols}\indexspace} -%\renewcommand{\glogroupNumbers}{\textbf{Numbers}\indexspace} -%\renewcommand{\glogroupA}{\textbf{A}\indexspace} -%....% similar lines omitted -%\renewcommand{\glosgroupZ}{\textbf{Z}\indexspace} -%\end{verbatim} -% -%The start and end of the main body of the glossary is given by the commands: -%\cmdname{beforeglossary}\DescribeMacro{\beforeglossary}{} and -%\cmdname{afterglossary}\DescribeMacro{\afterglossary}. -%If the \pkgopt[list]{style} -%or \pkgopt[altlist]{style} -%package options are chosen these commands simply begin and end -%the \envname{description} -%environment, otherwise these commands begin and end the -%\envname{longtable} or -%\envname{supertabular} -%environment with argument specified by -%\cmdname{glossaryalignment}\footnote{This isn't quite true -%anymore, see the documented code for clarification}.\DescribeMacro{\glossaryalignment} -% -%\changes{2.1}{2004 October 25}{made glossary compatible with array package} -%\changes{2.3}{2005 Nov 18}{made glossary compatible with array package} -%The glossary package no longer conflicts with the \styname{array} -%package. Changes can now be made to \cmdname{glossaryalignment} -%regardless of whether or not the \styname{array} -%package has been used. -% -%The command \cmdname{gloitem}\DescribeMacro{\gloitem}\ indicates -%what to do at the start of each glossary entry. -%This command takes one argument, which will be the text specified by the \gloskey{name} key -%in the \icmdname{glossary} command. In the case of the -%\pkgopt[list]{style} option, -%\cmdname{gloitem}\verb"{"\meta{text}\verb'}' -%will do\\[5pt] -%\verb"\item["\meta{text}\verb']'\\[5pt] -%or if \pkgopt[altlist]{style}:\\[5pt] -%\verb"\item["\meta{text}\verb']\mbox{}\par'\\[5pt] -%otherwise it will do\\[5pt] -%\meta{text}\verb" &"\\[5pt] -%This command corresponds to the \istkey{item\_0} key in the -%\appname{makeindex} style file. -% -%If the glossary has a tabular style with a header row -%(\pkgopt[true]{header} and either \pkgopt[long]{style} or -%\pkgopt[super]{style}), then the header row for \pkgopt[2]{cols} -%will be given by: -%\begin{verbatim} -%\bfseries\entryname & \bfseries \descriptionname\\ -%\end{verbatim} -%and the header row for \pkgopt[3]{cols} will be given by: -%\begin{verbatim} -%\bfseries\entryname & \bfseries\descriptionname & -%\bfseries\glspageheader\\ -%\end{verbatim} -%(It may also contain \cmdname{hline}\cmdname{hline} if the -%\pkgopt{border} key is set.) -% -%If you want to override this, you need to define the command -%\cmdname{glossaryheader}\footnote{Note that as from version~2.4, -%you must use \cmdname{newcommand} \emph{not} \cmdname{renewcommand}}% -%\DescribeMacro{\glossaryheader}. -% -%For example, if you are using a tabular style with \pkgopt[2]{cols}, -%and you want the \icmdname{descriptionname} to be centred, you could -%do: -%\begin{verbatim} -%\newcommand{\glossaryheader}{\bfseries\entryname & -% \hfil\bfseries\descriptionname\\} -%\end{verbatim} -% -%If you want an extra row below the header row, you can define -%the command\cmdname{glossarysubheader}\DescribeMacro{\glossarysubheader} -%\changes{2.4}{2006 July 20}{provision for 'glossarysubheader added} -%For example, if you are using \pkgopt[3]{cols}, and you want an -%extra row after the header row, you can do: -%\begin{verbatim} -%\newcommand{\glossarysubheader}{ & & \\} -%\end{verbatim} -% -%The command \cmdname{glosstail}\DescribeMacro{\glosstail}\ indicates what to do at the end of -%the \envname{longtable} or \envname{supertabular} environment. -% -%The width of the second column for the tabular-type styles is given by the length -%\cmdname{descriptionwidth}\DescribeMacro{\descriptionwidth}. This value can be changed using -%the \cmdname{setlength} command (the default value is \verb"0.6\linewidth"). -% -%\section{Sample Documents} -%This package comes with the following sample documents: -%\begin{itemize} -%\item \texttt{sampleSec.tex} --- This document uses the options: -%\pkgopt[altlist]{style}, \pkgopt{toc} and -%\pkgopt[section]{number}. It also loads the -%\styname{hyperref} package before loading the -%\styname{glossary} package, so the glossary has hyperlinks -%to the section numbers. Experimenting with different package -%options, will illustrate the different glossary styles. -%You will need to do: -%\begin{verbatim} -%pdflatex sampleSec -%makeglos.pl sampleSec -%pdflatex sampleSec -%pdflatex sampleSec -%\end{verbatim} -%If you don't want to use \appname{makeglos.pl}, you will need -%to do -%\begin{verbatim} -%makeindex -s sampleSec.ist -t sampleSec.glg -o sampleSec.gls sampleSec.glo -%\end{verbatim} -% -%\item \texttt{sampleNtn.tex} --- This has a glossary and defines -%a new glossary type called \texttt{notation}. The glossary has -%associated page numbers, but the new glossary type doesn't. -%The two glossaries have different styles. -%You will need to do: -%\begin{verbatim} -%latex sampleNtn -%makeglos.pl sampleNtn -%latex sampleNtn -%latex sampleNtn -%\end{verbatim} -%If you don't want to use \appname{makeglos.pl}, you will need -%to do -%\begin{verbatim} -%makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo -%makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.ntn sampleNtn.not -%\end{verbatim} -% -%\item \texttt{sampleNtn2.tex} ---This is similar to -%\texttt{sampleNtn.tex}, but uses \icmdname{storeglosentry}. -% -%\item \texttt{sampleEq.tex} --- This has a glossary where the -%numbers in the glossary refer to the equation number rather than -%the page number (achieved with the package option -%\pkgopt[equation]{number}). The \icmdname{entryname}, -%\icmdname{descriptionname}, \icmdname{glossaryname} and -%\icmdname{glspageheader} are all redefined to customize the -%glossary. You will need to do: -%\begin{verbatim} -%latex sampleEq -%makeglos.pl sampleEq -%latex sampleEq -%\end{verbatim} -%If you don't want to use \appname{makeglos.pl}, you will need -%to do -%\begin{verbatim} -%makeindex -s sampleEq.ist -t sampleEq.glg -o sampleEq.gls sampleEq.glo -%\end{verbatim} -% -%\item \texttt{sampleEqPg.tex} --- This is a modified version of -%\texttt{sampleEq.tex}. 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: -%\begin{verbatim} -%latex sampleEqPg -%makeglos.pl sampleEqPg -%latex sampleEqPg -%\end{verbatim} -%If you don't want to use \appname{makeglos.pl}, you will need -%to do -%\begin{verbatim} -%makeindex -s sampleEqPg.ist -t sampleEqPg.glg -o sampleEqPg.gls sampleEqPg.glo -%\end{verbatim} -% -%\item \texttt{sampleAcr.tex} --- This has a glossary containing -%acronyms. It uses the style \pkgoptval{altlist}{style} as this is better -%suited to glossaries with long names. It also uses the -%\styname{hyperref} package, so the page numbers in the -%glossary will automatically be hyperlinks, and the acronyms -%within the text will have hyperlinks to their corresponding entry -%in the glossary. You will need to do: -%\begin{verbatim} -%pdflatex sampleAcr -%makeglos.pl sampleAcr -%pdflatex sampleAcr -%pdflatex sampleAcr -%\end{verbatim} -%If you don't want to use \appname{makeglos.pl}, you will need -%to do -%\begin{verbatim} -%makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo -%\end{verbatim} -% -% -%\item \texttt{sample.tex} --- This has a glossary entry -%with two different definitions of the same name. -%If you just use \appname{makeindex}, the two entries -%will be treated separately, however, if you want them -%concatenated, you can use \appname{makeglos.pl} with -%the \texttt{-m} switch. You will need to do: -%\begin{verbatim} -%pdflatex sample -%makeglos.pl -m sample -%pdflatex sample -%pdflatex sample -%\end{verbatim} -%(Depending on the configuration of your system, you -%may have to do \texttt{perl makeglos.pl} instead of -%just \appname{makeglos.pl}) -% -%If you don't want to use \appname{makeglos.pl}, you will need -%to do -%\begin{verbatim} -%makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo -%\end{verbatim} -%however, the entries with the same name but multiple descriptions -%will not be merged. You will also have to given them different sort -%keys otherwise you will get duplicate hyper targets. -% -%\item \texttt{sample4col.tex}---This illustrates how to -%modify the glossary style so that it has 4 columns. You -%will need to do: -%\begin{verbatim} -%latex sample4col -%makeglos.pl sample4col -%latex sample4col -%\end{verbatim} -% -%\end{itemize} -% -%\section{LaTeX2HTML Style File} -%\label{sec:l2h} -% -%A \LaTeX2HTML\ Perl script, \texttt{glossary.}\filetype{perl}, is -%provided with this package for those wishing to use the -%glossary package with the \LaTeX2HTML translator. -%The file \texttt{glossary.}\filetype{perl} should be extracted -%along with \texttt{glossary.sty} when you run the -%installation script (\texttt{glossary.ins}) through \LaTeX. -% -%\subsection{Limitations} -% -%\begin{itemize} -%\item The only package options supported are: -%\pkgopt[altlist]{style}, \pkgopt[true]{hyper}, \pkgopt[true]{toc}, -%\pkgopt[true]{acronym} and \pkgopt[false]{acronym}. -% -%\item 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 -%\verb'\print'\meta{name} instead of -%\verb'\printglossary['\meta{name}\verb"]", where -%\meta{name} is the name of the glossary type. -% -%\item The command \icmdname{setglossary} must be -%placed in the preamble to have an effect. -% -%\item The \icmdname{storeglosentry} 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.) -% -%\item If you place a \icmdname{glossary} command -%inside an environment not translated by \LaTeX2HTML -%(for example, inside a mathematics environment), -%it will not be entered into the glossary. -% -%\item The combinations \verb'""', \verb!"|!, \verb+"!+ -%and \verb'"@' will be correctly translated, unless they -%occur within a maths environment. This is because -%the maths environment is translated before being -%passed to \icmdname{glossary}. You can overcome this -%by doing, e.g.:\\ -%\cmdname{begin}\verb'{latexonly}'\\ -%\verb'\glossary{name=$"|\mathcal{S}"|$,description=cardinality of set'\\ -%\verb'$\mathcal{S}$,sort=cardinality}'\\ -%\cmdname{end}\verb'{latexonly}'\\ -%\cmdname{begin}\verb'{htmlonly}'\\ -%\verb'\glossary{name=$|\mathcal{S}|$,description=cardinality of set'\\ -%\verb'$\mathcal{S}$,sort=cardinality}'\\ -%\cmdname{end}\verb'{htmlonly}' -% -%Alternative, you can use \cmdname{mid} instead: -%\begin{verbatim} -%\glossary{name=$\mid\mathcal{S}\mid$,description=cardinality of -%set $\mathcal{S}$,sort=cardinality} -%\end{verbatim} -% -%\item Glossary items with the same names but different -%definitions will not be merged. -% -%\item The configuration file \texttt{glossary.cfg} is ignored. -% -%\end{itemize} -% -% -%\section{Troubleshooting} -%\label{sec:trouble} -% -%This is a list of common problems, for a more up-to-date FAQ, see -%\url{http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/}. -% -%\begin{enumerate} -%\item My glossary hasn't appeared. -% -%Check the following: -%\begin{itemize} -%\item Have you included the command \icmdname{makeglossary} -%in the preamble? -% -%\item Have you put the command \icmdname{printglossary} where -%you want the glossary to appear? -% -%\item Have you used \appname{makeglos.pl} or \appname{makeindex}, -%and if you did, did it successfully create the \filetype{gls} -%file? (Check the transcript \filetype{glg} file.) -% -%\begin{itemize} -%\item If you used \appname{makeindex} directly, did you specify -%the \filetype{ist} file created by \icmdname{makeglossary}, -%and did you remember to specify the output file with the extension -%\filetype{gls}? -% -%\item When \appname{makeindex} scans the \filetype{ist} file, -%it should generate the message: -%\begin{verbatim} -%9 attributes redefined, 0 ignored -%\end{verbatim} -%If you have a number other than 0 ignored, then there is something -%wrong with the \filetype{ist} file. Some packages can cause -%problems with the creation of this file, see -%item~\ref{itm:ngerman} below. -%\end{itemize} -% -%\item Have you remembered to \LaTeX\ your document again -%after using \appname{makeglos.pl} or \appname{makeindex}? -% -%\item Have you used \icmdname{glossary} or \icmdname{xglossary}? -% -%\item If you have used \icmdname{storeglosentry}, have you also -%used \icmdname{useglosentry}, \icmdname{useGlosentry} or -%\icmdname{gls}? -%\end{itemize} -% -%If you have defined a new glossary type, have you checked -%all the analogous commands to the above? -% -%\item My list of acronyms hasn't appeared. -% -%Have you used the \pkgopt[true]{acronym} package option? If no, -%check the answers to the previous item, if yes, make sure -%you have used \icmdname{makeacronym} and \icmdname{printacronym}. -%Have you used any of the acronyms you have defined? Remember -%that \cmdname{acrsh}, \cmdname{acrln}, -%\cmdname{}\meta{acr-name}\texttt{short} and -%\cmdname{}\meta{acr-name}\texttt{long} don't generate entries -%in the list of acronyms, where \cmdname{}\meta{acr-name} is the -%name of an acronym command. -% -%\item My acronym has been expanded twice. -% -%By default, if any of your acronym commands occur within a -%group (this includes environments which form implicit grouping) -%the effect will be local to that group. You can either unset -%the acronym outside the group, or use the \pkgopt{global} -%package option. -% -%\item I get an error when using the command -%\icmdname{saveglosentry}. -% -%Don't use this command it's obsolete, use -%\icmdname{storeglosentry} instead. -% -%\item One of more of my glossary entries hasn't appeared. -% -%Check the following -%\begin{itemize} -%\item If you defined the entry using \icmdname{storeglosentry} -%have you used either \icmdname{useglosentry}, -%\icmdname{useGlosentry} or \icmdname{gls}? -% -%\item Have you remembered to \icmdname{protect} commands -%such as \cmdname{mathcal} within \icmdname{storeglosentry}? -% -%\item Have you used the characters \texttt{@} \texttt{!} -%\texttt{\textbar} \verb'"'? If so, have you preceded them -%with a double quote character? -%\end{itemize} -% -%Check the \appname{makeindex} log file to see if there are -%any error messages. -% -%\item My glossary has duplicate entries on separate lines. -% -%\LaTeX\ treats multiple spaces equivalent to a single space, but \appname{makeindex} -%takes spaces into account when determining whether two entries are identical. -%For example: -%\begin{verbatim*} -%\glossary{name=Identity matrix, -%description=diagonal matrix with 1's along the diagonal} -%\end{verbatim*} -%and -%\begin{verbatim*} -%\glossary{name=Identity matrix, -%description=diagonal matrix with 1's along the diagonal} -%\end{verbatim*} -%will be treated as different entries by \appname{makeindex}, -%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 -%\icmdname{storeglosentry} together with \icmdname{useglosentry}, -%\icmdname{useGlosentry} or \icmdname{gls}. -% -%\item I had an error, fixed it, but I keep getting the same error message. -% -%Suppose you've made an error in the \icmdname{glossary} command. For example: -%\begin{verbatim} -%\glossary{name=Java,description=A programming language,format=texbf} -%\end{verbatim} -%In this case \texttt{textbf} has been mis-spelt. This error will be copied to the \filetype{glo} file, -%which in turn will be copied to the \filetype{gls} file by -%\appname{makeindex}. 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 \filetype{gls} file. The best thing to do is to delete the -%\filetype{gls} file, and try again. -% -%\item My glossary has ended up wider than my page. -% -%This may occur if you have long entry names, and you are using -%either the \pkgopt[long]{style} or \pkgopt[super]{style} -%options. The width of the description column is proportional to -%the line width (in fact, it's \verb"0.6\linewidth") -%but the first column is as wide as the widest entry name. You -%can either redefine \icmdname{glossaryalignment} to change the -%column specifications, or use one of the list-type styles. -% -%\item The page numbers in my glossary don't match up with the actual page numbers where the entry -%was defined. -% -%You may need to \LaTeX\ your document again (just as you have to do -%with \cmdname{tableofcontents}, \cmdname{listoffigures} etc). -% -%\item I'm getting a \appname{keyval} error. -% -%The \styname{glossary} package uses the \styname{keyval} -%package to extract the information from \meta{key}=\meta{value} -%comma separated lists. You need to make sure the syntax is correct. -%If your \meta{value} contains a -%comma, you will need to enclose \meta{value} in curly braces. See the \styname{keyval} documentation for -%further information\footnote{This should be in the directory -%\texttt{texmf/doc/latex/graphics/}}. -% -%\item I've used the \pkgopt{hyper} option, but nothing happens -%when I click on the numbers in the glossary. -% -%Check the following: -%\begin{enumerate} -%\item Have you remembered to use PDF\LaTeX\ instead of \LaTeX, -%or used a driver that understands hyperlinks? -%\item Have you remembered to use the \styname{hyperref} or -%\styname{html} package? -%\item Have you remembered to use a formatting command which uses \cmdname{hyperlink}? (E.g.\ using \glsnumfmt{hyperbf} instead -%of \texttt{textbf})? Remember to check the \gloskey{format} key -%in your \icmdname{glossary} commands, and the -%\setglos{glsnumformat} key in the \icmdname{setglossary} -%command. -%\item 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 \appname{xpdf} or \appname{acroread}. -%\end{enumerate} -% -%\item The \styname{glossary} package conflicts with the -%\styname{datetime} package. -%\changes{2.01}{21 Oct 2004}{Fixed conflict with datetime package} -% -%This has been fixed in version 2.01. -% -%\item I get an error when using certain commands, such as \cmdname{cite} or \verb"~" in \icmdname{newacronym}. -% -%This has been fixed in version 2.1. -% -%\item I get the following error: -%\begin{verbatim} -%! Package array Error: Illegal pream-token (\glossaryalignment): `c' used. -%\end{verbatim} -% -%The \styname{glossary} package used to conflict with the -%\styname{array} package. This was fixed in version 2.1. -%As from version 2.3, it doesn't matter whether you load -%the \styname{glossary} package before or after the -%\styname{array} package. -% -%\item\label{itm:fragile} I get the following error: -%\begin{verbatim} -%Use of \@chapter doesn't match its definition -%\end{verbatim} -%or -%\begin{verbatim} -%! Argument of \@sect has an extra } -%\end{verbatim} -% -%If you want to use an acronym command in a moving argument (such as a chapter heading) -%you need to \cmdname{protect} 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. -%\begin{verbatim} -%\chapter[Introduction to Kernel Support Vector Machines]{Introduction -%to \protect\KSVM} -%\end{verbatim} -%You will also need to do this if you are using bookmarks in a PDF document. -% -%Alternatively, you can do: -%\begin{verbatim} -%\resetacronym{KSVM} -%\chapter{Introduction to \protect\KSVM} -%\end{verbatim} -%or if you are using PDFLaTeX: -%\begin{verbatim} -%\resetacronym{KSVM} -%\chapter{Introduction to \texorpdfstring{\protect\KSVM}{KSVM}} -%\end{verbatim} -% -%\item\label{itm:ngerman} The \styname{glossary} package conflicts with -%\styname{ngerman}. -% -%This problem is caused by the fact that \styname{ngerman} -%redefines the effect of the double quote -%character, but this character is used in the creation of the -%\filetype{ist} \appname{makeindex} style file. -%Try one of the following methods: -%\begin{enumerate} -%\item Include the \styname{ngerman} package after the -%\icmdname{makeglossary} command: -%\begin{verbatim} -%\usepackage{glossary} -%\makeglossary -%\usepackage{ngerman} -%\end{verbatim} -% -%\item First omit the \styname{ngerman} package and include -%\icmdname{makeglossary} then \LaTeX\ your document. -%This will create the \filetype{ist} file. Then include the -%\styname{ngerman} package, and insert \icmdname{noist} before -%the \icmdname{makeglossary} command, this will prevent further attempts to generate the \filetype{ist} file. -%\begin{verbatim} -%\usepackage{ngerman} -%\usepackage{glossary} -%\noist\makeglossary -%\end{verbatim} -% -%\item Use \icmdname{noist}, as above, and create the -%\filetype{ist} file -%in an ordinary text editor. The file should contain the -%following lines: -%\begin{verbatim} -%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 " -%\end{verbatim} -%\end{enumerate} -%It is possible that there may be other packages which will -%also cause a problem, if so, try any of the above. -% -%\item \appname{makeglos.pl} gives the following error message: -%\begin{verbatim} -%unable to extract name from glossary item: -%\end{verbatim} -% -%You are using an old version of \appname{makeglos.pl} with a -%new version of the \styname{glossary} package. You will need -%to update your version \appname{makeglos.pl}. -%\end{enumerate} -%Let me know if you encounter any other problems or if you have any comments regarding this package. -% -%\section{Obsolete Commands} -% -%The commands described in this section are now obsolete, but -%are currently still provided for backwards compatibility. Their -%use is deprecated. -% -%\changes{2.14}{2005 May 28}{'saveglosentry added} -%\DescribeMacro{\saveglosentry} -%\icmdname{saveglosentry}\{\textrm{\meta{name}}\}\{\meta{description}\}\\ -%This command has now been replaced by \cmdname{storeglosentry}. -% -%\changes{2.0}{2004 November 1}{primary acronym number format -%\texttt{'glsprimaryfmt}} -%\changes{2.12}{2004 November 1}{primary acronym number format -%\texttt{'glsprimaryfmt} no longer used} -%\changes{2.4}{2006 July 20}{primary acronym number format -%\texttt{'glsprimaryfmt} has been removed} -%\DescribeMacro{\glsprimaryfmt}% -%The command \cmdname{glsprimaryfmt} has now been removed. -% -%The package option \pkgopt{hyperacronym} is now superseded by the package option -%\pkgopt{hyper}. This option was implemented prior to the -%introduction of the command \icmdname{xglossary}. Since the -%acronyms now use \icmdname{xglossary}, there is no difference -%between the \pkgopt{hyperacronym} and \pkgopt{hyper} options. -%This option has a boolean value: -%\changes{2.13}{2004 December 1}{Package option \texttt{hyperacronym}} -%\begin{description} -%\item[\pkgoptval{true}{hyperacronym}] Make acronyms link to their corresponding entry in the glossary -%\item[\pkgoptval{false}{hyperacronym}] Acronyms don't have a hyperlink. -%\end{description} -%If the \styname{hyperref} package has been loaded prior to -%loading \texttt{glossary.sty} or if \pkgopt[true]{hyper} is set, -%\pkgopt[true]{hyperacronym} otherwise -%\pkgopt[false]{hyperacronym}.% -% -%\section{Contact Details} -%\noindent -%Dr Nicola Talbot\\ -%School of Computing Sciences\\ -%University of East Anglia\\ -%Norwich. Norfolk\\ -%NR4 7TJ. United Kingdom.\\ -%\url{http://theoval.cmp.uea.ac.uk/~nlct/} -% -%\section{Acknowledgements} -% -%I would like to thank all the many people who have made suggestions -%and pointed out bugs. -% -% \StopEventually{\PrintChanges\addcontentsline{toc}{section}{Change History}\PrintIndex\addcontentsline{toc}{section}{Index}} -% -% -% -% -%\section{The Code} -% \begin{macrocode} -%<*glossary.sty> -% \end{macrocode} -% \subsection{Package Definition} -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary}[2006/07/20 2.4 (NLCT)] -% \end{macrocode} -% Load packages needed by glossary.sty: -% \begin{macrocode} -\RequirePackage{ifthen} -\RequirePackage{keyval} -% \end{macrocode} -% The package options are in the form of a comma-separated list of -% \meta{key}=\meta{value} pairs. First need to set up the keys. -% -% The \pkgopt{style} key. This may be one of \pkgoptval{list}{style}, -% \pkgoptval{altlist}{style} (use \envname{description} environment), -% \pkgoptval{super}{style} (use \envname{supertabular} environment) or -% \pkgoptval{long}{style} (use \envname{longtable} environment). -% \begin{macrocode} -\define@key{gloss} -{style} -{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} -\or \equal{#1}{super} \or \equal{#1}{long}} -{\def\gls@style{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: list, altlist, super and long}}} -% \end{macrocode} -% The \pkgopt{header} key. This can either be \pkgoptval{none}{header} -% or \pkgoptval{plain}{header}. Should only be used in conjunction -% with \pkgopt[style]{super} or \pkgopt[long]{style}. -% \begin{macrocode} -\define@key{gloss} -{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@header{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: none and plain}}} -% \end{macrocode} -% The \pkgopt{border} key. This can either be \pkgoptval{none}{border} -% or \pkgoptval{plain}{border}. Should only be used in conjunction -% with \pkgopt[super]{style} or \pkgopt[long]{style}. -% \begin{macrocode} -\define@key{gloss} -{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@border{#1}} -{\PackageError{glossary} -{Unknown glossary border '#1'} -{Available styles are: none and plain}}} -% \end{macrocode} -% Number of columns (either \pkgoptval{2}{cols} or -% \pkgoptval{3}{cols}). Should only be used in conjunction with -% \pkgopt[super]{style} or \pkgopt[long]{style}. -% \begin{macrocode} -\newcount\gls@cols -\define@key{gloss}{cols}{\gls@cols=#1\relax -\ifthenelse{\gls@cols<2 \or \gls@cols>3} -{\PackageError{glossary} -{invalid number of columns} -{The cols option can only be 2 or 3}} -{}} -% \end{macrocode} -% The number key may either be \pkgoptval{none}{number} or the name of -% a counter. -% \begin{macrocode} -\define@key{gloss} -{number} -{\ifthenelse{\equal{#1}{none}} -{\def\gls@glossary@number{#1}} -{\@ifundefined{c@#1}{ -\PackageError{glossary} -{Unknown glossary number style '#1'} -{You may either specify "none" or the name of a counter, -e.g. "section"}\def\gls@glossary@number{page}}{\def\gls@glossary@number{#1}}}} -% \end{macrocode} -% The \pkgopt{toc} key. If set, adds the glossary to the table of -% contents -% \begin{macrocode} -\newif\ifgls@toc -\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true} -\or \equal{#1}{false}} -{\csname gls@toc#1\endcsname} -{\PackageError{glossary}{Glossary option 'toc' is boolean} -{The value of 'toc' can only be set to 'true' or 'false'}}} -% \end{macrocode} -% The \pkgopt{hypertoc} key. Like \pkgopt{toc}, but puts the anchor -% before the section heading. Should only be used if the -% \styname{hyperref} package is used (because it uses -% \icmdname{phantomsection}). -% \begin{macrocode} -\newif\ifgls@hypertoc -\define@key{gloss}{hypertoc}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname gls@hypertoc#1\endcsname} -{\PackageError{glossary}{Glossary option 'hypertoc' is boolean} -{The value of 'hypertoc' can only be set to 'true' or 'false'}}} -% \end{macrocode} -% The \pkgopt{section} key. This will put the glossary in an unnumbered -% section, even if chapters are defined. -% \begin{macrocode} -\newif\ifgls@section -\define@key{gloss}{section}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname gls@section#1\endcsname} -{\PackageError{glossary}{Glossary option 'section' is boolean} -{The value of 'section' can only be set to 'true' or 'false'}}} -\gls@sectionfalse -% \end{macrocode} -% Enable hyperlinks. If \styname{hyperref} or \styname{html} -% packages loaded, \pkgopt[true]{hyper} is the default. -% \begin{macrocode} -\newif\ifglshyper -\newif\ifglshyperacronym -\define@key{gloss}{hyper}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname glshyper#1\endcsname\glshyperacronymtrue} -{\PackageError{glossary}{Glossary option 'hyper' is boolean} -{The value of 'hyper' can only be set to 'true' or 'false'}}} -% \end{macrocode} -% Enable hyperlinks for acronyms. Deprecated: use \pkgopt{hyper} -% instead. -% \begin{macrocode} -\define@key{gloss}{hyperacronym}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname glshyperacronym#1\endcsname} -{\PackageError{glossary}{Glossary option 'hyperacronym' is boolean} -{The value of 'hyperacronym' can only be set to 'true' or 'false'}}} -% \end{macrocode} -% The \pkgopt{acronym} key. If set, the acronyms will be separate from -% main glossary entries. Remember to use \icmdname{makeacronym} -% and \icmdname{printacronym} if \pkgoptval{true}{acronym}. -% \begin{macrocode} -\newif\ifglsacronym -\define@key{gloss}{acronym}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\setboolean{glsacronym}{#1}}{% -\PackageError{glossary}{Glossary option 'acronym' is boolean}{The -value of 'acronym' can only be set to 'true' or 'false'}}} -% \end{macrocode} -% The \pkgopt{global} key. If not set, any acronyms expanded in a -% group will be treated as unused once outside of the group. -% Set \pkgopt[true]{global} to prevent this. -% \begin{macrocode} -\newif\ifglsglobal -\define@key{gloss}{global}[true]{\ifthenelse{\equal{#1}{true}\or -\equal{#1}{false}}{\setboolean{glsglobal}{#1}}{% -\PackageError{glossary}{Glossary option 'global' is boolean}{The -value of 'global' can only be set to 'true' or 'false'}}} -% \end{macrocode} -% Set up defaults -% \begin{macrocode} -\def\gls@style{long} -\def\gls@header{none} -\def\gls@border{none} -\def\gls@glossary@number{page} -\gls@cols=2\relax -\gls@tocfalse -% \end{macrocode} -% If \icmdname{hyperpage} is defined, then assume hyperlinks required -% \begin{macrocode} -\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{% -\glshypertrue\glshyperacronymtrue} -% \end{macrocode} -% If \icmdname{hypertarget} defined, then \icmdname{glosslabel} will make a -% target ("#1") and \icmdname{glossref} will make a hyperlink (to "#1"). -% Otherwise will simply print the second argument. -% \begin{macrocode} -\@ifundefined{hypertarget}{ -% no hyperlinks -\newcommand{\glosslabel}[2]{#2}% -\newcommand{\glossref}[2]{#2}% -}{% -\newcommand{\glosslabel}[2]{\hypertarget{#1}{#2}}% -\newcommand{\glossref}[2]{\hyperlink{#1}{#2}} -} -% \end{macrocode} -% If the \styname{xspace} package has been loaded, use \icmdname{xspace} -% in acronyms. -% \begin{macrocode} -\@ifundefined{xspace}{% -\let\glsxspace\relax}{% -\let\glsxspace\xspace} -% \end{macrocode} -% Set \icmdname{glossaryalignment} to "\relax" before loading -% configuration file. -% \begin{macrocode} -\let\glossaryalignment\relax -% \end{macrocode} -% Load configuation file if it exists -% \begin{macrocode} -\newcommand{\glossarypackageoptions}[1]{\setkeys{gloss}{#1}} -\InputIfFileExists{glossary.cfg}{% -\typeout{Glossary configuration file loaded}}{% -\typeout{No configuration file glossary.cfg found}} -\renewcommand{\glossarypackageoptions}[1]{% -\PackageError{glossary}{Command \string\glossarypackageoptions -^^Jcan only be used in configuration file}{}} -% \end{macrocode} -% Set up the options so that they are treated as a -% \meta{key}=\meta{value} list. -% \begin{macrocode} -\DeclareOption*{\edef\@pkg@ptions{\noexpand -\setkeys{gloss}{\CurrentOption}} -\ifthenelse{\equal{\CurrentOption}{}}{}{\@pkg@ptions}} -% \end{macrocode} -% Process options -% \begin{macrocode} -\ProcessOptions -% \end{macrocode} -%Check to make sure that the options don't conflict. -% \begin{macrocode} -\ifthenelse{\(\equal{\gls@style}{list} \or -\equal{\gls@style}{altlist}\) \and -\(\not\equal{\gls@header}{none} \or \not\equal{\gls@border}{none} -\or \gls@cols=3\)} -{\PackageError{glossary}{You can't have option 'style=list' or -'style=altlist' in combination with any of the other style -options}{The 'list' and 'altlist' options don't have a header, -border or number of columns option.}} -{} -% \end{macrocode} -% Can't have both toc and hypertoc. Make it a warning rather -% than an error. -% \begin{macrocode} -\ifthenelse{\boolean{gls@hypertoc} \and \boolean{gls@toc}}{% -\PackageWarning{glossary}{Can't have both 'toc' and -'hypertoc', ignoring 'toc' option} -\ifgls@hypertoc\gls@tocfalse\fi}{} -% \end{macrocode} -%\subsection{Redefining \texorpdfstring{\texttt{\symbol{92}glossary}}{\textbackslash glossary} format} -% The glossary is going to be redefined so that it accepts -% \meta{key}=\meta{value} information, so need to define the keys (see -% keyval documentation for further details -% on how to do this.) Added "\@onelevel@sanitize" at the recommendation -% of Dan~Luecking and Ulrich~Diez. -% \begin{macrocode} -\define@key{wrgloss}{name}{% -\def\@glo@n@me{#1}% -\@onelevel@sanitize\@glo@n@me% -\global\let\@glo@n@me\@glo@n@me} -\define@key{wrgloss}{description}{% -\def\@descr{#1}% -\@onelevel@sanitize\@descr} -\define@key{wrgloss}{sort}{% -\def\@s@rt{#1}% -\@onelevel@sanitize\@s@rt -\global\let\@s@rt\@s@rt} -\define@key{wrgloss}{format}{\def\@f@rm@t{#1}} -\define@key{wrgloss}{number}{\def\@glo@num{#1}} -% \end{macrocode} -% Redefine "\@wrglossary" so that it separates out the entry name and -% entry description. This was rewritten in version 2.4. It is now -% used for both the main glossary, and user-defined glossaries. -% The command "\@@wrglossary" is called at the end of "\@wrglossary", -% by default this does nothing, but some commands temporarily -% redefine it. -% \begin{macrocode} -\newcommand{\@@wrglossary}{} -% \end{macrocode} -% The label for each entry is usually made up of the glossary prefix -% followed by the sort value, this can be over-ridden by redefining -% \cmdname{@glo@l@bel}. (This is done if the optional argument to -% \icmdname{glossary} is used.) By default this does nothing. -% \begin{macrocode} -\newcommand{\@glo@l@bel}{} -% \end{macrocode} -% Define the prefix for the principle glossary. (Added to version -% 2.4.) -% \begin{macrocode} -\newcommand{\@gls@glossary@type}{glo} -% \end{macrocode} -% The optional first argument was added in version 2.4. This -% is the name of the glossary type. -% \begin{macrocode} -\renewcommand{\@wrglossary}[2][glossary]{\relax -\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}% -\edef\@glo@num{\csname gls@#1@number\endcsname}\relax -\xdef\@pr@fix{\csname @gls@#1@type\endcsname}% - \setkeys{wrgloss}{#2}\relax -\ifthenelse{\equal{\@glo@num}{none}}{\def\@@glo@num{\thepage}}{% -\@ifundefined{c@\@glo@num}{\PackageError{glossary}{% -Not such counter '\@glo@num'}{The value of the 'number' key -must be the name of a counter or the word "none"}% -\def\@@glo@num{\thepage}}{% -\edef\@@glo@num{\csname the\@glo@num\endcsname}}}% -\ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}% -\ifthenelse{\equal{\@glo@l@bel}{}}{% -\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}% -% \end{macrocode} -% User has not specified a format, so use default -% \begin{macrocode} -\ifthenelse{\equal{\@f@rm@t}{}} -{\expandafter\protected@write\csname @#1file\endcsname{}% -{\string\glossaryentry{\@s@rt @{% -\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr -\string\relax|glsnumformat}{\@@glo@num}}} -% \end{macrocode} -% User has specified a format. If it is one of the -% "\hyper"\meta{xx} types, append the required counter. -% This is needed if the glossary contains a mixture of -% counters used (as in "sampleEqPg.tex"). -% \begin{macrocode} -{\ifthenelse{\equal{\@f@rm@t}{hyperrm} \or -\equal{\@f@rm@t}{hypersf} \or \equal{\@f@rm@t}{hypertt} -\or \equal{\@f@rm@t}{hypermd} \or \equal{\@f@rm@t}{hyperbf} -\or \equal{\@f@rm@t}{hyperit} \or \equal{\@f@rm@t}{hyperem} -\or \equal{\@f@rm@t}{hypersl} \or \equal{\@f@rm@t}{hyperup} -\or \equal{\@f@rm@t}{hypersc}} -{\expandafter\protected@write\csname @#1file\endcsname{}% - {\string\glossaryentry{\@s@rt @{% - \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|\@f@rm@t[\@glo@num]}{\@@glo@num}}} -{\expandafter\protected@write\csname @#1file\endcsname{}% - {\string\glossaryentry{\@s@rt @{% - \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|\@f@rm@t}{\@@glo@num}}}}\relax - \endgroup\@esphack -\@@wrglossary -} -% \end{macrocode} -% Command to extract name key from glossary entry. This shouldn't -% be sanitized, so define a new key for this -% \begin{macrocode} -\define@key{wrnsgloss}{name}{\def\@glo@n@me{#1}} -\define@key{wrnsgloss}{description}{\def\@descr{#1}} -\define@key{wrnsgloss}{sort}{\def\@s@rt{#1}} -\define@key{wrnsgloss}{format}{\def\@f@rm@t{#1}} -\define@key{wrnsgloss}{number}{\def\@glo@num{#1}} -% \end{macrocode} -% Extract name from key-value list. Name stored in "\@glo@n@me". -% \begin{macrocode} -\newcommand{\@gls@getn@me}[1]{% -\def\@glo@n@me{}\setkeys{wrnsgloss}{#1}% -} -% \end{macrocode} -% Command to extract description key from glossary entry. -% \begin{macrocode} -\newcommand{\@gls@getdescr}[1]{% -\@bsphack\begingroup -\def\@descr{}% -\setkeys{wrgloss}{#1}% -\global\let\@glo@desc\@descr -\endgroup\@esphack -} -% \end{macrocode} -% Now define \icmdname{xglossary} so you can have a hyperlink that takes -% you to the entry in the glossary -% \begin{macrocode} -\newcommand{\xglossary}{\renewcommand{\@@wrglossary}[1]{% -\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% -\glossary} -% \end{macrocode} -%\subsection{Storing Glossary Entries} -% Provide a means to store glossary information to save typing -% and ensure consistency (new to v2.17). -% -% Store label in list (new to version 2.36) so that all -% entries can be added to the glossary with a single command. -% \begin{macrocode} -\newcommand*{\@glo@label@list}{} -\toksdef\gls@ta=0 \toksdef\gls@tb=2 -\newcommand{\@glo@label@addtolist}[1]{% -\gls@ta={{#1}}\gls@tb=\expandafter{\@glo@label@list}% -\xdef\@glo@label@list{\the\gls@ta,\the\gls@tb}} -% \end{macrocode} -% First define command to store details (don't allow a label -% consisting solely of a "*" as this represents all entries -% when passed to \icmdname{useglosentry}.) -% \begin{macrocode} -\newcommand*{\storeglosentry}[3][glossary]{% -\ifthenelse{\equal{#2}{*}}{% -\PackageError{glossary}{Glossary label '*' invalid}{You can't have -a glossary entry with a * as the label}}{% -\@ifundefined{glo@#2@entry}{% -\@glo@label@addtolist{#2}% -\expandafter\def\csname glo@#2@type\endcsname{#1}% -\expandafter\def\csname glo@#2@entry\endcsname{#3}% -\@gls@getn@me{#3}% -\expandafter\protected@edef\csname glo@#2@name\endcsname{\@glo@n@me}% -}{% -\PackageError{glossary}{Glossary entry '#2' already -defined}{There already exists a glossary entry with the label '#2'}}}% -} -% \end{macrocode} -% This command will not produce text in the document, but will -% produce the relevant glossary entry. -% \begin{macrocode} -\providecommand{\useglosentry}[2][\relax]{% -\ifthenelse{\equal{#2}{*}}{\@for\@glolab:=\@glo@label@list\do{% -\ifthenelse{\equal{\@glolab}{}}{}{\useglosentry[#1]{\@glolab}}}}{% -\@ifundefined{glo@#2@type}{% -\PackageError{glossary}{Glossary entry '#2' undefined}{You need -to define the entry using \string\storeglosentry\space before -using it.}}{{% -\edef\@glostype{\csname glo@#2@type\endcsname}% -\@glo@tb=\expandafter\expandafter\expandafter -{\csname glo@#2@entry\endcsname}% -\ifx#1\relax -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb}}% -\else -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb,#1}}% -\fi -\@glo@cmd -}}}} -% \end{macrocode} -% This command will produce the specified text in the document -% (with a hyperlink if enabled), and will produce the relevant -% glossary entry. -% \begin{macrocode} -\providecommand{\useGlosentry}[3][\relax]{% -\@ifundefined{glo@#2@type}{% -\PackageError{glossary}{Glossary entry '#2' undefined}{You need -to define the entry using \string\storeglosentry\space before -using it.}}{{% -\edef\@glostype{x\csname glo@#2@type\endcsname}% -\@glo@tb=\expandafter\expandafter\expandafter -{\csname glo@#2@entry\endcsname}% -\ifx#1\relax -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb}}% -\else -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb,#1}}% -\fi -\@glo@cmd{#3}% -}}} -% \end{macrocode} -% As above, but the text displayed in the document is constructed from -% the \gloskey{name} key. -% \begin{macrocode} -\newcommand{\gls}[2][\relax]{% -\useGlosentry[#1]{#2}{% -\csname glo@#2@name\endcsname}} -% \end{macrocode} -% This command was defined in earlier verions, but doesn't -% work very well, currently retained for backwards compatibility, -% but may well be removed at a later date. -% \begin{macrocode} -\providecommand{\saveglosentry}[3][glossary]{% -\PackageWarning{glossary}{\string\saveglosentry\space is obsolete, -please use \string\storeglosentry\space instead}% -\expandafter\def\csname glo@#2@type\endcsname{#1}% -\expandafter\def\csname glo@#2@entry\endcsname{% -name={#2},description={#3}}} -% \end{macrocode} -%Set up default number formats, dependent on the package \pkgopt{number} -% option. Define default page compositor. Any redefinition of the -% page compositor will need to come before the ".ist" file is -% written. The other commands can be redefined at any point before -% \icmdname{printglossary}. -% -% Define a command to set up the glossary counter. -% The optional argument specifies the glossary type -% (defaults to the main glossary). The mandatory -% command is the name of the counter, or "none". -% \begin{macrocode} -\newcommand*{\@gls@setnumbering}[2][glossary]{% -% \end{macrocode} -% If no numbering (\pkgopt[none]{number}): -% \begin{macrocode} -\ifthenelse{\equal{#2}{none}}{% -\def\pagecompositor{-} -\expandafter\def\csname @#1@delimN\endcsname{} -\expandafter\def\csname @#1@delimR\endcsname{} -\expandafter\def\csname glsX#1Xnumformat\endcsname##1{}}{% -% \end{macrocode} -% If "number=page", set the page compositor to -% "-" (dash) otherwise set it to "." (dot). -% \begin{macrocode} -\ifthenelse{\equal{#2}{page}}{% -\def\pagecompositor{-}}{% -\def\pagecompositor{.}} -% \end{macrocode} -% Set up delimiters and formats -% \begin{macrocode} -\expandafter\def\csname @#1@delimN\endcsname{, } -\expandafter\def\csname @#1@delimR\endcsname{--} -\ifglshyper -\expandafter\def\csname glsX#1Xnumformat\endcsname##1{% -\hyperrm[#2]{##1}}% -\else -\expandafter\def\csname glsX#1Xnumformat\endcsname##1{##1}\fi -} -% \end{macrocode} -% End of "\@gls@setnumbering" definition: -% \begin{macrocode} -} -% \end{macrocode} -% Now call it to set up current numbering: -% \begin{macrocode} -\@gls@setnumbering{\gls@glossary@number} -% \end{macrocode} -% Provide a means of changing the page number format for a -% given glossary type. -% \begin{macrocode} -\newcommand{\glsnumformat}[1]{% -\@ifundefined{\@glostype}{\def\@glostype{glossary}}{}% -\@ifundefined{glsX\@glostype Xnumformat}{% -\PackageError{glossary}{Glossary type '\@glostype' undefined}{}}{% -\csname glsX\@glostype Xnumformat\endcsname{#1}}} -% \end{macrocode} -% Set the default glossary type -% \begin{macrocode} -\def\@glostype{glossary} -% \end{macrocode} -% Make the delimiters etc depend on the glossary type. -% "\@glostype" should be set to the appropriate glossary type -% before using any of these commands. -% \begin{macrocode} -\newcommand{\delimN}{\csname @\@glostype @delimN\endcsname} -\newcommand{\delimR}{\csname @\@glostype @delimR\endcsname} -\newcommand{\gloitem}{\csname @\@glostype @gloitem\endcsname} -\newcommand{\gloskip}{\csname @\@glostype @gloskip\endcsname} -\newcommand{\delimT}{\glsafternum -\csname @\@glostype @delimT\endcsname} -\newcommand{\glodelim}{\csname @\@glostype @glodelim\endcsname -\glsbeforenum} -% \end{macrocode} -% Add facility to insert text between groups. By default these do -% nothing. -% \begin{macrocode} -\newcommand{\glogroupSymbols}{} -\newcommand{\glogroupNumbers}{} -\newcommand{\glogroupA}{} -\newcommand{\glogroupB}{} -\newcommand{\glogroupC}{} -\newcommand{\glogroupD}{} -\newcommand{\glogroupE}{} -\newcommand{\glogroupF}{} -\newcommand{\glogroupG}{} -\newcommand{\glogroupH}{} -\newcommand{\glogroupI}{} -\newcommand{\glogroupJ}{} -\newcommand{\glogroupK}{} -\newcommand{\glogroupL}{} -\newcommand{\glogroupM}{} -\newcommand{\glogroupN}{} -\newcommand{\glogroupO}{} -\newcommand{\glogroupP}{} -\newcommand{\glogroupQ}{} -\newcommand{\glogroupR}{} -\newcommand{\glogroupS}{} -\newcommand{\glogroupT}{} -\newcommand{\glogroupU}{} -\newcommand{\glogroupV}{} -\newcommand{\glogroupW}{} -\newcommand{\glogroupX}{} -\newcommand{\glogroupY}{} -\newcommand{\glogroupZ}{} -% \end{macrocode} -% Allow user to change number format for different -% glossary types. -% \begin{macrocode} -\define@key{glossnum}{glsnumformat}{\def\@glsnumformat{#1}} -\define@key{glossnum}{type}{\def\@glsnumtype{#1}} -\define@key{glossnum}{delimN}{\def\@delimN{#1}} -\define@key{glossnum}{delimR}{\def\@delimR{#1}} -\define@key{glossnum}{delimT}{\def\@delimT{#1}} -\define@key{glossnum}{gloskip}{\def\@gloskip{#1}} -\define@key{glossnum}{glodelim}{\def\@glodelim{#1}} -% \end{macrocode} -% Define a command that will ignore its argument. This is used -% when suppressing the page numbers. -% \begin{macrocode} -\providecommand{\ignore}[1]{} -% \end{macrocode} -% Define command that allows the user to modify the style for a -% given glossary type. -% \begin{macrocode} -\newcommand{\setglossary}[1]{% -\def\@glsnumformat{}% -\def\@glsnumtype{glossary}% -\def\@delimN{@dontchange@}% -\def\@delimR{@dontchange@}% -\def\@delimT{@dontchange@}% -\def\@gloskip{@dontchange@}% -\def\@glodelim{@dontchange@}% -\setkeys{glossnum}{#1}\relax -\@ifundefined{print\@glsnumtype}{% -\PackageError{glossary}{Invalid glossary type '\@glsnumtype'}{% -Glossary type '\@glsnumtype' has not been defined} -}{% -\ifthenelse{\equal{\@glsnumformat}{}}{}{% -\expandafter\xdef\csname glsX\@glsnumtype Xnumformat\endcsname{% -\noexpand\csname\@glsnumformat\noexpand\endcsname}% -\ifthenelse{\equal{\@glsnumformat}{ignore}}{% -\expandafter\xdef\csname @\@glsnumtype @delimN\endcsname{}% -\expandafter\xdef\csname @\@glsnumtype @delimR\endcsname{}% -}{}% -}% -% -\ifthenelse{\equal{\@delimN}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @delimN\endcsname{% -\@delimN}}% -% -\ifthenelse{\equal{\@delimR}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @delimR\endcsname{% -\@delimR}}% -% -\ifthenelse{\equal{\@delimT}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @delimT\endcsname{% -\@delimT}}% -% -\ifthenelse{\equal{\@gloskip}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @gloskip\endcsname{% -\@gloskip}}% -% -\ifthenelse{\equal{\@glodelim}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @glodelim\endcsname{% -\@glodelim}% -}% -}} -% \end{macrocode} -% Now define the command \icmdname{printglossary} which will print the -% contents of the glossary file. Define the file extension for the main -% glossary: -% \begin{macrocode} -\newcommand{\@gls@glossary@inext}{gls} -% \end{macrocode} -% The optional argument is the glossary type, the default is the -% main glossary. This sets "\gls@number" to "\gls@#1@number" -% before reading in the file. This ensures that \icmdname{hyperrm} etc -% use the correct counter in the target name. -% \begin{macrocode} -\newcommand\printglossary[1][glossary]{% -\def\@glostype{#1}% -\@ifundefined{#1name}{% -\renewcommand{\@glossaryname}{\glossaryname}}{% -\renewcommand{\@glossaryname}{\csname #1name\endcsname}}% -\@ifundefined{short#1name}{% -\renewcommand{\@shortglossaryname}{\@glossaryname}}{% -\renewcommand{\@shortglossaryname}{\csname short#1name\endcsname}}% -\expandafter\let\expandafter\gls@number\csname gls@#1@number\endcsname -\@input@{\jobname.\csname @gls@#1@inext\endcsname}} -% \end{macrocode} -% Define contextual names. Changed \verb/\newcommand/ -% to \verb/\providecommand/ in version 2.2. -% \begin{macrocode} -\providecommand{\glossaryname}{Glossary} -\newcommand{\shortglossaryname}{\glossaryname} -\newcommand{\entryname}{Notation} -\newcommand{\descriptionname}{Description} -\newcommand{\istfilename}{\jobname.ist} -\def\@glossaryname{\glossaryname} -\def\@shortglossaryname{\shortglossaryname} -% \end{macrocode} -% Version 2.4 also writes ist filename to aux file. This -% is only used by makeglos.pl, so ignore. -% \begin{macrocode} -\newcommand{\@istfilename}[1]{} -% \end{macrocode} -% Define command to generate glossary title (new to -% version 2.24) -% \begin{macrocode} -\providecommand{\glossarytitle}{% -\@ifundefined{chapter}% -% \end{macrocode} -% "\chapter" not defined, use "\section*" -% \begin{macrocode} -{% -\ifgls@hypertoc -% \end{macrocode} -% \pkgopt{hypertoc} option used, so use "\phantomsection" to add -% anchor \emph{before} "\section*" -% \begin{macrocode} -\phantomsection -\@glosaddtoc{section}% -\section*{\@glossaryname}\relax -\else -% \end{macrocode} -% \pkgopt[false]{hypertoc}: add to toc after "\section*" -% \begin{macrocode} -\section*{\@glossaryname}\relax -% \end{macrocode} -% only add contentsline if toc=true -% \begin{macrocode} -\ifgls@toc\@glosaddtoc{section}\fi -\fi}% -% \end{macrocode} -% "\chapter" defined, but has user requested "\section" instead? -% \begin{macrocode} -{% -\ifthenelse{\boolean{gls@section}}% -{% -% \end{macrocode} -% user requested "\section" -% \begin{macrocode} -\ifgls@hypertoc -% \end{macrocode} -% User request \pkgopt[true]{hypertoc}, so add anchor \emph{before} -% "\section": -% \begin{macrocode} -\phantomsection -\@glosaddtoc{section}% -\section*{\@glossaryname}\relax -\else -% \end{macrocode} -% \pkgopt[false]{hypertoc} so add contentsline (if applicable) after -% "\section" -% \begin{macrocode} -\section*{\@glossaryname}\relax -\ifgls@toc\@glosaddtoc{section}\fi -\fi}% -{% -% \end{macrocode} -% User has not requested "\section", so use "\chapter" -% \begin{macrocode} -\ifgls@hypertoc -% \end{macrocode} -% User has requested \pkgopt[true]{hypertoc}. -% Chapters usually start a new page, so to ensure -% anchor is at the top of the correct page, issue -% a "\clearpage" (or "\cleardoublepage") to place the -% anchor at the correct place. -% \begin{macrocode} -\@ifundefined{if@twoside}{% -% \end{macrocode} -% Document class doesn't support twosided documents so -% just do "\clearpage" -% \begin{macrocode} -\clearpage}{% -\if@twoside -% \end{macrocode} -% Document is two-sided -% If "\cleardoublepage" is defined, use that -% otherwise just do "\clearpage" -% \begin{macrocode} -\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}% -\else -% \end{macrocode} -% One-sided document, just do "\clearpage" -% \begin{macrocode} -\clearpage -\fi}% -% \end{macrocode} -% add anchor before "\chapter" -% \begin{macrocode} -\phantomsection -\@glosaddtoc{chapter}% -\fi -\chapter*{\@glossaryname}\relax -% \end{macrocode} -% both \pkgopt[true]{hypertoc} and \pkgopt[true]{toc}, so won't get -% toc entry twice.) -% \begin{macrocode} -\ifgls@toc\@glosaddtoc{chapter}\fi}} -\markboth{\@shortglossaryname}{\@shortglossaryname}% -} -% \end{macrocode} -% Now define theglossary environment. Version 2.2: -% check to see if defined already -% \begin{macrocode} -\@ifundefined{theglossary}{% -\newenvironment{theglossary}{}{}}{% -\PackageWarning{glossary}{Redefining 'theglossary' environment}} -\renewenvironment{theglossary}{% -\glossarytitle -\glossarypreamble\@bef@reglos}{\@ftergl@s\glossarypostamble} -% \end{macrocode} -% Provide a means to add text to the beginning or end -% of the glossary. -% \begin{macrocode} -\newcommand{\glossarypreamble}{} -\newcommand{\glossarypostamble}{} -% \end{macrocode} -% By default, add the short title to the table of contents. -% \begin{macrocode} -\newcommand{\@glosaddtoc}[1]{% -\addcontentsline{toc}{#1}{\@shortglossaryname} -} -% \end{macrocode} -% Set up switch to determine whether the item is the first item in -% the glossary (in the event that a special case is needed for the -% first item) -% \begin{macrocode} -\newif\ifgloitemfirst -\newcommand{\@bef@reglos}{\global\gloitemfirsttrue\beforeglossary} -\newcommand{\@ftergl@s}{\afterglossary\global\gloitemfirstfalse} -% \end{macrocode} -% Set up defaults. -% \begin{macrocode} -\newcommand{\glossaryalignment}{\relax} -\newcommand{\@gls@align@glossary}{} -\newcommand{\glosstail}{% -\@ifundefined{@gls@tail@\@glostype}{% -\PackageError{glossary}{No glossary tail defined for glossary -type '\@glostype'}{}}{% -\csname @gls@tail@\@glostype\endcsname}} -\newcommand{\@gls@tail@glossary}{} -\newcommand{\afterglossary}{% -\@ifundefined{@gls@afterglos@\@glostype}{% -\PackageError{glossary}{No after glossary defined for glossary -type '\@glostype'}{}}{% -\csname @gls@afterglos@\@glostype\endcsname}} -\newcommand{\beforeglossary}{% -\@ifundefined{@gls@beforeglos@\@glostype}{% -\PackageError{glossary}{No before glossary defined for glossary -type '\@glostype'}{}}{% -\csname @gls@beforeglos@\@glostype\endcsname}} -\newcommand{\@gls@beforeglos@glossary}{} -\newcommand{\@gls@afterglos@glossary}{} -\newcommand{\@glossary@glodelim}{} -\newcommand{\@glossary@delimT}{} -\newcommand{\glsafternum}{} -\newcommand{\glsbeforenum}{} -\newcommand{\@glossary@gloskip}{} -\newcommand{\@glossary@gloitem}[1]{#1} -% \end{macrocode} -% Now define what to do depending on which style has been selected. -% First define command to switch to \pkgopt{list} style: -% \begin{macrocode} -\newcommand{\gls@setlist}[1][glossary]{% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\begin{description}}% -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{description}}% -\expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% -\expandafter\def\csname @#1@glodelim\endcsname{}}{% -\expandafter\def\csname @#1@glodelim\endcsname{, }}% -\expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]}% -\expandafter\def\csname @#1@delimT\endcsname{} -} -% \end{macrocode} -% Next define command to switch to \pkgopt{altlist} style: -% \begin{macrocode} -\newcommand{\gls@setaltlist}[1][glossary]{% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\begin{description}}% -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{description}}% -\expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\expandafter\def\csname @#1@gloitem\endcsname##1{% -\item[##1]\mbox{}\nopagebreak\par\nopagebreak}% -\expandafter\def\csname @#1@glodelim\endcsname{ }% -\expandafter\def\csname @#1@delimT\endcsname{} -} -% \end{macrocode} -%Now deal with the other styles. I orginally used a \envname{tabular} -% environment, but obviously this doesn't work for a glossary longer -% than one page (this package started out as a simple example -% accompanying one of my tutorials). Nick van Foreest recommended -% the \envname{supertabular} environment. The \envname{longtable} environment also -% works, so have both options, and leave it to -% the user. -% \begin{macrocode} -\ifthenelse{\equal{\gls@style}{super}}{ -\IfFileExists{supertab.sty}{\RequirePackage{supertab}} -{\IfFileExists{supertabular.sty}{\RequirePackage{supertabular}} -{\PackageError{glossary}{Option "super" chosen, but can't find -"supertab" package}{If you want the "super" option, you have to have -the "supertab" package installed.}}}} -{\RequirePackage{longtable}} -% \end{macrocode} -% Define new length specifying the width of the description field. -% \begin{macrocode} -\newlength{\descriptionwidth} -\setlength{\descriptionwidth}{0.6\linewidth} -% \end{macrocode} -% If user has defined the command \icmdname{glossaryheader}, use it -% otherwise use header as specified by glossary style. -% Added \icmdname{glossarysubheader} in version 2.4. This is provided -% to add a sub heading, or to add a bit of space between -% the header row and the table. -% \begin{macrocode} -\newcommand{\@glossaryheader}{% -\@ifundefined{glossaryheader}{\csname @\@glostype @header\endcsname} -{\glossaryheader}% -\@ifundefined{glossarysubheader}{}{\glossarysubheader}% -} -% \end{macrocode} -% Define command to set header style. Added \icmdname{glspageheader} in -% version 2.4. (Third column header) -% \begin{macrocode} -\newcommand{\gls@setheader}[1][glossary]{% -\ifthenelse{\equal{\gls@header}{none}}% -{% -\ifthenelse{\equal{\gls@border}{none}} -{\expandafter\def\csname @#1@header\endcsname{}% -}{\expandafter\def\csname @#1@header\endcsname{\hline}}% -}{% -\ifnum\gls@cols=2\relax -\ifthenelse{\equal{\gls@border}{none}} -{% -\expandafter\def\csname @#1@header\endcsname{% -\bfseries\entryname & \bfseries \descriptionname\\}}% -{% -\expandafter\def\csname @#1@header\endcsname{% -\hline\bfseries\entryname & \bfseries\descriptionname -\\\hline\hline}}% -\else -\ifthenelse{\equal{\gls@border}{none}} -{% -\expandafter\def\csname @#1@header\endcsname{% -\bfseries\entryname & \bfseries \descriptionname & -\bfseries \glspageheader \\}}% -{% -\expandafter\def\csname @#1@header\endcsname{% -\hline\bfseries\entryname &\bfseries\descriptionname & -\bfseries \glspageheader \\\hline\hline}}% -\fi -}} -% \end{macrocode} -% Define \icmdname{glspageheader} to do nothing, to keep it compatible -% with earlier versions: -% \begin{macrocode} -\newcommand*{\glspageheader}{} -% \end{macrocode} -% Define command to set glossary alignment and borders -% \begin{macrocode} -\newcommand{\gls@setalignment}[1][glossary]{% -\ifthenelse{\equal{\gls@border}{none}} -{ -\ifnum\gls@cols=2\relax -\expandafter\def\csname @gls@align@#1\endcsname{% -@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}} -\else -\expandafter\def\csname @gls@align@#1\endcsname{% -@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}l} -\fi -% -\expandafter\def\csname @gls@tail@#1\endcsname{}% -}{% -\ifnum\gls@cols=2\relax -\expandafter\def\csname @gls@align@#1\endcsname{% -|@{\hspace{\tabcolsep}\bfseries -}lp{\descriptionwidth}|} -\else -\expandafter\def\csname @gls@align@#1\endcsname{% -|@{\hspace{\tabcolsep}\bfseries -}lp{\descriptionwidth}l|} -\fi -% -\expandafter\def\csname @gls@tail@#1\endcsname{\hline}% -}% -% -\expandafter\def\csname @#1@delimT\endcsname{\\} -% -\ifnum\gls@cols=2\relax -\expandafter\def\csname @#1@gloskip\endcsname{& \\}% -\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% -\expandafter\def\csname @#1@glodelim\endcsname{}}{% -\expandafter\def\csname @#1@glodelim\endcsname{, }}% -\else -\expandafter\def\csname @#1@gloskip\endcsname{& & \\}% -\expandafter\def\csname @#1@glodelim\endcsname{& }% -\fi -\expandafter\def\csname @#1@gloitem\endcsname##1{##1 &}% -} -% \end{macrocode} -% Need a way to avoid conflict with the \styname{array} package. In an -% earlier version I defined a new column type if the \styname{array} -% package was being used, however this restricts the ability -% to have multiple glossaries with different column alignments. -% \begin{macrocode} -\newcommand{\@st@rtglostable}[2]{% -\gls@ta={\begin{#1}}\gls@tb=\expandafter{#2}% -\edef\@st@rtglost@ble{\the\gls@ta{\the\gls@tb}} -\@st@rtglost@ble} -% \end{macrocode} -% Define command to switch to \pkgopt{super} style: -% \begin{macrocode} -\newcommand{\gls@setsuper}[1][glossary]{% -\gls@setalignment[#1]% -\gls@setheader[#1]% -% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\tablehead{\@glossaryheader}\tabletail{\glosstail}% -\if\glossaryalignment\relax -\expandafter\let\expandafter\@glossaryalignment -\csname @gls@align@#1\endcsname -\else -\let\@glossaryalignment\glossaryalignment -\fi -\@st@rtglostable{supertabular}\@glossaryalignment} -% -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{supertabular}}% -} -% \end{macrocode} -% Define command to switch to \pkgopt{long} style: -% \begin{macrocode} -\newcommand{\gls@setlong}[1][glossary]{% -\gls@setalignment[#1]% -\gls@setheader[#1]% -% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\if\relax\glossaryalignment -\expandafter\let\expandafter\@glossaryalignment -\csname @gls@align@#1\endcsname -\else -\let\@glossaryalignment\glossaryalignment -\fi -\@st@rtglostable{longtable}{\@glossaryalignment} -\@glossaryheader\endhead\glosstail\endfoot} -% -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{longtable}}% -} -% \end{macrocode} -% Define command to set the glossary style. -% \begin{macrocode} -\newcommand{\@setglossarystyle}[1][glossary]{% -\@ifundefined{gls@set\gls@style}{% -\PackageError{glossary}{Glossary style '\gls@style' undefined}{}}{% -\ifthenelse{\equal{\gls@number}{}}{}{% -\expandafter\edef\csname gls@#1@number\endcsname{\gls@number}% -\@gls@setnumbering[#1]{\gls@number}% -}% -\csname gls@set\gls@style\endcsname[#1]}} -% \end{macrocode} -% Set main glossary style as per package options -% \begin{macrocode} -\let\gls@number\gls@glossary@number -\@setglossarystyle -% \end{macrocode} -% Define keys to change glossary style. The \pkgopt{style} key sets -% the basic style. -% \begin{macrocode} -\define@key{glosstyle} -{style} -{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} -\or \equal{#1}{super} \or \equal{#1}{long}} -{\def\gls@style{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: list, altlist, super and long}}} -% \end{macrocode} -% The \pkgopt{header} key should only be used in conjunction with -% one of the tabular-type styles. If set to \pkgoptval{plain}{header}, a -% header row will be used. -% \begin{macrocode} -\define@key{glosstyle} -{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@header{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: none and plain}}} -% \end{macrocode} -% The \pkgopt{border} key should only be used in conjunction with one -% of the tabular-type styles. If set to \pkgoptval{plain}{border}, a border will -% be placed around the glossary. -% \begin{macrocode} -\define@key{glosstyle} -{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@border{#1}} -{\PackageError{glossary} -{Unknown glossary border '#1'} -{Available styles are: none and plain}}} -% \end{macrocode} -% The \pkgopt{cols} key should only be used in conjunction with one of -% the tabular-type styles. If set to \pkgoptval{2}{cols}, the description and page -% list will both be placed in the second column, if set to \pkgoptval{3}{cols}, -% the description will go in the second column, and the page list -% will go in the third column. -% \begin{macrocode} -\define@key{glosstyle}{cols}{\gls@cols=#1\relax -\ifthenelse{\gls@cols<2 \or \gls@cols>3} -{\PackageError{glossary} -{invalid number of columns} -{The cols option can only be 2 or 3}} -{}} -% \end{macrocode} -% The \pkgopt{number} key may either be \pkgoptval{none}{number} or the name of a counter. -% \begin{macrocode} -\define@key{glosstyle} -{number} -{\ifthenelse{\equal{#1}{none}} -{\def\gls@number{#1}} -{\@ifundefined{c@#1}{ -\PackageError{glossary} -{Unknown glossary number style '#1'} -{You may either specify "none" or the name of a counter, -e.g. "section"}\def\gls@number{page}}{\def\gls@number{#1}}}} -% \end{macrocode} -% Provide a means of setting the style for a given glossary type. -% \begin{macrocode} -\newcommand{\setglossarystyle}[2][glossary]{% -\def\gls@number{}% -\setkeys{glosstyle}{#2}% -\@setglossarystyle[#1]% -} -% \end{macrocode} -% Set the delimiter for the case where there is no numbering -% and there aren't 3 columns. -% \begin{macrocode} -\ifthenelse{\equal{\gls@glossary@number}{none} \and \gls@cols<3}{% -\renewcommand{\@glossary@glodelim}{}}{} -% \end{macrocode} -% \subsection{Makeindex style file} -%This is the code to generate the ".ist" file. -% First define a switch that governs whether or not to write the -% ist file. -% \begin{macrocode} -\newif\ifist -\let\noist=\istfalse -\if@filesw\isttrue\else\istfalse\fi -% \end{macrocode} -% Provide a command to write the ist file. This will cause -% a problem with \styname{ngerman} because the behaviour -% of the double quote character changes. Any packages that modify -% this character should be loaded after the ".ist" file is written. -% \begin{macrocode} -\newwrite\istfile -\catcode`\%11\relax -\newcommand{\writeist}{ -\protected@write\@auxout{}{\protect\@istfilename{\istfilename}} -\openout\istfile=\istfilename -\write\istfile{% makeindex style file created by LaTeX for document "\jobname" on \the\year-\the\month-\the\day} -\write\istfile{keyword "\string\\glossaryentry"} -\write\istfile{preamble "\string\\begin{theglossary}"} -\write\istfile{postamble "\string\n\string\\end{theglossary}\string\n"} -\write\istfile{group_skip "\string\\gloskip "} -\write\istfile{item_0 "\string\n\string\n\string\\gloitem "} -\write\istfile{delim_0 "\string\n\string\\glodelim "} -\write\istfile{page_compositor "\pagecompositor"} -\write\istfile{delim_n "\string\\delimN "} -\write\istfile{delim_r "\string\\delimR "} -\write\istfile{delim_t "\string\\delimT "} -\write\istfile{headings_flag 1} -\write\istfile{heading_prefix "\string\\glogroup"} -\write\istfile{symhead_positive "Symbols"} -\write\istfile{numhead_positive "Numbers"} -\closeout\istfile -} -\catcode`\%14\relax -% \end{macrocode} -%Redefine \icmdname{makeglossary} so that it creates the ".ist" file. -% Once it is created, the \icmdname{ifist} flag is set to false to prevent -% repeated creation of the file in the event that another -% glossary-style type is created. If a different ".ist" file is -% desired for each glossary type, you will need to precede each -% "\make"\meta{type} with \icmdname{isttrue} and changed the definition -% of \icmdname{istfilename}. (This is unlikely to occur unless more than -% one type of page compositor is required.) If you do this, remember -% to pass the correct ist file to makeindex. I have removed -% "\@sanitize" at the -% recommendation of Ulrich~Diez. -% \begin{macrocode} -\renewcommand{\makeglossary}{ -\newwrite\@glossaryfile -\immediate\openout\@glossaryfile=\jobname.glo -\renewcommand{\glossary}[1][]{\gdef\@glo@l@bel{##1}% -\@bsphack \begingroup \@wrglossary } -\typeout {Writing glossary file \jobname .glo } -\let \makeglossary \@empty -\ifist\writeist\fi -\noist} -% \end{macrocode} -% The \icmdname{glossary} command has been modified to allow for an optional -% argument to modify the label. This is the default definition of -% \icmdname{glossary}, it doesn't write anything to the ".glo" file. -% It doesn't use "\setkeys", so "\@sanitize" is used here. -% Use \icmdname{makeglossary} to redefine it so that entries are written -% to the ".glo" file. -% \begin{macrocode} -\renewcommand{\glossary}[1][]{% -\@bsphack\begingroup\@sanitize\@index} -% \end{macrocode} -%\subsection{Defining a new glossary type} -% First parameter (optional) is the extension of the log file -% (information used by "makeglos.pl" but not \LaTeX). -% Second parameter is the name of new glossary type -% e.g.\ "notation". Third parameter is the extension of output -% file (equivalent to "ind" or "glo". Fourth parameter -% is the extension of input file (equivalent to "idx" or "gls"). -% The fifth parameter (optional) is the format. -% \begin{macrocode} -\newcommand{\newglossarytype}[4][glg]{ -\@ifundefined{#2}{% -\protected@write\@auxout{}{\@newglossarytype[#1]{#2}{#3}{#4}}% -\def\@glstype{#2}\def\@glsout{#3}\def\@glsin{#4}% -\expandafter\edef\csname gls@\@glstype @number\endcsname{% -\gls@glossary@number}% -\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{% -\glsXglossaryXnumformat}% -\expandafter\gdef\csname @\@glstype @delimN\endcsname{% -\@glossary@delimN}% -\expandafter\gdef\csname @\@glstype @delimR\endcsname{% -\@glossary@delimR}% -\expandafter\gdef\csname @gls@\@glstype @inext\endcsname{#4}% -\expandafter\def\csname @gls@#2@type\endcsname{#4}% -\expandafter\edef\csname make\@glstype\endcsname{% -\noexpand\@m@kegl@ss{\@glstype}{\@glsout}} -\expandafter\edef\csname \@glstype\endcsname{% -\noexpand\@gl@ss@ary{\@glstype}} -\expandafter\edef\csname x\@glstype\endcsname{% -\noexpand\@Gl@ss@ary{\@glstype}} -\@namedef{print\@glstype}{% -\printglossary[#2]}% -}{\PackageError{glossary}{Command -\expandafter\string\csname #2\endcsname \space already defined}{% -You can't call your new glossary type '#2' because there already -exists a command with this name}}% -\@@n@wglostype} -\newcommand{\@@n@wglostype}[1][]{% -\setglossarystyle[\@glstype]{#1}} -% \end{macrocode} -% The command "\@newglossarytype" is written to the auxiliary file -% and is only used by makeglos.pl. \LaTeX\ should ignore it. -% \begin{macrocode} -\newcommand{\@newglossarytype}[4][glg]{} -% \end{macrocode} -% Define equivalent of \icmdname{makeglossary}: -% \begin{macrocode} -\newcommand\@m@kegl@ss[2]{% -\expandafter\newwrite\csname @#1file\endcsname -\expandafter\immediate\expandafter -\openout\csname @#1file\endcsname=\jobname.#2 -\typeout {Writing #1 file \jobname .#2 } -\expandafter\let \csname make#1\endcsname \@empty -\ifist\writeist\fi -\expandafter\def\csname the#1num\endcsname{\thepage} -\noist -} -% \end{macrocode} -% Define the equivalent of \icmdname{glossary}. -% \begin{macrocode} -\newcommand\@gl@ss@ary[2][]{\@ifundefined{@#2file}{% -\@bsphack\begingroup\@sanitize \@index}{% -\gdef\@glo@l@bel{#1}% -\@bsphack \begingroup \@wrglossary[#2]}} -% \end{macrocode} -% Define the equivalent of \icmdname{xglossary}. -% \begin{macrocode} -\newcommand{\@Gl@ss@ary}{% -\renewcommand{\@@wrglossary}[1]{% -\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% -\@gl@ss@ary} -% \end{macrocode} -% The command \icmdname{newglossarytype} should only be used in the preamble. -% \begin{macrocode} -\@onlypreamble{\newglossarytype} -% \end{macrocode} -%\subsection{Acronyms} -% Define \icmdname{newacronym}[\meta{cmd-name}]\{\meta{abbrv}\}\{\meta{long name}\}\{\meta{glos entry}\} -% \begin{macrocode} -\newcommand\@acrnmsh{} -\newcommand\@sacrnmsh{} -\newcommand\@acrnmln{} -\newcommand\@acrnmcmd{} -\newcommand\@acrnmgls{} -\newcommand\@acrnmins{} -% \end{macrocode} -% List of all defined acronyms. -% \begin{macrocode} -\toksdef\@glo@tb=2 -\newcommand{\@acr@list}{} -% \end{macrocode} -% append acronym to list -% \begin{macrocode} -\newcommand{\@acr@addtolist}[1]{\edef\@glo@ta{#1}% -\ifthenelse{\equal{\@acr@list}{}}{% -\edef\@acr@list{\@glo@ta}}{% -\@glo@tb=\expandafter{\@acr@list}% -\edef\@acr@list{\the\@glo@tb,\@glo@ta}}} -% \end{macrocode} -% Specify how to control the way the name key is -% set for acronyms. -% \begin{macrocode} -\newcommand{\@acronymnamefmt}{\glolong\ (\gloshort)} -\newcommand{\setacronymnamefmt}[1]{\def\@acronymnamefmt{#1}} -% \end{macrocode} -% Specify how to control the way the description key is -% set for acronyms. -% \begin{macrocode} -\newcommand{\@acronymdescfmt}{\glodesc} -\newcommand{\setacronymdescfmt}[1]{\def\@acronymdescfmt{#1}} -% \end{macrocode} -% Format the acronym abbreviation in the format specified -% by \verb'\acronymfont'. This simply prints its -% argument by default. -% \begin{macrocode} -\newcommand{\acronymfont}[1]{#1} -% \end{macrocode} -% This command has been restructured as from v2.17 -% \begin{macrocode} -\newcommand{\newacronym}[4][]{% -\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{% -\renewcommand\@acrnmcmd{#1}} -\@ifundefined{\@acrnmcmd}{% -\expandafter\newcommand\csname\@acrnmcmd short\endcsname{% -#2\protect\glsxspace} -\expandafter\newcommand\csname\@acrnmcmd @nx@short\endcsname{#2} -\expandafter\newcommand\csname\@acrnmcmd long\endcsname{% -#3\protect\glsxspace} -\expandafter\newcommand\csname\@acrnmcmd @nx@long\endcsname{#3} -\def\@acrn@entry{#4}% -{% -% extract description -\expandafter\@gls@getdescr\expandafter{\@acrn@entry}% -\let\glodesc\@glo@desc% -\def\glolong{#3}% -\@onelevel@sanitize\glolong -\def\gloshort{\noexpand\acronymfont{#2}}% -\@onelevel@sanitize\gloshort -\expandafter\protected@xdef\expandafter\@acrnamefmt{\@acronymnamefmt} -\expandafter\protected@xdef\expandafter\@acrdesc{\@acronymdescfmt} -}% -\@acr@addtolist{\@acrnmcmd} -\@glo@tb=\expandafter{\@acrn@entry}% -\protected@edef\@acr@glsentry{name={\@acrnamefmt},% -format=glsnumformat,sort={\@acrnmcmd},\the\@glo@tb,% -description={\@acrdesc}}% -\@glo@tb=\expandafter{\@acr@glsentry}% -\newboolean{\@acrnmcmd first}\setboolean{\@acrnmcmd first}{true} -\expandafter\protected@edef\csname \@acrnmcmd\endcsname{% -\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{% -\csname @\@acrnmcmd\endcsname}} -\ifglshyperacronym % hyperlinks -% unstarred version -\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}\noexpand\glsxspace} -% starred version -\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\noexpand\expandafter\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})% -\noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}\noexpand\glsxspace} -\else % no hyperlinks -% unstarred version -\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}% -\noexpand\glsxspace} -% starred version -\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\noexpand\expandafter -\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})% -\noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}\noexpand\glsxspace} -\fi -}{% -\PackageError{glossary}{Command '\expandafter\string -\csname\@acrnmcmd\endcsname' already defined}{% -The command name specified by \string\newacronym already exists.}}} -% \end{macrocode} -% Define a command to use a given acronym. -% \begin{macrocode} -\newcommand{\useacronym}{\@ifstar\@suseacronym\@useacronym} -\newcommand{\@suseacronym}[2][]{{\let\glsxspace\relax -\def\@acrnmins{#1}\csname @s@#2\endcsname}% -\setboolean{#2first}{false}} -\newcommand{\@useacronym}[2][]{{\let\glsxspace\relax -\def\@acrnmins{#1}\csname @#2\endcsname}% -\setboolean{#2first}{false}} -% \end{macrocode} -% Define a command to use the long form of an acronym without -% generating a glossary entry. The starred form makes the first -% character uppercase. -% \begin{macrocode} -\newcommand{\acrln}{\@ifstar\@sacrln\@acrln} -% \end{macrocode} -% Unstarred form: -% \begin{macrocode} -\newcommand{\@acrln}[1]{\@ifundefined{#1long}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\csname#1@nx@long\endcsname}} -% \end{macrocode} -% Starred form: -% \begin{macrocode} -\newcommand{\@sacrln}[1]{\@ifundefined{#1long}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\expandafter\expandafter\expandafter -\MakeUppercase\csname#1@nx@long\endcsname}} -% \end{macrocode} -% As above, but for the short form. -% \begin{macrocode} -\newcommand{\acrsh}{\@ifstar\@sacrsh\@acrsh} -% \end{macrocode} -% Unstarred form: -% \begin{macrocode} -\newcommand{\@acrsh}[1]{\@ifundefined{#1short}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\acronymfont{\csname#1@nx@short\endcsname}}} -% \end{macrocode} -% Starred form: -% \begin{macrocode} -\newcommand{\@sacrsh}[1]{\@ifundefined{#1short}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\acronymfont{\expandafter\expandafter\expandafter -\MakeUppercase\csname#1@nx@short\endcsname}}} -% \end{macrocode} -% Define a means of determining whether an acronym has been -% used or not. This was mainly included for use with LaTeX2HTML -% which currently has no \styname{ifthen} style. -% \begin{macrocode} -\newcommand{\ifacronymfirstuse}[3]{% -\@ifundefined{if#1first}{% -\PackageError{glossary}{Acronym '#1' not defined}{}}{% -\ifthenelse{\boolean{#1first}}{#2}{#3}}} -% \end{macrocode} -% Provide a means of resetting an acronym so that it is expanded -% next time it is used. -% \begin{macrocode} -\newcommand{\resetacronym}[1]{% -\@ifundefined{if#1first}{% -\PackageError{glossary}{Acronym '#1' not defined}{}}{% -\ifglsglobal -\expandafter\global\csname #1firsttrue\endcsname -\else -\setboolean{#1first}{true}% -\fi}} -% \end{macrocode} -% Reverse of the above. -% \begin{macrocode} -\newcommand{\unsetacronym}[1]{% -\@ifundefined{if#1first}{% -\PackageError{glossary}{Acronym '#1' not defined}{}}{% -\ifglsglobal -\expandafter\global\csname #1firstfalse\endcsname -\else -\setboolean{#1first}{false}% -\fi}} -% \end{macrocode} -% Reset all acronyms so that they will all be expanded when next -% used. -% \begin{macrocode} -\newcommand{\resetallacronyms}{% -\@for\@acr:=\@acr@list\do{\resetacronym{\@acr}}} -% \end{macrocode} -% Ensure that all acronyms are not expanded, even if they haven't -% yet been used. -% \begin{macrocode} -\newcommand{\unsetallacronyms}{% -\@for\@acr:=\@acr@list\do{\unsetacronym{\@acr}}} -% \end{macrocode} -% Check to see if acronyms should be separate from glossary -% \begin{macrocode} -\ifglsacronym -\newglossarytype[alg]{acronym}{acr}{acn} -\providecommand{\acronymname}{List of Acronyms} -\else -\let\acronym=\glossary -\let\xacronym=\xglossary -\fi -% \end{macrocode} -%\subsection{Glossary Hyperlinks} -% This section deals with commands that are used to make the -% numbers in the glossary have hyperlinks, if hyperlinks are -% supported. -% -% The command \icmdname{glshyper} is a modification of \styname{hyperref}'s -% \icmdname{hyperpage} command, but it uses \icmdname{delimR} instead of a dash, and -% \icmdname{delimN} instead of a comma. The command was originally called -% \icmdname{glshyperpage} but was modified in version 2.4 to -% enable "page" to be substituted with some arbitrary counter -% (which should be specified as the first argument). -% \begin{macrocode} -\ifglshyper -\def\glshyper#1#2{\@glshyper{#1}#2\delimR \delimR \\} -\def\@glshyper#1#2\delimR #3\delimR #4\\{% -\ifx\\#3\\% -\@delimNhyper{#1}{#2}% -\else -\@ifundefined{hyperlink}{#2\delimR #3}{% -\hyperlink{#1.#2}{#2}\delimR \hyperlink{#1.#3}{#3}}% -\fi -} -% \end{macrocode} -% For a list of individual pages instead of a range: -% \begin{macrocode} -\def\@delimNhyper#1#2{\@@delimNhyper{#1}#2\delimN \delimN\\} -\def\@@delimNhyper#1#2\delimN #3\delimN #4\\{% - \ifx\\#3\\% - \@ifundefined{hyperlink}{#2}{\hyperlink{#1.#2}{#2}}% - \else - \@ifundefined{hyperlink}{#2\delimN #3}{% -\hyperlink{#1.#2}{#2}\delimN \hyperlink{#1.#3}{#3}}% - \fi -} -% \end{macrocode} -% To maintain backwards compatibility, define \icmdname{glshyperpage} -% and \icmdname{glshypersection}. These commands may be removed at a -% later date, so don't use them. -% \begin{macrocode} -\newcommand\glshyperpage[1]{\glshyper{page}{#1}} -\newcommand\glshypersection[1]{\glshyper{section}{#1}} -% \end{macrocode} -% If chapters are defined, modify "\@chapter" so that is adds -% a "section."\meta{n}".0" target (otherwise it gets too complicated -% if you have to work out whether to use the chapter or section -% counter---there's more than enough conditional code in this -% package already!) -% \begin{macrocode} -\@ifundefined{chapter} -{} -{\let\@gls@old@chapter\@chapter -\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}% -\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}} -% \end{macrocode} -% Provide "\hyper"\meta{xx} to make it easier to change the page -% number format to "bf", "sf", "tt" and "it" if you are using -% hyperlinks. -% The optional first argument (new to version 2.4) specifies -% the counter being used. -% \begin{macrocode} -\providecommand\hyperrm[2][\gls@number]{% -\textrm{\glshyper{#1}{#2}}} -\providecommand\hypersf[2][\gls@number]{% -\textsf{\glshyper{#1}{#2}}} -\providecommand\hypertt[2][\gls@number]{% -\texttt{\glshyper{#1}{#2}}} -\providecommand\hyperbf[2][\gls@number]{% -\textbf{\glshyper{#1}{#2}}} -\providecommand\hyperit[2][\gls@number]{% -\textit{\glshyper{#1}{#2}}} -% \end{macrocode} -% The following were added in version 2.4: -% \begin{macrocode} -\providecommand\hyperem[2][\gls@number]{% -\emph{\glshyper{#1}{#2}}} -\providecommand\hyperup[2][\gls@number]{% -\textup{\glshyper{#1}{#2}}} -\providecommand\hypersl[2][\gls@number]{% -\textsl{\glshyper{#1}{#2}}} -\providecommand\hypersc[2][\gls@number]{% -\textsc{\glshyper{#1}{#2}}} -\providecommand\hypermd[2][\gls@number]{% -\textmd{\glshyper{#1}{#2}}} -% \end{macrocode} -% Hyperlinks not enabled. -% \begin{macrocode} -\else -\providecommand\hyperrm[2][]{\textrm{#2}} -\providecommand\hypersf[2][]{\textsf{#2}} -\providecommand\hypertt[2][]{\texttt{#2}} -\providecommand\hypermd[2][]{\textmd{#2}} -\providecommand\hyperbf[2][]{\textbf{#2}} -\providecommand\hyperit[2][]{\textit{#2}} -\providecommand\hypersl[2][]{\textsl{#2}} -\providecommand\hyperup[2][]{\textup{#2}} -\providecommand\hypersc[2][]{\textsc{#2}} -\providecommand\hyperem[2][]{\emph{#2}} -\fi -% \end{macrocode} -%\iffalse -%\subsection{Additional Files} -% The remainder of this document simply lists the contents -% of all the additional files that accompany the \styname{glossary} -% package. There is no further documentation. Some lines may not -% fit on the page. If you like, you can comment out this section -% using "\iffalse" and "\fi". -% \begin{macrocode} -%</glossary.sty> -% \end{macrocode} -% \begin{macrocode} -%<*makeglos.pl> -% \end{macrocode} -% \begin{macrocode} -#!/usr/bin/perl - -# File : makeglos -# Author : Nicola Talbot -# Version : 1.5 (2006/07/20) -# Description: simple Perl script that calls makeindex. -# Intended for use with "glossary.sty" (saves having to remember -# all the various switches) - -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]; -} - -$istfile = "$name.ist"; - -# check log file for other glossary types -# and for ist file name - -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"; - } - } - - if (m/\\\@istfilename\s*{([^}]*)}/) - { - $istfile = $1; - } - } - - 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"; -} - -unless ($opt_s eq "") -{ - $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++) - { - # remove all but the last \delimT - while ($item[$i]{'desc'}=~s/\\delimT/$&/sg > 1) - { - $item[$i]{'desc'}=~s/\\delimT//s; - } - 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; -% \end{macrocode} -% \begin{macrocode} -%</makeglos.pl> -% \end{macrocode} -% \begin{macrocode} -%<*makeglos.bat> -% \end{macrocode} -% \begin{macrocode} -@rem = '-*- Perl -*-
-@echo off
-perl -S %~dp0makeglos.pl %*
-% \end{macrocode} -% \begin{macrocode} -%</makeglos.bat> -% \end{macrocode} -% \begin{macrocode} -%<*glossary.perl> -% \end{macrocode} -% \begin{macrocode} -# File : glossary.perl -# Author : Nicola Talbot -# Date : 5 December 2005 -# Version : 1.03 -# 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; - } - - $_; -} - -sub do_cmd_unsetacronym{ - local($_) = @_; - local($cmdname); - - $cmdname = &missing_braces unless - (s/$next_pair_pr_rx/$cmdname=$2;''/eo); - - if (defined %{$acronym{$cmdname}}) - { - $global{"${cmdname}first"} = 0; - } - else - { - &write_warnings("acronym '$cmdname' not defined"); - } - - $_; -} - -sub do_cmd_unsetallacronyms{ - local($_) = @_; - - foreach $key (keys %acronym) - { - $global{"${key}first"} = 0; - } - - $_; -} - - %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; -% \end{macrocode} -% \begin{macrocode} -%</glossary.perl> -% \end{macrocode} -% \begin{macrocode} -%<*sample.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass[a4paper]{report} - -\usepackage[plainpages=false,colorlinks]{hyperref} -\usepackage{glossary} - -\makeglossary - -% You need to use the -m switch with makeglos.pl to concatenate -% entries with the same name but different descriptions -% If you don't, and you use PDFLaTeX you will get a warning -% about duplicate labels. To prevent this, set a different -% sort key for each entry, e.g. sort=glossary1 for the first -% entry and sort=glossary2 for the second entry - -\storeglosentry{glossary1}{name=glossary, -description=1) list of technical words} - -\storeglosentry{glossary2}{name=glossary, -description=2) collection of glosses} - -\storeglosentry{Perl}{name=\texttt{Perl}, -sort=Perl, % need a sort key because name contains a command -description=A scripting language} - -\storeglosentry{pagelist}{name=page list, -% description value has to be enclosed in braces -% because it contains commas -description={a list of individual pages or page ranges, -e.g.\ 1,2,4,7-9}} - -\begin{document} - -\title{Sample Document Using glossary Package} -\author{Nicola Talbot} -\pagenumbering{alph}% prevent duplicate page link names if using PDF -\maketitle - -\pagenumbering{roman} -\tableofcontents - -\chapter{Introduction} -\pagenumbering{arabic} - -A \gls{glossary1} is a very useful addition to any -technical document, although a \gls{glossary2} can -also simply be a collection of glosses, which is -another thing entirely. - -Once you have run your document through \LaTeX, you -will then need to run the \texttt{.glo} file through -\texttt{makeindex}. You will need to set the output -file so that it creates a \texttt{.gls} file instead -of an \texttt{.ind} file, and change the name of -the log file so that it doesn't overwrite the index -log file (if you have an index for your document). -Rather than having to remember all the command line -switches, you can call the \gls{Perl} script -\texttt{makeglos.pl} which provides a convenient -wrapper. - -If you have two terms with different meanings in your -\gls{glossary1}, \texttt{makeindex} will of course treat them as two -separate entries, however, some people prefer to -merge them. This can be done using \texttt{makeglos.pl}, and -passing the option \texttt{-m}. - -If a comma appears within the name or description, grouping -must be used: \gls{pagelist}. - -\printglossary - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sample.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sample4col.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass[a4paper]{article} - -% start out with 3 column format to make it easier to modify -\usepackage[style=long,cols=3]{glossary}[2006/07/20] - -% make glossary have 4 columns all left aligned -% (this assumes entries can fit onto a single line -% otherwise use p{} specifier instead of l) -\renewcommand{\glossaryalignment}{llll} - -% Define header row -\newcommand{\glossaryheader}{% -\bfseries Name & \bfseries Description & \bfseries Unit & -\bfseries Page} - -\makeglossary - -\storeglosentry{w}{name={$w$},sort=w,description={width&m}} -\storeglosentry{M}{name={$M$},sort=M,description={mass&kg}} - -\begin{document} - -\printglossary - -The width, \gls{w}, is measured in meters. The mass, \gls{M} is -measured in kilograms. - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sample4col.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sampleAcr.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass[a4paper]{report} - -\usepackage[colorlinks,plainpages=false]{hyperref} -\usepackage[style=altlist,hypertoc,acronym]{glossary} - -% use \makeglossary if using package option -% acronym=false -%\makeglossary -% use \makeacronym if using package option -% acronym=true -\makeacronym - -\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 - -\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''. - -%\resetacronym{ksvm} -\resetallacronyms -\useacronym*[s]{ksvm} \ldots -\svm. - -\begin{thebibliography}{1} -\bibitem{svm} \ldots -\end{thebibliography} - -%\printglossary -\printacronym - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sampleAcr.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sampleEq.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass[a4paper,12pt]{report} - -\usepackage{amsmath} -\usepackage[colorlinks]{hyperref} -\usepackage[header,border=none,cols=3,number=equation]{glossary}[2006/07/20] - -\newcommand{\erf}{\operatorname{erf}} -\newcommand{\erfc}{\operatorname{erfc}} - -\makeglossary - -% Uncomment the following line to put a blank line between -% every entry: -%\setglossary{delimT={\cr & \cr},gloskip={}} - -% Change the glossary title: - -\renewcommand{\glossaryname}{Index of Special Functions -and Notations} - -% Change the glossary headings - -\renewcommand{\entryname}{Notation} - -\renewcommand{\descriptionname}{Function Name} - -\renewcommand{\glspageheader}{Number of Formula} - -% Add a blank row after the header row -\newcommand{\glossarysubheader}{ & & \\} - -% Store entries for later use - -\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, -description=Gamma function,sort=Gamma} - -\storeglosentry{gamma}{name={\ensuremath{\gamma(\alpha,x)}}, -description=Incomplete gamma function,sort=gamma} - -\storeglosentry{iGamma}{name={\ensuremath{\Gamma(\alpha,x)}}, -description=Incomplete gamma function,sort=Gamma} - -\storeglosentry{psi}{name=\ensuremath{\psi(x)}, -description=Psi function,sort=psi} - -\storeglosentry{erf}{name=\ensuremath{\erf(x)}, -description=Error function,sort=erf} - -\storeglosentry{erfc}{name=\ensuremath{\erfc}, -description=Complementary error function,sort=erfc} - -\storeglosentry{B}{name={\ensuremath{B(x,y)}}, -description=Beta function,sort=B} - -\storeglosentry{Bx}{name={\ensuremath{B_x(p,q)}}, -description=Incomplete beta function,sort=Bx} - -\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, -description=Chebyshev's polynomials of the first kind,sort=Tn} - -\storeglosentry{Un}{name=\ensuremath{U_n(x)}, -description=Chebyshev's polynomials of the second kind,sort=Un} - -\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, -description=Hermite polynomials,sort=Hn} - -\storeglosentry{Ln}{name=\ensuremath{L_n^\alpha(x)}, -description=Laguerre polynomials,sort=Lna} - -\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, -description=Bessel functions,sort=Z} - -\storeglosentry{Phi}{name={\ensuremath{\Phi(\alpha,\gamma;z)}}, -description=confluent hypergeometric function,sort=Pagz} - -\storeglosentry{knu}{name=\ensuremath{k_\nu(x)}, -description=Bateman's function,sort=kv} - -\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, -description=Parabolic cylinder functions,sort=Dp} - -\storeglosentry{F}{name={\ensuremath{F(\phi,k)}}, -description=Elliptical integral of the first kind,sort=Fpk} - -\storeglosentry{C}{name=\ensuremath{C}, -description=Euler's constant,sort=C} - -\storeglosentry{G}{name=\ensuremath{G}, -description=Catalan's constant,sort=G} - -\begin{document} -\title{A Sample Document Using glossary.sty} -\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 using the \texttt{number=equation} package -option. -\end{abstract} - -\printglossary - -\chapter{Gamma Functions} - -\begin{equation} -\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -\end{equation} - -\verb|\ensuremath| is only required here if using -hyperlinks. -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) -%\useGlosentry{Gamma}{\Gamma(x+1)} = x\Gamma(x) -\end{equation} - -\begin{equation} -\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\begin{equation} -\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\newpage - -\begin{equation} -\gls{Gamma} = \Gamma(\alpha, x) + \gamma(\alpha, x) -\end{equation} - -\begin{equation} -\gls{psi} = \frac{d}{dx}\ln\Gamma(x) -\end{equation} - -\chapter{Error Functions} - -\begin{equation} -\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt -\end{equation} - -\begin{equation} -\gls{erfc} = 1 - \erf(x) -\end{equation} - -\chapter{Beta Function} - -\begin{equation} -\gls{B} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt -\end{equation} -Alternatively: -\begin{equation} -\gls{B} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi -\end{equation} - -\begin{equation} -\gls{B} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) -\end{equation} - -\begin{equation} -\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt -\end{equation} - -\chapter{Polynomials} - -\section{Chebyshev's polynomials} - -\begin{equation} -\gls{Tn} = \cos(n\arccos x) -\end{equation} - -\begin{equation} -\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} -\end{equation} - -\section{Hermite polynomials} - -\begin{equation} -\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) -\end{equation} - -\section{Laguerre polynomials} - -\begin{equation} -L_n^{\alpha} (x) = \frac{1}{n!}e^x x^{-\alpha} -\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) -\end{equation} - -\chapter{Bessel Functions} - -Bessel functions $Z_\nu$ are solutions of -\begin{equation} -\useglosentry{Znu} -\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} + -\left( 1-\frac{\nu^2}{z^2}Z_\nu = 0 \right) -\end{equation} - -\chapter{Confluent hypergeometric function} - -\begin{equation} -\gls{Phi} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} -+ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)}{\gamma(\gamma+1)(\gamma+2)}\, -\frac{z^3}{3!} + \cdots -\end{equation} - -\begin{equation} -\gls{knu} = \frac{2}{\pi}\int_0^{\pi/2} -\cos(x \tan\theta - \nu\theta)\,d\theta -\end{equation} - -\chapter{Parabolic cylinder functions} - -\begin{equation} -\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} -\left\{ -\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} -\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) --\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)} -\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) -\right\} -\end{equation} - -\chapter{Elliptical Integral of the First Kind} - -\begin{equation} -\gls{F} = \int_0^\phi \frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} -\end{equation} - -\chapter{Constants} - -\begin{equation} -\gls{C} = 0.577\,215\,664\,901\ldots -\end{equation} - -\begin{equation} -\gls{G} = 0.915\,965\,594\ldots -\end{equation} - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sampleEq.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sampleEqPg.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass[a4paper,12pt]{report} - -\usepackage{amsmath} -\usepackage[colorlinks]{hyperref} -\usepackage[header,toc,border=none,cols=3, - number=equation]{glossary}[2006/07/20] - -\newcommand{\erf}{\operatorname{erf}} -\newcommand{\erfc}{\operatorname{erfc}} - -\renewcommand{\glossaryname}{Index of Special Functions and Notations} - -\renewcommand{\glossarypreamble}{Numbers in italic indicate the equation number, -numbers in bold indicate page numbers where the main definition occurs.\par} - -% set the default glossary numbers to italic -% hyperit is used instead of textit because -% the hyperref package is being used. -\setglossary{glsnumformat=hyperit} - -% 1st column heading -\renewcommand{\entryname}{Notation} - -% 2nd column heading -\renewcommand{\descriptionname}{Function Name} - -% Add a blank row after the header -\newcommand{\glossarysubheader}{ & & \\} - -% store glossary entries for later use - -\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)}, -description=Gamma function,sort=Gamma} - -\storeglosentry{gamma}{name=\ensuremath{\gamma(\alpha,x)}, -description=Incomplete gamma function,sort=gamma} - -\storeglosentry{iGamma}{name=\ensuremath{\Gamma(\alpha,x)}, -description=Incomplete gamma function,sort=Gamma} - -\storeglosentry{psi}{name=\ensuremath{\psi(x)}, -description=Psi function,sort=psi} - -\storeglosentry{erf}{name=\ensuremath{\erf(x)}, -description=Error function,sort=erf} - -\storeglosentry{erfc}{name=\ensuremath{\erfc(x)}, -description=Complementary error function,sort=erfc} - -\storeglosentry{beta}{name=\ensuremath{B(x,y)}, -description=Beta function,sort=B} - -\storeglosentry{Bx}{name=\ensuremath{B_x(p,q)}, -description=Incomplete beta function,sort=Bx} - -\storeglosentry{Tn}{name=\ensuremath{T_n(x)}, -description=Chebyshev's polynomials of the first kind, -sort=Tn} - -\storeglosentry{Un}{name=\ensuremath{U_n(x)}, -description=Chebyshev's polynomials of the second kind, -sort=Un} - -\storeglosentry{Hn}{name=\ensuremath{H_n(x)}, -description=Hermite polynomials,sort=Hn} - -\storeglosentry{Lna}{name=\ensuremath{L_n^\alpha(x)}, -description=Laguerre polynomials,sort=Lna} - -\storeglosentry{Znu}{name=\ensuremath{Z_\nu(z)}, -description=Bessel functions,sort=Z} - -\storeglosentry{Pagz}{name=\ensuremath{\Phi(\alpha,\gamma;z)}, -description=confluent hypergeometric function,sort=Pagz} - -\storeglosentry{kv}{name=\ensuremath{k_\nu(x)}, -description=Bateman's function,sort=kv} - -\storeglosentry{Dp}{name=\ensuremath{D_p(z)}, -description=Parabolic cylinder functions,sort=Dp} - -\storeglosentry{Fpk}{name=\ensuremath{F(\phi,k)}, -description=Elliptical integral of the first kind,sort=Fpk} - -\storeglosentry{C}{name=\ensuremath{C}, -description=Euler's constant,sort=C} - -\storeglosentry{G}{name=\ensuremath{G}, -description=Catalan's constant,sort=G} - -\renewcommand{\shortglossaryname}{Special Functions} - -\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 numbers and equation numbers. -Since the majority of the entries use the equation number, -\texttt{number=equation} was used as a package option. -The entries that should refer to the page number instead -use the \texttt{number=equation} glossary key. -Note that this example will only work where the -page number and equation number compositor is the same. So -it won't work if, say, the page numbers are of the form -2-4 and the equation numbers are of the form 4.6. -As most of the glossary entries should have an italic -format, it is easiest to set the default format to -italic. - -\end{abstract} - -\tableofcontents - -\printglossary - -\chapter{Gamma Functions} - -The \useGlosentry[number=page,format=hyperbf]{Gamma}{gamma function} is -defined as -\begin{equation} -\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt -\end{equation} - -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x) -\end{equation} - -\begin{equation} -\gls{gamma} = \int_0^x e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\begin{equation} -\gls{iGamma} = \int_x^\infty e^{-t}t^{\alpha-1}\,dt -\end{equation} - -\newpage - -\begin{equation} -\useGlosentry{Gamma}{\ensuremath{\Gamma(\alpha)}} = \Gamma(\alpha, x) + \gamma(\alpha, x) -\end{equation} - -\begin{equation} -\gls{psi} = \frac{d}{dx}\ln\Gamma(x) -\end{equation} - -\chapter{Error Functions} - -The \useGlosentry[number=page,format=hyperbf]{erf}{error -function} is defined as: -\begin{equation} -\gls{erf} = \frac{2}{\surd\pi}\int_0^x e^{-t^2}\,dt -\end{equation} - -\begin{equation} -\gls{erfc} = 1 - \erf(x) -\end{equation} - -\chapter{Beta Function} - -\begin{equation} -\gls{beta} = 2\int_0^1 t^{x-1}(1-t^2)^{y-1}\,dt -\end{equation} -Alternatively: -\begin{equation} -\gls{beta} = 2\int_0^{\frac\pi2}\sin^{2x-1}\phi\cos^{2y-1}\phi\,d\phi -\end{equation} - -\begin{equation} -\gls{beta} = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)} = B(y,x) -\end{equation} - -\begin{equation} -\gls{Bx} = \int_0^x t^{p-1}(1-t)^{q-1}\,dt -\end{equation} - -\chapter{Chebyshev's polynomials} - -\begin{equation} -\gls{Tn} = \cos(n\arccos x) -\end{equation} - -\begin{equation} -\gls{Un} = \frac{\sin[(n+1)\arccos x]}{\sin[\arccos x]} -\end{equation} - -\chapter{Hermite polynomials} - -\begin{equation} -\gls{Hn} = (-1)^n e^{x^2} \frac{d^n}{dx^n}(e^{-x^2}) -\end{equation} - -\chapter{Laguerre polynomials} - -\begin{equation} -\gls{Lna} = \frac{1}{n!}e^x x^{-\alpha} -\frac{d^n}{dx^n}(e^{-x}x^{n+\alpha}) -\end{equation} - -\chapter{Bessel Functions} - -Bessel functions $Z_\nu(z)$ are solutions of -\begin{equation} -\frac{d^2Z_\nu}{dz^2} + \frac{1}{z}\,\frac{dZ_\nu}{dz} + -\left( -1-\frac{\nu^2}{z^2}Z_\nu = 0 -\right) -\end{equation} -\useglosentry{Znu} - -\chapter{Confluent hypergeometric function} - -\begin{equation} -\gls{Pagz} = 1 + \frac{\alpha}{\gamma}\,\frac{z}{1!} -+ \frac{\alpha(\alpha+1)}{\gamma(\gamma+1)}\,\frac{z^2}{2!} -+\frac{\alpha(\alpha+1)(\alpha+2)} - {\gamma(\gamma+1)(\gamma+2)} -\,\frac{z^3}{3!} -+ \cdots -\end{equation} - -\begin{equation} -\gls{kv} = \frac{2}{\pi}\int_0^{\pi/2} -\cos(x \tan\theta - \nu\theta)\,d\theta -\end{equation} - -\chapter{Parabolic cylinder functions} - -\begin{equation} -\gls{Dp} = 2^{\frac{p}{2}}e^{-\frac{z^2}{4}} -\left\{ -\frac{\surd\pi}{\Gamma\left(\frac{1-p}{2}\right)} -\Phi\left(-\frac{p}{2},\frac{1}{2};\frac{z^2}{2}\right) --\frac{\sqrt{2\pi}z}{\Gamma\left(-\frac{p}{2}\right)} -\Phi\left(\frac{1-p}{2},\frac{3}{2};\frac{z^2}{2}\right) -\right\} -\end{equation} - -\chapter{Elliptical Integral of the First Kind} - -\begin{equation} -\gls{Fpk} = \int_0^\phi -\frac{d\alpha}{\sqrt{1-k^2\sin^2\alpha}} -\end{equation} - -\chapter{Constants} - -\begin{equation} -\gls{C} = 0.577\,215\,664\,901\ldots -\end{equation} - -\begin{equation} -\gls{G} = 0.915\,965\,594\ldots -\end{equation} - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sampleEqPg.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sampleNtn.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass{report} - -\usepackage[plainpages=false,colorlinks]{hyperref} -\usepackage{html} -%\usepackage{array} -\usepackage[toc,style=long,cols=3]{glossary} - -\makeglossary - -% Define a new glossary type called notation -\newglossarytype{notation}{not}{ntn}[style=long,cols=2,border,header] - -% Set up notation style -\newcommand{\notationname}{Notation} -% Don't display numbers, remove commas and number hyphens -% for notation entries, and put a full stop after the -% deescription: -\setglossary{type=notation,glsnumformat=ignore,glodelim={.}} - -\makenotation - -\begin{document} - -\title{Sample Document using glossary Package} -\author{Nicola Talbot} -\pagenumbering{alph} -\maketitle - -\begin{abstract} -%stop hyperref complaining about duplicate page identifiers -\pagenumbering{Alph} -This is a sample document illustrating the use of the -\textsf{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 - -% Either of the following 2 commands will have -% the same effect with LaTeX. Effect slightly -% different with LaTeX2HTML. - -%\printnotation -\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} -% \end{macrocode} -% \begin{macrocode} -%</sampleNtn.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sampleNtn2.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass{report} - -\usepackage[plainpages=false,colorlinks]{hyperref} -\usepackage{html} -\usepackage[toc]{glossary}[2006/07/20] - -\makeglossary - -% Define a new glossary type called notation -% Suppress the page numbering in the list of notation -\newglossarytype[nlg]{notation}{not}{ntn}[number=none] - -% Set up notation style -\newcommand{\notationname}{Notation} - -\makenotation - -\begin{document} - -% Save details for later use (note the use of \protect): -\storeglosentry[notation]{not:set}{name={$\mathcal{S}$}, -description=A set,sort=S} - -\storeglosentry[notation]{not:U}{name=$\mathcal{U}$, -description={The universal set},sort=U} - -\storeglosentry[notation]{not:card}{name=$\mid\mathcal{S}\mid$, -description=cardinality of $\mathcal{S}$, -sort=cardinality} - -\storeglosentry{glos:set}{name=set,description=A collection of -distinct objects} - -\storeglosentry{glos: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} -%stop hyperref complaining about duplicate page identifiers: -\pagenumbering{Alph} -This is a sample document illustrating the use of the -\textsf{glossary} package. In this example, a new glossary type -called \texttt{notation} is defined, so that the document can have a -separate glossary of terms and index of notation. The index of notation -doesn't have associated numbers. -\end{abstract} - - -\pagenumbering{roman} -\tableofcontents - -\printglossary - -% Either of the following 2 commands will have -% the same effect with LaTeX. Effect slightly -% different with LaTeX2HTML. - -\printnotation -%\printglossary[notation] - -\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}. - -\chapter{Another Chapter} - -Another mention of the universal set \gls{not:U}. - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sampleNtn2.tex> -% \end{macrocode} -% \begin{macrocode} -%<*sampleSec.tex> -% \end{macrocode} -% \begin{macrocode} -\documentclass{report} - -\usepackage[plainpages=false,colorlinks]{hyperref} -\usepackage[style=altlist,toc,number=section]{glossary} - -\makeglossary - -\storeglosentry{ident}{name=identity matrix,description=diagonal -matrix with 1s along the leading diagonal} - -\storeglosentry{diag}{name=diagonal matrix, -description=matrix whose only non-zero entries are along -the leading diagonal} - -\storeglosentry{sing}{name=singular matrix, -description=matrix with zero determinant} - -\begin{document} - -\pagenumbering{roman} -\tableofcontents - -\printglossary - -\chapter{Introduction} -\pagenumbering{arabic} -This is a sample document illustrating the use of the -\textsf{glossary} package. - -\chapter{Diagonal matrices} - -A \gls[format=hyperit]{diag} is a matrix where all elements not on the -leading diagonal are zero. This is the -primary definition, so an italic font is used for the page number. - -\newpage -\section{Identity matrix} -The \gls[format=hyperit]{ident} is a \gls{diag} whose leading -diagonal elements are all equal to 1. - -Here is another entry for a \gls{diag}. - -\chapter{Singular Matrices} - -A \gls{sing} is a matrix with zero determinant. -\useGlosentry{sing}{Singular matrices} are non-invertible. - -Another \gls{ident} entry. - -\end{document} -% \end{macrocode} -% \begin{macrocode} -%</sampleSec.tex> -% \end{macrocode} -%\fi -%\Finale -\endinput diff --git a/Master/texmf-dist/source/latex/glossary/glossary.ins b/Master/texmf-dist/source/latex/glossary/glossary.ins deleted file mode 100644 index 6359e0d0d00..00000000000 --- a/Master/texmf-dist/source/latex/glossary/glossary.ins +++ /dev/null @@ -1,38 +0,0 @@ -% glossary.ins generated using makedtx version 0.91b 2006/7/25 18:13 -\input docstrip - -\preamble -Copyright (C) 2006 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. -\endpreamble - -\askforoverwritefalse - -\generate{\file{makeglos.pl}{\nopreamble\nopostamble\from{glossary.dtx}{makeglos.pl}} -\file{sampleSec.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sampleSec.tex,package}} -\file{sampleNtn.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sampleNtn.tex,package}} -\file{sampleEqPg.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sampleEqPg.tex,package}} -\file{makeglos.bat}{\nopreamble\nopostamble\from{glossary.dtx}{makeglos.bat}} -\file{sample.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sample.tex,package}} -\file{sampleNtn2.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sampleNtn2.tex,package}} -\file{glossary.perl}{\nopreamble\nopostamble\from{glossary.dtx}{glossary.perl}} -\file{glossary.sty}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{glossary.sty,package}} -\file{sample4col.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sample4col.tex,package}} -\file{sampleAcr.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sampleAcr.tex,package}} -\file{sampleEq.tex}{\usepreamble\defaultpreamble -\usepostamble\defaultpostamble\from{glossary.dtx}{sampleEq.tex,package}} -} - -\endbatchfile diff --git a/Master/texmf-dist/tex/latex/glossary/glossary.sty b/Master/texmf-dist/tex/latex/glossary/glossary.sty deleted file mode 100644 index 2f6c12aaf52..00000000000 --- a/Master/texmf-dist/tex/latex/glossary/glossary.sty +++ /dev/null @@ -1,979 +0,0 @@ -%% -%% This is file `glossary.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% glossary.dtx (with options: `glossary.sty,package') -%% Copyright (C) 2006 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 \~} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary}[2006/07/20 2.4 (NLCT)] -\RequirePackage{ifthen} -\RequirePackage{keyval} -\define@key{gloss} -{style} -{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} -\or \equal{#1}{super} \or \equal{#1}{long}} -{\def\gls@style{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: list, altlist, super and long}}} -\define@key{gloss} -{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@header{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: none and plain}}} -\define@key{gloss} -{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@border{#1}} -{\PackageError{glossary} -{Unknown glossary border '#1'} -{Available styles are: none and plain}}} -\newcount\gls@cols -\define@key{gloss}{cols}{\gls@cols=#1\relax -\ifthenelse{\gls@cols<2 \or \gls@cols>3} -{\PackageError{glossary} -{invalid number of columns} -{The cols option can only be 2 or 3}} -{}} -\define@key{gloss} -{number} -{\ifthenelse{\equal{#1}{none}} -{\def\gls@glossary@number{#1}} -{\@ifundefined{c@#1}{ -\PackageError{glossary} -{Unknown glossary number style '#1'} -{You may either specify "none" or the name of a counter, -e.g. "section"}\def\gls@glossary@number{page}}{\def\gls@glossary@number{#1}}}} -\newif\ifgls@toc -\define@key{gloss}{toc}[true]{\ifthenelse{\equal{#1}{true} -\or \equal{#1}{false}} -{\csname gls@toc#1\endcsname} -{\PackageError{glossary}{Glossary option 'toc' is boolean} -{The value of 'toc' can only be set to 'true' or 'false'}}} -\newif\ifgls@hypertoc -\define@key{gloss}{hypertoc}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname gls@hypertoc#1\endcsname} -{\PackageError{glossary}{Glossary option 'hypertoc' is boolean} -{The value of 'hypertoc' can only be set to 'true' or 'false'}}} -\newif\ifgls@section -\define@key{gloss}{section}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname gls@section#1\endcsname} -{\PackageError{glossary}{Glossary option 'section' is boolean} -{The value of 'section' can only be set to 'true' or 'false'}}} -\gls@sectionfalse -\newif\ifglshyper -\newif\ifglshyperacronym -\define@key{gloss}{hyper}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname glshyper#1\endcsname\glshyperacronymtrue} -{\PackageError{glossary}{Glossary option 'hyper' is boolean} -{The value of 'hyper' can only be set to 'true' or 'false'}}} -\define@key{gloss}{hyperacronym}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\csname glshyperacronym#1\endcsname} -{\PackageError{glossary}{Glossary option 'hyperacronym' is boolean} -{The value of 'hyperacronym' can only be set to 'true' or 'false'}}} -\newif\ifglsacronym -\define@key{gloss}{acronym}[true]{% -\ifthenelse{\equal{#1}{true} \or \equal{#1}{false}} -{\setboolean{glsacronym}{#1}}{% -\PackageError{glossary}{Glossary option 'acronym' is boolean}{The -value of 'acronym' can only be set to 'true' or 'false'}}} -\newif\ifglsglobal -\define@key{gloss}{global}[true]{\ifthenelse{\equal{#1}{true}\or -\equal{#1}{false}}{\setboolean{glsglobal}{#1}}{% -\PackageError{glossary}{Glossary option 'global' is boolean}{The -value of 'global' can only be set to 'true' or 'false'}}} -\def\gls@style{long} -\def\gls@header{none} -\def\gls@border{none} -\def\gls@glossary@number{page} -\gls@cols=2\relax -\gls@tocfalse -\@ifundefined{hyperpage}{\glshyperfalse\glshyperacronymfalse}{% -\glshypertrue\glshyperacronymtrue} -\@ifundefined{hypertarget}{ -\newcommand{\glosslabel}[2]{#2}% -\newcommand{\glossref}[2]{#2}% -}{% -\newcommand{\glosslabel}[2]{\hypertarget{#1}{#2}}% -\newcommand{\glossref}[2]{\hyperlink{#1}{#2}} -} -\@ifundefined{xspace}{% -\let\glsxspace\relax}{% -\let\glsxspace\xspace} -\let\glossaryalignment\relax -\newcommand{\glossarypackageoptions}[1]{\setkeys{gloss}{#1}} -\InputIfFileExists{glossary.cfg}{% -\typeout{Glossary configuration file loaded}}{% -\typeout{No configuration file glossary.cfg found}} -\renewcommand{\glossarypackageoptions}[1]{% -\PackageError{glossary}{Command \string\glossarypackageoptions -^^Jcan only be used in configuration file}{}} -\DeclareOption*{\edef\@pkg@ptions{\noexpand -\setkeys{gloss}{\CurrentOption}} -\ifthenelse{\equal{\CurrentOption}{}}{}{\@pkg@ptions}} -\ProcessOptions -\ifthenelse{\(\equal{\gls@style}{list} \or -\equal{\gls@style}{altlist}\) \and -\(\not\equal{\gls@header}{none} \or \not\equal{\gls@border}{none} -\or \gls@cols=3\)} -{\PackageError{glossary}{You can't have option 'style=list' or -'style=altlist' in combination with any of the other style -options}{The 'list' and 'altlist' options don't have a header, -border or number of columns option.}} -{} -\ifthenelse{\boolean{gls@hypertoc} \and \boolean{gls@toc}}{% -\PackageWarning{glossary}{Can't have both 'toc' and -'hypertoc', ignoring 'toc' option} -\ifgls@hypertoc\gls@tocfalse\fi}{} -\define@key{wrgloss}{name}{% -\def\@glo@n@me{#1}% -\@onelevel@sanitize\@glo@n@me% -\global\let\@glo@n@me\@glo@n@me} -\define@key{wrgloss}{description}{% -\def\@descr{#1}% -\@onelevel@sanitize\@descr} -\define@key{wrgloss}{sort}{% -\def\@s@rt{#1}% -\@onelevel@sanitize\@s@rt -\global\let\@s@rt\@s@rt} -\define@key{wrgloss}{format}{\def\@f@rm@t{#1}} -\define@key{wrgloss}{number}{\def\@glo@num{#1}} -\newcommand{\@@wrglossary}{} -\newcommand{\@glo@l@bel}{} -\newcommand{\@gls@glossary@type}{glo} -\renewcommand{\@wrglossary}[2][glossary]{\relax -\gdef\@glo@n@me{}\def\@descr{}\def\@s@rt{}\def\@f@rm@t{}% -\edef\@glo@num{\csname gls@#1@number\endcsname}\relax -\xdef\@pr@fix{\csname @gls@#1@type\endcsname}% - \setkeys{wrgloss}{#2}\relax -\ifthenelse{\equal{\@glo@num}{none}}{\def\@@glo@num{\thepage}}{% -\@ifundefined{c@\@glo@num}{\PackageError{glossary}{% -Not such counter '\@glo@num'}{The value of the 'number' key -must be the name of a counter or the word "none"}% -\def\@@glo@num{\thepage}}{% -\edef\@@glo@num{\csname the\@glo@num\endcsname}}}% -\ifthenelse{\equal{\@s@rt}{}}{\gdef\@s@rt{\@glo@n@me}}{}% -\ifthenelse{\equal{\@glo@l@bel}{}}{% -\gdef\@glo@l@bel{\@pr@fix:\@s@rt}}{}% -\ifthenelse{\equal{\@f@rm@t}{}} -{\expandafter\protected@write\csname @#1file\endcsname{}% -{\string\glossaryentry{\@s@rt @{% -\string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr -\string\relax|glsnumformat}{\@@glo@num}}} -{\ifthenelse{\equal{\@f@rm@t}{hyperrm} \or -\equal{\@f@rm@t}{hypersf} \or \equal{\@f@rm@t}{hypertt} -\or \equal{\@f@rm@t}{hypermd} \or \equal{\@f@rm@t}{hyperbf} -\or \equal{\@f@rm@t}{hyperit} \or \equal{\@f@rm@t}{hyperem} -\or \equal{\@f@rm@t}{hypersl} \or \equal{\@f@rm@t}{hyperup} -\or \equal{\@f@rm@t}{hypersc}} -{\expandafter\protected@write\csname @#1file\endcsname{}% - {\string\glossaryentry{\@s@rt @{% - \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|\@f@rm@t[\@glo@num]}{\@@glo@num}}} -{\expandafter\protected@write\csname @#1file\endcsname{}% - {\string\glossaryentry{\@s@rt @{% - \string\glosslabel{\@glo@l@bel}{\@glo@n@me}}\@descr - \string\relax|\@f@rm@t}{\@@glo@num}}}}\relax - \endgroup\@esphack -\@@wrglossary -} -\define@key{wrnsgloss}{name}{\def\@glo@n@me{#1}} -\define@key{wrnsgloss}{description}{\def\@descr{#1}} -\define@key{wrnsgloss}{sort}{\def\@s@rt{#1}} -\define@key{wrnsgloss}{format}{\def\@f@rm@t{#1}} -\define@key{wrnsgloss}{number}{\def\@glo@num{#1}} -\newcommand{\@gls@getn@me}[1]{% -\def\@glo@n@me{}\setkeys{wrnsgloss}{#1}% -} -\newcommand{\@gls@getdescr}[1]{% -\@bsphack\begingroup -\def\@descr{}% -\setkeys{wrgloss}{#1}% -\global\let\@glo@desc\@descr -\endgroup\@esphack -} -\newcommand{\xglossary}{\renewcommand{\@@wrglossary}[1]{% -\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% -\glossary} -\newcommand*{\@glo@label@list}{} -\toksdef\gls@ta=0 \toksdef\gls@tb=2 -\newcommand{\@glo@label@addtolist}[1]{% -\gls@ta={{#1}}\gls@tb=\expandafter{\@glo@label@list}% -\xdef\@glo@label@list{\the\gls@ta,\the\gls@tb}} -\newcommand*{\storeglosentry}[3][glossary]{% -\ifthenelse{\equal{#2}{*}}{% -\PackageError{glossary}{Glossary label '*' invalid}{You can't have -a glossary entry with a * as the label}}{% -\@ifundefined{glo@#2@entry}{% -\@glo@label@addtolist{#2}% -\expandafter\def\csname glo@#2@type\endcsname{#1}% -\expandafter\def\csname glo@#2@entry\endcsname{#3}% -\@gls@getn@me{#3}% -\expandafter\protected@edef\csname glo@#2@name\endcsname{\@glo@n@me}% -}{% -\PackageError{glossary}{Glossary entry '#2' already -defined}{There already exists a glossary entry with the label '#2'}}}% -} -\providecommand{\useglosentry}[2][\relax]{% -\ifthenelse{\equal{#2}{*}}{\@for\@glolab:=\@glo@label@list\do{% -\ifthenelse{\equal{\@glolab}{}}{}{\useglosentry[#1]{\@glolab}}}}{% -\@ifundefined{glo@#2@type}{% -\PackageError{glossary}{Glossary entry '#2' undefined}{You need -to define the entry using \string\storeglosentry\space before -using it.}}{{% -\edef\@glostype{\csname glo@#2@type\endcsname}% -\@glo@tb=\expandafter\expandafter\expandafter -{\csname glo@#2@entry\endcsname}% -\ifx#1\relax -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb}}% -\else -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb,#1}}% -\fi -\@glo@cmd -}}}} -\providecommand{\useGlosentry}[3][\relax]{% -\@ifundefined{glo@#2@type}{% -\PackageError{glossary}{Glossary entry '#2' undefined}{You need -to define the entry using \string\storeglosentry\space before -using it.}}{{% -\edef\@glostype{x\csname glo@#2@type\endcsname}% -\@glo@tb=\expandafter\expandafter\expandafter -{\csname glo@#2@entry\endcsname}% -\ifx#1\relax -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb}}% -\else -\edef\@glo@cmd{\expandafter\noexpand -\csname\@glostype\endcsname{\the\@glo@tb,#1}}% -\fi -\@glo@cmd{#3}% -}}} -\newcommand{\gls}[2][\relax]{% -\useGlosentry[#1]{#2}{% -\csname glo@#2@name\endcsname}} -\providecommand{\saveglosentry}[3][glossary]{% -\PackageWarning{glossary}{\string\saveglosentry\space is obsolete, -please use \string\storeglosentry\space instead}% -\expandafter\def\csname glo@#2@type\endcsname{#1}% -\expandafter\def\csname glo@#2@entry\endcsname{% -name={#2},description={#3}}} -\newcommand*{\@gls@setnumbering}[2][glossary]{% -\ifthenelse{\equal{#2}{none}}{% -\def\pagecompositor{-} -\expandafter\def\csname @#1@delimN\endcsname{} -\expandafter\def\csname @#1@delimR\endcsname{} -\expandafter\def\csname glsX#1Xnumformat\endcsname##1{}}{% -\ifthenelse{\equal{#2}{page}}{% -\def\pagecompositor{-}}{% -\def\pagecompositor{.}} -\expandafter\def\csname @#1@delimN\endcsname{, } -\expandafter\def\csname @#1@delimR\endcsname{--} -\ifglshyper -\expandafter\def\csname glsX#1Xnumformat\endcsname##1{% -\hyperrm[#2]{##1}}% -\else -\expandafter\def\csname glsX#1Xnumformat\endcsname##1{##1}\fi -} -} -\@gls@setnumbering{\gls@glossary@number} -\newcommand{\glsnumformat}[1]{% -\@ifundefined{\@glostype}{\def\@glostype{glossary}}{}% -\@ifundefined{glsX\@glostype Xnumformat}{% -\PackageError{glossary}{Glossary type '\@glostype' undefined}{}}{% -\csname glsX\@glostype Xnumformat\endcsname{#1}}} -\def\@glostype{glossary} -\newcommand{\delimN}{\csname @\@glostype @delimN\endcsname} -\newcommand{\delimR}{\csname @\@glostype @delimR\endcsname} -\newcommand{\gloitem}{\csname @\@glostype @gloitem\endcsname} -\newcommand{\gloskip}{\csname @\@glostype @gloskip\endcsname} -\newcommand{\delimT}{\glsafternum -\csname @\@glostype @delimT\endcsname} -\newcommand{\glodelim}{\csname @\@glostype @glodelim\endcsname -\glsbeforenum} -\newcommand{\glogroupSymbols}{} -\newcommand{\glogroupNumbers}{} -\newcommand{\glogroupA}{} -\newcommand{\glogroupB}{} -\newcommand{\glogroupC}{} -\newcommand{\glogroupD}{} -\newcommand{\glogroupE}{} -\newcommand{\glogroupF}{} -\newcommand{\glogroupG}{} -\newcommand{\glogroupH}{} -\newcommand{\glogroupI}{} -\newcommand{\glogroupJ}{} -\newcommand{\glogroupK}{} -\newcommand{\glogroupL}{} -\newcommand{\glogroupM}{} -\newcommand{\glogroupN}{} -\newcommand{\glogroupO}{} -\newcommand{\glogroupP}{} -\newcommand{\glogroupQ}{} -\newcommand{\glogroupR}{} -\newcommand{\glogroupS}{} -\newcommand{\glogroupT}{} -\newcommand{\glogroupU}{} -\newcommand{\glogroupV}{} -\newcommand{\glogroupW}{} -\newcommand{\glogroupX}{} -\newcommand{\glogroupY}{} -\newcommand{\glogroupZ}{} -\define@key{glossnum}{glsnumformat}{\def\@glsnumformat{#1}} -\define@key{glossnum}{type}{\def\@glsnumtype{#1}} -\define@key{glossnum}{delimN}{\def\@delimN{#1}} -\define@key{glossnum}{delimR}{\def\@delimR{#1}} -\define@key{glossnum}{delimT}{\def\@delimT{#1}} -\define@key{glossnum}{gloskip}{\def\@gloskip{#1}} -\define@key{glossnum}{glodelim}{\def\@glodelim{#1}} -\providecommand{\ignore}[1]{} -\newcommand{\setglossary}[1]{% -\def\@glsnumformat{}% -\def\@glsnumtype{glossary}% -\def\@delimN{@dontchange@}% -\def\@delimR{@dontchange@}% -\def\@delimT{@dontchange@}% -\def\@gloskip{@dontchange@}% -\def\@glodelim{@dontchange@}% -\setkeys{glossnum}{#1}\relax -\@ifundefined{print\@glsnumtype}{% -\PackageError{glossary}{Invalid glossary type '\@glsnumtype'}{% -Glossary type '\@glsnumtype' has not been defined} -}{% -\ifthenelse{\equal{\@glsnumformat}{}}{}{% -\expandafter\xdef\csname glsX\@glsnumtype Xnumformat\endcsname{% -\noexpand\csname\@glsnumformat\noexpand\endcsname}% -\ifthenelse{\equal{\@glsnumformat}{ignore}}{% -\expandafter\xdef\csname @\@glsnumtype @delimN\endcsname{}% -\expandafter\xdef\csname @\@glsnumtype @delimR\endcsname{}% -}{}% -}% -\ifthenelse{\equal{\@delimN}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @delimN\endcsname{% -\@delimN}}% -\ifthenelse{\equal{\@delimR}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @delimR\endcsname{% -\@delimR}}% -\ifthenelse{\equal{\@delimT}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @delimT\endcsname{% -\@delimT}}% -\ifthenelse{\equal{\@gloskip}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @gloskip\endcsname{% -\@gloskip}}% -\ifthenelse{\equal{\@glodelim}{@dontchange@}}{}{% -\expandafter\xdef\csname @\@glsnumtype @glodelim\endcsname{% -\@glodelim}% -}% -}} -\newcommand{\@gls@glossary@inext}{gls} -\newcommand\printglossary[1][glossary]{% -\def\@glostype{#1}% -\@ifundefined{#1name}{% -\renewcommand{\@glossaryname}{\glossaryname}}{% -\renewcommand{\@glossaryname}{\csname #1name\endcsname}}% -\@ifundefined{short#1name}{% -\renewcommand{\@shortglossaryname}{\@glossaryname}}{% -\renewcommand{\@shortglossaryname}{\csname short#1name\endcsname}}% -\expandafter\let\expandafter\gls@number\csname gls@#1@number\endcsname -\@input@{\jobname.\csname @gls@#1@inext\endcsname}} -\providecommand{\glossaryname}{Glossary} -\newcommand{\shortglossaryname}{\glossaryname} -\newcommand{\entryname}{Notation} -\newcommand{\descriptionname}{Description} -\newcommand{\istfilename}{\jobname.ist} -\def\@glossaryname{\glossaryname} -\def\@shortglossaryname{\shortglossaryname} -\newcommand{\@istfilename}[1]{} -\providecommand{\glossarytitle}{% -\@ifundefined{chapter}% -{% -\ifgls@hypertoc -\phantomsection -\@glosaddtoc{section}% -\section*{\@glossaryname}\relax -\else -\section*{\@glossaryname}\relax -\ifgls@toc\@glosaddtoc{section}\fi -\fi}% -{% -\ifthenelse{\boolean{gls@section}}% -{% -\ifgls@hypertoc -\phantomsection -\@glosaddtoc{section}% -\section*{\@glossaryname}\relax -\else -\section*{\@glossaryname}\relax -\ifgls@toc\@glosaddtoc{section}\fi -\fi}% -{% -\ifgls@hypertoc -\@ifundefined{if@twoside}{% -\clearpage}{% -\if@twoside -\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}% -\else -\clearpage -\fi}% -\phantomsection -\@glosaddtoc{chapter}% -\fi -\chapter*{\@glossaryname}\relax -\ifgls@toc\@glosaddtoc{chapter}\fi}} -\markboth{\@shortglossaryname}{\@shortglossaryname}% -} -\@ifundefined{theglossary}{% -\newenvironment{theglossary}{}{}}{% -\PackageWarning{glossary}{Redefining 'theglossary' environment}} -\renewenvironment{theglossary}{% -\glossarytitle -\glossarypreamble\@bef@reglos}{\@ftergl@s\glossarypostamble} -\newcommand{\glossarypreamble}{} -\newcommand{\glossarypostamble}{} -\newcommand{\@glosaddtoc}[1]{% -\addcontentsline{toc}{#1}{\@shortglossaryname} -} -\newif\ifgloitemfirst -\newcommand{\@bef@reglos}{\global\gloitemfirsttrue\beforeglossary} -\newcommand{\@ftergl@s}{\afterglossary\global\gloitemfirstfalse} -\newcommand{\glossaryalignment}{\relax} -\newcommand{\@gls@align@glossary}{} -\newcommand{\glosstail}{% -\@ifundefined{@gls@tail@\@glostype}{% -\PackageError{glossary}{No glossary tail defined for glossary -type '\@glostype'}{}}{% -\csname @gls@tail@\@glostype\endcsname}} -\newcommand{\@gls@tail@glossary}{} -\newcommand{\afterglossary}{% -\@ifundefined{@gls@afterglos@\@glostype}{% -\PackageError{glossary}{No after glossary defined for glossary -type '\@glostype'}{}}{% -\csname @gls@afterglos@\@glostype\endcsname}} -\newcommand{\beforeglossary}{% -\@ifundefined{@gls@beforeglos@\@glostype}{% -\PackageError{glossary}{No before glossary defined for glossary -type '\@glostype'}{}}{% -\csname @gls@beforeglos@\@glostype\endcsname}} -\newcommand{\@gls@beforeglos@glossary}{} -\newcommand{\@gls@afterglos@glossary}{} -\newcommand{\@glossary@glodelim}{} -\newcommand{\@glossary@delimT}{} -\newcommand{\glsafternum}{} -\newcommand{\glsbeforenum}{} -\newcommand{\@glossary@gloskip}{} -\newcommand{\@glossary@gloitem}[1]{#1} -\newcommand{\gls@setlist}[1][glossary]{% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\begin{description}}% -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{description}}% -\expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% -\expandafter\def\csname @#1@glodelim\endcsname{}}{% -\expandafter\def\csname @#1@glodelim\endcsname{, }}% -\expandafter\def\csname @#1@gloitem\endcsname##1{\item[##1]}% -\expandafter\def\csname @#1@delimT\endcsname{} -} -\newcommand{\gls@setaltlist}[1][glossary]{% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\begin{description}}% -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{description}}% -\expandafter\def\csname @#1@gloskip\endcsname{\indexspace}% -\expandafter\def\csname @#1@gloitem\endcsname##1{% -\item[##1]\mbox{}\nopagebreak\par\nopagebreak}% -\expandafter\def\csname @#1@glodelim\endcsname{ }% -\expandafter\def\csname @#1@delimT\endcsname{} -} -\ifthenelse{\equal{\gls@style}{super}}{ -\IfFileExists{supertab.sty}{\RequirePackage{supertab}} -{\IfFileExists{supertabular.sty}{\RequirePackage{supertabular}} -{\PackageError{glossary}{Option "super" chosen, but can't find -"supertab" package}{If you want the "super" option, you have to have -the "supertab" package installed.}}}} -{\RequirePackage{longtable}} -\newlength{\descriptionwidth} -\setlength{\descriptionwidth}{0.6\linewidth} -\newcommand{\@glossaryheader}{% -\@ifundefined{glossaryheader}{\csname @\@glostype @header\endcsname} -{\glossaryheader}% -\@ifundefined{glossarysubheader}{}{\glossarysubheader}% -} -\newcommand{\gls@setheader}[1][glossary]{% -\ifthenelse{\equal{\gls@header}{none}}% -{% -\ifthenelse{\equal{\gls@border}{none}} -{\expandafter\def\csname @#1@header\endcsname{}% -}{\expandafter\def\csname @#1@header\endcsname{\hline}}% -}{% -\ifnum\gls@cols=2\relax -\ifthenelse{\equal{\gls@border}{none}} -{% -\expandafter\def\csname @#1@header\endcsname{% -\bfseries\entryname & \bfseries \descriptionname\\}}% -{% -\expandafter\def\csname @#1@header\endcsname{% -\hline\bfseries\entryname & \bfseries\descriptionname -\\\hline\hline}}% -\else -\ifthenelse{\equal{\gls@border}{none}} -{% -\expandafter\def\csname @#1@header\endcsname{% -\bfseries\entryname & \bfseries \descriptionname & -\bfseries \glspageheader \\}}% -{% -\expandafter\def\csname @#1@header\endcsname{% -\hline\bfseries\entryname &\bfseries\descriptionname & -\bfseries \glspageheader \\\hline\hline}}% -\fi -}} -\newcommand*{\glspageheader}{} -\newcommand{\gls@setalignment}[1][glossary]{% -\ifthenelse{\equal{\gls@border}{none}} -{ -\ifnum\gls@cols=2\relax -\expandafter\def\csname @gls@align@#1\endcsname{% -@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}} -\else -\expandafter\def\csname @gls@align@#1\endcsname{% -@{\hspace{\tabcolsep}\bfseries}lp{\descriptionwidth}l} -\fi -\expandafter\def\csname @gls@tail@#1\endcsname{}% -}{% -\ifnum\gls@cols=2\relax -\expandafter\def\csname @gls@align@#1\endcsname{% -|@{\hspace{\tabcolsep}\bfseries -}lp{\descriptionwidth}|} -\else -\expandafter\def\csname @gls@align@#1\endcsname{% -|@{\hspace{\tabcolsep}\bfseries -}lp{\descriptionwidth}l|} -\fi -\expandafter\def\csname @gls@tail@#1\endcsname{\hline}% -}% -\expandafter\def\csname @#1@delimT\endcsname{\\} -\ifnum\gls@cols=2\relax -\expandafter\def\csname @#1@gloskip\endcsname{& \\}% -\ifthenelse{\equal{\csname gls@#1@number\endcsname}{none}}{% -\expandafter\def\csname @#1@glodelim\endcsname{}}{% -\expandafter\def\csname @#1@glodelim\endcsname{, }}% -\else -\expandafter\def\csname @#1@gloskip\endcsname{& & \\}% -\expandafter\def\csname @#1@glodelim\endcsname{& }% -\fi -\expandafter\def\csname @#1@gloitem\endcsname##1{##1 &}% -} -\newcommand{\@st@rtglostable}[2]{% -\gls@ta={\begin{#1}}\gls@tb=\expandafter{#2}% -\edef\@st@rtglost@ble{\the\gls@ta{\the\gls@tb}} -\@st@rtglost@ble} -\newcommand{\gls@setsuper}[1][glossary]{% -\gls@setalignment[#1]% -\gls@setheader[#1]% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\tablehead{\@glossaryheader}\tabletail{\glosstail}% -\if\glossaryalignment\relax -\expandafter\let\expandafter\@glossaryalignment -\csname @gls@align@#1\endcsname -\else -\let\@glossaryalignment\glossaryalignment -\fi -\@st@rtglostable{supertabular}\@glossaryalignment} -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{supertabular}}% -} -\newcommand{\gls@setlong}[1][glossary]{% -\gls@setalignment[#1]% -\gls@setheader[#1]% -\expandafter\def\csname @gls@beforeglos@#1\endcsname{% -\if\relax\glossaryalignment -\expandafter\let\expandafter\@glossaryalignment -\csname @gls@align@#1\endcsname -\else -\let\@glossaryalignment\glossaryalignment -\fi -\@st@rtglostable{longtable}{\@glossaryalignment} -\@glossaryheader\endhead\glosstail\endfoot} -\expandafter\def\csname @gls@afterglos@#1\endcsname{% -\end{longtable}}% -} -\newcommand{\@setglossarystyle}[1][glossary]{% -\@ifundefined{gls@set\gls@style}{% -\PackageError{glossary}{Glossary style '\gls@style' undefined}{}}{% -\ifthenelse{\equal{\gls@number}{}}{}{% -\expandafter\edef\csname gls@#1@number\endcsname{\gls@number}% -\@gls@setnumbering[#1]{\gls@number}% -}% -\csname gls@set\gls@style\endcsname[#1]}} -\let\gls@number\gls@glossary@number -\@setglossarystyle -\define@key{glosstyle} -{style} -{\ifthenelse{\equal{#1}{list} \or \equal{#1}{altlist} -\or \equal{#1}{super} \or \equal{#1}{long}} -{\def\gls@style{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: list, altlist, super and long}}} -\define@key{glosstyle} -{header}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@header{#1}} -{\PackageError{glossary} -{Unknown glossary style '#1'} -{Available styles are: none and plain}}} -\define@key{glosstyle} -{border}[plain]{\ifthenelse{\equal{#1}{none} \or \equal{#1}{plain}} -{\def\gls@border{#1}} -{\PackageError{glossary} -{Unknown glossary border '#1'} -{Available styles are: none and plain}}} -\define@key{glosstyle}{cols}{\gls@cols=#1\relax -\ifthenelse{\gls@cols<2 \or \gls@cols>3} -{\PackageError{glossary} -{invalid number of columns} -{The cols option can only be 2 or 3}} -{}} -\define@key{glosstyle} -{number} -{\ifthenelse{\equal{#1}{none}} -{\def\gls@number{#1}} -{\@ifundefined{c@#1}{ -\PackageError{glossary} -{Unknown glossary number style '#1'} -{You may either specify "none" or the name of a counter, -e.g. "section"}\def\gls@number{page}}{\def\gls@number{#1}}}} -\newcommand{\setglossarystyle}[2][glossary]{% -\def\gls@number{}% -\setkeys{glosstyle}{#2}% -\@setglossarystyle[#1]% -} -\ifthenelse{\equal{\gls@glossary@number}{none} \and \gls@cols<3}{% -\renewcommand{\@glossary@glodelim}{}}{} -\newif\ifist -\let\noist=\istfalse -\if@filesw\isttrue\else\istfalse\fi -\newwrite\istfile -\catcode`\%11\relax -\newcommand{\writeist}{ -\protected@write\@auxout{}{\protect\@istfilename{\istfilename}} -\openout\istfile=\istfilename -\write\istfile{% makeindex style file created by LaTeX for document "\jobname" on \the\year-\the\month-\the\day} -\write\istfile{keyword "\string\\glossaryentry"} -\write\istfile{preamble "\string\\begin{theglossary}"} -\write\istfile{postamble "\string\n\string\\end{theglossary}\string\n"} -\write\istfile{group_skip "\string\\gloskip "} -\write\istfile{item_0 "\string\n\string\n\string\\gloitem "} -\write\istfile{delim_0 "\string\n\string\\glodelim "} -\write\istfile{page_compositor "\pagecompositor"} -\write\istfile{delim_n "\string\\delimN "} -\write\istfile{delim_r "\string\\delimR "} -\write\istfile{delim_t "\string\\delimT "} -\write\istfile{headings_flag 1} -\write\istfile{heading_prefix "\string\\glogroup"} -\write\istfile{symhead_positive "Symbols"} -\write\istfile{numhead_positive "Numbers"} -\closeout\istfile -} -\catcode`\%14\relax -\renewcommand{\makeglossary}{ -\newwrite\@glossaryfile -\immediate\openout\@glossaryfile=\jobname.glo -\renewcommand{\glossary}[1][]{\gdef\@glo@l@bel{##1}% -\@bsphack \begingroup \@wrglossary } -\typeout {Writing glossary file \jobname .glo } -\let \makeglossary \@empty -\ifist\writeist\fi -\noist} -\renewcommand{\glossary}[1][]{% -\@bsphack\begingroup\@sanitize\@index} -\newcommand{\newglossarytype}[4][glg]{ -\@ifundefined{#2}{% -\protected@write\@auxout{}{\@newglossarytype[#1]{#2}{#3}{#4}}% -\def\@glstype{#2}\def\@glsout{#3}\def\@glsin{#4}% -\expandafter\edef\csname gls@\@glstype @number\endcsname{% -\gls@glossary@number}% -\expandafter\gdef\csname glsX\@glstype Xnumformat\endcsname{% -\glsXglossaryXnumformat}% -\expandafter\gdef\csname @\@glstype @delimN\endcsname{% -\@glossary@delimN}% -\expandafter\gdef\csname @\@glstype @delimR\endcsname{% -\@glossary@delimR}% -\expandafter\gdef\csname @gls@\@glstype @inext\endcsname{#4}% -\expandafter\def\csname @gls@#2@type\endcsname{#4}% -\expandafter\edef\csname make\@glstype\endcsname{% -\noexpand\@m@kegl@ss{\@glstype}{\@glsout}} -\expandafter\edef\csname \@glstype\endcsname{% -\noexpand\@gl@ss@ary{\@glstype}} -\expandafter\edef\csname x\@glstype\endcsname{% -\noexpand\@Gl@ss@ary{\@glstype}} -\@namedef{print\@glstype}{% -\printglossary[#2]}% -}{\PackageError{glossary}{Command -\expandafter\string\csname #2\endcsname \space already defined}{% -You can't call your new glossary type '#2' because there already -exists a command with this name}}% -\@@n@wglostype} -\newcommand{\@@n@wglostype}[1][]{% -\setglossarystyle[\@glstype]{#1}} -\newcommand{\@newglossarytype}[4][glg]{} -\newcommand\@m@kegl@ss[2]{% -\expandafter\newwrite\csname @#1file\endcsname -\expandafter\immediate\expandafter -\openout\csname @#1file\endcsname=\jobname.#2 -\typeout {Writing #1 file \jobname .#2 } -\expandafter\let \csname make#1\endcsname \@empty -\ifist\writeist\fi -\expandafter\def\csname the#1num\endcsname{\thepage} -\noist -} -\newcommand\@gl@ss@ary[2][]{\@ifundefined{@#2file}{% -\@bsphack\begingroup\@sanitize \@index}{% -\gdef\@glo@l@bel{#1}% -\@bsphack \begingroup \@wrglossary[#2]}} -\newcommand{\@Gl@ss@ary}{% -\renewcommand{\@@wrglossary}[1]{% -\glossref{\@glo@l@bel}{##1}\renewcommand{\@@wrglossary}{}}% -\@gl@ss@ary} -\@onlypreamble{\newglossarytype} -\newcommand\@acrnmsh{} -\newcommand\@sacrnmsh{} -\newcommand\@acrnmln{} -\newcommand\@acrnmcmd{} -\newcommand\@acrnmgls{} -\newcommand\@acrnmins{} -\toksdef\@glo@tb=2 -\newcommand{\@acr@list}{} -\newcommand{\@acr@addtolist}[1]{\edef\@glo@ta{#1}% -\ifthenelse{\equal{\@acr@list}{}}{% -\edef\@acr@list{\@glo@ta}}{% -\@glo@tb=\expandafter{\@acr@list}% -\edef\@acr@list{\the\@glo@tb,\@glo@ta}}} -\newcommand{\@acronymnamefmt}{\glolong\ (\gloshort)} -\newcommand{\setacronymnamefmt}[1]{\def\@acronymnamefmt{#1}} -\newcommand{\@acronymdescfmt}{\glodesc} -\newcommand{\setacronymdescfmt}[1]{\def\@acronymdescfmt{#1}} -\newcommand{\acronymfont}[1]{#1} -\newcommand{\newacronym}[4][]{% -\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{% -\renewcommand\@acrnmcmd{#1}} -\@ifundefined{\@acrnmcmd}{% -\expandafter\newcommand\csname\@acrnmcmd short\endcsname{% -#2\protect\glsxspace} -\expandafter\newcommand\csname\@acrnmcmd @nx@short\endcsname{#2} -\expandafter\newcommand\csname\@acrnmcmd long\endcsname{% -#3\protect\glsxspace} -\expandafter\newcommand\csname\@acrnmcmd @nx@long\endcsname{#3} -\def\@acrn@entry{#4}% -{% -\expandafter\@gls@getdescr\expandafter{\@acrn@entry}% -\let\glodesc\@glo@desc% -\def\glolong{#3}% -\@onelevel@sanitize\glolong -\def\gloshort{\noexpand\acronymfont{#2}}% -\@onelevel@sanitize\gloshort -\expandafter\protected@xdef\expandafter\@acrnamefmt{\@acronymnamefmt} -\expandafter\protected@xdef\expandafter\@acrdesc{\@acronymdescfmt} -}% -\@acr@addtolist{\@acrnmcmd} -\@glo@tb=\expandafter{\@acrn@entry}% -\protected@edef\@acr@glsentry{name={\@acrnamefmt},% -format=glsnumformat,sort={\@acrnmcmd},\the\@glo@tb,% -description={\@acrdesc}}% -\@glo@tb=\expandafter{\@acr@glsentry}% -\newboolean{\@acrnmcmd first}\setboolean{\@acrnmcmd first}{true} -\expandafter\protected@edef\csname \@acrnmcmd\endcsname{% -\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{% -\csname @\@acrnmcmd\endcsname}} -\ifglshyperacronym % hyperlinks -\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}\noexpand\glsxspace} -\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\noexpand\expandafter\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})% -\noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\xacronym{\the\@glo@tb}{% -\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}\noexpand\glsxspace} -\else % no hyperlinks -\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})\noexpand\unsetacronym{\@acrnmcmd}% -}{\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}% -\noexpand\glsxspace} -\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{% -\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{% -\noexpand\expandafter -\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\ -(\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}% -})% -\noexpand\unsetacronym{\@acrnmcmd}}{% -\noexpand\acronym{\the\@glo@tb}{% -\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase -\csname\@acrnmcmd @nx@short\endcsname}% -\noexpand\@acrnmins}}\noexpand\glsxspace} -\fi -}{% -\PackageError{glossary}{Command '\expandafter\string -\csname\@acrnmcmd\endcsname' already defined}{% -The command name specified by \string\newacronym already exists.}}} -\newcommand{\useacronym}{\@ifstar\@suseacronym\@useacronym} -\newcommand{\@suseacronym}[2][]{{\let\glsxspace\relax -\def\@acrnmins{#1}\csname @s@#2\endcsname}% -\setboolean{#2first}{false}} -\newcommand{\@useacronym}[2][]{{\let\glsxspace\relax -\def\@acrnmins{#1}\csname @#2\endcsname}% -\setboolean{#2first}{false}} -\newcommand{\acrln}{\@ifstar\@sacrln\@acrln} -\newcommand{\@acrln}[1]{\@ifundefined{#1long}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\csname#1@nx@long\endcsname}} -\newcommand{\@sacrln}[1]{\@ifundefined{#1long}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\expandafter\expandafter\expandafter -\MakeUppercase\csname#1@nx@long\endcsname}} -\newcommand{\acrsh}{\@ifstar\@sacrsh\@acrsh} -\newcommand{\@acrsh}[1]{\@ifundefined{#1short}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\acronymfont{\csname#1@nx@short\endcsname}}} -\newcommand{\@sacrsh}[1]{\@ifundefined{#1short}{% -\PackageError{glossary}{Acronym '#1' has not been defined}{}}{% -\acronymfont{\expandafter\expandafter\expandafter -\MakeUppercase\csname#1@nx@short\endcsname}}} -\newcommand{\ifacronymfirstuse}[3]{% -\@ifundefined{if#1first}{% -\PackageError{glossary}{Acronym '#1' not defined}{}}{% -\ifthenelse{\boolean{#1first}}{#2}{#3}}} -\newcommand{\resetacronym}[1]{% -\@ifundefined{if#1first}{% -\PackageError{glossary}{Acronym '#1' not defined}{}}{% -\ifglsglobal -\expandafter\global\csname #1firsttrue\endcsname -\else -\setboolean{#1first}{true}% -\fi}} -\newcommand{\unsetacronym}[1]{% -\@ifundefined{if#1first}{% -\PackageError{glossary}{Acronym '#1' not defined}{}}{% -\ifglsglobal -\expandafter\global\csname #1firstfalse\endcsname -\else -\setboolean{#1first}{false}% -\fi}} -\newcommand{\resetallacronyms}{% -\@for\@acr:=\@acr@list\do{\resetacronym{\@acr}}} -\newcommand{\unsetallacronyms}{% -\@for\@acr:=\@acr@list\do{\unsetacronym{\@acr}}} -\ifglsacronym -\newglossarytype[alg]{acronym}{acr}{acn} -\providecommand{\acronymname}{List of Acronyms} -\else -\let\acronym=\glossary -\let\xacronym=\xglossary -\fi -\ifglshyper -\def\glshyper#1#2{\@glshyper{#1}#2\delimR \delimR \\} -\def\@glshyper#1#2\delimR #3\delimR #4\\{% -\ifx\\#3\\% -\@delimNhyper{#1}{#2}% -\else -\@ifundefined{hyperlink}{#2\delimR #3}{% -\hyperlink{#1.#2}{#2}\delimR \hyperlink{#1.#3}{#3}}% -\fi -} -\def\@delimNhyper#1#2{\@@delimNhyper{#1}#2\delimN \delimN\\} -\def\@@delimNhyper#1#2\delimN #3\delimN #4\\{% - \ifx\\#3\\% - \@ifundefined{hyperlink}{#2}{\hyperlink{#1.#2}{#2}}% - \else - \@ifundefined{hyperlink}{#2\delimN #3}{% -\hyperlink{#1.#2}{#2}\delimN \hyperlink{#1.#3}{#3}}% - \fi -} -\newcommand\glshyperpage[1]{\glshyper{page}{#1}} -\newcommand\glshypersection[1]{\glshyper{section}{#1}} -\@ifundefined{chapter} -{} -{\let\@gls@old@chapter\@chapter -\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}% -\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}} -\providecommand\hyperrm[2][\gls@number]{% -\textrm{\glshyper{#1}{#2}}} -\providecommand\hypersf[2][\gls@number]{% -\textsf{\glshyper{#1}{#2}}} -\providecommand\hypertt[2][\gls@number]{% -\texttt{\glshyper{#1}{#2}}} -\providecommand\hyperbf[2][\gls@number]{% -\textbf{\glshyper{#1}{#2}}} -\providecommand\hyperit[2][\gls@number]{% -\textit{\glshyper{#1}{#2}}} -\providecommand\hyperem[2][\gls@number]{% -\emph{\glshyper{#1}{#2}}} -\providecommand\hyperup[2][\gls@number]{% -\textup{\glshyper{#1}{#2}}} -\providecommand\hypersl[2][\gls@number]{% -\textsl{\glshyper{#1}{#2}}} -\providecommand\hypersc[2][\gls@number]{% -\textsc{\glshyper{#1}{#2}}} -\providecommand\hypermd[2][\gls@number]{% -\textmd{\glshyper{#1}{#2}}} -\else -\providecommand\hyperrm[2][]{\textrm{#2}} -\providecommand\hypersf[2][]{\textsf{#2}} -\providecommand\hypertt[2][]{\texttt{#2}} -\providecommand\hypermd[2][]{\textmd{#2}} -\providecommand\hyperbf[2][]{\textbf{#2}} -\providecommand\hyperit[2][]{\textit{#2}} -\providecommand\hypersl[2][]{\textsl{#2}} -\providecommand\hyperup[2][]{\textup{#2}} -\providecommand\hypersc[2][]{\textsc{#2}} -\providecommand\hyperem[2][]{\emph{#2}} -\fi -\endinput -%% -%% End of file `glossary.sty'. diff --git a/Master/texmf-dist/tpm/glossary.tpm b/Master/texmf-dist/tpm/glossary.tpm deleted file mode 100644 index 86e01f90865..00000000000 --- a/Master/texmf-dist/tpm/glossary.tpm +++ /dev/null @@ -1,50 +0,0 @@ -<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd"> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/"> - <rdf:Description about="http://texlive.dante.de/texlive/Package/glossary.zip"> - <TPM:Name>glossary</TPM:Name> - <TPM:Type>Package</TPM:Type> - <TPM:Date>2006/07/26 22:34:14</TPM:Date> - <TPM:Version>2.19</TPM:Version> - <TPM:Creator>rahtz</TPM:Creator> - <TPM:Title>Create a glossary</TPM:Title> - <TPM:Description> -The package glossary.sty is provided to assist generating a -glossary with makeindex. It has a certain amount of flexibility -allowing the user to customize the format of the glossary and -define new glossary-style objects so that you can have more than -one type of glossary in your document. -[description copied from TeX Catalogue] - </TPM:Description> - <TPM:Author>Nicola Talbot</TPM:Author> - <TPM:Size>837775</TPM:Size> - <TPM:License></TPM:License> - <TPM:Build/> - <TPM:RunFiles size="38113"> -texmf-dist/tex/latex/glossary/glossary.sty -texmf-dist/tpm/glossary.tpm - </TPM:RunFiles> - <TPM:DocFiles size="601268"> -texmf-dist/doc/latex/glossary/CHANGES -texmf-dist/doc/latex/glossary/README -texmf-dist/doc/latex/glossary/glossary.pdf -texmf-dist/doc/latex/glossary/glossary.perl -texmf-dist/doc/latex/glossary/makeglos.bat -texmf-dist/doc/latex/glossary/makeglos.pl -texmf-dist/doc/latex/glossary/manual.html -texmf-dist/doc/latex/glossary/sample.tex -texmf-dist/doc/latex/glossary/sample4col.tex -texmf-dist/doc/latex/glossary/sampleAcr.tex -texmf-dist/doc/latex/glossary/sampleEq.tex -texmf-dist/doc/latex/glossary/sampleEqPg.tex -texmf-dist/doc/latex/glossary/sampleNtn.tex -texmf-dist/doc/latex/glossary/sampleNtn2.tex -texmf-dist/doc/latex/glossary/sampleSec.tex - </TPM:DocFiles> - <TPM:SourceFiles size="198394"> -texmf-dist/source/latex/glossary/glossary.dtx -texmf-dist/source/latex/glossary/glossary.ins - </TPM:SourceFiles> - <TPM:Provides>Package/glossary</TPM:Provides> - </rdf:Description> -</rdf:RDF> - |