From 746c3964c5c60a06f25b93438ad3271ff2113458 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 18 May 2007 16:16:38 +0000 Subject: glossary replaced by glossaries git-svn-id: svn://tug.org/texlive/trunk@4306 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/glossary/CHANGES | 115 - Master/texmf-dist/doc/latex/glossary/README | 45 - Master/texmf-dist/doc/latex/glossary/glossary.pdf | Bin 418573 -> 0 bytes Master/texmf-dist/doc/latex/glossary/glossary.perl | 1055 ---- Master/texmf-dist/doc/latex/glossary/makeglos.bat | 3 - Master/texmf-dist/doc/latex/glossary/makeglos.pl | 304 - Master/texmf-dist/doc/latex/glossary/manual.html | 3069 ---------- Master/texmf-dist/doc/latex/glossary/sample.tex | 95 - .../texmf-dist/doc/latex/glossary/sample4col.tex | 54 - Master/texmf-dist/doc/latex/glossary/sampleAcr.tex | 74 - Master/texmf-dist/doc/latex/glossary/sampleEq.tex | 266 - .../texmf-dist/doc/latex/glossary/sampleEqPg.tex | 290 - Master/texmf-dist/doc/latex/glossary/sampleNtn.tex | 94 - .../texmf-dist/doc/latex/glossary/sampleNtn2.tex | 102 - Master/texmf-dist/doc/latex/glossary/sampleSec.tex | 81 - .../texmf-dist/source/latex/glossary/glossary.dtx | 5915 -------------------- .../texmf-dist/source/latex/glossary/glossary.ins | 38 - Master/texmf-dist/tex/latex/glossary/glossary.sty | 979 ---- Master/texmf-dist/tpm/glossary.tpm | 50 - 19 files changed, 12629 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/glossary/CHANGES delete mode 100644 Master/texmf-dist/doc/latex/glossary/README delete mode 100644 Master/texmf-dist/doc/latex/glossary/glossary.pdf delete mode 100644 Master/texmf-dist/doc/latex/glossary/glossary.perl delete mode 100644 Master/texmf-dist/doc/latex/glossary/makeglos.bat delete mode 100644 Master/texmf-dist/doc/latex/glossary/makeglos.pl delete mode 100644 Master/texmf-dist/doc/latex/glossary/manual.html delete mode 100644 Master/texmf-dist/doc/latex/glossary/sample.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sample4col.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sampleAcr.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sampleEq.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sampleEqPg.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sampleNtn.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sampleNtn2.tex delete mode 100644 Master/texmf-dist/doc/latex/glossary/sampleSec.tex delete mode 100644 Master/texmf-dist/source/latex/glossary/glossary.dtx delete mode 100644 Master/texmf-dist/source/latex/glossary/glossary.ins delete mode 100644 Master/texmf-dist/tex/latex/glossary/glossary.sty delete mode 100644 Master/texmf-dist/tpm/glossary.tpm 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 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 deleted file mode 100644 index e74d20b2161..00000000000 Binary files a/Master/texmf-dist/doc/latex/glossary/glossary.pdf and /dev/null differ 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'} = ""; - $gls_file_mark{'acronym'} = ""; - $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'} = ""; -$gls_file_mark{'glossary'} = ""; -$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) =('',''); - if ($INDEX_STYLES) { -if ($INDEX_STYLES =~/,/) { -local(@styles) = split(/\s*,\s*/,$INDEX_STYLES); - $sidx_style = join('','<', join('><',@styles) ,'>'); - $eidx_style = join('',''); -} else { - $sidx_style = join('','<', $INDEX_STYLES,'>'); - $eidx_style = join('',''); -} - } - &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 - . "\n" - : "
" - . $glossary_name{$type}{$key} - . "
". $glossary_desc{$type}{$key} - . $glodelim{$type} . $glossary{$type}{$key} - . $linktext. "\n"); -$previous = $current; - } - $glossary = '
'.$glossary unless ($glossary =~ /^\s*/); - - $glossary =~ s/(]*>)()/$2$1/g; - - $str = &translate_commands("\\glossarypostamble"); - s/$gls_mark{$type}/$preglossary\n
\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('',"
\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 = "
\n

Legend:

\n
"; - @keys = keys %glossary_segment; - foreach $key (@keys) { - local($tmp) = "segment$key"; - $tmp = $ref_files{$tmp}; - $body .= "\n
$key
".&make_named_href('',$tmp,$glossary_segment{$key}); - } - $preglossary = join('', $head, $body, "\n
") 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; - "
$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} = ""; - $gls_file_mark{$type} = ""; - $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('', "", $_); -} - -sub do_cmd_glolong{ - local($_) = @_; - join('', "", $_); -} - -$acronymnamefmt = " ()"; - -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//$fmtedabbrv/egs; - $name=~s//$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] \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 () - { - 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, ") - { - $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 @@ - - - - - -glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries - - - - - - - - - - - - - -

- -

glossary.sty v 2.4: LaTeX2e Package to Assist Generating Glossaries

-
- -

Nicola L.C. Talbot

-

20th July 2006

-
-
- -

-Contents -

- - - - -

- -

-Introduction -

- - The 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. - -

- -

-Installation -

- -

-You need to make sure you have downloaded the following three -files: -

-glossary.ins
-glossary.dtx
-README
-
-To extract the code from the glossary.dtx file, you -will need to run the installation file through LaTeX: -
-latex glossary.ins
-
-This will create the following files: -
-glossary.sty
-glossary.perl
-makeglos.pl
-makeglos.bat
-
-along with several sample files. The file glossary.sty -should be placed somewhere in the LaTeX path, e.g. -texmf/tex/latex/glossary/ or -localtexmf/tex/latex/glossary/. Remember to update the -TEX database if you are installing this package for the first time. -The file glossary.perl is a LaTeX2HTML style file, and -should be placed in the LaTeX2HTML style file directory (usually -latex2html/styles/). The file makeglos.pl -is a Perl script which calls makeindex. If you are -using UNIX or Linux, you will need to set the permissions so -that you can execute the file: -
-chmod a+x makeglos.pl
-
-You should then place this file somewhere on your path. -(You may also need to edit the first line of -this file, if perl is located in a directory other than /usr/bin/1.) - -

-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 -perl makeglos.pl instead of just makeglos.pl. -If you are using Windows, a batch file, makeglos.bat -is provided which will run Perl on makeglos.pl. -Both makeglos.pl and makeglos.bat should -be placed somewhere specified by the PATH environment -variable. (For example, put them both in the same -directory as makeindex, which will probably -be in \texmf\miktex\bin\). - -

-If you don't have Perl installed on your system, you can just use -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 makeglos.pl as it may also -have been modified. - -

- -

-Generating Glossary Information -

- -

-The standard LaTeX command \makeglossary (analogous to \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 -\glossary{key-val list}. - This command is a slightly modified version of the standard -\glossary command, in order to separate out the -information into entry-name and entry-description. -The argument to \glossary must be a comma-separated -list of key=value pairs. The following keys are -available: -

- - - - - - - - - - - - - - - - - - - -
Key Value
name The entry name
description A description about the entry
sort How to sort the entry. (Entry name used if sort omitted)
format How to format the page number
number Override the page number with a different -counter. The value should be the name of a counter (e.g. -number=section).
-
-For example: -
-\glossary{name={singular matrix},
-          description={A matrix with zero determinant}}
-
- The following example sorts on the text U instead of -$\mathcal{U}$: -
-\glossary{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U}
-
-Note that you should always use the sort -key if the name key contains commands, this is particularly -important if you are using hyperlinks, as the target is constructed -from the name key if the 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 \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 format key. This should be the name of a -LaTeX formatting command without the preceding \ (as with the -| operator in \index.) For example: -

-\glossary{name={$\mathbb{R}$},
-          description={The set of real numbers},
-          sort=R,
-          format=textbf}
-
-In addition, the following formats are also available: - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
hyperrmThe number is a hyper link in roman
hypersfThe number is a hyper link in sans-serif
hyperttThe number is a hyper link in typewriter font
hyperbfThe number is a hyper link in bold
hypermdThe number is a hyper link in medium weight
hyperitThe number is a hyper link in italic
hyperslThe number is a hyper link in slanted font
hyperupThe number is a hyper link in upright font
hyperscThe number is a hyper link in small caps
hyperemThe number is a hyper link using \emph
-
-If the hyper option has not been set, -hyperem is equivalent to emph, and the remaining -hyperrm etc are equivalent to textrm etc. -Note that it is important the you use hyperrm instead of -hyperpage, as the \hyperpage command won't -work on a list or range of numbers in the glossary2. If you want to define your -own command that uses hyper links, it must be defined in an -analogous manner to \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: -
-\newcommand{\hyperbfit}[2][\gls@number]{%
-\textbf{\itshape\glshyper{#1}{#2}}}
-
-As can be seen from the definition, all the \hyperxx -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 \glossary command. -So the previous example can simply be rewritten as: -
-\glossary{name={$\mathbb{R}$},
-          description={The set of real numbers},
-          sort=R,
-          format=hyperbf}
-
- -

-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 section counter, depending on -whether the number key has been used. - -

-As with the \index command, care must be taken if you -want to use the special characters: @ | " and -!. These characters should be preceded by the double quote -character. For example: -

-\glossary{name={$"|\mathcal{S}"|$,
-description=The cardinality of the set \mathcal{S}}}
-
-There is no provision for sub-entries, as these are -generally only applicable in an index, and not in a glossary. - -

-As from version 2.14, there is an additional command available: - -

- -\xglossary{gls-entry}{text} - -

-This is equivalent to -text\glossary{gls-entry}, -where text will be made a hyper link to the -relevant entry in the glossary, if hyper -links are supported. - -

- -

-Storing Glossary Information -

- -

-It is very cumbersome having to use the \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 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 -\glossary command. - -

-The following command: -
-
\storeglosentry[ gls-type]{ label}{ gls-entry} - -
-
-can be used to store glossary information, where label is -a unique label assigned to this entry. The information -can then be used later with any of the following commands: -
-
- -\useglosentry[ opt]{ label} -
\useGlosentry[
opt]{ label}{ text} -
\gls[
opt]{ label} - -
-
\useglosentry adds the glossary entry whose label is given by -label to the appropriate glossary, -\useGlosentry adds the glossary entry, and -makes text a hyperlink to that entry (if hyperlinks are -supported). The third command, \gls, is like -\useGlosentry, but forms text from the name -given in the glossary entry. - -

-Returning to an earlier example, instead of typing: -

-\glossary{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U}
-
-every time you want to add this entry to the glossary, you -can instead store the information: - -
-\storeglosentry{glos:U}{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U}
-
-Now, instead of continually copying and pasting the glossary command -for this entry (which can have quite a large description -field), you can use either: -
-\useglosentry{glos:U}
-
-which is equivalent to: -
-\glossary{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U}
-
-or you can use: -
-\useGlosentry{glos:U}{text}
-
-which is equivalent to: -
-\xglossary{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U}{text}
-
-or you can use: -
-\gls{glos:U}
-
-which is equivalent to: -
-\xglossary{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U}{$\mathcal{U}$}
-
-If you want to use glossary entries in an equation, it is better -to use \ensuremath instead of $...$. -For example: -
-\storeglosentry{Gamma}{name=\ensuremath{\Gamma(z)},
-description=Gamma function,
-sort=Gamma}
-
-You can then use this entry in either text or math mode: -
-The \useGlosentry{Gamma}{Gamma function} is defined as
-\begin{equation}
-\gls{Gamma} = \int_{0}^{\infty}e^{-t}t^{z-1}\,dt
-\end{equation}
-
-If you are using hyper links, and you want to use -\useGlosentry within math mode, you must use -\ensuremath: -
-\begin{equation}
-\useGlosentry{Gamma}{\ensuremath{\Gamma(x+1)}} = x\Gamma(x)
-\end{equation}
-
- -

-The optional argument to \storeglosentry (gls-type) -indicates the glossary type (see -later to find out how to define new -glossary types). If omitted, the standard glossary is used. - -

-The optional argument to \useglosentry, -\useGlosentry and \gls (opt) allows you to -add additional information to the glossary entry, for example: -

-\useglosentry[format=textbf]{glos:U}
-
-is equivalent to: -
-\glossary{name={$\mathcal{U}$},
-          description={The universal set},
-          sort=U,
-          format=textbf}
-
-Since version 2.4, \storeglosentry is robust, and -\protect should no longer be needed, however -the identifying label, 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 \storeglosentry, do: -\useglosentry{*}. (Note that this option is not -available for \useGlosentry and \gls.) - -

- -

-makeglos.pl -

- -

-Whenever a glossary entry is used, either explicity using -\glossary or \xglossary or implicitly using -\useglosentry, \useGlosentry and \gls, -the information is saved in a file with the extension glo -(unless the \makeglossary command is omitted, in which case -the glossary information is simply ignored.) A makeindex -style file -(ist) is also created, which is customized for the -document, and can be passed to makeindex. - -

-For example, suppose your document is called mydoc.tex, -the glossary will be saved in the file -mydoc.glo, and the makeindex style -file mydoc.ist will be created. - These files can then be passed to makeindex as follows: -

-makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
-
-which generates the output file mydoc.gls, -with transcript written to -mydoc.glg. - -

-The Perl script makeglos.pl provided with this package -allows you to use makeindex without having to remember -all the command line options. The command -

-makeglos.pl mydoc
-
-will perform the command: -
-makeindex -s mydoc.ist -t mydoc.glg -o mydoc.gls mydoc.glo
-
-In addition, makeglos.pl also takes the option --m which can be used to collate entries where the -same name has multiple descriptions. - -

-makeglos.pl has the following syntax: -

-makeglos.pl [-ilqrgm] [-s sty] [-o gls] [-t log] [-p num] <filename>
-
-where all switches, apart from -m are the same as -those for makeindex. If there are multiple glossary types -(see -later) -and the file extension is omitted, makeglos.pl will -iterate through each glossary type (it will pick up the relevant -information from the auxiliary file). - -

-The name of the ist file can be changed by redefining -the command \istfilename -before \makeglossary. -For example: -

-\renewcommand{\istfilename}{foo.ist}
-\makeglossary
-
-Only one ist file will be created per document, even if -you have multiple glossaries with different styles. The only -circumstance where you will need multiple 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 ist file can be suppressed by issuing -the command \noist before -\makeglossary. It will also be suppressed when the -command \nofiles is used, or if the command -\makeglossary is omitted. - -

-It should be noted that there are a few packages that can -cause problems with the creation of the ist file, -for example ngerman. If you encounter problems -when LaTeX is processing the \makeglossary command, -or if you get errors from makeindex complaining about -the style file, this is the most probable cause. -See later for -information on how to fix this. - -

- -

-Displaying the Glossary -

- -

-Once the gls file has been created by -makeindex (as described in the previous - section) the glossary can then be included in the document with -the command \printglossary. - If chapters are defined, the glossary will start -with -

-\chapter*{\glossaryname}
-
-If not, it will start with -
-\section*{\glossaryname}
-
-The format of the main body of the glossary depends on the -options passed to the package. - -

- -

- -
-Package Options -

- -

-The package options must be specified as a comma-separated list -of key=value pairs. Available options are: -

-
style
-
The glossary style. Values: - -
-
list
-
use -description environment in the glossary -
-
altlist
-
modified -version of style=list. The description starts on the -line following the name of the term being defined. - -
-
super
-
use -supertabular environment in the glossary -
-
long
-
use -longtable environment in the glossary (Default) -
-
- -

-

-
header
-
Glossary -header. Values: -
-
none
-
The glossary -doesn't have a heading (Default) -
-
plain
-
The glossary -has a heading -
-
- -

-

-
border
-
Glossary -border. Values: -
-
none
-
The glossary -doesn't have a border (Default) -
-
plain
-
Border -around the main body of the glossary -
-
- -

-

-
cols
-
Number of -columns. Values: -
-
2
-
The entry name and description are in two separate -columns with the associated page numbers in the same column as -the description. (Default) -
-
3
-
The entry name, description and associated page numbers -are in three separate columns. -
-
- -

- -

-
number
-
Associated number corresponding to each entry. -This may either be the keyword none indicating that -the corresponding numbers should be suppressed, or it can be the -name of a LaTeX counter. The default is number=page. - -

-

-
toc
-
-Boolean variable: - -
-
true
-
Add glossary to table of contents -
-
false
-
Omit glossary from table of contents (Default) -
-
-Note that if you specify this option, you will need to run -LaTeX twice after generating the glossary. - -

-

-
hypertoc
-
Boolean variable. This is similar to the package option -toc, but if you are using the hyperref -package, hypertoc will generate a link to the -point immediately before the glossary title, whereas toc will -have a hyperlink to just after the glossary title. Note -that you can not use both toc=true and -hypertoc=true. Default value: -hypertoc=false. - -

-

-
hyper
-
Boolean -variable: - -
-
true
-
Make associated numbers in the -glossary a hypertext link, and also make acronyms, and the text -given by \xglossary have a hyperlink to their -corresponding entries in the glossary. -
-
false
-
Don't make associated numbers a hypertext link -
-
-If the hyperref or html package has -been loaded prior to loading glossary.sty, -hyper=true is set, otherwise -the default is hyper=false. Note that this package -option now encompasses the old hyperacronym option. - -

-

-
section
-
Boolean variable: - -
-
true
-
Make the glossary an unnumbered -section, even if chapters are defined -
-
false
-
Only make glossary an -unnumbered section if chapters are not defined (default). -
-
- -

-

-
acronym
-
Boolean variable: - -
-
true
-
Make the list of acronyms -separate from the main glossary. - -

-

-
false
-
The acronyms will all -be placed in the main glossary. (Default) -
-
- -

-

-
global
-
Boolean variable: - -
-
false
-
Acronym commands only have -a local effect. (Default) -
-
true
-
Acronym commands have a global -effect. -
-
-
-
- The border, header and cols options -should not be used in conjunction with style=list -or style=altlist, 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 - toc is equivalent to toc=true. Note that the -altlist style is better suited to -glossaries with long entry names. - -

-You can set up your own preferred defaults in a configuration -file. -The file must be called glossary.cfg and -should be placed somewhere on the TEX path. In this file you -can use the command -\glossarypackageoptions{option-list} - -where option-list is a comma-separated list of -key=value pairs, as passed to the -glossary -package. Note that this command may only be used in the -configuration file. - -

- -

-Examples -

-See glossary.pdf (the PDF version of this manual) for -examples. - -

- -

- -
-Defining New Glossary Types -

- -

-A new type of glossary can be defined using the command: -
-
\newglossarytype[log-ext]{name}{out-ext}{in-ext}[style list] -
-
-For example, suppose you want your document to have a separate -index of terms and index of notation, -you could use \makeglossary, \glossary, -\xglossary and \printglossary for the first -glossary, and define a new type of glossary called say, -notation, using -

-\newglossarytype[nlg]{notation}{not}{ntn}
-
-which will create the analogous commands: -\makenotation, \notation, \xnotation -and \printnotation which can be used for the second -glossary. - -

-As from version 2.3, \newglossarytype now has an -additional optional argument style list. This should -be a comma separated list of key=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: -number, style, header, border and -cols. These can take the same values as those -given in the package options (described in section 6). - -

-The command \newglossarytype should only occur in the -preamble. The new commands - \makename, \name, -\xname and \printname all have the -same format as their ``glossary'' counter-parts. - -

-The glossary information will be saved to a file -with the extension given by out-ext (analogous to -glo), which can then be passed to makeindex -either directly or via makeglos.pl, -and the file to be read in (i.e. the file created by -makeindex) will have the extension in-ext -(analogous to gls). - -

-The optional argument log-ext indicates -the extension for the makeindex log file, if omitted the -extension glg is used. This is not used by LaTeX, -however makeglos.pl reads in this information from -the LaTeX auxiliary file and passes it to makeindex. - -

-For the above notation -example, if your document is called, say, mydoc.tex, - you will need to do the following: -

-latex mydoc
-makeglos.pl mydoc
-latex mydoc
-
-(You may need to do an extra latex mydoc to get -cross-references up-to-date.) Note that if you don't specify the -file extension when using makeglos.pl, it will -check the transcript file from the LaTeX run to determine -all the glossary types, so, for this example, -
-makeglos.pl mydoc
-
-is equivalent to: -
-makeglos.pl mydoc.glo
-makeglos.pl mydoc.not
-
-since makeglos.pl has read in the information -for the notation glossary type from the file -mydoc.log. - -

-If you don't have Perl installed -on your system, or for any other reason are unable to use -makeglos.pl, you can call makeindex -explicitly: -

-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
-
- -

-Note that you can use the command -\printglossary[name] -instead of \printname. -These two commands have the same effect when using LaTeX, -however, they have a slightly different effect when -using LaTeX2HTML (see later). - -

-If the command \glossary-typename -is defined, (e.g. \notationname in the above example) -this will be used as the title for the specified -glossary. If this command is not defined, \glossaryname -will be used instead. -If the command \shortglossary-typename -is defined, (e.g. \shortnotationname in the above -example) this will be used for the table of contents -entry, otherwise \glossary-typename will -be used instead. -For example: -

-\newglossarytype[nlg]{notation}{not}{ntn}
-\newcommand{\notationname}{Index of Notation}
-\newcommand{\shortnotationname}{Notation}
-
- -

- -

-Acronyms -

- -

-The glossary package provides the command: -
-
\newacronym[ cmd-name]{ acronym}{ long}{ glossary entry} - -
-
-which can be used to define acronyms. The argument long -is the full name, the argument acronym is the acronym for -long and glossary entry is the glossary information -in the form used by the \glossary command. If the -optional argument cmd-name is missing, -\newacronym will create a command called -\acronym, otherwise it will create a command -called \cmd-name (henceforth denoted \acr-name). -This command can then be used throughout the text. The first -instance of this command is equivalent to: -
-
long (\xacronym{name=long (acronym),glossary entry}{acronym}) -
-
-subsequent instances will be equivalent to: -
-
\xacronym{name=long (acronym),glossary entry}{acronym} -
-
-The command \acr-name also has a starred -version, which will make the first letter of 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 sort key, otherwise you -will get an error. For example: -

-\newacronym[SVM]{\textsc{svm}}{Support Vector Machine}%
-{description=Statistical pattern recognition 
-technique,sort=svm}
-
- -

-If the package option acronym is not set (default) -\xacronym, is a synonym for \xglossary, and -the acronyms will appear in the main glossary (remember to -specify \makeglossary and \printglossary). -If the package option acronym=true is specified, a -new glossary type called acronym will be defined as: -

-\newglossarytype[alg]{acronym}{acr}{acn}
-\providecommand{\acronymname}{List of Acronyms}
-
-You will then need to use the commands \makeacronym -and \printacronym to make the list of acronyms appear. -You will also need to run the acr file through -makeindex (or makeglos.pl). For example: -
-makeindex -s mydoc.ist -t mydoc.alg -o mydoc.acn mydoc.acr
-
-alternatively: -
-makeglos.pl mydoc
-
-Note that the package option acronym=true 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 \acronymname in the configuration file -glossarycfg. For example: -
-\newcommand{\acronymname}{Akronyme}
-
-(If glossary.cfg does not exist, create a new file, add the -appropriate definition of \acronymname, and save it to the -same directory as glossary.sty.) - -

-The name key does not need to appear in glossary -entry, as it is constructed from long and -acronym. By default this will be in the form: -long (acronym), however the format can be -overridden using the -command: -
-
\setacronymnamefmt{format} -
-
-Within format the following commands may -be used to represent long and acronym: -\glolong and -\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: -

-\setacronymnamefmt{\gloshort}
-
- -

-As from version 2.32, you can also modify the way the description -key is formatted for acronyms using: -
-
\setacronymdescfmt{format} -
-
-Within format you may use the commands \glolong -and \gloshort (as above), and you can also use -the command \glodesc which is the description as -specified by the description key in -\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: -

-\setacronymnamefmt{\gloshort}
-\setacronymdescfmt{\glolong: \glodesc}
-\newacronym{svm}{support vector machine}{description=Statistical
-pattern recognition technique}
-
-will generate a glossary entry of the form: -
-\glossary{name=svm,description=support vector machine: Statistical
-pattern recognition technique}
-
-Note that if you omit \glodesc from -\setacronymdescfmt the description specified -in \newacronym will be ignored. So -
-\setacronymnamefmt{\gloshort}
-\setacronymdescfmt{\glolong}
-\newacronym{svm}{support vector machine}{description=Statistical
-pattern recognition technique}
-
-will generate a glossary entry of the form: -
-\glossary{name=svm,description=support vector machine}
-
- -

-You will need to specify the name key explicitly if -the name contains a makeindex special character. -For example: -

-\newacronym{RNA}{Ribonukleins\"aure}{name={Ribonukleins\""aure (RNA)}}
-
-Note that this will override any formatting specified by -\setacronymnamefmt. - -

-Given an acronym named acr-name (the command name -associated with the acronym as defined in -\newacronym without the preceding backslash), -the following commands are also available: - -

-
-
- -\useacronym[insert]{acr-name} -
-
-This command can be used instead of \acr-name. -\useacronym also has a starred version equivalent to -\acr-name*. -The optional argument insert allows you to insert text -after long, if this is the first occurrence of the -acronym, or after the acronym on subsequent occurrences. - -

-
-
- -\resetacronym{acr-name} -
-
-This command will cause the next use of \acr-name -to produce the long version. To reset all acronyms -do \resetallacronyms. - -

-
-
- -\unsetacronym{acr-name} -
-
-This command will cause all subsequent uses of -\acr-name to produce the short version. -To unset all acronyms -do \unsetallacronyms. - -

-
-
- -\ifacronymfirstuse{acr-name}{true text}{false text} -
-
-This will test if the acronym has been used yet. If it has been -used, true text will be implemented, otherwise -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: -
-
\acrln{acr-name} -
\acrsh{acr-name} -
-
-Or, alternatively: -
-
\acr-namelong -
\acr-nameshort -
-
-The first two commands (\acrln and \acrsh) -have a starred form that makes the first letter uppercase. -The other two commands, simply contain long and -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 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 \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. \SVM{}) or use -\_ i.e. a backslash followed by -a space (e.g. \SVM\ ). Alternatively, as from -version 2.22, if you load the xspace package -before loading the glossary package, spaces will -be put in automatically using \xspace. - -

-If you want the acronym to appear in a particular font, -for example, small caps, you can redefine the command -\acronymfont. For example: -

-\renewcommand{\acronymfont}[1]{\textsc{#1}}
-
-The default definition of \acronymfont is: -
-\newcommand{\acronymfont}[1]{#1}
-
- -

- -

-Examples -

- -

-

-\newacronym{SVM}{Support Vector Machine}{description=Statistical 
-pattern recognition technique}
-
-This will define the command \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 cmd-name since the -acronym contains a non-alphabetical character: -
-\newacronym[KSVM]{K-SVM}{Kernel Support Vector 
-Machine}{description=Statistical pattern recognition 
-technique using the ``kernel trick''}
-
-This will define the command \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: -

-\ifacronymfirstuse{SVM}{a}{an} \SVM\ is \ldots
-
-If the acronym has not been used, the following text will -be produced: -
-
-a Support Vector Machine is ... -
-
-otherwise it will produce: -
-
-an SVM is ... -
-
-To expand the acronym a second time: -
-\chapter{An overview of the \protect\SVM}
-\resetacronym{SVM}
-The \SVM\ \ldots
-
-Note the use of \protect (see -note 15.) In fact, in this situation -it would be better to do: -
-\chapter[An overview of the \SVMlong]{An overview of the \protect\SVM}
-\resetacronym{SVM}
-The \SVM\ \ldots
-
- -

-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: -

-\newacronym{SVM}{support vector machine}{description=Statistical 
-pattern recognition technique}
-
-however, if the command \SVM occurs at the start of the -sentence, you would clearly want the first letter as an -uppercase letter. This can be done using \SVM* instead -of \SVM. For example: -
-\SVM*\ techniques are widely used \ldots
-
-This will then come out as: Support vector machine (SVM) -techniques are widely used ...(Assuming this is the first -use of either \SVM or \SVM*.) - -

-Alternatively, \useacronym{SVM} can be used instead of -\SVM. For example: -

-\useacronym*[s]{SVM} are widely used in the area of pattern 
-recognition.
-
-If this is the first use of the acronym SVM, it will produce the -following text: -
-
-Support vector machines (SVM) are widely used in the area of -pattern recognition. -
-
-If this is not the first use of this acronym, it will produce the -following text: -
-
-SVMs are widely used in the area of pattern recognition. - -

- -

-Customizing the Glossary -

-The glossary package provides commands which can be redefined to customize the -glossary. The following name commands are defined by this package: -
- - - - - - - - - - - - - - - - -
Command Default Value
\glossarynameGlossary
\shortglossaryname\glossaryname
\entrynameNotation
\descriptionnameDescription
-
-The commands \entryname and \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 header=true package option). -If you are using cols=3, the command -\glspageheader will be -put in the third column of the header row. By default, this command -does nothing. - -

-The command \shortglossaryname 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 \glossarypreamble -and \glossarypostamble. -For example. -

-\renewcommand{\glossarypreamble}{Page numbers in 
-italic indicate the main definition\par}
-
-By default, \glossarypreamble and \glossarypostamble do nothing. - -

-Any text required before or after the list of page numbers -are specified by the commands \glsbeforenum - -and \glsafternum. -By default, these commands do nothing, any redefinition -of these commands should come somewhere before the -relevant \printglossary command. For example: -

-\printglossary
-\renewcommand{\glsbeforenum}{(}
-\renewcommand{\glsafternum}{)}
-\printnotation
-
-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 \newglossarystyle (see -earlier) -or using the command: -
-
\setglossarystyle[type]{style list} -
-
-For example: -

-\setglossarystyle[acronym]{style=long,border=true,cols=2}
-
-If type is omitted, the change is applied to the main -glossary. - -

-The command \setglossary{key-val list} -can be used to modify some of the glossary settings. The argument -key-val list is a comma-separated list of -key=value pairs. Available keys are: -

-
type
-
This is the glossary type. -If it is omitted, the standard glossary is assumed. - -

-

-
glsnumformat
-
This is the name of the command, -without the preceding backslash3, to format the -entry numbers. For example, to make all the entry numbers italic, -do: -
-\setglossary{glsnumformat=textit}
-
-To suppress numbering altogether, you can do: -
-\setglossary{glsnumformat=ignore}
-
- -

-

-
glodelim
-
This -specifies what to do after the entry description and -before the page numbers. The default value is a comma, unless the cols=3 option is specified, -in which case it has the value &, or if -style=altlist, -in which case it is simply a space4. If the package option number=none is -specified, glodelim will have an empty value (unless -cols=3 is specified, -where, again, it will have the value &.) -This setting corresponds to the delim_0 key in the -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 -\noexpand. For example: -

-\setglossary{glodelim={\noexpand\newline}}
-
- -

-

-
delimN
-
-The delimiter to be inserted between two -page numbers for the same entry. (This corresponds to the -delim_n key in the makeindex style file.) -By default, this has the value -,_ (comma followed by a space). If the -package option number=none is chosen, the value is set -to empty. - -

-

-
delimR
-
-The delimiter to be inserted between the starting and ending page -number range for the same entry. (This corresponds to the -delim_r key in the makeindex style file.) -By default, this has the value --. If the -package option number=none is chosen, the value is set -to empty. - -

-

-
gloskip
-
-This specifies what to do between groups. -If style=list or style=altlist this has the -value \indexspace, otherwise it creates a blank row - in the longtable or supertabular environment. -This command corresponds to the group_skip key in -the makeindex style file. -Note that as from version 2.3, you should no longer redefine -the command \gloskip. - -

-

-
delimT
-
-The text to be inserted after the list of -page numbers for an entry. (This corresponds to the -delim_t key in the makeindex style file.) -The default value depends on the glossary style. It does -nothing for the list-type styles, and has the value -\\ for the tabular-type styles. Note that -delimT is separate from \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: -

-\setglossary{delimT={\cr & \cr},gloskip={}}
-
-Note the use of \cr instead of \\ and -gloskip is set to nothing otherwise there would be -a double space between groups. -
-
-Note that: -
-\setglossary{glsnumformat=ignore}
-
-is equivalent to -
-\setglossary{glsnumformat=ignore,delimN={},delimR={}}
-
- -

-As from version 2.4, -you can insert text between groups by redefining the -commands \glogroupSymbols, -\glogroupNumbers, \glogroupA ... \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: -

-\renewcommand{\glogroupSymbols}{\textbf{Symbols}\indexspace}
-\renewcommand{\glogroupNumbers}{\textbf{Numbers}\indexspace}
-\renewcommand{\glogroupA}{\textbf{A}\indexspace}
-....% similar lines omitted
-\renewcommand{\glosgroupZ}{\textbf{Z}\indexspace}
-
- -

-The start and end of the main body of the glossary is given by the commands: -\beforeglossary and -\afterglossary. -If the style=list -or style=altlist -package options are chosen these commands simply begin and end -the description -environment, otherwise these commands begin and end the -longtable or -supertabular -environment with argument specified by -\glossaryalignment5. - -

-The glossary package no longer conflicts with the array -package. Changes can now be made to \glossaryalignment -regardless of whether or not the array -package has been used. - -

-The command \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 name key -in the \glossary command. In the case of the -style=list option, -\gloitem{text} -will do -
-
\item[text] -
-
-or if style=altlist: -
-
\item[text]\mbox{}\par -
-
-otherwise it will do -
-
text & -
-
-This command corresponds to the item_0 key in the -makeindex style file. - -

-If the glossary has a tabular style with a header row -(header=true and either style=long or -style=super), then the header row for cols=2 -will be given by: -

-\bfseries\entryname & \bfseries \descriptionname\\
-
-and the header row for cols=3 will be given by: -
-\bfseries\entryname & \bfseries\descriptionname & 
-\bfseries\glspageheader\\
-
-(It may also contain \hline\hline if the -border key is set.) - -

-If you want to override this, you need to define the command -\glossaryheader6. - -

-For example, if you are using a tabular style with cols=2, -and you want the \descriptionname to be centred, you could -do: -

-\newcommand{\glossaryheader}{\bfseries\entryname & 
- \hfil\bfseries\descriptionname\\}
-
- -

-If you want an extra row below the header row, you can define -the command\glossarysubheader - -For example, if you are using cols=3, and you want an -extra row after the header row, you can do: -

-\newcommand{\glossarysubheader}{ & & \\}
-
- -

-The command \glosstail indicates what to do at the end of -the longtable or supertabular environment. - -

-The width of the second column for the tabular-type styles is given by the length -\descriptionwidth. This value can be changed using -the \setlength command (the default value is 0.6\linewidth). - -

- -

-Sample Documents -

-This package comes with the following sample documents: - -
    -
  • sampleSec.tex -- This document uses the options: -style=altlist, toc and -number=section. It also loads the -hyperref package before loading the -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: -
    -pdflatex sampleSec
    -makeglos.pl sampleSec
    -pdflatex sampleSec
    -pdflatex sampleSec
    -
    -If you don't want to use makeglos.pl, you will need -to do -
    -makeindex -s sampleSec.ist -t sampleSec.glg -o sampleSec.gls sampleSec.glo
    -
    - -

    -

  • -
  • sampleNtn.tex -- This has a glossary and defines -a new glossary type called 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: -
    -latex sampleNtn
    -makeglos.pl sampleNtn
    -latex sampleNtn
    -latex sampleNtn
    -
    -If you don't want to use makeglos.pl, you will need -to do -
    -makeindex -s sampleNtn.ist -t sampleNtn.glg -o sampleNtn.gls sampleNtn.glo
    -makeindex -s sampleNtn.ist -t sampleNtn.nlg -o sampleNtn.ntn sampleNtn.not
    -
    - -

    -

  • -
  • sampleNtn2.tex --This is similar to -sampleNtn.tex, but uses \storeglosentry. - -

    -

  • -
  • 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 -number=equation). The \entryname, -\descriptionname, \glossaryname and -\glspageheader are all redefined to customize the -glossary. You will need to do: -
    -latex sampleEq
    -makeglos.pl sampleEq
    -latex sampleEq
    -
    -If you don't want to use makeglos.pl, you will need -to do -
    -makeindex -s sampleEq.ist -t sampleEq.glg -o sampleEq.gls sampleEq.glo
    -
    - -

    -

  • -
  • sampleEqPg.tex -- This is a modified version of -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: -
    -latex sampleEqPg
    -makeglos.pl sampleEqPg
    -latex sampleEqPg
    -
    -If you don't want to use makeglos.pl, you will need -to do -
    -makeindex -s sampleEqPg.ist -t sampleEqPg.glg -o sampleEqPg.gls sampleEqPg.glo
    -
    - -

    -

  • -
  • sampleAcr.tex -- This has a glossary containing -acronyms. It uses the style altlist as this is better -suited to glossaries with long names. It also uses the -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: -
    -pdflatex sampleAcr
    -makeglos.pl sampleAcr
    -pdflatex sampleAcr
    -pdflatex sampleAcr
    -
    -If you don't want to use makeglos.pl, you will need -to do -
    -makeindex -s sampleAcr.ist -t sampleAcr.glg -o sampleAcr.gls sampleAcr.glo
    -
    - -

    -

  • -
  • sample.tex -- This has a glossary entry -with two different definitions of the same name. -If you just use makeindex, the two entries -will be treated separately, however, if you want them -concatenated, you can use makeglos.pl with -the -m switch. You will need to do: -
    -pdflatex sample
    -makeglos.pl -m sample
    -pdflatex sample
    -pdflatex sample
    -
    -(Depending on the configuration of your system, you -may have to do perl makeglos.pl instead of -just makeglos.pl) - -

    -If you don't want to use makeglos.pl, you will need -to do -

    -makeindex -s sample.ist -t sample.glg -o sample.gls sample.glo
    -
    -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. - -

    -

  • -
  • sample4col.tex--This illustrates how to -modify the glossary style so that it has 4 columns. You -will need to do: -
    -latex sample4col
    -makeglos.pl sample4col
    -latex sample4col
    -
    - -

    -

  • -
- -

- -

- -
-LaTeX2HTML Style File -

- -

-A LaTeX2HTML Perl script, glossary.perl, is -provided with this package for those wishing to use the -glossary package with the LaTeX2HTML translator. -The file glossary.perl should be extracted -along with glossary.sty when you run the -installation script (glossary.ins) through LaTeX. - -

- -

-Limitations -

- -

- -

    -
  • The only package options supported are: -style=altlist, hyper=true, toc=true, -acronym=true and acronym=false. - -

    -

  • -
  • 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 -\printname instead of -\printglossary[name], where -name is the name of the glossary type. - -

    -

  • -
  • The command \setglossary must be -placed in the preamble to have an effect. - -

    -

  • -
  • The \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.) - -

    -

  • -
  • If you place a \glossary command -inside an environment not translated by LaTeX2HTML -(for example, inside a mathematics environment), -it will not be entered into the glossary. - -

    -

  • -
  • The combinations "", "|, "! -and "@ will be correctly translated, unless they -occur within a maths environment. This is because -the maths environment is translated before being -passed to \glossary. You can overcome this -by doing, e.g.: -
    \begin{latexonly} -
    \glossary{name=$"|\mathcal{S}"|$,description=cardinality of set -
    $\mathcal{S}$,sort=cardinality} -
    \end{latexonly} -
    \begin{htmlonly} -
    \glossary{name=$|\mathcal{S}|$,description=cardinality of set -
    $\mathcal{S}$,sort=cardinality} -
    \end{htmlonly} - -

    -Alternative, you can use \mid instead: -

    -\glossary{name=$\mid\mathcal{S}\mid$,description=cardinality of
    -set $\mathcal{S}$,sort=cardinality}
    -
    - -

    -

  • -
  • Glossary items with the same names but different -definitions will not be merged. - -

    -

  • -
  • The configuration file glossary.cfg is ignored. - -

    -

  • -
- -

- -

- -
-Troubleshooting -

- -

-This is a list of common problems, for a more up-to-date FAQ, see -http://theoval.cmp.uea.ac.uk/~nlct/packages/faq/. - -

- -

    -
  1. My glossary hasn't appeared. - -

    -Check the following: - -

      -
    • Have you included the command \makeglossary -in the preamble? - -

      -

    • -
    • Have you put the command \printglossary where -you want the glossary to appear? - -

      -

    • -
    • Have you used makeglos.pl or makeindex, -and if you did, did it successfully create the gls -file? (Check the transcript glg file.) - -

      - -

        -
      • If you used makeindex directly, did you specify -the ist file created by \makeglossary, -and did you remember to specify the output file with the extension -gls? - -

        -

      • -
      • When makeindex scans the ist file, -it should generate the message: -
        -9 attributes redefined, 0 ignored
        -
        -If you have a number other than 0 ignored, then there is something -wrong with the ist file. Some packages can cause -problems with the creation of this file, see -item 16 below. -
      • -
      - -

      -

    • -
    • Have you remembered to LaTeX your document again -after using makeglos.pl or makeindex? - -

      -

    • -
    • Have you used \glossary or \xglossary? - -

      -

    • -
    • If you have used \storeglosentry, have you also -used \useglosentry, \useGlosentry or -\gls? -
    • -
    - -

    -If you have defined a new glossary type, have you checked -all the analogous commands to the above? - -

    -

  2. -
  3. My list of acronyms hasn't appeared. - -

    -Have you used the acronym=true package option? If no, -check the answers to the previous item, if yes, make sure -you have used \makeacronym and \printacronym. -Have you used any of the acronyms you have defined? Remember -that \acrsh, \acrln, -\acr-nameshort and -\acr-namelong don't generate entries -in the list of acronyms, where \acr-name is the -name of an acronym command. - -

    -

  4. -
  5. 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 global -package option. - -

    -

  6. -
  7. I get an error when using the command -\saveglosentry. - -

    -Don't use this command it's obsolete, use -\storeglosentry instead. - -

    -

  8. -
  9. One of more of my glossary entries hasn't appeared. - -

    -Check the following - -

      -
    • If you defined the entry using \storeglosentry -have you used either \useglosentry, -\useGlosentry or \gls? - -

      -

    • -
    • Have you remembered to \protect commands -such as \mathcal within \storeglosentry? - -

      -

    • -
    • Have you used the characters @ ! -| "? If so, have you preceded them -with a double quote character? -
    • -
    - -

    -Check the makeindex log file to see if there are -any error messages. - -

    -

  10. -
  11. My glossary has duplicate entries on separate lines. - -

    -LaTeX treats multiple spaces equivalent to a single space, but makeindex -takes spaces into account when determining whether two entries are identical. -For example: -

    -\glossary{name=Identity matrix,
    -description=diagonal matrix with 1's along the diagonal}
    -
    -and -
    -\glossary{name=Identity  matrix,
    -description=diagonal matrix with 1's along the diagonal}
    -
    -will be treated as different entries by 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 -\storeglosentry together with \useglosentry, -\useGlosentry or \gls. - -

    -

  12. -
  13. I had an error, fixed it, but I keep getting the same error message. - -

    -Suppose you've made an error in the \glossary command. For example: -

    -\glossary{name=Java,description=A programming language,format=texbf}
    -
    -In this case textbf has been mis-spelt. This error will be copied to the glo file, -which in turn will be copied to the gls file by -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 gls file. The best thing to do is to delete the -gls file, and try again. - -

    -

  14. -
  15. My glossary has ended up wider than my page. - -

    -This may occur if you have long entry names, and you are using -either the style=long or style=super -options. The width of the description column is proportional to -the line width (in fact, it's 0.6\linewidth) -but the first column is as wide as the widest entry name. You -can either redefine \glossaryalignment to change the -column specifications, or use one of the list-type styles. - -

    -

  16. -
  17. 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 \tableofcontents, \listoffigures etc). - -

    -

  18. -
  19. I'm getting a keyval error. - -

    -The glossary package uses the keyval -package to extract the information from key=value -comma separated lists. You need to make sure the syntax is correct. -If your value contains a -comma, you will need to enclose value in curly braces. See the keyval documentation for -further information7. - -

    -

  20. -
  21. I've used the hyper option, but nothing happens -when I click on the numbers in the glossary. - -

    -Check the following: - -

      -
    1. Have you remembered to use PDFLaTeX instead of LaTeX, -or used a driver that understands hyperlinks? -
    2. -
    3. Have you remembered to use the hyperref or -html package? -
    4. -
    5. Have you remembered to use a formatting command which uses \hyperlink? (E.g. using hyperbf instead -of textbf)? Remember to check the format key -in your \glossary commands, and the -glsnumformat key in the \setglossary -command. -
    6. -
    7. 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 xpdf or acroread. -
    8. -
    - -

    -

  22. -
  23. The glossary package conflicts with the -datetime package. - -

    -This has been fixed in version 2.01. - -

    -

  24. -
  25. I get an error when using certain commands, such as \cite or ~ in \newacronym. - -

    -This has been fixed in version 2.1. - -

    -

  26. -
  27. I get the following error: -
    -! Package array Error: Illegal pream-token (\glossaryalignment): `c' used.
    -
    - -

    -The glossary package used to conflict with the -array package. This was fixed in version 2.1. -As from version 2.3, it doesn't matter whether you load -the glossary package before or after the -array package. - -

    -

  28. -
  29. I get the following error: -
    -Use of \@chapter doesn't match its definition
    -
    -or -
    -! Argument of \@sect has an extra }
    -
    - -

    -If you want to use an acronym command in a moving argument (such as a chapter heading) -you need to \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. -

    -\chapter[Introduction to Kernel Support Vector Machines]{Introduction 
    -to \protect\KSVM}
    -
    -You will also need to do this if you are using bookmarks in a PDF document. - -

    -Alternatively, you can do: -

    -\resetacronym{KSVM}
    -\chapter{Introduction to \protect\KSVM}
    -
    -or if you are using PDFLaTeX: -
    -\resetacronym{KSVM}
    -\chapter{Introduction to \texorpdfstring{\protect\KSVM}{KSVM}}
    -
    - -

    -

  30. -
  31. The glossary package conflicts with -ngerman. - -

    -This problem is caused by the fact that ngerman -redefines the effect of the double quote -character, but this character is used in the creation of the -ist makeindex style file. -Try one of the following methods: - -

      -
    1. Include the ngerman package after the -\makeglossary command: -
      -\usepackage{glossary}
      -\makeglossary
      -\usepackage{ngerman}
      -
      - -

      -

    2. -
    3. First omit the ngerman package and include -\makeglossary then LaTeX your document. -This will create the ist file. Then include the -ngerman package, and insert \noist before -the \makeglossary command, this will prevent further attempts to generate the ist file. -
      -\usepackage{ngerman}
      -\usepackage{glossary}
      -\noist\makeglossary
      -
      - -

      -

    4. -
    5. Use \noist, as above, and create the -ist file -in an ordinary text editor. The file should contain the -following lines: -
      -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 "
      -
      -
    6. -
    -It is possible that there may be other packages which will -also cause a problem, if so, try any of the above. - -

    -

  32. -
  33. makeglos.pl gives the following error message: -
    -unable to extract name from glossary item:
    -
    - -

    -You are using an old version of makeglos.pl with a -new version of the glossary package. You will need -to update your version makeglos.pl. -

  34. -
-Let me know if you encounter any other problems or if you have any comments regarding this package. - -

- -

-Obsolete Commands -

- -

-The commands described in this section are now obsolete, but -are currently still provided for backwards compatibility. Their -use is deprecated. - -

- -\saveglosentry{ name}{description} -
-This command has now been replaced by \storeglosentry. - -

-The command \glsprimaryfmt has now been removed. - -

-The package option hyperacronym is now superseded by the package option -hyper. This option was implemented prior to the -introduction of the command \xglossary. Since the -acronyms now use \xglossary, there is no difference -between the hyperacronym and hyper options. -This option has a boolean value: - -

-
true
-
Make acronyms link to their corresponding entry in the glossary -
-
false
-
Acronyms don't have a hyperlink. -
-
-If the hyperref package has been loaded prior to -loading glossary.sty or if hyper=true is set, -hyperacronym=true otherwise -hyperacronym=false. -

- -

-Contact Details -

- -Dr Nicola Talbot -
-School of Computing Sciences -
-University of East Anglia -
-Norwich. Norfolk -
-NR4 7TJ. United Kingdom. -
http://theoval.cmp.uea.ac.uk/~nlct/ -

- -

-Acknowledgements -

- -

-I would like to thank all the many people who have made suggestions -and pointed out bugs. - -

- -

-
- -

-Index -

-
acroread -
Troubleshooting -
array -
Customizing the Glossary - | Customizing the Glossary - | Troubleshooting - | Troubleshooting -
datetime -
Troubleshooting -
\descriptionname -
Customizing the Glossary - | Sample Documents -
\entryname -
Sample Documents -
file types -
-
acr -
Acronyms -
cfg -
Package Options - | Acronyms -
glg -
makeglos.pl - | Defining New Glossary Types - | Troubleshooting -
glo -
makeglos.pl - | makeglos.pl - | Defining New Glossary Types - | Troubleshooting -
gls -
makeglos.pl - | Displaying the Glossary - | Defining New Glossary Types - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
ist -
makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
perl -
LaTeX2HTML Style File - | LaTeX2HTML Style File -
-
\glodesc -
Acronyms - | Acronyms -
\glolong -
Acronyms - | Acronyms -
\gloshort -
Acronyms - | Acronyms -
glossary -
Introduction - | Generating Glossary Information - | Generating Glossary Information - | Storing Glossary Information - | Storing Glossary Information - | Storing Glossary Information - | Package Options - | Examples - | Defining New Glossary Types - | Acronyms - | Acronyms - | Acronyms - | Customizing the Glossary - | Customizing the Glossary - | Sample Documents - | Limitations - | Limitations - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
glossary border -
see package options, border -
glossary columns -
see package options, cols -
glossary header -
see package options, header -
\glossary keys -
-
description -
Generating Glossary Information - | Storing Glossary Information - | Acronyms -
format -
Generating Glossary Information - | Generating Glossary Information - | Troubleshooting -
-
hyperbf -
Generating Glossary Information - | Troubleshooting -
hyperem -
Generating Glossary Information - | Generating Glossary Information -
hyperit -
Generating Glossary Information -
hypermd -
Generating Glossary Information -
hyperrm -
Generating Glossary Information - | Generating Glossary Information -
hypersc -
Generating Glossary Information -
hypersf -
Generating Glossary Information -
hypersl -
Generating Glossary Information -
hypertt -
Generating Glossary Information -
hyperup -
Generating Glossary Information -
-
name -
Generating Glossary Information - | Generating Glossary Information - | Generating Glossary Information - | Acronyms - | Acronyms - | Acronyms - | Acronyms - | Customizing the Glossary -
number -
Generating Glossary Information - | Generating Glossary Information -
sort -
Generating Glossary Information - | Generating Glossary Information - | Generating Glossary Information - | Acronyms -
-
glossary style -
see package options, style -
glossary.cfg -
see file type, cfg -
\glossaryalignment -
Troubleshooting -
\glossaryname -
Displaying the Glossary - | Defining New Glossary Types - | Sample Documents -
\gls -
Storing Glossary Information - | Troubleshooting - | Troubleshooting - | Troubleshooting -
\glspageheader -
Sample Documents -
html -
Package Options - | Troubleshooting -
hyperref -
Package Options - | Package Options - | Sample Documents - | Sample Documents - | Troubleshooting - | Obsolete Commands -
\hyperrm -
Generating Glossary Information -
keyval -
Troubleshooting - | Troubleshooting - | Troubleshooting -
\makeacronym -
Acronyms - | Troubleshooting -
makeglos.pl -
makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | Defining New Glossary Types - | Defining New Glossary Types - | Defining New Glossary Types - | Defining New Glossary Types - | Defining New Glossary Types - | Acronyms - | Sample Documents - | Sample Documents - | Sample Documents - | Sample Documents - | Sample Documents - | Sample Documents - | Sample Documents - | Sample Documents - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
\makeglossary -
makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | Defining New Glossary Types - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
makeindex -
Installation - | Installation - | Installation - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | makeglos.pl - | Displaying the Glossary - | Defining New Glossary Types - | Defining New Glossary Types - | Defining New Glossary Types - | Defining New Glossary Types - | Defining New Glossary Types - | Acronyms - | Acronyms - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Sample Documents - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
makeindex key -
-
delim_0 -
Customizing the Glossary -
delim_n -
Customizing the Glossary -
delim_r -
Customizing the Glossary -
delim_t -
Customizing the Glossary -
group_skip -
Customizing the Glossary -
item_0 -
Customizing the Glossary -
-
makeindex style file (.ist) -
see file types, ist -
\newacronym -
Acronyms - | Troubleshooting -
\newglossarystyle -
Customizing the Glossary -
ngerman -
makeglos.pl - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
\nofiles -
makeglos.pl -
\noist -
Troubleshooting - | Troubleshooting -
package options -
-
,
-
none -
Package Options -
-
acronym -
Package Options - | Package Options - | Acronyms - | Acronyms - | Acronyms - | Acronyms - | Limitations - | Limitations - | Troubleshooting -
-
false -
Package Options - | Limitations -
true -
Package Options - | Acronyms - | Acronyms - | Limitations - | Troubleshooting -
-
border -
Package Options - | Package Options - | Package Options - | Package Options - | Examples - | Examples - | Examples - | Examples - | Customizing the Glossary - | Customizing the Glossary -
-
none -
Package Options - | Examples - | Examples -
plain -
Package Options - | Examples - | Examples -
-
cols -
Package Options - | Package Options - | Package Options - | Package Options - | Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary -
-
2 -
Package Options - | Customizing the Glossary - | Customizing the Glossary -
3 -
Package Options - | Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary -
-
global -
Package Options - | Package Options - | Troubleshooting - | Troubleshooting -
-
false -
Package Options -
true -
Package Options -
-
header -
Package Options - | Package Options - | Package Options - | Package Options - | Examples - | Examples - | Examples - | Examples - | Customizing the Glossary - | Customizing the Glossary -
-
none -
Package Options - | Examples - | Examples -
plain -
Package Options - | Examples - | Examples -
true -
Customizing the Glossary - | Customizing the Glossary -
-
hyper -
Generating Glossary Information - | Generating Glossary Information - | Package Options - | Package Options - | Package Options - | Package Options - | Acronyms - | Acronyms - | Limitations - | Troubleshooting - | Troubleshooting - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands -
-
false -
Package Options - | Package Options -
true -
Package Options - | Package Options - | Limitations - | Obsolete Commands -
-
hyperacronym -
Package Options - | Package Options - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands - | Obsolete Commands -
-
false -
Obsolete Commands - | Obsolete Commands -
true -
Obsolete Commands - | Obsolete Commands -
-
hypertoc -
Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Package Options -
-
false -
Package Options -
true -
Package Options -
-
number -
Package Options - | Package Options - | Package Options - | Examples - | Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Sample Documents - | Sample Documents -
-
equation -
Sample Documents -
none -
Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary -
page -
Package Options - | Examples -
section -
Sample Documents -
-
section -
Package Options - | Package Options -
-
false -
Package Options -
true -
Package Options -
-
style -
Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Examples - | Examples - | Examples - | Examples - | Examples - | Examples - | Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Sample Documents - | Limitations - | Troubleshooting - | Troubleshooting -
-
altlist -
Package Options - | Package Options - | Package Options - | Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary - | Sample Documents - | Sample Documents - | Limitations -
list -
Package Options - | Package Options - | Package Options - | Examples - | Examples - | Customizing the Glossary - | Customizing the Glossary - | Customizing the Glossary -
long -
Package Options - | Examples - | Examples - | Examples - | Examples - | Customizing the Glossary - | Troubleshooting -
super -
Package Options - | Customizing the Glossary - | Troubleshooting -
-
toc -
Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Package Options - | Sample Documents - | Sample Documents - | Limitations -
-
false -
Package Options -
true -
Package Options - | Package Options - | Package Options - | Limitations -
-
-
page number formats -
-
hyperbf -
Generating Glossary Information - | Troubleshooting -
hyperem -
Generating Glossary Information - | Generating Glossary Information -
hyperit -
Generating Glossary Information -
hypermd -
Generating Glossary Information -
hyperrm -
Generating Glossary Information - | Generating Glossary Information -
hypersc -
Generating Glossary Information -
hypersf -
Generating Glossary Information -
hypersl -
Generating Glossary Information -
hypertt -
Generating Glossary Information -
hyperup -
Generating Glossary Information -
-
perl -
Installation -
\printacronym -
Acronyms - | Troubleshooting -
\printglossary -
Defining New Glossary Types - | Defining New Glossary Types - | Troubleshooting -
\protect -
Troubleshooting -
\saveglosentry -
Troubleshooting - | Obsolete Commands -
\setacronymnamefmt -
Acronyms -
\setglossary -
Limitations - | Troubleshooting -
\setglossary keys -
-
delimN -
Customizing the Glossary -
delimR -
Customizing the Glossary -
delimT -
Customizing the Glossary - | Customizing the Glossary -
glodelim -
Customizing the Glossary - | Customizing the Glossary -
gloskip -
Customizing the Glossary - | Customizing the Glossary -
glsnumformat -
Customizing the Glossary - | Troubleshooting -
type -
Customizing the Glossary -
-
\storeglosentry -
Storing Glossary Information - | Storing Glossary Information - | Sample Documents - | Limitations - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
table of contents, adding to -
see package options, toc -
\useacronym -
Examples -
\useGlosentry -
Storing Glossary Information - | Storing Glossary Information - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting - | Troubleshooting -
\xacronym -
Acronyms - | Acronyms - | Acronyms -
\xglossary -
Package Options - | Defining New Glossary Types - | Acronyms - | Troubleshooting - | Obsolete Commands - | Obsolete Commands -
xpdf -
Troubleshooting -
\xspace -
Acronyms - | Acronyms - -
- -

-


Footnotes

-
-
... /usr/bin/1
-
and you can also remove the .pl -extension which isn't to everyone's liking. - -
-
... glossary2
-
This is because the list and number ranges are -delimited using \delimR and \delimN instead of -explicitly using a comma or en-dash. - -
-
... backslash3
-
Note, you should -no longer try redefining the command \glsnumformat, as -this now takes an optional argument, allowing for different -glossary types - -
-
... space4
-
This -is because the 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. - -
-
...\glossaryalignment5
-
This isn't quite true -anymore, see the documented code for clarification - -
-
...\glossaryheader6
-
Note that as from version 2.4, -you must use \newcommand not \renewcommand - -
-
... information7
-
This should be in the directory -texmf/doc/latex/graphics/ - -
-
-

-
-Nicola L. C. Talbot. School of Computing Sciences. University of East Anglia. Last Modified: 2006-07-25 -
- - 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 \~} -% -%\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} -% -%\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] -%\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} -% -% \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] \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 () - { - 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, ") - { - $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} -% -% \end{macrocode} -% \begin{macrocode} -%<*makeglos.bat> -% \end{macrocode} -% \begin{macrocode} -@rem = '-*- Perl -*- -@echo off -perl -S %~dp0makeglos.pl %* -% \end{macrocode} -% \begin{macrocode} -% -% \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'} = ""; - $gls_file_mark{'acronym'} = ""; - $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'} = ""; -$gls_file_mark{'glossary'} = ""; -$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) =('',''); - if ($INDEX_STYLES) { -if ($INDEX_STYLES =~/,/) { -local(@styles) = split(/\s*,\s*/,$INDEX_STYLES); - $sidx_style = join('','<', join('><',@styles) ,'>'); - $eidx_style = join('',''); -} else { - $sidx_style = join('','<', $INDEX_STYLES,'>'); - $eidx_style = join('',''); -} - } - &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 - . "\n" - : "
" - . $glossary_name{$type}{$key} - . "
". $glossary_desc{$type}{$key} - . $glodelim{$type} . $glossary{$type}{$key} - . $linktext. "\n"); -$previous = $current; - } - $glossary = '
'.$glossary unless ($glossary =~ /^\s*/); - - $glossary =~ s/(]*>)()/$2$1/g; - - $str = &translate_commands("\\glossarypostamble"); - s/$gls_mark{$type}/$preglossary\n
\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('',"
\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 = "
\n

Legend:

\n
"; - @keys = keys %glossary_segment; - foreach $key (@keys) { - local($tmp) = "segment$key"; - $tmp = $ref_files{$tmp}; - $body .= "\n
$key
".&make_named_href('',$tmp,$glossary_segment{$key}); - } - $preglossary = join('', $head, $body, "\n
") 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; - "
$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} = ""; - $gls_file_mark{$type} = ""; - $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('', "", $_); -} - -sub do_cmd_glolong{ - local($_) = @_; - join('', "", $_); -} - -$acronymnamefmt = " ()"; - -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//$fmtedabbrv/egs; - $name=~s//$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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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 @@ - - - - glossary - Package - 2006/07/26 22:34:14 - 2.19 - rahtz - Create a glossary - -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] - - Nicola Talbot - 837775 - - - -texmf-dist/tex/latex/glossary/glossary.sty -texmf-dist/tpm/glossary.tpm - - -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 - - -texmf-dist/source/latex/glossary/glossary.dtx -texmf-dist/source/latex/glossary/glossary.ins - - Package/glossary - - - -- cgit v1.2.3