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