diff options
Diffstat (limited to 'macros/latex/contrib/glossaries/samples/samplexdy.tex')
-rw-r--r-- | macros/latex/contrib/glossaries/samples/samplexdy.tex | 300 |
1 files changed, 300 insertions, 0 deletions
diff --git a/macros/latex/contrib/glossaries/samples/samplexdy.tex b/macros/latex/contrib/glossaries/samples/samplexdy.tex new file mode 100644 index 0000000000..808a1ac5ee --- /dev/null +++ b/macros/latex/contrib/glossaries/samples/samplexdy.tex @@ -0,0 +1,300 @@ +% 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[notext,notextcomp]{stix} + +\usepackage[colorlinks,plainpages]{hyperref} +\usepackage[xindy,style=altlistgroup]{glossaries} + +% 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) + +\GlsAddXdyAttribute{hyperbfit} + +% 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 +} + +% \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" % -> } +} + +% 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.) + +% To have Mc as a separate group uncomment the following three +% lines: + +%\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. + +% Write the style file (if \noist isn't used) +% and activate glossary entries + +\makeglossaries + +% 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% +} + +\renewcommand{\glsXpageXhyperbfit}[2]{% + \textbf{\em\linkpagenumber#2}% +} + +% 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 + +\newglossaryentry{mcadam}{name={McAdam, John Loudon}, +first={John Loudon McAdam},text={McAdam}, +description={Scottish engineer}} + +\newglossaryentry{maclaurin}{name={Maclaurin, Colin}, +first={Colin Maclaurin},text={Maclaurin}, +description={Scottish mathematician best known for the +\gls{maclaurinseries}}} + +\newglossaryentry{maclaurinseries}{name={Maclaurin series}, +description={Series expansion},see={taylorstheorem}} + +\newglossaryentry{taylorstheorem}{name={Taylor's theorem}, +description={Theorem expressing a function $f(x)$ as the sum of +a polynomial and a remainder: +\[f(x) = f(a)+f'(a)(x-a)+f''(a)(x-a^2)/2!+\cdots+R_n\] +If $n\to\infty$ the expansion is a \glshyperlink{taylorseries} +and if $a=0$, the series is called a +\gls{maclaurinseries}}} + +\newglossaryentry{taylorseries}{name={Taylor series}, +description={Series expansion},see={taylorstheorem}} + +\newglossaryentry{taylor}{name={Taylor, Brook}, +first={Brook Taylor},text={Taylor}, +description={English mathematician}} + +\newglossaryentry{mcnemar}{name={McNemar, Quinn}, +first={Quinn McNemar},text={McNemar}, +description={Mathematician who introduced +\gls{mcnemarstest}. This entry has the number list +suppressed},nonumberlist} + +\newglossaryentry{mcnemarstest}{name={McNemar's test}, +description={A nonparametric test introduced by +\gls{mcnemar} in 1947}} + +\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 +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 +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}}} + +\newglossaryentry{malthus}{name={Malthus, Thomas Robert}, +first={Thomas Robert Malthus},text={Malthus}, +description={English mathematician, sociologist and classicist}} + +\newglossaryentry{ampereandre}{name={Ampère, André-Marie}, +first={André-Marie Ampère},text={Ampère}, +description={French mathematician and physicist}} + +\newglossaryentry{ampere}{name={ampere}, +description={SI unit of electric current named after +\gls{ampereandre}}} + +\newglossaryentry{archimedes}{name={Archimedes of Syracuse}, +first={Archimedes of Syracuse},text={Archimedes}, +description={Greek mathematician}} + +\newglossaryentry{archimedesprinciple}{name={Archimedes' principle}, +description={Principle that if a body is submerged in a fluid +it experiences upthrust equal to the weight of the displaced +fluid. Named after \gls{archimedes}}} + +\newglossaryentry{galton}{name={Galton, Sir Francis}, +first={Sir Francis Galton},text={Galton}, +description={English anthropologist}} + +\newglossaryentry{gauss}{name={Gauss, Karl Friedrich}, +first={Karl Friedrich Gauss},text={Gauss}, +description={German mathematician}} + +\newglossaryentry{gaussianint}{name={Gaussian integer}, +description={Complex number where both real and imaginary +parts are integers}} + +\newglossaryentry{gaussianfn}{name={Gaussian function}, + description={A function of the form: + \[f(x) = a \exp\left(-\frac{(x-b)^2}{2c^2}\right)\] + for some constants $a$, $b$ and $c$}} + +\newglossaryentry{peano}{name={Peano, Giuseppe}, +first={Giuseppe Peano},text={Peano}, +description={Italian mathematician}} + +\newglossaryentry{peanoscurve}{name={Peano's curve}, +description={A space-filling curve discovered by +\gls{peano}}} + +\newglossaryentry{pearson}{name={Pearson, Karl}, +first={Karl Pearson},text={Pearson}, +description={English mathematician}} + +\newglossaryentry{pearspmcc}{name={Pearson's product moment +correlation coefficient},description={Product moment correlation +coefficient named after \gls{pearson}}} + +\begin{document} +\title{Sample Document Using the Glossaries Package With Xindy} +\author{Nicola Talbot} +\maketitle + +\section{\glsentryfirst{gauss}} + +This is a section on \gls[format=(]{gauss}. This section spans +several pages. + +\rule{1pt}{0.6\textheight} + +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}. 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 +used. + +\newpage + +The section on \gls[format=)]{gauss} ends here. + +\section{Series Expansions} + +This section is about series expansions. It mentions +\gls{maclaurin} and \gls{taylor}. It also discusses +\gls{taylorstheorem} which is related to the \gls{taylorseries}. +The \gls{maclaurinseries} is a special case of the +\gls{taylorseries}. + +\section{\glsentryname{archimedesprinciple}} + +This section discusses \gls{archimedesprinciple} which was +introduced by \gls{archimedes}. + +\section{Another section} + +This section covers \gls{mach} who introduced the \gls{machnumber}. +It also mentions \gls{ampereandre} after whom the +SI unit \gls{ampere} is named. It then discusses \gls{galton} +and \gls{malthus}. Finally it mentions \gls{mcadam}. + +\newpage +This page discusses \gls{mcnemar} who introduced +\gls{mcnemarstest} and \gls{peano} who discovered \gls{peanoscurve}. + +\printglossaries +\end{document} |