%% %% This is file `glossaries-extra-stylemods.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% glossaries-extra.dtx (with options: `glossaries-extra-stylemods.sty,package') %% %% glossaries-extra.dtx %% Copyright 2017 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Nicola Talbot. %% %% This work consists of the files glossaries-extra.dtx and glossaries-extra.ins and the derived files glossaries-extra.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{glossaries-extra-stylemods}[2017/11/08 v1.22 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption{all}{% \appto\@glsxtr@loadstyles{% \RequirePackage{glossary-inline}% \RequirePackage{glossary-list}% \RequirePackage{glossary-tree}% \RequirePackage{glossary-mcols}% \RequirePackage{glossary-long}% \RequirePackage{glossary-longragged}% \RequirePackage{glossary-longbooktabs}% \RequirePackage{glossary-super}% \RequirePackage{glossary-superragged}% \RequirePackage{glossary-bookindex}% } } \DeclareOption*{% \IfFileExists{glossary-\CurrentOption.sty} {\eappto\@glsxtr@loadstyles{% \noexpand\RequirePackage{glossary-\CurrentOption}}% }% {% \PackageError{glossaries-extra-styles}% {Unknown option `\CurrentOption'}{}% }% } \ProcessOptions \@glsxtr@loadstyles \providecommand*{\glsxtrprelocation}{\space} \providecommand{\renewglossarystyle}[2]{% \ifcsundef{@glsstyle@#1}% {% \PackageError{glossaries-extra}{Glossary style `#1' isn't already defined}{}% }% {% \csdef{@glsstyle@#1}{#2}% }% } \ifdef{\@glsstyle@listdotted} {% \renewglossarystyle{listdotted}{% \setglossarystyle{list}% \renewcommand*{\glossentry}[2]{% \item[]\makebox[\glslistdottedwidth][l]{% \glsentryitem{##1}% \glstarget{##1}{\glossentryname{##1}}% \unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}% \glossentrydesc{##1}\glspostdescription}% \renewcommand*{\subglossentry}[3]{% \item[]\makebox[\glslistdottedwidth][l]{% \glssubentryitem{##2}% \glstarget{##2}{\glossentryname{##2}}% \unskip\leaders\hbox to 2.9mm{\hss.}\hfill\strut}% \glossentrydesc{##2}\glspostdescription}% } } {% } \ifdef{\@glsstyle@list} {% \newcommand{\glslistprelocation}{\glsxtrprelocation} \newcommand{\glslistchildprelocation}{\glslistprelocation} \newcommand{\glslistchildpostlocation}{.} \renewglossarystyle{list}{% \renewenvironment{theglossary}% {\begin{description}}{\end{description}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand*{\glossentry}[2]{% \item[\glsentryitem{##1}% \glstarget{##1}{\glossentryname{##1}}] \glossentrydesc{##1}\glspostdescription\glslistprelocation ##2}% \renewcommand*{\subglossentry}[3]{% \glssubentryitem{##2}% \glstarget{##2}{\strut}\space \glossentrydesc{##2}\glspostdescription \glslistchildprelocation ##3\glslistchildpostlocation}% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% } } {} \ifdef{\@glsstyle@altlist} {% \renewglossarystyle{altlist}{% \setglossarystyle{list}% \renewcommand*{\glossentry}[2]{% \item[\glsentryitem{##1}% \glstarget{##1}{\glossentryname{##1}}]% \mbox{}\par\nobreak\@afterheading \glossentrydesc{##1}\glspostdescription\glslistprelocation ##2}% \renewcommand{\subglossentry}[3]{% \par \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription \glslistchildprelocation ##3}% } } {} \ifdef{\@glsstyle@listgroup} {% \renewglossarystyle{listgroup}{% \setglossarystyle{list}% \renewcommand*{\glsgroupheading}[1]{% \item[\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}]% \mbox{}\par\nobreak\@afterheading }% } } {} \ifdef{\@glsstyle@listhypergroup} {% \renewglossarystyle{listhypergroup}{% \setglossarystyle{list}% \renewcommand*{\glossaryheader}{% \glslistnavigationitem{\glsnavigation}}% \renewcommand*{\glsgroupheading}[1]{% \item[\glslistgroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}]% \mbox{}\par\nobreak\@afterheading }% } } {} \ifdef{\@glsstyle@altlistgroup} {% \renewglossarystyle{altlistgroup}{% \setglossarystyle{altlist}% \renewcommand*{\glsgroupheading}[1]{% \item[\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}]% \mbox{}\par\nobreak\@afterheading }% } } {} \ifdef{\@glsstyle@altlisthypergroup} {% \renewglossarystyle{altlisthypergroup}{% \setglossarystyle{altlist}% \renewcommand*{\glossaryheader}{% \glslistnavigationitem{\glsnavigation}}% \renewcommand*{\glsgroupheading}[1]{% \item[\glslistgroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}]% \mbox{}\par\nobreak\@afterheading }% } } {} \ifcsdef{@glsstyle@long} {% \renewglossarystyle{long}{% \renewenvironment{theglossary}% {\begin{longtable}{lp{\glsdescwidth}}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription \glsxtrprelocation ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription \glsxtrprelocation ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{ & \tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@long3col} {% \renewglossarystyle{long3col}{% \renewenvironment{theglossary}% {\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@long4col} {% \renewglossarystyle{long4col}{% \renewenvironment{theglossary}% {\begin{longtable}{llll}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & \glossentrysymbol{##1} & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & \glossentrysymbol{##2} & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& & &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@longragged} {% \renewglossarystyle{longragged}{% \renewenvironment{theglossary}% {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription\glsxtrprelocation ##2% \tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}% \glspostdescription\glsxtrprelocation ##3% \tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{ & \tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@longragged3col} {% \renewglossarystyle{longragged3col}{% \renewenvironment{theglossary}% {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}% >{\raggedright}p{\glspagelistwidth}}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@altlongragged4col} {% \renewglossarystyle{altlongragged4col}{% \renewenvironment{theglossary}% {\begin{longtable}{l>{\raggedright}p{\glsdescwidth}l% >{\raggedright}p{\glspagelistwidth}}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & \glossentrysymbol{##1} & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & \glossentrysymbol{##2} & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& & &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@super} {% \renewglossarystyle{super}{% \renewenvironment{theglossary}% {\tablehead{}\tabletail{}% \begin{supertabular}{lp{\glsdescwidth}}}% {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription \glsxtrprelocation ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription \glsxtrprelocation ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& \tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@super3col} {% \renewglossarystyle{super3col}{% \renewenvironment{theglossary}% {\tablehead{}\tabletail{}% \begin{supertabular}{lp{\glsdescwidth}p{\glspagelistwidth}}}% {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{ & &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@super4col} {% \renewglossarystyle{super4col}{% \renewenvironment{theglossary}% {\tablehead{}\tabletail{}% \begin{supertabular}{llll}}{% \end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & \glossentrysymbol{##1} & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & \glossentrysymbol{##2} & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& & &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@superragged} {% \renewglossarystyle{superragged}{% \renewenvironment{theglossary}% {\tablehead{}\tabletail{}% \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}}}% {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription\glsxtrprelocation ##2% \tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription \glsxtrprelocation ##3% \tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& \tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@superragged3col} {% \renewglossarystyle{superragged3col}{% \renewenvironment{theglossary}% {\tablehead{}\tabletail{}% \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}% >{\raggedright}p{\glspagelistwidth}}}% {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{ & &\tabularnewline}% \fi } } {} \ifcsdef{@glsstyle@altsuperragged4col} {% \renewglossarystyle{altsuperragged4col}{% \renewenvironment{theglossary}% {\tablehead{}\tabletail{}% \begin{supertabular}{l>{\raggedright}p{\glsdescwidth}l% >{\raggedright}p{\glspagelistwidth}}}% {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & \glossentrysymbol{##1} & ##2\tabularnewline }% \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2}\glspostdescription & \glossentrysymbol{##2} & ##3\tabularnewline }% \ifglsnogroupskip \renewcommand*{\glsgroupskip}{}% \else \renewcommand*{\glsgroupskip}{& & &\tabularnewline}% \fi } } {} \ifdef{\@glsstyle@inline} {% \renewcommand*{\glspostinline}{.\spacefactor\sfcode`\.} \renewcommand*{\glsinlinedescformat}[3]{% \space#1\glsxtrpostdescription} \renewcommand*{\glsinlinesubdescformat}[3]{% #1\glsxtrpostdescription} } {} \ifdef{\@glsstyle@index} { \newcommand*{\glstreeprelocation}{\glsxtrprelocation} \newcommand*{\glstreechildprelocation}{\glstreeprelocation} \renewglossarystyle{index}{% \renewenvironment{theglossary}% {\setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}% \let\item\glstreeitem \let\subitem\glstreesubitem \let\subsubitem\glstreesubsubitem }% {\par}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand*{\glossentry}[2]{% \item\glsentryitem{##1}% \glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \ifglshassymbol{##1}{\space(\glossentrysymbol{##1})}{}% \glstreepredesc \glossentrydesc{##1}\glspostdescription \glstreeprelocation ##2% }% \renewcommand{\subglossentry}[3]{% \ifcase##1\relax \item \or \subitem \glssubentryitem{##2}% \else \subsubitem \fi \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}% \ifglshassymbol{##2}{\space(\glossentrysymbol{##2})}{}% \glstreechildpredesc\glossentrydesc{##2}\glspostdescription \glstreechildprelocation ##3% }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% } } {} \ifdef{\@glsstyle@indexgroup} {% \renewglossarystyle{indexgroup}{% \setglossarystyle{index}% \renewcommand*{\glsgroupheading}[1]{% \item\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% \nopagebreak\indexspace \nobreak\@afterheading }% } } {} \ifdef{\@glsstyle@indexhypergroup} {% \renewglossarystyle{indexhypergroup}{% \setglossarystyle{index}% \renewcommand*{\glossaryheader}{% \item\glstreenavigationfmt{\glsnavigation}% \nobreak\@afterheading\indexspace}% \renewcommand*{\glsgroupheading}[1]{% \item\glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace \nobreak\@afterheading}% }% } {} \ifdef{\@glsstyle@tree} {% \renewglossarystyle{tree}{% \renewenvironment{theglossary}% {\setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}}% {}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent0pt\relax \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \ifglshassymbol{##1}{\space(\glossentrysymbol{##1})}{}% \glstreepredesc\glossentrydesc{##1}\glspostdescription \glstreeprelocation##2\par }% \renewcommand{\subglossentry}[3]{% \hangindent##1\glstreeindent\relax \parindent##1\glstreeindent\relax \ifnum##1=1\relax \glssubentryitem{##2}% \fi \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}% \ifglshassymbol{##2}{\space(\glossentrysymbol{##2})}{}% \glstreechildpredesc\glossentrydesc{##2}\glspostdescription \glstreechildprelocation ##3\par }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% }% } {} \ifdef{\@glsstyle@treegroup} {% \renewglossarystyle{treegroup}{% \setglossarystyle{tree}% \renewcommand{\glsgroupheading}[1]{\par \noindent\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}\par \nopagebreak\indexspace\nobreak\@afterheading}% } } {} \ifdef{\@glsstyle@treehypergroup} {% \renewglossarystyle{treehypergroup}{% \setglossarystyle{tree}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}\par \nobreak\@afterheading\indexspace}% \renewcommand*{\glsgroupheading}[1]{% \par\noindent \glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par \nopagebreak\indexspace\nobreak\@afterheading}% } } {} \ifdef{\@glsstyle@treenoname} {% \renewglossarystyle{treenoname}{% \renewenvironment{theglossary}% {\setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}}% {}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent0pt\relax \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \ifglshassymbol{##1}{\space(\glossentrysymbol{##1})}{}% \glstreepredesc\glossentrydesc{##1}\glspostdescription \glstreeprelocation##2\par }% \renewcommand{\subglossentry}[3]{% \hangindent##1\glstreeindent\relax \parindent##1\glstreeindent\relax \ifnum##1=1\relax \glssubentryitem{##2}% \fi \glstarget{##2}{\strut}% \glossentrydesc{##2}\glspostdescription\glstreechildprelocation##3\par }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% } } {} \ifdef{\@glsstyle@treenonamegroup} {% \renewglossarystyle{treenonamegroup}{% \setglossarystyle{treenoname}% \renewcommand{\glsgroupheading}[1]{\par \noindent\glstreegroupheaderfmt {\glsgetgrouptitle{##1}}% \nopagebreak\indexspace\nobreak\@afterheading }% } } {} \ifdef{\@glsstyle@treenonamehypergroup} {% \renewglossarystyle{treenonamehypergroup}{% \setglossarystyle{treenoname}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}\par \nobreak\@afterheading\indexspace}% \renewcommand*{\glsgroupheading}[1]{% \par\noindent \glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading}% } } {} \ifdef{\@glsstyle@alttree} {% \newcommand{\glsxtralttreeSymbolDescLocation}[2]{% {% \let\par\glsxtrAltTreePar \ifglshassymbol{#1}{(\glossentrysymbol{#1})\space}{}% \glossentrydesc{#1}\glspostdescription\glstreeprelocation #2\par }% } \newlength\glsxtrAltTreeIndent \newcommand{\glsxtrAltTreePar}{% \@@par \glsxtrAltTreeSetHangIndent \setlength{\parindent}{\dimexpr\hangindent+\glsxtrAltTreeIndent}% } \newcommand{\glsxtralttreeSubSymbolDescLocation}[3]{% \glsxtralttreeSymbolDescLocation{#2}{#3}% } \newlength\glsxtrtreetopindent \newcommand*{\glsxtralttreeInit}{% \settowidth{\glsxtrtreetopindent}{\glstreenamefmt{\glsgetwidestname\space}}% \glsxtrAltTreeIndent=\parindent } \newcommand*{\gglssetwidest}[2][0]{% \csgdef{@glswidestname\romannumeral#1}{#2}% } \newcommand*{\eglssetwidest}[2][0]{% \protected@csedef{@glswidestname\romannumeral#1}{#2}% } \newcommand*{\xglssetwidest}[2][0]{% \protected@csxdef{@glswidestname\romannumeral#1}{#2}% } \newcommand*{\glsgetwidestname}{\@glswidestname} \newcommand*{\glsgetwidestsubname}[1]{% \ifcsundef{@glswidestname\romannumeral#1}% {\@glswidestname}% {\csuse{@glswidestname\romannumeral#1}}% } \let\glsFindWidestTopLevelName\glsfindwidesttoplevelname \newrobustcmd*{\glsFindWidestUsedTopLevelName}[1][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglsused{\@glo@label}% {% \ifglshasparent{\@glo@label}% {}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi }% }% {}% }% }% } \newrobustcmd*{\glsFindWidestUsedAnyName}[1][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglsused{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi }% {}% }% }% } \newrobustcmd*{\glsFindWidestAnyName}[1][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi }% }% } \newrobustcmd*{\glsFindWidestUsedLevelTwo}[1][\@glo@types]{% \dimen@=0pt\relax \dimen@i=0pt\relax \dimen@ii=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglsused{\@glo@label}% {% \ifglshasparent{\@glo@label}% {% \edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@label}@parent}}% \ifglshasparent{\@glo@parent}% {% \edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@parent}@parent}}% \ifglshasparent{\@glo@parent}% {}% {% \settowidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@ii \dimen@ii=\gls@tmplen \eglssetwidest[2]{\glsentryname{\@glo@label}}% \fi }% }% {% \settowidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@i \dimen@i=\gls@tmplen \eglssetwidest[1]{\glsentryname{\@glo@label}}% \fi }% }% {% \settowidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@ \dimen@=\gls@tmplen \eglssetwidest{\glsentryname{\@glo@label}}% \fi }% }% {}% }% }% } \newrobustcmd*{\glsFindWidestLevelTwo}[1][\@glo@types]{% \dimen@=0pt\relax \dimen@i=0pt\relax \dimen@ii=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglshasparent{\@glo@label}% {% \edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@label}@parent}}% \ifglshasparent{\@glo@parent}% {% \edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@parent}@parent}}% \ifglshasparent{\@glo@parent}% {}% {% \settowidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@ii \dimen@ii=\gls@tmplen \eglssetwidest[2]{\glsentryname{\@glo@label}}% \fi }% }% {% \settowidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@i \dimen@i=\gls@tmplen \eglssetwidest[1]{\glsentryname{\@glo@label}}% \fi }% }% {% \settowidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@ \dimen@=\gls@tmplen \eglssetwidest{\glsentryname{\@glo@label}}% \fi }% }% }% } \newrobustcmd*{\glsFindWidestUsedAnyNameSymbol}[2][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax #2=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglsused{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \settowidth{\dimen@}% {\glsentrysymbol{\@glo@label}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi }% {}% }% }% } \newrobustcmd*{\glsFindWidestAnyNameSymbol}[2][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax #2=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \settowidth{\dimen@}% {\glsentrysymbol{\@glo@label}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi }% }% } \newrobustcmd*{\glsFindWidestUsedAnyNameSymbolLocation}[3][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax #2=0pt\relax #3=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglsused{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \settowidth{\dimen@}% {\glsentrysymbol{\@glo@label}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi \settowidth{\dimen@}% {\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}% \ifdim\dimen@>#3\relax #3=\dimen@ \fi }% {}% }% }% } \newrobustcmd*{\glsFindWidestAnyNameSymbolLocation}[3][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax #2=0pt\relax #3=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \settowidth{\dimen@}% {\glsentrysymbol{\@glo@label}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi \settowidth{\dimen@}% {\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}% \ifdim\dimen@>#3\relax #3=\dimen@ \fi }% }% } \newrobustcmd*{\glsFindWidestUsedAnyNameLocation}[2][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax #2=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \ifglsused{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \settowidth{\dimen@}% {\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi }% {}% }% }% } \newrobustcmd*{\glsFindWidestAnyNameLocation}[2][\@glo@types]{% \dimen@=0pt\relax \gls@tmplen=0pt\relax #2=0pt\relax \forallglossaries[#1]{\@gls@type}% {% \forglsentries[\@gls@type]{\@glo@label}% {% \settowidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \settowidth{\dimen@}% {\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi }% }% } \newcommand*{\glsxtrComputeTreeIndent}[1]{% \glstreeindent=\glsxtrtreetopindent\relax } \newcommand*{\glsxtrComputeTreeSubIndent}[3]{% \ifcsundef{@glswidestname\romannumeral#1}% {% \settowidth{#3}{\glstreenamefmt{\@glswidestname\space}}% }% {% \settowidth{#3}{\glstreenamefmt{% \csname @glswidestname\romannumeral#1\endcsname\space}}% }% } \newcommand*{\glsxtrAltTreeSetHangIndent}{\hangindent\glstreeindent} \newcommand*{\glsxtrAltTreeSetSubHangIndent}[1]{\hangindent\glstreeindent} \renewglossarystyle{alttree}{% \renewenvironment{theglossary}% {% \glsxtralttreeInit \def\@gls@prevlevel{-1}% \mbox{}\par}% {\par}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \ifnum\@gls@prevlevel=0\relax \else \glsxtrComputeTreeIndent{##1}% \fi \parindent\glstreeindent \glsxtrAltTreeSetHangIndent \makebox[0pt][r]% {% \glstreenamebox{\glstreeindent}% {% \glsentryitem{##1}% \glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% }% }% \glsxtralttreeSymbolDescLocation{##1}{##2}% \def\@gls@prevlevel{0}% } \renewcommand{\subglossentry}[3]{% \ifnum##1=1\relax \glssubentryitem{##2}% \fi \ifnum\@gls@prevlevel=##1\relax \else \glsxtrComputeTreeSubIndent{##1}{##2}{\gls@tmplen}% \ifnum\@gls@prevlevel<##1\relax \setlength\glstreeindent\gls@tmplen \addtolength\glstreeindent\parindent \parindent\glstreeindent \else \ifnum\@gls@prevlevel=0\relax \glsxtrComputeTreeIndent{##2}% \else \glsxtrComputeTreeSubIndent{\@gls@prevlevel}{##2}{\glstreeindent}% \fi \addtolength\parindent{-\glstreeindent}% \setlength\glstreeindent\parindent \fi \fi \glsxtrAltTreeSetSubHangIndent{##1}% \makebox[0pt][r]{\glstreenamebox{\gls@tmplen}{% \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}}}% \glsxtralttreeSubSymbolDescLocation{##1}{##2}{##3}% \def\@gls@prevlevel{##1}% }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% } }% {% } \ifdef{\@glsstyle@alttreegroup} {% \renewglossarystyle{alttreegroup}{% \setglossarystyle{alttree}% \renewcommand{\glsgroupheading}[1]{\par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% \nopagebreak\indexspace\nopagebreak }% }% }% {% } \ifdef{\@glsstyle@alttreehypergroup} {% \renewglossarystyle{alttreehypergroup}{% \setglossarystyle{alttree}% \renewcommand*{\glossaryheader}{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreenavigationfmt{\glsnavigation}\par\indexspace }% \renewcommand*{\glsgroupheading}[1]{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par \nopagebreak\indexspace\nopagebreak }% } }% {% } \ifdef{\@glsstyle@mcolindexgroup} {% \renewglossarystyle{mcolindexgroup}{% \setglossarystyle{mcolindex}% \renewcommand*{\glsgroupheading}[1]{% \item\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcolindexhypergroup} {% \renewglossarystyle{mcolindexhypergroup}{% \setglossarystyle{mcolindex}% \renewcommand*{\glossaryheader}{% \item\glstreenavigationfmt{\glsnavigation}% \indexspace }% \renewcommand*{\glsgroupheading}[1]{% \item\glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcolindexspannav} {% \renewglossarystyle{mcolindexspannav}{% \setglossarystyle{index}% \renewenvironment{theglossary}% {% \begin{multicols}{\glsmcols}[\noindent\glstreenavigationfmt{\glsnavigation}]% \setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}% \let\item\glstreeitem}% {\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% \item\glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreegroup} {% \renewglossarystyle{mcoltreegroup}{% \setglossarystyle{mcoltree}% \renewcommand{\glsgroupheading}[1]{\par \noindent\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreehypergroup} {% \renewglossarystyle{mcoltreehypergroup}{% \setglossarystyle{mcoltree}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}\par\indexspace }% \renewcommand*{\glsgroupheading}[1]{% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreespannav} {% \renewglossarystyle{mcoltreespannav}{% \setglossarystyle{tree}% \renewenvironment{theglossary}% {% \begin{multicols}{\glsmcols}% [\noindent\glstreenavigationfmt{\glsnavigation}]% \setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}% }% {\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreenonamegroup} {% \renewglossarystyle{mcoltreenonamegroup}{% \setglossarystyle{mcoltreenoname}% \renewcommand{\glsgroupheading}[1]{\par \noindent\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% \nopagebreak\indexspace\nobreak\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreenonamehypergroup} {% \renewglossarystyle{mcoltreenonamehypergroup}{% \setglossarystyle{mcoltreenoname}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}\par\indexspace}% \renewcommand*{\glsgroupheading}[1]{% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading}% } }% {% } \ifdef{\@glsstyle@mcoltreenonamespannav} {% \renewglossarystyle{mcoltreenonamespannav}{% \setglossarystyle{treenoname}% \renewenvironment{theglossary}% {% \begin{multicols}{\glsmcols}% [\noindent\glstreenavigationfmt{\glsnavigation}]% \setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}% }% {\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nobreak\@afterheading}% } }% {% } \ifdef{\@glsstyle@mcolalttree} {% \renewglossarystyle{mcolalttree}{% \setglossarystyle{alttree}% \renewenvironment{theglossary}% {% \glsxtralttreeInit \def\@gls@prevlevel{-1}% \begin{multicols}{\glsmcols}% }% {\par\end{multicols}}% } }% {% } \ifdef{\@glsstyle@mcolalttreegroup} {% \renewglossarystyle{mcolalttreegroup}{% \setglossarystyle{mcolalttree}% \renewcommand{\glsgroupheading}[1]{\par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% \nopagebreak\indexspace\nopagebreak }% } }% {% } \ifdef{\@glsstyle@mcolalttreehypergroup} {% \renewglossarystyle{mcolalttreehypergroup}{% \setglossarystyle{mcolalttree}% \renewcommand*{\glossaryheader}{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreenavigationfmt{\glsnavigation}% \par\indexspace }% \renewcommand*{\glsgroupheading}[1]{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nopagebreak }% } }% {% } \ifdef{\@glsstyle@mcolalttreespannav} {% \renewglossarystyle{mcolalttreespannav}{% \setglossarystyle{alttree}% \renewenvironment{theglossary}% {% \glsxtralttreeInit \def\@gls@prevlevel{-1}% \begin{multicols}{\glsmcols}% [\noindent\glstreenavigationfmt{\glsnavigation}]% }% {\par\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% \nopagebreak\indexspace\nopagebreak }% } }% {% } \ifx\@glossary@default@style\relax \else \setglossarystyle{\@glsxtr@current@style} \fi \endinput %% %% End of file `glossaries-extra-stylemods.sty'.