%% %% 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 2023 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-abbrstyles.def, glossaries-extra-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.sty, glossary-table.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-childmultipar.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-longchild.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbolnames.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-user.bib, example-glossaries-utf8.bib, example-glossaries-xr.bib, glossaries-extra-2021-11-22.sty, glossaries-extra-bib2gls-2021-11-22.sty, glossaries-extra-stylemods-2021-11-22.sty, glossary-bookindex-2021-11-22.sty, glossary-longextra-2021-11-22.sty, glossary-topic-2021-11-22.sty. %% %% \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} \DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-stylemods-2021-11-22.sty} \DeclareCurrentRelease{v1.53}{2023-09-29} \ProvidesPackage{glossaries-extra-stylemods}[2023/09/29 v1.53 (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}% \RequirePackage{glossary-longextra}% \RequirePackage{glossary-topic}% \RequirePackage{glossary-table}% } } \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}{.} \newcommand{\glslistdesc}[1]{\glossentrydesc{#1}\glspostdescription} \newcommand{\glslistgroupskip}{\nobreak\indexspace\nobreak} \newcommand{\glslistitem}[1]{% \item[\glsentryitem{#1}% \glstarget{#1}{\glossentryname{#1}}]% } \providecommand{\glslistinit}{% \ifdef\GetTitleStringDisableCommands {% \GetTitleStringSetup{expand}% \GetTitleStringDisableCommands{% \let\glsentryitem\@gobble \let\glstarget\@secondoftwo \let\glossentryname\glslistexpandedname \let\glslistgroupheaderfmt\@firstofone \let\glsgetgrouptitle\@firstofone \let\glsnavhypertarget\@secondoftwo \let\glsnavigation\relax }% }% {}% } \providecommand{\glslistexpandedname}[1]{% \ifcsname glo@\glsdetoklabel{#1}@name\endcsname \expandafter\expandonce\csname glo@\glsdetoklabel{#1}@name\expandafter\endcsname \fi } \renewglossarystyle{list}{% \renewenvironment{theglossary}% {\glslistinit\begin{description}}{\end{description}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand*{\glossentry}[2]{% \glslistitem{##1}\glslistdesc{##1}\glslistprelocation ##2}% \renewcommand*{\subglossentry}[3]{% \glssubentryitem{##2}% \glstarget{##2}{\strut}\space \glslistdesc{##2}% \glslistchildprelocation ##3\glslistchildpostlocation}% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glslistgroupskip\fi}% } } {} \ifdef{\@glsstyle@altlist} {% \newcommand{\glsaltlistitem}[1]{% \glslistitem{#1}% \mbox{}\par\nobreak\@afterheading } \renewglossarystyle{altlist}{% \setglossarystyle{list}% \renewcommand*{\glossentry}[2]{% \glsaltlistitem{##1}% \glslistdesc{##1}\glslistprelocation ##2}% \renewcommand{\subglossentry}[3]{% \par \glssubentryitem{##2}% \glstarget{##2}{\strut}\glslistdesc{##2}% \glslistchildprelocation ##3}% } } {} \ifdef{\@glsstyle@listgroup} {% \newcommand{\glslistgroupheaderitem}[2]{\item[{#2}]} \newcommand{\glslistgroupafterheader}{% \mbox{}\par\nobreak\@afterheading } \renewglossarystyle{listgroup}{% \setglossarystyle{list}% \renewcommand*{\glsgroupheading}[1]{% \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}}% \glslistgroupafterheader }% } } {} \ifdef{\@glsstyle@listhypergroup} {% \renewglossarystyle{listhypergroup}{% \setglossarystyle{list}% \renewcommand*{\glossaryheader}{% \glslistnavigationitem{\glsnavigation}}% \renewcommand*{\glsgroupheading}[1]{% \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}}% \glslistgroupafterheader }% } } {} \ifdef{\@glsstyle@altlistgroup} {% \renewglossarystyle{altlistgroup}{% \setglossarystyle{altlist}% \renewcommand*{\glsgroupheading}[1]{% \glslistgroupheaderitem{##1}% {\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}}% \glslistgroupafterheader }% } } {} \ifdef{\@glsstyle@altlisthypergroup} {% \renewglossarystyle{altlisthypergroup}{% \setglossarystyle{altlist}% \renewcommand*{\glossaryheader}{% \glslistnavigationitem{\glsnavigation}}% \renewcommand*{\glsgroupheading}[1]{% \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}}% \glslistgroupafterheader }% } } {} \ifcsdef{@glsstyle@long} {% \renewglossarystyle{long}{% \renewenvironment{theglossary}% {\begin{longtable}{lp{\glsdescwidth}}}% {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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*{\glssubgroupheading}[4]{}% \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\glstreenamefmt { \newcommand{\glstreedefaultnamefmt}[1]{\textbf{#1}} \renewcommand{\glstreenamefmt}[1]{\glstreedefaultnamefmt{#1}} \def\glstreegroupheaderfmt#1{\glstreedefaultnamefmt{#1}} \def\glstreenavigationfmt#1{\glstreedefaultnamefmt{#1}} \newcommand{\glstreePreHeader}[2]{} \newcommand{\glstreeSubPreHeader}[5]{} } {} \ifdef{\@glsstyle@index} { \newcommand*{\glstreeprelocation}{\glsxtrprelocation} \newcommand*{\glstreechildprelocation}{\glstreeprelocation} \newcommand{\glstreegroupskip}{\indexspace} \newcommand{\glstreegroupheaderskip}{\nopagebreak\glstreegroupskip\nobreak} \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*{\glssubgroupheading}[4]{}% \renewcommand*{\glossentry}[2]{% \item\glsentryitem{##1}% \glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \glstreesymbol{##1}% \glstreeDescLoc{##1}{##2}% }% \renewcommand{\subglossentry}[3]{% \ifcase##1\relax \item \or \subitem \glssubentryitem{##2}% \else \subsubitem \fi \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}% \glstreechildsymbol{##2}% \glstreeChildDescLoc{##2}{##3}% }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% } } {} \ifdef{\@glsstyle@indexgroup} {% \newcommand*{\glsindexsubgroupitem}[5]{% \ifcase#2\relax \item \glstreegroupheaderfmt{#5}% \glstreegroupheaderskip \or \smallskip \subitem \glstreegroupheaderfmt{#5}% \smallskip \else \smallskip \subsubitem \glstreegroupheaderfmt{#5}% \smallskip \fi } \renewglossarystyle{indexgroup}{% \setglossarystyle{index}% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glsindexsubgroupitem{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \@afterheading }% } } {} \ifdef{\@glsstyle@indexhypergroup} {% \renewglossarystyle{indexhypergroup}{% \setglossarystyle{index}% \renewcommand*{\glossaryheader}{% \item\glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip\@afterheading}% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading}% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glsindexsubgroupitem{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}% \@afterheading }% }% } {} \ifdef{\@glsstyle@tree} {% \newcommand{\glsxtrtreepredesc}{\glstreepredesc} \newcommand{\glsxtrtreechildpredesc}{\glstreechildpredesc} \newcommand{\glstreedesc}[1]{% \glsxtrtreepredesc\glossentrydesc{#1}\glspostdescription } \newcommand{\glstreeDescLoc}[2]{% \ifglshasdesc{#1}% {\glstreedesc{#1}\glstreeprelocation}% {\ifglshassymbol{#1}{\glstreeprelocation}{\glstreeNoDescSymbolPreLocation}}% #2% } \newcommand{\glstreeNoDescSymbolPreLocation}{\space} \newcommand{\glstreesymbol}[1]{% \ifglshassymbol{#1}{\space(\glossentrysymbol{#1})}{}% }% \newcommand{\glstreechilddesc}[1]{% \glsxtrtreechildpredesc\glossentrydesc{#1}\glspostdescription }% \newcommand{\glstreeChildDescLoc}[2]{% \ifglshasdesc{#1}% {\glstreechilddesc{#1}\glstreechildprelocation}% {\ifglshassymbol{#1}{\glstreechildprelocation}% {\glstreeNoDescSymbolPreLocation}% }% #2% }% \newcommand{\glstreechildsymbol}[1]{% \glstreesymbol{#1}% }% \renewglossarystyle{tree}{% \renewenvironment{theglossary}% {\setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}}% {}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent0pt\relax \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \glstreesymbol{##1}% \glstreeDescLoc{##1}{##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}}}% \glstreechildsymbol{##2}% \glstreeChildDescLoc{##2}{##3}\par }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% }% } {} \ifdef{\@glsstyle@treegroup} {% \newcommand*{\glstreesubgroupitem}[5]{% \par\smallskip\noindent\hspace{#2\glstreeindent}% \glstreegroupheaderfmt{#5}\smallskip\par } \renewglossarystyle{treegroup}{% \setglossarystyle{tree}% \renewcommand{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip\@afterheading}% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glstreesubgroupitem{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% }% } } {} \ifdef{\@glsstyle@treehypergroup} {% \renewglossarystyle{treehypergroup}{% \setglossarystyle{tree}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip\@afterheading}% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading}% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glstreesubgroupitem{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}% }% } } {} \ifdef{\@glsstyle@treenoname} {% \newcommand{\glstreenonamedesc}[1]{% \glstreepredesc\glossentrydesc{#1}\glspostdescription }% \newcommand{\glstreenonamesymbol}[1]{% \ifglshassymbol{#1}{\space(\glossentrysymbol{#1})}{}% }% \newcommand{\glstreenonameDescLoc}[2]{% \glstreenonamedesc{#1}\glstreeprelocation#2% } \newcommand{\glstreenonamechilddesc}[1]{% \glossentrydesc{#1}\glspostdescription }% \newcommand{\glstreenonameChildDescLoc}[2]{% \glstreenonamechilddesc{#1}\glstreechildprelocation#2% } \renewglossarystyle{treenoname}{% \renewenvironment{theglossary}% {\setlength{\parindent}{0pt}% \setlength{\parskip}{0pt plus 0.3pt}}% {}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent0pt\relax \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \glstreenonamesymbol{##1}% \glstreenonameDescLoc{##1}{##2}\par }% \renewcommand{\subglossentry}[3]{% \hangindent##1\glstreeindent\relax \parindent##1\glstreeindent\relax \ifnum##1=1\relax \glssubentryitem{##2}% \fi \glstarget{##2}{\strut}% \glstreenonameChildDescLoc{##2}{##3}\par }% \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% } } {} \ifdef{\@glsstyle@treenonamegroup} {% \renewglossarystyle{treenonamegroup}{% \setglossarystyle{treenoname}% \renewcommand{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip\@afterheading }% } } {} \ifdef{\@glsstyle@treenonamehypergroup} {% \renewglossarystyle{treenonamehypergroup}{% \setglossarystyle{treenoname}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip\@afterheading}% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading}% } } {} \ifdef{\@glsstyle@alttree} {% \newcommand{\glsalttreepredesc}{} \newcommand{\glsalttreechildpredesc}{\glsalttreepredesc} \newcommand{\glsxtralttreeSymbolDescLocation}[2]{% {% \let\par\glsxtrAltTreePar \let\glsxtrtreepredesc\glsalttreepredesc \let\glsxtrtreechildpredesc\glsalttreechildpredesc \ifglshassymbol{#1}{(\glossentrysymbol{#1})\space}{}% \glstreeDescLoc{#1}{#2}\par }% } \newlength\glsxtrAltTreeIndent \newcommand{\glsxtrAltTreePar}{% \@@par \glsxtrAltTreeSetHangIndent \setlength{\parindent}{\dimexpr\hangindent+\glsxtrAltTreeIndent}% } \newcommand{\glsxtralttreeSubSymbolDescLocation}[3]{% \glsxtralttreeSymbolDescLocation{#2}{#3}% } \newlength\glsxtrtreetopindent \newcommand*{\glsxtralttreeInit}{% \glsmeasurewidth{\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*{\glsupdatewidest}[2][0]{% \ifcsundef{@glswidestname\romannumeral#1}% {\csdef{@glswidestname\romannumeral#1}{#2}}% {% \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% \glsmeasurewidth{\dimen@ii}{#2}% \ifdim\dimen@ii>\dimen@ \csdef{@glswidestname\romannumeral#1}{#2}% \fi }% } \newcommand*{\gglsupdatewidest}[2][0]{% \ifcsundef{@glswidestname\romannumeral#1}% {\csgdef{@glswidestname\romannumeral#1}{#2}}% {% \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% \glsmeasurewidth{\dimen@ii}{#2}% \ifdim\dimen@ii>\dimen@ \csgdef{@glswidestname\romannumeral#1}{#2}% \fi }% } \newcommand*{\eglsupdatewidest}[2][0]{% \ifcsundef{@glswidestname\romannumeral#1}% {\protected@csedef{@glswidestname\romannumeral#1}{#2}}% {% \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% \glsmeasurewidth{\dimen@ii}{#2}% \ifdim\dimen@ii>\dimen@ \protected@csedef{@glswidestname\romannumeral#1}{#2}% \fi }% } \newcommand*{\xglsupdatewidest}[2][0]{% \ifcsundef{@glswidestname\romannumeral#1}% {\protected@csxdef{@glswidestname\romannumeral#1}{#2}}% {% \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% \glsmeasurewidth{\dimen@ii}{#2}% \ifdim\dimen@ii>\dimen@ \protected@csxdef{@glswidestname\romannumeral#1}{#2}% \fi }% } \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}% {}% {% \glsmeasurewidth{\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}% {% \glsmeasurewidth{\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}% {% \glsmeasurewidth{\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}% {% \protected@edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@label}@parent}}% \ifglshasparent{\@glo@parent}% {% \protected@edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@parent}@parent}}% \ifglshasparent{\@glo@parent}% {}% {% \glsmeasurewidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@ii \dimen@ii=\gls@tmplen \eglssetwidest[2]{\glsentryname{\@glo@label}}% \fi }% }% {% \glsmeasurewidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@i \dimen@i=\gls@tmplen \eglssetwidest[1]{\glsentryname{\@glo@label}}% \fi }% }% {% \glsmeasurewidth{\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}% {% \protected@edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@label}@parent}}% \ifglshasparent{\@glo@parent}% {% \protected@edef\@glo@parent{\csuse{glo@\glsdetoklabel{\@glo@parent}@parent}}% \ifglshasparent{\@glo@parent}% {}% {% \glsmeasurewidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@ii \dimen@ii=\gls@tmplen \eglssetwidest[2]{\glsentryname{\@glo@label}}% \fi }% }% {% \glsmeasurewidth{\gls@tmplen}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\gls@tmplen>\dimen@i \dimen@i=\gls@tmplen \eglssetwidest[1]{\glsentryname{\@glo@label}}% \fi }% }% {% \glsmeasurewidth{\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}% {% \glsmeasurewidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \glsmeasurewidth{\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}% {% \glsmeasurewidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \glsmeasurewidth{\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}% {% \glsmeasurewidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \glsmeasurewidth{\dimen@}% {\glsentrysymbol{\@glo@label}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi \glsmeasurewidth{\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}% {% \glsmeasurewidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \glsmeasurewidth{\dimen@}% {\glsentrysymbol{\@glo@label}}% \ifdim\dimen@>#2\relax #2=\dimen@ \fi \glsmeasurewidth{\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}% {% \glsmeasurewidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \glsmeasurewidth{\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}% {% \glsmeasurewidth{\dimen@}% {\glstreenamefmt{\glsentryname{\@glo@label}}}% \ifdim\dimen@>\gls@tmplen \gls@tmplen=\dimen@ \eglssetwidest{\glsentryname{\@glo@label}}% \fi \glsmeasurewidth{\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}% {% \glsmeasurewidth{#3}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{#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*{\glssubgroupheading}[4]{}% \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\glstreegroupskip\fi}% } }% {% } \ifdef{\@glsstyle@alttreegroup} { \newcommand*{\glsalttreesubgroupheader}[6]{% \par\smallskip \makebox[0pt][r]{\glstreenamebox{#6}% {\glstreegroupheaderfmt{#5}}}% \smallskip\par } \renewglossarystyle{alttreegroup}{% \setglossarystyle{alttree}% \renewcommand{\glsgroupheading}[1]{\par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \ifnum\@gls@prevlevel=##2\relax \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \ifnum\@gls@prevlevel<##2\relax \setlength\glstreeindent\gls@tmplen \addtolength\glstreeindent\parindent \parindent\glstreeindent \else \ifnum\@gls@prevlevel=0\relax \glsxtrComputeTreeIndent{##2}% \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \fi \addtolength\parindent{-\glstreeindent}% \setlength\glstreeindent\parindent \fi \fi \glsxtrAltTreeSetSubHangIndent{##2}% \glsalttreesubgroupheader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}{\gls@tmplen}% \def\@gls@prevlevel{##2}% \par }% }% }% {% } \ifdef{\@glsstyle@alttreehypergroup} {% \renewglossarystyle{alttreehypergroup}{% \setglossarystyle{alttree}% \renewcommand*{\glossaryheader}{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip }% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \ifnum\@gls@prevlevel=##2\relax \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \ifnum\@gls@prevlevel<##2\relax \setlength\glstreeindent\gls@tmplen \addtolength\glstreeindent\parindent \parindent\glstreeindent \else \ifnum\@gls@prevlevel=0\relax \glsxtrComputeTreeIndent{##2}% \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \fi \addtolength\parindent{-\glstreeindent}% \setlength\glstreeindent\parindent \fi \fi \glsxtrAltTreeSetSubHangIndent{##2}% \glsalttreesubgroupheader{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}{\gls@tmplen}% \def\@gls@prevlevel{##2}% \par }% } }% {% } \ifdef{\@glsstyle@mcolindexgroup} {% \renewglossarystyle{mcolindexgroup}{% \setglossarystyle{mcolindex}% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glsindexsubgroupitem{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \@afterheading }% } }% {% } \ifdef{\@glsstyle@mcolindexhypergroup} {% \renewglossarystyle{mcolindexhypergroup}{% \setglossarystyle{mcolindex}% \renewcommand*{\glossaryheader}{% \item\glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glsindexsubgroupitem{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}% \@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]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glsindexsubgroupitem{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}% \@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreegroup} {% \renewglossarystyle{mcoltreegroup}{% \setglossarystyle{mcoltree}% \renewcommand{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glstreesubgroupitem{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% }% } }% {% } \ifdef{\@glsstyle@mcoltreehypergroup} {% \renewglossarystyle{mcoltreehypergroup}{% \setglossarystyle{mcoltree}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip }% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glstreesubgroupitem{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}% }% } }% {% } \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]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@afterheading }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \glstreesubgroupitem{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}% }% } }% {% } \ifdef{\@glsstyle@mcoltreenonamegroup} {% \renewglossarystyle{mcoltreenonamegroup}{% \setglossarystyle{mcoltreenoname}% \renewcommand{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip\@afterheading }% } }% {% } \ifdef{\@glsstyle@mcoltreenonamehypergroup} {% \renewglossarystyle{mcoltreenonamehypergroup}{% \setglossarystyle{mcoltreenoname}% \renewcommand*{\glossaryheader}{% \par\noindent\glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip }% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@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]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip\@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]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsxtr@grptitle}% \glstreegroupheaderskip }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \ifnum\@gls@prevlevel=##2\relax \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \ifnum\@gls@prevlevel<##2\relax \setlength\glstreeindent\gls@tmplen \addtolength\glstreeindent\parindent \parindent\glstreeindent \else \ifnum\@gls@prevlevel=0\relax \glsxtrComputeTreeIndent{##2}% \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \fi \addtolength\parindent{-\glstreeindent}% \setlength\glstreeindent\parindent \fi \fi \glsxtrAltTreeSetSubHangIndent{##2}% \glsalttreesubgroupheader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}{\gls@tmplen}% \def\@gls@prevlevel{##2}% \par }% } }% {% } \ifdef{\@glsstyle@mcolalttreehypergroup} {% \renewglossarystyle{mcolalttreehypergroup}{% \setglossarystyle{mcolalttree}% \renewcommand*{\glossaryheader}{% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreenavigationfmt{\glsnavigation}% \glstreegroupheaderskip }% \renewcommand*{\glsgroupheading}[1]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \ifnum\@gls@prevlevel=##2\relax \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \ifnum\@gls@prevlevel<##2\relax \setlength\glstreeindent\gls@tmplen \addtolength\glstreeindent\parindent \parindent\glstreeindent \else \ifnum\@gls@prevlevel=0\relax \glsxtrComputeTreeIndent{##2}% \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \fi \addtolength\parindent{-\glstreeindent}% \setlength\glstreeindent\parindent \fi \fi \glsxtrAltTreeSetSubHangIndent{##2}% \glsalttreesubgroupheader{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}{\gls@tmplen}% \def\@gls@prevlevel{##2}% \par }% } }% {% } \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]{% \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% \glstreegroupheaderskip }% \renewcommand*{\glssubgroupheading}[4]{% \glsxtrgetgrouptitle{##4}{\glsxtr@grptitle}% \glstreeSubPreHeader{##1}{##2}{##3}{##4}{\glsxtr@grptitle}% \ifnum\@gls@prevlevel=##2\relax \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \ifnum\@gls@prevlevel<##2\relax \setlength\glstreeindent\gls@tmplen \addtolength\glstreeindent\parindent \parindent\glstreeindent \else \ifnum\@gls@prevlevel=0\relax \glsxtrComputeTreeIndent{##2}% \else \ifcsundef{@glswidestname\romannumeral##2}% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% }% {% \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{% \csname @glswidestname\romannumeral##2\endcsname\space}}% }% \fi \addtolength\parindent{-\glstreeindent}% \setlength\glstreeindent\parindent \fi \fi \glsxtrAltTreeSetSubHangIndent{##2}% \glsalttreesubgroupheader{##1}{##2}{##3}{##4}% {\glsnavhypertarget{##4}{\glsxtr@grptitle}}{\gls@tmplen}% \def\@gls@prevlevel{##2}% \par }% } }% {% } \ifx\@glossary@default@style\relax \else \setglossarystyle{\@glsxtr@current@style} \fi \endinput %% %% End of file `glossaries-extra-stylemods.sty'.