summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex')
-rw-r--r--Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex189
1 files changed, 114 insertions, 75 deletions
diff --git a/Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex b/Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex
index 2c7182eec36..808a1ac5ee3 100644
--- a/Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex
+++ b/Master/texmf-dist/doc/latex/glossaries/samples/samplexdy.tex
@@ -1,93 +1,129 @@
- % This file is public domain.
- %
- % This is a sample document illustrating how to use the
- % glossaries package with xindy. To create the document:
- %
- % latex samplexdy
- % makeglossaries samplexdy
- % latex samplexdy
- %
- % If you don't have Perl installed, then use one of the
- % following instead of makeglossaries:
- %
- % If you want to have a separate "Mc" letter group do:
- %
- % xindy -I xindy -M samplexdy-mc -t samplexdy.glg -o samplexdy.gls samplexdy.glo
- %
- % Otherwise do:
- %
- % xindy -L english -C utf8 -I xindy -M samplexdy -t samplexdy.glg -o samplexdy.gls samplexdy.glo
- %
- % If you want to use arara, you need the following directives:
- % arara: pdflatex: { synctex: on }
- % arara: makeglossaries
- % arara: pdflatex: { synctex: on }
+% This file is public domain.
+%
+% This is a sample document illustrating how to use the
+% glossaries package with xindy. To create the document:
+%
+% latex samplexdy
+% makeglossaries samplexdy
+% latex samplexdy
+%
+% If you don't have Perl installed, then use one of the
+% following instead of makeglossaries:
+%
+% If you want to have a separate "Mc" letter group do:
+%
+% xindy -I xindy -M samplexdy-mc -t samplexdy.glg -o samplexdy.gls samplexdy.glo
+%
+% Otherwise do:
+%
+% xindy -L english -C utf8 -I xindy -M samplexdy -t samplexdy.glg -o samplexdy.gls samplexdy.glo
+%
+% If you want to use arara, you need the following directives:
+% arara: pdflatex: { synctex: on }
+% arara: makeglossaries
+% arara: pdflatex: { synctex: on }
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
-\usepackage{fmtcount}
+\usepackage[notext,notextcomp]{stix}
\usepackage[colorlinks,plainpages]{hyperref}
\usepackage[xindy,style=altlistgroup]{glossaries}
- % Define a new command to do bold italic:
+% Define a new command to do bold italic:
\newcommand*{\hyperbfit}[1]{\textit{\hyperbf{#1}}}
- % Need to add this to the list of attributes in order
- % to use it with xindy:
- % (This command will have no effect if \noist is used)
+% Need to add this to the list of attributes in order
+% to use it with xindy:
+% (This command will have no effect if \noist is used)
\GlsAddXdyAttribute{hyperbfit}
- % Redefine the page numbers so that they appear as a word:
-
- \renewcommand*{\thepage}{\texorpdfstring{\Numberstring{page}}{\arabic{page}}}
+% Redefine the page numbers to a custom format (requires stix
+% package for the dice commands):
+
+% \tallynum{n} displays a die or dice where the dots add up to n
+\newrobustcmd{\tallynum}[1]{%
+ \ifnum\number#1<7
+ $\csname dice\romannumeral#1\endcsname$%
+ \else
+ $\dicevi$%
+ \expandafter\tallynum\expandafter{\numexpr#1-6}%
+ \fi
+}
- % Need to add this to the list of location styles.
- % \Numberstring{page} gets expanded to
- % \protect \Numberstringnum {<n>} (where <n> is the page number)
- % so need to define the location in that format:
- % (This command will have no effect if \noist is used)
+% \tally{counter} expands to \tallynum{n} where n is the counter
+% value. In order to work with glossaries and xindy this requires
+% a very specific format. (See the glossaries user manual for more
+% details.)
+
+\newcommand{\tally}[1]{\tallynum{\arabic{page}}}
+
+% Now redefine \thepage
+% (\texorpdfstring is used in case the page number ends up in a PDF
+% bookmark, although this is unlikely)
+\renewcommand*{\thepage}{\texorpdfstring{\tally{page}}{\arabic{page}}}
+
+% Need to add this to the list of location styles.
+% This requires knowing how \thepage expands when written to a file.
+% You can check by inspecting the ':locref' attributes in the .glo
+% file. In this case, \thepage expands to \tallynum {n}
+% (the space is significant) where n is an arabic number.
+% (This command will have no effect if \noist is used)
+
+\GlsAddXdyLocation{tally}{% tally location format
+ :sep "\string\tallynum\space\glsopenbrace" % -> \tallynum {
+ "arabic-numbers" % -> arabic number (0, 1, 2, etc)
+ :sep "\glsclosebrace" % -> }
+}
-\GlsAddXdyLocation{Numberstring}{:sep "\string\protect\space
- \string\Numberstringnum\space\glsopenbrace"
- "arabic-numbers" :sep "\glsclosebrace"}
+% If the definition of \tally changes so that it expands to
+% something slightly different then the above will have to be
+% changed accordingly.
- % (Need to redefine \glsXpageXhyperbfit and
- % \glsXpageXglsnumberformat after \makeglossaries to get the
- % hyperlinks working correctly.)
+% (Need to redefine \glsXpageXhyperbfit and
+% \glsXpageXglsnumberformat after \makeglossaries to get the
+% hyperlinks working correctly.)
- % To have Mc as a separate group uncomment the following three
- % lines:
+% To have Mc as a separate group uncomment the following three
+% lines:
- %\setStyleFile{samplexdy-mc} % note no extension
- %\noist
- %\GlsSetXdyLanguage{}
+%\setStyleFile{samplexdy-mc} % note no extension
+%\noist
+%\GlsSetXdyLanguage{}
- % The above three lines specify to use samplexdy-mc.xdy (supplied
- % with this file) and don't overwrite it. The language is
- % unset using \GlsSetXdyLanguage{} as all the language
- % dependent information is contained in samplexdy-mc.xdy
- % Note that using \noist means that commands like
- % \GlsAddXdyAttribute and \GlsAddXdyLocation will no longer have
- % an effect.
+% The above three lines specify to use samplexdy-mc.xdy (supplied
+% with this file) and don't overwrite it. The language is
+% unset using \GlsSetXdyLanguage{} as all the language
+% dependent information is contained in samplexdy-mc.xdy
+% Note that using \noist means that commands like
+% \GlsAddXdyAttribute and \GlsAddXdyLocation will no longer have
+% an effect.
- % Write the style file (if \noist isn't used)
- % and activate glossary entries
+% Write the style file (if \noist isn't used)
+% and activate glossary entries
\makeglossaries
- % Each page location will be specified in the form:
- %
- % "\glsXpageXglsnumberformat{}{\protect \Numberstringnum "\marg{n}"}"
- % or
- % "\glsXpageXhyperbfit{}{\protect \Numberstringnum "\marg{n}"}"
- %
- % Redefine to allow hyperlinks:
+% Each page location will be specified in the form:
+%
+% "\glsXpageXglsnumberformat{}{\tallynum {" number "}}"
+% or
+% "\glsXpageXhyperbfit{}{\tallynum {" number "}}"
+%
+% Knowing this, we can redefine \glsXpageXglsnumberformat
+% and \glsXpageXhyperbfit to grab the number part to work out the
+% location's numeric value. If the definition of \tally changes
+% so that it expands to something slightly different then this
+% code will no longer work.
+%
+% Redefine to allow hyperlinks:
\renewcommand{\glsXpageXglsnumberformat}[2]{%
+ % remember that #2 is in the form \tallynum {n}
+ % so this does \linkpagenumber\tallynum{n}
\linkpagenumber#2%
}
@@ -95,13 +131,15 @@
\textbf{\em\linkpagenumber#2}%
}
-\newcommand{\linkpagenumber}[3]{\hyperlink{page.#3}{#1#2{#3}}}
+% Syntax: \linkpagenumber\tallynum{page number}
+% This creates hyperlink to the given page.
+\newcommand{\linkpagenumber}[2]{\hyperlink{page.#2}{#1{#2}}}
- % Define glossary entries
- % \glshyperlink is used instead of \gls to prevent the glossary
- % page numbers also appear in the locations, however I need
- % to ensure that the referenced entries are added to the
- % glossary via commands that use \glslink, \glsadd or \glssee
+% Define glossary entries
+% \glshyperlink is used instead of \gls to prevent the glossary
+% page numbers also appear in the locations, however I need
+% to ensure that the referenced entries are added to the
+% glossary via commands that use \glslink, \glsadd or \glssee
\newglossaryentry{mcadam}{name={McAdam, John Loudon},
first={John Loudon McAdam},text={McAdam},
@@ -142,14 +180,14 @@ description={A nonparametric test introduced by
\newglossaryentry{mach}{name={Mach, Ernst},
first={Ernst Mach},text={Mach},
- % if using samplexdy-mc.xdy, the following line is needed
- % to prevent this entry being put in the "Mc" group
+% if using samplexdy-mc.xdy, the following line is needed
+% to prevent this entry being put in the "Mc" group
sort={mach, Ernst},
description={Czech/Austrian physicist and philosopher}}
\newglossaryentry{machnumber}{name={Mach number},
- % if using samplexdy-mc.xdy, the following line is needed
- % to prevent this entry being put in the "Mc" group
+% if using samplexdy-mc.xdy, the following line is needed
+% to prevent this entry being put in the "Mc" group
sort={mach number},
description={Ratio of the speed of a body in a fluid to the
speed of sound in that fluid named after \gls{mach}}}
@@ -223,7 +261,8 @@ several pages.
This paragraph has been shoved to the bottom of the page using a rule.
This paragraph spans a page break for testing purposes to ensure the
glossary entry in this paragraph has the correct location. Here's
-the glossary entry: \gls{gaussianfn}.
+the glossary entry: \gls{gaussianfn}. Check that the location is
+correct.
This page talks about \glspl[format=hyperbfit]{gaussianint}. Since
it's the principle definition, the user-defined hyperbfit format is