diff options
author | Karl Berry <karl@freefriends.org> | 2022-10-20 20:37:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-10-20 20:37:01 +0000 |
commit | dfd3a224de343462796bcded2036ad4d70799aad (patch) | |
tree | 7ed53dc32bf67b1268c944d446e9b513943ac8dd /Master/texmf-dist/tex | |
parent | 1bea5105918383ace6baf917095f5127b4b52025 (diff) |
glossaries-extra (20oct22)
git-svn-id: svn://tug.org/texlive/trunk@64764 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
15 files changed, 32483 insertions, 5390 deletions
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex b/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex index ec47f031124..4553100b578 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex +++ b/Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `example-glossaries-xr.tex,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty new file mode 100644 index 00000000000..67187231faf --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-2021-11-22.sty @@ -0,0 +1,15124 @@ +%% +%% This is file `glossaries-extra-2021-11-22.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossaries-extra-2021-11-22.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossaries-extra}[2021/11/22 v1.48 (NLCT)] +\RequirePackage{xkeyval} +\RequirePackage{etoolbox} +\@ifpackageloaded{glossaries} +{% + \newcommand{\glsxtr@dooption}[1]{\setupglossaries{#1}}% + \let\@glsxtr@declareoption\@gls@declareoption +} +{% + \newcommand{\glsxtr@dooption}[1]{% + \PassOptionsToPackage{#1}{glossaries}% + }% + \PassOptionsToPackage{toc}{glossaries} + \PassOptionsToPackage{nopostdot}{glossaries} + \PassOptionsToPackage{noredefwarn}{glossaries} + \@ifpackageloaded{polyglossia}% + {}% + {% + \@ifpackageloaded{babel}% + {\PassOptionsToPackage{translate=babel}{glossaries}}% + {}% + }% + \newcommand*{\@glsxtr@declareoption}[2]{% + \DeclareOptionX{#1}{#2}% + \DeclareOption{#1}{#2}% + } +} +\newcommand*{\glsxtrundefaction}[2]{% + \@glsxtrundeftag\PackageError{glossaries-extra}{#1}{#2}% +} +\newcommand*{\glsxtr@warnonexistsordo}[1]{} +\newcommand*{\glsxtrundeftag}{??} +\newcommand*{\@glsxtrundeftag}{} +\newcommand*{\@glsxtr@warn@undefaction}[2]{% + \@glsxtrundeftag\GlossariesExtraWarning{#1}% +} +\newcommand*{\@glsxtr@err@undefaction}[2]{% + \@glsxtrundeftag\PackageError{glossaries-extra}{#1}{#2}% +} +\newcommand*{\@glsxtr@warn@onexistsordo}[1]{% + \GlossariesExtraWarning{\string#1\space hasn't been defined, so + some errors won't be converted to warnings. + (This most likely means your version of + glossaries.sty is below version 4.19.)}% +} + +\newcommand*{\@glsxtr@redef@forglsentries}{} +\newcommand*{\@glsxtr@do@redef@forglsentries}{% + \renewcommand*{\forglsentries}[3][\glsdefaulttype]{% + \protected@edef\@@glo@list{\csname glolist@##1\endcsname}% + \ifdefstring{\@@glo@list}{,}% + {% + \GlossariesExtraWarning{No entries defined in glossary `##1'}% + }% + {% + \@for##2:=\@@glo@list\do + {% + \ifdefempty{##2}{}{##3}% + }% + }% + }% +}% +\define@choicekey{glossaries-extra.sty}{undefaction}% + [\glsxtr@undefaction@val\glsxtr@undefaction@nr]% + {warn,error}% + {% + \ifcase\glsxtr@undefaction@nr\relax + \let\glsxtrundefaction\@glsxtr@warn@undefaction + \let\glsxtr@warnonexistsordo\@glsxtr@warn@onexistsordo + \let\@glsxtr@redef@forglsentries\@glsxtr@do@redef@forglsentries + \or + \let\glsxtrundefaction\@glsxtr@err@undefaction + \let\glsxtr@warnonexistsordo\@gobble + \let\@glsxtr@redef@forglsentries\relax + \fi + } +\newcommand*{\@glsxtr@record}[3]{} +\newcommand*{\glsxtr@recordsee}[2]{} +\newcommand*{\@glsxtr@defaultnumberformat}{glsnumberformat}% +\newcommand*{\GlsXtrSetDefaultNumberFormat}[1]{% + \renewcommand*{\@glsxtr@defaultnumberformat}{#1}% +}% +\newcommand*{\@glsxtr@do@record@wrglossary}[1]{% + \begingroup + \ifKV@glslink@noindex + \else + \protected@edef\@gls@label{\glsdetoklabel{#1}}% + \let\glslabel\@gls@label + \glswriteentry{#1}% + {% + \ifdefempty{\@glsxtr@thevalue}% + {% + \ifx\@glsxtr@org@theHvalue\@glsxtr@theHvalue + \else + \let\theHglsentrycounter\@glsxtr@theHvalue + \fi + \glsxtr@saveentrycounter + \let\@@do@@wrglossary\@glsxtr@dorecord + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \let\theHglsentrycounter\@glsxtr@theHvalue + \let\@@do@@wrglossary\@glsxtr@dorecordnodefer + }% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \glsxtr@@do@wrglossary{#1}% + \else + \@@glsxtrwrglossmark + \glsxtr@inc@wrglossaryctr{#1}% + \@@do@@wrglossary + \fi + }% + \fi + \endgroup +} +\newcommand*{\glsxtr@do@alsoindex@wrglossary}[1]{% + \glsxtr@@do@wrglossary{#1}% + \@glsxtr@do@record@wrglossary{#1}% +} +\newcommand*{\@@glsxtr@record}[3]{% + \protected@edef\@gls@label{\glsdetoklabel{#2}}% + \let\glslabel\@gls@label + \ifglsentryexists{#2}{}% + {% + \@@glsxtrwrglossmark + \begingroup + \let\@glsnumberformat\@glsxtr@defaultnumberformat + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% + \let\@glsxtr@org@theHvalue\@glsxtr@theHvalue + \let\@gls@counter\glscounter + \if@glsxtr@equations + \@glsxtr@use@equation@counter + \fi + \@gls@setdefault@glslink@opts + \csuse{@glsxtr@#3@prekeys}% + \setkeys{#3}{#1}% + \glsxtr@do@autoadd{#3}% + \csuse{@glsxtr@#3@postkeys}% + \glsxtr@inc@wrglossaryctr{#2}% + \ifKV@glslink@noindex + \else + \glswriteentry{#2}% + {% + \ifdefempty{\@glsxtr@thevalue}% + {% + \ifx\@glsxtr@org@theHvalue\@glsxtr@theHvalue + \else + \let\theHglsentrycounter\@glsxtr@theHvalue + \fi + \glsxtr@saveentrycounter + \let\@@do@@wrglossary\@glsxtr@dorecord + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \let\theHglsentrycounter\@glsxtr@theHvalue + \let\@@do@@wrglossary\@glsxtr@dorecordnodefer + }% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \glsxtr@@do@wrglossary{#2}% + \else + \@@do@@wrglossary + \fi + }% + \fi + \endgroup + }% +} +\newcommand{\@glsxtr@glslink@prekeys}{\glslinkpresetkeys} +\newcommand{\@glsxtr@glslink@postkeys}{\glslinkpostsetkeys} +\newcommand{\@glsxtr@glossadd@prekeys}{\glsaddpresetkeys} +\newcommand{\@glsxtr@glossadd@postkeys}{\glsaddpostsetkeys} +\newcommand*\@glsxtr@dorecord{% + \global\let\@glsrecordlocref\theglsentrycounter + \let\@glsxtr@orgprefix\@glo@counterprefix + \ifx\theglsentrycounter\theHglsentrycounter + \def\@glo@counterprefix{}% + \else + \protected@edef\@glsxtr@theentrycounter{\theglsentrycounter}% + \protected@edef\@glsxtr@theHentrycounter{\theHglsentrycounter}% + \@onelevel@sanitize\@glsxtr@theentrycounter + \@onelevel@sanitize\@glsxtr@theHentrycounter + \protected@edef\@do@gls@getcounterprefix{\noexpand\@gls@getcounterprefix + {\@glsxtr@theentrycounter}{\@glsxtr@theHentrycounter}% + }% + \@do@gls@getcounterprefix + \fi + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + \@glsxtr@do@nameref@record + {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + {\@glsrecordlocref}% + \else + \protected@write\@auxout{}{\string\glsxtr@record + {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + {\@glsrecordlocref}}% + \fi + \@glsxtr@counterrecordhook + \let\@glo@counterprefix\@glsxtr@orgprefix +} +\newcommand*\@glsxtr@dorecordnodefer{% + \ifx\theglsentrycounter\theHglsentrycounter + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + \@glsxtr@do@nameref@record + {\@gls@label}{}{\@gls@counter}{\@glsnumberformat}% + {\theglsentrycounter}% + \else + \protected@write\@auxout{}{\string\glsxtr@record + {\@gls@label}{}{\@gls@counter}{\@glsnumberformat}% + {\theglsentrycounter}}% + \fi + \else + \edef\@do@gls@getcounterprefix{\noexpand\@gls@getcounterprefix + {\theglsentrycounter}{\theHglsentrycounter}% + }% + \@do@gls@getcounterprefix + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + \@glsxtr@do@nameref@record + {\@gls@label}{\@glo@counterprefix}{\@gls@counter}% + {\@glsnumberformat}{\theglsentrycounter}% + \else + \protected@write\@auxout{}{\string\glsxtr@record + {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + {\theglsentrycounter}}% + \fi + \fi + \@glsxtr@counterrecordhook +} +\newcommand{\@glsxtr@ifnum@mmode}[2]{% + \ifmmode + \ifst@rred + #2% + \else + \if@display #1\else #2\fi + \fi + \else + #2% + \fi +} +\newcommand*{\@glsxtr@do@nameref@record}[5]{% + \gls@ifnotmeasuring + {% + \protected@write\@auxout{}{\string\glsxtr@record@nameref + {#1}{#2}{#3}{#4}{#5}% + {\csuse{@currentlabelname}}{\csuse{@currentHref}}% + {\theHglsentrycounter}}% + }% +} +\newcommand*{\@@glsxtr@recordcounter}{% + \@glsxtr@noop@recordcounter +} +\newcommand*{\@glsxtr@noop@recordcounter}[1]{% + \PackageError{glossaries-extra}{\string\GlsXtrRecordCounter\space + requires record=only or record=hybrid package option}{}% +} +\newcommand*{\@glsxtr@op@recordcounter}[1]{% + \protected@eappto\@glsxtr@counterrecordhook{\noexpand\@glsxtr@docounterrecord{#1}}% +} +\newcommand*{\@glsxtr@recordsee}[2]{% + \@@glsxtrwrglossmark + \def\@gls@xref{#2}% + \@onelevel@sanitize\@gls@xref + \protected@write\@auxout{}{\string\glsxtr@recordsee{#1}{\@gls@xref}}% +} +\newcommand{\printunsrtglossaryunit}{% + \print@noop@unsrtglossaryunit +} +\newcommand*{\glsxtr@setup@record}{\let\@@do@wrglossary\glsxtr@@do@wrglossary} +\newcommand*{\glsxtr@indexonly@saveentrycounter}{% + \ifKV@glslink@noindex + \else + \glsxtr@saveentrycounter + \fi +} +\newcommand*{\glsxtr@addloclistfield}{% + \key@ifundefined{glossentry}{loclist}% + {% + \define@key{glossentry}{loclist}{\def\@glo@loclist{##1}}% + \appto\@gls@keymap{,{loclist}{loclist}}% + \appto\@newglossaryentryprehook{\def\@glo@loclist{}}% + \appto\@newglossaryentryposthook{% + \gls@assign@field{}{\@glo@label}{loclist}{\@glo@loclist}% + }% + \glssetnoexpandfield{loclist}% + }% + {}% + \key@ifundefined{glossentry}{location}% + {% + \define@key{glossentry}{location}{\def\@glo@location{##1}}% + \appto\@gls@keymap{,{location}{location}}% + \appto\@newglossaryentryprehook{\def\@glo@location{}}% + \appto\@newglossaryentryposthook{% + \gls@assign@field{}{\@glo@label}{location}{\@glo@location}% + }% + \glssetnoexpandfield{location}% + }% + {}% + \key@ifundefined{glossentry}{group}% + {% + \define@key{glossentry}{group}{\def\@glo@group{##1}}% + \appto\@gls@keymap{,{group}{group}}% + \appto\@newglossaryentryprehook{\def\@glo@group{}}% + \appto\@newglossaryentryposthook{% + \gls@assign@field{}{\@glo@label}{group}{\@glo@group}% + }% + \glssetnoexpandfield{group}% + }% + {}% +} +\newcommand*{\@glsxtr@record@setting}{off} +\newcommand*{\@glsxtr@record@setting@alsoindex}{alsoindex} +\newcommand*{\@glsxtr@record@setting@only}{only} +\newcommand*{\@glsxtr@record@setting@nameref}{nameref} +\newcommand*{\@glsxtr@if@record@only}[2]{% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@only + #1% + \else + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + #1% + \else + #2% + \fi + \fi +} +\newcommand*{\@glsxtr@record@setting@off}{off} +\newcommand\@glsxtr@warn@hybrid@noprintgloss{% + \ifdefstring{\@glo@types}{,}% + {% + \GlossariesExtraWarningNoLine{No glossaries have been defined}% + }% + {% + \GlossariesExtraWarningNoLine{No \string\printglossary\space + or \string\printglossaries\space + found. ^^JYou have requested the hybrid setting + record=\@glsxtr@record@setting\space which requires a + combination of bib2gls (to fetch entries) and makeindex/xindy + (to sort and collate the entries). If you only want to use + bib2gls then change the option to record=only or record=nameref}% + }% +} +\newcommand*{\@glsxtr@record@only@setup}{% + \def\glsxtr@setup@record{% + \@glsxtr@autoseeindexfalse + \let\@do@seeglossary\@glsxtr@recordsee + \let\@glsxtr@record\@@glsxtr@record + \let\@@do@wrglossary\@glsxtr@do@record@wrglossary + \let\@gls@saveentrycounter\relax + \let\glsxtrundefaction\@glsxtr@warn@undefaction + \let\glsxtr@warnonexistsordo\@glsxtr@warn@onexistsordo + \glsxtr@addloclistfield + \renewcommand*{\@glsxtr@autoindexcrossrefs}{}% + \let\@@glsxtr@recordcounter\@glsxtr@op@recordcounter + \def\printunsrtglossaryunit{\print@op@unsrtglossaryunit}% + \def\glsxtrsetaliasnoindex{}% + \ifdef\@gls@setupsort@none{\@gls@setupsort@none}{}% + \def\glsxtrNoGlossaryWarning{\@glsxtr@record@noglossarywarning}% + \RequirePackage{glossaries-extra-bib2gls}[=v1.48]% + }% +} +\define@choicekey{glossaries-extra.sty}{record} + [\@glsxtr@record@setting\glsxtr@record@nr]% + {off,only,alsoindex,nameref,hybrid}% + [only]% + {% + \ifcase\glsxtr@record@nr\relax + \def\glsxtr@setup@record{% + \renewcommand*{\@do@seeglossary}{\@glsxtr@doseeglossary}% + \renewcommand*{\@glsxtr@record}[3]{}% + \let\@@do@wrglossary\glsxtr@@do@wrglossary + \let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter + \let\glsxtrundefaction\@glsxtr@err@undefaction + \let\glsxtr@warnonexistsordo\@gobble + \let\@@glsxtr@recordcounter\@glsxtr@noop@recordcounter + \def\printunsrtglossaryunit{\print@noop@unsrtglossaryunit}% + \undef\glsxtrsetaliasnoindex + }% + \or + \@glsxtr@record@only@setup + \or + \def\glsxtr@setup@record{% + \renewcommand*{\@glsxtr@record@setting@alsoindex}{alsoindex}% + \renewcommand*{\@do@seeglossary}{\@glsxtr@dosee@alsoindex@glossary}% + \let\@glsxtr@record\@@glsxtr@record + \let\@@do@wrglossary\glsxtr@do@alsoindex@wrglossary + \let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter + \let\glsxtrundefaction\@glsxtr@warn@undefaction + \let\glsxtr@warnonexistsordo\@glsxtr@warn@onexistsordo + \glsxtr@addloclistfield + \let\@@glsxtr@recordcounter\@glsxtr@op@recordcounter + \def\printunsrtglossaryunit{\print@op@unsrtglossaryunit}% + \undef\glsxtrsetaliasnoindex + }% + \or + \@glsxtr@record@only@setup + \ifundef\hyperlink + {\GlossariesExtraWarning{You have requested record=nameref but + the document doesn't support hyperlinks}}% + {}% + \or + \def\glsxtr@setup@record{% + \renewcommand*{\@glsxtr@record@setting@alsoindex}{hybrid}% + \renewcommand*{\@do@seeglossary}{\@glsxtr@dosee@alsoindex@glossary}% + \let\@glsxtr@record\@@glsxtr@record + \let\@@do@wrglossary\glsxtr@do@alsoindex@wrglossary + \let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter + \let\glsxtrundefaction\@glsxtr@warn@undefaction + \let\glsxtr@warnonexistsordo\@glsxtr@warn@onexistsordo + \glsxtr@addloclistfield + \let\@@glsxtr@recordcounter\@glsxtr@op@recordcounter + \def\printunsrtglossaryunit{\print@op@unsrtglossaryunit}% + \undef\glsxtrsetaliasnoindex + }% + \fi + } +\newcommand*{\@glsxtr@docdefval}{0} +\newcommand*{\if@glsxtrdocdef}{\ifnum\@glsxtr@docdefval>0 } +\newcommand*{\@glsxtrdocdeftrue}{\def\@glsxtr@docdefval{1}} +\newcommand*{\@glsxtrdocdeffalse}{\def\@glsxtr@docdefval{0}} +\define@choicekey{glossaries-extra.sty}{docdef} + [\@glsxtr@docdefsetting\@glsxtr@docdefval]% + {false,true,restricted,atom}[true]% +{% + \ifnum\@glsxtr@docdefval>1\relax + \renewcommand*{\@glsdoifexistsorwarn}{\glsdoifexists}% + \else + \renewcommand*{\@glsdoifexistsorwarn}{\glsdoifexistsorwarn}% + \fi +} +\newcommand*{\if@glsxtrdocdefrestricted}{\ifnum\@glsxtr@docdefval>1 } +\newcommand*{\@glsdoifexistsorwarn}{\glsdoifexistsorwarn} +\define@boolkey{glossaries-extra.sty}[@glsxtr]{indexcrossrefs}[true]{% + \if@glsxtrindexcrossrefs + \else + \renewcommand*{\@glsxtr@autoindexcrossrefs}{}% + \fi +} +\@glsxtrindexcrossrefsfalse +\newcommand*{\@glsxtr@autoindexcrossrefs}{\@glsxtrindexcrossrefstrue} +\define@boolkey{glossaries-extra.sty}[@glsxtr@]{autoseeindex}[true]{% +} +\@glsxtr@autoseeindextrue +\define@boolkey{glossaries-extra.sty}[@glsxtr@]{equations}[true]{% +} +\@glsxtr@equationsfalse +\let\glsxtr@float\@float +\let\glsxtr@dblfloat\@dblfloat +\define@boolkey{glossaries-extra.sty}[@glsxtr@]{floats}[true]{% + \if@glsxtr@floats + \renewcommand*{\@float}[1]{\renewcommand{\glscounter}{##1}\glsxtr@float{##1}}% + \renewcommand*{\@dblfloat}[1]{\renewcommand{\glscounter}{##1}\glsxtr@dblfloat{##1}}% + \else + \let\@float\glsxtr@float + \let\@dblfloat\glsxtr@dblfloat + \fi +} +\@glsxtr@floatsfalse +\newcommand*{\GlossariesExtraWarning}[1]{\PackageWarning{glossaries-extra}{#1}} +\newcommand*{\GlossariesExtraWarningNoLine}[1]{% + \PackageWarningNoLine{glossaries-extra}{#1}} +\@glsxtr@declareoption{nowarn}{% + \let\GlossariesExtraWarning\@gobble + \let\GlossariesExtraWarningNoLine\@gobble + \glsxtr@dooption{nowarn}% +} +\newcommand*{\@glsxtr@defpostpunc}{} +\@glsxtr@declareoption{postdot}{% + \glsxtr@dooption{nopostdot=false}% + \renewcommand*{\@glsxtr@defpostpunc}{% + \renewcommand*{\glspostdescription}{% + \ifglsnopostdot\else.\spacefactor\sfcode`\. \fi}% + }% +} + +\define@choicekey{glossaries-extra.sty}{nopostdot}{true,false}[true]{% + \glsxtr@dooption{nopostdot=#1}% + \renewcommand*{\@glsxtr@defpostpunc}{% + \renewcommand*{\glspostdescription}{% + \ifglsnopostdot\else.\spacefactor\sfcode`\. \fi}% + }% +} +\define@key{glossaries-extra.sty}{postpunc}{% + \glsxtr@dooption{nopostdot=false}% + \ifstrequal{#1}{dot}% + {% + \renewcommand*{\@glsxtr@defpostpunc}{% + \renewcommand*{\glspostdescription}{.\spacefactor\sfcode`\. }% + }% + }% + {% + \ifstrequal{#1}{comma}% + {% + \renewcommand*{\@glsxtr@defpostpunc}{% + \renewcommand*{\glspostdescription}{,}% + }% + }% + {% + \ifstrequal{#1}{none}% + {% + \glsxtr@dooption{nopostdot=true}% + \renewcommand*{\@glsxtr@defpostpunc}{% + \renewcommand*{\glspostdescription}{}% + }% + }% + {% + \renewcommand*{\@glsxtr@defpostpunc}{% + \renewcommand*{\glspostdescription}{#1}% + }% + }% + }% + }% +} +\newcommand*{\glsxtrabbrvtype}{\glsdefaulttype} +\newcommand*{\@glsxtr@abbreviationsdef}{} + +\newcommand*{\@glsxtr@doabbreviationsdef}{% + \@ifpackageloaded{babel}% + {\providecommand{\abbreviationsname}{\acronymname}}% + {\providecommand{\abbreviationsname}{Abbreviations}}% + \newglossary[glg-abr]{abbreviations}{gls-abr}{glo-abr}{\abbreviationsname}% + \renewcommand*{\glsxtrabbrvtype}{abbreviations}% + \newcommand*{\printabbreviations}[1][]{% + \printglossary[type=\glsxtrabbrvtype,##1]% + }% + \disable@keys{glossaries-extra.sty}{abbreviations}% + \ifglsacronym + \else + \renewcommand*{\acronymtype}{\glsxtrabbrvtype}% + \fi +}% +\@glsxtr@declareoption{abbreviations}{% + \let\@glsxtr@abbreviationsdef\@glsxtr@doabbreviationsdef +} +\newcommand*{\GlsXtrDefineAbbreviationShortcuts}{% + \newcommand*{\ab}{\cgls}% + \newcommand*{\abp}{\cglspl}% + \newcommand*{\as}{\glsxtrshort}% + \newcommand*{\asp}{\glsxtrshortpl}% + \newcommand*{\al}{\glsxtrlong}% + \newcommand*{\alp}{\glsxtrlongpl}% + \newcommand*{\af}{\glsxtrfull}% + \newcommand*{\afp}{\glsxtrfullpl}% + \newcommand*{\Ab}{\cGls}% + \newcommand*{\Abp}{\cGlspl}% + \newcommand*{\As}{\Glsxtrshort}% + \newcommand*{\Asp}{\Glsxtrshortpl}% + \newcommand*{\Al}{\Glsxtrlong}% + \newcommand*{\Alp}{\Glsxtrlongpl}% + \newcommand*{\Af}{\Glsxtrfull}% + \newcommand*{\Afp}{\Glsxtrfullpl}% + \newcommand*{\AB}{\cGLS}% + \newcommand*{\ABP}{\cGLSpl}% + \newcommand*{\AS}{\GLSxtrshort}% + \newcommand*{\ASP}{\GLSxtrshortpl}% + \newcommand*{\AL}{\GLSxtrlong}% + \newcommand*{\ALP}{\GLSxtrlongpl}% + \newcommand*{\AF}{\GLSxtrfull}% + \newcommand*{\AFP}{\GLSxtrfullpl}% + \providecommand*{\newabbr}{\newabbreviation}% + \let\GlsXtrDefineAbbreviationShortcuts\relax +} +\newcommand*{\GlsXtrDefineAcShortcuts}{% + \newcommand*{\ac}{\cgls}% + \newcommand*{\acp}{\cglspl}% + \newcommand*{\acs}{\glsxtrshort}% + \newcommand*{\acsp}{\glsxtrshortpl}% + \newcommand*{\acl}{\glsxtrlong}% + \newcommand*{\aclp}{\glsxtrlongpl}% + \newcommand*{\acf}{\glsxtrfull}% + \newcommand*{\acfp}{\glsxtrfullpl}% + \newcommand*{\Ac}{\cGls}% + \newcommand*{\Acp}{\cGlspl}% + \newcommand*{\Acs}{\Glsxtrshort}% + \newcommand*{\Acsp}{\Glsxtrshortpl}% + \newcommand*{\Acl}{\Glsxtrlong}% + \newcommand*{\Aclp}{\Glsxtrlongpl}% + \newcommand*{\Acf}{\Glsxtrfull}% + \newcommand*{\Acfp}{\Glsxtrfullpl}% + \newcommand*{\AC}{\cGLS}% + \newcommand*{\ACP}{\cGLSpl}% + \newcommand*{\ACS}{\GLSxtrshort}% + \newcommand*{\ACSP}{\GLSxtrshortpl}% + \newcommand*{\ACL}{\GLSxtrlong}% + \newcommand*{\ACLP}{\GLSxtrlongpl}% + \newcommand*{\ACF}{\GLSxtrfull}% + \newcommand*{\ACFP}{\GLSxtrfullpl}% + \providecommand*{\newabbr}{\newabbreviation}% + \let\GlsXtrDefineAcShortcuts\relax +} +\newcommand*{\GlsXtrDefineOtherShortcuts}{% + \newcommand*{\newentry}{\newglossaryentry}% + \ifdef\printsymbols + {% + \newcommand*{\newsym}{\glsxtrnewsymbol}% + }{}% + \ifdef\printnumbers + {% + \newcommand*{\newnum}{\glsxtrnewnumber}% + }{}% + \let\GlsXtrDefineOtherShortcuts\relax +} +\newcommand*{\@glsxtr@setupshortcuts}{} +\newcommand*{\@glsxtr@shortcutsval}{\ifglsacrshortcuts acro\else none\fi}% +\define@choicekey{glossaries-extra.sty}{shortcuts}% + [\@glsxtr@shortcutsval\@glsxtr@shortcutsnr]% + {acronyms,acro,abbreviations,abbr,other,all,true,ac,none,false}[true]{% + \ifcase\@glsxtr@shortcutsnr\relax % acronyms + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \DefineAcronymSynonyms + }% + \or % acro + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \DefineAcronymSynonyms + }% + \or % abbreviations + \renewcommand*{\@glsxtr@setupshortcuts}{% + \GlsXtrDefineAbbreviationShortcuts + }% + \or % abbr + \renewcommand*{\@glsxtr@setupshortcuts}{% + \GlsXtrDefineAbbreviationShortcuts + }% + \or % other + \renewcommand*{\@glsxtr@setupshortcuts}{% + \GlsXtrDefineOtherShortcuts + }% + \or % all + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \GlsXtrDefineAcShortcuts + \GlsXtrDefineAbbreviationShortcuts + \GlsXtrDefineOtherShortcuts + }% + \or % true + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \GlsXtrDefineAcShortcuts + \GlsXtrDefineAbbreviationShortcuts + \GlsXtrDefineOtherShortcuts + }% + \or % ac + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \GlsXtrDefineAcShortcuts + }% + \else % none, false + \renewcommand*{\@glsxtr@setupshortcuts}{}% + \fi + } +\newcommand*{\@glsxtr@doaccsupp}{} +\@glsxtr@declareoption{accsupp}{% + \renewcommand*{\@glsxtr@doaccsupp}{\RequirePackage{glossaries-accsupp}}} +\newcommand*{\@glsxtr@doloadprefix}{} +\@glsxtr@declareoption{prefix}{% + \renewcommand*{\@glsxtr@doloadprefix}{\RequirePackage{glossaries-prefix}}} +\newcommand{\glsxtrNoGlossaryWarning}[1]{% + \GlossariesExtraWarning{Glossary `#1' is missing}% + \@glsxtr@defaultnoglossarywarning{#1}% +} +\define@choicekey{glossaries-extra.sty}{nomissingglstext} + [\@glsxtr@nomissingglstextval\@glsxtr@nomissingglstextnr]% + {true,false}[true]{% + \ifcase\@glsxtr@nomissingglstextnr\relax % true + \renewcommand{\glsxtrNoGlossaryWarning}[1]{\null}% + \else % false + \renewcommand{\glsxtrNoGlossaryWarning}[1]{% + \@glsxtr@defaultnoglossarywarning{#1}% + }% + \fi + } +\newcommand*{\@glsxtr@redefstyles}{} +\define@key{glossaries-extra.sty}{stylemods}[default]{% + \ifstrequal{#1}{default}% + {% + \renewcommand*{\@glsxtr@redefstyles}{% + \RequirePackage{glossaries-extra-stylemods}}% + }% + {% + \ifstrequal{#1}{all}% + {% + \renewcommand*{\@glsxtr@redefstyles}{% + \PassOptionsToPackage{all}{glossaries-extra-stylemods}% + \RequirePackage{glossaries-extra-stylemods}% + }% + }% + {% + \renewcommand*{\@glsxtr@redefstyles}{}% + \@for\@glsxtr@tmp:=#1\do{% + \IfFileExists{glossary-\@glsxtr@tmp.sty}% + {% + \eappto\@glsxtr@redefstyles{% + \noexpand\RequirePackage{glossary-\@glsxtr@tmp}}% + }% + {% + \PackageError{glossaries-extra}% + {Glossaries style package `glossary-\@glsxtr@tmp.sty' + doesn't exist (did you mean to use the `style' key?)}% + {The list of values (#1) in the `stylemods' key should + match the glossary-xxx.sty files provided with + glossaries.sty}% + }% + }% + \appto\@glsxtr@redefstyles{\RequirePackage{glossaries-extra-stylemods}[=v1.48]}% + } + }% +} +\newcommand*{\@glsxtr@do@style}{} +\define@key{glossaries-extra.sty}{style}{% + \renewcommand*{\@glsxtr@do@style}{% + \setkeys{glossaries.sty}{style={#1}}% + \setglossarystyle{#1}% + }% +} +\newcommand*{\glsxtr@inc@wrglossaryctr}[1]{} +\newcommand*{\GlsXtrInternalLocationHyperlink}[3]{% + \glsxtrhyperlink{#1#2#3}{#3}% +} +\newcommand*{\@glsxtr@wrglossary@locationhyperlink}[3]{% + \pageref{wrglossary.#3}% +} +\@glsxtr@declareoption{indexcounter}{% + \glsxtr@dooption{counter=wrglossary}% + \ifundef\c@wrglossary + {% + \newcounter{wrglossary}% + \renewcommand{\thewrglossary}{\arabic{wrglossary}}% + }% + {}% + \renewcommand*{\glsxtr@inc@wrglossaryctr}[1]{% + \ifdefstring\@gls@counter{wrglossary}% + {% + \refstepcounter{wrglossary}% + \label{wrglossary.\thewrglossary}% + }% + {}% + }% + \renewcommand*{\GlsXtrInternalLocationHyperlink}[3]{% + \ifdefstring\glsentrycounter{wrglossary}% + {% + \@glsxtr@wrglossary@locationhyperlink{##1}{##2}{##3}% + }% + {\glsxtrhyperlink{##1##2##3}{##3}}% + }% +} +\newcommand*{\@glsxtrwrglossmark}{} +\newcommand*{\@@glsxtrwrglossmark}{} +\AtBeginDocument{\renewcommand*{\@@glsxtrwrglossmark}{\@glsxtrwrglossmark}} +\newcommand*{\glsxtrwrglossmark}{\ensuremath{\cdot}} +\newcommand\@glsxtr@doshowtarget[2]{#2} +\define@choicekey{glossaries-extra.sty}{debug} + [\@glsxtr@debugval\@glsxtr@debugnr]% + {true,false,showtargets,showwrgloss,all,showaccsupp}[true]{% + \ifcase\@glsxtr@debugnr\relax % true + \glsxtr@dooption{debug=true}% + \renewcommand*{\@glsxtrwrglossmark}{}% + \or % false + \glsxtr@dooption{debug=false}% + \renewcommand*{\@glsxtrwrglossmark}{}% + \let\@glsxtr@doshowtarget\@secondoftwo + \or % showtargets + \glsxtr@dooption{debug=showtargets}% + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \or % showwrgloss + \glsxtr@dooption{debug=true}% + \renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}% + \or % all + \glsxtr@dooption{debug=showtargets,debug=showaccsupp}% + \renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}% + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \or % showaccsupp + \glsxtr@dooption{debug=showaccsupp}% + \fi + } +\newcommand*{\glsxtrshowtargetouter}{\glsshowtargetouter} +\newcommand*{\glsxtrshowtargetinner}[1]{\glsshowtargetinner{#1}} +\newcommand{\@glsxtrshowtargetleft}[2]{\@glsshowtarget{#1}#2\@glsxtrshowtargetmark}% +\newcommand{\@glsxtrshowtargetright}[2]{\@glsxtrshowtargetmark#2\@glsshowtarget{#1}}% +\newcommand{\@glsxtrshowtargetmark}{}% +\define@choicekey{glossaries-extra.sty}{showtargets} + [\@glsxtr@showtargetsval\@glsxtr@showtargetsnr]% + {left,right,innerleft,innerright,annoteleft,annoteright}% + {% + \glsxtr@dooption{debug=showtargets}% + \ifcase\@glsxtr@showtargetsnr\relax + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\glsxtrshowtargetouter{\glsshowtargetouter}% + \def\glsxtrshowtargetinner{\glsshowtargetinner}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetright}% + \def\glsxtrshowtargetouter{\glsshowtargetouter}% + \def\glsxtrshowtargetinner{\glsshowtargetinner}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymleft}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetright}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymright}% + \let\@glsxtrshowtargetmark\empty + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymleft}% + \def\@glsxtrshowtargetmark{\@glsshowtargetmarkfmt\glsxtrshowtargetsymbolright}% + \or + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetright}% + \def\glsxtrshowtargetouter{\glsxtrshowtargetinner}% + \def\glsxtrshowtargetinner{\glsshowtargetinnersymright}% + \def\@glsxtrshowtargetmark{\@glsshowtargetmarkfmt\glsxtrshowtargetsymbolleft}% + \fi + } +\DeclareOptionX*{% + \expandafter\glsxtr@dooption\expandafter{\CurrentOption}} +\ProcessOptionsX +\RequirePackage{glossaries} +\@glsxtr@doaccsupp +\@glsxtr@doloadprefix +\@glsxtr@defpostpunc +\def\glsdoshowtarget{\@glsxtr@doshowtarget} +\newcommand{\glsxtrshowtargetsymbolright}{{\tiny$\triangleleft$}}% +\newcommand{\glsxtrshowtargetsymbolleft}{{\tiny$\triangleright$}}% +\providecommand*{\glsshowtargetinner}[1]{{\glsshowtargetfont [#1]}} +\providecommand*{\glsshowtargetfont}{\ttfamily\footnotesize} +\newcommand*{\glsshowtargetinnersymleft}[1]{% + \glsshowtargetinner{#1}\allowbreak\glsxtrshowtargetsymbolleft} +\newcommand*{\glsshowtargetinnersymright}[1]{% + \glsxtrshowtargetsymbolright\allowbreak\glsshowtargetinner{#1}} +\providecommand*{\glsshowtargetouter}[1]{% + \glsshowtargetsymbol\marginpar{\glsshowtargetsymbol\glsshowtargetfont #1}} +\providecommand*{\@glsshowtarget}[1]{} +\def\glsshowtarget#1{% + \glsxtrtitleorpdforheading + {% + \ifmmode + \nfss@text{\glsxtrshowtargetinner{#1}}% + \else + \ifinner + \glsxtrshowtargetinner{#1}% + \else + \glsxtrshowtargetouter{#1}% + \fi + \fi + }% + {[#1]}% + {{\protect\glsshowtargetinner{#1}}}% +} +\newcommand*{\@glsshowtargetmarkfmt}[1]{% + \glsxtrtitleorpdforheading + {% + \ifmmode \nfss@text{#1}\else #1\fi + }% + {}% + {\ifmmode \nfss@text{#1}\else #1\fi}% +} +\let\@glsxtr@org@doseeglossary\@do@seeglossary +\newcommand*{\@glsxtr@doseeglossary}[2]{% + \glsdoifexists{#1}% + {% + \@@glsxtrwrglossmark + \@glsxtr@org@doseeglossary{#1}{#2}% + }% +} +\newcommand*{\@glsxtr@dosee@alsoindex@glossary}[2]{% + \@glsxtr@recordsee{#1}{#2}% + \@glsxtr@doseeglossary{#1}{#2}% +} +\let\@glsxtr@org@gloautosee\@glo@autosee +\if@glsxtr@autoseeindex +\else + \ifdef\@glsxtr@org@gloautosee + {}% + {\PackageError{glossaries-extra}{`autoseeindex=false' package + option requires at least v4.30 of glossaries.sty}% + {You need to update the glossaries.sty package}% + } +\fi +\ifdef\@glo@autosee +{% + \renewcommand*{\@glo@autosee}{% + \if@glsxtr@autoseeindex\@glsxtr@org@gloautosee\fi}% +}% +{} +\renewcommand*{\gls@checkseeallowed}{% + \if@glsxtr@autoseeindex\@gls@see@noindex\fi +} +\@glsxtr@abbreviationsdef +\let\@glsxtr@abbreviationsdef\relax +\@glsxtr@setupshortcuts +\@glsxtr@redef@forglsentries +\renewcommand{\glsxtr@dooption}[1]{\setupglossaries{#1}}% +\disable@keys{glossaries-extra.sty}{accsupp} +\newcommand*{\glossariesextrasetup}[1]{% + \let\glsxtr@setup@record\relax + \let\@glsxtr@setupshortcuts\relax + \let\@glsxtr@redef@forglsentries\relax + \let\@glsxtr@doloadprefix\relax + \setkeys{glossaries-extra.sty}{#1}% + \@glsxtr@abbreviationsdef + \let\@glsxtr@abbreviationsdef\relax + \@glsxtr@setupshortcuts + \glsxtr@setup@record + \@glsxtr@redef@forglsentries + \@glsxtr@doloadprefix +} +\let\glsxtr@org@@do@wrglossary\@@do@wrglossary +\newcommand*{\glsxtr@@do@wrglossary}[1]{% + \@@glsxtrwrglossmark + \glsxtr@inc@wrglossaryctr{#1}% + \glsxtr@org@@do@wrglossary{#1}% +} +\let\glsxtr@saveentrycounter\@gls@saveentrycounter +\let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter +\renewcommand*\@gls@getcounterprefix[2]{% + \protected@edef\@gls@thisloc{#1}\protected@edef\@gls@thisHloc{#2}% + \ifx\@gls@thisloc\@gls@thisHloc + \def\@glo@counterprefix{}% + \else + \def\@gls@get@counterprefix##1.#1##2\end@getprefix{% + \def\@glo@tmp{##2}% + \ifx\@glo@tmp\@empty + \def\@glo@counterprefix{}% + \else + \def\@glo@counterprefix{##1}% + \fi + }% + \@gls@get@counterprefix#2.#1\end@getprefix + \ifx\@glo@counterprefix\@empty + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + \else + \GlossariesExtraWarning{Hyper target `#2' can't be formed by + prefixing^^Jlocation `#1'. You need to modify the + definition of \string\theH\@gls@counter^^Jotherwise you + will get the warning: "`name{\@gls@counter.#1}' has been^^J + referenced but does not exist"% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@only + . You may want to consider using record=nameref instead% + \fi}% + \fi + \fi + \fi +} +\newcommand*{\@glsxtrdialecthook}{} +\glsxtr@setup@record +\AtBeginDocument{% + \disable@keys{glossaries-extra.sty}{abbreviations,docdef,record}% + \def\@glsxtrundeftag{\glsxtrundeftag}% +} +\newcommand*{\GlsXtrIfUnusedOrUndefined}[3]{% + \ifglsentryexists{#1}% + {\ifbool{glo@\glsdetoklabel{#1}@flag}{#3}{#2}}% + {#2}% +} +\ifdef\s@ifglossaryexists +{} +{ + \renewcommand{\ifglossaryexists}{% + \@ifstar\s@ifglossaryexists\@ifglossaryexists + } + \newcommand{\@ifglossaryexists}[3]{% + \ifcsundef{@glotype@#1@out}{#3}{#2}% + } + \newcommand{\s@ifglossaryexists}[3]{% + \ifcsundef{glolist@#1}{#3}{#2}% + } +} +\newcommand{\glsxtrifemptyglossary}[3]{% + \ifcsdef{glolist@#1}% + {% + \ifcsstring{glolist@#1}{,}{#2}{#3}% + }% + {% + \glsxtrundefaction{Glossary type `#1' doesn't exist}{}% + #2% + }% +} +\newcommand*{\glsxtrifkeydefined}[3]{% + \key@ifundefined{glossentry}{#1}{#3}{#2}% +} +\newcommand*{\glsxtrprovidestoragekey}{% + \@ifstar\@sglsxtr@provide@storagekey\@glsxtr@provide@storagekey +} +\newcommand*{\@glsxtr@provide@storagekey}[3]{% + \key@ifundefined{glossentry}{#1}% + {% + \define@key{glossentry}{#1}{\csdef{@glo@#1}{##1}}% + \appto\@gls@keymap{,{#1}{#1}}% + \appto\@newglossaryentryprehook{\csdef{@glo@#1}{#2}}% + \appto\@newglossaryentryposthook{% + \letcs{\@glo@tmp}{@glo@#1}% + \gls@assign@field{#2}{\@glo@label}{#1}{\@glo@tmp}% + }% + \ifblank{#3} + {}% + {% + \newcommand*{#3}[1]{\@gls@entry@field{##1}{#1}}% + }% + }% + {% + \ifblank{#3} + {}% + {% + \providecommand*{#3}[1]{\@gls@entry@field{##1}{#1}}% + }% + }% +} +\newcommand*{\s@glsxtr@provide@storagekey}[1]{% + \key@ifundefined{glossentry}{#1}% + {% + \expandafter\newcommand\expandafter*\expandafter + {\csname gls@assign@#1@field\endcsname}[2]{% + \@@gls@expand@field{##1}{#1}{##2}% + }% + }% + {}% + \@glsxtr@provide@addstoragekey{#1}% +} +\newcommand{\GlsXtrFmtField}{useri} +\newcommand{\GlsXtrFmtDefaultOptions}{noindex} +\newrobustcmd*{\glsxtrfmt}{\@ifstar\s@glsxtrfmt\@glsxtrfmt} +\newcommand*{\@glsxtrfmt}[3][]{\@@glsxtrfmt{#1}{#2}{#3}{}} +\newcommand*{\s@glsxtrfmt}[3][]{% + \new@ifnextchar[{\s@@glsxtrfmt{#1}{#2}{#3}}% + {\@@glsxtrfmt{#1}{#2}{#3}{}}% +} +\def\s@@glsxtrfmt#1#2#3[#4]{\@@glsxtrfmt{#1}{#2}{#3}{#4}} +\newcommand*{\@@glsxtrfmt}[4]{% + \begingroup + \def\glslabel{#2}% + \glsdoifexistsordo{#2}% + {% + \ifglshasfield{\GlsXtrFmtField}{#2}% + {% + \let\do@gls@link@checkfirsthyper\relax + \expandafter\@gls@link\expandafter[\GlsXtrFmtDefaultOptions,#1]{#2}% + {\glsxtrfmtdisplay{\glscurrentfieldvalue}{#3}{#4}}% + }% + {\glsxtrfmtdisplay{@firstofone}{#3}{#4}}% + }% + {% + \begingroup + \@gls@setdefault@glslink@opts + \setkeys{glslink}{\GlsXtrFmtDefaultOptions,#1}% + \ifKV@glslink@noindex\else\glsadd{#2}\fi + \endgroup + \glsxtrfmtdisplay{@firstofone}{#3}{#4}% + }% + \endgroup +} +\newcommand{\glsxtrfmtdisplay}[3]{\csuse{#1}{#2}#3} +\ifdef\texorpdfstring +{ + \newcommand*{\glsxtrentryfmt}[2]{% + \texorpdfstring{\@glsxtrentryfmt{#1}{#2}}{\glsxtrpdfentryfmt{#1}{#2}}% + } +} +{ + \newcommand*{\glsxtrentryfmt}{\@glsxtrentryfmt} +} +\newcommand*{\glsxtrpdfentryfmt}[2]{#2} +\newrobustcmd*{\@glsxtrentryfmt}[2]{% + {% + \protected@edef\glslabel{#1}% + \glsdoifexistsordo{#1}% + {% + \ifglshasfield{\GlsXtrFmtField}{#1}% + {% + \csuse{\glscurrentfieldvalue}{#2}% + }% + {#2}% + }% + {#2}% + }% +} +\newcommand*{\glsxtrfieldlistadd}[3]{% + \listcsadd{glo@\glsdetoklabel{#1}@#2}{#3}% +} +\newcommand*{\glsxtrfieldlistgadd}[3]{% + \listcsgadd{glo@\glsdetoklabel{#1}@#2}{#3}% +} +\newcommand*{\glsxtrfieldlisteadd}[3]{% + \listcseadd{glo@\glsdetoklabel{#1}@#2}{#3}% +} +\newcommand*{\glsxtrfieldlistxadd}[3]{% + \listcsxadd{glo@\glsdetoklabel{#1}@#2}{#3}% +} +\newcommand*{\glsxtrfielddolistloop}[2]{% + \dolistcsloop{glo@\glsdetoklabel{#1}@#2}% +} +\newcommand*{\glsxtrfieldforlistloop}[3]{% + \forlistcsloop{#3}{glo@\glsdetoklabel{#1}@#2}% +} +\newrobustcmd*{\glsxtrfieldformatlist}[2]{% + \begingroup + \def\@dtl@formatlist@itemsep{}% + \def\@dtl@formatlist@lastitem{}% + \def\@dtl@formatlist@prelastitem{}% + \def\@dtl@formatlist@prelastitemsep{}% + \forlistcsloop{\@dtl@formatlist@handler}{glo@\glsdetoklabel{#1}@#2}% + \@dtl@formatlist@prelastitem\@dtl@formatlist@lastitem + \endgroup +} +\newcommand*{\glsxtrfieldifinlist}[5]{% + \ifinlistcs{#3}{glo@\glsdetoklabel{#1}@#2}{#4}{#5}% +} +\newcommand*{\glsxtrfieldxifinlist}[5]{% + \xifinlistcs{#3}{glo@\glsdetoklabel{#1}@#2}{#4}{#5}% +} +\newcommand*{\glsxtrforcsvfield}{% + \@ifstar\s@glsxtrforcsvfield\@glsxtrforcsvfield +} +\newcommand*{\@glsxtrforcsvfield}[3]{% + \@glsxtrifhasfield{#2}{#1}% + {% + \let\glsxtrendfor\@endfortrue + \@for\@glsxtr@label:=\glscurrentfieldvalue\do + {\expandafter#3\expandafter{\@glsxtr@label}}}% + {}% +} +\newcommand*{\s@glsxtrforcsvfield}[3]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \let\glsxtrendfor\@endfortrue + \@for\@glsxtr@label:=\glscurrentfieldvalue\do + {\expandafter#3\expandafter{\@glsxtr@label}}}% + {}% +} +\newrobustcmd*{\glsxtrfieldformatcsvlist}[2]{% + \@glsxtrifhasfield{#2}{#1}% + {\@dtlformatlist\glscurrentfieldvalue}% + {}% +} +\newcommand*{\GlsXtrIfFieldValueInCsvList}{% + \@ifstar\s@GlsXtrIfFieldValueInCsvList\@GlsXtrIfFieldValueInCsvList +} +\newcommand*{\@GlsXtrIfFieldValueInCsvList}[5]{% + \@glsxtrifhasfield{#2}{#1}% + {% + \expandafter\DTLifinlist\expandafter{\glscurrentfieldvalue}% + {#3}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\s@GlsXtrIfFieldValueInCsvList}[5]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \expandafter\DTLifinlist\expandafter{\glscurrentfieldvalue}% + {#3}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\GlsXtrIfValueInFieldCsvList}{% + \@ifstar\s@GlsXtrIfValueInFieldCsvList\@GlsXtrIfValueInFieldCsvList +} +\newcommand*{\@GlsXtrIfValueInFieldCsvList}[5]{% + \@glsxtrifhasfield{#2}{#1}% + {% + \DTLifinlist{#3}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\s@GlsXtrIfValueInFieldCsvList}[5]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \DTLifinlist{#3}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\xGlsXtrIfValueInFieldCsvList}{% + \@ifstar\s@xGlsXtrIfValueInFieldCsvList\@xGlsXtrIfValueInFieldCsvList +} +\newcommand*{\@xGlsXtrIfValueInFieldCsvList}[5]{% + \@glsxtrifhasfield{#2}{#1}% + {% + \protected@edef\@gls@tmp{#3}% + \expandafter\DTLifinlist\expandafter{\@gls@tmp}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\s@xGlsXtrIfValueInFieldCsvList}[5]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \protected@edef\@gls@tmp{#3}% + \expandafter\DTLifinlist\expandafter{\@gls@tmp}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newrobustcmd{\glsxtrifhasfield}{% + \@ifstar{\s@glsxtrifhasfield}{\@glsxtrifhasfield}% +} +\newcommand{\@glsxtrifhasfield}[4]{% + {\s@glsxtrifhasfield{#1}{#2}{#3}{#4}}% +} +\newcommand{\s@glsxtrifhasfield}[4]{% + \letcs{\glscurrentfieldvalue}{glo@\glsdetoklabel{#2}@#1}% + \ifundef\glscurrentfieldvalue + {#4}% + {% + \ifdefempty\glscurrentfieldvalue{#4}{#3}% + }% +} +\newcommand{\GlsXtrIfFieldNonZero}{% + \@ifstar\s@GlsXtrIfFieldNonZero\@GlsXtrIfFieldNonZero +} +\newcommand{\@GlsXtrIfFieldNonZero}[4]{% + \@GlsXtrIfFieldCmpNum{#1}{#2}{=}{0}{#4}{#3}% +} +\newcommand{\s@GlsXtrIfFieldNonZero}[4]{% + \s@GlsXtrIfFieldCmpNum{#1}{#2}{=}{0}{#4}{#3}% +} +\newcommand{\GlsXtrIfFieldEqNum}{% + \@ifstar\s@GlsXtrIfFieldEqNum\@GlsXtrIfFieldEqNum +} +\newcommand{\@GlsXtrIfFieldEqNum}[5]{% + \@GlsXtrIfFieldCmpNum{#1}{#2}{=}{#3}{#4}{#5}% +} +\newcommand{\s@GlsXtrIfFieldEqNum}[5]{% + \s@GlsXtrIfFieldCmpNum{#1}{#2}{=}{#3}{#4}{#5}% +} +\newcommand{\GlsXtrIfFieldCmpNum}{% + \@ifstar\s@GlsXtrIfFieldCmpNum\@GlsXtrIfFieldCmpNum +} +\newcommand{\@GlsXtrIfFieldCmpNum}[6]{% + {% + \letcs{\glscurrentfieldvalue}{glo@\glsdetoklabel{#2}@#1}% + \ifundef\glscurrentfieldvalue + {\def\glscurrentfieldvalue{0}}% + {% + \ifdefempty\glscurrentfieldvalue + {\def\glscurrentfieldvalue{0}}% + {}% + }% + \ifnum\glscurrentfieldvalue#3#4\relax #5\else #6\fi + }% +} +\newcommand{\s@GlsXtrIfFieldCmpNum}[6]{% + \letcs{\glscurrentfieldvalue}{glo@\glsdetoklabel{#2}@#1}% + \ifundef\glscurrentfieldvalue + {\def\glscurrentfieldvalue{0}}% + {% + \ifdefempty\glscurrentfieldvalue + {\def\glscurrentfieldvalue{0}}% + {}% + }% + \ifnum\glscurrentfieldvalue#3#4\relax #5\else #6\fi +} +\newcommand{\GlsXtrIfFieldUndef}[2]{% + \ifcsundef{glo@\glsdetoklabel{#2}@#1}% +} +\newcommand*{\glsxtrusefield}[2]{% + \@gls@entry@field{#1}{#2}% +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsxtrusefield}[2]{% + \texorpdfstring + {\@Gls@entry@field{#1}{#2}} + {\@gls@entry@field{#1}{#2}}% + } +} +{ + \newcommand*{\Glsxtrusefield}[2]{% + \@Gls@entry@field{#1}{#2}% + } +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSxtrusefield}[2]{% + \texorpdfstring + {\glsdoifexists{#1}{\mfirstucMakeUppercase{\@gls@entry@field{#1}{#2}}}}% + {\@gls@entry@field{#1}{#2}}% + } +} +{ + \newcommand*{\GLSxtrusefield}[2]{% + \glsdoifexists{#1}{\mfirstucMakeUppercase{\@gls@entry@field{#1}{#2}}}% + } +} +\newcommand*{\glsxtrentryparentname}[1]{% + \ifcsdef{glo@\glsdetoklabel{#1}@parent}% + {\csuse{glo@\csuse{glo@\glsdetoklabel{#1}@parent}@name}}% + {}% +} +\newcommand*{\glsxtrdeffield}[2]{\csdef{glo@\glsdetoklabel{#1}@#2}} +\newcommand*{\glsxtredeffield}[2]{\protected@csedef{glo@\glsdetoklabel{#1}@#2}} +\newcommand*{\glsxtrapptocsvfield}[3]{% + \ifcsdef{glo@\glsdetoklabel{#1}@#2}% + {\csappto{glo@\glsdetoklabel{#1}@#2}{,#3}}% + {\csdef{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newcommand*{\glsxtrsetfieldifexists}[3]{\glsdoifexists{#1}{#3}} +\newrobustcmd*{\GlsXtrSetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\csdef{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newrobustcmd*{\GlstrLetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\cslet{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newrobustcmd*{\csGlsXtrLetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\csletcs{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newrobustcmd*{\GlsXtrLetFieldToField}[4]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\csletcs{glo@\glsdetoklabel{#1}@#2}{glo@\glsdetoklabel{#3}@#4}}% +} +\newrobustcmd*{\gGlsXtrSetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\csgdef{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newrobustcmd*{\xGlsXtrSetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\protected@csxdef{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newrobustcmd*{\eGlsXtrSetField}[3]{% + \glsxtrsetfieldifexists{#1}{#2}% + {\protected@csedef{glo@\glsdetoklabel{#1}@#2}{#3}}% +} +\newcommand*{\GlsXtrIfFieldEqStr}{% + \@ifstar\s@GlsXtrIfFieldEqStr\@GlsXtrIfFieldEqStr +} +\newrobustcmd*{\@GlsXtrIfFieldEqStr}[5]{% + \@glsxtrifhasfield{#1}{#2}% + {% + \ifdefstring{\glscurrentfieldvalue}{#3}{#4}{#5}% + }% + {#5}% +} +\newrobustcmd*{\s@GlsXtrIfFieldEqStr}[5]{% + \s@glsxtrifhasfield{#1}{#2}% + {% + \ifdefstring{\glscurrentfieldvalue}{#3}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\GlsXtrIfFieldEqXpStr}{% + \@ifstar\s@GlsXtrIfFieldEqXpStr\@GlsXtrIfFieldEqXpStr +} +\newrobustcmd*{\@GlsXtrIfFieldEqXpStr}[5]{% + \@glsxtrifhasfield{#1}{#2}% + {% + \protected@edef\@gls@tmp{#3}% + \ifdefequal{\glscurrentfieldvalue}{\@gls@tmp}{#4}{#5}% + }% + {#5}% +} +\newrobustcmd*{\s@GlsXtrIfFieldEqXpStr}[5]{% + \s@glsxtrifhasfield{#1}{#2}% + {% + \protected@edef\@gls@tmp{#3}% + \ifdefequal{\glscurrentfieldvalue}{\@gls@tmp}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\GlsXtrIfXpFieldEqXpStr}{% + \@ifstar\s@GlsXtrIfXpFieldEqXpStr\@GlsXtrIfXpFieldEqXpStr +} +\newrobustcmd*{\@GlsXtrIfXpFieldEqXpStr}[5]{% + \@glsxtrifhasfield{#1}{#2}% + {% + \protected@edef\@gls@tmp{\glscurrentfieldvalue}% + \let\glscurrentfieldvalue\@gls@tmp + \protected@edef\@gls@tmp{#3}% + \ifdefequal{\glscurrentfieldvalue}{\@gls@tmp}{#4}{#5}% + }% + {#5}% +} +\newrobustcmd*{\s@GlsXtrIfXpFieldEqXpStr}[5]{% + \s@glsxtrifhasfield{#1}{#2}% + {% + \protected@edef\@gls@tmp{\glscurrentfieldvalue}% + \let\glscurrentfieldvalue\@gls@tmp + \protected@edef\@gls@tmp{#3}% + \ifdefequal{\glscurrentfieldvalue}{\@gls@tmp}{#4}{#5}% + }% + {#5}% +} +\ifdef\foreignlanguage +{ + \ifdef\GetTrackedDialectFromLanguageTag + { + \newcommand{\GlsXtrForeignText}[2]{% + \let\@glsxtr@org@currentfieldvalue\glscurrentfieldvalue + \glsxtrifhasfield{\GlsXtrForeignTextField}{#1}% + {% + \expandafter\GetTrackedDialectFromLanguageTag\expandafter + {\glscurrentfieldvalue}{\@glsxtr@dialect}% + \let\@glsxtr@locale\glscurrentfieldvalue + \let\glscurrentfieldvalue\@glsxtr@org@currentfieldvalue + \ifdefempty\@glsxtr@dialect + {% + \ifundef\TrackedDialectClosestSubMatch + {% + \GlossariesExtraWarning{Can't obtain dialect label + (tracklang v1.3.6+ required)}% + }% + {\let\@glsxtr@dialect\TrackedDialectClosestSubMatch}% + }% + {}% + \ifdefempty\@glsxtr@dialect + {% + }% + {% + \ifcsundef{captions\@glsxtr@dialect}{}% + {% + \IfTrackedDialectHasMapping{\@glsxtr@dialect}% + {% + \edef\@glsxtr@dialect{% + \GetTrackedDialectToMapping{\@glsxtr@dialect}}% + \ifcsundef{captions\@glsxtr@dialect}{}% + {% + \ifcsundef{captions\@tracklang@lang}{}% + {% + \let\@glsxtr@dialect\@tracklang@lang + }% + }% + }% + {% + \ifcsundef{captions\@tracklang@lang}{}% + {% + \let\@glsxtr@dialect\@tracklang@lang + }% + }% + }% + }% + \ifdefempty\@glsxtr@dialect + {% + \GlsXtrUnknownDialectWarning{\@glsxtr@locale}{\@tracklang@lang}% + #2% + }% + {\foreignlanguage{\@glsxtr@dialect}{#2}}% + }% + {#2}% key not set + } + } + { + \newcommand{\GlsXtrForeignText}[2]{% + \GlossariesExtraWarning{Can't encapsulate foreign text: + tracklang v1.3.6+ required}% + #2% + } + } +} +{ + \newcommand{\GlsXtrForeignText}[2]{#2} +} +\newcommand*{\GlsXtrForeignTextField}{userii} +\newcommand*{\GlsXtrUnknownDialectWarning}[2]{% + \GlossariesExtraWarning{Can't determine valid dialect label + for locale `#1' (root language: #2)}% +} +\ifdef\GlsEntryCounterLabelPrefix +{% + \newcommand*{\glsxtrpageref}[1]{% + \ifglsentrycounter + \pageref{\GlsEntryCounterLabelPrefix\glsdetoklabel{#1}}% + \else + \ifglssubentrycounter + \pageref{\GlsEntryCounterLabelPrefix\glsdetoklabel{#1}}% + \else + \gls{#1}% + \fi + \fi + } +}% +{% + \newcommand*{\glsxtrpageref}[1]{% + \ifglsentrycounter + \pageref{glsentry-\glsdetoklabel{#1}}% + \else + \ifglssubentrycounter + \pageref{glsentry-\glsdetoklabel{#1}}% + \else + \gls{#1}% + \fi + \fi + } +}% +\newcommand{\apptoglossarypreamble}[2][\glsdefaulttype]{% + \ifcsdef{glolist@#1}% + {% + \ifcsundef{@glossarypreamble@#1}% + {\csdef{@glossarypreamble@#1}{}}% + {}% + \csappto{@glossarypreamble@#1}{#2}% + }% + {% + \GlossariesExtraWarning{Glossary `#1' is not defined}% + }% +} +\newcommand{\preglossarypreamble}[2][\glsdefaulttype]{% + \ifcsdef{glolist@#1}% + {% + \ifcsundef{@glossarypreamble@#1}% + {\csdef{@glossarypreamble@#1}{}}% + {}% + \cspreto{@glossarypreamble@#1}{#2}% + }% + {% + \GlossariesExtraWarning{Glossary `#1' is not defined}% + }% +} +\ifdef\@gls@entry@field +{ + \renewcommand*{\@gls@entry@field}[2]{\csuse{glo@\glsdetoklabel{#1}@#2}} +} +{} +\renewcommand*{\ifglsused}[3]{% + \glsdoifexists{#1}{\ifbool{glo@\glsdetoklabel{#1}@flag}{#2}{#3}}% +} +\renewcommand*{\longnewglossaryentry}{% + \@ifstar\@glsxtr@s@longnewglossaryentry\@glsxtr@longnewglossaryentry +} +\newcommand{\@glsxtr@s@longnewglossaryentry}[3]{% + \glsdoifnoexists{#1}% + {% + \bgroup + \let\@org@newglossaryentryprehook\@newglossaryentryprehook + \long\def\@newglossaryentryprehook{% + \long\def\@glo@desc{#3}% + \@org@newglossaryentryprehook + }% + \renewcommand*{\gls@assign@desc}[1]{% + \global\cslet{glo@\glsdetoklabel{#1}@desc}{\@glo@desc}% + \global\cslet{glo@\glsdetoklabel{#1}@descplural}{\@glo@descplural}% + } + \gls@defglossaryentry{#1}{#2}% + \egroup + }% +} +\newcommand{\@glsxtr@longnewglossaryentry}[3]{% + \glsdoifnoexists{#1}% + {% + \bgroup + \let\@org@newglossaryentryprehook\@newglossaryentryprehook + \long\def\@newglossaryentryprehook{% + \long\def\@glo@desc{#3\glsxtrpostlongdescription}% + \@org@newglossaryentryprehook + }% + \renewcommand*{\gls@assign@desc}[1]{% + \global\cslet{glo@\glsdetoklabel{#1}@desc}{\@glo@desc}% + \global\cslet{glo@\glsdetoklabel{#1}@descplural}{\@glo@descplural}% + } + \gls@defglossaryentry{#1}{#2}% + \egroup + }% +} +\newcommand*{\glsxtrpostlongdescription}{\leavevmode\unskip\nopostdesc} +\renewcommand{\newignoredglossary}{% + \@ifstar\glsxtr@s@newignoredglossary\glsxtr@org@newignoredglossary +} +\newcommand*{\glsxtr@org@newignoredglossary}[1]{% + \ifcsdef{glolist@#1} + {% + \glsxtrundefaction{Glossary type `#1' already exists}{}% + }% + {% + \ifdefempty\@ignored@glossaries + {% + \protected@edef\@ignored@glossaries{#1}% + }% + {% + \protected@eappto\@ignored@glossaries{,#1}% + }% + \csgdef{glolist@#1}{,}% + \ifcsundef{gls@#1@entryfmt}% + {% + \defglsentryfmt[#1]{\glsentryfmt}% + }% + {}% + \ifdefempty\@gls@nohyperlist + {% + \renewcommand*{\@gls@nohyperlist}{#1}% + }% + {% + \protected@eappto\@gls@nohyperlist{,#1}% + }% + }% +} +\newcommand*{\glsxtr@s@newignoredglossary}[1]{% + \ifcsdef{glolist@#1} + {% + \glsxtrundefaction{Glossary type `#1' already exists}{}% + }% + {% + \ifdefempty\@ignored@glossaries + {% + \protected@edef\@ignored@glossaries{#1}% + }% + {% + \protected@eappto\@ignored@glossaries{,#1}% + }% + \csgdef{glolist@#1}{,}% + \ifcsundef{gls@#1@entryfmt}% + {% + \defglsentryfmt[#1]{\glsentryfmt}% + }% + {}% + }% +} +\glsifusetranslator +{% + \renewcommand*{\glssettoctitle}[1]{% + \ifcsdef{gls@tr@set@#1@toctitle}% + {% + \csuse{gls@tr@set@#1@toctitle}% + }% + {% + \ifcsdef{@glotype@#1@title}% + {\def\glossarytoctitle{\csname @glotype@#1@title\endcsname}}% + {\def\glossarytoctitle{\glossarytitle}}% + }% + }% +} +{ + \renewcommand*{\glssettoctitle}[1]{% + \ifcsdef{@glotype@#1@title}% + {\def\glossarytoctitle{\csname @glotype@#1@title\endcsname}}% + {\def\glossarytoctitle{\glossarytitle}}% + } +} +\newcommand{\provideignoredglossary}{% + \@ifstar\glsxtr@s@provideignoredglossary\glsxtr@provideignoredglossary +} +\newcommand*{\glsxtr@provideignoredglossary}[1]{% + \ifcsdef{glolist@#1} + {}% + {% + \ifdefempty\@ignored@glossaries + {% + \protected@edef\@ignored@glossaries{#1}% + }% + {% + \protected@eappto\@ignored@glossaries{,#1}% + }% + \csgdef{glolist@#1}{,}% + \ifcsundef{gls@#1@entryfmt}% + {% + \defglsentryfmt[#1]{\glsentryfmt}% + }% + {}% + \ifdefempty\@gls@nohyperlist + {% + \renewcommand*{\@gls@nohyperlist}{#1}% + }% + {% + \protected@eappto\@gls@nohyperlist{,#1}% + }% + }% +} +\newcommand*{\glsxtr@s@provideignoredglossary}[1]{% + \ifcsdef{glolist@#1} + {}% + {% + \ifdefempty\@ignored@glossaries + {% + \protected@edef\@ignored@glossaries{#1}% + }% + {% + \protected@eappto\@ignored@glossaries{,#1}% + }% + \csgdef{glolist@#1}{,}% + \ifcsundef{gls@#1@entryfmt}% + {% + \defglsentryfmt[#1]{\glsentryfmt}% + }% + {}% + }% +} +\newcommand*{\glsxtrcopytoglossary}[2]{% + \glsdoifexists{#1}% + {% + \ifcsdef{glolist@#2} + {% + \protected@cseappto{glolist@#2}{#1,}% + }% + {% + \glsxtrundefaction{Glossary type `#2' doesn't exist}{}% + }% + }% +} +\renewcommand{\glsdoifexists}[2]{% + \ifglsentryexists{#1}{#2}% + {% + \protected@edef\glslabel{\glsdetoklabel{#1}}% + \glsxtrundefaction{Glossary entry `\glslabel' + has not been defined}{You need to define a glossary entry before + you can reference it.}% + }% +} +\renewcommand{\glsdoifnoexists}[2]{% + \ifglsentryexists{#1}{% + \glsxtrundefaction{Glossary entry `\glsdetoklabel{#1}' + has already been defined}{}}{#2}% +} +\ifdef\glsdoifexistsordo +{% + \renewcommand{\glsdoifexistsordo}[3]{% + \ifglsentryexists{#1}{#2}% + {% + \glsxtrundefaction{Glossary entry `\glsdetoklabel{#1}' + has not been defined}{You need to define a glossary entry + before you can use it.}% + #3% + }% + }% +} +{% + \glsxtr@warnonexistsordo\glsdoifexistsordo + \newcommand{\glsdoifexistsordo}[3]{% + \ifglsentryexists{#1}{#2}% + {% + \glsxtrundefaction{Glossary entry `\glsdetoklabel{#1}' + has not been defined}{You need to define a glossary entry + before you can use it.}% + #3% + }% + }% +} +\ifdef\doifglossarynoexistsordo +{% + \renewcommand{\doifglossarynoexistsordo}[3]{% + \ifglossaryexists*{#1}% + {% + \glsxtrundefaction{Glossary type `#1' already exists}{}% + #3% + }% + {#2}% + }% +} +{% + \glsxtr@warnonexistsordo\doifglossarynoexistsordo + \newcommand{\doifglossarynoexistsordo}[3]{% + \ifglossaryexists*{#1}% + {% + \glsxtrundefaction{Glossary type `#1' already exists}{}% + #3% + }% + {#2}% + }% +} + +\appto\@newglossaryentryposthook{% + \ifdefvoid\@glo@see + {\csxdef{glo@\@glo@label @see}{}}% + {% + \csxdef{glo@\@glo@label @see}{\@glo@see}% + \if@glsxtr@autoseeindex + \@glsxtr@autoindexcrossrefs + \fi + }% +} +\appto\@gls@keymap{,{see}{see}} +\newcommand*{\glsxtrusesee}[1]{% + \glsdoifexists{#1}% + {% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@see}% + \ifdefempty\@glo@see + {}% + {% + \expandafter\glsxtr@usesee\@glo@see\@end@glsxtr@usesee + }% + }% +} +\newcommand*{\glsxtr@usesee}[1][\seename]{% + \@glsxtr@usesee[#1]% +} +\def\@glsxtr@usesee[#1]#2\@end@glsxtr@usesee{% + \glsxtruseseeformat{#1}{#2}% +} +\newcommand*{\glsxtruseseeformat}[2]{% + \glsseeformat[#1]{#2}{}% +} +\renewcommand*{\glsseeitemformat}[1]{% + \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% +} +\newcommand*{\glsxtrhiername}[1]{% + \glsdoifexists{#1}% + {% + \glsxtrifhasfield{parent}{#1}% + {\glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}% + {}% + \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% + }% +} +\newcommand*{\Glsxtrhiername}[1]{% + \glsdoifexists{#1}% + {% + \glsxtrifhasfield{parent}{#1}% + {% + \Glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep + \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% + }% + {\ifglshasshort{#1}{\Glsfmttext{#1}}{\Glsfmtname{#1}}}% + }% +} +\newcommand*{\GlsXtrhiername}[1]{% + \glsdoifexists{#1}% + {% + \glsxtrifhasfield{parent}{#1}% + {\GlsXtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}% + {}% + \ifglshasshort{#1}{\Glsfmttext{#1}}{\Glsfmtname{#1}}% + }% +} +\newcommand*{\GLSxtrhiername}[1]{% + \glsdoifexists{#1}% + {% + \glsxtrifhasfield{parent}{#1}% + {% + \GLSxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep + \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% + }% + {\ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}}% + }% +} +\newcommand*{\GLSXTRhiername}[1]{% + \glsdoifexists{#1}% + {% + \glsxtrifhasfield{parent}{#1}% + {\GLSXTRhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}% + {} + \ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}% + }% +} +\newcommand*{\glsxtrhiernamesep}{\,{\small$\triangleright$}\,} +\newcommand*{\glsxtruseseealso}[1]{% + \glsdoifexists{#1}% + {% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@seealso}% + \ifdefempty\@glo@see + {}% + {% + \expandafter\glsxtruseseealsoformat\expandafter{\@glo@see}% + }% + }% +} +\newcommand*{\glsxtrusealias}[1]{% + \glsdoifexists{#1}% + {% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@alias}% + \ifdefempty\@glo@see + {}% + {% + \glsxtruseseeformat{\seename}{\@glo@see}% + }% + }% +} +\newcommand*{\glsxtruseseealsoformat}[1]{% + \glsseeformat[\seealsoname]{#1}{}% +} +\newrobustcmd{\glsxtrseelist}[1]{% + \protected@edef\@glo@tmp{\noexpand\glsseelist{#1}}\@glo@tmp +} +\renewrobustcmd*{\glsseelist}[1]{% + \let\@gls@dolast\relax + \let\@gls@donext\relax + \let\@glsseeitem\@glsxtr@seefirstitem + \let\@glsseelastsep\glsseelastsep + \@for\@gls@thislabel:=#1\do{% + \ifx\@xfor@nextelement\@nnil + \@gls@dolast + \else + \@gls@donext + \fi + \expandafter\@glsseeitem\expandafter{\@gls@thislabel}% + \let\@gls@dolast\@glsseelastsep + \let\@gls@donext\glsseesep + \let\@glsseeitem\@glsxtr@seeitem + \let\@glsseelastsep\glsseelastoxfordsep + }% +} +\newcommand*{\@glsxtr@seeitem}[1]{% + \glsxtrifmulti{#1}{\mglsseeitem{#1}}{\glsseeitem{#1}}% +} +\newcommand*{\@glsxtr@seefirstitem}[1]{% + \glsxtrifmulti{#1}{\mglsseefirstitem{#1}}{\glsseefirstitem{#1}}% +} +\newcommand*{\mglsseeitem}[1]{% + \mglsname[all={noindex},setup={hyper=allmain}]{#1}% +} +\newcommand*{\mglsseefirstitem}{\mglsseeitem} +\newcommand*{\glsseefirstitem}{\glsseeitem} +\newcommand*{\glsseelastoxfordsep}{\glsseelastsep} +\ifdef\alsoname +{\providecommand{\seealsoname}{\alsoname}} +{\providecommand{\seealsoname}{see also}} +\ifdef\@xdycrossrefhook +{ + \appto\@xdycrossrefhook{% + \write\glswrite{(define-crossref-class \string"seealso\string" + :unverified )}% + \write\glswrite{(markup-crossref-list + :class \string"seealso\string"^^J\space\space\space + :open \string"\string\glsxtruseseealsoformat\glsopenbrace\string" + :close \string"\glsclosebrace\string")}% + } + \appto\@xdylocationclassorder{\space\string"seealso\string"} + \newrobustcmd*{\glsxtrindexseealso}[2]{% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \@glsxtr@recordsee{#1}{#2}% + \fi + \glsdoifexists{#1}% + {% + \@@glsxtrwrglossmark + \def\@gls@xref{#2}% + \@onelevel@sanitize\@gls@xref + \@gls@checkmkidxchars\@gls@xref + \gls@glossary{\csname glo@#1@type\endcsname}{% + (indexentry + :tkey (\csname glo@#1@index\endcsname) + :xref (\string"\@gls@xref\string") + :attr \string"seealso\string" + ) + }% + }% + } +} +{ + \newrobustcmd*{\glsxtrindexseealso}{\glssee[\seealsoname]} +} +\ifdef\gls@set@xr@key +{ + \define@key{glossentry}{alias}{% + \gls@set@xr@key{alias}{\@glo@alias}{#1}% + } + \define@key{glossentry}{seealso}{% + \gls@set@xr@key{seealso}{\@glo@seealso}{#1}% + } + \appto\@gls@keymap{,{alias}{alias},{seealso}{seealso}} + \appto\@newglossaryentryprehook{\def\@glo@alias{}\def\@glo@seealso{}}% + \appto\@newglossaryentryposthook{% + \ifdefvoid\@glo@seealso + {\csxdef{glo@\@glo@label @seealso}{}}% + {% + \csxdef{glo@\@glo@label @seealso}{\@glo@seealso}% + \if@glsxtr@autoseeindex + \@glsxtr@autoindexcrossrefs + \fi + }% + \ifdefvoid\@glo@alias + {\csxdef{glo@\@glo@label @alias}{}}% + {% + \csxdef{glo@\@glo@label @alias}{\@glo@alias}% + }% + } + \newcommand*{\glsxtralias}[1]{\@gls@entry@field{#1}{alias}} + \newcommand*{\glsxtrseealsolabels}[1]{\@gls@entry@field{#1}{seealso}} + \appto\@glo@autoseehook{% + \ifdefvoid\@glo@alias + {% + \ifdefvoid\@glo@seealso + {}% + {% + \protected@edef\@do@glssee{\noexpand\glsxtrindexseealso + {\@glo@label}{\@glo@seealso}}% + \@do@glssee + }% + }% + {% + \ifdefvoid\@glo@see + {% + \protected@edef\@do@glssee{\noexpand\glssee{\@glo@label}{\@glo@alias}}% + \@do@glssee + }% + {}% + }% + }% +} +{ + \glsaddstoragekey*{alias}{}{\glsxtralias} + \glsaddstoragekey*{seealso}{}{\glsxtrseealsolabels} + \appto\@newglossaryentryposthook{% + \ifcsvoid{glo@\@glo@label @alias}% + {% + \ifcsvoid{glo@\@glo@label @seealso}% + {}% + {% + \protected@edef\@do@glssee{\noexpand\glsxtrindexseealso + {\@glo@label}{\csuse{glo@\@glo@label @seealso}}}% + \@do@glssee + }% + }% + {% + \ifdefvoid\@glo@see + {% + \protected@edef\@do@glssee{\noexpand\glssee + {\@glo@label}{\csuse{glo@\@glo@label @alias}}}% + \@do@glssee + }% + {}% + }% + } +} +\AtEndDocument{\if@glsxtrindexcrossrefs\glsxtraddallcrossrefs\fi} +\newcommand*{\glsxtraddallcrossrefs}{% + \forallglossaries{\@glo@type}% + {% + \forglsentries[\@glo@type]{\@glo@label}% + {% + \ifglsused{\@glo@label}% + {\expandafter\@glsxtr@addunusedxrefs\expandafter{\@glo@label}}{}% + }% + }% +} +\newcommand*{\@glsxtr@addunusedxrefs}[1]{% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@see}% + \ifdefvoid\@glo@see + {}% + {% + \expandafter\glsxtr@addunused\@glo@see\@end@glsxtr@addunused + }% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@seealso}% + \ifdefvoid\@glo@see + {}% + {% + \expandafter\glsxtr@addunused\@glo@see\@end@glsxtr@addunused + }% +} +\newcommand*{\glsxtr@addunused}[1][]{% + \@glsxtr@addunused +} +\def\@glsxtr@addunused#1\@end@glsxtr@addunused{% + \@for\@glsxtr@label:=#1\do + {% + \glsxtrifmulti\@glsxtr@label + {% + \letcs\@glsxtr@labellist{@gls@combined@\@glsxtr@label @list}% + \@for\@glsxtr@multilabel:=\@glsxtr@labellist\do + {\@glsxtr@addunused\@glsxtr@multilabel\@end@glsxtr@addunused}% + }% + {% + \ifglsused{\@glsxtr@label}{}% + {% + \glsadd[format=glsxtrunusedformat]{\@glsxtr@label}% + \glsunset{\@glsxtr@label}% + \expandafter\@glsxtr@addunusedxrefs\expandafter{\@glsxtr@label}% + }% + }% + }% +} +\newcommand*{\glsxtrunusedformat}[1]{\unskip} +\ifdef\gls@begindocdefs +{% + \renewcommand*{\gls@begindocdefs}{% + \ifnum\@glsxtr@docdefval=1\relax + \@gls@enablesavenonumberlist + \edef\@gls@restoreat{% + \noexpand\catcode`\noexpand\@=\number\catcode`\@\relax}% + \makeatletter + \InputIfFileExists{\jobname.glsdefs}{}{}% + \@gls@restoreat + \undef\@gls@restoreat + \gls@defdocnewglossaryentry + \else + \ifnum\@glsxtr@docdefval=3\relax + \@gls@enablesavenonumberlist + \let\gls@checkseeallowed\relax + \let\newglossaryentry\new@atom@glossaryentry + \global\newwrite\@gls@deffile + \immediate\openout\@gls@deffile=\jobname.glsdefs + \forallglsentries{\@glsentry}{\@gls@writedef{\@glsentry}}% + \fi + \fi + } +} +{% + \ifnum\@glsxtr@docdefval=3\relax + \PackageError{glossaries-extra}{Package option + `docdef=\@glsxtr@docdefsetting' requires at least version 4.37 + of the base glossaries.sty package}{} + \fi +} +\newrobustcmd{\new@atom@glossaryentry}[2]{% + \gls@defglossaryentry{#1}{#2}% + \@gls@writedef{#1}% +} +\let\glsxtr@orgmakenoidxglossaries\makenoidxglossaries +\renewcommand{\makenoidxglossaries}{% + \@domakeglossaries + {% + \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off + {% + \glsxtr@orgmakenoidxglossaries + \renewcommand{\@do@seeglossary}[2]{% + \@@glsxtrwrglossmark + \protected@edef\@gls@label{\glsdetoklabel{##1}}% + \protected@write\@auxout{}{% + \string\@gls@reference + {\csname glo@\@gls@label @type\endcsname}% + {\@gls@label}% + {% + \string\glsseeformat##2{}% + }% + }% + }% + \if@glsxtrdocdefrestricted + \renewcommand*{\@gls@reference}[3]{% + \ifcsundef{@glsref@##1}{\csgdef{@glsref@##1}{}}{}% + \ifinlistcs{##2}{@glsref@##1}% + {}% + {\listcsgadd{@glsref@##1}{##2}}% + \ifcsundef{glo@\glsdetoklabel{##2}@loclist}% + {\csgdef{glo@\glsdetoklabel{##2}@loclist}{}}% + {}% + \listcsgadd{glo@\glsdetoklabel{##2}@loclist}{##3}% + }% + \else + \@glsxtrdocdeffalse + \fi + \disable@keys{glossaries-extra.sty}{docdef}% + }% + {% + \PackageError{glossaries-extra}{\string\makenoidxglossaries\space + not permitted\MessageBreak + with record=\@glsxtr@record@setting\space package option}% + {You may only use \string\makenoidxglossaries\ space with the + record=off option}% + }% + }% +} +\renewcommand*{\gls@defdocnewglossaryentry}{% + \ifcase\@glsxtr@docdefval + \renewcommand*{\newglossaryentry}[2]{% + \PackageError{glossaries-extra}{Glossary entries must + be \MessageBreak defined in the preamble with \MessageBreak + package option `docdef=false'\MessageBreak(consider using + `docdef=restricted')}{Move your glossary definitions to + the preamble. You can also put them in a \MessageBreak separate file + and load them with \string\loadglsentries.}% + }% + \or + \let\gls@checkseeallowed\relax + \let\newglossaryentry\new@glossaryentry + \else + \let\gls@checkseeallowed\relax + \fi +}% +\newcommand*{\GlsXtrEnableOnTheFly}{% + \@ifstar\@sGlsXtrEnableOnTheFly\@GlsXtrEnableOnTheFly +} +\newcommand*{\@sGlsXtrEnableOnTheFly}{% + \renewcommand*{\glsdetoklabel}[1]{% + \expandafter\@glsxtr@ifcsstart\string##1 \@glsxtr@end@ + {% + \expandafter\detokenize\expandafter{##1}% + }% + {\detokenize{##1}}% + }% + \@GlsXtrEnableOnTheFly +} +\def\@glsxtr@ifcsstart#1#2\@glsxtr@end@#3#4{% + \expandafter\if\glsbackslash#1% + #3% + \else + #4% + \fi +} +\newcommand*{\glsxtrstarflywarn}{% + \GlossariesExtraWarning{Experimental starred version of + \string\GlsXtrEnableOnTheFly\space in use (please ensure you have + read the warnings in the glossaries-extra user manual)}% +} +\newcommand*{\@GlsXtrEnableOnTheFly}{% + \newcommand*{\glsxtrcat}{general} + \newcommand*{\glsxtr}[1][]{% + \def\glsxtr@keylist{##1}% + \@glsxtr + } + \newcommand*{\@glsxtr}[2][]{% + \ifglsentryexists{##2}% + {% + \ifblank{##1}{}{\GlsXtrWarning{##1}{##2}}% + }% + {% + \gls@defglossaryentry{##2}{name={##2},category=\glsxtrcat, + description={\nopostdesc},##1}% + }% + \expandafter\gls\expandafter[\glsxtr@keylist]{##2}% + } + \newcommand*{\Glsxtr}[1][]{% + \def\glsxtr@keylist{##1}% + \@Glsxtr + } + \newcommand*{\@Glsxtr}[2][]{% + \ifglsentryexists{##2}% + {% + \ifblank{##1}{}{\GlsXtrWarning{##1}{##2}}% + }% + {% + \gls@defglossaryentry{##2}{name={##2},category=\glsxtrcat, + description={\nopostdesc},##1}% + }% + \expandafter\Gls\expandafter[\glsxtr@keylist]{##2}% + } + \newcommand*{\glsxtrpl}[1][]{% + \def\glsxtr@keylist{##1}% + \@glsxtrpl + } + \newcommand*{\@glsxtrpl}[2][]{% + \ifglsentryexists{##2}% + {% + \ifblank{##1}{}{\GlsXtrWarning{##1}{##2}}% + }% + {% + \gls@defglossaryentry{##2}{name={##2},category=\glsxtrcat, + description={\nopostdesc},##1}% + }% + \expandafter\glspl\expandafter[\glsxtr@keylist]{##2}% + } + \newcommand*{\Glsxtrpl}[1][]{% + \def\glsxtr@keylist{##1}% + \@Glsxtrpl + } + \newcommand*{\@Glsxtrpl}[2][]{% + \ifglsentryexists{##2} + {% + \ifblank{##1}{}{\GlsXtrWarning{##1}{##2}}% + }% + {% + \gls@defglossaryentry{##2}{name={##2},category=\glsxtrcat, + description={\nopostdesc},##1}% + }% + \expandafter\Glspl\expandafter[\glsxtr@keylist]{##2}% + } + \newcommand*{\GlsXtrWarning}[2]{% + \def\@glsxtr@optlist{##1}% + \@onelevel@sanitize\@glsxtr@optlist + \GlossariesExtraWarning{The options `\@glsxtr@optlist' have + been ignored for entry `##2' as it has already been defined}% + } + \renewcommand\@printglossary[2]{% + \def\@glsxtr@printglossopts{##1}% + \@glsxtr@orgprintglossary{##1}{##2}% + \def\@glsxtr{\@glsxtr@disabledflycommand\glsxtr}% + \def\@glsxtrpl{\@glsxtr@disabledflycommand\glsxtrpl}% + \def\@Glsxtr{\@glsxtr@disabledflycommand\Glsxtr}% + \def\@Glsxtrpl{\@glsxtr@disabledflycommand\Glsxtrpl}% + } + \newcommand*{\@glsxtr@disabledflycommand}[1]{% + \PackageError{glossaries-extra}% + {\string##1\space can't be used after any of the \MessageBreak + glossaries have been displayed}% + {The on-the-fly commands enabled by + \string\GlsXtrEnableOnTheFly\space may only be used \MessageBreak + before the glossaries. If you want to use any entries \MessageBreak + after any of the glossaries, you must use the standard \MessageBreak + method of first defining the entry and then using the \MessageBreak + entry with commands like \string\gls}% + \@@glsxtr@disabledflycommand + }% + \newcommand*{\@@glsxtr@disabledflycommand}[2][]{##2} + \let\GlsXtrEnableOnTheFly\relax +} +\@onlypreamble\GlsXtrEnableOnTheFly +\newcommand*{\@glsxtr@current@style}{\@glossary@default@style} +\renewcommand*{\setglossarystyle}[1]{% + \ifcsundef{@glsstyle@#1}% + {% + \PackageError{glossaries-extra}{Glossary style `#1' undefined}{}% + }% + {% + \csname @glsstyle@#1\endcsname + \protected@edef\@glsxtr@current@style{#1}% + }% + \ifx\@glossary@default@style\relax + \protected@edef\@glossary@default@style{#1}% + \fi +} +\ifdef\@glossary@default@style +{} +{% + \let\@glossary@default@style\relax +} +\ifdef\glslistdottedwidth +{% + \ifdim\glslistdottedwidth=.5\hsize + \setlength{\glslistdottedwidth}{-\dimexpr\maxdimen-1sp\relax} + \AtBeginDocument{% + \ifdim\glslistdottedwidth=-\dimexpr\maxdimen-1sp\relax + \setlength{\glslistdottedwidth}{.5\columnwidth}% + \fi + }% + \fi +} +{}% +\ifdef\glsdescwidth +{% + \ifdim\glsdescwidth=.6\hsize + \setlength{\glsdescwidth}{-\dimexpr\maxdimen-1sp\relax} + \AtBeginDocument{% + \ifdim\glsdescwidth=-\dimexpr\maxdimen-1sp\relax + \setlength{\glsdescwidth}{.6\columnwidth}% + \fi + }% + \fi +} +{}% +\ifdef\glspagelistwidth +{% + \ifdim\glspagelistwidth=.1\hsize + \setlength{\glspagelistwidth}{-\dimexpr\maxdimen-1sp\relax} + \AtBeginDocument{% + \ifdim\glspagelistwidth=-\dimexpr\maxdimen-1sp\relax + \setlength{\glspagelistwidth}{.1\columnwidth}% + \fi + }% + \fi +} +{}% +\def\org@glossaryentrynumbers#1{#1\gls@save@numberlist{#1}}% +\ifx\org@glossaryentrynumbers\glossaryentrynumbers + \glsnonumberlistfalse + \renewcommand*{\glossaryentrynumbers}[1]{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \@glsxtrpreloctag + \GlsXtrFormatLocationList{#1}% + \@glsxtrpostloctag + \gls@save@numberlist{#1}% + }{}% + }% +\else + \glsnonumberlisttrue + \renewcommand*{\glossaryentrynumbers}[1]{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \gls@save@numberlist{#1}% + }{}% + }% +\fi +\newcommand*{\GlsXtrFormatLocationList}[1]{#1} +\newcommand*{\GlsXtrEnablePreLocationTag}[2]{% + \let\@glsxtrpreloctag\@@glsxtrpreloctag + \let\@glsxtrpostloctag\@@glsxtrpostloctag + \renewcommand*{\@glsxtr@pagetag}{#1}% + \renewcommand*{\@glsxtr@pagestag}{#2}% + \renewcommand*{\@glsxtr@savepreloctag}[2]{% + \csgdef{@glsxtr@preloctag@##1}{##2}% + }% + \renewcommand*{\@glsxtr@doloctag}{% + \ifcsundef{@glsxtr@preloctag@\glscurrententrylabel}% + {% + \GlossariesWarning{Missing pre-location tag for `\glscurrententrylabel'. + Rerun required}% + }% + {% + \csuse{@glsxtr@preloctag@\glscurrententrylabel}% + }% + }% +} +\@onlypreamble\GlsXtrEnablePreLocationTag +\newcommand*{\@@glsxtrpreloctag}{% + \let\@glsxtr@org@delimN\delimN + \let\@glsxtr@org@delimR\delimR + \let\@glsxtr@org@glsignore\glsignore + \gdef\@glsxtr@thisloctag{\@glsxtr@pagetag}% + \renewcommand*{\delimN}{% + \gdef\@glsxtr@thisloctag{\@glsxtr@pagestag}% + \@glsxtr@org@delimN}% + \renewcommand*{\delimR}{% + \gdef\@glsxtr@thisloctag{\@glsxtr@pagestag}% + \@glsxtr@org@delimR}% + \renewcommand*{\glsignore}[1]{% + \gdef\@glsxtr@thisloctag{\relax}% + \@glsxtr@org@glsignore{##1}}% + \@glsxtr@doloctag +} +\newcommand*{\@glsxtrpreloctag}{} +\newcommand*{\@glsxtr@pagetag}{}% +\newcommand*{\@glsxtr@pagestag}{}% +\newcommand*{\@@glsxtrpostloctag}{% + \let\delimN\@glsxtr@org@delimN + \let\delimR\@glsxtr@org@delimR + \let\glsignore\@glsxtr@org@glsignore + \protected@write\@auxout{}% + {\string\@glsxtr@savepreloctag{\glscurrententrylabel}{\@glsxtr@thisloctag}}% +} +\newcommand*{\@glsxtrpostloctag}{} +\newcommand*{\@glsxtr@savepreloctag}[2]{} +\protected@write\@auxout{}{% + \string\providecommand\string\@glsxtr@savepreloctag[2]{}} +\newcommand*{\@glsxtr@doloctag}{} +\renewcommand*{\KV@printgloss@nonumberlist}[1]{% + \XKV@plfalse + \XKV@sttrue + \XKV@checkchoice[\XKV@resa]{#1}{true,false}% + {% + \csname glsnonumberlist\XKV@resa\endcsname + \ifglsnonumberlist + \def\glossaryentrynumbers##1{\gls@save@numberlist{##1}}% + \else + \def\glossaryentrynumbers##1{% + \@glsxtrpreloctag + \GlsXtrFormatLocationList{##1}% + \@glsxtrpostloctag + \gls@save@numberlist{##1}}% + \fi + }% +} +\renewcommand*{\glsentryfmt}{% + \ifglshasshort{\glslabel}{\glssetabbrvfmt{\glscategory{\glslabel}}}{}% + \glsifregular{\glslabel}% + {\glsxtrregularfont{\glsgenentryfmt}}% + {% + \ifglshasshort{\glslabel}% + {\glsxtrabbreviationfont{\glsxtrgenabbrvfmt}}% + {\glsxtrregularfont{\glsgenentryfmt}}% + }% +} +\newcommand*{\glsxtrregularfont}[1]{#1} +\newcommand*{\glsxtrabbreviationfont}[1]{#1} +\renewcommand{\@gls@field@link}[4][]{% + \@glsxtr@record{#2}{#3}{glslink}% + \glsdoifexists{#3}% + {% + \let\glsxtrorg@ifKV@glslink@hyper\ifKV@glslink@hyper + \@gls@save@glslocal + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \def\glscustomtext{#4}% + \@glsxtr@field@linkdefs + #1% + \@gls@link[#2]{#3}{#4}% + \let\ifKV@glslink@hyper\glsxtrorg@ifKV@glslink@hyper + \@gls@restore@glslocal + }% + \glspostlinkhook +} +\let\@glsxtr@org@gls@\@gls@ +\def\@gls@#1#2{% + \@glsxtr@record{#1}{#2}{glslink}% + \@glsxtr@org@gls@{#1}{#2}% +}% +\let\@glsxtr@org@glspl@\@glspl@ +\def\@glspl@#1#2{% + \@glsxtr@record{#1}{#2}{glslink}% + \@glsxtr@org@glspl@{#1}{#2}% +}% +\let\@glsxtr@org@Gls@\@Gls@ +\def\@Gls@#1#2{% + \@glsxtr@record{#1}{#2}{glslink}% + \@glsxtr@org@Gls@{#1}{#2}% +}% +\let\@glsxtr@org@Glspl@\@Glspl@ +\def\@Glspl@#1#2{% + \@glsxtr@record{#1}{#2}{glslink}% + \@glsxtr@org@Glspl@{#1}{#2}% +}% +\let\@glsxtr@org@GLS@\@GLS@ +\def\@GLS@#1#2{% + \@glsxtr@record{#1}{#2}{glslink}% + \@glsxtr@org@GLS@{#1}{#2}% +}% +\let\@glsxtr@org@GLSpl@\@GLSpl@ +\def\@GLSpl@#1#2{% + \@glsxtr@record{#1}{#2}{glslink}% + \@glsxtr@org@GLSpl@{#1}{#2}% +}% +\renewcommand*{\@glsdisp}[3][]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}{% + \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \def\glscustomtext{#3}% + \def\glsinsert{}% + \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}% + \@gls@link[#1]{#2}{\@glo@text}% + \@gls@do@glsunset{#2}% + }% + \glspostlinkhook +} +\renewcommand*{\@gls@@link}[3][]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexistsordo{#2}% + {% + \let\do@gls@link@checkfirsthyper\relax + \def\glscustomtext{#3}% + \@glsxtr@field@linkdefs + \@gls@link[#1]{#2}{#3}% + }% + {% + \glstextformat{#3}% + }% + \glspostlinkhook +} +\newcommand*{\glsxtrinitwrgloss}{% + \glsifattribute{\glslabel}{wrgloss}{after}% + {% + \glsxtrinitwrglossbeforefalse + }% + {% + \glsxtrinitwrglossbeforetrue + }% +} +\newif\ifglsxtrinitwrglossbefore +\glsxtrinitwrglossbeforetrue +\define@choicekey{glslink}{wrgloss}% +[\@glsxtr@wrglossval\@glsxtr@wrglossnr]% +{before,after}% +{% + \ifcase\@glsxtr@wrglossnr\relax + \glsxtrinitwrglossbeforetrue + \or + \glsxtrinitwrglossbeforefalse + \fi +} +\define@key{glslink}{thevalue}{\def\@glsxtr@thevalue{#1}} +\define@key{glslink}{theHvalue}{\def\@glsxtr@theHvalue{#1}} +\define@boolkey{glslink}[glsxtr@]{hyperoutside}[true]{} +\glsxtr@hyperoutsidetrue +\define@key{glslink}{textformat}{% + \ifcsdef{#1} + {% + \letcs{\@glsxtr@local@textformat}{#1}% + }% + {% + \PackageError{glossaries-extra}{Unknown control sequence name `#1'}{}% + }% +} +\define@key{glslink}{prefix}{\def\glolinkprefix{#1}} +\newcommand*{\glsxtrinithyperoutside}{% + \glsifattribute{\glslabel}{hyperoutside}{false}% + {% + \glsxtr@hyperoutsidefalse + }% + {% + \glsxtr@hyperoutsidetrue + }% +} +\newcommand*{\glsxtr@inc@linkcount}{} +\newcommand*{\glslinkpresetkeys}{} +\newrobustcmd*{\GlsXtrExpandedFmt}[2]{% + \protected@edef\@glsxtr@tmp{#2}% + \expandafter#1\expandafter{\@glsxtr@tmp}% +} +\newcommand*{\@glsxtr@use@equation@counter}{% + \@glsxtr@ifnum@mmode{\def\@gls@counter{equation}}{}% +} +\newcommand*{\glsxtr@do@autoadd}[1]{} +\newcommand*{\GlsXtrAutoAddOnFormat}[3][\glslabel]{% + \renewcommand*{\glsxtr@do@autoadd}[1]{% + \begingroup + \protected@edef\@glsxtr@do@autoadd{% + \noexpand\ifstrequal{##1}{glslink}% + {% + \noexpand\DTLifinlist{\@glsnumberformat}{#2}{\noexpand\glsadd[format={\@glsnumberformat},#3]{#1}}{}% + }% + {}% + }% + \@glsxtr@do@autoadd + \endgroup + }% +} +\providecommand*{\glslinkwrcontent}[1]{{#1}} +\def\@gls@link[#1]#2#3{% + \leavevmode + \protected@edef\glslabel{\glsdetoklabel{#2}}% + \def\@gls@link@opts{#1}% + \let\@gls@link@label\glslabel + \let\@glsnumberformat\@glsxtr@defaultnumberformat + \protected@edef\@gls@counter{\csname glo@\glslabel @counter\endcsname}% + \protected@edef\glstype{\csname glo@\glslabel @type\endcsname}% + \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper + \@gls@save@glslocal + \let\@glsxtr@org@glolinkprefix\glolinkprefix + \let\@glsxtr@local@textformat\relax + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% + \glsxtrinitwrgloss + \glsxtrinithyperoutside + \@gls@setdefault@glslink@opts + \glsxtr@inc@linkcount + \if@glsxtr@equations + \@glsxtr@use@equation@counter + \fi + \do@glsdisablehyperinlist + \do@gls@link@checkfirsthyper + \glslinkpresetkeys + \setkeys{glslink}{#1}% + \glsxtr@do@autoadd{glslink}% + \glslinkpostsetkeys + \ifdefempty{\@glsxtr@thevalue}% + {% + \@gls@saveentrycounter + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \def\theHglsentrycounter{\@glsxtr@theHvalue}% + }% + \@gls@setsort{\glslabel}% + \ifx\@glsxtr@local@textformat\relax + \glshasattribute{\glslabel}{textformat}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{\glslabel}{textformat}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@textformat}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in textformat attribute + for entry `\glslabel'. Reverting to default \string\glstextformat}% + \let\@glsxtr@textformat\glstextformat + }% + }% + {% + \let\@glsxtr@textformat\glstextformat + }% + \else + \let\@glsxtr@textformat\@glsxtr@local@textformat + \fi + \glslinkwrcontent + {% + \ifglsxtrinitwrglossbefore + \@do@wrglossary{#2}% + \fi + \ifKV@glslink@hyper + \ifglsxtr@hyperoutside + \@glslink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \else + \@glsxtr@textformat{\@glslink{\glolinkprefix\glslabel}{#3}}% + \fi + \else + \ifglsxtr@hyperoutside + \glsdonohyperlink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \else + \@glsxtr@textformat{\glsdonohyperlink{\glolinkprefix\glslabel}{#3}}% + \fi + \fi + \ifglsxtrinitwrglossbefore + \else + \@do@wrglossary{#2}% + \fi + }% + \let\glolinkprefix\@glsxtr@org@glolinkprefix + \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper + \@gls@restore@glslocal +} +\define@key{glossadd}{thevalue}{\def\@glsxtr@thevalue{#1}} +\define@key{glossadd}{theHvalue}{\def\@glsxtr@theHvalue{#1}} +\newcommand*{\glsaddpresetkeys}{} + +\newcommand*{\glsaddpostsetkeys}{} +\renewrobustcmd*{\glsadd}[2][]{% + \glsxtrifinmark + {}% + {% + \@gls@adjustmode + \begingroup + \@glsxtr@record{#1}{#2}{glossadd}% + \glsdoifexists{#2}% + {% + \let\@glsnumberformat\@glsxtr@defaultnumberformat + \protected@edef\@gls@counter{\csname glo@\glsdetoklabel{#2}@counter\endcsname}% + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% + \glsaddpresetkeys + \setkeys{glossadd}{#1}% + \glsaddpostsetkeys + \ifdefempty{\@glsxtr@thevalue}% + {% + \@gls@saveentrycounter + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \def\theHglsentrycounter{\@glsxtr@theHvalue}% + }% + \@gls@setsort{#2}% + \KV@glslink@noindexfalse + \@@do@wrglossary{#2}% + }% + \endgroup + }% +} +\newrobustcmd{\glsaddeach}[2][]{% + \@for\@gls@thislabel:=#2\do{\glsadd[#1]{\@gls@thislabel}}% +} +\newcommand*{\@glsxtr@field@linkdefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty +} +\newcommand*{\glsxtrassignfieldfont}[1]{% + \ifglsentryexists{#1}% + {% + \ifglshasshort{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glsifregular{#1}% + {\let\@gls@field@font\glsxtrregularfont}% + {\let\@gls@field@font\@firstofone}% + }% + {% + \glsifnotregular{#1}% + {\let\@gls@field@font\@firstofone}% + {\let\@gls@field@font\glsxtrregularfont}% + }% + }% + {% + \let\@gls@field@font\@gobble + }% +} +\def\@glstext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesstext{#2}#3}}% +} +\def\@GLStext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdofthree]{#1}{#2}% + {\@gls@field@font{\GLSaccesstext{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@Glstext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@secondofthree]{#1}{#2}% + {\@gls@field@font{\Glsaccesstext{#2}#3}}% +} +\newcommand*{\glsxtrchecknohyperfirst}[1]{% + \glsifattribute{#1}{nohyperfirst}{true}{\KV@glslink@hyperfalse}{}% +} +\def\@glsfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsxtrifwasfirstuse\@firstoftwo + \glsxtrchecknohyperfirst{#2}% + ]{#1}{#2}% + {\@gls@field@font{\glsaccessfirst{#2}#3}}% +} +\def\@Glsfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsxtrifwasfirstuse\@firstoftwo + \let\glscapscase\@secondofthree + \glsxtrchecknohyperfirst{#2}% + ]% + {#1}{#2}{\@gls@field@font{\Glsaccessfirst{#2}#3}}% +} +\def\@GLSfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsxtrifwasfirstuse\@firstoftwo + \let\glscapscase\@thirdofthree + \glsxtrchecknohyperfirst{#2}% + ]% + {#1}{#2}{\@gls@field@font{\GLSaccessfirst{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glsifplural\@firstoftwo]{#1}{#2}% + {\@gls@field@font{\glsaccessplural{#2}#3}}% +} +\def\@Glsplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + ]% + {#1}{#2}{\@gls@field@font{\Glsaccessplural{#2}#3}}% +} +\def\@GLSplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + ]% + {#1}{#2}{\@gls@field@font{\GLSaccessplural{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsxtrifwasfirstuse\@firstoftwo + \let\glsifplural\@firstoftwo + \glsxtrchecknohyperfirst{#2}% + ]% + {#1}{#2}{\@gls@field@font{\glsaccessfirstplural{#2}#3}}% +} +\def\@Glsfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsxtrifwasfirstuse\@firstoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + \glsxtrchecknohyperfirst{#2}% + ]% + {#1}{#2}{\@gls@field@font{\Glsaccessfirstplural{#2}#3}}% +} +\def\@GLSfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glsxtrifwasfirstuse\@firstoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + \glsxtrchecknohyperfirst{#2}% + ]% + {#1}{#2}% + {\@gls@field@font{\GLSaccessfirstplural{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessname{#2}#3}}% +} +\def\@Glsname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsaccessname{#2}#3}}% +} +\def\@GLSname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}% + {\@gls@field@font{\GLSaccessname{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessdesc{#2}#3}}% +} +\def\@Glsdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsaccessdesc{#2}#3}}% +} +\def\@GLSdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\GLSaccessdesc{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsdescplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo + \let\glsifplural\@firstoftwo + ]{#1}{#2}{\@gls@field@font{\glsaccessdescplural{#2}#3}}% +} +\def\@Glsdescplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo + \let\glsifplural\@firstoftwo + ]{#1}{#2}{\@gls@field@font{\Glsaccessdescplural{#2}#3}}% +} +\def\@GLSdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@thirdoftwo + \let\glsifplural\@firstoftwo + ]% + {#1}{#2}% + {\@gls@field@font{\GLSaccessdescplural{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glssymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesssymbol{#2}#3}}% +} +\def\@Glssymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsaccesssymbol{#2}#3}}% +} +\def\@GLSsymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\GLSaccesssymbol{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glssymbolplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo + \let\glsifplural\@firstoftwo + ]{#1}{#2}{\@gls@field@font{\glsaccesssymbolplural{#2}#3}}% +} +\def\@Glssymbolplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo + \let\glsifplural\@firstoftwo + ]{#1}{#2}{\@gls@field@font{\Glsaccesssymbolplural{#2}#3}}% +} +\def\@GLSsymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@thirdoftwo + \let\glsifplural\@firstoftwo + ]% + {#1}{#2}% + {\@gls@field@font{\GLSaccesssymbolplural{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@Glsuseri@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsentryuseri{#2}#3}}% +} +\def\@GLSuseri@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseri{#2}#3}}}% +} +\def\@Glsuserii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuserii{#2}#3}}% +} +\def\@GLSuserii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserii{#2}#3}}}% +} +\def\@Glsuseriii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuseriii{#2}#3}}% +} +\def\@GLSuseriii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriii{#2}#3}}}% +} +\def\@Glsuseriv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuseriv{#2}#3}}% +} +\def\@GLSuseriv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}% + {\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriv{#2}#3}}}% +} +\def\@Glsuserv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuserv{#2}#3}}% +} +\def\@GLSuserv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserv{#2}#3}}}% +} +\def\@Glsuservi@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuservi{#2}#3}}% +} +\def\@GLSuservi@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link[\let\glscapscase\@thirdoftwo]% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuservi{#2}#3}}}% +} +\newcommand*{\@@glsxtr@base@acrcmd@warn}[2]{% + \GlossariesExtraWarning{Base acronym command \string#1\space + should not be used with new abbreviation definitions. Use + \string#2\space instead}% +} +\let\@glsxtr@base@acrcmd\@@glsxtr@base@acrcmd@warn +\def\@acrshort#1#2[#3]{% + \@glsxtr@base@acrcmd\acrshort\glsxtrshort + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\glsaccessshort{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@Acrshort#1#2[#3]{% + \@glsxtr@base@acrcmd\Acrshort\Glsxtrshort + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\Glsaccessshort{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@ACRshort#1#2[#3]{% + \@glsxtr@base@acrcmd\ACRshort\GLSxtrshort + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase{\acronymfont{\glsaccessshort{#2}}#3}% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@acrshortpl#1#2[#3]{% + \@glsxtr@base@acrcmd\acrshortpl\glsxtrshortpl + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\glsaccessshortpl{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@Acrshortpl#1#2[#3]{% + \@glsxtr@base@acrcmd\Acrshortpl\Glsxtrshortpl + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\Glsaccessshortpl{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@ACRshortpl#1#2[#3]{% + \@glsxtr@base@acrcmd\ACRshortpl\GLSxtrshortpl + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase{\acronymfont{\glsaccessshortpl{#2}}#3}% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@acrlong#1#2[#3]{% + \@glsxtr@base@acrcmd\acrlong\glsxtrlong + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\glsaccesslong{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@Acrlong#1#2[#3]{% + \@glsxtr@base@acrcmd\Acrlong\Glsxtrlong + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\Glsaccesslong{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@ACRlong#1#2[#3]{% + \@glsxtr@base@acrcmd\ACRlong\GLSxtrlong + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase{\acronymfont{\glsaccesslong{#2}}#3}% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@acrlongpl#1#2[#3]{% + \@glsxtr@base@acrcmd\acrlongpl\glsxtrlongpl + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\glsaccesslongpl{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@Acrlongpl#1#2[#3]{% + \@glsxtr@base@acrcmd\Acrlongpl\Glsxtrlongpl + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \acronymfont{\Glsaccesslongpl{#2}}#3% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@ACRlongpl#1#2[#3]{% + \@glsxtr@base@acrcmd\ACRlongpl\GLSxtrlongpl + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase{\acronymfont{\glsaccesslongpl{#2}}#3}% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\def\@acrfull#1#2[#3]{% + \@glsxtr@base@acrcmd\acrfull\glsxtrfull + \acrfullfmt{#1}{#2}{#3}% +} +\def\@Acrfull#1#2[#3]{% + \@glsxtr@base@acrcmd\Acrfull\Glsxtrfull + \Acrfullfmt{#1}{#2}{#3}% +} +\def\@ACRfull#1#2[#3]{% + \@glsxtr@base@acrcmd\ACRfull\GLSxtrfull + \ACRfullfmt{#1}{#2}{#3}% +} +\def\@acrfullpl#1#2[#3]{% + \@glsxtr@base@acrcmd\acrfullpl\glsxtrfullpl + \acrfullplfmt{#1}{#2}{#3}% +} +\def\@Acrfullpl#1#2[#3]{% + \@glsxtr@base@acrcmd\Acrfullpl\Glsxtrfullpl + \Acrfullplfmt{#1}{#2}{#3}% +} +\def\@ACRfullpl#1#2[#3]{% + \@glsxtr@base@acrcmd\ACRfullpl\GLSxtrfullpl + \ACRfullplfmt{#1}{#2}{#3}% +} +\renewcommand*{\@glsaddkey}[7]{% + \key@ifundefined{glossentry}{#1}% + {% + \define@key{glossentry}{#1}{\csdef{@glo@#1}{##1}}% + \appto\@gls@keymap{,{#1}{#1}}% + \appto\@newglossaryentryprehook{\csdef{@glo@#1}{#2}}% + \appto\@newglossaryentryposthook{% + \letcs{\@glo@tmp}{@glo@#1}% + \gls@assign@field{#2}{\@glo@label}{#1}{\@glo@tmp}% + }% + \newcommand*{#3}[1]{\@gls@entry@field{##1}{#1}}% + \newcommand*{#4}[1]{\@Gls@entry@field{##1}{#1}}% + \ifcsdef{@gls@user@#1@}% + {% + \PackageError{glossaries}% + {Can't define `\string#5' as helper command + `\expandafter\string\csname @gls@user@#1@\endcsname' already + exists}% + {}% + }% + {% + \expandafter\newcommand\expandafter*\expandafter + {\csname @gls@user@#1\endcsname}[2][]{% + \new@ifnextchar[% + {\csuse{@gls@user@#1@}{##1}{##2}}% + {\csuse{@gls@user@#1@}{##1}{##2}[]}}% + \csdef{@gls@user@#1@}##1##2[##3]{% + \@gls@field@link{##1}{##2}{#3{##2}##3}% + }% + \newrobustcmd*{#5}{% + \expandafter\@gls@hyp@opt\csname @gls@user@#1\endcsname}% + }% + \ifcsdef{@Gls@user@#1@}% + {% + \PackageError{glossaries}% + {Can't define `\string#6' as helper command + `\expandafter\string\csname @Gls@user@#1@\endcsname' already + exists}% + {}% + }% + {% + \expandafter\newcommand\expandafter*\expandafter + {\csname @Gls@user@#1\endcsname}[2][]{% + \new@ifnextchar[% + {\csuse{@Gls@user@#1@}{##1}{##2}}% + {\csuse{@Gls@user@#1@}{##1}{##2}[]}}% + \csdef{@Gls@user@#1@}##1##2[##3]{% + \@gls@field@link[\let\glscapscase\@secondofthree]% + {##1}{##2}{#4{##2}##3}% + }% + \newrobustcmd*{#6}{% + \expandafter\@gls@hyp@opt\csname @Gls@user@#1\endcsname}% + }% + \ifcsdef{@GLS@user@#1@}% + {% + \PackageError{glossaries}% + {Can't define `\string#7' as helper command + `\expandafter\string\csname @GLS@user@#1@\endcsname' already + exists}% + {}% + }% + {% + \expandafter\newcommand\expandafter*\expandafter + {\csname @GLS@user@#1\endcsname}[2][]{% + \new@ifnextchar[% + {\csuse{@GLS@user@#1@}{##1}{##2}}% + {\csuse{@GLS@user@#1@}{##1}{##2}[]}}% + \csdef{@GLS@user@#1@}##1##2[##3]{% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {##1}{##2}{\mfirstucMakeUppercase{#3{##2}##3}}% + }% + \newrobustcmd*{#7}{% + \expandafter\@gls@hyp@opt\csname @GLS@user@#1\endcsname}% + }% + }% + {% + \PackageError{glossaries-extra}{Key `#1' already exists}{}% + }% +} +\providecommand*{\@gls@link@nocheckfirsthyper}{} +\let\@glsxtr@org@checkfirsthyper\@gls@link@checkfirsthyper +\renewcommand*{\@gls@link@checkfirsthyper}{% + \ifglsused{\glslabel}% + {\let\glsxtrifwasfirstuse\@secondoftwo} + {\let\glsxtrifwasfirstuse\@firstoftwo}% + \protected@edef\glscategorylabel{\glscategory{\glslabel}}% + \ifglsused{\glslabel}% + {% + \glsifcategoryattribute{\glscategorylabel}{nohypernext}{true}% + {\KV@glslink@hyperfalse}{}% + }% + {% + \glsifcategoryattribute{\glscategorylabel}{nohyperfirst}{true}% + {\KV@glslink@hyperfalse}{}% + }% + \glslinkcheckfirsthyperhook +} +\ifdef\do@glsdisablehyperinlist +{% + \let\@glsxtr@do@glsdisablehyperinlist\do@glsdisablehyperinlist + \renewcommand*{\do@glsdisablehyperinlist}{% + \@glsxtr@do@glsdisablehyperinlist + \glsifattribute{\glslabel}{nohyper}{true}{\KV@glslink@hyperfalse}{}% + } +} +{} +\define@boolkey{glslink}{noindex}[true]{} +\KV@glslink@noindexfalse +\providecommand*{\@gls@save@glslocal}{% + \let\if@org@KV@glslink@local\ifKV@glslink@local +} +\providecommand*{\@gls@restore@glslocal}{% + \ifKV@glslink@local + \let\@gls@do@glsunset\glslocalunset + \else + \let\@gls@do@glsunset\glsunset + \fi +} +\providecommand*{\@gls@do@glsunset}[1]{\glsunset{#1}} +\ifdef\@gls@setdefault@glslink@opts +{ + \renewcommand*{\@gls@setdefault@glslink@opts}{% + \KV@glslink@noindexfalse + \@glsxtrsetaliasnoindex + } +} +{ + \newcommand*{\@gls@setdefault@glslink@opts}{% + \KV@glslink@noindexfalse + \@glsxtrsetaliasnoindex + } + \preto\do@glsdisablehyperinlist{\@gls@setdefault@glslink@opts} +} +\providecommand*{\glsxtrsetaliasnoindex}{% + \KV@glslink@noindextrue +} +\newcommand*{\@glsxtrsetaliasnoindex}{% + \ifcsvoid{glo@\glsdetoklabel{\glslabel}@alias}% + {}% + {% + \let\glsxtrindexaliased\@glsxtrindexaliased + \glsxtrsetaliasnoindex + \let\glsxtrindexaliased\@no@glsxtrindexaliased + }% +} +\newcommand{\@glsxtrindexaliased}{% + \ifKV@glslink@noindex + \else + \begingroup + \let\@glsnumberformat\@glsxtr@defaultnumberformat + \protected@edef\@gls@counter{\csname glo@\glsdetoklabel{\glslabel}@counter\endcsname}% + \glsxtr@saveentrycounter + \@@do@wrglossary{\glsxtralias{\glslabel}}% + \endgroup + \fi +} +\newcommand{\@no@glsxtrindexaliased}{% + \PackageError{glossaries-extra}{\string\glsxtrindexaliased\space + not permitted outside definition of \string\glsxtrsetaliasnoindex}% + {}% +} +\let\glsxtrindexaliased\@no@glsxtrindexaliased +\newcommand*{\GlsXtrSetDefaultGlsOpts}[1]{% + \renewcommand*{\@gls@setdefault@glslink@opts}{% + \setkeys{glslink}{#1}% + \@glsxtrsetaliasnoindex + }% +} +\newcommand*{\glsxtrifindexing}[2]{% + \ifKV@glslink@noindex #2\else #1\fi +} +\renewcommand*{\glswriteentry}[2]{% + \glsxtrifindexing + {% + \ifglsindexonlyfirst + \GlsXtrIfUnusedOrUndefined{#1} + {#2}% + {\glsxtrdoautoindexname{#1}{dualindex}}% + \else + \glsifattribute{#1}{indexonlyfirst}{true}% + {% + \GlsXtrIfUnusedOrUndefined{#1}% + {#2}% + {\glsxtrdoautoindexname{#1}{dualindex}}% + }% + {#2}% + \fi + }% + {}% +} +\appto\@@do@@wrglossary{\@glsxtr@do@@wrindex + \glsxtrdowrglossaryhook{\@gls@label}% +} +\appto\gls@noidxglossary{\@glsxtr@do@@wrindex + \glsxtrdowrglossaryhook{\@gls@label}% +} +\newcommand*{\@glsxtr@do@@wrindex}{% + \glsxtrdoautoindexname{\@gls@label}{dualindex}% +} +\newcommand*{\glsxtrdowrglossaryhook}[1]{} +\newcommand*{\@gls@alt@hyp@opt}[1]{% + \let\glslinkvar\@firstofthree + \let\@gls@hyp@opt@cs#1\relax + \@ifstar{\s@gls@hyp@opt}% + {\@ifnextchar+% + {\@firstoftwo{\p@gls@hyp@opt}}% + {% + \expandafter\@ifnextchar\@gls@alt@hyp@opt@char + {\@firstoftwo{\@alt@gls@hyp@opt}}% + {#1}% + }% + }% +} +\newcommand*{\@alt@gls@hyp@opt}[1][]{% + \let\glslinkvar\@firstofthree + \expandafter\@gls@hyp@opt@cs\expandafter[\@gls@alt@hyp@opt@keys,#1]} +\newcommand*{\@gls@alt@hyp@opt@char}{} +\newcommand*{\@gls@alt@hyp@opt@keys}{} +\newcommand*{\GlsXtrSetAltModifier}[2]{% + \let\@gls@hyp@opt\@gls@alt@hyp@opt + \ifstrequal{#1}{+}% + {\PackageError{glossaries-extra}% + {Can't use '#1' as modifier (it's already in use)}{}}% + {% + \ifstrequal{#1}{*}% + {\PackageError{glossaries-extra}% + {Can't use '#1' as modifier (it's already in use)}{}}% + {}% + }% + \def\@gls@alt@hyp@opt@char{#1}% + \def\@gls@alt@hyp@opt@keys{#2}% + \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off + {}% + {% + \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@altmodifier}[1]{}}% + \protected@write\@auxout{}{\string\@glsxtr@altmodifier{#1}}% + }% +} +\let\glsxtr@org@dohyperlink\glsdohyperlink +\ifdef\glsnavhyperlink +{ + \renewcommand*{\glsnavhyperlink}[3][\@glo@type]{% + \protected@edef\gls@grplabel{#2}\protected@edef\@gls@grptitle{#3}% + {% + \let\glsxtrdohyperlink\glsxtr@org@dohyperlink + \@glslink{\glsnavhyperlinkname{#1}{#2}}{#3}% + }% + }% +} +{} +\ifdef\@@gls@navhypertarget +{} +{% + \renewcommand*{\glsnavhypertarget}{\protect\@@gls@navhypertarget} + \newcommand*{\@@gls@navhypertarget}[3][\@glo@type]{% + \@glsnavhypertarget{#1}{#2}{#3}% + } +}% +\ifdef\@glsnavhypertarget +{% + \renewcommand*{\@glsnavhypertarget}[3]{% + \protected@write\@auxout{}{\string\@gls@hypergroup{#1}{#2}}% + \@glsxtr@do@org@target{\glsnavhyperlinkname{#1}{#2}}{#3}% + \ifcsdef{@gls@hypergrouplist@#1}% + {% + \letcs\@gls@list{@gls@hypergrouplist@#1}% + \protected@edef\@gls@thishypernavlabel{#2}% + \expandafter\DTLifinlist\expandafter{\@gls@thishypernavlabel}\@gls@list{}% + {% + \GlossariesWarningNoLine{Navigation panel + for glossary type `#1'^^Jmissing group `#2'}% + \gdef\gls@hypergrouprerun{% + \GlossariesWarningNoLine{Navigation panel + has changed. Rerun LaTeX}}% + }% + }% + {% + \GlossariesWarningNoLine{Navigation panel + for glossary type `#1'^^Jmissing group `#2'}% + \gdef\gls@hypergrouprerun{% + \GlossariesWarningNoLine{Navigation panel + has changed. Rerun LaTeX}}% + }% + }% +} +{} +\newcommand*{\glsxtrdohyperlink}[2]{% + \glshasattribute{\glslabel}{targeturl}% + {% + \glshasattribute{\glslabel}{targetname}% + {% + \glshasattribute{\glslabel}{targetcategory}% + {% + \hyperref{\glsgetattribute{\glslabel}{targeturl}}% + {\glsgetattribute{\glslabel}{targetcategory}}% + {\glsgetattribute{\glslabel}{targetname}}% + {{\glsxtrprotectlinks#2}}% + }% + {% + \hyperref{\glsgetattribute{\glslabel}{targeturl}}% + {}% + {\glsgetattribute{\glslabel}{targetname}}% + {{\glsxtrprotectlinks#2}}% + }% + }% + {% + \href{\glsgetattribute{\glslabel}{targeturl}}% + {{\glsxtrprotectlinks#2}}% + }% + }% + {% + \glsfieldfetch{\glslabel}{alias}{\gloaliaslabel}% + \ifdefvoid\gloaliaslabel + {% + \glsxtrhyperlink{#1}{{\glsxtrprotectlinks#2}}% + }% + {% + \glsxtrifmulti\gloaliaslabel + {% + \letcs\gloaliaslabel{@gls@combined@\gloaliaslabel @main}% + }% + {}% + \glsxtrhyperlink + {\glolinkprefix\glsdetoklabel{\gloaliaslabel}}% + {{\glsxtrprotectlinks#2}}% + }% + }% +} + +\newcommand{\glsxtrhyperlink}[2]{% + \glsdoshowtarget{#1}{\hyperlink{#1}{#2}}% +}% +\renewrobustcmd*{\glshyperlink}[2][\glsentrytext{\@glo@label}]{% + \glsdoifexists{#2}% + {% + \def\@glo@label{#2}% + {\protected@edef\glslabel{#2}% + \@glslink{\glolinkprefix\glslabel}{#1}}% + }% +} +\renewcommand{\glsdisablehyper}{% + \KV@glslink@hyperfalse + \def\@glslink{\glsdonohyperlink}% + \let\@glstarget\@secondoftwo +} +\renewcommand{\glsenablehyper}{% + \KV@glslink@hypertrue + \def\@glslink{\glsxtrdohyperlink}% + \def\@glstarget{\glsdohypertarget}% +} +\def\glsdonohyperlink#1#2{{\glsxtrprotectlinks #2}} +\ifcsundef{hyperlink}% +{% + \def\@glslink{\glsdonohyperlink} +}% +{% + \def\@glslink{\glsxtrdohyperlink} +} +\newcommand*{\glsxtrprotectlinks}{% + \KV@glslink@hyperfalse + \KV@glslink@noindextrue + \let\@gls@\@glsxtr@p@text@ + \let\@Gls@\@Glsxtr@p@text@ + \let\@GLS@\@GLSxtr@p@text@ + \let\@glspl@\@glsxtr@p@plural@ + \let\@Glspl@\@Glsxtr@p@plural@ + \let\@GLSpl@\@GLSxtr@p@plural@ + \let\@glsxtrshort\@glsxtr@p@short@ + \let\@Glsxtrshort\@Glsxtr@p@short@ + \let\@GLSxtrshort\@GLSxtr@p@short@ + \let\@glsxtrlong\@glsxtr@p@long@ + \let\@Glsxtrlong\@Glsxtr@p@long@ + \let\@GLSxtrlong\@GLSxtr@p@long@ + \let\@glsxtrshortpl\@glsxtr@p@shortpl@ + \let\@Glsxtrshortpl\@Glsxtr@p@shortpl@ + \let\@GLSxtrshortpl\@GLSxtr@p@shortpl@ + \let\@glsxtrlongpl\@glsxtr@p@longpl@ + \let\@Glsxtrlongpl\@Glsxtr@p@longpl@ + \let\@GLSxtrlongpl\@GLSxtr@p@longpl@ + \let\@acrshort\@glsxtr@p@acrshort@ + \let\@Acrshort\@Glsxtr@p@acrshort@ + \let\@ACRshort\@GLSxtr@p@acrshort@ + \let\@acrshortpl\@glsxtr@p@acrshortpl@ + \let\@Acrshortpl\@Glsxtr@p@acrshortpl@ + \let\@ACRshortpl\@GLSxtr@p@acrshortpl@ + \let\@acrlong\@glsxtr@p@acrlong@ + \let\@Acrlong\@Glsxtr@p@acrlong@ + \let\@ACRlong\@GLSxtr@p@acrlong@ + \let\@acrlongpl\@glsxtr@p@acrlongpl@ + \let\@Acrlongpl\@Glsxtr@p@acrlongpl@ + \let\@ACRlongpl\@GLSxtr@p@acrlongpl@ +} +\def\@glsxtr@p@text@#1#2[#3]{{\@glstext@{#1}{#2}[#3]}} +\def\@Glsxtr@p@text@#1#2[#3]{{\@Glstext@{#1}{#2}[#3]}} +\def\@GLSxtr@p@text@#1#2[#3]{{\@GLStext@{#1}{#2}[#3]}} +\def\@glsxtr@p@plural@#1#2[#3]{{\@glsplural@{#1}{#2}[#3]}} +\def\@Glsxtr@p@plural@#1#2[#3]{{\@Glsplural@{#1}{#2}[#3]}} +\def\@GLSxtr@p@plural@#1#2[#3]{{\@GLSplural@{#1}{#2}[#3]}} +\def\@glsxtr@p@short@#1#2[#3]{% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \glsabbrvfont{\glsentryshort{#2}}#3% + }% +} +\def\@Glsxtr@p@short@#1#2[#3]{% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \glsabbrvfont{\Glsentryshort{#2}}#3% + }% +} +\def\@GLSxtr@p@short@#1#2[#3]{% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \mfirstucMakeUppercase{\glsabbrvfont{\glsentryshort{#2}}#3}% + }% +} +\def\@glsxtr@p@shortpl@#1#2[#3]{% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \glsabbrvfont{\glsentryshortpl{#2}}#3% + }% +} +\def\@Glsxtr@p@shortpl@#1#2[#3]{% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \glsabbrvfont{\Glsentryshortpl{#2}}#3% + }% +} +\def\@GLSxtr@p@shortpl@#1#2[#3]{% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \mfirstucMakeUppercase{\glsabbrvfont{\glsentryshortpl{#2}}#3}% + }% +} +\def\@glsxtr@p@long@#1#2[#3]{{\glsentrylong{#2}#3}} +\def\@Glsxtr@p@long@#1#2[#3]{{\Glsentrylong{#2}#3}} +\def\@GLSxtr@p@long@#1#2[#3]{% + {\mfirstucMakeUppercase{\glslongfont{\glsentrylong{#2}}#3}}} +\def\@glsxtr@p@longpl@#1#2[#3]{{\glsentrylongpl{#2}#3}} +\def\@Glsxtr@p@longpl@#1#2[#3]{{\glslongfont{\Glsentrylongpl{#2}}#3}} +\def\@GLSxtr@p@longpl@#1#2[#3]{% + {\mfirstucMakeUppercase{\glslongfont{\glsentrylongpl{#2}}#3}}} +\def\@glsxtr@p@acrshort@#1#2[#3]{{\acronymfont{\glsentryshort{#2}}#3}} +\def\@Glsxtr@p@acrshort@#1#2[#3]{{\acronymfont{\Glsentryshort{#2}}#3}} +\def\@GLSxtr@p@acrshort@#1#2[#3]{% + {\mfirstucMakeUppercase{\acronymfont{\glsentryshort{#2}}#3}}} +\def\@glsxtr@p@acrshortpl@#1#2[#3]{{\acronymfont{\glsentryshortpl{#2}}#3}} +\def\@Glsxtr@p@acrshortpl@#1#2[#3]{{\acronymfont{\Glsentryshortpl{#2}}#3}} +\def\@GLSxtr@p@acrshortpl@#1#2[#3]{% + {\mfirstucMakeUppercase{\acronymfont{\glsentryshortpl{#2}}#3}}} +\def\@glsxtr@p@acrlong@#1#2[#3]{{\glsentrylong{#2}#3}} +\def\@Glsxtr@p@acrlong@#1#2[#3]{{\Glsentrylong{#2}#3}} +\def\@GLSxtr@p@acrlong@#1#2[#3]{% + {\mfirstucMakeUppercase{\glsentrylong{#2}#3}}} +\def\@glsxtr@p@acrlongpl@#1#2[#3]{{\glsentrylongpl{#2}#3}} +\def\@Glsxtr@p@acrlongpl@#1#2[#3]{{\Glsentrylongpl{#2}#3}} +\def\@GLSxtr@p@acrlongpl@#1#2[#3]{% + {\mfirstucMakeUppercase{\glsentrylongpl{#2}#3}}} +\newcommand*{\@glsxtrp@opt}{hyper=false,noindex} +\newcommand*{\glsxtrsetpopts}[1]{% + \renewcommand*{\@glsxtrp@opt}{#1}% +} +\newcommand*{\glossxtrsetpopts}{% + \glsxtrsetpopts{noindex}% +} +\newrobustcmd*{\@@glsxtrp}[2]{% + {% + \let\glspostlinkhook\relax + \csname#1\expandafter\endcsname\expandafter[\@glsxtrp@opt]{#2}[]% + }% +} +\newrobustcmd*{\@glsxtrp}[2]{% + \ifcsdef{gls#1}% + {% + \@@glsxtrp{gls#1}{#2}% + }% + {% + \ifcsdef{glsxtr#1}% + {% + \@@glsxtrp{glsxtr#1}{#2}% + }% + {% + \PackageError{glossaries-extra}{`#1' not recognised by + \string\glsxtrp}{}% + }% + }% +} +\newrobustcmd*{\@Glsxtrp}[2]{% + \ifcsdef{Gls#1}% + {% + \@@glsxtrp{Gls#1}{#2}% + }% + {% + \ifcsdef{Glsxtr#1}% + {% + \@@glsxtrp{Glsxtr#1}{#2}% + }% + {% + \PackageError{glossaries-extra}{`#1' not recognised by + \string\Glsxtrp}{}% + }% + }% +} +\newrobustcmd*{\@GLSxtrp}[2]{% + \ifcsdef{GLS#1}% + {% + \@@glsxtrp{GLS#1}{#2}% + }% + {% + \ifcsdef{GLSxtr#1}% + {% + \@@glsxtrp{GLSxtr#1}{#2}% + }% + {% + \PackageError{glossaries-extra}{`#1' not recognised by + \string\GLSxtrp}{}% + }% + }% +} +\newrobustcmd*{\glsxtr@headentry@p}[2]{% + \glsifattribute{#1}{headuc}{true}% + {% + \mfirstucMakeUppercase{\@gls@entry@field{#1}{#2}}% + }% + {% + \@gls@entry@field{#1}{#2}% + }% +} +\ifdef\texorpdfstring +{ + \newcommand{\glsxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\texorpdfstring + {% + \protect\glsxtrifinmark + {% + \ifcsdef{glsxtrhead#1}% + {% + {\protect\csuse{glsxtrhead#1}{#2}}% + }% + {% + \glsxtr@headentry@p{#2}{#1}% + }% + }% + {% + \@glsxtrp{#1}{#2}% + }% + }% + {% + \protect\@gls@entry@field{#2}{#1}% + }% + }% + } +} +{ + \newcommand{\glsxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\glsxtrifinmark + {% + \ifcsdef{glsxtrhead#1}% + {% + {\protect\csuse{glsxtrhead#1}}% + }% + {% + \glsxtr@headentry@p{#2}{#1}% + }% + }% + {% + \@glsxtrp{#1}{#2}% + }% + }% + } +} +\newcommand*{\glsps}{\glsxtrp{short}} +\newcommand*{\glspt}{\glsxtrp{text}} +\ifdef\texorpdfstring +{ + \newcommand{\Glsxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\texorpdfstring + {% + \protect\glsxtrifinmark + {% + \ifcsdef{Glsxtrhead#1}% + {% + {\protect\csuse{Glsxtrhead#1}{#2}}% + }% + {% + \protect\@Gls@entry@field{#2}{#1}% + }% + }% + {% + \@Glsxtrp{#1}{#2}% + }% + }% + {% + \protect\@gls@entry@field{#2}{#1}% + }% + }% + } +} +{ + \newcommand{\Glsxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\glsxtrifinmark + {% + \ifcsdef{Glsxtrhead#1}% + {% + {\protect\csuse{Glsxtrhead#1}}% + }% + {% + \protect\@Gls@entry@field{#2}{#1}% + }% + }% + {% + \@Glsxtrp{#1}{#2}% + }% + }% + } +} +\ifdef\texorpdfstring +{ + \newcommand{\GLSxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\texorpdfstring + {% + \protect\glsxtrifinmark + {% + \ifcsdef{GLSxtr#1}% + {% + {\protect\GLSxtrshort[noindex,hyper=false]{#1}[]}% + }% + {% + \protect\mfirstucMakeUppercase + {% + \protect\@gls@entry@field{#2}{#1}% + }% + }% + }% + {% + \@GLSxtrp{#1}{#2}% + }% + }% + {% + \protect\@gls@entry@field{#2}{#1}% + }% + }% + } +} +{ + \newcommand{\GLSxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\glsxtrifinmark + {% + \ifcsdef{GLSxtr#1}% + {% + {\protect\GLSxtrshort[noindex,hyper=false]{#1}[]}% + }% + {% + \protect\mfirstucMakeUppercase + {% + \protect\@gls@entry@field{#2}{#1}% + }% + }% + }% + {% + \@GLSxtrp{#1}{#2}% + }% + }% + } +} +\newcommand*{\@glsxtr@unset}[1]{% + \@@glsunset{#1}% + \glsxtrpostunset{#1}% +}% +\let\@glsunset\@glsxtr@unset +\newcommand*{\glsxtrpostunset}[1]{} +\newcommand*{\GlsXtrStartUnsetBuffering}{% + \@ifstar\s@GlsXtrStartUnsetBuffering\@GlsXtrStartUnsetBuffering +} +\newcommand*{\@GlsXtrStartUnsetBuffering}{% + \let\@glsxtr@org@unset@buffer\@glsxtr@unset@buffer + \def\@glsxtr@unset@buffer{}% + \let\@glsunset\@glsxtrbuffer@unset +} +\newcommand*{\s@GlsXtrStartUnsetBuffering}{% + \let\@glsxtr@org@unset@buffer\@glsxtr@unset@buffer + \def\@glsxtr@unset@buffer{}% + \let\@glsunset\@glsxtrbuffer@nodup@unset +} +\newcommand*{\@glsxtrbuffer@unset}[1]{% + \listxadd\@glsxtr@unset@buffer{#1}% +} +\newcommand*{\@glsxtrbuffer@nodup@unset}[1]{% + \expandafter\ifinlist\expandafter{#1}{\@glsxtr@unset@buffer}{}% + {\listxadd\@glsxtr@unset@buffer{#1}}% +} +\newcommand*{\GlsXtrStopUnsetBuffering}{% + \@ifstar\s@GlsXtrStopUnsetBuffering\@GlsXtrStopUnsetBuffering +} +\newcommand*{\@GlsXtrStopUnsetBuffering}{% + \let\@glsunset\@glsxtr@unset + \forlistloop\@glsunset\@glsxtr@unset@buffer + \let\@glsxtr@unset@buffer\@glsxtr@org@unset@buffer +} +\newcommand*{\s@GlsXtrStopUnsetBuffering}{% + \forlistloop\@glslocalunset\@glsxtr@unset@buffer + \let\@glsunset\@glsxtr@unset +} +\newcommand*{\GlsXtrDiscardUnsetBuffering}{% + \let\@glsunset\@glsxtr@unset + \let\@glsxtr@unset@buffer\@glsxtr@org@unset@buffer +} +\newcommand*{\GlsXtrForUnsetBufferedList}[1]{% + \forlistloop#1\@glsxtr@unset@buffer +} +\renewcommand*{\@glslocalunset}[1]{% + \@@glslocalunset{#1}% + \glsxtrpostlocalunset{#1}% +}% +\newcommand*{\glsxtrpostlocalunset}[1]{} +\renewcommand*{\@glsreset}[1]{% + \@@glsreset{#1}% + \glsxtrpostreset{#1}% +}% +\newcommand*{\glsxtrpostreset}[1]{} +\renewcommand*{\@glslocalreset}[1]{% + \@@glslocalreset{#1}% + \glsxtrpostlocalreset{#1}% +}% +\newcommand*{\glsxtrpostlocalreset}[1]{} +\newcommand*{\glslocalreseteach}[1]{% + \gls@ifnotmeasuring + {% + \@for\@gls@thislabel:=#1\do{% + \glsdoifexists{\@gls@thislabel}% + {% + \@glslocalreset{\@gls@thislabel}% + }% + }% + }% +} +\newcommand*{\glslocalunseteach}[1]{% + \gls@ifnotmeasuring + {% + \@for\@gls@thislabel:=#1\do{% + \glsdoifexists{\@gls@thislabel}% + {% + \@glslocalunset{\@gls@thislabel}% + }% + }% + }% +} +\newcommand*{\GlsXtrEnableEntryCounting}[2]{% + \glsenableentrycount + \renewcommand*{\gls}{\cgls}% + \renewcommand*{\Gls}{\cGls}% + \renewcommand*{\glspl}{\cglspl}% + \renewcommand*{\Glspl}{\cGlspl}% + \renewcommand*{\GLS}{\cGLS}% + \renewcommand*{\GLSpl}{\cGLSpl}% + \@glsxtr@setentrycountunsetattr{#1}{#2}% + \let\GlsXtrEnableEntryCounting\@glsxtr@setentrycountunsetattr + \renewcommand*{\GlsXtrEnableEntryUnitCounting}[3]{% + \PackageError{glossaries-extra}{\string\GlsXtrEnableEntryUnitCounting\space + can't be used with \string\GlsXtrEnableEntryCounting}% + {Use one or other but not both commands}}% +} +\newcommand*{\@glsxtr@setentrycountunsetattr}[2]{% + \@for\@glsxtr@cat:=#1\do + {% + \ifdefempty{\@glsxtr@cat}{}% + {% + \glssetcategoryattribute{\@glsxtr@cat}{entrycount}{#2}% + }% + }% +} +\renewcommand*{\glsenableentrycount}{% + \appto\@newglossaryentry@defcounters{\@@newglossaryentry@defcounters}% + \renewcommand*{\gls@defdocnewglossaryentry}{% + \renewcommand*\newglossaryentry[2]{% + \PackageError{glossaries}{\string\newglossaryentry\space + may only be used in the preamble when entry counting has + been activated}{If you use \string\glsenableentrycount\space + you must place all entry definitions in the preamble not in + the document environment}% + }% + }% + \newcommand*{\glsentrycurrcount}[1]{% + \ifcsundef{glo@\glsdetoklabel{##1}@currcount}% + {0}{\@gls@entry@field{##1}{currcount}}% + }% + \newcommand*{\glsentryprevcount}[1]{% + \ifcsundef{glo@\glsdetoklabel{##1}@prevcount}% + {0}{\@gls@entry@field{##1}{prevcount}}% + }% + \let\@glsxtr@entrycount@org@unset\glsxtrpostunset + \renewcommand*{\glsxtrpostunset}[1]{% + \@glsxtr@entrycount@org@unset{##1}% + \@gls@increment@currcount{##1}% + }% + \let\@glsxtr@entrycount@org@localunset\glsxtrpostlocalunset + \renewcommand*{\glsxtrpostlocalunset}[1]{% + \@glsxtr@entrycount@org@localunset{##1}% + \@gls@local@increment@currcount{##1}% + }% + \let\@glsxtr@entrycount@org@reset\glsxtrpostreset + \renewcommand*{\glsxtrpostreset}[1]{% + \@glsxtr@entrycount@org@reset{##1}% + \csgdef{glo@\glsdetoklabel{##1}@currcount}{0}% + }% + \let\@glsxtr@entrycount@org@localreset\glsxtrpostlocalreset + \renewcommand*{\glsxtrpostlocalreset}[1]{% + \@glsxtr@entrycount@org@localreset{##1}% + \csdef{glo@\glsdetoklabel{##1}@currcount}{0}% + }% + \let\@cgls@\@@cgls@ + \let\@cglspl@\@@cglspl@ + \let\@cGls@\@@cGls@ + \let\@cGlspl@\@@cGlspl@ + \let\@cGLS@\@@cGLS@ + \let\@cGLSpl@\@@cGLSpl@ + \AtEndDocument{\@gls@write@entrycounts}% + \renewcommand*{\@gls@entry@count}[2]{% + \csgdef{glo@\glsdetoklabel{##1}@prevcount}{##2}% + }% + \let\glsenableentrycount\relax + \renewcommand*{\glsenableentryunitcount}{% + \PackageError{glossaries-extra}{\string\glsenableentryunitcount\space + can't be used with \string\glsenableentrycount}% + {Use one or other but not both commands}% + }% +} +\renewcommand*{\@gls@write@entrycounts}{% + \immediate\write\@auxout + {\string\providecommand*{\string\@gls@entry@count}[2]{}}% + \count@=0\relax + \forallglsentries{\@glsentry}{% + \glshasattribute{\@glsentry}{entrycount}% + {% + \ifglsused{\@glsentry}% + {% + \immediate\write\@auxout + {\string\@gls@entry@count{\@glsentry}{\glsentrycurrcount{\@glsentry}}}% + }% + {}% + \advance\count@ by \@ne + }% + {}% + }% + \ifnum\count@=0 + \GlossariesExtraWarningNoLine{Entry counting has been enabled + \MessageBreak with \string\glsenableentrycount\space but the + \MessageBreak attribute `entrycount' hasn't + \MessageBreak been assigned to any of the defined + \MessageBreak entries}% + \fi +} +\newcommand*{\glsxtrifcounttrigger}[3]{% + \glshasattribute{#1}{entrycount}% + {% + \ifnum\glsentryprevcount{#1}>\glsgetattribute{#1}{entrycount}\relax + #3% + \else + #2% + \fi + }% + {#3}% +} +\def\@@cgls@#1#2[#3]{% + \glsxtrifcounttrigger{#2}% + {% + \cglsformat{#2}{#3}% + \glsunset{#2}% + }% + {% + \@gls@{#1}{#2}[#3]% + }% +}% +\def\@@cglspl@#1#2[#3]{% + \glsxtrifcounttrigger{#2}% + {% + \cglsplformat{#2}{#3}% + \glsunset{#2}% + }% + {% + \@glspl@{#1}{#2}[#3]% + }% +}% +\def\@@cGls@#1#2[#3]{% + \glsxtrifcounttrigger{#2}% + {% + \cGlsformat{#2}{#3}% + \glsunset{#2}% + }% + {% + \@Gls@{#1}{#2}[#3]% + }% +}% +\def\@@cGlspl@#1#2[#3]{% + \glsxtrifcounttrigger{#2}% + {% + \cGlsplformat{#2}{#3}% + \glsunset{#2}% + }% + {% + \@Glspl@{#1}{#2}[#3]% + }% +}% +\def\@@cGLS@#1#2[#3]{% + \glsxtrifcounttrigger{#2}% + {% + \cGLSformat{#2}{#3}% + \glsunset{#2}% + }% + {% + \@GLS@{#1}{#2}[#3]% + }% +}% +\def\@@cGLSpl@#1#2[#3]{% + \glsxtrifcounttrigger{#2}% + {% + \cGLSplformat{#2}{#3}% + \glsunset{#2}% + }% + {% + \@GLSpl@{#1}{#2}[#3]% + }% +}% +\def\@cgls@#1#2[#3]{\@gls@{#1}{#2}[#3]} +\def\@cGls@#1#2[#3]{\@Gls@{#1}{#2}[#3]} +\def\@cglspl@#1#2[#3]{\@glspl@{#1}{#2}[#3]} +\def\@cGlspl@#1#2[#3]{\@Glspl@{#1}{#2}[#3]} +\newrobustcmd*{\cGLS}{\@gls@hyp@opt\@cGLS} +\newcommand*{\@cGLS}[2][]{% + \new@ifnextchar[{\@cGLS@{#1}{#2}}{\@cGLS@{#1}{#2}[]}% +} +\def\@cGLS@#1#2[#3]{\@GLS@{#1}{#2}[#3]} +\newcommand*{\cGLSformat}[2]{% + \expandafter\mfirstucMakeUppercase\expandafter{\cglsformat{#1}{#2}}% +} +\newrobustcmd*{\cGLSpl}{\@gls@hyp@opt\@cGLSpl} +\newcommand*{\@cGLSpl}[2][]{% + \new@ifnextchar[{\@cGLSpl@{#1}{#2}}{\@cGLSpl@{#1}{#2}[]}% +} +\def\@cGLSpl@#1#2[#3]{\@GLSpl@{#1}{#2}[#3]} +\newcommand*{\cGLSplformat}[2]{% + \expandafter\mfirstucMakeUppercase\expandafter{\cglsplformat{#1}{#2}}% +} +\renewcommand*{\cglsformat}[2]{% + \glsifregular{#1} + {\glsentryfirst{#1}}% + {\ifglshaslong{#1}{\glsentrylong{#1}}{\glsentryfirst{#1}}}#2% +} +\renewcommand*{\cGlsformat}[2]{% + \glsifregular{#1} + {\Glsentryfirst{#1}}% + {\ifglshaslong{#1}{\Glsentrylong{#1}}{\Glsentryfirst{#1}}}#2% +} +\renewcommand*{\cglsplformat}[2]{% + \glsifregular{#1} + {\glsentryfirstplural{#1}}% + {\ifglshaslong{#1}{\glsentrylongpl{#1}}{\glsentryfirstplural{#1}}}#2% +} +\renewcommand*{\cGlsplformat}[2]{% + \glsifregular{#1} + {\Glsentryfirstplural{#1}}% + {\ifglshaslong{#1}{\Glsentrylongpl{#1}}{\Glsentryfirstplural{#1}}}#2% +} +\newcommand*{\@@newglossaryentry@defunitcounters}{% + \protected@edef\@glo@countunit{\csuse{@glsxtr@categoryattr@@\@glo@category @unitcount}}% + \ifdefvoid\@glo@countunit + {}% + {% + \@glsxtr@ifunitcounter{\@glo@countunit}% + {}% + {\expandafter\@glsxtr@addunitcounter\expandafter{\@glo@countunit}}% + }% +} +\newcommand*{\@glsxtr@unitcountlist}{} +\newcommand*{\@glsxtr@addunitcounter}[1]{% + \listadd{\@glsxtr@unitcountlist}{#1}% + \ifcsundef{glsxtr@theunit@#1} + {% + \ifcsdef{theH#1}% + {\csdef{glsxtr@theunit@#1}{\csuse{theH#1}}}% + {\csdef{glsxtr@theunit@#1}{\csuse{the#1}}}% + }% + {}% +} +\newcommand*{\@glsxtr@ifunitcounter}[3]{% + \xifinlist{#1}{\@glsxtr@unitcountlist}{#2}{#3}% +} +\newcommand*\@glsxtr@currentunitcount[1]{% + glo@\glsdetoklabel{#1}@currunit@\glsgetattribute{#1}{unitcount}.% + \csuse{glsxtr@theunit@\glsgetattribute{#1}{unitcount}}% +} +\newcommand*\@glsxtr@previousunitcount[1]{% + glo@\glsdetoklabel{#1}@prevunit@\glsgetattribute{#1}{unitcount}.% + \csuse{glsxtr@theunit@\glsgetattribute{#1}{unitcount}}% +} +\newcommand*{\@gls@increment@currunitcount}[1]{% + \glshasattribute{#1}{unitcount}% + {% + \protected@edef\@glsxtr@csname{\@glsxtr@currentunitcount{#1}}% + \ifcsundef{\@glsxtr@csname}% + {% + \csgdef{\@glsxtr@csname}{1}% + \listcsxadd + {glo@\glsdetoklabel{#1}@unitlist}% + {\glsgetattribute{#1}{unitcount}.% + \csuse{glsxtr@theunit@\glsgetattribute{#1}{unitcount}}% + }% + }% + {% + \csxdef{\@glsxtr@csname}% + {\number\numexpr\csname\@glsxtr@csname\endcsname+1}% + }% + }% + {}% +} +\newcommand*{\@gls@local@increment@currunitcount}[1]{% + \glshasattribute{#1}{unitcount}% + {% + \protected@edef\@glsxtr@csname{\@glsxtr@currentunitcount{#1}}% + \ifcsundef{\@glsxtr@csname}% + {% + \csdef{\@glsxtr@csname}{1}% + \listcseadd + {glo@\glsdetoklabel{#1}@unitlist}% + {\glsgetattribute{#1}{unitcount}.% + \csuse{glsxtr@theunit@\glsgetattribute{#1}{unitcount}}% + }% + }% + {% + \csedef{\@glsxtr@csname}% + {\number\numexpr\csname\@glsxtr@csname\endcsname+1}% + }% + }% + {}% +} +\newcommand*{\@glsxtr@currunitcount}[2]{% + \ifcsundef + {glo@\glsdetoklabel{#1}@currunit@#2}% + {0}% + {\csuse{glo@\glsdetoklabel{#1}@currunit@#2}}% +}% +\newcommand*{\@glsxtr@prevunitcount}[2]{% + \ifcsundef + {glo@\glsdetoklabel{#1}@prevunit@#2}% + {0}% + {\csuse{glo@\glsdetoklabel{#1}@prevunit@#2}}% +}% +\newcommand*{\glsenableentryunitcount}{% + \appto\@newglossaryentry@defcounters{\@@newglossaryentry@defunitcounters}% + \renewcommand*{\gls@defdocnewglossaryentry}{% + \renewcommand*\newglossaryentry[2]{% + \PackageError{glossaries}{\string\newglossaryentry\space + may only be used in the preamble when entry counting has + been activated}{If you use \string\glsenableentryunitcount\space + you must place all entry definitions in the preamble not in + the document environment}% + }% + }% + \newcommand*{\glsentrycurrcount}[1]{% + \@glsxtr@currunitcount{##1}{\glsgetattribute{##1}{unitcount}.% + \csuse{glsxtr@theunit@\glsgetattribute{##1}{unitcount}}}% + }% + \newcommand*{\glsentryprevcount}[1]{% + \@glsxtr@prevunitcount{##1}{\glsgetattribute{##1}{unitcount}.% + \csuse{glsxtr@theunit@\glsgetattribute{##1}{unitcount}}}% + }% + \newcommand*{\glsentryprevtotalcount}[1]{% + \ifcsundef{glo@\glsdetoklabel{##1}@prevunittotal}% + {0}% + {% + \number\csuse{glo@\glsdetoklabel{##1}@prevunittotal} + }% + }% + \newcommand*{\glsentryprevmaxcount}[1]{% + \ifcsundef{glo@\glsdetoklabel{##1}@prevunitmax}% + {0}% + {% + \number\csuse{glo@\glsdetoklabel{##1}@prevunitmax} + }% + }% + \let\@glsxtr@entryunitcount@org@unset\glsxtrpostunset + \renewcommand*{\glsxtrpostunset}[1]{% + \@glsxtr@entryunitcount@org@unset{##1}% + \@gls@increment@currunitcount{##1}% + }% + \let\@glsxtr@entryunitcount@org@localunset\glsxtrpostlocalunset + \renewcommand*{\glsxtrpostlocalunset}[1]{% + \@glsxtr@entryunitcount@org@localunset{##1}% + \@gls@local@increment@currunitcount{##1}% + }% + \let\@glsxtr@entryunitcount@org@reset\glsxtrpostreset + \renewcommand*{\glsxtrpostreset}[1]{% + \glshasattribute{##1}{unitcount}% + {% + \protected@edef\@glsxtr@csname{\@glsxtr@currentunitcount{##1}}% + \ifcsundef{\@glsxtr@csname}% + {}% + {\csgdef{\@glsxtr@csname}{0}}% + }% + {}% + }% + \let\@glsxtr@entryunitcount@org@localreset\glsxtrpostlocalreset + \renewcommand*{\glsxtrpostlocalreset}[1]{% + \@glsxtr@entryunitcount@org@localreset{##1}% + \glshasattribute{##1}{unitcount}% + {% + \protected@edef\@glsxtr@csname{\@glsxtr@currentunitcount{##1}}% + \ifcsundef{\@glsxtr@csname}% + {}% + {\csdef{\@glsxtr@csname}{0}}% + }% + {}% + }% + \let\@cgls@\@@cgls@ + \let\@cglspl@\@@cglspl@ + \let\@cGls@\@@cGls@ + \let\@cGlspl@\@@cGlspl@ + \let\@cGLS@\@@cGLS@ + \let\@cGLSpl@\@@cGLSpl@ + \AtEndDocument{\@gls@write@entryunitcounts}% + \renewcommand*{\@gls@entry@unitcount}[3]{% + \csgdef{glo@\glsdetoklabel{##1}@prevunit@##3}{##2}% + \ifcsundef{glo@\glsdetoklabel{##1}@prevunittotal}% + {\csgdef{glo@\glsdetoklabel{##1}@prevunittotal}{##2}}% + {% + \csxdef{glo@\glsdetoklabel{##1}@prevunittotal}{ + \number\numexpr\csuse{glo@\glsdetoklabel{##1}@prevunittotal}+##2}% + }% + \ifcsundef{glo@\glsdetoklabel{##1}@prevunitmax}% + {\csgdef{glo@\glsdetoklabel{##1}@prevunitmax}{##2}}% + {% + \ifnum\csuse{glo@\glsdetoklabel{##1}@prevunitmax}<##2 + \csgdef{glo@\glsdetoklabel{##1}@prevunitmax}{##2}% + \fi + }% + }% + \let\glsenableentryunitcount\relax + \renewcommand*{\glsenableentrycount}{% + \PackageError{glossaries-extra}{\string\glsenableentrycount\space + can't be used with \string\glsenableentryunitcount}% + {Use one or other but not both commands}% + }% +} +\@onlypreamble\glsenableentryunitcount +\newcommand*{\@gls@entry@unitcount}[3]{} +\newcommand*{\@gls@write@entryunitcounts@do}[1]{% + \immediate\write\@auxout + {\string\@gls@entry@unitcount + {\@glsentry}% + {\@glsxtr@currunitcount{\@glsentry}{#1}% + }% + {#1}}% +} +\newcommand*{\@gls@write@entryunitcounts}{% + \immediate\write\@auxout + {\string\providecommand*{\string\@gls@entry@unitcount}[3]{}}% + \count@=0\relax + \forallglsentries{\@glsentry}{% + \glshasattribute{\@glsentry}{unitcount}% + {% + \ifglsused{\@glsentry}% + {% + \forlistcsloop + {\@gls@write@entryunitcounts@do}% + {glo@\glsdetoklabel{\@glsentry}@unitlist}% + }% + {}% + \advance\count@ by \@ne + }% + {}% + }% + \ifnum\count@=0 + \GlossariesExtraWarningNoLine{Entry counting has been enabled + \MessageBreak with \string\glsenableentryunitcount\space but the + \MessageBreak attribute `unitcount' hasn't + \MessageBreak been assigned to any of the defined + \MessageBreak entries}% + \fi +} +\newcommand*{\GlsXtrEnableEntryUnitCounting}[3]{% + \glsenableentryunitcount + \renewcommand*{\gls}{\cgls}% + \renewcommand*{\Gls}{\cGls}% + \renewcommand*{\glspl}{\cglspl}% + \renewcommand*{\Glspl}{\cGlspl}% + \renewcommand*{\GLS}{\cGLS}% + \renewcommand*{\GLSpl}{\cGLSpl}% + \@glsxtr@setentryunitcountunsetattr{#1}{#2}{#3}% + \let\GlsXtrEnableEntryUnitCounting\@glsxtr@setentryunitcountunsetattr + \renewcommand*{\GlsXtrEnableEntryCounting}[2]{% + \PackageError{glossaries-extra}{\string\GlsXtrEnableEntryCounting\space + can't be used with \string\GlsXtrEnableEntryUnitCounting}% + {Use one or other but not both commands}}% +} +\newcommand*{\@glsxtr@setentryunitcountunsetattr}[3]{% + \@for\@glsxtr@cat:=#1\do + {% + \ifdefempty{\@glsxtr@cat}{}% + {% + \glssetcategoryattribute{\@glsxtr@cat}{entrycount}{#2}% + \glssetcategoryattribute{\@glsxtr@cat}{unitcount}{#3}% + }% + }% +} +\renewcommand*{\SetGenericNewAcronym}{% + \ifdefequal\@addtoacronymlists\@glsxtr@org@addtoacronynlists + {}% + {% + \GlossariesWarning{\string\SetGenericNewAcronym\space used + without restoring base acronym functions with + \string\RestoreAcronyms}% + }% + \let\@Gls@entryname\@Gls@acrentryname + \renewcommand{\newacronym}[4][]{% + \ifdefempty{\@glsacronymlists}% + {% + \def\@glo@type{\acronymtype}% + \setkeys{glossentry}{##1}% + \DeclareAcronymList{\@glo@type}% + }% + {}% + \glskeylisttok{##1}% + \glslabeltok{##2}% + \glsshorttok{##3}% + \glslongtok{##4}% + \newacronymhook + \protected@edef\@do@newglossaryentry{% + \noexpand\newglossaryentry{\the\glslabeltok}% + {% + type=\acronymtype,% + name={\expandonce{\acronymentry{##2}}},% + sort={\acronymsort{\the\glsshorttok}{\the\glslongtok}},% + text={\the\glsshorttok},% + short={\the\glsshorttok},% + shortplural={\the\glsshorttok\noexpand\acrpluralsuffix},% + long={\the\glslongtok},% + longplural={\the\glslongtok\noexpand\acrpluralsuffix},% + category=acronym, + \GenericAcronymFields,% + \the\glskeylisttok + }% + }% + \@do@newglossaryentry + }% + \renewcommand*{\acrfullfmt}[3]{% + \glslink[##1]{##2}{\genacrfullformat{##2}{##3}}}% + \renewcommand*{\Acrfullfmt}[3]{% + \glslink[##1]{##2}{\Genacrfullformat{##2}{##3}}}% + \renewcommand*{\ACRfullfmt}[3]{% + \glslink[##1]{##2}{% + \mfirstucMakeUppercase{\genacrfullformat{##2}{##3}}}}% + \renewcommand*{\acrfullplfmt}[3]{% + \glslink[##1]{##2}{\genplacrfullformat{##2}{##3}}}% + \renewcommand*{\Acrfullplfmt}[3]{% + \glslink[##1]{##2}{\Genplacrfullformat{##2}{##3}}}% + \renewcommand*{\ACRfullplfmt}[3]{% + \glslink[##1]{##2}{% + \mfirstucMakeUppercase{\genplacrfullformat{##2}{##3}}}}% + \renewcommand*{\glsentryfull}[1]{\genacrfullformat{##1}{}}% + \renewcommand*{\Glsentryfull}[1]{\Genacrfullformat{##1}{}}% + \renewcommand*{\glsentryfullpl}[1]{\genplacrfullformat{##1}{}}% + \renewcommand*{\Glsentryfullpl}[1]{\Genplacrfullformat{##1}{}}% +} +\let\@glsxtr@org@setacronymstyle\setacronymstyle +\let\@glsxtr@org@newacronymstyle\newacronymstyle +\let\@glsxtr@acronymlists\@glsacronymlists +\let\@glsxtr@org@addtoacronynlists\@addtoacronymlists +\let\@glsxtr@org@setacronymlists\SetAcronymLists +\newcommand{\@glsxtr@abbrlists}{} +\newcommand*{\forallabbreviationlists}[2]{% + \@for#1:=\@glsxtr@abbrlists\do{\ifdefempty{#1}{}{#2}}% +} +\newcommand*{\@glsxtr@addabbreviationlist}[1]{% + \protected@edef\@glo@type{#1}% + \ifdefempty\@glsxtr@abbrlists + {\let\@glsxtr@abbrlists\@glo@type}% + {% + \ifdefequal\@glsxtr@abbrlists\@glo@type + {}% + {% + \expandafter\DTLifinlist\expandafter{\@glo@type}{\@glsxtr@abbrlists}{}% + {\protected@eappto\@glsxtr@abbrlists{,\@glo@type}}% + }% + }% +} +\renewcommand*{\forallacronyms}[2]{% + \@glsxtr@base@acrcmd\forallacronyms\forallabbreviationlists + \@for#1:=\@glsacronymlists\do{\ifx#1\@empty\else#2\fi}% +} +\newcommand*{\MakeAcronymsAbbreviations}{% + \@for\@gls@type:=\@glsacronymlists\do{% + \csgdef{gls@\@gls@type @entryfmt}{\glsentryfmt}% + }% + \let\@glsxtr@acronymlists\@glsacronymlists + \let\@glsacronymlists\@empty + \let\@addtoacronymlists\@gobble + \let\SetAcronymLists\@gobble + \let\@glsxtr@base@acrcmd\@@glsxtr@base@acrcmd@warn + \renewcommand*{\newacronym}[4][]{% + \glsxtr@newabbreviation{type=\acronymtype,category=acronym,##1}{##2}{##3}{##4}% + }% + \renewcommand*{\firstacronymfont}[1]{\glsfirstabbrvfont{##1}}% + \renewcommand*{\acronymfont}[1]{\glsabbrvfont{##1}}% + \renewcommand*{\setacronymstyle}[1]{% + \PackageError{glossaries-extra}{\string\setacronymstyle{##1} + unavailable. + Use \string\setabbreviationstyle[acronym]\space instead. + The original acronym interface can be restored with + \string\RestoreAcronyms}{}% + }% + \renewcommand*{\newacronymstyle}[1]{% + \GlossariesExtraWarning{New acronym style `##1' won't be + available unless you restore the original acronym interface with + \string\RestoreAcronyms}% + \@glsxtr@org@newacronymstyle{##1}% + }% +} +\MakeAcronymsAbbreviations +\newcommand*{\RestoreAcronyms}{% + \let\@glsacronymlists\@glsxtr@acronymlists + \let\@addtoacronymlists\@glsxtr@org@addtoacronynlists + \let\SetAcronymLists\@glsxtr@org@setacronymlists + \let\@glsxtr@base@acrcmd\@gobbletwo + \@for\@gls@type:=\@glsacronymlists\do{% + \SetDefaultAcronymDisplayStyle{\@gls@type}% + }% + \SetGenericNewAcronym + \renewcommand{\firstacronymfont}[1]{\acronymfont{##1}}% + \renewcommand{\acronymfont}[1]{##1}% + \let\setacronymstyle\@glsxtr@org@setacronymstyle + \let\newacronymstyle\@glsxtr@org@newacronymstyle + \renewcommand*\@gls@link@checkfirsthyper{% + \ifglsused{\glslabel}% + {\let\glsxtrifwasfirstuse\@secondoftwo} + {\let\glsxtrifwasfirstuse\@firstoftwo}% + \@glsxtr@org@checkfirsthyper + } + \glssetcategoryattribute{acronym}{regular}{false}% + \setacronymstyle{long-short}% +} +\renewcommand*{\glsacspace}[1]{% + \settowidth{\dimen@}{(\firstacronymfont{\glsentryshort{#1}})}% + \ifdim\dimen@<\glsacspacemax~\else\space\fi +} +\newcommand*{\glsacspacemax}{3em} +\newcommand*{\@glsxtr@reg@glosslist}{} +\let\@glsxtr@org@makeglossaries\makeglossaries +\providecommand\@makeglossaries@warn@noprintglossary{% + \ifdefstring{\@glo@types}{,}% + {% + \GlossariesWarningNoLine{No glossaries have been defined}% + }% + {% + \GlossariesWarningNoLine{No \string\printglossary\space + or \string\printglossaries\space + found. ^^J(Remove \string\makeglossaries\space if you + don't want any glossaries.) ^^JThis document will not + have a glossary}% + }% +}% +\providecommand{\@domakeglossaries}[1]{#1} +\renewcommand*{\makeglossaries}[1][]{% + \@domakeglossaries + {% + \@glsxtr@if@record@only + {% + \PackageError{glossaries-extra}{\string\makeglossaries\space + not permitted\MessageBreak with record=\@glsxtr@record@setting\space + package option}% + {You may only use \string\makeglossaries\space with + record=off or record=hybrid options}% + }% + {% + \ifblank{#1}% + {% + \@glsxtr@org@makeglossaries + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \let\warn@noprintglossary\@glsxtr@warn@hybrid@noprintgloss + \fi + }% + {% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \PackageError{glossaries-extra}{\string\makeglossaries[#1]\space + not permitted\MessageBreak with record=\@glsxtr@record@setting\space package option}% + {You may only use the hybrid \string\makeglossaries[...]\space with + record=off option}% + \else + \ifdef\@gls@@automake@immediate{\@gls@@automake@immediate}{}% + \protected@edef\@glsxtr@reg@glosslist{#1}% + \ifundef{\glswrite}{\newwrite\glswrite}{}% + \protected@write\@auxout{}{\string\providecommand + \string\@glsorder[1]{}} + \protected@write\@auxout{}{\string\providecommand + \string\@istfilename[1]{}} + \protected@write\@auxout{}{\string\@istfilename{\istfilename}}% + \protected@write\@auxout{}{\string\@glsorder{\glsorder}} + \protected@write\@auxout{}{\string\glsxtr@makeglossaries{#1}} + \write\@auxout{\string\providecommand\string\@gls@reference[3]{}}% + \@for\@glo@type:=#1\do{% + \ifdefempty{\@glo@type}{}{\@makeglossary{\@glo@type}}% + }% + \renewcommand*\newglossary[4][]{% + \PackageError{glossaries}{New glossaries + must be created before \string\makeglossaries}{You need + to move \string\makeglossaries\space after all your + \string\newglossary\space commands}}% + \let\@makeglossary\@gobble + \renewcommand\makeglossaries[1][]{}% + \@disable@onlypremakeg + \let\gls@checkseeallowed\relax + \renewcommand*{\@do@seeglossary}[2]{% + \glsdoifexists{##1}% + {% + \protected@edef\@gls@label{\glsdetoklabel{##1}}% + \protected@edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% + \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% + {\@glsxtr@org@doseeglossary{##1}{##2}}% + {% + \@@glsxtrwrglossmark + \protected@write\@auxout{}{% + \string\@gls@reference + {\gls@type}{\@gls@label}{\string\glsseeformat##2{}}% + }% + }% + }% + }% + \let\@glsxtr@@do@@wrglossary\@@do@@wrglossary + \def\@@do@@wrglossary{% + \protected@edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% + \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% + {\@glsxtr@@do@@wrglossary}% + {\gls@noidxglossary}% + }% + \let\warn@nomakeglossaries\relax + \let\warn@noprintglossary\@makeglossaries@warn@noprintglossary + \renewcommand{\@gls@noref@warn}[1]{% + \protected@edef\@gls@type{##1}% + \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% + {% + \GlossariesExtraWarning{Can't use + \string\printnoidxglossary[type={\@gls@type}] + when `\@gls@type' is listed in the optional argument of + \string\makeglossaries}% + }% + {% + \GlossariesWarning{Empty glossary for + \string\printnoidxglossary[type={##1}]. + Rerun may be required (or you may have forgotten to use + commands like \string\gls)}% + }% + }% + \renewcommand*{\glsdisplaynumberlist}[1]{% + \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% + {\@glsxtr@idx@displaynumberlist{##1}}% + {\@glsxtr@noidx@displaynumberlist{##1}}% + }% + \renewcommand*{\glsentrynumberlist}[1]{% + \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% + {\@glsxtr@idx@entrynumberlist{##1}}% + {\@glsxtr@noidx@entrynumberlist{##1}}% + }% + \renewcommand*{\glsnumberlistloop}[2]{% + \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% + {% + \PackageError{glossaries-extra}{\string\glsnumberlistloop\space + not available for glossary `##1'}{}% + }% + {\@glsxtr@noidx@numberlistloop{##1}{##2}}% + }% + \renewcommand*{\glsprestandardsort}[3]{% + \expandafter\DTLifinlist\expandafter{##2}{\@glsxtr@reg@glosslist}% + {% + \glsdosanitizesort + }% + {% + \ifglssanitizesort + \@gls@noidx@sanitizesort + \else + \@gls@noidx@nosanitizesort + \fi + }% + }% + \renewcommand*\new@glossaryentry[2]{% + \PackageError{glossaries-extra}{Glossary entries must be defined + in the preamble\MessageBreak when you use the optional argument + of \string\makeglossaries}{Either move your definitions to the + preamble or don't use the optional argument of + \string\makeglossaries}% + }% + \let\@glo@assign@sortkey\@glsxtr@mixed@assign@sortkey + \renewcommand*{\@printgloss@setsort}{% + \expandafter\@glsxtr@gettype\expandafter,\@glsxtr@printglossopts,% + type=\glsdefaulttype,\@end@glsxtr@gettype + \def\@glo@sorttype{\@glo@default@sorttype}% + }% + \ifglsautomake + \renewcommand*{\@gls@doautomake}{% + \@for\@gls@type:=\@glsxtr@reg@glosslist\do{% + \ifdefempty{\@gls@type}{}{\@gls@automake{\@gls@type}}% + }% + }% + \fi + \ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}% + \fi + }% + }% + }% +} +\ifdef\@printgloss@checkexists +{\newcommand{\glsxtr@printgloss@checkexists}{\@printgloss@checkexists}} +{\newcommand{\glsxtr@printgloss@checkexists}[2]{#2}} +\newcommand{\@glsxtr@orgprintglossary}[2]{% + \def\@glo@type{\glsdefaulttype}% + \def\glossarytitle{% + \ifcsdef{@glotype@\@glo@type @title}% + {\csuse{@glotype@\@glo@type @title}}% + {\glossaryname}}% + \def\glossarytoctitle{\glossarytitle}% + \let\org@glossarytitle\glossarytitle + \def\@glossarystyle{% + \ifx\@glossary@default@style\relax + \GlossariesWarning{No default glossary style provided \MessageBreak + for the glossary `\@glo@type'. \MessageBreak + Using deprecated fallback. \MessageBreak + To fix this set the style with \MessageBreak + \string\setglossarystyle\space or use the \MessageBreak + style key=value option}% + \fi + }% + \def\gls@dotoctitle{\glssettoctitle{\@glo@type}}% + \let\@org@glossaryentrynumbers\glossaryentrynumbers + \bgroup + \@printgloss@setsort + \setkeys{printgloss}{#1}% + \ifx\glossarytitle\org@glossarytitle + \else + \cslet{@glotype@\@glo@type @title}{\glossarytitle}% + \fi + \let\currentglossary\@glo@type + \let\org@glossaryentrynumbers\glossaryentrynumbers + \let\glsnonextpages\@glsnonextpages + \let\glsnextpages\@glsnextpages + \glsxtractivatenopost + \gls@dotoctitle + \@glossarystyle + \let\gls@org@glossaryentryfield\glossentry + \let\gls@org@glossarysubentryfield\subglossentry + \renewcommand{\glossentry}[1]{% + \protected@xdef\glscurrententrylabel{\glsdetoklabel{##1}}% + \gls@org@glossaryentryfield{##1}% + }% + \renewcommand{\subglossentry}[2]{% + \protected@xdef\glscurrententrylabel{\glsdetoklabel{##2}}% + \gls@org@glossarysubentryfield{##1}{##2}% + }% + \@gls@preglossaryhook + \glsxtr@printgloss@checkexists{\@glo@type}{#2}% + \egroup + \global\let\glossaryentrynumbers\@org@glossaryentrynumbers + \global\let\warn@noprintglossary\relax +} +\newcommand*{\glsxtractivatenopost}{% + \let\nopostdesc\@nopostdesc + \let\glsxtrnopostpunc\@glsxtr@nopostpunc +} +\newrobustcmd*{\glsxtrnopostpunc}{} +\newcommand{\@glsxtr@nopostpunc}{% + \let\@@glsxtr@org@postdescription\glspostdescription + \ifglsnopostdot + \renewcommand{\glspostdescription}{% + \glsnopostdottrue + \let\glspostdescription\@@glsxtr@org@postdescription + \let\glsxtrrestorepostpunc\@glsxtr@restore@postpunc + \glsxtrpostdescription + \@glsxtr@nopostpunc@postdesc}% + \else + \renewcommand{\glspostdescription}{% + \let\glspostdescription\@@glsxtr@org@postdescription + \let\glsxtrrestorepostpunc\@glsxtr@restore@postpunc + \glsxtrpostdescription + \@glsxtr@nopostpunc@postdesc}% + \fi + \glsnopostdotfalse +} +\newcommand*{\@glsxtr@nopostpunc@postdesc}{} +\newcommand*{\@glsxtr@restore@postpunc}{% + \def\@glsxtr@nopostpunc@postdesc{% + \@glsxtr@org@postdescription + \let\@glsxtr@nopostpunc@postdesc\@empty + \let\glsxtrrestorepostpunc\@empty + }% +} +\newcommand*{\glsxtrrestorepostpunc}{} +\renewcommand{\@printglossary}[2]{% + \def\@glsxtr@printglossopts{#1}% + \@glsxtr@orgprintglossary{#1}{#2}% +} +\define@choicekey{printgloss}{target} +[\@glsxtr@printglossval\@glsxtr@printglossnr]% +{true,false}[true]% +{% + \ifcase\@glsxtr@printglossnr + \def\@glstarget{\glsdohypertarget}% + \else + \let\@glstarget\@secondoftwo + \fi +} +\newcommand{\@glsxtrhypernameprefix}{} +\define@key{printgloss}{targetnameprefix}{% + \renewcommand{\@glsxtrhypernameprefix}{#1}% +} +\define@key{printgloss}{prefix}{% + \renewcommand{\glolinkprefix}{#1}% +} +\define@key{printgloss}{label}{% + \glsxtrsetglossarylabel{#1}% +} +\newcommand{\glsxtrsetglossarylabel}[1]{% + \renewcommand*{\@@glossaryseclabel}{% + \protected@edef\@currentlabelname{\glossarytoctitle}% + \label{#1}% + }% +} +\newcount\@glsxtr@leveloffset +\define@key{printgloss}{leveloffset}{% + \@glsxtr@assign@leveloffset#1\relax +} +\newcommand*{\@glsxtr@assign@leveloffset}{% + \@ifnextchar+{\p@glsxtr@assign@leveloffset}{\np@glsxtr@assign@leveloffset}% +} +\newcommand*{\p@glsxtr@assign@leveloffset}[1]{% + \@ifnextchar+{\pp@glsxtr@assign@leveloffset}{\np@glsxtr@assign@leveloffset}% +} +\def\np@glsxtr@assign@leveloffset#1\relax{\@glsxtr@leveloffset=#1\relax} +\def\pp@glsxtr@assign@leveloffset#1\relax{\advance\@glsxtr@leveloffset by #1\relax} +\define@boolkey{printgloss}[glsxtr@printgloss@]{groups}[true]{} +\glsxtr@printgloss@groupstrue +\let\@glsxtr@org@glsdohypertarget\glsdohypertarget +\renewcommand{\glsdohypertarget}[2]{% + \@glsxtr@org@glsdohypertarget{\@glsxtrhypernameprefix#1}{#2}% +} +\ifx\@glstarget\@glsxtr@org@glsdohypertarget + \def\@glstarget{\glsdohypertarget}% +\fi +\newcommand{\@glsxtr@do@org@target}[2]{% + {% + \let\glsdohypertarget\@glsxtr@org@glsdohypertarget + \@glstarget{#1}{#2}% + }% +} +\newcommand*{\glsxtr@makeglossaries}[1]{} +\def\@glsxtr@gettype#1,type=#2,#3\@end@glsxtr@gettype{% + \def\@glo@type{#2}% +} +\newcommand\@glsxtr@mixed@assign@sortkey[1]{% + \protected@edef\@glo@type{\@glo@type}% + \expandafter\DTLifinlist\expandafter{\@glo@type}{\@glsxtr@reg@glosslist}% + {% + \@glo@no@assign@sortkey{#1}% + }% + {% + \@@glo@assign@sortkey{#1}% + }% +}% +\let\@glsxtr@idx@displaynumberlist\glsdisplaynumberlist +\newcommand*{\@glsxtr@noidx@displaynumberlist}[1]{% + \letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% + \ifdef\@gls@loclist + {% + \def\@gls@noidxloclist@sep{% + \def\@gls@noidxloclist@sep{% + \def\@gls@noidxloclist@sep{% + \glsnumlistsep + }% + \def\@gls@noidxloclist@finalsep{\glsnumlistlastsep}% + }% + }% + \def\@gls@noidxloclist@finalsep{}% + \def\@gls@noidxloclist@prev{}% + \forlistloop{\glsnoidxdisplayloclisthandler}{\@gls@loclist}% + \@gls@noidxloclist@finalsep + \@gls@noidxloclist@prev + }% + {% + \glsxtrundeftag + \glsdoifexists{#1}% + {% + \GlossariesWarning{Missing location list for `#1'. Either + a rerun is required or you haven't referenced the entry.}% + }% + }% +}% + +\newcommand*{\@glsxtr@noidx@numberlistloop}[3]{% + \letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% + \let\@gls@org@glsnoidxdisplayloc\glsnoidxdisplayloc + \let\@gls@org@glsseeformat\glsseeformat + \let\glsnoidxdisplayloc#2\relax + \let\glsseeformat#3\relax + \ifdef\@gls@loclist + {% + \forlistloop{\glsnoidxnumberlistloophandler}{\@gls@loclist}% + }% + {% + \glsxtrundeftag + \glsdoifexists{#1}% + {% + \GlossariesWarning{Missing location list for `##1'. Either + a rerun is required or you haven't referenced the entry.}% + }% + }% + \let\glsnoidxdisplayloc\@gls@org@glsnoidxdisplayloc + \let\glsseeformat\@gls@org@glsseeformat +}% +\newcommand*{\@glsxtr@noidx@entrynumberlist}[1]{% + \letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% + \ifdef\@gls@loclist + {% + \glsnoidxloclist{\@gls@loclist}% + }% + {% + \glsxtrundeftag + \glsdoifexists{#1}% + {% + \GlossariesWarning{Missing location list for `#1'. Either + a rerun is required or you haven't referenced the entry.}% + }% + }% +}% +\newcommand*{\@glsxtr@idx@entrynumberlist}[1]{\glsentrynumberlist{#1}} +\renewcommand*{\@gls@noidx@getgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{#1}% + \ifdefvoid\@glsxtr@titlelabel + {}% + {% + \protected@edef\@glsxtr@titlelabel{\csuse{glsxtr@grouptitle@#1}}% + }% + \ifdefvoid{\@glsxtr@titlelabel}% + {% + \DTLifint{#1}% + {% + \ifnum#1<256\relax + \edef#2{\char#1\relax}% + \else + \edef#2{#1}% + \fi + }% + {% + \ifcsundef{#1groupname}% + {\def#2{#1}}% + {\letcs#2{#1groupname}}% + }% + }% + {% + \let#2\@glsxtr@titlelabel + }% +} +\let\glsxtr@org@getgrouptitle\@gls@getgrouptitle +\newrobustcmd{\glsxtrgetgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \ifcsdef{\@glsxtr@titlelabel} + {\letcs{#2}{\@glsxtr@titlelabel}}% + {\glsxtr@org@getgrouptitle{#1}{#2}}% +} +\let\@gls@getgrouptitle\glsxtrgetgrouptitle +\newcommand{\glsxtrsetgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \protected@csxdef{\@glsxtr@titlelabel}{#2}% +} +\newcommand{\glsxtrlocalsetgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \protected@csedef{\@glsxtr@titlelabel}{#2}% +} +\renewcommand*{\glsnavigation}{% + \def\@gls@between{}% + \ifcsundef{@gls@hypergrouplist@\@glo@type}% + {% + \def\@gls@list{}% + }% + {% + \expandafter\let\expandafter\@gls@list + \csname @gls@hypergrouplist@\@glo@type\endcsname + }% + \@for\@gls@tmp:=\@gls@list\do{% + \@gls@between + \glsxtrgetgrouptitle{\@gls@tmp}{\@gls@grptitle}% + \glsnavhyperlink{\@gls@tmp}{\@gls@grptitle}% + \let\@gls@between\glshypernavsep + }% +} +\renewcommand*{\@print@noidx@glossary}{% + \ifcsdef{@glsref@\@glo@type}% + {% + \ifcsdef{@glo@sortmacro@\@glo@sorttype}% + {% + \csuse{@glo@sortmacro@\@glo@sorttype}{\@glo@type}% + }% + {% + \PackageError{glossaries}{Unknown sort handler `\@glo@sorttype'}{}% + }% + \glossarysection[\glossarytoctitle]{\glossarytitle}% + \glossarypreamble + \def\@gls@currentlettergroup{}% + \begin{theglossary}% + \glossaryheader + \glsresetentrylist + \forlistcsloop{\@gls@noidx@do}{@glsref@\@glo@type}% + \end{theglossary}% + \glossarypostamble + }% + {% + \glsxtrifemptyglossary{\@glo@type}% + {}% + {\glossarysection[\glossarytoctitle]{\glossarytitle}}% + \@gls@noref@warn{\@glo@type}% + }% +} +\renewcommand*{\glsnoidxdisplayloc}[4]{% + \setentrycounter[#1]{#2}% + \@glsxtr@display@loc#3\empty\end@glsxtr@display@loc{#4}% +} +\def\@glsxtr@display@loc#1#2\end@glsxtr@display@loc#3{% + \ifx#1(\relax + \glsxtrdisplaystartloc{#2}{#3}% + \else + \ifx#1)\relax + \glsxtrdisplayendloc{#2}{#3}% + \else + \glsxtrdisplaysingleloc{#1#2}{#3}% + \fi + \fi +} +\newcommand*{\glsxtrdisplaysingleloc}[2]{% + \csuse{#1}{#2}% +} +\newcommand*{\glsxtrdisplaystartloc}[2]{% + \protected@edef\glsxtrlocrangefmt{#1}% + \ifx\glsxtrlocrangefmt\empty + \def\glsxtrlocrangefmt{glsnumberformat}% + \fi + \expandafter\glsxtrdisplaysingleloc + \expandafter{\glsxtrlocrangefmt}{#2}% +} +\newcommand*{\glsxtrdisplayendloc}[2]{% + \protected@edef\@glsxtr@tmp{#1}% + \ifdefempty{\@glsxtr@tmp}{\def\@glsxtr@tmp{glsnumberformat}}{}% + \ifx\glsxtrlocrangefmt\@glsxtr@tmp + \else + \GlossariesExtraWarning{Mismatched end location range + (start=\glsxtrlocrangefmt, end=\@glsxtr@tmp)}% + \fi + \expandafter\glsxtrdisplayendlochook\expandafter{\@glsxtr@tmp}{#2}% + \expandafter\glsxtrdisplaysingleloc + \expandafter{\glsxtrlocrangefmt}{#2}% + \def\glsxtrlocrangefmt{}% +} +\newcommand*{\glsxtrdisplayendlochook}[2]{} +\newcommand*{\glsxtrlocrangefmt}{} +\renewcommand*{\setentrycounter}[2][]{% + \def\glsxtrcounterprefix{#1}% + \ifx\glsxtrcounterprefix\@empty + \def\@glo@counterprefix{.}% + \else + \def\@glo@counterprefix{.#1.}% + \fi + \def\glsentrycounter{#2}% +} +\def\@gls@removespaces#1 #2\@nil{% + \toks@=\expandafter{\the\toks@#1}% + \ifx\\#2\\% + \edef\@glo@tmp{\the\toks@}% + \ifx\@glo@tmp\empty + \else + \expandafter\glsxtrlocationhyperlink\expandafter + \glsentrycounter\expandafter\@glo@counterprefix\expandafter{\the\toks@}% + \fi + \else + \@gls@ReturnAfterFi{% + \@gls@removespaces#2\@nil + }% + \fi +} +\newcommand*{\glsxtrlocationhyperlink}[3]{% + \ifdefvoid\glsxtrsupplocationurl + {% + \GlsXtrInternalLocationHyperlink{#1}{#2}{#3}% + }% + {% + \hyperref{\glsxtrsupplocationurl}{}{#1#2#3}{#3}% + }% +} +\newcommand*{\glsxtrsupphypernumber}[1]{% + {% + \glshasattribute{\glscurrententrylabel}{externallocation}% + {% + \def\glsxtrsupplocationurl{% + \glsgetattribute{\glscurrententrylabel}{externallocation}}% + }% + {% + \def\glsxtrsupplocationurl{}% + }% + \glshypernumber{#1}% + }% +} +\renewcommand{\@print@glossary}{% + \makeatletter + \@input@{\jobname.\csname @glotype@\@glo@type @in\endcsname}% + \IfFileExists{\jobname.\csname @glotype@\@glo@type @in\endcsname}% + {}% + {\glsxtrNoGlossaryWarning{\@glo@type}}% + \ifglsxindy + \ifcsundef{@xdy@\@glo@type @language}% + {% + \edef\@do@auxoutstuff{% + \noexpand\AtEndDocument{% + \noexpand\immediate\noexpand\write\@auxout{% + \string\providecommand\string\@xdylanguage[2]{}}% + \noexpand\immediate\noexpand\write\@auxout{% + \string\@xdylanguage{\@glo@type}{\@xdy@main@language}}% + }% + }% + }% + {% + \edef\@do@auxoutstuff{% + \noexpand\AtEndDocument{% + \noexpand\immediate\noexpand\write\@auxout{% + \string\providecommand\string\@xdylanguage[2]{}}% + \noexpand\immediate\noexpand\write\@auxout{% + \string\@xdylanguage{\@glo@type}{\csname @xdy@\@glo@type + @language\endcsname}}% + }% + }% + }% + \@do@auxoutstuff + \edef\@do@auxoutstuff{% + \noexpand\AtEndDocument{% + \noexpand\immediate\noexpand\write\@auxout{% + \string\providecommand\string\@gls@codepage[2]{}}% + \noexpand\immediate\noexpand\write\@auxout{% + \string\@gls@codepage{\@glo@type}{\gls@codepage}}% + }% + }% + \@do@auxoutstuff + \fi + \renewcommand*{\@warn@nomakeglossaries}{% + \GlossariesWarningNoLine{\string\makeglossaries\space + hasn't been used,^^Jthe glossaries will not be updated}% + }% +} +\newcommand{\GlsXtrNoGlsWarningHead}[2]{% + This document is incomplete. The external file associated with + the glossary `#1' (which should be called \texttt{#2}) + hasn't been created.% +} +\newcommand{\GlsXtrNoGlsWarningEmptyStart}{% + This has probably happened because there are no entries defined + in this glossary.% +} +\newcommand{\GlsXtrNoGlsWarningEmptyMain}{% + If you don't want this glossary, + add \texttt{nomain} to your package option list when you load + \texttt{glossaries-extra.sty}. For example:% +} +\newcommand{\GlsXtrNoGlsWarningEmptyNotMain}[1]{% + Did you forget to use \texttt{type=#1} when you defined your + entries? If you tried to load entries into this glossary with + \texttt{\string\loadglsentries} did you remember to use + \texttt{[#1]} as the optional argument? If you did, check that + the definitions in the file you loaded all had the type set + to \texttt{\string\glsdefaulttype}.% +} +\newcommand{\GlsXtrNoGlsWarningCheckFile}[1]{% + Check the contents of the file \texttt{#1}. If + it's empty, that means you haven't indexed any of your entries in this + glossary (using commands like \texttt{\string\gls} or + \texttt{\string\glsadd}) so this list can't be generated. + If the file isn't empty, the document build process hasn't been + completed.% +} +\newcommand{\GlsXtrNoGlsWarningAutoMake}[1]{% + You may need to rerun \LaTeX. If you already have, it may be that + \TeX's shell escape doesn't allow you to run + \ifglsxindy xindy\else makeindex\fi. Check the + transcript file \texttt{\jobname.log}. If the shell escape is + disabled, try one of the following: + + \begin{itemize} + \item Run the external (Lua) application: + + \texttt{makeglossaries-lite \string"\jobname\string"} + + \item Run the external (Perl) application: + + \texttt{makeglossaries \string"\jobname\string"} + \end{itemize} + + Then rerun \LaTeX\ on this document. + \GlossariesExtraWarning{Rerun required to build the + glossary `#1' or check TeX's shell escape allows + you to run \ifglsxindy xindy\else makeindex\fi}% +} +\newcommand{\GlsXtrNoGlsWarningMisMatch}{% + You need to either replace \texttt{\string\makenoidxglossaries} + with \texttt{\string\makeglossaries} or replace + \texttt{\string\printglossary} (or \texttt{\string\printglossaries}) with + \texttt{\string\printnoidxglossary} + (or \texttt{\string\printnoidxglossaries}) and then rebuild + this document.% +} +\newcommand{\GlsXtrNoGlsWarningBuildInfo}{% + Try one of the following: + \begin{itemize} + \item Add \texttt{automake} to your package option list when you load + \texttt{glossaries-extra.sty}. For example: + + \texttt{\string\usepackage[automake]% + \glsopenbrace glossaries-extra\glsclosebrace} + + \item Run the external (Lua) application: + + \texttt{makeglossaries-lite.lua \string"\jobname\string"} + + \item Run the external (Perl) application: + + \texttt{makeglossaries \string"\jobname\string"} + \end{itemize} + + Then rerun \LaTeX\ on this document.% +} +\newcommand{\GlsXtrRecordWarning}[1]{% + \texttt{\string\printglossary} doesn't work + with the \texttt{record=\@glsxtr@record@setting} package option + use\par\texttt{\string\printunsrtglossary[type=#1]}\par + instead (or change the package option).% +} +\newcommand{\GlsXtrNoGlsWarningTail}{% + This message will be removed once the problem has been fixed.% +} +\newcommand{\GlsXtrNoGlsWarningNoOut}[1]{% + The file \texttt{#1} doesn't exist. This most likely means you haven't used + \texttt{\string\makeglossaries} or you have used + \texttt{\string\nofiles}. If this is just a draft version of the + document, you can suppress this message using the + \texttt{nomissingglstext} package option.% +} +\newcommand*{\@glsxtr@defaultnoglossarywarning}[1]{% + \glossarysection[\glossarytoctitle]{\glossarytitle} + \GlsXtrNoGlsWarningHead{#1}{\jobname.\csname @glotype@\@glo@type @in\endcsname} + \par + \glsxtrifemptyglossary{#1}% + {% + \GlsXtrNoGlsWarningEmptyStart\space + \ifthenelse{\equal{#1}{main}}{\GlsXtrNoGlsWarningEmptyMain\par + \medskip + \noindent\texttt{\string\usepackage[nomain\ifglsacronym ,acronym\fi]% + \glsopenbrace glossaries-extra\glsclosebrace} + \medskip + }% + {\GlsXtrNoGlsWarningEmptyNotMain{#1}}% + }% + {% + \IfFileExists{\jobname.\csname @glotype@\@glo@type @out\endcsname} + {% + \GlsXtrNoGlsWarningCheckFile + {\jobname.\csname @glotype@\@glo@type @out\endcsname} + + \ifglsautomake + + \GlsXtrNoGlsWarningAutoMake{#1} + + \else + + \ifthenelse{\equal{#1}{main}}% + {% + \GlsXtrNoGlsWarningEmptyMain\par + \medskip + \noindent\texttt{\string\usepackage[nomain]% + \glsopenbrace glossaries-extra\glsclosebrace} + \medskip + }% + {}% + + \ifdefequal\makeglossaries\@no@makeglossaries + {% + \GlsXtrNoGlsWarningMisMatch + }% + {% + \GlsXtrNoGlsWarningBuildInfo + }% + \fi + }% + {% + \GlsXtrNoGlsWarningNoOut + {\jobname.\csname @glotype@\@glo@type @out\endcsname}% + }% + }% + \par + \GlsXtrNoGlsWarningTail +} +\newcommand*{\@glsxtr@record@noglossarywarning}[1]{% + \GlossariesExtraWarning{\string\printglossary\space doesn't work\MessageBreak + with record=\@glsxtr@record@setting\space package option\MessageBreak(use + \string\printunsrtglossary[type=#1])\MessageBreak + instead (or change the package option)}% + \glossarysection[\glossarytoctitle]{\glossarytitle} + \GlsXtrRecordWarning{#1} + \GlsXtrNoGlsWarningTail +} +\newcommand*{\GlsXtrDefaultResourceOptions}{} +\newcommand*{\glsxtrresourcefile}[2][]{% + \disable@keys{glossaries-extra.sty}{record}% + \glsxtr@writefields + \ifdefempty\GlsXtrDefaultResourceOptions + {% + \protected@write\@auxout{\glsxtrresourceinit}% + {\string\glsxtr@resource{#1}{#2}}% + }% + {% + \protected@write\@auxout{\glsxtrresourceinit}% + {\string\glsxtr@resource{\GlsXtrDefaultResourceOptions,#1}{#2}}% + }% + \let\@glsxtr@org@see@noindex\@gls@see@noindex + \let\@gls@see@noindex\relax + \IfFileExists{#2.glstex}% + {% + \edef\@bibgls@restoreat{\noexpand\catcode\noexpand`\noexpand\@=\number\catcode`\@}% + \makeatletter + \@input{#2.glstex}% + \@bibgls@restoreat + \@glsxtr@check@bibgls@nameref + }% + {% + \GlossariesExtraWarning{No file `#2.glstex'}% + }% + \let\@gls@see@noindex\@glsxtr@org@see@noindex +} +\@onlypreamble\glsxtrresourcefile +\newcommand{\@glsxtr@check@bibgls@nameref}{% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + \ifdef\bibglshrefchar + {}% + {% + \GlossariesExtraWarning{record=nameref requires at least + version 1.8 of bib2gls}% + }% + \fi + \let\@glsxtr@check@bibgls@nameref\relax +} +\newcommand*{\glsxtrresourceinit}{} +\newcount\glsxtrresourcecount +\newcommand*{\GlsXtrLoadResources}[1][]{% + \ifnum\glsxtrresourcecount=0\relax + \glsxtrresourcefile[#1]{\jobname}% + \else + \glsxtrresourcefile[#1]{\jobname-\the\glsxtrresourcecount}% + \fi + \advance\glsxtrresourcecount by 1\relax +} +\newcommand*{\glsxtr@resource}[2]{} +\newcommand*{\glsxtr@fields}[1]{} +\newcommand*{\glsxtr@texencoding}[1]{} +\newcommand*{\glsxtr@langtag}[1]{} +\newcommand*{\glsxtr@pluralsuffixes}[4]{} +\newcommand*{\glsxtr@shortcutsval}[1]{} +\newcommand*{\glsxtr@linkprefix}[1]{} +\newcommand*{\glsxtr@writefields}{% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@fields}[1]{}}% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@resource}[2]{}}% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@pluralsuffixes}[4]{}}% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@shortcutsval}[1]{}}% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@linkprefix}[1]{}}% + \protected@write\@auxout{}{\string\glsxtr@fields{\@gls@keymap}}% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@record}[5]{}}% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@record@nameref}[8]{}}% + \fi + \ifdef\CurrentTrackedLanguageTag + {% + \protected@write\@auxout{}{% + \string\glsxtr@langtag{\CurrentTrackedLanguageTag}}% + }% + {}% + \protected@write\@auxout{}{\string\glsxtr@pluralsuffixes + {\glspluralsuffix}{\abbrvpluralsuffix}{\acrpluralsuffix}% + {\glsxtrabbrvpluralsuffix}}% + \ifdef\inputencodingname + {% + \protected@write\@auxout{}{\string\glsxtr@texencoding{\inputencodingname}}% + }% + {% + \@ifpackageloaded{fontspec}% + {\protected@write\@auxout{}{\string\glsxtr@texencoding{utf8}}}% + {}% + }% + \protected@write\@auxout{}{\string\glsxtr@shortcutsval{\@glsxtr@shortcutsval}}% + \AtBeginDocument + {\protected@write\@auxout{}{\string\glsxtr@linkprefix{\glolinkprefix}}}% + \let\glsxtr@writefields\relax + \ifglsautomake + \IfFileExists{\jobname.aux}% + {\immediate\write18{bib2gls \jobname}}{}% + \ifx\@gls@doautomake\@gls@doautomake@err + \let\@gls@doautomake\relax + \fi + \fi + \@glsxtr@if@record@only + {\ifdefstring{\glsorder}{letter}% + {\GlossariesExtraWarningNoLine{Package option `order=letter' isn't + supported with `record=\@glsxtr@record@setting'. Use `break-at=none' + resource option instead}}% + {}% + }% + {}% +} +\newcommand*{\@gls@doautomake@err}{% + \PackageError{glossaries}{You must use + \string\makeglossaries\space with automake=true} + {% + Either remove the automake=true setting or + add \string\makeglossaries\space to your document preamble.% + }% +} +\newcommand*{\glsxtr@record}[5]{} +\newcommand*{\glsxtr@record@nameref}[8]{} +\newcommand*{\glsxtr@counterrecord}[3]{% + \glsxtrfieldlistgadd{#1}{record.#2}{#3}% +} +\newcommand*{\@glsxtr@counterrecordhook}{} +\newcommand*{\GlsXtrRecordCounter}[1]{% + \@@glsxtr@recordcounter{#1}% +} +\@onlypreamble\GlsXtrRecordCounter +\newcommand*{\@glsxtr@docounterrecord}[1]{% + \protected@write\@auxout{}{\string\glsxtr@counterrecord + {\@gls@label}{#1}{\csuse{the#1}}}% +} +\newcommand*{\glsxtrglossentry}[1]{% + \glsxtrtitleorpdforheading + {\@glsxtrglossentry{#1}}% + {\glsentryname{#1}}% + {\glsxtrheadname{#1}}% +} +\newrobustcmd*{\@glsxtrglossentry}[1]{% + \glsxtrtitleorpdforheading + {% + \glsdoifexists{#1}% + {% + \begingroup + \protected@edef\glscurrententrylabel{\glsdetoklabel{#1}}% + \protected@edef\currentglossary{\GlsXtrStandaloneGlossaryType}% + \ifglshasparent{#1}% + {\GlsXtrStandaloneSubEntryItem{#1}}% + {\glsentryitem{#1}}% + \GlsXtrStandaloneEntryName{#1}% + \endgroup + }% + }% + {\glsentryname{#1}}% + {\glsxtrheadname{#1}}% +} +\newcommand*{\GlsXtrStandaloneEntryName}[1]{% + \glstarget{#1}{\glossentryname{#1}}% +} +\newcommand{\GlsXtrStandaloneGlossaryType}{\glsentrytype{\glscurrententrylabel}} +\newcommand*{\GlsXtrStandaloneSubEntryItem}[1]{% + \GlsXtrIfFieldEqNum{level}{#1}{1}{\glssubentryitem{#1}}{}% +} +\newcommand*{\glsxtrglossentryother}[3]{% + \ifstrempty{#1}% + {% + \ifcsdef{glsxtrhead#3}% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {\csuse{glsxtrhead#3}{#2}}% + }% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {\@gls@entry@field{\NoCaseChange{#2}}{#3}}% + }% + }% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {#1}% + }% +} +\newrobustcmd*{\@glsxtrglossentryother}[3]{% + \glsxtrtitleorpdforheading + {% + \glsdoifexists{#1}% + {% + \begingroup + \protected@edef\glscurrententrylabel{\glsdetoklabel{#1}}% + \protected@edef\currentglossary{\GlsXtrStandaloneGlossaryType}% + \ifglshasparent{#1}% + {\GlsXtrStandaloneSubEntryItem{#1}}% + {\glsentryitem{#1}}% + \GlsXtrStandaloneEntryOther{#1}% + \endgroup + }% + }% + {\@gls@entry@field{#1}{#2}}% + {#3}% +} +\newcommand*{\GlsXtrStandaloneEntryOther}[2]{% + \glstarget{#1}{\glossentrynameother{#1}{#2}}% +} +\ifdef\@printgloss@checkexists +{ + \newcommand*{\printunsrtglossary}{% + \let\@printgloss@checkexists\@printgloss@checkexists@allowignored + \@ifstar\s@printunsrtglossary\@printunsrtglossary + } +} +{ + \newcommand*{\printunsrtglossary}{% + \@ifstar\s@printunsrtglossary\@printunsrtglossary + } +} +\newcommand*{\@printunsrtglossary}[1][]{% + \@printglossary{type=\glsdefaulttype,#1}{\@print@unsrt@glossary}% +} +\newcommand*{\s@printunsrtglossary}[2][]{% + \begingroup + #2% + \@printglossary{type=\glsdefaulttype,#1}{\@print@unsrt@glossary}% + \endgroup +} +\newcommand*{\printunsrtglossaries}{% + \forallglossaries{\@@glo@type}{\printunsrtglossary[type=\@@glo@type]}% +} + +\newcommand*{\@print@unsrt@glossary}{% + \glossarysection[\glossarytoctitle]{\glossarytitle}% + \glossarypreamble + \glsxtrifemptyglossary{\@glo@type}% + {% + \GlossariesExtraWarning{No entries defined in glossary `\@glo@type'}% + }% + {% + \key@ifundefined{glossentry}{group}% + {\let\@gls@getgrouptitle\@gls@noidx@getgrouptitle}% + {\let\@gls@getgrouptitle\@glsxtr@unsrt@getgrouptitle}% + \def\@gls@currentlettergroup{}% + \def\@glsxtr@doglossary{% + \begin{theglossary}% + \glossaryheader + \glsresetentrylist + }% + \expandafter\@for\expandafter\glscurrententrylabel\expandafter + :\expandafter=\csname glolist@\@glo@type\endcsname\do{% + \ifdefempty{\glscurrententrylabel} + {}% + {% + \let\glsxtr@process\@firstofone + \let\printunsrtglossaryskipentry + \@glsxtr@printunsrtglossaryskipentry + \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% + \glsxtr@process + {% + \ifglsxtr@printgloss@groups + \ifglshasparent{\glscurrententrylabel}{}% + {% + \@glsxtr@checkgroup\glscurrententrylabel + \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter + {\@glsxtr@groupheading}% + }% + \fi + \protected@eappto\@glsxtr@doglossary{% + \noexpand\@printunsrt@glossary@handler{\glscurrententrylabel}}% + }% + }% + }% + \appto\@glsxtr@doglossary{\end{theglossary}}% + \printunsrtglossarypredoglossary + \@glsxtr@doglossary + }% + \glossarypostamble +} +\newcommand*{\printunsrtinnerglossary}[3][]{% + \begingroup + \def\@glsxtr@printglossopts{#1}% + \def\@glo@type{\glsdefaulttype}% + \setkeys{printgloss}[title,toctitle,style,numberedsection,sort,label]{#1}% + \let\currentglossary\@glo@type + #2% + \@print@unsrt@innerglossary + #3% + \endgroup +} +\newenvironment{printunsrtglossarywrap}[1][]% +{% + \def\@glsxtr@printglossopts{#1}% + \def\@glo@type{\glsdefaulttype}% + \def\glossarytitle{\csname @glotype@\@glo@type @title\endcsname}% + \def\glossarytoctitle{\glossarytitle}% + \let\org@glossarytitle\glossarytitle + \def\@glossarystyle{% + \ifx\@glossary@default@style\relax + \GlossariesWarning{No default glossary style provided \MessageBreak + for the glossary `\@glo@type'. \MessageBreak + Using deprecated fallback. \MessageBreak + To fix this set the style with \MessageBreak + \string\setglossarystyle\space or use the \MessageBreak + style key=value option}% + \fi + }% + \def\gls@dotoctitle{\glssettoctitle{\@glo@type}}% + \let\@org@glossaryentrynumbers\glossaryentrynumbers + \@printgloss@setsort + \setkeys{printgloss}{#1}% + \ifglossaryexists*{\@glo@type}% + {% + \ifx\glossarytitle\org@glossarytitle + \else + \expandafter\let\csname @glotype@\@glo@type @title\endcsname + \glossarytitle + \fi + \let\currentglossary\@glo@type + }% + {}% + \let\org@glossaryentrynumbers\glossaryentrynumbers + \let\glsnonextpages\@glsnonextpages + \let\glsnextpages\@glsnextpages + \let\nopostdesc\@nopostdesc + \gls@dotoctitle + \@glossarystyle + \let\gls@org@glossaryentryfield\glossentry + \let\gls@org@glossarysubentryfield\subglossentry + \renewcommand{\glossentry}[1]{% + \protected@xdef\glscurrententrylabel{\glsdetoklabel{##1}}% + \gls@org@glossaryentryfield{##1}% + }% + \renewcommand{\subglossentry}[2]{% + \protected@xdef\glscurrententrylabel{\glsdetoklabel{##2}}% + \gls@org@glossarysubentryfield{##1}{##2}% + }% + \@gls@preglossaryhook + \glossarysection[\glossarytoctitle]{\glossarytitle}% + \glossarypreamble + \begin{theglossary}% + \glossaryheader + \glsresetentrylist +}% +{% + \end{theglossary}% + \glossarypostamble + \global\let\glossaryentrynumbers\@org@glossaryentrynumbers + \global\let\warn@noprintglossary\relax +} +\newcommand*{\@print@unsrt@innerglossary}{% + \glsxtrifemptyglossary{\@glo@type}% + {% + \GlossariesExtraWarning{No entries defined in glossary `\@glo@type'}% + }% + {% + \key@ifundefined{glossentry}{group}% + {\let\@gls@getgrouptitle\@gls@noidx@getgrouptitle}% + {\let\@gls@getgrouptitle\@glsxtr@unsrt@getgrouptitle}% + \def\@gls@currentlettergroup{}% + \def\@glsxtr@doglossary{}% + \expandafter\@for\expandafter\glscurrententrylabel\expandafter + :\expandafter=\csname glolist@\@glo@type\endcsname\do{% + \ifdefempty{\glscurrententrylabel} + {}% + {% + \let\glsxtr@process\@firstofone + \let\printunsrtglossaryskipentry + \@glsxtr@printunsrtglossaryskipentry + \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% + \glsxtr@process + {% + \ifglsxtr@printgloss@groups + \ifglshasparent{\glscurrententrylabel}{}% + {% + \@glsxtr@checkgroup\glscurrententrylabel + \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter + {\@glsxtr@groupheading}% + }% + \fi + \protected@eappto\@glsxtr@doglossary{% + \noexpand\@printunsrt@glossary@handler{\glscurrententrylabel}}% + }% + }% + }% + \printunsrtglossarypredoglossary + \@glsxtr@doglossary + }% +} +\newcommand*{\printunsrtglossaryentryprocesshook}[1]{} +\newcommand*{\printunsrtglossaryskipentry}{% + \PackageError{glossaries-extra}{\string\printunsrtglossaryskipentry\space +can only be used within \string\printunsrtglossaryentryprocesshook}{}% +} +\newcommand*{\@glsxtr@printunsrtglossaryskipentry}{% + \let\glsxtr@process\@gobble +} +\newcommand*{\printunsrtglossarypredoglossary}{} +\newcommand{\@printunsrt@glossary@handler}[1]{% + \protected@xdef\glscurrententrylabel{#1}% + \printunsrtglossaryhandler\glscurrententrylabel +} +\newcommand{\printunsrtglossaryhandler}[1]{% + \glsxtrunsrtdo{#1}% +} +\newrobustcmd*{\glsxtriflabelinlist}[4]{% + \protected@edef\@glsxtr@doiflabelinlist{\noexpand\@gls@ifinlist{#1}{#2}}% + \@glsxtr@doiflabelinlist{#3}{#4}% +} +\newcommand{\print@op@unsrtglossaryunit}[2][]{% + \s@printunsrtglossary[type=\glsdefaulttype,#1]{% + \printunsrtglossaryunitsetup{#2}% + }% +} +\newcommand*{\printunsrtglossaryunitsetup}[1]{% + \renewcommand{\printunsrtglossaryhandler}[1]{% + \glsxtrfieldxifinlist{##1}{record.#1}{\csuse{the#1}} + {\glsxtrunsrtdo{##1}}% + {}% + }% + \ifcsundef{theH#1}% + {% + \renewcommand*{\@glsxtrhypernameprefix}{record.#1.\csuse{the#1}.\@gobble}% + }% + {% + \renewcommand*{\@glsxtrhypernameprefix}{record.#1.\csuse{theH#1}.\@gobble}% + }% + \renewcommand*{\glossarysection}[2][]{}% + \appto\glossarypostamble{\glspar\medskip\glspar}% +} +\newcommand{\print@noop@unsrtglossaryunit}[2][]{% + \PackageError{glossaries-extra}{\string\printunsrtglossaryunit\space + requires the record=only or record=alsoindex package option}{}% +} +\newrobustcmd*{\@glsxtr@unsrt@getgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \ifcsdef{\@glsxtr@titlelabel} + {\letcs{#2}{\@glsxtr@titlelabel}}% + {\def#2{#1}}% +} +\newcommand{\glsxtrunsrtdo}{\@glsxtr@noidx@do} +\newcommand*{\glsxtrgroupfield}{group} +\newcommand*{\@glsxtr@checkgroup}[1]{% + \def\@glsxtr@groupheading{}% + \key@ifundefined{glossentry}{group}% + {% + \letcs{\@gls@sort}{glo@\glsdetoklabel{#1}@sort}% + \expandafter\glo@grabfirst\@gls@sort{}{}\@nil + }% + {% + \protected@edef\@glo@thislettergrp{% + \csuse{glo@\glsdetoklabel{#1}@\glsxtrgroupfield}}% + }% + \ifdefequal{\@glo@thislettergrp}{\@gls@currentlettergroup}% + {}% + {% + \ifdefempty{\@gls@currentlettergroup}{}% + {\def\@glsxtr@groupheading{\glsgroupskip}}% + \protected@eappto\@glsxtr@groupheading{% + \noexpand\glsgroupheading{\expandonce\@glo@thislettergrp}% + }% + }% + \let\@gls@currentlettergroup\@glo@thislettergrp +} +\newcommand*{\GlsXtrLocationField}{location} +\newcommand{\@glsxtr@noidx@do}[1]{% + \ifglsentryexists{#1}% + {% + \global\letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% + \global\letcs{\@gls@location}{glo@\glsdetoklabel{#1}@\GlsXtrLocationField}% + \gls@level=\numexpr\csuse{glo@\glsdetoklabel{#1}@level}+\@glsxtr@leveloffset\relax + \ifnum\gls@level>0 + \let\@glsxtr@ifischild\@firstoftwo + \else + \let\@glsxtr@ifischild\@secondoftwo + \fi + \@glsxtr@ifischild + {% + \ifdefvoid{\@gls@location}% + {% + \ifdefvoid{\@gls@loclist}% + {% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}{}% + }% + {% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}% + {% + \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% + }% + }% + }% + {% + \expandafter\subglossentry\expandafter + {\number\gls@level}{#1}{\glossaryentrynumbers{\@gls@location}}% + }% + }% + {% + \ifdefvoid{\@gls@location}% + {% + \ifdefvoid{\@gls@loclist} + {% + \glossentry{#1}{}% + }% + {% + \glossentry{#1}% + {% + \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% + }% + }% + }% + {% + \glossentry{#1}% + {% + \glossaryentrynumbers{\@gls@location}% + }% + }% + }% + }% + {}% +} +\newcount\@glsxtrnewgls@inner +\newcommand*{\@glsxtr@providenewgls}{% + \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@newglslike}[2]{}}% + \let\@glsxtr@providenewgls\relax +} +\newcommand{\glsxtridentifyglslike}[2]{% + \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off + {}% + {% + \@glsxtr@providenewgls + \protected@write\@auxout{}{\string\@glsxtr@newglslike{#1}{\string#2}}% + }% +} +\newcommand*{\@glsxtrnewgls}[4]{% + \ifdef{#3}% + {% + \PackageError{glossaries-extra}{Command \string#3\space already +defined}{}% + }% + {% + \glsxtridentifyglslike{#2}{#3}% + \ifcsdef{@#4like@#2}% + {% + \advance\@glsxtrnewgls@inner by \@ne + \def\@glsxtrnewgls@innercsname{@#4like\number\@glsxtrnewgls@inner @#2}% + }% + {\def\@glsxtrnewgls@innercsname{@#4like@#2}}% + \expandafter\newrobustcmd\expandafter*\expandafter + #3\expandafter{\expandafter\@gls@hyp@opt\csname\@glsxtrnewgls@innercsname\endcsname}% + \ifstrempty{#1}% + {% + \expandafter\newcommand\expandafter*\csname\@glsxtrnewgls@innercsname\endcsname[2][]{% + \new@ifnextchar[% + {\csname @#4@\endcsname{##1}{#2##2}}% + {\csname @#4@\endcsname{##1}{#2##2}[]}% + }% + }% + {% + \expandafter\newcommand\expandafter*\csname\@glsxtrnewgls@innercsname\endcsname[2][]{% + \new@ifnextchar[% + {\csname @#4@\endcsname{#1,##1}{#2##2}}% + {\csname @#4@\endcsname{#1,##1}{#2##2}[]}% + }% + }% + }% +} +\newrobustcmd*{\glsxtrnewgls}[3][]{% + \@glsxtrnewgls{#1}{#2}{#3}{gls}% +} +\newrobustcmd*{\glsxtrnewglslike}[6][]{% + \@glsxtrnewgls{#1}{#2}{#3}{gls}% + \@glsxtrnewgls{#1}{#2}{#4}{glspl}% + \@glsxtrnewgls{#1}{#2}{#5}{Gls}% + \@glsxtrnewgls{#1}{#2}{#6}{Glspl}% +} +\newrobustcmd*{\glsxtrnewGLSlike}[4][]{% + \@glsxtrnewgls{#1}{#2}{#3}{GLS}% + \@glsxtrnewgls{#1}{#2}{#4}{GLSpl}% +} +\newrobustcmd*{\glsxtrnewrgls}[3][]{% + \@glsxtrnewgls{#1}{#2}{#3}{rgls}% +} +\newrobustcmd*{\glsxtrnewrglslike}[6][]{% + \@glsxtrnewgls{#1}{#2}{#3}{rgls}% + \@glsxtrnewgls{#1}{#2}{#4}{rglspl}% + \@glsxtrnewgls{#1}{#2}{#5}{rGls}% + \@glsxtrnewgls{#1}{#2}{#6}{rGlspl}% +} +\newrobustcmd*{\glsxtrnewrGLSlike}[4][]{% + \@glsxtrnewgls{#1}{#2}{#3}{rGLS}% + \@glsxtrnewgls{#1}{#2}{#4}{rGLSpl}% +} +\newcommand*{\GlsXtrTotalRecordCount}[1]{% + \ifcsdef{glo@\glsdetoklabel{#1}@recordcount}% + {\csname glo@\glsdetoklabel{#1}@recordcount\endcsname}% + {0}% +} +\newcommand*{\GlsXtrRecordCount}[2]{% + \ifcsdef{glo@\glsdetoklabel{#1}@recordcount.#2}% + {\csname glo@\glsdetoklabel{#1}@recordcount.#2\endcsname}% + {0}% +} +\newcommand*{\GlsXtrLocationRecordCount}[3]{% + \ifcsdef{glo@\glsdetoklabel{#1}@recordcount.#2.\glsxtrdetoklocation{#3}}% + {\csname glo@\glsdetoklabel{#1}@recordcount.#2.\glsxtrdetoklocation{#3}\endcsname}% + {0}% +} +\newcommand*{\glsxtrdetoklocation}[1]{#1} +\newcommand*{\glsxtrenablerecordcount}{% + \renewcommand*{\gls}{\rgls}% + \renewcommand*{\Gls}{\rGls}% + \renewcommand*{\glspl}{\rglspl}% + \renewcommand*{\Glspl}{\rGlspl}% + \renewcommand*{\GLS}{\rGLS}% + \renewcommand*{\GLSpl}{\rGLSpl}% +} +\newcommand*{\glsxtrrecordtriggervalue}[1]{% + \GlsXtrTotalRecordCount{#1}% +} +\newcommand*{\GlsXtrSetRecordCountAttribute}[2]{% + \@for\@glsxtr@cat:=#1\do + {% + \ifdefempty{\@glsxtr@cat}{}% + {% + \glssetcategoryattribute{\@glsxtr@cat}{recordcount}{#2}% + }% + }% +} +\newcommand*{\glsxtrifrecordtrigger}[3]{% + \glshasattribute{#1}{recordcount}% + {% + \ifnum\glsxtrrecordtriggervalue{#1}>\glsgetattribute{#1}{recordcount}\relax + #3% + \else + #2% + \fi + }% + {#3}% +} +\newcommand*{\@glsxtr@rglstrigger@record}[3]{% + \protected@edef\glslabel{\glsdetoklabel{#2}}% + \let\@gls@link@label\glslabel + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% + \def\@glsnumberformat{glstriggerrecordformat}% + \protected@edef\@gls@counter{\csname glo@\glslabel @counter\endcsname}% + \protected@edef\glstype{\csname glo@\glslabel @type\endcsname}% + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% + \@gls@save@glslocal + \glsxtrinitwrgloss + \glslinkpresetkeys + \setkeys{glslink}{#1}% + \glslinkpostsetkeys + \ifdefempty{\@glsxtr@thevalue}% + {% + \@gls@saveentrycounter + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \def\theHglsentrycounter{\@glsxtr@theHvalue}% + }% + \glslinkwrcontent + {% + \ifglsxtrinitwrglossbefore + \@do@wrglossary{#2}% + \fi + #3% + \ifglsxtrinitwrglossbefore + \else + \@do@wrglossary{#2}% + \fi + }% + \@gls@restore@glslocal + \@gls@do@glsunset{#2}% +} +\newcommand*{\glstriggerrecordformat}[1]{} +\newrobustcmd*{\rgls}{\@gls@hyp@opt\@rgls} +\newcommand*{\@rgls}[2][]{% + \new@ifnextchar[{\@rgls@{#1}{#2}}{\@rgls@{#1}{#2}[]}% +} +\def\@rgls@#1#2[#3]{% + \glsxtrifrecordtrigger{#2}% + {% + \@glsxtr@rglstrigger@record{#1}{#2}{\rglsformat{#2}{#3}}% + }% + {% + \@gls@{#1}{#2}[#3]% + }% +}% +\newrobustcmd*{\rglspl}{\@gls@hyp@opt\@rglspl} +\newcommand*{\@rglspl}[2][]{% + \new@ifnextchar[{\@rglspl@{#1}{#2}}{\@rglspl@{#1}{#2}[]}% +} +\def\@rglspl@#1#2[#3]{% + \glsxtrifrecordtrigger{#2}% + {% + \@glsxtr@rglstrigger@record{#1}{#2}{\rglsplformat{#2}{#3}}% + }% + {% + \@glspl@{#1}{#2}[#3]% + }% +}% +\newrobustcmd*{\rGls}{\@gls@hyp@opt\@rGls} +\newcommand*{\@rGls}[2][]{% + \new@ifnextchar[{\@rGls@{#1}{#2}}{\@rGls@{#1}{#2}[]}% +} +\def\@rGls@#1#2[#3]{% + \glsxtrifrecordtrigger{#2}% + {% + \@glsxtr@rglstrigger@record{#1}{#2}{\rGlsformat{#2}{#3}}% + }% + {% + \@Gls@{#1}{#2}[#3]% + }% +}% +\newrobustcmd*{\rGlspl}{\@gls@hyp@opt\@rGlspl} +\newcommand*{\@rGlspl}[2][]{% + \new@ifnextchar[{\@rGlspl@{#1}{#2}}{\@rGlspl@{#1}{#2}[]}% +} +\def\@rGlspl@#1#2[#3]{% + \glsxtrifrecordtrigger{#2}% + {% + \@glsxtr@rglstrigger@record{#1}{#2}{\rGlsplformat{#2}{#3}}% + }% + {% + \@Glspl@{#1}{#2}[#3]% + }% +}% +\newrobustcmd*{\rGLS}{\@gls@hyp@opt\@rGLS} +\newcommand*{\@rGLS}[2][]{% + \new@ifnextchar[{\@rGLS@{#1}{#2}}{\@rGLS@{#1}{#2}[]}% +} +\def\@rGLS@#1#2[#3]{% + \glsxtrifrecordtrigger{#2}% + {% + \@glsxtr@rglstrigger@record{#1}{#2}{\rGLSformat{#2}{#3}}% + }% + {% + \@GLS@{#1}{#2}[#3]% + }% +}% +\newrobustcmd*{\rGLSpl}{\@gls@hyp@opt\@rGLSpl} +\newcommand*{\@rGLSpl}[2][]{% + \new@ifnextchar[{\@rGLSpl@{#1}{#2}}{\@rGLSpl@{#1}{#2}[]}% +} +\def\@rGLSpl@#1#2[#3]{% + \glsxtrifrecordtrigger{#2}% + {% + \@glsxtr@rglstrigger@record{#1}{#2}{\rGLSplformat{#2}{#3}}% + }% + {% + \@GLSpl@{#1}{#2}[#3]% + }% +}% +\newcommand*{\rglsformat}[2]{% + \glsifregular{#1} + {\glsentryfirst{#1}}% + {\ifglshaslong{#1}{\glsentrylong{#1}}{\glsentryfirst{#1}}}#2% +} +\newcommand*{\rglsplformat}[2]{% + \glsifregular{#1} + {\glsentryfirstplural{#1}}% + {\ifglshaslong{#1}{\glsentrylongplural{#1}}{\glsentryfirstplural{#1}}}#2% +} +\newcommand*{\rGlsformat}[2]{% + \glsifregular{#1} + {\Glsentryfirst{#1}}% + {\ifglshaslong{#1}{\Glsentrylong{#1}}{\Glsentryfirst{#1}}}#2% +} +\newcommand*{\rGlsplformat}[2]{% + \glsifregular{#1} + {\Glsentryfirstplural{#1}}% + {\ifglshaslong{#1}{\Glsentrylongplural{#1}}{\Glsentryfirstplural{#1}}}#2% +} +\newcommand*{\rGLSformat}[2]{% + \expandafter\mfirstucMakeUppercase\expandafter{\rglsformat{#1}{#2}}% +} +\newcommand*{\rGLSplformat}[2]{% + \expandafter\mfirstucMakeUppercase\expandafter{\rglsplformat{#1}{#2}}% +} +\newcommand{\@glsxtr@do@inc@linkcount}{% + \glsifattribute{\glslabel}{linkcount}{true}% + {% + \ifcsdef{c@glsxtr@linkcount@\glslabel}{}% + {% + \newcounter{glsxtr@linkcount@\glslabel}% + \glshasattribute{\glslabel}{linkcountmaster}% + {% + \begingroup + \edef\@glo@tmp{\endgroup\noexpand\@addtoreset{glsxtr@linkcount@\glslabel}% + {\glsgetattribute{\glslabel}{linkcountmaster}}}% + \@glo@tmp + }% + {}% + }% + \glsxtrinclinkcounter{glsxtr@linkcount@\glslabel}% + }% + {}% +} +\newcommand*{\glsxtrinclinkcounter}[1]{\stepcounter{#1}} +\newcommand*{\GlsXtrLinkCounterValue}[1]{% + \ifcsundef{c@glsxtr@linkcount@#1}{0}{\csname c@glsxtr@linkcount@#1\endcsname}% +} +\newcommand*{\GlsXtrTheLinkCounter}[1]{% + \ifcsundef{theglsxtr@linkcount@#1}{0}% + {\csname theglsxtr@linkcount@#1\endcsname}% +} +\newcommand*{\GlsXtrIfLinkCounterDef}[3]{% + \ifcsundef{theglsxtr@linkcount@#1}{#3}{#2}% +} +\newcommand*{\GlsXtrLinkCounterName}[1]{glsxtr@linkcount@#1} +\newcommand*{\GlsXtrEnableLinkCounting}[2][]{% + \let\glsxtr@inc@linkcount\@glsxtr@do@inc@linkcount + \@for\@glsxtr@label:=#2\do + {% + \glssetcategoryattribute{\@glsxtr@label}{linkcount}{true}% + \ifstrempty{#1}{}% + {% + \ifcsundef{c@#1}% + {\@nocounterr{#1}}% + {\glssetcategoryattribute{\@glsxtr@label}{linkcountmaster}{#1}}% + }% + }% +} +\@onlypreamble\GlsXtrEnableLinkCounting +\@ifpackageloaded{glossaries-accsupp} +{ + \newcommand*{\glsaccessname}[1]{% + \glsnameaccessdisplay + {% + \glsentryname{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessname}[1]{% + \glsnameaccessdisplay + {% + \Glsentryname{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessname}[1]{% + \glsnameaccessdisplay + {% + \mfirstucMakeUppercase{\glsentryname{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccesstext}[1]{% + \glstextaccessdisplay + {% + \glsentrytext{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccesstext}[1]{% + \glstextaccessdisplay + {% + \Glsentrytext{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccesstext}[1]{% + \glstextaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrytext{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessplural}[1]{% + \glspluralaccessdisplay + {% + \glsentryplural{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessplural}[1]{% + \glspluralaccessdisplay + {% + \Glsentryplural{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessplural}[1]{% + \glspluralaccessdisplay + {% + \mfirstucMakeUppercase{\glsentryplural{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessfirst}[1]{% + \glsfirstaccessdisplay + {% + \glsentryfirst{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessfirst}[1]{% + \glsfirstaccessdisplay + {% + \Glsentryfirst{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessfirst}[1]{% + \glsfirstaccessdisplay + {% + \mfirstucMakeUppercase{\glsentryfirst{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessfirstplural}[1]{% + \glsfirstpluralaccessdisplay + {% + \glsentryfirstplural{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessfirstplural}[1]{% + \glsfirstpluralaccessdisplay + {% + \Glsentryfirstplural{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessfirstplural}[1]{% + \glsfirstpluralaccessdisplay + {% + \mfirstucMakeUppercase{\glsentryfirstplural{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccesssymbol}[1]{% + \glssymbolaccessdisplay + {% + \glsentrysymbol{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccesssymbol}[1]{% + \glssymbolaccessdisplay + {% + \Glsentrysymbol{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccesssymbol}[1]{% + \glssymbolaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrysymbol{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccesssymbolplural}[1]{% + \glssymbolpluralaccessdisplay + {% + \glsentrysymbolplural{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccesssymbolplural}[1]{% + \glssymbolpluralaccessdisplay + {% + \Glsentrysymbolplural{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccesssymbolplural}[1]{% + \glssymbolpluralaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrysymbolplural{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessdesc}[1]{% + \glsdescriptionaccessdisplay + {% + \glsentrydesc{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessdesc}[1]{% + \glsdescriptionaccessdisplay + {% + \Glsentrydesc{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessdesc}[1]{% + \glsdescriptionaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrydesc{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessdescplural}[1]{% + \glsdescriptionpluralaccessdisplay + {% + \glsentrydescplural{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessdescplural}[1]{% + \glsdescriptionpluralaccessdisplay + {% + \Glsentrydescplural{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessdescplural}[1]{% + \glsdescriptionpluralaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrydescplural{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessshort}[1]{% + \glsshortaccessdisplay + {% + \glsentryshort{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessshort}[1]{% + \glsshortaccessdisplay + {% + \Glsentryshort{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessshort}[1]{% + \glsshortaccessdisplay + {% + \mfirstucMakeUppercase{\glsentryshort{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccessshortpl}[1]{% + \glsshortpluralaccessdisplay + {% + \glsentryshortpl{#1}% + }% + {#1}% + } + \newcommand*{\Glsaccessshortpl}[1]{% + \glsshortpluralaccessdisplay + {% + \Glsentryshortpl{#1}% + }% + {#1}% + } + \newcommand*{\GLSaccessshortpl}[1]{% + \glsshortpluralaccessdisplay + {% + \mfirstucMakeUppercase{\glsentryshortpl{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccesslong}[1]{% + \glslongaccessdisplay{\glsentrylong{#1}}{#1}% + } + + \newcommand*{\Glsaccesslong}[1]{% + \glslongaccessdisplay{\Glsentrylong{#1}}{#1}% + } + \newcommand*{\GLSaccesslong}[1]{% + \glslongaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrylong{#1}}% + }% + {#1}% + } + \newcommand*{\glsaccesslongpl}[1]{% + \glslongpluralaccessdisplay{\glsentrylongpl{#1}}{#1}% + } + + \newcommand*{\Glsaccesslongpl}[1]{% + \glslongpluralaccessdisplay{\Glsentrylongpl{#1}}{#1}% + } + \newcommand*{\GLSaccesslongpl}[1]{% + \glslongpluralaccessdisplay + {% + \mfirstucMakeUppercase{\glsentrylongpl{#1}}% + }% + {#1}% + } + \define@key{glsxtrabbrv}{access}{% + \def\@gls@nameaccess{#1}% + } + \define@key{glsxtrabbrv}{textaccess}{% + \def\@gls@textaccess{#1}% + } + \define@key{glsxtrabbrv}{pluralaccess}{% + \def\@gls@pluralaccess{#1}% + } + \define@key{glsxtrabbrv}{firstaccess}{% + \def\@gls@firstaccess{#1}% + } + \define@key{glsxtrabbrv}{firstpluralaccess}{% + \def\@gls@firstpluralaccess{#1}% + } + \define@key{glsxtrabbrv}{shortaccess}{% + \def\@gls@shortaccess{#1}% + } + \define@key{glsxtrabbrv}{shortpluralaccess}{% + \def\@gls@shortaccesspl{#1}% + } + \define@key{glsxtrabbrv}{longaccess}{% + \def\@gls@longaccess{#1}% + } + \define@key{glsxtrabbrv}{shortlonglaccess}{% + \def\@gls@longaccesspl{#1}% + } + \newcommand*{\@gls@initaccesskeys}{% + \def\@gls@nameaccess{}% + \def\@gls@textaccess{}% + \def\@gls@pluralaccess{}% + \def\@gls@firstaccess{}% + \def\@gls@firstpluralaccess{}% + \def\@gls@shortaccess{}% + \def\@gls@shortaccesspl{}% + \def\@gls@longaccess{}% + \def\@gls@longaccesspl{}% + } +\newcommand*{\@gls@ifaccessattribute@set}[3]{% + \glsifcategoryattribute{\glscategorylabel}{access#1}{true}% + {#2}% + {% + \glsifcategoryattribute{\glscategorylabel}{access#1}{false}% + {#3}% + {% + \glsifcategoryattribute{\glscategorylabel}{#1}{true}% + {#2}% + {#3}% + }% + }% +} + \def\glsdefaultshortaccess#1#2{#1 (#2)} + \newcommand{\glsxtrassignactualsetup}{% + \let\@\empty + \let\emph\@firstofone + \let\textbf\@firstofone + \let\textmd\@firstofone + \let\textit\@firstofone + \let\textsl\@firstofone + \let\textsc\@firstofone + \let\textrm\@firstofone + \let\textsf\@firstofone + \let\texttt\@firstofone + } + \ifdef\pdfstringdef + { + \newcommand{\@gls@assign@actual}{% + \begingroup + \glsxtrassignactualsetup + \pdfstringdef\@gls@actualshort{\glsxtrorgshort}% + \pdfstringdef\@gls@actuallong{\glsxtrorglong}% + \pdfstringdef\@gls@actualshortpl{\@gls@shortpl}% + \pdfstringdef\@gls@actuallongpl{\@gls@longpl}% + \protected@edef\@gls@tmp{\endgroup + \def\noexpand\@gls@actualshort{\expandonce\@gls@actualshort}% + \def\noexpand\@gls@actuallong{\expandonce\@gls@actuallong}% + \def\noexpand\@gls@actualshortpl{\expandonce\@gls@actualshortpl}% + \def\noexpand\@gls@actuallongpl{\expandonce\@gls@actuallongpl}% + }% + \@gls@tmp + } + } + { + \newcommand{\@gls@assign@actual}{% + \begingroup + \glsxtrassignactualsetup + \protected@edef\@gls@tmp{\endgroup + \def\noexpand\@gls@actualshort{\glsxtrorgshort}% + \def\noexpand\@gls@actuallong{\glsxtrorglong}% + \def\noexpand\@gls@actualshortpl{\@gls@shortpl}% + \def\noexpand\@gls@actuallongpl{\@gls@longpl}% + }% + \@gls@tmp + } + } + \newcommand{\@gls@setup@default@access}{% + \@gls@assign@actual + \ifdefempty\@gls@shortaccess + {% + \@gls@ifaccessattribute@set{insertdots}% + {% + \expandafter\@glsxtr@insertdots\expandafter\@gls@actualshort\expandafter + {\@gls@actualshort}% + }% + {}% + \ifdefempty\@gls@longaccess + {% + \protected@edef\@gls@shortaccess{\glsdefaultshortaccess + {\expandonce\@gls@actuallong}{\expandonce\@gls@actualshort}}% + }% + {% + \protected@edef\@gls@shortaccess{\glsdefaultshortaccess + {\expandonce\@gls@longaccess}{\expandonce\@gls@actualshort}}% + }% + \eappto\ExtraCustomAbbreviationFields{shortaccess={\@gls@shortaccess},}% + \ifdefempty\@gls@shortaccesspl + {% + \@gls@ifaccessattribute@set{aposplural}% + {% + \expandafter\def\expandafter\@gls@shortaccesspl\expandafter{% + \@gls@actualshort'\glsxtrabbrvpluralsuffix}% + }% + {% + \@gls@ifaccessattribute@set{noshortplural}% + {% + \let\@gls@shortaccesspl\@gls@shortaccess + }% + {% + \let\@gls@shortaccesspl\@gls@actualshortpl + }% + }% + \ifdefempty\@gls@longaccesspl + {% + \protected@edef\@gls@shortaccesspl{\glsdefaultshortaccess + {\expandonce\@gls@actuallongpl}{\expandonce\@gls@actualshortpl}}% + }% + {% + \protected@edef\@gls@shortaccesspl{\glsdefaultshortaccess + {\expandonce\@gls@longaccesspl}{\expandonce\@gls@actualshort}}% + }% + \eappto\ExtraCustomAbbreviationFields{shortpluralaccess={\@gls@shortaccesspl},}% + }% + {}% + }% + {% + \ifdefempty\@gls@shortaccesspl + {\let\@gls@shortaccesspl\@gls@shortaccess}% + {}% + }% + \ifdefempty\@gls@nameaccess + {% + \glsifcategoryattribute{\glscategorylabel}{nameshortaccess}{true}% + {% + \eappto\ExtraCustomAbbreviationFields{access={\@gls@shortaccess},}% + }% + {}% + }% + {}% + \ifdefempty\@gls@textaccess + {% + \glsifcategoryattribute{\glscategorylabel}{textshortaccess}{true}% + {% + \eappto\ExtraCustomAbbreviationFields{textaccess={\@gls@shortaccess},}% + }% + {}% + }% + {}% + \ifdefempty\@gls@pluralaccess + {% + \glsifcategoryattribute{\glscategorylabel}{textshortaccess}{true}% + {% + \eappto\ExtraCustomAbbreviationFields{% + pluralaccess={\@gls@shortaccesspl},% + }% + }% + {}% + }% + {}% + \ifdefempty\@gls@firstaccess + {% + \glsifcategoryattribute{\glscategorylabel}{firstshortaccess}{true}% + {% + \eappto\ExtraCustomAbbreviationFields{firstaccess={\@gls@shortaccess},}% + }% + {}% + }% + {}% + \ifdefempty\@gls@firstpluralaccess + {% + \glsifcategoryattribute{\glscategorylabel}{firstshortaccess}{true}% + {% + \eappto\ExtraCustomAbbreviationFields{% + firstpluralaccess={\@gls@shortaccesspl},% + }% + }% + {}% + }% + {}% + } + \newcommand*{\glsxtrprovideaccsuppcmd}[2]{% + \ifcsundef{glsxtr#1#2accsupp}% + {\csdef{glsxtr#1#2accsupp}{\glsshortaccsupp}}% + {}% + } + \newcommand*{\glsxtrAccSuppAbbrSetNoLongAttrs}[1]{% + \glssetcategoryattribute{#1}{nameshortaccess}{true}% + \glssetcategoryattribute{#1}{firstshortaccess}{true}% + \glssetcategoryattribute{#1}{textshortaccess}{true}% + \glsxtrprovideaccsuppcmd{#1}{name}% + \glsxtrprovideaccsuppcmd{#1}{first}% + \glsxtrprovideaccsuppcmd{#1}{firstpl}% + \glsxtrprovideaccsuppcmd{#1}{text}% + \glsxtrprovideaccsuppcmd{#1}{plural}% + } + \newcommand*{\glsxtrAccSuppAbbrSetFirstLongAttrs}[1]{% + \glssetcategoryattribute{#1}{nameshortaccess}{true}% + \glssetcategoryattribute{#1}{textshortaccess}{true}% + \glsxtrprovideaccsuppcmd{#1}{name}% + \glsxtrprovideaccsuppcmd{#1}{text}% + \glsxtrprovideaccsuppcmd{#1}{plural}% + } + \newcommand*{\glsxtrAccSuppAbbrSetTextShortAttrs}[1]{% + \glssetcategoryattribute{#1}{textshortaccess}{true}% + \glsxtrprovideaccsuppcmd{#1}{text}% + \glsxtrprovideaccsuppcmd{#1}{plural}% + } + \newcommand*{\glsxtrAccSuppAbbrSetNameShortAttrs}[1]{% + \glssetcategoryattribute{#1}{nameshortaccess}{true}% + \glsxtrprovideaccsuppcmd{#1}{name}% + } + \newcommand*{\glsxtrAccSuppAbbrSetNameLongAttrs}[1]{% + \glssetcategoryattribute{#1}{firstshortaccess}{true}% + \glssetcategoryattribute{#1}{textshortaccess}{true}% + \glsxtrprovideaccsuppcmd{#1}{first}% + \glsxtrprovideaccsuppcmd{#1}{firstpl}% + \glsxtrprovideaccsuppcmd{#1}{text}% + \glsxtrprovideaccsuppcmd{#1}{plural}% + } +} +{ + \newcommand*{\glsaccessname}[1]{\glsentryname{#1}} + \newcommand*{\Glsaccessname}[1]{\Glsentryname{#1}} + \newcommand*{\GLSaccessname}[1]{% + \protect\mfirstucMakeUppercase{\glsentryname{#1}}} + \newcommand*{\glsaccesstext}[1]{\glsentrytext{#1}} + \newcommand*{\Glsaccesstext}[1]{\Glsentrytext{#1}} + \newcommand*{\GLSaccesstext}[1]{% + \protect\mfirstucMakeUppercase{\glsentrytext{#1}}} + \newcommand*{\glsaccessplural}[1]{\glsentryplural{#1}} + \newcommand*{\Glsaccessplural}[1]{\Glsentryplural{#1}} + \newcommand*{\GLSaccessplural}[1]{% + \protect\mfirstucMakeUppercase{\glsentryplural{#1}}} + \newcommand*{\glsaccessfirst}[1]{\glsentryfirst{#1}} + \newcommand*{\Glsaccessfirst}[1]{\Glsentryfirst{#1}} + \newcommand*{\GLSaccessfirst}[1]{% + \protect\mfirstucMakeUppercase{\glsentryfirst{#1}}} + \newcommand*{\glsaccessfirstplural}[1]{\glsentryfirstplural{#1}} + \newcommand*{\Glsaccessfirstplural}[1]{\Glsentryfirstplural{#1}} + \newcommand*{\GLSaccessfirstplural}[1]{% + \protect\mfirstucMakeUppercase{\glsentryfirstplural{#1}}} + \newcommand*{\glsaccesssymbol}[1]{\glsentrysymbol{#1}} + \newcommand*{\Glsaccesssymbol}[1]{\Glsentrysymbol{#1}} + \newcommand*{\GLSaccesssymbol}[1]{% + \protect\mfirstucMakeUppercase{\glsentrysymbol{#1}}} + \newcommand*{\glsaccesssymbolplural}[1]{\glsentrysymbolplural{#1}} + \newcommand*{\Glsaccesssymbolplural}[1]{\Glsentrysymbolplural{#1}} + \newcommand*{\GLSaccesssymbolplural}[1]{% + \protect\mfirstucMakeUppercase{\glsentrysymbolplural{#1}}} + \newcommand*{\glsaccessdesc}[1]{\glsentrydesc{#1}} + \newcommand*{\Glsaccessdesc}[1]{\Glsentrydesc{#1}} + \newcommand*{\GLSaccessdesc}[1]{% + \protect\mfirstucMakeUppercase{\glsentrydesc{#1}}} + \newcommand*{\glsaccessdescplural}[1]{\glsentrydescplural{#1}} + \newcommand*{\Glsaccessdescplural}[1]{\Glsentrydescplural{#1}} + \newcommand*{\GLSaccessdescplural}[1]{% + \protect\mfirstucMakeUppercase{\glsentrydescplural{#1}}} + \newcommand*{\glsaccessshort}[1]{\glsentryshort{#1}} + \newcommand*{\Glsaccessshort}[1]{\Glsentryshort{#1}} + \newcommand*{\GLSaccessshort}[1]{% + \protect\mfirstucMakeUppercase{\glsentryshort{#1}}} + \newcommand*{\glsaccessshortpl}[1]{\glsentryshortpl{#1}} + \newcommand*{\Glsaccessshortpl}[1]{\Glsentryshortpl{#1}} + \newcommand*{\GLSaccessshortpl}[1]{% + \protect\mfirstucMakeUppercase{\glsentryshortpl{#1}}} + \newcommand*{\glsaccesslong}[1]{\glsentrylong{#1}} + \newcommand*{\Glsaccesslong}[1]{\Glsentrylong{#1}} + \newcommand*{\GLSaccesslong}[1]{% + \protect\mfirstucMakeUppercase{\glsentrylong{#1}}} + \newcommand*{\glsaccesslongpl}[1]{\glsentrylongpl{#1}} + \newcommand*{\Glsaccesslongpl}[1]{\Glsentrylongpl{#1}} + \newcommand*{\GLSaccesslongpl}[1]{% + \protect\mfirstucMakeUppercase{\glsentrylongpl{#1}}} + \newcommand*{\@gls@initaccesskeys}{} + \newcommand{\@gls@setup@default@access}{} + \newcommand*{\glsxtrAccSuppAbbrSetNoLongAttrs}[1]{} + \newcommand*{\glsxtrAccSuppAbbrSetFirstLongAttrs}[1]{} + \newcommand*{\glsxtrAccSuppAbbrSetTextShortAttrs}[1]{} + \newcommand*{\glsxtrAccSuppAbbrSetNameShortAttrs}[1]{} + \newcommand*{\glsxtrAccSuppAbbrSetNameLongAttrs}[1]{} +} +\glsaddstoragekey{category}{general}{\glscategory} +\newcommand{\glsifcategory}[4]{% + \ifglsfieldeq{#1}{category}{#2}{#3}{#4}% +} +\newcommand*{\glssetcategoryattribute}[3]{% + \csdef{@glsxtr@categoryattr@@#1@#2}{#3}% +} +\newcommand*{\glssetcategoriesattribute}[3]{% + \@for\@gls@thiscatlabel:=#1\do{% + \csgdef{@glsxtr@categoryattr@@\@gls@thiscatlabel @#2}{#3}% + }% +} +\newcommand*{\glssetcategoriesattributes}[3]{% + {% + \@for\@gls@thisattrlabel:=#2\do{% + \glssetcategoriesattribute{#1}{\@gls@thisattrlabel}{#3}% + }% + }% +} +\newcommand*{\glsgetcategoryattribute}[2]{% + \csuse{@glsxtr@categoryattr@@#1@#2}% +} +\newcommand*{\glsunsetcategoryattribute}[2]{% + \csundef{@glsxtr@categoryattr@@#1@#2}% +} +\newcommand*{\glshascategoryattribute}[4]{% + \ifcsvoid{@glsxtr@categoryattr@@#1@#2}{#4}{#3}% +} +\newcommand*{\glssetattribute}[3]{% + \glssetcategoryattribute{\glscategory{#1}}{#2}{#3}% +} +\newcommand*{\glsgetattribute}[2]{% + \glsgetcategoryattribute{\glscategory{#1}}{#2}% +} +\newcommand*{\glshasattribute}[4]{% + \ifglsentryexists{#1}% + {\glshascategoryattribute{\glscategory{#1}}{#2}{#3}{#4}}% + {#4}% +} +\newcommand{\glsifcategoryattribute}[5]{% + \ifcsundef{@glsxtr@categoryattr@@#1@#2}% + {#5}% + {\ifcsstring{@glsxtr@categoryattr@@#1@#2}{#3}{#4}{#5}}% +} +\newcommand{\glsifattribute}[5]{% + \ifglsentryexists{#1}% + {\glsifcategoryattribute{\glscategory{#1}}{#2}{#3}{#4}{#5}}% + {#5}% +} +\glssetcategoryattribute{general}{regular}{true} +\glssetcategoryattribute{acronym}{regular}{true} +\newcommand*{\glssetregularcategory}[1]{% + \glssetcategoryattribute{#1}{regular}{true}% +} +\newcommand{\glsifregularcategory}[3]{% + \glsifcategoryattribute{#1}{regular}{true}{#2}{#3}% +} +\newcommand{\glsifnotregularcategory}[3]{% + \glsifcategoryattribute{#1}{regular}{false}{#2}{#3}% +} +\newcommand{\glsifregular}[3]{% + \glsifregularcategory{\glscategory{#1}}{#2}{#3}% +} +\newcommand{\glsifnotregular}[3]{% + \glsifnotregularcategory{\glscategory{#1}}{#2}{#3}% +} +\newcommand{\glsforeachincategory}[5][\@glo@types]{% + \forallglossaries[#1]{#3}% + {% + \forglsentries[#3]{#4}% + {% + \glsifcategory{#4}{#2}{#5}{}% + }% + }% +} +\newcommand{\glsforeachwithattribute}[6][\@glo@types]{% + \forallglossaries[#1]{#4}% + {% + \forglsentries[#4]{#5}% + {% + \glsifattribute{#5}{#2}{#3}{#6}{}% + }% + }% +} +\ifdef\newterm +{% + \renewcommand*{\newterm}[2][]{% + \newglossaryentry{#2}% + {type={index},category=index,name={#2},% + description={\glsxtrpostdescription\nopostdesc},#1}% + } + \glssetcategoryattribute{index}{regular}{true} + \newcommand*{\glsxtrpostdescindex}{} +} +{} +\ifdef\printsymbols +{% + \newcommand*{\glsxtrnewsymbol}[3][]{% + \newglossaryentry{#2}{name={#3},sort={#2},type=symbols,category=symbol,#1}% + } + \glssetcategoryattribute{symbol}{regular}{true} + \newcommand*{\glsxtrpostdescsymbol}{} +} +{} +\ifdef\printnumbers +{% +\ifdef\printnumbers + \newcommand*{\glsxtrnewnumber}[3][]{% + \newglossaryentry{#2}{name={#3},sort={#2},type=numbers,category=number,#1}% + } + \glssetcategoryattribute{number}{regular}{true} + \newcommand*{\glsxtrpostdescnumber}{} +} +{} +\newcommand*{\glsxtrsetcategory}[2]{% + \@for\@glsxtr@label:=#1\do + {% + \glsfieldxdef{\@glsxtr@label}{category}{#2}% + }% +} +\newcommand*{\glsxtrsetcategoryforall}[2]{% + \forallglossaries[#1]{\@glsxtr@type}{% + \forglsentries[\@glsxtr@type]{\@glsxtr@label}% + {% + \glsfieldxdef{\@glsxtr@label}{category}{#2}% + }% + }% +} +\newcommand*{\glsxtrfieldtitlecase}[2]{% + \expandafter\glsxtrfieldtitlecasecs\expandafter + {\csname glo@\glsdetoklabel{#1}@#2\endcsname}% +} +\ifdef\glscapitalisewords +{ + \newcommand*{\glsxtrfieldtitlecasecs}[1]{% + \expandafter\glscapitalisewords\expandafter{#1}} +} +{ + \newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisewords{#1}} +} +\@ifpackageloaded{glossaries-accsupp} +{ + \renewcommand*{\glossentrydesc}[1]{% + \glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossdescfont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossdescfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossdescfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossdescfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glossdescfont\@firstofone + }% + }% + {\let\@glsxtr@glossdescfont\@firstofone}% + \glsifattribute{#1}{glossdesc}{firstuc}% + {% + \@glsxtr@glossdescfont{\Glsaccessdesc{#1}}% + }% + {% + \glsifattribute{#1}{glossdesc}{title}% + {% + \@glsxtr@do@titlecaps@warn + \glsdescriptionaccessdisplay + {% + \@glsxtr@glossdescfont{\glsxtrfieldtitlecase{#1}{desc}}% + }% + {#1}% + }% + {% + \@glsxtr@glossdescfont{\glsaccessdesc{#1}}% + }% + }% + }% + } +} +{ + \renewcommand*{\glossentrydesc}[1]{% + \glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossdescfont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossdescfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossdescfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossdescfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glossdescfont\@firstofone + }% + }% + {\let\@glsxtr@glossdescfont\@firstofone}% + \glsifattribute{#1}{glossdesc}{firstuc}% + {% + \@glsxtr@glossdescfont{\Glsentrydesc{#1}}% + }% + {% + \glsifattribute{#1}{glossdesc}{title}% + {% + \@glsxtr@do@titlecaps@warn + \@glsxtr@glossdescfont{\glsxtrfieldtitlecase{#1}{desc}}% + }% + {% + \@glsxtr@glossdescfont{\glsentrydesc{#1}}% + }% + }% + }% + } +} +\@ifpackageloaded{glossaries-accsupp} +{ + \renewcommand*{\glossentryname}[1]{% + \@glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \glsifattribute{#1}{glossname}{firstuc}% + {% + \glsnameaccessdisplay + {% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% + }% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{title}% + {% + \@glsxtr@do@titlecaps@warn + \glsnameaccessdisplay + {% + \@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{name}}% + }% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{uc}% + {% + \glsnameaccessdisplay + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% + \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% + }% + {#1}% + }% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% + \glsnameaccessdisplay + {% + \expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}% + }% + {#1}% + }% + }% + }% + \glsxtrpostnamehook{#1}% + }% + } +} +{ + \renewcommand*{\glossentryname}[1]{% + \@glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \glsifattribute{#1}{glossname}{firstuc}% + {% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% + }% + {% + \glsifattribute{#1}{glossname}{title}% + {% + \@glsxtr@do@titlecaps@warn + \@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{name}}% + }% + {% + \glsifattribute{#1}{glossname}{uc}% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% + \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% + }% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% + \expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}% + }% + }% + }% + \glsxtrpostnamehook{#1}% + }% + } +} +\@ifpackageloaded{glossaries-accsupp} +{ + \renewcommand*{\Glossentryname}[1]{% + \@glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \glsnameaccessdisplay + {% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% + }% + {#1}% + \glsxtrpostnamehook{#1}% + }% + } +} +{ + \renewcommand*{\Glossentryname}[1]{% + \@glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% + \glsxtrpostnamehook{#1}% + }% + } +} +\newcommand*{\glsxtrpostnamehook}[1]{% + \let\@glsnumberformat\@glsxtr@defaultnumberformat + \glsxtrdoautoindexname{#1}{indexname}% + \glsextrapostnamehook{#1}% + \csuse{glsxtrpostname\glscategory{#1}}% +} +\newcommand*{\glsextrapostnamehook}[1]{}% +\newcommand*{\glsdefpostname}[2]{% + \csdef{glsxtrpostname#1}{#2}% +} +\@ifpackageloaded{glossaries-accsupp} +{ + \newcommand*{\glsxtr@setaccessdisplay}[1]{% + \ifcsdef{gls#1accessdisplay}% + {\letcs\@glsxtr@accessdisplay{gls#1accessdisplay}}% + {% + \protected@edef\@gls@thisval{#1}% + \@for\@gls@map:=\@gls@keymap\do{% + \protected@edef\@this@key{\expandafter\@secondoftwo\@gls@map}% + \ifdefequal{\@this@key}{\@gls@thisval}% + {% + \protected@edef\@gls@thisval{\expandafter\@firstoftwo\@gls@map}% + \@endfortrue + }% + {}% + }% + \ifcsdef{gls\@gls@thisval accessdisplay}% + {\letcs\@glsxtr@accessdisplay{gls\@gls@thisval accessdisplay}}% + {\let\@glsxtr@accessdisplay\@firstoftwo}% + }% + } +} +{% + \newcommand*{\glsxtr@setaccessdisplay}[1]{% + \let\@glsxtr@accessdisplay\@firstoftwo} +} +\newrobustcmd*{\glossentrynameother}[2]{% + \@glsdoifexistsorwarn{#1}% + {% + \glsxtr@setaccessdisplay{#2}% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \glsifattribute{#1}{glossname}{firstuc}% + {% + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\@Gls@entry@field{#1}{#2}}}% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{title}% + {% + \@glsxtr@do@titlecaps@warn + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{#2}}}% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{uc}% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}}% + {#1}% + }% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% + \@glsxtr@accessdisplay + {\expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}}% + {#1}% + }% + }% + }% + \glsxtrpostnamehook{#1}% + }% +} +\newif\if@glsxtr@format@override +\@glsxtr@format@overridefalse +\@ifpackageloaded{hyperref} +{ + \ifHy@hyperindex + \newcommand*{\GlsXtrEnableIndexFormatOverride}{% + \@glsxtr@format@overridetrue + \appto\theindex{\let\glshypernumber\@firstofone}% + } + \else + \newcommand*{\GlsXtrEnableIndexFormatOverride}{% + \@glsxtr@format@overridetrue + \appto\theindex{\let\glshypernumber\hyperpage}% + } + \fi +} +{ + \newcommand*{\GlsXtrEnableIndexFormatOverride}{% + \@glsxtr@format@overridetrue + } +} +\@onlypreamble\GlsXtrEnableIndexFormatOverride +\newcommand*{\glsxtrdoautoindexname}[2]{% + \glshasattribute{#1}{#2}% + {% + \@glsxtr@autoindex@setname{#1}% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{#2}}% + \if@glsxtr@format@override + \ifx\@glsnumberformat\@glsxtr@defaultnumberformat + \else + \let\@glsxtr@attrval\@glsnumberformat + \fi + \fi + \ifdefstring{\@glsxtr@attrval}{true}% + {}% + {\protected@eappto\@glo@name{\@glsxtr@autoindex@encap\@glsxtr@attrval}}% + \expandafter\glsxtrautoindex\expandafter{\@glo@name}% + }% + {}% +} +\newcommand*{\glsxtrautoindex}{\index} +\newcommand{\glsxtrautoindexesc}{% + \@gls@checkmkidxchars\@glo@sort + \@glsxtr@autoindex@doextra@esc\@glo@sort +} +\newcommand*{\@glsxtr@autoindex@setname}[1]{% + \protected@edef\@glo@name{\glsxtrautoindexentry{#1}}% + \glsxtrautoindexassignsort{\@glo@sort}{#1}% + \glsxtrautoindexesc + \epreto\@glo@name{\@glo@sort\@glsxtr@autoindex@at}% +} +\newcommand*{\glsxtrautoindexentry}[1]{\string\glsentryname{#1}} +\newcommand*{\glsxtrautoindexassignsort}[2]{% + \glsletentryfield{#1}{#2}{sort}% +} +\newcommand*{\@glsxtr@autoindex@doextra@esc}[1]{% + \ifx\@glsxtr@autoindex@esc\@gls@quotechar + \else + \def\@gls@checkedmkidx{}% + \edef\@@glsxtr@checkspch{% + \noexpand\@glsxtr@autoindex@escquote\expandonce{#1}% + \noexpand\@empty\@glsxtr@autoindex@esc\noexpand\@nnil + \@glsxtr@autoindex@esc\noexpand\@empty\noexpand\@glsxtr@endescspch}% + \@@glsxtr@checkspch + \let#1\@gls@checkedmkidx\relax + \fi + \ifx\@glsxtr@autoindex@at\@gls@actualchar + \else + \def\@gls@checkedmkidx{}% + \edef\@@glsxtr@checkspch{% + \noexpand\@glsxtr@autoindex@escat\expandonce{#1}% + \noexpand\@empty\@glsxtr@autoindex@at\noexpand\@nnil + \@glsxtr@autoindex@at\noexpand\@empty\noexpand\@glsxtr@endescspch}% + \@@glsxtr@checkspch + \let#1\@gls@checkedmkidx\relax + \fi + \ifx\@glsxtr@autoindex@level\@gls@levelchar + \else + \def\@gls@checkedmkidx{}% + \edef\@@glsxtr@checkspch{% + \noexpand\@glsxtr@autoindex@esclevel\expandonce{#1}% + \noexpand\@empty\@glsxtr@autoindex@level\noexpand\@nnil + \@glsxtr@autoindex@level\noexpand\@empty\noexpand\@glsxtr@endescspch}% + \@@glsxtr@checkspch + \let#1\@gls@checkedmkidx\relax + \fi + \ifx\@glsxtr@autoindex@encap\@gls@encapchar + \else + \def\@gls@checkedmkidx{}% + \edef\@@glsxtr@checkspch{% + \noexpand\@glsxtr@autoindex@escencap\expandonce{#1}% + \noexpand\@empty\@glsxtr@autoindex@encap\noexpand\@nnil + \@glsxtr@autoindex@encap\noexpand\@empty\noexpand\@glsxtr@endescspch}% + \@@glsxtr@checkspch + \let#1\@gls@checkedmkidx\relax + \fi +} +\newcommand*{\@glsxtr@autoindex@at}{} +\newcommand*{\GlsXtrSetActualChar}[1]{% + \gdef\@glsxtr@autoindex@at{#1}% + \def\@glsxtr@autoindex@escat##1#1##2#1##3\@glsxtr@endescspch{% + \@@glsxtr@autoindex@escspch{#1}{\@glsxtr@autoindex@escat}{##1}{##2}{##3}% + }% +} +\@onlypreamble\GlsXtrSetActualChar +\makeatother +\GlsXtrSetActualChar{@} +\makeatletter +\newcommand*{\@glsxtr@autoindex@encap}{} +\newcommand*{\GlsXtrSetEncapChar}[1]{% + \gdef\@glsxtr@autoindex@encap{#1}% + \def\@glsxtr@autoindex@escencap##1#1##2#1##3\@glsxtr@endescspch{% + \@@glsxtr@autoindex@escspch{#1}{\@glsxtr@autoindex@escencap}{##1}{##2}{##3}% + }% +} +\GlsXtrSetEncapChar{|} +\@onlypreamble\GlsXtrSetEncapChar +\newcommand*{\@glsxtr@autoindex@level}{} +\newcommand*{\GlsXtrSetLevelChar}[1]{% + \gdef\@glsxtr@autoindex@level{#1}% + \def\@glsxtr@autoindex@esclevel##1#1##2#1##3\@glsxtr@endescspch{% + \@@glsxtr@autoindex@escspch{#1}{\@glsxtr@autoindex@esclevel}{##1}{##2}{##3}% + }% +} +\GlsXtrSetLevelChar{!} +\@onlypreamble\GlsXtrSetLevelChar +\newcommand*{\@glsxtr@autoindex@esc}{"} +\newcommand*{\GlsXtrSetEscChar}[1]{% + \gdef\@glsxtr@autoindex@esc{#1}% + \def\@glsxtr@autoindex@escquote##1#1##2#1##3\@glsxtr@endescspch{% + \@@glsxtr@autoindex@escspch{#1}{\@glsxtr@autoindex@escquote}{##1}{##2}{##3}% + }% +} +\GlsXtrSetEscChar{"} +\@onlypreamble\GlsXtrSetEscChar +\ifdef\actualchar + {\expandafter\GlsXtrSetActualChar\expandafter{\actualchar}} + {} +\ifdef\quotechar + {\expandafter\GlsXtrSetEscChar\expandafter{\quotechar}} + {} +\ifdef\levelchar + {\expandafter\GlsXtrSetLevelChar\expandafter{\levelchar}} + {} +\ifdef\encapchar + {\expandafter\GlsXtrSetEncapChar\expandafter{\encapchar}} + {} +\def\@glsxtr@gobbleto@endescspch#1\@glsxtr@endescspch{} +\newcommand*{\@@glsxtr@autoindex@escspch}[5]{% + \@gls@tmpb=\expandafter{\@gls@checkedmkidx}% + \toks@={#3}% + \ifx\@nnil#3\relax + \def\@@glsxtr@checkspch{\@glsxtr@gobbleto@endescspch#5\@glsxtr@endescspch}% + \else + \ifx\@nnil#4\relax + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@glsxtr@checkspch{\@glsxtr@gobbleto@endescspch + #4#5\@glsxtr@endescspch}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@glsxtr@autoindex@esc#1}% + \def\@@glsxtr@checkspch{#2#5#1\@nnil#1\@glsxtr@endescspch}% + \fi + \fi + \@@glsxtr@checkspch +} +\renewcommand*{\Glossentrydesc}[1]{% + \glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \Glsaccessdesc{#1}% + }% +} +\ifdef\texorpdfstring +{ + \renewcommand*{\glossentrysymbol}[1]{% + \texorpdfstring{\@glossentrysymbol{#1}}{\glsentrypdfsymbol{#1}}% + } +} +{ + \renewcommand*{\glossentrysymbol}[1]{\@glossentrysymbol{#1}} +} +\newcommand{\glsentrypdfsymbol}[1]{\glsentrysymbol{#1}} +\newrobustcmd*{\@glossentrysymbol}[1]{% + \glsdoifexistsorwarn{#1}% + {% + \begingroup + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glosssymbolfont}% + {% + \protected@edef\@glsxtr@attrval{\glsgetattribute{#1}{glosssymbolfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glosssymbolfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glosssymbolfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glosssymbolfont\@firstofone + }% + }% + {\let\@glsxtr@glosssymbolfont\@firstofone}% + \@glsxtr@glosssymbolfont{\glsaccesssymbol{#1}}% + \endgroup + }% +} +\renewcommand*{\Glossentrysymbol}[1]{% + \glsdoifexistsorwarn{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \Glsaccesssymbol{#1}% + }% +} +\newcommand*{\GlsXtrEnableInitialTagging}{% + \@ifstar\s@glsxtr@enabletagging\@glsxtr@enabletagging +} +\@onlypreamble\GlsXtrEnableInitialTagging +\newcommand*{\s@glsxtr@enabletagging}[2]{% + \undef#2% + \@glsxtr@enabletagging{#1}{#2}% +} +\newcommand*{\@glsxtr@enabletagging}[2]{% + \@for\@glsxtr@cat:=#1\do + {% + \ifdefempty\@glsxtr@cat + {}% + {\glssetcategoryattribute{\@glsxtr@cat}{tagging}{true}}% + }% + \newrobustcmd*#2[1]{##1}% + \def\@glsxtr@taggingcs{#2}% + \renewcommand*\@glsxtr@activate@initialtagging{% + \let#2\@glsxtr@tag + }% + \ifundef\@gls@preglossaryhook + {\GlossariesExtraWarning{Initial tagging requires at least + glossaries.sty v4.19 to work correctly}}% + {}% +} +\ifundef\mfu@checkword@do +{ + \newcommand*{\mfu@checkword@do}[1]{% + \ifdefstring{\mfu@checkword@arg}{#1}% + {% + \let\@mfu@domakefirstuc\@firstofone + \listbreak + }% + {}% + } + \ifundef\mfu@checkword + { + \newcommand{\@glsxtr@do@titlecaps@warn}{% + \GlossariesExtraWarning{mfirstuc.sty too old. Title Caps + support not available}% + \let\@glsxtr@do@titlecaps@warn\relax + } + } + { + \renewcommand*{\mfu@checkword}[1]{% + \def\mfu@checkword@arg{#1}% + \let\@mfu@domakefirstuc\makefirstuc + \forlistloop\mfu@checkword@do\@mfu@nocaplist + } + } +} +{}% no patch required +\newcommand*{\@glsxtr@do@titlecaps@warn}{} +\newcommand*\@glsxtr@activate@initialtagging{} +\newrobustcmd*{\@glsxtr@tag}[1]{% + \glsifattribute{\glscurrententrylabel}{tagging}{true}% + {\glsxtrtagfont{#1}}{#1}% +} +\newcommand*{\glsxtrtagfont}[1]{\underline{#1}} +\ifdef\@gls@preglossaryhook +{ + \renewcommand*{\@gls@preglossaryhook}{% + \@glsxtr@activate@initialtagging + \ifundef\@glsxtr@org@postdescription + {% + \let\@glsxtr@org@postdescription\glspostdescription + \renewcommand*{\glspostdescription}{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \glsxtrpostdescription + \@glsxtr@org@postdescription + }% + {}% + }% + }% + {}% + \glossxtrsetpopts + }% +} +{} +\newcommand*{\glsxtrpostdescription}{% + \csuse{glsxtrpostdesc\glscategory{\glscurrententrylabel}}% +} +\newcommand*{\glsxtrpostdescgeneral}{} +\newcommand*{\glsxtrpostdescterm}{} +\newcommand*{\glsxtrpostdescacronym}{} +\newcommand*{\glsxtrpostdescabbreviation}{} +\newcommand*{\glsdefpostdesc}[2]{% + \csdef{glsxtrpostdesc#1}{#2}% +} +\renewcommand*{\glspostlinkhook}{% + \ifglsentryexists{\glslabel}{\glsxtrpostlinkhook}{}% +} +\newcommand*{\glsxtrpostlinkhook}{% + \glsxtrdiscardperiod{\glslabel}% + {\glsxtrpostlinkendsentence}% + {\glsxtrifcustomdiscardperiod + {\glsxtrifperiod{\glsxtrpostlinkendsentence}{\glsxtrpostlink}}% + {\glsxtrpostlink}% + }% +} +\newcommand*{\glsxtrifcustomdiscardperiod}[2]{#2} +\newcommand*{\glsxtrpostlink}{% + \csuse{glsxtrpostlink\glscategory{\glslabel}}% +} +\newcommand*{\glsdefpostlink}[2]{% + \ifthenelse{\equal{#1}{}}% + {\PackageError{glossaries-extra} + {Invalid empty category label in \string\glsdefpostlink}{}}% + {\csdef{glsxtrpostlink#1}{#2}}% +} +\newcommand*{\glsxtrpostlinkendsentence}{% + \ifcsdef{glsxtrpostlink\glscategory{\glslabel}} + {% + \csuse{glsxtrpostlink\glscategory{\glslabel}}% + .\spacefactor\sfcode`\. \relax + }% + {% + \spacefactor\sfcode`\. \relax + }% +} +\newcommand*{\glsxtrpostlinkAddDescOnFirstUse}{% + \glsxtrifwasfirstuse{\space\glsxtrparen{\glsaccessdesc{\glslabel}}}{}% +} +\newcommand*{\glsxtrpostlinkAddSymbolOnFirstUse}{% + \glsxtrifwasfirstuse + {% + \ifglshassymbol{\glslabel}% + {\space\glsxtrparen{\glsaccesssymbol{\glslabel}}}% + {}% + }% + {}% +} +\newcommand*{\glsxtrpostlinkAddSymbolDescOnFirstUse}{% + \glsxtrifwasfirstuse + {% + \space\glsxtrparen + {% + \ifglshassymbol{\glslabel}% + {\glsaccesssymbol{\glslabel}, }% + {}% + \glsaccessdesc{\glslabel}% + }% + }% + {}% +} +\newcommand*{\glsxtrdiscardperiod}[3]{% + \glsxtrifwasfirstuse + {% + \glsifattribute{#1}{retainfirstuseperiod}{true}% + {#3}% + {% + \glsifattribute{#1}{discardperiod}{true}% + {% + \glsifplural + {% + \glsifattribute{#1}{pluraldiscardperiod}{true}% + {\glsxtrifperiod{#2}{#3}}% + {#3}% + }% + {% + \glsxtrifperiod{#2}{#3}% + }% + }% + {#3}% + }% + }% + {% + \glsifattribute{#1}{discardperiod}{true}% + {% + \glsifplural + {% + \glsifattribute{#1}{pluraldiscardperiod}{true}% + {\glsxtrifperiod{#2}{#3}}% + {#3}% + }% + {% + \glsxtrifperiod{#2}{#3}% + }% + }% + {#3}% + }% +} +\newcommand*{\glsxtrifperiod}[1]{\new@ifnextchar.{\@firstoftwo{#1}}} +\newcommand*{\glsxtr@punclist}{.,:;?!} +\newcommand*{\glsxtraddpunctuationmark}[1]{\appto\glsxtr@punclist{#1}} +\newcommand*{\glsxtrsetpunctuationmarks}[1]{\def\glsxtr@punclist{#1}} +\newcommand*{\glsxtrifnextpunc}[2]{% + \def\reserved@a{#1}% + \def\reserved@b{#2}% + \futurelet\@glspunc@token\glsxtr@ifnextpunc +} +\newcommand*{\glsxtr@ifnextpunc}{% + \glsxtr@ifpunctoken{\@glspunc@token}{\let\reserved@b\reserved@a}{}% + \reserved@b +} +\newcommand*{\glsxtr@ifpunctoken}[1]{% + \expandafter\@glsxtr@ifpunctoken\expandafter#1\glsxtr@punclist\@nnil +} +\def\@glsxtr@ifpunctoken#1#2{% + \let\reserved@d=#2% + \ifx\reserved@d\@nnil + \let\glsxtr@next\@glsxtr@notfoundinlist + \else + \ifx#1\reserved@d + \let\glsxtr@next\@glsxtr@foundinlist + \else + \let\glsxtr@next\@glsxtr@ifpunctoken + \fi + \fi + \glsxtr@next#1% +} +\def\@glsxtr@foundinlist#1\@nnil{\@firstoftwo} +\def\@glsxtr@notfoundinlist#1{\@secondoftwo} +\newcommand{\glsxtrdopostpunc}[1]{% + \glsxtrifnextpunc{\@glsxtr@swaptwo{#1}}{#1}% +} +\newcommand{\@glsxtr@swaptwo}[2]{#2#1} +\define@key{glsxtrabbrv}{category}{% + \protected@edef\glscategorylabel{#1}% +} +\define@key{glsxtrabbrv}{shortplural}{% + \def\@gls@shortpl{#1}% +} +\define@key{glsxtrabbrv}{longplural}{% + \def\@gls@longpl{#1}% +} +\newtoks\glsshortpltok +\newtoks\glslongpltok +\newcommand*{\@glsxtr@insertdots}[2]{% + \def#1{}% + \@glsxtr@insert@dots#1#2\@nnil +} +\newcommand*{\@glsxtr@insert@dots}[2]{% + \ifx\@nnil#2\relax + \let\@glsxtr@insert@dots@next\@gobble + \else + \ifx\relax#2\relax + \else + \appto#1{#2.}% + \fi + \let\@glsxtr@insert@dots@next\@glsxtr@insert@dots + \fi + \@glsxtr@insert@dots@next#1% +} +\newcommand*{\glsxtrwordsep}{\space} +\newcommand*{\glsxtrword}[1]{#1} +\newcommand*{\@glsxtr@markwordseps}[2]{% + \def#1{}% + \@glsxtr@mark@wordseps#1#2 \@nnil +} +\def\@glsxtr@mark@wordseps#1#2 #3{% + \ifdefempty{#1}% + {\def#1{\protect\glsxtrword{#2}}}% + {\appto#1{\protect\glsxtrwordsep\protect\glsxtrword{#2}}}% + \ifx\@nnil#3\relax + \let\@glsxtr@mark@wordseps@next\relax + \else + \def\@glsxtr@mark@wordseps@next{% + \@glsxtr@mark@wordseps#1#3}% + \fi + \@glsxtr@mark@wordseps@next +} +\newcommand*{\newabbreviation}[4][]{% + \glsxtr@newabbreviation{#1}{#2}{#3}{#4}% +} +\newcommand*{\glsxtr@newabbreviation}[4]{% + \glskeylisttok{#1}% + \glslabeltok{#2}% + \glsshorttok{#3}% + \glslongtok{#4}% + \def\glsxtrorgshort{#3}% + \def\glsxtrorglong{#4}% + \def\ExtraCustomAbbreviationFields{}% + \@gls@initaccesskeys + \def\glscategorylabel{abbreviation}% + \setkeys*{glsxtrabbrv}[shortplural,longplural]{#1}% + \ifcsdef{@glsabbrv@current@\glscategorylabel}% + {% + \let\@glsxtr@orgwarndep\GlsXtrWarnDeprecatedAbbrStyle + \let\GlsXtrWarnDeprecatedAbbrStyle\@gobbletwo + \glsxtr@applyabbrvstyle{\csname @glsabbrv@current@\glscategorylabel\endcsname}% + \let\GlsXtrWarnDeprecatedAbbrStyle\@glsxtr@orgwarndep + }% + {% + \glsxtr@applyabbrvstyle{\@glsabbrv@current@abbreviation}% + }% + \def\@gls@longpl{#4\glspluralsuffix}% + \let\@gls@default@longpl\@gls@longpl + \glsifcategoryattribute{\glscategorylabel}{markwords}{true}% + {% + \@glsxtr@markwordseps\@gls@long{#4}% + \expandafter\def\expandafter\@gls@longpl\expandafter + {\@gls@long\glspluralsuffix}% + \let\@gls@default@longpl\@gls@longpl + \expandafter\glslongtok\expandafter{\@gls@long}% + }% + {}% + \glsifcategoryattribute{\glscategorylabel}{markshortwords}{true}% + {% + \@glsxtr@markwordseps\@gls@short{#3}% + }% + {% + \glsifcategoryattribute{\glscategorylabel}{insertdots}{true}% + {% + \@glsxtr@insertdots\@gls@short{#3}% + \appto\@gls@short{\@}% + }% + {\def\@gls@short{#3}}% + }% + \glsifcategoryattribute{\glscategorylabel}{aposplural}{true}% + {% + \expandafter\def\expandafter\@gls@shortpl\expandafter{\@gls@short + '\abbrvpluralsuffix}% + }% + {% + \glsifcategoryattribute{\glscategorylabel}{noshortplural}{true}% + {% + \let\@gls@shortpl\@gls@short + }% + {% + \expandafter\def\expandafter\@gls@shortpl\expandafter{\@gls@short + \abbrvpluralsuffix}% + }% + }% + \expandafter\glsshorttok\expandafter{\@gls@short}% + \glsxtrnewabbrevpresetkeyhook{#1}{#2}{#3}% + \setkeys*{glsxtrabbrv}[category]{#1}% + \let\@gls@org@longpl\@gls@longpl + \let\@gls@org@shortpl\@gls@shortpl + \ifx\@gls@default@longpl\@gls@longpl + \else + \glsifcategoryattribute{\glscategorylabel}{markwords}{true}% + {% + \expandafter\@glsxtr@markwordseps\expandafter\@gls@longpl\expandafter + {\@gls@longpl}% + }% + {}% + \fi + \expandafter\glsshortpltok\expandafter{\@gls@shortpl}% + \expandafter\glslongpltok\expandafter{\@gls@longpl}% + \@gls@setup@default@access + \newabbreviationhook + \protected@edef\@do@newglossaryentry{% + \noexpand\newglossaryentry{\the\glslabeltok}% + {% + type=\glsxtrabbrvtype,% + category=abbreviation,% + short={\the\glsshorttok},% + shortplural={\the\glsshortpltok},% + long={\the\glslongtok},% + longplural={\the\glslongpltok},% + name={\the\glsshorttok},% + \CustomAbbreviationFields,% + \ExtraCustomAbbreviationFields + \the\glskeylisttok + }% + }% + \@do@newglossaryentry + \@glsxtr@addabbreviationlist{\glsentrytype{\the\glslabeltok}}% + \GlsXtrPostNewAbbreviation +} +\newcommand*{\glsxtrnewabbrevpresetkeyhook}[3]{} +\newcommand*{\GlsXtrPostNewAbbreviation}{} +\newcommand*{\newabbreviationhook}{} +\newcommand*{\CustomAbbreviationFields}{} +\newcommand*{\glsxtrparen}[1]{(#1)} +\newcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{#1}}#2\glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{#1}}}% +} +\newcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongfont{\Glsaccesslong{#1}}#2\glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{#1}}}% +} +\newcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{#1}}#2\glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{#1}}}% +} +\newcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongfont{\Glsaccesslongpl{#1}}#2\glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{#1}}}% +} +\newcommand*{\glsxtrfullsep}[1]{\space} +\newcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat} +\newcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat} +\newcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat} +\newcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat} +\renewcommand*{\glsentryfull}[1]{\glsxtrinlinefullformat{#1}{}} +\renewcommand*{\Glsentryfull}[1]{\Glsxtrinlinefullformat{#1}{}} +\renewcommand*{\glsentryfullpl}[1]{\glsxtrinlinefullplformat{#1}{}} +\renewcommand*{\Glsentryfullpl}[1]{\Glsxtrinlinefullplformat{#1}{}} +\newcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{#1}} +\newcommand*{\glsfirstabbrvdefaultfont}[1]{\glsabbrvdefaultfont{#1}} +\newcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{#1}} +\newcommand*{\glsabbrvdefaultfont}[1]{#1} +\newcommand*{\glslongfont}[1]{\glslongdefaultfont{#1}} +\newcommand*{\glslongdefaultfont}[1]{#1} +\newcommand*{\glsfirstlongfont}[1]{\glslongfont{#1}} +\newcommand*{\glsfirstlongdefaultfont}[1]{\glslongdefaultfont{#1}} +\newcommand*{\glsxtrabbrvpluralsuffix}{\glspluralsuffix} +\newcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix} +\newrobustcmd*{\glsxtrfull}{\@gls@hyp@opt\ns@glsxtrfull} +\newcommand*\ns@glsxtrfull[2][]{% + \new@ifnextchar[{\@glsxtr@full{#1}{#2}}% + {\@glsxtr@full{#1}{#2}[]}% +} +\def\@glsxtr@full#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{\glsxtrinlinefullformat{#2}{#3}}% + \glsxtrsetupfulldefs + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@firstoftwo +} +\newrobustcmd*{\Glsxtrfull}{\@gls@hyp@opt\ns@Glsxtrfull} +\newcommand*\ns@Glsxtrfull[2][]{% + \new@ifnextchar[{\@Glsxtr@full{#1}{#2}}% + {\@Glsxtr@full{#1}{#2}[]}% +} +\def\@Glsxtr@full#1#2[#3]{% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsifplural\@secondoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{\Glsxtrinlinefullformat{#2}{#3}}% + \glsxtrsetupfulldefs + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\GLSxtrfull}{\@gls@hyp@opt\ns@GLSxtrfull} +\newcommand*\ns@GLSxtrfull[2][]{% + \new@ifnextchar[{\@GLSxtr@full{#1}{#2}}% + {\@GLSxtr@full{#1}{#2}[]}% +} +\def\@GLSxtr@full#1#2[#3]{% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsifplural\@secondoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{\mfirstucMakeUppercase{\glsxtrinlinefullformat{#2}{#3}}}% + \glsxtrsetupfulldefs + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\glsxtrfullpl}{\@gls@hyp@opt\ns@glsxtrfullpl} +\newcommand*\ns@glsxtrfullpl[2][]{% + \new@ifnextchar[{\@glsxtr@fullpl{#1}{#2}}% + {\@glsxtr@fullpl{#1}{#2}[]}% +} +\def\@glsxtr@fullpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsifplural\@firstoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{\glsxtrinlinefullplformat{#2}{#3}}% + \glsxtrsetupfulldefs + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\Glsxtrfullpl}{\@gls@hyp@opt\ns@Glsxtrfullpl} +\newcommand*\ns@Glsxtrfullpl[2][]{% + \new@ifnextchar[{\@Glsxtr@fullpl{#1}{#2}}% + {\@Glsxtr@fullpl{#1}{#2}[]}% +} +\def\@Glsxtr@fullpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{\Glsxtrinlinefullplformat{#2}{#3}}% + \glsxtrsetupfulldefs + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\GLSxtrfullpl}{\@gls@hyp@opt\ns@GLSxtrfullpl} +\newcommand*\ns@GLSxtrfullpl[2][]{% + \new@ifnextchar[{\@GLSxtr@fullpl{#1}{#2}}% + {\@GLSxtr@fullpl{#1}{#2}[]}% +} +\def\@GLSxtr@fullpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase{\glsxtrinlinefullplformat{#2}{#3}}}% + \glsxtrsetupfulldefs + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\glsxtrshort}{\@gls@hyp@opt\ns@glsxtrshort} +\newcommand*{\ns@glsxtrshort}[2][]{% + \new@ifnextchar[{\@glsxtrshort{#1}{#2}}{\@glsxtrshort{#1}{#2}[]}% +} +\def\@glsxtrshort#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\Glsxtrshort}{\@gls@hyp@opt\ns@Glsxtrshort} +\newcommand*{\ns@Glsxtrshort}[2][]{% + \new@ifnextchar[{\@Glsxtrshort{#1}{#2}}{\@Glsxtrshort{#1}{#2}[]}% +} +\def\@Glsxtrshort#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glsabbrvfont{\Glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\GLSxtrshort}{\@gls@hyp@opt\ns@GLSxtrshort} +\newcommand*{\ns@GLSxtrshort}[2][]{% + \new@ifnextchar[{\@GLSxtrshort{#1}{#2}}{\@GLSxtrshort{#1}{#2}[]}% +} +\def\@GLSxtrshort#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\glsxtrlong}{\@gls@hyp@opt\ns@glsxtrlong} +\newcommand*{\ns@glsxtrlong}[2][]{% + \new@ifnextchar[{\@glsxtrlong{#1}{#2}}{\@glsxtrlong{#1}{#2}[]}% +} +\def\@glsxtrlong#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\Glsxtrlong}{\@gls@hyp@opt\ns@Glsxtrlong} +\newcommand*{\ns@Glsxtrlong}[2][]{% + \new@ifnextchar[{\@Glsxtrlong{#1}{#2}}{\@Glsxtrlong{#1}{#2}[]}% +} +\def\@Glsxtrlong#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glslongfont{\Glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\GLSxtrlong}{\@gls@hyp@opt\ns@GLSxtrlong} +\newcommand*{\ns@GLSxtrlong}[2][]{% + \new@ifnextchar[{\@GLSxtrlong{#1}{#2}}{\@GLSxtrlong{#1}{#2}[]}% +} +\def\@GLSxtrlong#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\glsxtrshortpl}{\@gls@hyp@opt\ns@glsxtrshortpl} +\newcommand*{\ns@glsxtrshortpl}[2][]{% + \new@ifnextchar[{\@glsxtrshortpl{#1}{#2}}{\@glsxtrshortpl{#1}{#2}[]}% +} +\def\@glsxtrshortpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\Glsxtrshortpl}{\@gls@hyp@opt\ns@Glsxtrshortpl} +\newcommand*{\ns@Glsxtrshortpl}[2][]{% + \new@ifnextchar[{\@Glsxtrshortpl{#1}{#2}}{\@Glsxtrshortpl{#1}{#2}[]}% +} +\def\@Glsxtrshortpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glsabbrvfont{\Glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\GLSxtrshortpl}{\@gls@hyp@opt\ns@GLSxtrshortpl} +\newcommand*{\ns@GLSxtrshortpl}[2][]{% + \new@ifnextchar[{\@GLSxtrshortpl{#1}{#2}}{\@GLSxtrshortpl{#1}{#2}[]}% +} +\def\@GLSxtrshortpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \glssetabbrvfmt{\glscategory{#2}}% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\glsxtrlongpl}{\@gls@hyp@opt\ns@glsxtrlongpl} +\newcommand*{\ns@glsxtrlongpl}[2][]{% + \new@ifnextchar[{\@glsxtrlongpl{#1}{#2}}{\@glsxtrlongpl{#1}{#2}[]}% +} +\def\@glsxtrlongpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@firstofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\Glsxtrlongpl}{\@gls@hyp@opt\ns@Glsxtrlongpl} +\newcommand*{\ns@Glsxtrlongpl}[2][]{% + \new@ifnextchar[{\@Glsxtrlongpl{#1}{#2}}{\@Glsxtrlongpl{#1}{#2}[]}% +} +\def\@Glsxtrlongpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@secondofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \glslongfont{\Glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newrobustcmd*{\GLSxtrlongpl}{\@gls@hyp@opt\ns@GLSxtrlongpl} +\newcommand*{\ns@GLSxtrlongpl}[2][]{% + \new@ifnextchar[{\@GLSxtrlongpl{#1}{#2}}{\@GLSxtrlongpl{#1}{#2}[]}% +} +\def\@GLSxtrlongpl#1#2[#3]{% + \@glsxtr@record{#1}{#2}{glslink}% + \glsdoifexists{#2}% + {% + \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsifplural\@firstoftwo + \let\glscapscase\@thirdofthree + \let\glsinsert\@empty + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% + \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% + }% + \glspostlinkhook +} +\newcommand*{\glssetabbrvfmt}[1]{% + \ifcsdef{@glsabbrv@current@#1}% + {\glsxtr@applyabbrvfmt{\csname @glsabbrv@current@#1\endcsname}}% + {\glsxtr@applyabbrvfmt{\@glsabbrv@current@abbreviation}}% +} +\newrobustcmd*{\glsuseabbrvfont}[2]{{\glssetabbrvfmt{#2}\glsabbrvfont{#1}}} +\newrobustcmd*{\glsuselongfont}[2]{{\glssetabbrvfmt{#2}\glslongfont{#1}}} +\newcommand*{\glsxtrgenabbrvfmt}{% + \ifdefempty\glscustomtext + {% + \ifglsused\glslabel + {% + \glsifplural + {% + \glscapscase + {% + \glsxtrsubsequentplfmt{\glslabel}{\glsinsert}% + }% + {% + \Glsxtrsubsequentplfmt{\glslabel}{\glsinsert}% + }% + {% + \mfirstucMakeUppercase + {\glsxtrsubsequentplfmt{\glslabel}{\glsinsert}}% + }% + }% + {% + \glscapscase + {% + \glsxtrsubsequentfmt{\glslabel}{\glsinsert}% + }% + {% + \Glsxtrsubsequentfmt{\glslabel}{\glsinsert}% + }% + {% + \mfirstucMakeUppercase + {\glsxtrsubsequentfmt{\glslabel}{\glsinsert}}% + }% + }% + }% + {% + \glsifplural + {% + \glscapscase + {% + \glsxtrfullplformat{\glslabel}{\glsinsert}% + }% + {% + \Glsxtrfullplformat{\glslabel}{\glsinsert}% + }% + {% + \mfirstucMakeUppercase + {\glsxtrfullplformat{\glslabel}{\glsinsert}}% + }% + }% + {% + \glscapscase + {% + \glsxtrfullformat{\glslabel}{\glsinsert}% + }% + {% + \Glsxtrfullformat{\glslabel}{\glsinsert}% + }% + {% + \mfirstucMakeUppercase + {\glsxtrfullformat{\glslabel}{\glsinsert}}% + }% + }% + }% + }% + {% + \glscustomtext + }% +} +\newcommand*{\glsxtrsubsequentfmt}[2]{% + \glsabbrvfont{\glsaccessshort{#1}\ifglsxtrinsertinside #2\fi}% + \ifglsxtrinsertinside \else#2\fi +} +\let\glsxtrdefaultsubsequentfmt\glsxtrsubsequentfmt +\newcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsabbrvfont{\glsaccessshortpl{#1}\ifglsxtrinsertinside #2\fi}% + \ifglsxtrinsertinside \else#2\fi +} +\let\glsxtrdefaultsubsequentplfmt\glsxtrsubsequentplfmt +\newcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsabbrvfont{\Glsaccessshort{#1}\ifglsxtrinsertinside #2\fi}% + \ifglsxtrinsertinside \else#2\fi +} +\let\Glsxtrdefaultsubsequentfmt\Glsxtrsubsequentfmt +\newcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsabbrvfont{\Glsaccessshortpl{#1}\ifglsxtrinsertinside #2\fi}% + \ifglsxtrinsertinside \else#2\fi +} +\let\Glsxtrdefaultsubsequentplfmt\Glsxtrsubsequentplfmt +\newcommand*{\setabbreviationstyle}[2][abbreviation]{% + \ifcsundef{@glsabbrv@dispstyle@setup@#2} + {% + \PackageError{glossaries-extra}{Undefined abbreviation style `#2'}{}% + }% + {% + \ifcsstring{@glsabbrv@current@#1}{#2}% + {% + }% + {% + \def\@glsxtr@dostylewarn{}% + \glsforeachincategory{#1}{\@gls@type}{\@gls@label}% + {% + \def\@glsxtr@dostylewarn{\GlossariesWarning{Abbreviation + style has been switched \MessageBreak + for category `#1', \MessageBreak + but there have already been entries \MessageBreak + defined for this category. Unwanted \MessageBreak + side-effects may result}}% + \@endfortrue + }% + \@glsxtr@dostylewarn + \csdef{@glsabbrv@current@#1}{#2}% + \protected@edef\glscategorylabel{#1}% + \glsxtr@applyabbrvstyle{#2}% + }% + }% +} +\newcommand*{\glsxtr@applyabbrvstyle}[1]{% + \csuse{@glsabbrv@dispstyle@setup@#1}% + \csuse{@glsabbrv@dispstyle@fmts@#1}% +} +\newcommand*{\glsxtr@applyabbrvfmt}[1]{% + \csuse{@glsabbrv@dispstyle@fmts@#1}% +} +\newcommand*{\newabbreviationstyle}[3]{% + \ifcsdef{@glsabbrv@dispstyle@setup@#1} + {% + \PackageError{glossaries-extra}{Abbreviation style `#1' already + defined}{}% + }% + {% + \csdef{@glsabbrv@dispstyle@setup@#1}{% + \renewcommand*{\GlsXtrPostNewAbbreviation}{}% + #2}% + \csdef{@glsabbrv@dispstyle@fmts@#1}{% + \renewcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat}% + \renewcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat}% + \renewcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat}% + \renewcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat}% + \let\glsxtrsubsequentfmt\glsxtrdefaultsubsequentfmt + \let\glsxtrsubsequentplfmt\glsxtrdefaultsubsequentplfmt + \let\Glsxtrsubsequentfmt\Glsxtrdefaultsubsequentfmt + \let\Glsxtrsubsequentplfmt\Glsxtrdefaultsubsequentplfmt + #3}% + }% +} +\newcommand*{\renewabbreviationstyle}[3]{% + \ifcsundef{@glsabbrv@dispstyle@setup@#1} + {% + \PackageError{glossaries-extra}{Abbreviation style `#1' not defined}{}% + }% + {% + \csdef{@glsabbrv@dispstyle@setup@#1}{% + \renewcommand*{\GlsXtrPostNewAbbreviation}{}% + #2}% + \csdef{@glsabbrv@dispstyle@fmts@#1}{% + \renewcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat}% + \renewcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat}% + \renewcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat}% + \renewcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat}% + #3}% + }% +} +\newcommand*{\letabbreviationstyle}[2]{% + \csletcs{@glsabbrv@dispstyle@setup@#1}{@glsabbrv@dispstyle@setup@#2}% + \csletcs{@glsabbrv@dispstyle@fmts@#1}{@glsabbrv@dispstyle@fmts@#2}% +} +\newcommand*{\@glsxtr@deprecated@abbrstyle}[2]{% + \csdef{@glsabbrv@dispstyle@setup@#1}{% + \GlsXtrWarnDeprecatedAbbrStyle{#1}{#2}% + \csuse{@glsabbrv@dispstyle@setup@#2}% + }% + \csletcs{@glsabbrv@dispstyle@fmts@#1}{@glsabbrv@dispstyle@fmts@#2}% +} +\newcommand*{\GlsXtrWarnDeprecatedAbbrStyle}[2]{% + \GlossariesExtraWarning{Deprecated abbreviation style name `#1', + use `#2' instead}% +} +\newcommand*{\GlsXtrUseAbbrStyleSetup}[1]{% + \ifcsundef{@glsabbrv@dispstyle@setup@#1}% + {% + \PackageError{glossaries-extra}% + {Unknown abbreviation style definitions `#1'}{}% + }% + {% + \csname @glsabbrv@dispstyle@setup@#1\endcsname + }% +} +\newcommand*{\GlsXtrUseAbbrStyleFmts}[1]{% + \ifcsundef{@glsabbrv@dispstyle@fmts@#1}% + {% + \PackageError{glossaries-extra}% + {Unknown abbreviation style formats `#1'}{}% + }% + {% + \csname @glsabbrv@dispstyle@fmts@#1\endcsname + }% +} +\newif\ifglsxtrinsertinside +\glsxtrinsertinsidefalse +\newcommand*{\glsxtrlongshortname}{% + \protect\glsabbrvfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-short}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% +} +\setabbreviationstyle{long-short} +\newcommand*{\glsxtrlongshortdescsort}{% + \expandonce\glsxtrorglong\space (\expandonce\glsxtrorgshort)% +} +\newcommand*{\glsxtrlongshortdescname}{% + \protect\glslongfont{\the\glslongtok} + \glsxtrparen{\protect\glsabbrvfont{\the\glsshorttok}}% +} +\newabbreviationstyle{long-short-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlongfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short}% +} +\newcommand*{\glsxtrshortlongname}{% + \protect\glsabbrvfont{\the\glsshorttok}% +} +\newabbreviationstyle{short-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongfont{\the\glslongpltok}}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% + }% +} +\newcommand*{\glsxtrshortlongdescsort}{\the\glsshorttok} +\newcommand*{\glsxtrshortlongdescname}{% + \protect\glsabbrvfont{\the\glsshorttok} + \glsxtrparen{\protect\glslongfont{\the\glslongtok}}% +} +\newabbreviationstyle{short-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongfont{\the\glslongpltok}}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long}% +} +\newcommand*{\glsfirstlongfootnotefont}[1]{\glslongfootnotefont{#1}}% +\newcommand*{\glslongfootnotefont}[1]{\glslongdefaultfont{#1}}% +\newcommand*{\glsxtrabbrvfootnote}[2]{\footnote{#2}} +\newcommand*{\glsxtrfootnotename}{% + \protect\glsabbrvfont{\the\glsshorttok}% +} +\newabbreviationstyle{footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\letabbreviationstyle{short-footnote}{footnote} +\newcommand*{\glsxtrfootnotedescname}{% + \protect\glsabbrvfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glslongfont{\the\glslongtok}}% +} +\newcommand*{\glsxtrfootnotedescsort}{\the\glsshorttok} +\newabbreviationstyle{short-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{footnote}% +} +\letabbreviationstyle{footnote-desc}{short-footnote-desc} +\newabbreviationstyle{postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\letabbreviationstyle{short-postfootnote}{postfootnote} +\newabbreviationstyle{short-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{postfootnote}% +} +\letabbreviationstyle{postfootnote-desc}{short-postfootnote-desc} +\newcommand*{\glsxtrshortnolongname}{% + \protect\glsabbrvfont{\the\glsshorttok}% +} +\newabbreviationstyle{short}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}}, + text={\protect\glsabbrvfont{\the\glsshorttok}}, + plural={\protect\glsabbrvfont{\the\glsshortpltok}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvfont{\glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvfont{\glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvfont{\glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\Glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvfont{\glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\Glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\setabbreviationstyle[acronym]{short} +\letabbreviationstyle{short-nolong}{short} +\newabbreviationstyle{short-nolong-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{short-nolong}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-nolong}% +} +\newcommand*{\glsxtrshortdescname}{% + \protect\glsabbrvfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glslongfont{\the\glslongtok}}% +} +\newabbreviationstyle{short-desc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}}, + text={\protect\glsabbrvfont{\the\glsshorttok}}, + plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-nolong-desc}{short-desc} +\newabbreviationstyle{short-nolong-desc-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% +} +\newabbreviationstyle{nolong-short}% +{% + \GlsXtrUseAbbrStyleSetup{short-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongfont{\glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongfont{\glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongfont{\glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\Glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongfont{\glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvfont{\Glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{nolong-short-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{nolong-short}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{nolong-short}% +} +\newcommand*{\glsxtrlongnoshortdescname}{% + \protect\glslongfont{\the\glslongtok}% +} +\newabbreviationstyle{long-desc}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlongfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}}, + text={\glslongfont{\the\glslongtok}}, + plural={\glslongfont{\the\glslongpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{long-noshort-desc}{long-desc} +\newabbreviationstyle{long-noshort-desc-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% +} +\newcommand*{\glsxtrlongnoshortname}{% + \protect\glsabbrvfont{\the\glsshorttok}% +} +\newabbreviationstyle{long}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}}, + text={\glslongfont{\the\glslongtok}}, + plural={\glslongfont{\the\glslongpltok}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-desc}% +} +\letabbreviationstyle{long-noshort}{long} +\newabbreviationstyle{long-noshort-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-noshort}% +} +\newcommand*{\glsxtrscfont}[1]{\textsc{#1}} +\newcommand*{\glsabbrvscfont}{\glsxtrscfont} +\newcommand*{\glsxtrfirstscfont}[1]{\glsabbrvscfont{#1}} +\newcommand*{\glsfirstabbrvscfont}{\glsxtrfirstscfont} +\newcommand*{\glsxtrscsuffix}{\protect\glstextup{\glsxtrabbrvpluralsuffix}} +\newabbreviationstyle{long-short-sc}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-short-sc-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-sc}% +} +\newabbreviationstyle{short-sc-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% +} +\newabbreviationstyle{short-sc-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-long}% +} +\newabbreviationstyle{short-sc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}}, + text={\protect\glsabbrvscfont{\the\glsshorttok}}, + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvscfont{\glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvscfont{\Glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvscfont{\Glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-sc-nolong}{short-sc} +\newabbreviationstyle{short-sc-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}}, + text={\protect\glsabbrvscfont{\the\glsshorttok}}, + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-sc-nolong-desc}{short-sc-desc} +\newabbreviationstyle{nolong-short-sc}% +{% + \GlsXtrUseAbbrStyleSetup{short-sc-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongdefaultfont{\glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongdefaultfont{\glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongdefaultfont{\Glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongdefaultfont{\Glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-noshort-sc}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}}, + text={\protect\glslongdefaultfont{\the\glslongtok}}, + plural={\protect\glslongdefaultfont{\the\glslongpltok}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\@glsxtr@deprecated@abbrstyle{long-sc}{long-noshort-sc} +\newabbreviationstyle{long-noshort-sc-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\@glsxtr@deprecated@abbrstyle{long-desc-sc}{long-noshort-sc-desc} +\newabbreviationstyle{short-sc-footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\@glsxtr@deprecated@abbrstyle{footnote-sc}{short-sc-footnote} +\newabbreviationstyle{short-sc-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-footnote}% +} +\newabbreviationstyle{short-sc-postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-sc}{short-sc-postfootnote} +\newabbreviationstyle{short-sc-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvscfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}},% + text={\protect\glsabbrvscfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-postfootnote}% +} +\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} +\newcommand*{\glsabbrvsmfont}{\glsxtrsmfont} +\newcommand*{\glsxtrfirstsmfont}[1]{\glsabbrvsmfont{#1}} +\newcommand*{\glsfirstabbrvsmfont}{\glsxtrfirstsmfont} +\newcommand*{\glsxtrsmsuffix}{\glsxtrabbrvpluralsuffix} +\newabbreviationstyle{long-short-sm}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-short-sm-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-sm}% +} +\newabbreviationstyle{short-sm-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% +} +\newabbreviationstyle{short-sm-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-long}% +} +\newabbreviationstyle{short-sm}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}, + text={\protect\glsabbrvsmfont{\the\glsshorttok}}, + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvsmfont{\glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvsmfont{\Glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvsmfont{\Glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-sm-nolong}{short-sm} +\newabbreviationstyle{short-sm-desc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}, + text={\protect\glsabbrvsmfont{\the\glsshorttok}}, + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-sm-nolong-desc}{short-sm-desc} +\newabbreviationstyle{nolong-short-sm}% +{% + \GlsXtrUseAbbrStyleSetup{short-sm-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongdefaultfont{\glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongdefaultfont{\glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongdefaultfont{\Glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongdefaultfont{\Glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-noshort-sm}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}}, + text={\protect\glslongdefaultfont{\the\glslongtok}}, + plural={\protect\glslongdefaultfont{\the\glslongpltok}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\@glsxtr@deprecated@abbrstyle{long-sm}{long-noshort-sm} +\newabbreviationstyle{long-noshort-sm-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\@glsxtr@deprecated@abbrstyle{long-desc-sm}{long-noshort-sm-desc} +\newabbreviationstyle{short-sm-footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\@glsxtr@deprecated@abbrstyle{footnote-sm}{short-sm-footnote} +\newabbreviationstyle{short-sm-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-footnote}% +} +\newabbreviationstyle{short-sm-postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-sm}{short-sm-postfootnote} +\newabbreviationstyle{short-sm-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}},% + text={\protect\glsabbrvsmfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-postfootnote}% +} +\newcommand*{\glsabbrvemfont}[1]{\emph{#1}}% +\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}}% +\newcommand*{\glsxtremsuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsfirstlongemfont}[1]{\glslongemfont{#1}}% +\newcommand*{\glslongemfont}[1]{\emph{#1}}% +\newabbreviationstyle{long-short-em}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-short-em-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-em}% +} +\newabbreviationstyle{long-em-short-em}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongemfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}},% + description={\protect\glslongemfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-em-short-em-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlongemfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-em-short-em}% +} +\newabbreviationstyle{short-em-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% +} +\newabbreviationstyle{short-em-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-long}% +} +\newabbreviationstyle{short-em-long-em}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\protect\glslongemfont{\the\glslongtok}},% + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongemfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongemfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongemfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongemfont{\glsaccesslongpl{##1}}}% + }% +} +\newabbreviationstyle{short-em-long-em-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname},% + sort={\glsxtrshortlongdescsort},% + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-long-em}% +} +\newabbreviationstyle{short-em}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}}, + text={\protect\glsabbrvemfont{\the\glsshorttok}}, + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvemfont{\glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstabbrvemfont{\Glsaccessshort{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstabbrvemfont{\Glsaccessshortpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-em-nolong}{short-em} +\newabbreviationstyle{short-em-desc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}}, + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}}, + text={\protect\glsabbrvemfont{\the\glsshorttok}}, + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\letabbreviationstyle{short-em-nolong-desc}{short-em-desc} +\newabbreviationstyle{nolong-short-em}% +{% + \GlsXtrUseAbbrStyleSetup{short-em-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongdefaultfont{\glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongdefaultfont{\glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \protect\glsfirstlongdefaultfont{\Glsaccesslong{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \protect\glsfirstlongdefaultfont{\Glsaccesslongpl{##1}% + \ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% +} +\newabbreviationstyle{long-noshort-em}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongdefaultfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}}, + text={\protect\glslongdefaultfont{\the\glslongtok}}, + plural={\protect\glslongdefaultfont{\the\glslongpltok}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\@glsxtr@deprecated@abbrstyle{long-em}{long-noshort-em} +\newabbreviationstyle{long-em-noshort-em}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongemfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}}, + text={\protect\glslongemfont{\the\glslongtok}}, + plural={\protect\glslongemfont{\the\glslongpltok}},% + description={\protect\glslongemfont{\the\glslongtok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\newabbreviationstyle{long-em-noshort-em-noreg}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \GlsXtrUseAbbrStyleSetup{long-em-noshort-em}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-em-noshort-em}% +} +\newabbreviationstyle{long-noshort-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\@glsxtr@deprecated@abbrstyle{long-desc-em}{long-noshort-em-desc} +\newabbreviationstyle{long-em-noshort-em-desc}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlongemfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}}, + text={\glslongemfont{\the\glslongtok}}, + plural={\glslongemfont{\the\glslongpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glslongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glslongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glslongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glslongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% + \ifglsxtrinsertinside \else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% +} +\newabbreviationstyle{long-em-noshort-em-desc-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{long-em-noshort-em-desc}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-em-noshort-em-desc}% +} +\newabbreviationstyle{short-em-footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \protect\glsxtrabbrvfootnote{##1}% + {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\@glsxtr@deprecated@abbrstyle{footnote-em}{short-em-footnote} +\newabbreviationstyle{short-em-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-footnote}% +} +\newabbreviationstyle{short-em-postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% + }% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-em}{short-em-postfootnote} +\newabbreviationstyle{short-em-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\protect\glsfirstabbrvemfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}},% + text={\protect\glsabbrvemfont{\the\glsshorttok}},% + plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% + {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% + \renewcommand*{\glsxtrsetupfulldefs}{% + \let\glsxtrifwasfirstuse\@secondoftwo + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-postfootnote}% +} +\newcommand*{\glsxtruserfield}{useri} +\ifdef\glscurrentfieldvalue +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}{, \glscurrentfieldvalue}{}}% + } +} +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}{, \@glo@thisvalue}{}}% + } +} +\newcommand*{\glsabbrvuserfont}[1]{\glsabbrvdefaultfont{#1}} +\newcommand*{\glsfirstabbrvuserfont}[1]{\glsabbrvuserfont{#1}} +\newcommand*{\glslonguserfont}[1]{\glslongdefaultfont{#1}} +\newcommand*{\glsfirstlonguserfont}[1]{\glslonguserfont{#1}} +\newcommand*{\glsxtrusersuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsuserdescription}[2]{\glslonguserfont{#1}} +\newabbreviationstyle{long-short-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvuserfont{\the\glsshorttok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}% + \protect\glsxtruserparen + {\protect\glsfirstabbrvuserfont{\the\glsshortpltok}}{\the\glslabeltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% + }% +} +\newabbreviationstyle{long-postshort-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstabbrvuserfont{\glsentryshort{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% + }% +} +\newcommand*{\glsabbrvscuserfont}{\glsabbrvscfont}% +\newcommand*{\glsfirstabbrvscuserfont}{\glsabbrvscuserfont}% +\newcommand*{\glsxtrscusersuffix}{\glsxtrscsuffix} +\newcommand*{\glsxtrlongshortscusername}{% + \protect\glsabbrvscuserfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-postshort-sc-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortscusername}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstabbrvscuserfont{\glsentryshort{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvscuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvscuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshortpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshortpl{##1}}}{##1}% + }% +} +\newcommand*{\glsxtrlongshortuserdescname}{% + \protect\glslonguserfont{\the\glslongtok}% + \protect\glsxtruserparen + {\protect\glsabbrvuserfont{\the\glsshorttok}}{\the\glslabeltok}% +} +\newabbreviationstyle{long-postshort-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortuserdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstabbrvuserfont{\glsentryshort{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-postshort-user}% +} +\newcommand*{\glsxtrlongshortscuserdescname}{% + \protect\glslonguserfont{\the\glslongtok}% + \protect\glsxtruserparen + {\protect\glsabbrvscuserfont{\the\glsshorttok}}{\the\glslabeltok}% +} +\newabbreviationstyle{long-postshort-sc-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortscuserdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstabbrvscuserfont{\glsentryshort{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-postshort-sc-user}% +} +\newabbreviationstyle{short-postlong-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstlonguserfont{\glsentrylong{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvuserfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvuserfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvuserfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvuserfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvuserfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvuserfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvuserfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvuserfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% + }% +} +\newcommand*{\glsxtrshortlonguserdescname}{% + \protect\glsabbrvuserfont{\the\glsshorttok}% + \protect\glsxtruserparen + {\protect\glslonguserfont{\the\glslongpltok}}% + {\the\glslabeltok}% +} +\newabbreviationstyle{short-postlong-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlonguserdescname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtruserparen + {\glsfirstlonguserfont{\glsentrylong{\glslabel}}}% + {\glslabel}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-postlong-user}% +} +\newabbreviationstyle{long-short-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortuserdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlonguserfont{\the\glslongtok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvuserfont{\the\glsshorttok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}% + \protect\glsxtruserparen + {\protect\glsfirstabbrvuserfont{\the\glsshortpltok}}{\the\glslabeltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-user}% +} +\newabbreviationstyle{short-long-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}},% + first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstabbrvuserfont{\the\glsshortpltok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongpltok}}% + {\the\glslabeltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvuserfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvuserfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvuserfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvuserfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% + }% +} +\newabbreviationstyle{short-long-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlonguserdescname}, + sort={\glsxtrshortlongdescsort},% + first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstabbrvuserfont{\the\glsshortpltok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongpltok}}% + {\the\glslabeltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long-user}% +} +\newrobustcmd*{\glsxtrifhyphenstart}[3]{% + \ifx\glsinsert#1\relax + \expandafter\@glsxtrifhyphenstart#1\relax\relax + \@end@glsxtrifhyphenstart{#2}{#3}% + \else + \@glsxtrifhyphenstart#1\relax\relax\@end@glsxtrifhyphenstart{#2}{#3}% + \fi +} +\def\@glsxtrifhyphenstart#1#2\@end@glsxtrifhyphenstart#3#4{% + \ifx-#1\relax#3\else #4\fi +} +\newcommand*{\glsxtrlonghyphenshort}[4]{% + {% + \glsxtrifhyphenstart{#4}{\def\glsxtrwordsep{-}}{}% + \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside{#4}\fi}% + \ifglsxtrinsertinside\else{#4}\fi + \glsxtrfullsep{#1}% + \glsxtrparen{\glsfirstabbrvhyphenfont{#3\ifglsxtrinsertinside{#4}\fi}% + \ifglsxtrinsertinside\else{#4}\fi}% + }% +} +\newcommand*{\glsabbrvhyphenfont}{\glsabbrvdefaultfont}% +\newcommand*{\glsfirstabbrvhyphenfont}{\glsabbrvhyphenfont}% +\newcommand*{\glslonghyphenfont}{\glslongdefaultfont}% +\newcommand*{\glsfirstlonghyphenfont}{\glslonghyphenfont}% +\newcommand*{\glsxtrhyphensuffix}{\glsxtrabbrvpluralsuffix} +\newabbreviationstyle{long-hyphen-short-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrhyphensuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlonghyphenshort{##1}{\glsaccesslong{##1}}{\glsaccessshort{##1}}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlonghyphenshort{##1}{\glsaccesslongpl{##1}}% + {\glsaccessshortpl{##1}}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrlonghyphenshort{##1}{\Glsaccesslong{##1}}{\glsaccessshort{##1}}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrlonghyphenshort{##1}{\Glsaccesslongpl{##1}}% + {\glsaccessshortpl{##1}}{##2}% + }% +} +\newabbreviationstyle{long-hyphen-short-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-short-hyphen}% +} +\newcommand*{\glsxtrlonghyphennoshort}[3]{% + {% + \glsxtrifhyphenstart{#3}{\def\glsxtrwordsep{-}}{}% + \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside{#3}\fi}% + \ifglsxtrinsertinside\else{#3}\fi + }% +} +\newabbreviationstyle{long-hyphen-noshort-desc-noreg}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortdescname}, + sort={\expandonce\glsxtrorglong}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glslonghyphenfont{\the\glslongtok}},% + plural={\protect\glslonghyphenfont{\the\glslongpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-short-hyphen}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlonghyphennoshort{##1}{\glsaccesslong{##1}}{##2}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlonghyphennoshort{##1}{\glsaccesslongpl{##1}}{##2}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsxtrlonghyphennoshort{##1}{\Glsaccesslong{##1}}{##2}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsxtrlonghyphennoshort{##1}{\Glsaccesslongpl{##1}}{##2}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\glsaccesslong{##1}}{##2}% + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\glsaccesslongpl{##1}}{##2}% + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\Glsaccesslong{##1}}{##2}% + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\Glsaccesslongpl{##1}}{##2}% + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\glsaccesslong{##1}}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\glsaccesslongpl{##1}}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\Glsaccesslong{##1}}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrlonghyphennoshort{##1}{\Glsaccesslongpl{##1}}{##2}% + }% +} +\newabbreviationstyle{long-hyphen-noshort-noreg}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glslonghyphenfont{\the\glslongtok}},% + plural={\protect\glslonghyphenfont{\the\glslongpltok}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-noshort-desc-noreg}% +} +\newcommand*{\glsxtrlonghyphen}[3]{% + {% + \glsxtrifhyphenstart{#3}{\def\glsxtrwordsep{-}}{}% + \glsfirstlonghyphenfont{#1}% + }% +} +\newcommand*{\glsxtrposthyphenshort}[2]{% + {% + \glsxtrifhyphenstart{#2}{\def\glsxtrwordsep{-}}{}% + \ifglsxtrinsertinside{\glsfirstlonghyphenfont{#2}}\else{#2}\fi + \glsxtrfullsep{#1}% + \glsxtrparen + {\glsfirstabbrvhyphenfont{\glsentryshort{#1}\ifglsxtrinsertinside{#2}\fi}% + \ifglsxtrinsertinside\else{#2}\fi + }% + }% +} +\newcommand*{\glsxtrposthyphensubsequent}[2]{% + \glsabbrvfont{\ifglsxtrinsertinside {#2}\fi}% + \ifglsxtrinsertinside \else{#2}\fi +} +\newabbreviationstyle{long-hyphen-postshort-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrposthyphenshort{\glslabel}{\glsinsert}% + }% + {% + \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsabbrvfont{\glsaccessshort{##1}}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsabbrvfont{\glsaccessshortpl{##1}}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsabbrvfont{\Glsaccessshort{##1}}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsabbrvfont{\Glsaccessshortpl{##1}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlonghyphen{\glsaccesslong{##1}}{##1}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlonghyphen{\glsaccesslongpl{##1}}{##1}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrlonghyphen{\Glsaccesslong{##1}}{##1}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrlonghyphen{\Glsaccesslongpl{##1}}{##1}{##2}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlonghyphenfont{\glsaccesslong{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlonghyphenfont{\glsaccesslongpl{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlonghyphenfont{\Glsaccesslong{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlonghyphenfont{\Glsaccesslongpl{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% +} +\newabbreviationstyle{long-hyphen-postshort-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrposthyphenshort{\glslabel}{\glsinsert}% + }% + {% + \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-postshort-hyphen}% +} +\newcommand*{\glsxtrshorthyphenlong}[4]{% + {% + \glsxtrifhyphenstart{#4}{\def\glsxtrwordsep{-}}{}% + \glsfirstabbrvhyphenfont{#2\ifglsxtrinsertinside{#4}\fi}% + \ifglsxtrinsertinside\else{#4}\fi + \glsxtrfullsep{#1}% + \glsxtrparen{\glsfirstlonghyphenfont{#3\ifglsxtrinsertinside{#4}\fi}% + \ifglsxtrinsertinside\else{#4}\fi}% + }% +} +\newabbreviationstyle{short-hyphen-long-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrhyphensuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshorthyphenlong{##1}{\glsaccessshort{##1}}{\glsaccesslong{##1}}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshorthyphenlong{##1}% + {\glsaccessshortpl{##1}}{\glsaccesslongpl{##1}}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrshorthyphenlong{##1}{\glsaccessshort{##1}}{\Glsaccesslong{##1}}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrshorthyphenlong{##1}% + {\glsaccessshortpl{##1}}{\Glsaccesslongpl{##1}}{##2}% + }% +} +\newabbreviationstyle{short-hyphen-long-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-hyphen-long-hyphen}% +} +\newcommand*{\glsxtrshorthyphen}[3]{% + {% + \glsxtrifhyphenstart{#3}{\def\glsxtrwordsep{-}}{}% + \glsfirstabbrvhyphenfont{#1}% + }% +} +\newcommand*{\glsxtrposthyphenlong}[2]{% + {% + \glsxtrifhyphenstart{#2}{\def\glsxtrwordsep{-}}{}% + \ifglsxtrinsertinside{\glsfirstabbrvhyphenfont{#2}}\else{#2}\fi + \glsxtrfullsep{#1}% + \glsxtrparen + {\glsfirstlonghyphenfont{\glsentrylong{#1}\ifglsxtrinsertinside{#2}\fi}% + \ifglsxtrinsertinside\else{#2}\fi + }% + }% +} +\newabbreviationstyle{short-hyphen-postlong-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrposthyphenlong{\glslabel}{\glsinsert}% + }% + {% + \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsabbrvfont{\glsaccessshort{##1}}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsabbrvfont{\glsaccessshortpl{##1}}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsabbrvfont{\Glsaccessshort{##1}}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsabbrvfont{\Glsaccessshortpl{##1}}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshorthyphen{\glsaccessshort{##1}}{##1}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshorthyphen{\glsaccessshortpl{##1}}{##1}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrshorthyphen{\Glsaccessshort{##1}}{##1}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrshorthyphen{\Glsaccessshortpl{##1}}{##1}{##2}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstabbrvhyphenfont{\glsaccessshort{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvhyphenfont{\glsaccessshortpl{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstabbrvhyphenfont{\Glsaccessshort{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstabbrvhyphenfont{\Glsaccessshortpl{##1}% + \ifglsxtrinsertinside{##2}\fi}% + \ifglsxtrinsertinside \else{##2}\fi + }% +} +\newabbreviationstyle{short-hyphen-postlong-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort},% + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrposthyphenlong{\glslabel}{\glsinsert}% + }% + {% + \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-hyphen-postlong-hyphen}% +} +\newcommand*{\glsabbrvonlyfont}{\glsabbrvdefaultfont}% +\newcommand*{\glsfirstabbrvonlyfont}{\glsabbrvonlyfont}% +\newcommand*{\glslongonlyfont}{\glslongdefaultfont}% +\newcommand*{\glsfirstlongonlyfont}{\glslongonlyfont}% +\newcommand*{\glsxtronlysuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsxtronlyname}{% + \protect\glsabbrvonlyfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-only-short-only}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtronlyname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% + text={\protect\glsabbrvonlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvonlyfont{\the\glsshortpltok}},% + description={\protect\glslongonlyfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtronlysuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvonlyfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvonlyfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvonlyfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvonlyfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvonlyfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvonlyfont{\Glsaccessshortpl{##1}}}% + }% +} +\newcommand*{\glsxtronlydescsort}{\the\glslongtok} +\newcommand*{\glsxtronlydescname}{% + \protect\glslongfont{\the\glslongtok}% +} +\newabbreviationstyle{long-only-short-only-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtronlydescname}, + sort={\glsxtronlydescsort},% + first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% + text={\protect\glsabbrvonlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvonlyfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-only-short-only}% +} +\newcommand*{\glsabbrvsconlyfont}{\glsabbrvscfont}% +\newcommand*{\glsfirstabbrvsconlyfont}{\glsabbrvsconlyfont}% +\newcommand*{\glsxtrsconlysuffix}{\glsxtrscsuffix} +\newcommand*{\glsxtrsconlyname}{% + \protect\glsabbrvsconlyfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-only-short-sc-only}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrsconlyname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% + text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}},% + description={\protect\glslongonlyfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsconlysuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvsconlyfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvsconlyfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshort{##1}}}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshortpl{##1}}}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\Glsaccessshortpl{##1}}}% + }% +} +\newcommand*{\glsxtrsconlydescsort}{\glsxtronlydescsort} +\newcommand*{\glsxtrsconlydescname}{\glsxtronlydescname} +\newabbreviationstyle{long-only-short-sc-only-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrsconlydescname}, + sort={\glsxtrsconlydescsort},% + first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% + text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-only-short-sc-only}% +} +\let\@glsxtr@org@markright\markright +\renewcommand*{\markright}[1]{% + \glsxtrmarkhook + \@glsxtr@org@markright{\@glsxtrinmark#1\@glsxtrnotinmark}% + \glsxtrrestoremarkhook +} +\let\@glsxtr@org@markboth\markboth +\renewcommand*{\markboth}[2]{% + \glsxtrmarkhook + \@glsxtr@org@markboth + {\@glsxtrinmark#1\@glsxtrnotinmark}% + {\@glsxtrinmark#2\@glsxtrnotinmark}% + \glsxtrrestoremarkhook +} +\let\@glsxtr@org@@starttoc\@starttoc +\renewcommand*{\@starttoc}[1]{% + \glsxtrmarkhook + \@glsxtrinmark + \@glsxtr@org@@starttoc{#1}% + \@glsxtrnotinmark + \glsxtrrestoremarkhook +} +\newcommand*{\glsxtrRevertMarks}{% + \let\markright\@glsxtr@org@markright + \let\markboth\@glsxtr@org@markboth + \let\@starttoc\@glsxtr@org@@starttoc +} +\newcommand*{\glsxtrRevertTocMarks}{% + \let\@starttoc\@glsxtr@org@@starttoc +} +\newcommand*{\glsxtrifinmark}[2]{#2} +\newrobustcmd*{\@glsxtrinmark}{% + \let\glsxtrifinmark\@firstoftwo +} +\newrobustcmd*{\@glsxtrnotinmark}{% + \let\glsxtrifinmark\@secondoftwo +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsxtrtitleorpdforheading}[3]{\texorpdfstring{#1}{#2}} +} +{ + \newcommand*{\glsxtrtitleorpdforheading}[3]{#1} +} +\newcommand*{\glsxtrmarkhook}{% + \let\@glsxtr@org@MakeUppercase\MakeUppercase + \let\@glsxtr@org@glsxtrtitleorpdforheading\glsxtrtitleorpdforheading + \let\@glsxtr@org@glsxtrtitleshort\glsxtrtitleshort + \let\@glsxtr@org@glsxtrtitleshortpl\glsxtrtitleshortpl + \let\@glsxtr@org@Glsxtrtitleshort\Glsxtrtitleshort + \let\@glsxtr@org@Glsxtrtitleshortpl\Glsxtrtitleshortpl + \let\@glsxtr@org@glsxtrtitlename\glsxtrtitlename + \let\@glsxtr@org@Glsxtrtitlename\Glsxtrtitlename + \let\@glsxtr@org@glsxtrtitletext\glsxtrtitletext + \let\@glsxtr@org@Glsxtrtitletext\Glsxtrtitletext + \let\@glsxtr@org@glsxtrtitleplural\glsxtrtitleplural + \let\@glsxtr@org@Glsxtrtitleplural\Glsxtrtitleplural + \let\@glsxtr@org@glsxtrtitlefirst\glsxtrtitlefirst + \let\@glsxtr@org@Glsxtrtitlefirst\Glsxtrtitlefirst + \let\@glsxtr@org@glsxtrtitlefirstplural\glsxtrtitlefirstplural + \let\@glsxtr@org@Glsxtrtitlefirstplural\Glsxtrtitlefirstplural + \let\@glsxtr@org@glsxtrtitlelong\glsxtrtitlelong + \let\@glsxtr@org@glsxtrtitlelongpl\glsxtrtitlelongpl + \let\@glsxtr@org@Glsxtrtitlelong\Glsxtrtitlelong + \let\@glsxtr@org@Glsxtrtitlelongpl\Glsxtrtitlelongpl + \let\@glsxtr@org@glsxtrtitlefull\glsxtrtitlefull + \let\@glsxtr@org@glsxtrtitlefullpl\glsxtrtitlefullpl + \let\@glsxtr@org@Glsxtrtitlefull\Glsxtrtitlefull + \let\@glsxtr@org@Glsxtrtitlefullpl\Glsxtrtitlefullpl + \let\glsxtrifinmark\@firstoftwo + \let\MakeUppercase\MakeTextUppercase + \let\glsxtrtitleorpdforheading\@thirdofthree + \let\glsxtrtitleshort\glsxtrheadshort + \let\glsxtrtitleshortpl\glsxtrheadshortpl + \let\Glsxtrtitleshort\Glsxtrheadshort + \let\Glsxtrtitleshortpl\Glsxtrheadshortpl + \let\glsxtrtitlename\glsxtrheadname + \let\Glsxtrtitlename\Glsxtrheadname + \let\glsxtrtitletext\glsxtrheadtext + \let\Glsxtrtitletext\Glsxtrheadtext + \let\glsxtrtitleplural\glsxtrheadplural + \let\Glsxtrtitleplural\Glsxtrheadplural + \let\glsxtrtitlefirst\glsxtrheadfirst + \let\Glsxtrtitlefirst\Glsxtrheadfirst + \let\glsxtrtitlefirstplural\glsxtrheadfirstplural + \let\Glsxtrtitlefirstplural\Glsxtrheadfirstplural + \let\glsxtrtitlelong\glsxtrheadlong + \let\glsxtrtitlelongpl\glsxtrheadlongpl + \let\Glsxtrtitlelong\Glsxtrheadlong + \let\Glsxtrtitlelongpl\Glsxtrheadlongpl + \let\glsxtrtitlefull\glsxtrheadfull + \let\glsxtrtitlefullpl\glsxtrheadfullpl + \let\Glsxtrtitlefull\Glsxtrheadfull + \let\Glsxtrtitlefullpl\Glsxtrheadfullpl +} +\newcommand*{\glsxtrrestoremarkhook}{% + \let\glsxtrifinmark\@secondoftwo + \let\MakeUppercase\@glsxtr@org@MakeUppercase + \let\glsxtrtitleorpdforheading\@glsxtr@org@glsxtrtitleorpdforheading + \let\glsxtrtitleshort\@glsxtr@org@glsxtrtitleshort + \let\glsxtrtitleshortpl\@glsxtr@org@glsxtrtitleshortpl + \let\Glsxtrtitleshort\@glsxtr@org@Glsxtrtitleshort + \let\Glsxtrtitleshortpl\@glsxtr@org@Glsxtrtitleshortpl + \let\glsxtrtitlename\@glsxtr@org@glsxtrtitlename + \let\Glsxtrtitlename\@glsxtr@org@Glsxtrtitlename + \let\glsxtrtitletext\@glsxtr@org@glsxtrtitletext + \let\Glsxtrtitletext\@glsxtr@org@Glsxtrtitletext + \let\glsxtrtitleplural\@glsxtr@org@glsxtrtitleplural + \let\Glsxtrtitleplural\@glsxtr@org@Glsxtrtitleplural + \let\glsxtrtitlefirst\@glsxtr@org@glsxtrtitlefirst + \let\Glsxtrtitlefirst\@glsxtr@org@Glsxtrtitlefirst + \let\glsxtrtitlefirstplural\@glsxtr@org@glsxtrtitlefirstplural + \let\Glsxtrtitlefirstplural\@glsxtr@org@Glsxtrtitlefirstplural + \let\glsxtrtitlelong\@glsxtr@org@glsxtrtitlelong + \let\glsxtrtitlelongpl\@glsxtr@org@glsxtrtitlelongpl + \let\Glsxtrtitlelong\@glsxtr@org@Glsxtrtitlelong + \let\Glsxtrtitlelongpl\@glsxtr@org@Glsxtrtitlelongpl + \let\glsxtrtitlefull\@glsxtr@org@glsxtrtitlefull + \let\glsxtrtitlefullpl\@glsxtr@org@glsxtrtitlefullpl + \let\Glsxtrtitlefull\@glsxtr@org@Glsxtrtitlefull + \let\Glsxtrtitlefullpl\@glsxtr@org@Glsxtrtitlefullpl +} +\newcommand*{\glsxtrheadshort}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrshort[noindex,hyper=false]{#1}[]% + }% + {% + \glsxtrshort[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitleshort}[1]{% + \glsxtrshort[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadshortpl}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrshortpl[noindex,hyper=false]{#1}[]% + }% + {% + \glsxtrshortpl[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitleshortpl}[1]{% + \glsxtrshortpl[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadshort}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrshort[noindex,hyper=false]{#1}[]% + }% + {% + \Glsxtrshort[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitleshort}[1]{% + \Glsxtrshort[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitleshort}[1]{% + \GLSxtrshort[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadshortpl}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrshortpl[noindex,hyper=false]{#1}[]% + }% + {% + \Glsxtrshortpl[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitleshortpl}[1]{% + \Glsxtrshortpl[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitleshortpl}[1]{% + \GLSxtrshortpl[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadname}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSname[noindex,hyper=false]{#1}[]% + }% + {% + \glsname[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlename}[1]{% + \glsname[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadname}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSname[noindex,hyper=false]{#1}[]% + }% + {% + \Glsname[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlename}[1]{% + \Glsname[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlename}[1]{% + \GLSname[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadtext}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLStext[noindex,hyper=false]{#1}[]% + }% + {% + \glstext[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitletext}[1]{% + \glstext[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadtext}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLStext[noindex,hyper=false]{#1}[]% + }% + {% + \Glstext[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitletext}[1]{% + \Glstext[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitletext}[1]{% + \GLStext[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadplural}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSplural[noindex,hyper=false]{#1}[]% + }% + {% + \glsplural[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitleplural}[1]{% + \glsplural[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadplural}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSplural[noindex,hyper=false]{#1}[]% + }% + {% + \Glsplural[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitleplural}[1]{% + \Glsplural[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitleplural}[1]{% + \GLSplural[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadfirst}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSfirst[noindex,hyper=false]{#1}[]% + }% + {% + \glsfirst[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlefirst}[1]{% + \glsfirst[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadfirst}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSfirst[noindex,hyper=false]{#1}[]% + }% + {% + \Glsfirst[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlefirst}[1]{% + \Glsfirst[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlefirst}[1]{% + \GLSfirst[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadfirstplural}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSfirstplural[noindex,hyper=false]{#1}[]% + }% + {% + \glsfirstplural[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlefirstplural}[1]{% + \glsfirstplural[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadfirstplural}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSfirstplural[noindex,hyper=false]{#1}[]% + }% + {% + \Glsfirstplural[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlefirstplural}[1]{% + \Glsfirstplural[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlefirstplural}[1]{% + \GLSfirstplural[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadlong}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrlong[noindex,hyper=false]{#1}[]% + }% + {% + \glsxtrlong[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlelong}[1]{% + \glsxtrlong[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadlongpl}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrlongpl[noindex,hyper=false]{#1}[]% + }% + {% + \glsxtrlongpl[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlelongpl}[1]{% + \glsxtrlongpl[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadlong}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrlong[noindex,hyper=false]{#1}[]% + }% + {% + \Glsxtrlong[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlelong}[1]{% + \Glsxtrlong[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlelong}[1]{% + \GLSxtrlong[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadlongpl}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrlongpl[noindex,hyper=false]{#1}[]% + }% + {% + \Glsxtrlongpl[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlelongpl}[1]{% + \Glsxtrlongpl[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlelongpl}[1]{% + \GLSxtrlongpl[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadfull}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrfull[noindex,hyper=false]{#1}[]% + }% + {% + \glsxtrfull[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlefull}[1]{% + \glsxtrfull[noindex,hyper=false]{#1}[]% +} +\newcommand*{\glsxtrheadfullpl}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrfullpl[noindex,hyper=false]{#1}[]% + }% + {% + \glsxtrfullpl[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\glsxtrtitlefullpl}[1]{% + \glsxtrfullpl[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadfull}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrfull[noindex,hyper=false]{#1}[]% + }% + {% + \Glsxtrfull[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlefull}[1]{% + \Glsxtrfull[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlefull}[1]{% + \GLSxtrfull[noindex,hyper=false]{#1}[]% +} +\newcommand*{\Glsxtrheadfullpl}[1]{% + \protect\NoCaseChange + {% + \glsifattribute{#1}{headuc}{true}% + {% + \GLSxtrfullpl[noindex,hyper=false]{#1}[]% + }% + {% + \Glsxtrfullpl[noindex,hyper=false]{#1}[]% + }% + }% +} +\newrobustcmd*{\Glsxtrtitlefullpl}[1]{% + \Glsxtrfullpl[noindex,hyper=false]{#1}[]% +} +\newrobustcmd*{\GLSxtrtitlefullpl}[1]{% + \GLSxtrfullpl[noindex,hyper=false]{#1}[]% +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtshort}[1]{% + \texorpdfstring + {\glsxtrtitleshort{#1}}% + {\glsentryshort{#1}}% + } +} +{ + \newcommand*{\glsfmtshort}[1]{% + \glsxtrtitleshort{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtshortpl}[1]{% + \texorpdfstring + {\glsxtrtitleshortpl{#1}}% + {\glsentryshortpl{#1}}% + } +} +{ + \newcommand*{\glsfmtshortpl}[1]{% + \glsxtrtitleshortpl{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtshort}[1]{% + \texorpdfstring + {\Glsxtrtitleshort{#1}}% + {\glsentryshort{#1}}% + } +} +{ + \newcommand*{\Glsfmtshort}[1]{% + \Glsxtrtitleshort{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtshortpl}[1]{% + \texorpdfstring + {\Glsxtrtitleshortpl{#1}}% + {\glsentryshortpl{#1}}% + } +} +{ + \newcommand*{\Glsfmtshortpl}[1]{% + \Glsxtrtitleshortpl{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtname}[1]{% + \texorpdfstring + {\glsxtrtitlename{#1}}% + {\glsentryname{#1}}% + } +} +{ + \newcommand*{\glsfmtname}[1]{% + \glsxtrtitlename{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtname}[1]{% + \texorpdfstring + {\Glsxtrtitlename{#1}}% + {\glsentryname{#1}}% + } +} +{ + \newcommand*{\Glsfmtname}[1]{% + \Glsxtrtitlename{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtname}[1]{% + \texorpdfstring + {\GLSxtrtitlename{#1}}% + {\glsentryname{#1}}% + } +} +{ + \newcommand*{\GLSfmtname}[1]{% + \GLSxtrtitlename{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmttext}[1]{% + \texorpdfstring + {\glsxtrtitletext{#1}}% + {\glsentrytext{#1}}% + } +} +{ + \newcommand*{\glsfmttext}[1]{% + \glsxtrtitletext{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmttext}[1]{% + \texorpdfstring + {\Glsxtrtitletext{#1}}% + {\glsentrytext{#1}}% + } +} +{ + \newcommand*{\Glsfmttext}[1]{% + \Glsxtrtitletext{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmttext}[1]{% + \texorpdfstring + {\GLSxtrtitletext{#1}}% + {\glsentrytext{#1}}% + } +} +{ + \newcommand*{\GLSfmttext}[1]{% + \GLSxtrtitletext{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtplural}[1]{% + \texorpdfstring + {\glsxtrtitleplural{#1}}% + {\glsentryplural{#1}}% + } +} +{ + \newcommand*{\glsfmtplural}[1]{% + \glsxtrtitleplural{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtplural}[1]{% + \texorpdfstring + {\Glsxtrtitleplural{#1}}% + {\glsentryplural{#1}}% + } +} +{ + \newcommand*{\Glsfmtplural}[1]{% + \Glsxtrtitleplural{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtplural}[1]{% + \texorpdfstring + {\GLSxtrtitleplural{#1}}% + {\glsentryplural{#1}}% + } +} +{ + \newcommand*{\GLSfmtplural}[1]{% + \GLSxtrtitleplural{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtfirst}[1]{% + \texorpdfstring + {\glsxtrtitlefirst{#1}}% + {\glsentryfirst{#1}}% + } +} +{ + \newcommand*{\glsfmtfirst}[1]{% + \glsxtrtitlefirst{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtfirst}[1]{% + \texorpdfstring + {\Glsxtrtitlefirst{#1}}% + {\glsentryfirst{#1}}% + } +} +{ + \newcommand*{\Glsfmtfirst}[1]{% + \Glsxtrtitlefirst{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtfirst}[1]{% + \texorpdfstring + {\GLSxtrtitlefirst{#1}}% + {\glsentryfirst{#1}}% + } +} +{ + \newcommand*{\GLSfmtfirst}[1]{% + \Glsxtrtitlefirst{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtfirstpl}[1]{% + \texorpdfstring + {\glsxtrtitlefirstplural{#1}}% + {\glsentryfirstplural{#1}}% + } +} +{ + \newcommand*{\glsfmtfirstpl}[1]{% + \glsxtrtitlefirstplural{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtfirstpl}[1]{% + \texorpdfstring + {\Glsxtrtitlefirstplural{#1}}% + {\glsentryfirstplural{#1}}% + } +} +{ + \newcommand*{\Glsfmtfirstpl}[1]{% + \Glsxtrtitlefirstplural{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtfirstpl}[1]{% + \texorpdfstring + {\GLSxtrtitlefirstplural{#1}}% + {\glsentryfirstplural{#1}}% + } +} +{ + \newcommand*{\GLSfmtfirstpl}[1]{% + \GLSxtrtitlefirstplural{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtlong}[1]{% + \texorpdfstring + {\glsxtrtitlelong{#1}}% + {\glsentrylong{#1}}% + } +} +{ + \newcommand*{\glsfmtlong}[1]{% + \glsxtrtitlelong{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtlong}[1]{% + \texorpdfstring + {\Glsxtrtitlelong{#1}}% + {\glsentrylong{#1}}% + } +} +{ + \newcommand*{\Glsfmtlong}[1]{% + \Glsxtrtitlelong{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtlong}[1]{% + \texorpdfstring + {\GLSxtrtitlelong{#1}}% + {\glsentrylong{#1}}% + } +} +{ + \newcommand*{\GLSfmtlong}[1]{% + \GLSxtrtitlelong{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtlongpl}[1]{% + \texorpdfstring + {\glsxtrtitlelongpl{#1}}% + {\glsentrylongpl{#1}}% + } +} +{ + \newcommand*{\glsfmtlongpl}[1]{% + \glsxtrtitlelongpl{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtlongpl}[1]{% + \texorpdfstring + {\Glsxtrtitlelongpl{#1}}% + {\glsentrylongpl{#1}}% + } +} +{ + \newcommand*{\Glsfmtlongpl}[1]{% + \Glsxtrtitlelongpl{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtlongpl}[1]{% + \texorpdfstring + {\GLSxtrtitlelongpl{#1}}% + {\glsentrylongpl{#1}}% + } +} +{ + \newcommand*{\GLSfmtlongpl}[1]{% + \GLSxtrtitlelongpl{#1}} +} +\newcommand*{\glspdffmtfull}[1]{\glsentrylong{#1} (\glsentryshort{#1})}% +\newcommand*{\glspdffmtfullpl}[1]{\glsentrylongpl{#1} (\glsentryshortpl{#1})}% +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtfull}[1]{% + \texorpdfstring + {\glsxtrtitlefull{#1}}% + {\glspdffmtfull{#1}}% + } +} +{ + \newcommand*{\glsfmtfull}[1]{% + \glsxtrtitlefull{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtfull}[1]{% + \texorpdfstring + {\Glsxtrtitlefull{#1}}% + {\glspdffmtfull{#1}{}}% + } +} +{ + \newcommand*{\Glsfmtfull}[1]{% + \Glsxtrtitlefull{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtfull}[1]{% + \texorpdfstring + {\GLSxtrtitlefull{#1}}% + {\glspdffmtfull{#1}}% + } +} +{ + \newcommand*{\GLSfmtfull}[1]{% + \GLSxtrtitlefull{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\glsfmtfullpl}[1]{% + \texorpdfstring + {\glsxtrtitlefullpl{#1}}% + {\glspdffmtfullpl{#1}}% + } +} +{ + \newcommand*{\glsfmtfullpl}[1]{% + \glsxtrtitlefullpl{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\Glsfmtfullpl}[1]{% + \texorpdfstring + {\Glsxtrtitlefullpl{#1}}% + {\glspdffmtfullpl{#1}{}}% + } +} +{ + \newcommand*{\Glsfmtfullpl}[1]{% + \Glsxtrtitlefullpl{#1}} +} +\ifdef\texorpdfstring +{ + \newcommand*{\GLSfmtfullpl}[1]{% + \texorpdfstring + {\GLSxtrtitlefullpl{#1}}% + {\glspdffmtfullpl{#1}{}}% + } +} +{ + \newcommand*{\GLSfmtfullpl}[1]{% + \GLSxtrtitlefullpl{#1}} +} +\newcommand*{\multiglossaryentrysetup}[1]{\setkeys{glsxtrcombined}{#1}} +\newcommand*{\@gls@combined@indexmain}{1} +\define@choicekey{glsxtrcombined}{indexmain}% + [\@gls@combined@indexmain@val\@gls@combined@indexmain] + {false,true,first}[true]{} +\newcommand*{\@gls@combined@indexothers}{2} +\define@choicekey{glsxtrcombined}{indexothers}% + [\@gls@combined@indexothers@val\@gls@combined@indexothers] + {false,true,first}[true]{} +\newcommand*{\@gls@combined@hyper}{3} +\define@choicekey{glsxtrcombined}{hyper}% + [\@gls@combined@hyper@val\@gls@combined@hyper] + {none,allmain,mainonly,individual,otheronly,notmainfirst,nototherfirst,notfirst}{} +\newcommand*{\@gls@combined@encapmain}{glsnumberformat} +\define@key{glsxtrcombined}{encapmain}{% + \renewcommand*{\@gls@combined@encapmain}{#1}% +} +\newcommand*{\@gls@combined@encapothers}{glsnumberformat} +\define@key{glsxtrcombined}{encapothers}{% + \renewcommand*{\@gls@combined@encapothers}{#1}% +} +\newcommand*{\@gls@combined@textformat}{@firstofone} +\define@key{glsxtrcombined}{textformat}{% + \renewcommand*{\@gls@combined@textformat}{#1}% +} +\newcommand*{\@gls@combined@category}{} +\define@key{glsxtrcombined}{category}{% + \renewcommand*{\@gls@combined@category}{#1}% +} +\define@key{glsxtrcombinedpreopts}{category}{% + \renewcommand*{\@gls@combined@category}{#1}% +} +\newcommand*{\@gls@combined@mglsopts}{} +\define@key{glsxtrcombined}{mglsopts}{% + \renewcommand*{\@gls@combined@mglsopts}{#1}% +} +\define@key{glsxtrcombinedpreopts}{mglsopts}{% + \@gls@combined@mglsopts@do + {% + \renewcommand*{\@gls@combined@mglsopts}{#1}% + }% +} +\newcommand*{\@gls@combined@mglsopts@do}[1]{#1} +\newcommand*{\mgls@disable@mglsopts}{% + \let\@gls@combined@mglsopts@do\@gls@combined@mglsopts@do@not +} +\newcommand*{\mgls@enable@mglsopts}{% + \let\@gls@combined@mglsopts@do\@firstofone +} +\newcommand*{\@gls@combined@mglsopts@do@not}[1]{% + \PackageError{glossaries-extra}{`mglsopts' key not permitted inside + `setup' value}{}% +} +\newcommand*{\@gls@combined@firstprefix}{} +\define@key{glsxtrcombined}{firstprefix}{% + \renewcommand*{\@gls@combined@firstprefix}{#1}% +} +\newcommand*{\@gls@combined@usedprefix}{} +\define@key{glsxtrcombined}{usedprefix}{% + \renewcommand*{\@gls@combined@usedprefix}{#1}% +} +\newcommand*{\@gls@combined@firstsuffix}{} +\define@key{glsxtrcombined}{firstsuffix}{% + \renewcommand*{\@gls@combined@firstsuffix}{#1}% +} +\newcommand*{\@gls@combined@usedsuffix}{} +\define@key{glsxtrcombined}{usedsuffix}{% + \renewcommand*{\@gls@combined@usedsuffix}{#1}% +} +\define@boolkey{glsxtrcombined}{firstskipmain}[true]{} +\KV@glsxtrcombined@firstskipmainfalse +\define@boolkey{glsxtrcombined}{firstskipothers}[true]{} +\KV@glsxtrcombined@firstskipothersfalse +\define@boolkey{glsxtrcombined}{usedskipmain}[true]{} +\KV@glsxtrcombined@usedskipmainfalse +\define@boolkey{glsxtrcombined}{usedskipothers}[true]{} +\KV@glsxtrcombined@usedskipothersfalse +\newcommand*{\@gls@combined@postlinks@nr}{0} +\define@choicekey{glsxtrcombined}{postlinks}% + [\@gls@combined@postlinks@val\@gls@combined@postlinks@nr] + {none,all,notlast,mainnotlast,mainonly,othernotlast,otheronly}{} +\newcommand*{\@gls@combined@mpostlink@nr}{1} +\define@choicekey{glsxtrcombined}{mpostlink}% + [\@gls@combined@mpostlink@val\@gls@combined@mpostlink@nr] + {false,true,firstonly,usedonly}[true]{} +\newcommand*{\@gls@combined@mpostlinkelement@nr}{0} +\define@choicekey{glsxtrcombined}{mpostlinkelement}% + [\@gls@combined@mpostlinkelement@val\@gls@combined@mpostlinkelement@nr] + {last,main,custom}{} +\newcommand*{\glsxtrifmulti}[3]{\ifcsdef{@gls@combined@#1@main}{#2}{#3}} +\newcommand*{\glsxtrmultimain}[1]{\csuse{@gls@combined@#1@main}} +\newcommand*{\glsxtrmultilist}[1]{\csuse{@gls@combined@#1@list}} +\newcommand*{\glsxtrmultitotalelements}[1]{\csuse{@gls@combined@#1@total}} +\newcommand*{\glsxtrmultimainindex}[1]{\csuse{@gls@combined@#1@mainindex}} +\newcommand*{\glsxtrmultilastotherindex}[1]{\csuse{@gls@combined@#1@lastotherindex}} +\newif\ifmultiglossaryentryglobal +\multiglossaryentryglobalfalse +\newcount\mglselementindex +\newrobustcmd{\multiglossaryentry}[1][]{% + \def\@gls@combined@current@opts{#1}% + \ifnum\@glsxtr@docdefval=1\relax + \let\@multi@glossentry@donext\@defmultiglossaryentry + \else + \let\@multi@glossentry@donext\@multiglossaryentry + \fi + \@multi@glossentry@donext +} +\newcommand*{\@multiglossaryentry}[1]{% + \def\@gls@combined@current@label{#1}% + \@multi@glossaryentry +} +\newcommand*{\@multi@glossaryentry}[2][]{% + \ifcsdef{@gls@combined@\@gls@combined@current@label @main}% + {\PackageError{glossaries-extra}% + {Multi-entry label `\@gls@combined@current@label' already defined}% + {}% + }% + {% + \@multi@glossary@entry{#1}{#2}% + }% +} +\newcommand*{\@defmultiglossaryentry}[1]{% + \def\@gls@combined@current@label{#1}% + \@def@multi@glossaryentry +} +\newcommand*{\@def@multi@glossaryentry}[2][]{% + \let\@def@multi@glossaryentry@do\@multi@glossary@entry + \ifundef\@glsxtr@docdefs@multilist + {% + \gdef\@glsxtr@docdefs@multilist{}% + \listxadd + {\@glsxtr@docdefs@multilist}{\expandonce\@gls@combined@current@label}% + }% + {% + \xifinlist{\@gls@combined@current@label}{\@glsxtr@docdefs@multilist}% + {% + \PackageError{glossaries-extra}% + {Multi-entry label `\@gls@combined@current@label' already defined}% + {}% + \let\@def@multi@glossaryentry@do\@gobbletwo + }% + {% + \listxadd + {\@glsxtr@docdefs@multilist}{\expandonce\@gls@combined@current@label}% + }% + }% + \@def@multi@glossaryentry@do{#1}{#2}% +} +\newcommand*{\@multi@glossary@doifexists}{\glsdoifexists} +\newrobustcmd{\providemultiglossaryentry}[2][]{% + \def\@gls@combined@current@opts{#1}% + \def\@gls@combined@current@label{#2}% + \ifcsdef{@gls@combined@\@gls@combined@current@label @main}% + {\def\@multi@glossentry@donext{\@provide@multi@glossaryentry@noop}}% + {% + \ifnum\@glsxtr@docdefval=1\relax + \def\@multi@glossentry@donext{\@def@multi@glossaryentry}% + \else + \def\@multi@glossentry@donext{\@multi@glossaryentry}% + \fi + }% + \@multi@glossentry@donext +} +\newcommand*{\@provide@multi@glossaryentry@noop}[2][]{} +\newcommand*{\@multi@glossaryentry@list}{} +\newcommand*{\@multi@glossary@entry}[2]{% + \protected@edef\@gls@combined@current@main{#1}% + \protected@edef\@gls@combined@currentlist{#2}% + \mglselementindex=0\relax + \@for\@gls@tmp:=\@gls@combined@currentlist\do{% + \advance\mglselementindex by 1\relax + \@multi@glossary@doifexists{\@gls@tmp}{}% + \let\@gls@combined@finalitem\@gls@tmp + \ifdefvoid\@gls@combined@current@main + {}% + {% + \ifx\@gls@combined@current@main\@gls@tmp + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@current@main + \csxdef{@gls@combined@\@gls@combined@current@label @mainindex}% + {\the\mglselementindex}% + \else + \cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@current@main + \csedef{@gls@combined@\@gls@combined@current@label @mainindex}% + {\the\mglselementindex}% + \fi + \else + \ifmultiglossaryentryglobal + \csxdef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\mglselementindex}% + \else + \csedef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\mglselementindex}% + \fi + \fi + }% + }% + \ifmultiglossaryentryglobal + \csxdef{@gls@combined@\@gls@combined@current@label @total}% + {\the\mglselementindex}% + \else + \csedef{@gls@combined@\@gls@combined@current@label @total}% + {\the\mglselementindex}% + \fi + \ifnum\mglselementindex<2\relax + \PackageError{glossaries-extra}{At least 2 labels required in + multi-entry element list (\number\mglselementindex\space found)}{}% + \else + \ifdefvoid\@gls@combined@current@main + {}% + {% + \ifcsundef{@gls@combined@\@gls@combined@current@label @main}% + {\PackageError{glossaries-extra}% + {Main element `\@gls@combined@current@main' not found in list}% + {The final element `\@gls@combined@finalitem' will be used instead} + \let\@gls@combined@current@main\@empty + }% + {}% + }% + \ifdefvoid\@gls@combined@current@main + {% + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@finalitem + \global\csletcs{@gls@combined@\@gls@combined@current@label @mainindex}% + {@gls@combined@\@gls@combined@current@label @total}% + \csxdef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\numexpr\mglselementindex-1 }% + \else + \cslet{@gls@combined@\@gls@combined@current@label @main}% + \@gls@combined@finalitem + \csletcs{@gls@combined@\@gls@combined@current@label @mainindex}% + {@gls@combined@\@gls@combined@current@label @total}% + \csedef{@gls@combined@\@gls@combined@current@label @lastotherindex}% + {\the\numexpr\mglselementindex-1 }% + \fi + }% + {}% + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@\@gls@combined@current@label @list}% + \@gls@combined@currentlist + \protected@csxdef{@gls@combined@\@gls@combined@current@label @options}% + {\@gls@combined@current@opts}% + \expandafter\@ifdefinable + \csname if@gls@combined@\@gls@combined@current@label @flag\endcsname + {\expandafter\global\expandafter + \newif\csname if@gls@combined@\@gls@combined@current@label @flag\endcsname}% + \expandafter\global + \csname @gls@combined@\@gls@combined@current@label @flagfalse\endcsname + \else + \cslet{@gls@combined@\@gls@combined@current@label @list}% + \@gls@combined@currentlist + \protected@csedef{@gls@combined@\@gls@combined@current@label @options}% + {\@gls@combined@current@opts}% + \newboolean{@gls@combined@\@gls@combined@current@label @flag}% + \csname @gls@combined@\@gls@combined@current@label @flagfalse\endcsname + \fi + \fi + \writemultiglossentry + {\@gls@combined@current@opts}{\@gls@combined@current@label}% + {\csuse{@gls@combined@\@gls@combined@current@label @main}}{#2}% + \ifmultiglossaryentryglobal + \ifdefempty\@multi@glossaryentry@list + {\let\@multi@glossaryentry@list\@gls@combined@current@label}% + {% + \eappto\@multi@glossaryentry@list{,\expandonce\@gls@combined@current@label}% + }% + \else + \ifdefempty\@multi@glossaryentry@list + {\global\let\@multi@glossaryentry@list\@gls@combined@current@label}% + {% + \xappto\@multi@glossaryentry@list{,\expandonce\@gls@combined@current@label}% + }% + \fi +} +\newcommand*{\@glsxtr@multientry}[4]{% + \ifnum\@glsxtr@docdefval=1\relax + \bgroup + \def\@gls@combined@current@opts{#1}% + \def\@gls@combined@current@label{#2}% + \let\@multi@glossary@doifexists\@secondoftwo + \let\writemultiglossentry\@gobblefour + \multiglossaryentryglobaltrue + \@multi@glossary@entry{#3}{#4}% + \egroup + \fi +} +\newcommand*{\writemultiglossentry}[4]{% + \protected@write\@auxout{}{\string\@glsxtr@multientry{#1}{#2}{#3}{#4}}% +} +\newcommand*{\ifmglsused}[3]{% + \ifbool{@gls@combined@#1@flag}{#2}{#3}% +} +\newcommand*{\mglsunset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglsunset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +\newcommand*{\@mglsunset}[1]{% + \expandafter\global\csname @gls@combined@#1@flagtrue\endcsname +} +\newcommand*{\mglsreset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglsreset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +\newcommand*{\@mglsreset}[1]{% + \expandafter\global\csname @gls@combined@#1@flagfalse\endcsname +} +\newcommand*{\mglslocalunset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglslocalunset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +\newcommand*{\@mglslocalunset}[1]{% + \csname @gls@combined@#1@flagtrue\endcsname +} +\newcommand*{\mglslocalreset}[1]{% + \gls@ifnotmeasuring + {% + \glsxtrifmulti{#1}{\@mglslocalreset{#1}}% + {% + \glsxtrundefaction{Multi entry `#1' hasn't been defined}% + {You need to define `#1' with \string\multiglossaryentry}% + }% + }% +} +\newcommand*{\@mglslocalreset}[1]{% + \csname @gls@combined@#1@flagfalse\endcsname +} +\newcommand*{\mglsunsetall}{% + \@for\@mgls@thislabel:=\@multi@glossaryentry@list\do{\mglsunset\@mgls@thislabel}% +}% +\newcommand*{\mglsresetall}{% + \@for\@mgls@thislabel:=\@multi@glossaryentry@list\do{\mglsreset\@mgls@thislabel}% +}% +\newrobustcmd{\mglsSetMain}[2]{% + \ifcsundef{@gls@combined@#1@main}% + {\PackageError{glossaries-extra}{Multi-entry label `#1' not defined}{}}% + {% + \protected@edef\@gls@combined@current@main{#2}% + \letcs\@gls@combined@currentlist{@gls@combined@#1@list}% + \mglselementindex=0\relax + \count@=0\relax + \@for\@gls@tmp:=\@gls@combined@currentlist\do{% + \advance\mglselementindex by 1\relax + \ifx\@gls@combined@current@main\@gls@tmp + \count@=\mglselementindex\relax + \let\@gls@combined@finalitem\@gls@tmp + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@#1@main}\@gls@combined@current@main + \csxdef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \else + \cslet{@gls@combined@#1@main}\@gls@combined@current@main + \csedef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \fi + \else + \ifmultiglossaryentryglobal + \csxdef{@gls@combined@#1@lastotherindex}{\the\mglselementindex}% + \else + \csedef{@gls@combined@#1@lastotherindex}{\the\mglselementindex}% + \fi + \fi + }% + \ifnum\count@=0\relax + \PackageError{glossaries-extra}{Label `#2' is not in `#1' set + (\@gls@combined@currentlist)}{}% + \ifmultiglossaryentryglobal + \global\cslet{@gls@combined@#1@main}\@gls@combined@finalitem + \csxdef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \csxdef{@gls@combined@#1@lastotherindex}{% + \number\numexpr\mglselementindex-1 }% + \else + \cslet{@gls@combined@#1@main}\@gls@combined@finalitem + \csedef{@gls@combined@#1@mainindex}{\the\mglselementindex}% + \csedef{@gls@combined@#1@lastotherindex}{% + \number\numexpr\mglselementindex-1 }% + \fi + \fi + }% +} +\newrobustcmd{\mglsSetOptions}[2]{% + \ifcsundef{@gls@combined@#1@main}% + {\PackageError{glossaries-extra}{Multi-entry label `#1' not defined}{}}% + {% + \csdef{@gls@combined@#1@options}{#2}% + }% +} +\newrobustcmd{\mglsAddOptions}[2]{% + \ifcsundef{@gls@combined@#1@main}% + {\PackageError{glossaries-extra}{Multi-entry label `#1' not defined}{}}% + {% + \ifcsempty{@gls@combined@#1@options}% + {\csdef{@gls@combined@#1@options}{#2}}% + {\csappto{@gls@combined@#1@options}{,#2}}% + }% +} +\newcommand*{\@mgls@all}{} +\define@key{mgls}{all}{\renewcommand*{\@mgls@all}{#1}} +\newcommand*{\@mgls@main}{} +\define@key{mgls}{main}{\renewcommand*{\@mgls@main}{#1}} +\newcommand*{\@mgls@others}{} +\define@key{mgls}{others}{\renewcommand*{\@mgls@others}{#1}} +\newcommand*{\@mgls@setup}{} +\define@key{mgls}{setup}{% + \@mgls@setup@do{\renewcommand*{\@mgls@setup}{#1}}% +} +\newcommand*{\@mgls@setup@do}[1]{#1} +\newcommand*{\@mgls@setup@do@not}[1]{% + \PackageError{glossaries-extra}{`setup' key not permitted inside + `mglsopts' value}{}% +} +\newcommand*{\mgls@disable@setup}{% + \let\@mgls@setup@do\@mgls@setup@do@not +} +\newcommand*{\mgls@enable@setup}{% + \let\@mgls@setup@do\@firstofone +} +\newcommand\@mgls@unsetaction{0} +\define@choicekey{mgls}{multiunset}[\@mgls@unsetaction@val\@mgls@unsetaction]% + {global,local,none}{} +\define@boolkey{mgls}{presetlocal}[true]{} +\KV@mgls@presetlocalfalse +\newcommand*{\@mgls@hyper}{} +\define@choicekey{mgls}{hyper}[\@mgls@hyper@val\@mgls@hyper@nr]{true,false}[true]% +{% + \renewcommand*{\@mgls@hyper}{hyper=#1}% + \ifnum\@mgls@hyper@nr=1\relax + \let\@mgls@hyperlink\@secondoftwo + \else + \let\@mgls@hyperlink\@@mgls@hyperlink + \fi +} +\newcommand*{\@@mgls@hyperlink}[2]{% + \ifx\@glslink\glsdonohyperlink + #2% + \else + \glsxtr@org@dohyperlink{\glolinkprefix#1}{#2}% + \fi +} +\let\@mgls@hyperlink\@@mgls@hyperlink +\newcommand*{\mglsforelements}[3]{% + \expandafter\@for\expandafter#2\expandafter:\expandafter + =\csname @gls@combined@#1@list\endcsname\do{#3}% +} +\newcommand*{\mglsforotherelements}[3]{% + \expandafter\@for\expandafter#2\expandafter:\expandafter + =\csname @gls@combined@#1@list\endcsname\do + {\expandafter\ifdefequal\csname @gls@combined@#1@main\endcsname{#2}{}{#3}}% +} +\newcommand*{\mglsunsetothers}[1]{% + \mglsforotherelements{#1}{\@gls@tmp}{\glsunset{\@gls@tmp}}% +} +\newcommand*{\mglslocalunsetothers}[1]{% + \mglsforotherelements{#1}{\@gls@tmp}{\glslocalunset{\@gls@tmp}}% +} +\newcommand*{\mglselementreset}[1]{% + \ifKV@mgls@presetlocal + \glslocalreset{#1}% + \else + \glsreset{#1}% + \fi +} +\newcommand*{\mglselementunset}[1]{% + \ifKV@mgls@presetlocal + \glslocalunset{#1}% + \else + \glsunset{#1}% + \fi +} +\newcommand*{\@mgls@resetall}{} +\define@choicekey{mgls}{resetall}% +[\@mgls@resetall@val\@mgls@resetall@nr]{false,true}[true]% +{% + \ifcase\@mgls@resetall@nr\relax + \renewcommand*{\@mgls@resetall}{}% + \or + \renewcommand*{\@mgls@resetall}{% + \@for\@gls@resetlabel:=\mglscurrentlist\do{\mglselementreset\@gls@resetlabel}}% + \renewcommand*{\@mgls@unsetall}{}% + \fi +} +\newcommand*{\@mgls@resetmain}{} +\define@choicekey{mgls}{resetmain} +[\@mgls@resetmain@val\@mgls@resetmain@nr]{false,true}[true]% +{% + \ifcase\@mgls@resetmain@nr\relax + \renewcommand*{\@mgls@resetmain}{}% + \or + \renewcommand*{\@mgls@resetmain}{\mglselementreset\mglscurrentmainlabel}% + \renewcommand*{\@mgls@unsetmain}{}% + \fi +} +\newcommand*{\@mgls@resetothers}{} +\define@choicekey{mgls}{resetothers} +[\@mgls@resetothers@val\@mgls@resetothers@nr]{false,true}[true]% +{% + \ifcase\@mgls@resetothers@nr\relax + \renewcommand*{\@mgls@resetothers}{}% + \or + \renewcommand*{\@mgls@resetothers}{% + \@for\@gls@resetlabel:=\mglscurrentlist\do{% + \ifx\@gls@resetlabel\mglscurrentmainlabel + \else + \mglselementreset\@gls@resetlabel + \fi + }% + }% + \renewcommand*{\@mgls@unsetothers}{}% + \fi +} +\newcommand*{\@mgls@unsetall}{} +\define@choicekey{mgls}{unsetall}% +[\@mgls@unsetall@val\@mgls@unsetall@nr]{false,true}[true]% +{% + \ifcase\@mgls@unsetall@nr\relax + \renewcommand*{\@mgls@unsetall}{}% + \or + \renewcommand*{\@mgls@unsetall}{% + \@for\@gls@unsetlabel:=\mglscurrentlist\do{\mglselementunset\@gls@unsetlabel}}% + \renewcommand*{\@mgls@resetall}{}% + \fi +} +\newcommand*{\@mgls@unsetmain}{} +\define@choicekey{mgls}{unsetmain} +[\@mgls@unsetmain@val\@mgls@unsetmain@nr]{false,true}[true]% +{% + \ifcase\@mgls@unsetmain@nr\relax + \renewcommand*{\@mgls@unsetmain}{}% + \or + \renewcommand*{\@mgls@unsetmain}{\mglselementunset\mglscurrentmainlabel}% + \renewcommand*{\@mgls@resetmain}{}% + \fi +} +\newcommand*{\@mgls@unsetothers}{} +\define@choicekey{mgls}{unsetothers} +[\@mgls@unsetothers@val\@mgls@unsetothers@nr]{false,true}[true]% +{% + \ifcase\@mgls@unsetothers@nr\relax + \renewcommand*{\@mgls@unsetothers}{}% + \or + \renewcommand*{\@mgls@unsetothers}{% + \@for\@gls@unsetlabel:=\mglscurrentlist\do{% + \ifx\@gls@unsetlabel\mglscurrentmainlabel + \else + \mglselementunset\@gls@unsetlabel + \fi + }% + }% + \renewcommand*{\@mgls@resetothers}{}% + \fi +} +\newcommand{\glsxtr@setup@docurrent}{% + \ifx\mglscurrentlabel\mglscurrentmainlabel + \mglsisfirstuse + {% + \ifKV@glsxtrcombined@firstskipmain + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + {% + \ifKV@glsxtrcombined@usedskipmain + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + \else + \mglsisfirstuse + {% + \ifKV@glsxtrcombined@firstskipothers + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + {% + \ifKV@glsxtrcombined@usedskipothers + \let\@mgls@do@current@element\@gobble + \else + \let\@mgls@do@current@element\@firstofone + \fi + }% + \fi +} +\newcommand*{\glsxtr@mgls@checklastelement}[2]{% + \ifbool{KV@glsxtrcombined@#1skipmain}% + {% + \ifbool{KV@glsxtrcombined@#1skipothers}% + {% + }% + {% + \ifnum\mglselementindex=\glsxtrmultilastotherindex{#2}\relax + \let\mglsiflast\@firstoftwo + \else + \let\mglsiflast\@secondoftwo + \fi + }% + }% + {% + \ifbool{KV@glsxtrcombined@#1skipothers}% + {% + \ifnum\mglselementindex=\glsxtrmultimainindex{#2}\relax + \let\mglsiflast\@firstoftwo + \else + \let\mglsiflast\@secondoftwo + \fi + }% + {% + \let\mglsiflast\@secondoftwo + }% + }% +} +\newcommand{\glsxtrmglsWarnAllSkipped}[3]{% + \GlossariesExtraWarning{#1}% + #3{#2}% +} +\newcommand*{\glsxtr@mgls@applyopts}[1]{% + \edef\@mgls@dooptions{\noexpand\setkeys*{mgls}{\expandonce#1}}% + \@mgls@dooptions + \ifdefvoid\XKV@rm{}{\eappto\@mgls@all{,\expandonce\XKV@rm}}% + \ifdefvoid\@mgls@setup + {}% + {% + \edef\@mgls@dooptions{% + \noexpand\setkeys*{glsxtrcombinedpreopts}{\expandonce\@mgls@setup}}% + \mgls@disable@mglsopts + \@mgls@dooptions + \mgls@enable@mglsopts + \ifx\@mgls@setupoptions\@empty + \let\@mgls@setupoptions\XKV@rm + \else + \eappto\@mgls@setupoptions{,\expandonce\XKV@rm}% + \fi + }% + \@mgls@resetall + \@mgls@unsetall + \@mgls@resetmain + \@mgls@unsetmain + \@mgls@resetothers + \@mgls@unsetothers + \let\@mgls@resetall\@empty + \let\@mgls@resetmain\@empty + \let\@mgls@resetothers\@empty + \let\@mgls@unsetall\@empty + \let\@mgls@unsetmain\@empty + \let\@mgls@unsetothers\@empty + \ifmglsused\mglscurrentmultilabel + {\let\mglsisfirstuse\@secondoftwo}% + {\let\mglsisfirstuse\@firstoftwo}% +} +\providecommand{\@firstofthree}[3]{#1} +\providecommand{\@secondofthree}[3]{#2} +\providecommand{\@thirdofthree}[3]{#3} +\newcommand*{\glsxtr@mgls@inner}[7]{% + \let\mglslastmainlabel\@empty + \let\mglsiflastmainwasfirstuse\@firstoftwo + \let\mglsiflastmainwasplural\@secondoftwo + \let\mglsiflastmaincapscase\@firstofthree + \let\mglsiflastmainskipped\@firstoftwo + \bgroup + \ifcsundef{@gls@combined@#2@main}% + {% + \glsxtrundefaction{Multi entry `#2' hasn't been defined}% + {You need to define `#2' with \string\multiglossaryentry}% + \gdef\@mgls@post@hookdefs{% + \protected@edef\mglslastmultilabel{#2}% + \let\mglswasfirstuse\@firstoftwo + \let\mglslastcategory\@empty + \let\mglsiflastelementskipped\@firstoftwo + \let\mglsiflastelementwasfirstuse\@firstoftwo + \let\mglsiflastelementwasplural\@secondoftwo + \let\mglsiflastelementcapscase\@firstofthree + \let\mglslastelementlabel\@empty + \let\mgls@do@postlinkhook\relax + }% + }% + {% + \protected@edef\mglscurrentmultilabel{#2}% + \letcs\mglscurrentmainlabel{@gls@combined@#2@main}% + \letcs\mglscurrentlist{@gls@combined@#2@list}% + \letcs\mglscurrentoptions{@gls@combined@#2@options}% + \ifmglsused\mglscurrentmultilabel + {\let\mglsisfirstuse\@secondoftwo}% + {\let\mglsisfirstuse\@firstoftwo}% + \edef\@mgls@dooptions{% + \noexpand\setkeys*{glsxtrcombinedpreopts}{\expandonce\mglscurrentoptions}}% + \@mgls@dooptions + \let\@mgls@setupoptions\XKV@rm + \mgls@disable@setup + \ifdefvoid\@gls@combined@mglsopts + {}% + {\glsxtr@mgls@applyopts\@gls@combined@mglsopts}% + \mgls@enable@setup + \ifstrempty{#1}{}{\def\@mgls@options{#1}\glsxtr@mgls@applyopts\@mgls@options}% + \ifx\@gls@combined@category\empty + \else + \glshascategoryattribute{\@gls@combined@category}{multioptions}% + {% + \letcs\@mgls@attroptions{@glsxtr@categoryattr@@\@gls@combined@category + @multioptions}% + \let\@gls@combined@mglsopts\@empty + \edef\@mgls@dooptions{% + \noexpand\setkeys*{glsxtrcombinedpreopts}{\expandonce\@mgls@attroptions}}% + \@mgls@dooptions + \eappto\@mgls@setupoptions{,\expandonce\XKV@rm}% + \ifx\@gls@combined@mglsopts\@empty + \else + \let\@mgls@setup\@empty + \mgls@disable@setup + \glsxtr@mgls@applyopts\@gls@combined@mglsopts + \mgls@enable@setup + \fi + }% + {}% + \fi + \edef\@mgls@dooptions{% + \noexpand\setkeys{glsxtrcombined}{\expandonce\@mgls@setupoptions}}% + \@mgls@dooptions + \let\mglscurrentcategory\@gls@combined@category + \ifnum\@gls@combined@hyper=1\relax + \def\@mgls@combinedlink{\@mgls@hyperlink{\mglscurrentmainlabel}}% + \else + \def\@mgls@combinedlink{\@firstofone}% + \fi + \def\@gls@combined@encapsulator##1{% + \@mgls@combinedlink{\csuse{\@gls@combined@textformat}{##1}}}% + \let\@mgls@do@current@element\@firstofone + \mglsisfirstuse + {% + \ifKV@glsxtrcombined@firstskipmain + \ifKV@glsxtrcombined@firstskipothers + \let\@gls@org@combined@encapsulator\@gls@combined@encapsulator + \def\@gls@combined@encapsulator##1{% + \glsxtrmglsWarnAllSkipped{All elements skipped for + first use of multi-entry `#2'}{#3}% + {\@gls@org@combined@encapsulator}% + }% + \let\@mgls@do@current@element\@gobble + \fi + \fi + }% + {% + \ifKV@glsxtrcombined@usedskipmain + \ifKV@glsxtrcombined@usedskipothers + \let\@gls@org@combined@encapsulator\@gls@combined@encapsulator + \def\@gls@combined@encapsulator##1{% + \glsxtrmglsWarnAllSkipped{All elements skipped for + subsequent use of multi-entry `#2'}{#3}% + {\@gls@org@combined@encapsulator}% + }% + \let\@mgls@do@current@element\@gobble + \fi + \fi + }% + \mglsisfirstuse + {% + \let\mglscurrentprefix\@gls@combined@firstprefix + \let\mglscurrentsuffix\@gls@combined@firstsuffix + }% + {% + \let\mglscurrentprefix\@gls@combined@usedprefix + \let\mglscurrentsuffix\@gls@combined@usedsuffix + }% + \xdef\@mgls@post@hookdefs{% + \noexpand\def\noexpand\mglslastmultilabel{\expandonce\mglscurrentmultilabel}% + \noexpand\def\noexpand\mglslastcategory{\mglscurrentcategory}% + }% + \ifx\@mgls@do@current@element\@gobble + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementskipped\@firstoftwo + \let\mglslastelementlabel\@empty + \let\mglsiflastelementwasfirstuse\@firstoftwo + \let\mglsiflastelementwasplural\@secondoftwo + \let\mglsiflastelementcapscase\@firstofthree + }% + \fi + \mglsisfirstuse + {% + \gappto\@mgls@post@hookdefs{\let\mglswasfirstuse\@firstoftwo}% + \ifcase\@gls@combined@mpostlink@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \or + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \or + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \fi + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglswasfirstuse\@secondoftwo}% + \ifcase\@gls@combined@mpostlink@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \or + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\relax}% + \or + \ifcase\@gls@combined@mpostlinkelement@nr\relax + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastelementpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglslastmainpostlinkhook}% + \or + \gappto\@mgls@post@hookdefs{\let\mgls@do@postlinkhook\mglscustompostlinkhook}% + \fi + \fi + }% + \let\mgls@org@postlinkhook\glspostlinkhook + \mglsprefix + \let\mglslastelementlabel\@empty + \@gls@combined@encapsulator + {% + \def\@mgls@previouslabel{}% + \mglselementindex=0\relax + \@for\mglscurrentlabel:=\mglscurrentlist\do{% + \advance\mglselementindex by 1\relax + \glsxtr@setup@docurrent + \ifx\@xfor@nextelement\@nnil + \let\mglsiflast\@firstoftwo + \else + \let\mglsiflast\@secondoftwo + \mglsisfirstuse + {% + \glsxtr@mgls@checklastelement{first}{#2}% + }% + {% + \glsxtr@mgls@checklastelement{used}{#2}% + }% + \fi + \ifcase\@gls@combined@postlinks@nr\relax + \let\glspostlinkhook\relax + \or + \let\glspostlinkhook\mgls@org@postlinkhook + \or + \mglsiflast + {% + \let\glspostlinkhook\relax + }% + {% + \let\glspostlinkhook\mgls@org@postlinkhook + }% + \or + \ifx\mglscurrentlabel\mglscurrentmainlabel + \mglsiflast + {% + \let\glspostlinkhook\relax + }% + {% + \let\glspostlinkhook\mgls@org@postlinkhook + }% + \else + \let\glspostlinkhook\relax + \fi + \or + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\glspostlinkhook\mgls@org@postlinkhook + \else + \let\glspostlinkhook\relax + \fi + \or + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\glspostlinkhook\relax + \else + \mglsiflast + {% + \let\glspostlinkhook\relax + }% + {% + \let\glspostlinkhook\mgls@org@postlinkhook + }% + \fi + \or + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\glspostlinkhook\relax + \else + \let\glspostlinkhook\mgls@org@postlinkhook + \fi + \fi + \mglsiflast + {% + \xappto\@mgls@post@hookdefs{% + \noexpand\def\noexpand\mglslastelementlabel + {\expandonce\mglscurrentlabel}}% + }% + {}% + \@mgls@do@current@element + {% + \mglselementprehook + \GlsXtrIfUnusedOrUndefined{\mglscurrentlabel}% + {\let\@mgls@current@iffirstuse\@firstoftwo}% + {\let\@mgls@current@iffirstuse\@secondoftwo}% + \ifx\mglscurrentlabel\mglscurrentmainlabel + \edef\@mgls@current@options{format=\@gls@combined@encapmain}% + \ifcase\@gls@combined@indexmain + \appto\@mgls@current@options{,noindex}% + \or + \appto\@mgls@current@options{,noindex=false}% + \or + \@mgls@current@iffirstuse + {\appto\@mgls@current@options{,noindex=false}}% + {\appto\@mgls@current@options{,noindex}}% + \fi + \ifcase\@gls@combined@hyper\relax + \appto\@mgls@current@options{,hyper=false}% none + \or + \appto\@mgls@current@options{,hyper=false}% allmain + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% mainonly + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% individual + \or + \appto\@mgls@current@options{,hyper=false}% otheronly + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% notmainfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% notmainfirst + }% + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% nototherfirst + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% notfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% notfirst + }% + \fi + \eappto\@mgls@current@options{,\@mgls@all,\@mgls@main}% + \else + \edef\@mgls@current@options{format=\@gls@combined@encapothers}% + \ifcase\@gls@combined@indexothers\relax + \appto\@mgls@current@options{,noindex}% + \or + \appto\@mgls@current@options{,noindex=false}% + \or + \@mgls@current@iffirstuse + {\appto\@mgls@current@options{,noindex=false}}% + {\appto\@mgls@current@options{,noindex}}% + \fi + \ifcase\@gls@combined@hyper\relax + \appto\@mgls@current@options{,hyper=false}% none + \or + \appto\@mgls@current@options{,hyper=false}% allmain + \or + \appto\@mgls@current@options{,hyper=false}% mainonly + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% individual + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% otheronly + \or + \eappto\@mgls@current@options{,\@mgls@hyper}% notmainfirst + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% nototherfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% nototherfirst + }% + \or + \mglsisfirstuse + {% + \appto\@mgls@current@options{,hyper=false}% notfirst + }% + {% + \eappto\@mgls@current@options{,\@mgls@hyper}% notfirst + }% + \fi + \eappto\@mgls@current@options{,\@mgls@all,\@mgls@others}% + \fi + \ifx\@mgls@previouslabel\empty + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\@mgls@cs#6\relax + \else + \let\@mgls@cs#4\relax + \fi + \else + \@mgls@previous@iffirstuse + {% + \@mgls@current@iffirstuse + {\glscombinedfirstsepfirst{\@mgls@previouslabel}{\mglscurrentlabel}}% + {\glscombinedfirstsep{\@mgls@previouslabel}{\mglscurrentlabel}}% + }% + {% + \@mgls@current@iffirstuse + {\glscombinedsepfirst{\@mgls@previouslabel}{\mglscurrentlabel}}% + {\glscombinedsep{\@mgls@previouslabel}{\mglscurrentlabel}}% + }% + \ifx\mglscurrentlabel\mglscurrentmainlabel + \let\@mgls@cs#7\relax + \else + \let\@mgls@cs#5\relax + \fi + \fi + \mglsiflast + {\expandafter\@mgls@cs\expandafter{\@mgls@current@options}{\mglscurrentlabel}[#3]}% + {\expandafter\@mgls@cs\expandafter{\@mgls@current@options}{\mglscurrentlabel}[]}% + \ifx\mglscurrentlabel\mglscurrentmainlabel + \xappto\@mgls@post@hookdefs{% + \noexpand\def\noexpand\mglslastmainlabel + {\expandonce\mglscurrentmainlabel}% + }% + \glsxtrifwasfirstuse + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasfirstuse\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasfirstuse\@secondoftwo}% + }% + \glsifplural + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasplural\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainwasplural\@secondoftwo}% + }% + \glscapscase + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastmaincapscase\@firstofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastmaincapscase\@secondofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastmaincapscase\@thirdofthree + }% + }% + \fi + \let\@mgls@previouslabel\mglscurrentlabel + \let\@mgls@previous@iffirstuse\@mgls@current@iffirstuse + }% + \mglselementposthook + }% + \ifx\mglslastmainlabel\@empty + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainskipped\@firstoftwo}% + \else + \gappto\@mgls@post@hookdefs{\let\mglsiflastmainskipped\@secondoftwo}% + \fi + \ifx\@mgls@do@current@element\@gobble + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementskipped\@firstoftwo}% + \else + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementskipped\@secondoftwo}% + \fi + \glsxtrifwasfirstuse + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasfirstuse\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasfirstuse\@secondoftwo}% + }% + \glsifplural + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasplural\@firstoftwo}% + }% + {% + \gappto\@mgls@post@hookdefs{\let\mglsiflastelementwasplural\@secondoftwo}% + }% + \glscapscase + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementcapscase\@firstofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementcapscase\@secondofthree + }% + }% + {% + \gappto\@mgls@post@hookdefs{% + \let\mglsiflastelementcapscase\@thirdofthree + }% + }% + }% + \@mgls@post@hookdefs + \mglssuffix + \ifcase\@mgls@unsetaction\relax + \xappto\@mgls@post@hookdefs{% + \noexpand\mglsunset{\expandonce\mglscurrentmultilabel}}% + \or + \xappto\@mgls@post@hookdefs{% + \noexpand\mglslocalunset{\expandonce\mglscurrentmultilabel}}% + \fi + }% + \glsxtrmglswrite{#2}% + \egroup + \@mgls@post@hookdefs + \mgls@do@postlinkhook +} +\newcommand*{\mglscustompostlinkhook}{} +\newcommand*{\mglslastelementpostlinkhook}{% + \let\glsxtrifwasfirstuse\mglsiflastelementwasfirstuse + \let\glsifplural\mglsiflastelementwasplural + \let\glscapscase\mglsiflastelementcapscase + \let\glslabel\mglslastelementlabel + \glspostlinkhook +} +\newcommand*{\mglslastmainpostlinkhook}{% + \let\glsxtrifwasfirstuse\mglsiflastmainwasfirstuse + \let\glsifplural\mglsiflastmainwasplural + \let\glscapscase\mglsiflastmaincapscase + \let\glslabel\mglslastmainlabel + \glspostlinkhook +} +\newcommand*{\mglsdefcategoryprefix}[2]{% + \csdef{mglsprefix@#1}{#2}% +} +\newcommand*{\mglshascategoryprefix}[3]{% + \ifcsdef{mglsprefix@#1}{#2}{#3}% +} +\newcommand*{\mglsusecategoryprefix}[1]{% + \csuse{mglsprefix@#1}% +} +\newcommand*{\mglsprefix}{% + \ifdefempty\mglscurrentcategory + {\mglscurrentprefix}% + {% + \mglshascategoryprefix{\mglscurrentcategory}% + {\mglsusecategoryprefix{\mglscurrentcategory}}% + {\mglscurrentprefix}% + }% +} +\newcommand*{\mglsdefcategorysuffix}[2]{% + \csdef{mglssuffix@#1}{#2}% +} +\newcommand*{\mglshascategorysuffix}[3]{% + \ifcsdef{mglssuffix@#1}{#2}{#3}% +} +\newcommand*{\mglsusecategorysuffix}[1]{% + \csuse{mglssuffix@#1}% +} +\newcommand*{\mglssuffix}{% + \ifdefempty\mglscurrentcategory + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}% + {% + \mglshascategorysuffix{\mglscurrentcategory}% + {\mglsusecategorysuffix{\mglscurrentcategory}}% + {\ifdefempty{\mglscurrentsuffix}{}{\space(\mglscurrentsuffix)}}% + }% +} +\newcommand*{\mglselementprehook}{} +\newcommand*{\mglselementposthook}{} +\newcommand*{\glscombinedsep}[2]{% + \glshasattribute{#1}{combinedsep}% + {\glsgetattribute{#1}{combinedsep}}% + { }% +} +\newcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{#1}{combinedfirstsepfirst}% + {\glsgetattribute{#1}{combinedfirstsepfirst}}% + {\glscombinedsep{#1}{#2}}% +} +\newcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{#1}{combinedfirstsep}% + {\glsgetattribute{#1}{combinedfirstsep}}% + {\glscombinedsep{#1}{#2}}% +} +\newcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{#1}{combinedsepfirst}% + {\glsgetattribute{#1}{combinedsepfirst}}% + {\glscombinedsep{#1}{#2}}% +} +\newcommand*{\glssetcombinedsepabbrvnbsp}{% + \renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{##1}{combinedsep}% + {\glsgetattribute{##1}{combinedsep}}% + {\ifhasshort{##1}{~}{ }}% + }% + \renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {\ifhasshort{##1}{~}{ }}% + }% + \renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + { }% + }% + \renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + { }% + }% +} +\newcommand*{\glssetcombinedsepabbrvnone}{% + \renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{##1}{combinedsep}% + {\glsgetattribute{##1}{combinedsep}}% + {\ifhasshort{##1}{}{\ifhasshort{##2}{}{ }}}% + }% + \renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {\ifhasshort{##1}{}{ }}% + }% + \renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + {\ifhasshort{##2}{}{ }}% + }% + \renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + { }% + }% +} +\newcommand*{\glssetcombinedsepnarrow}[2]{% + \renewcommand*{\glscombinedsep}[2]{% + \glshasattribute{##1}{combinedsep}% + {\glsgetattribute{##1}{combinedsep}}% + {% + \ifhasshort{##1}% + {\settowidth{\dimen@}{\glsentryshort{##1}}}% + {\settowidth{\dimen@}{\glsentrytext{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhasshort{##2}% + {\settowidth{\dimen@}{\glsentryshort{##2}}}% + {\settowidth{\dimen@}{\glsentrytext{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% + \renewcommand*{\glscombinedsepfirst}[2]{% + \glshasattribute{##1}{combinedsepfirst}% + {\glsgetattribute{##1}{combinedsepfirst}}% + {% + \ifhasshort{##1}% + {\settowidth{\dimen@}{\glsentryshort{##1}}}% + {\settowidth{\dimen@}{\glsentrytext{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhaslong{##2}% + {\settowidth{\dimen@}{\glsentrylong{##2}}}% + {\settowidth{\dimen@}{\glsentryfirst{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% + \renewcommand*{\glscombinedfirstsep}[2]{% + \glshasattribute{##1}{combinedfirstsep}% + {\glsgetattribute{##1}{combinedfirstsep}}% + {% + \ifhaslong{##1}% + {\settowidth{\dimen@}{\glsentrylong{##1}}}% + {\settowidth{\dimen@}{\glsentryfirst{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhasshort{##2}% + {\settowidth{\dimen@}{\glsentryshort{##2}}}% + {\settowidth{\dimen@}{\glsentrytext{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% + \renewcommand*{\glscombinedfirstsepfirst}[2]{% + \glshasattribute{##1}{combinedfirstsepfirst}% + {\glsgetattribute{##1}{combinedfirstsepfirst}}% + {% + \ifhaslong{##1}% + {\settowidth{\dimen@}{\glsentrylong{##1}}}% + {\settowidth{\dimen@}{\glsentryfirst{##1}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \ifhaslong{##2}% + {\settowidth{\dimen@}{\glsentrylong{##2}}}% + {\settowidth{\dimen@}{\glsentryfirst{##2}}}% + \ifdim\dimen@<#1\relax + #2% + \else + \space + \fi + \fi + }% + }% +} +\newcommand{\glsxtrmglswrite}[1]{% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@off + \else + \protected@edef\@glsxtr@mglslabel{#1}% + \ifdef\@glsxtr@mglsreflist + {% + \expandafter\DTLifinlist\expandafter{\@glsxtr@mglslabel}% + {\@glsxtr@mglsreflist}{}% + {% + \xappto\@glsxtr@mglsreflist{,\expandonce\@glsxtr@mglslabel}% + \if@mgls@writeseparaterefs + \protected@write\@auxout{}{\string\@glsxtr@mglsrefs{#1}}% + \fi + }% + }% + {% + \global\let\@glsxtr@mglsreflist\@glsxtr@mglslabel + \if@mgls@writeseparaterefs + \protected@write\@auxout{}{\string\@glsxtr@mglsrefs{#1}}% + \else + \AtEndDocument{\immediate\protected@write\@auxout{}% + {\string\@glsxtr@mglsrefs{\@glsxtr@mglsreflist}}}% + \fi + \@mgls@disable@writeseparateref@cond + }% + \fi +} +\newcommand{\@glsxtr@mglsrefs}[1]{} +\newif\if@mgls@writeseparaterefs \@mgls@writeseparaterefsfalse +\newcommand{\mglsWriteSeparateRefsTrue}{\global\@mgls@writeseparaterefstrue} +\newcommand{\mglsWriteSeparateRefsFalse}{\global\@mgls@writeseparaterefsfalse} +\newcommand*{\@mgls@disable@writeseparateref@cond}{% + \gdef\mglsWriteSeparateRefsTrue{\PackageError{glossaries-extra}% + {Too late to use \string\mglsWriteSeparateRefsTrue}% + {\string\mglsWriteSeparateRefsTrue\space can only be used before + the first instance of any \string\mgls-like command}}% + \gdef\mglsWriteSeparateRefsFalse{\PackageError{glossaries-extra}% + {Too late to use \string\mglsWriteSeparateRefsFalse}% + {\string\mglsWriteSeparateRefsFalse\space can only be used before + the first instance of any \string\mgls-like command}}% +} +\newcommand{\glsxtr@newmgls}[5]{% + \edef\@glsxr@newmgls@do{% + \noexpand\newrobustcmd*{\expandonce{\csname #1\endcsname}}% + {\noexpand\@gls@hyp@opt\expandonce{\csname ns@glsxtr@#1\endcsname}}% + \noexpand\newcommand*{\expandonce{\csname ns@glsxtr@#1\endcsname}}[2][]{% + \noexpand\new@ifnextchar[% + {\expandonce{\csname glsxtr@#1\endcsname}{####1}{####2}}% + {\expandonce{\csname glsxtr@#1\endcsname}{####1}{####2}[]}% + }% + \noexpand\def\expandonce{\csname glsxtr@#1\endcsname}####1####2[####3]{% + \noexpand\def\noexpand\glsxtrcurrentmglscsname{#1}% + \noexpand\glsxtr@mgls@inner{####1}{####2}{####3}% + {\noexpand#2}{\noexpand#3}{\noexpand#4}{\noexpand#5}% + }% + }% + \@glsxr@newmgls@do + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@off + \else + \ifdef\@glsxtr@mglslikelist + {\xappto\@glsxtr@mglslikelist{,#1}}% + {% + \gdef\@glsxtr@mglslikelist{#1}% + \AtEndDocument{\immediate\protected@write\@auxout{}% + {\string\@glsxtr@mglslike{\@glsxtr@mglslikelist}}}% + }% + \fi +} +\newcommand*{\@glsxtr@mglslike}[1]{} +\newcommand*{\GlsXtrMglsOrGls}[2]{% + \def\@glsxtr@mgls@or@gls@mcs{#1}% + \def\@glsxtr@mgls@or@gls@gcs{#2}% + \@ifstar{\s@GlsXtrMglsOrGls}% + {% + \@ifnextchar+{\PLUS\@firstoftwo{\p@GlsXtrMglsOrGls}}% + {% + \ifdefempty\@gls@alt@hyp@opt@char\@GlsXtrMglsOrGls\alt@GlsXtrMglsOrGls + }% + }% +} +\newcommand*{\alt@GlsXtrMglsOrGls}{ + \expandafter\@ifnextchar\@gls@alt@hyp@opt@char + {\@firstoftwo{\@alt@GlsXtrMglsOrGls}}{\@GlsXtrMglsOrGls}% +} +\newcommand*{\@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\@glsxtr@mgls@or@gls@mcs[#1]{#2}}% + {\@glsxtr@mgls@or@gls@gcs[#1]{#2}}% +} +\newcommand*{\s@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\@glsxtr@mgls@or@gls@mcs*[#1]{#2}}% + {\@glsxtr@mgls@or@gls@gcs*[#1]{#2}}% +} +\newcommand*{\p@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\@glsxtr@mgls@or@gls@mcs+[#1]{#2}}% + {\@glsxtr@mgls@or@gls@gcs+[#1]{#2}}% +} +\newcommand*{\@alt@GlsXtrMglsOrGls}[2][]{% + \glsxtrifmulti{#2}% + {\expandafter\@glsxtr@mgls@or@gls@mcs\@gls@alt@hyp@opt@char[#1]{#2}}% + {\expandafter\@glsxtr@mgls@or@gls@gcs\@gls@alt@hyp@opt@char[#1]{#2}}% +} +\glsxtr@newmgls{mgls}{\@gls@}{\@gls@}{\@gls@}{\@gls@}% +\glsxtr@newmgls{mglspl}{\@glspl@}{\@glspl@}{\@glspl@}{\@glspl@}% +\glsxtr@newmgls{mglsmainpl}{\@gls@}{\@gls@}{\@glspl@}{\@glspl@}% +\glsxtr@newmgls{Mgls}{\@Gls@}{\@gls@}{\@Gls@}{\@gls@}% +\glsxtr@newmgls{Mglspl}{\@Glspl@}{\@glspl@}{\@Glspl@}{\@glspl@}% +\glsxtr@newmgls{Mglsmainpl}{\@Gls@}{\@gls@}{\@Glspl@}{\@glspl@}% +\glsxtr@newmgls{MGls}{\@Gls@}{\@Gls@}{\@Gls@}{\@Gls@}% +\glsxtr@newmgls{MGlspl}{\@Glspl@}{\@Glspl@}{\@Glspl@}{\@Glspl@}% +\glsxtr@newmgls{MGlsmainpl}{\@Gls@}{\@Gls@}{\@Glspl@}{\@Glspl@}% +\glsxtr@newmgls{MGLS}{\@GLS@}{\@GLS@}{\@GLS@}{\@GLS@}% +\glsxtr@newmgls{MGLSpl}{\@GLSpl@}{\@GLSpl@}{\@GLSpl@}{\@GLSpl@}% +\glsxtr@newmgls{MGLSmainpl}{\@GLS@}{\@GLS@}{\@GLSpl@}{\@GLSpl@}% +\def\@glslongortext#1#2[#3]{% + \ifglshaslong{#2}{\@glsxtrlong{#1}{#2}[#3]}{\@glstext@{#1}{#2}[#3]}% +} +\def\@glsshortortext#1#2[#3]{% + \ifglshasshort{#2}{\@glsxtrshort{#1}{#2}[#3]}{\@glstext@{#1}{#2}[#3]}% +} +\def\@glsfullorfirst#1#2[#3]{% + \ifglshasshort{#2}{\@glsxtr@full{#1}{#2}[#3]}{\@glsfirst@{#1}{#2}[#3]}% +} +\def\@Glslongortext#1#2[#3]{% + \ifglshaslong{#2}{\@Glsxtrlong{#1}{#2}[#3]}{\@Glstext@{#1}{#2}[#3]}% +} +\def\@Glsshortortext#1#2[#3]{% + \ifglshasshort{#2}{\@Glsxtrshort{#1}{#2}[#3]}{\@Glstext@{#1}{#2}[#3]}% +} +\def\@Glsfullorfirst#1#2[#3]{% + \ifglshasshort{#2}{\@Glsxtr@full{#1}{#2}[#3]}{\@Glsfirst@{#1}{#2}[#3]}% +} +\glsxtr@newmgls{mglsshort}% +{\@glsshortortext}{\@glsshortortext}{\@glsshortortext}{\@glsshortortext}% +\glsxtr@newmgls{mglslong}% +{\@glslongortext}{\@glslongortext}{\@glslongortext}{\@glslongortext}% +\glsxtr@newmgls{mglsfull}% +{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}% +\glsxtr@newmgls{Mglsshort}% +{\@Glsshortortext}{\@glsshortortext}{\@Glsshortortext}{\@glsshortortext}% +\glsxtr@newmgls{Mglslong}% +{\@Glslongortext}{\@glslongortext}{\@Glslongortext}{\@glslongortext}% +\glsxtr@newmgls{Mglsfull}% +{\@Glsfullorfirst}{\@glsfullorfirst}{\@Glsfullorfirst}{\@glsfullorfirst}% +\glsxtr@newmgls{mglsname}% + {\@glsname@}{\@glsname@}{\@glsname@}{\@glsname@}% +\glsxtr@newmgls{Mglsname}% + {\@Glsname@}{\@glsname@}{\@Glsname@}{\@glsname@}% +\glsxtr@newmgls{MGlsname}% + {\@Glsname@}{\@Glsname@}{\@Glsname@}{\@Glsname@}% +\def\@glssymbolorgls#1#2[#3]{% + \ifglshassymbol{#2}{\@glssymbol@{#1}{#2}[#3]}{\@gls@{#1}{#2}[#3]}% +} +\def\@glssymbolorGls#1#2[#3]{% + \ifglshassymbol{#2}{\@glssymbol@{#1}{#2}[#3]}{\@Gls@{#1}{#2}[#3]}% +} +\glsxtr@newmgls{mglssymbol}% + {\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}% +\glsxtr@newmgls{Mglssymbol}% + {\@glssymbolorGls}{\@glssymbolorgls}{\@glssymbolorGls}{\@glssymbolorgls}% +\glsxtr@newmgls{MGlssymbol}% + {\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}% +\newcommand{\mglsfield}{useri} +\def\@glsfieldorgls#1#2[#3]{% + \glsxtrifhasfield{\mglsfield}{#2}% + {\@glsdisp[#1]{#2}{\glscurrentfieldvalue#3}}% + {\@gls@{#1}{#2}[#3]}% +} +\def\@Glsfieldorgls#1#2[#3]{% + \glsxtrifhasfield{\mglsfield}{#2}% + {\@glsdisp[#1]{#2}{\xmakefirstuc\glscurrentfieldvalue#3}}% + {\@Gls@{#1}{#2}[#3]}% +} +\glsxtr@newmgls{mglsusefield}% + {\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}% +\glsxtr@newmgls{Mglsusefield}% + {\@Glsfieldorgls}{\@glsfieldorgls}{\@Glsfieldorgls}{\@glsfieldorgls}% +\glsxtr@newmgls{MGlsusefield}% + {\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}% +\newcommand*{\mpglsWarning}{% + \GlossariesExtraWarning{glossaries-prefix.sty is required for + \string\mpgls\space family of commands (either load after + glossaries-extra.sty or use the `prefix' package option)}% +} +\def\@pglsorgls#1#2[#3]{% + \ifdef\@pgls@{\@pgls@{#1}{#2}[#3]}{\mpglsWarning\@gls@{#1}{#2}[#3]}% +} +\def\@pglsorglspl#1#2[#3]{% + \ifdef\@pglspl@{\@pglspl@{#1}{#2}[#3]}{\mpglsWarning\@glspl@{#1}{#2}[#3]}% +} +\def\@Pglsorgls#1#2[#3]{% + \ifdef\@Pgls@{\@Pgls@{#1}{#2}[#3]}{\mpglsWarning\@Gls@{#1}{#2}[#3]}% +} +\def\@pglsorglspl#1#2[#3]{% + \ifdef\@pglspl@{\@pglspl@{#1}{#2}[#3]}{\mpglsWarning\@glspl@{#1}{#2}[#3]}% +} +\def\@Pglsorglspl#1#2[#3]{% + \ifdef\@Pglspl@{\@Pglspl@{#1}{#2}[#3]}{\mpglsWarning\@Glspl@{#1}{#2}[#3]}% +} +\def\@PGLSorgls#1#2[#3]{% + \ifdef\@PGLS@{\@PGLS@{#1}{#2}[#3]}{\mpglsWarning\@GLS@{#1}{#2}[#3]}% +} +\def\@PGLSorglspl#1#2[#3]{% + \ifdef\@PGLSpl@{\@PGLSpl@{#1}{#2}[#3]}{\mpglsWarning\@GLSpl@{#1}{#2}[#3]}% +} +\glsxtr@newmgls{mpgls}{\@pglsorgls@}{\@gls@}{\@pglsorgls@}{\@gls@}% +\glsxtr@newmgls{mpglspl}{\@pglsorglspl@}{\@glspl@}{\@pglsorglspl@}{\@glspl@}% +\glsxtr@newmgls{mpglsmainpl}{\@pglsorgls@}{\@gls@}{\@pglsorglspl@}{\@glspl@}% +\glsxtr@newmgls{Mpgls}{\@Pglsorgls@}{\@gls@}{\@Pglsorgls@}{\@gls@}% +\glsxtr@newmgls{Mpglspl}{\@Pglsorglspl@}{\@glspl@}{\@Pglsorglspl@}{\@glspl@}% +\glsxtr@newmgls{Mpglsmainpl}{\@Pglsorgls@}{\@gls@}{\@Pglsorglspl@}{\@glspl@}% +\glsxtr@newmgls{MPGls}{\@Pglsorgls@}{\@Gls@}{\@Pglsorgls@}{\@Gls@}% +\glsxtr@newmgls{MPGlspl}{\@Pglsorglspl@}{\@Glspl@}{\@Pglsorglspl@}{\@Glspl@}% +\glsxtr@newmgls{MPGlsmainpl}{\@Pglsorgls@}{\@Gls@}{\@Pglsorglspl@}{\@Glspl@}% +\glsxtr@newmgls{MPGLS}{\@PGLSorgls@}{\@GLS@}{\@PGLSorgls@}{\@GLS@}% +\glsxtr@newmgls{MPGLSpl}{\@PGLSorglspl@}{\@GLSpl@}{\@PGLSorglspl@}{\@GLSpl@}% +\glsxtr@newmgls{MPGLSmainpl}{\@PGLSorgls@}{\@GLS@}{\@PGLSorglspl@}{\@GLSpl@}% +\newcommand*{\RequireGlossariesExtraLang}[1]{% + \@ifundefined{ver@glossariesxtr-#1.ldf}{\input{glossariesxtr-#1.ldf}}{}% +} +\newcommand*{\ProvidesGlossariesExtraLang}[1]{% + \ProvidesFile{glossariesxtr-#1.ldf}% +} +\newcommand{\glsxtr@loaddialect}{% + \IfTrackedLanguageFileExists{\this@dialect}% + {glossariesxtr-}% prefix + {.ldf}% + {% + \RequireGlossariesExtraLang{\CurrentTrackedTag}% + }% + {}% not found + \@glsxtrdialecthook +} +\@ifpackageloaded{tracklang} {% + \AnyTrackedLanguages + {% + \ForEachTrackedDialect{\this@dialect}{\glsxtr@loaddialect}% + }% + {}% +} {} +\@glsxtr@redefstyles +\@glsxtr@do@style +\endinput +%% +%% End of file `glossaries-extra-2021-11-22.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def new file mode 100644 index 00000000000..0ff1469306d --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-abbrstyles.def @@ -0,0 +1,6251 @@ +%% +%% This is file `glossaries-extra-abbrstyles.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossaries-extra-abbrstyles.def,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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 \~} +\ProvidesFile{glossaries-extra-abbrstyles.def}[2022/06/16 v1.48b (NLCT)] +\newcommand*{\glsxtrlongshortname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% +} +\newcommand*{\glsxtrlongformat}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccesslong{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\glsaccesslong{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\glsaccessfmtlong{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\glsxtrlongplformat}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccesslongpl{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\glsaccesslongpl{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\glsaccessfmtlongpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\Glsxtrlongformat}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccesslong{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\Glsaccesslong{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\Glsaccessfmtlong{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\Glsxtrlongplformat}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccesslongpl{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\Glsaccesslongpl{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\Glsaccessfmtlongpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\GLSxtrlongformat}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccesslong{#1}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\GLSaccesslong{#1}}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\GLSaccessfmtlong{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\GLSxtrlongplformat}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccesslongpl{#1}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\GLSaccesslongpl{#1}}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\GLSaccessfmtlongpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\glsxtrlongformatgrp}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccesslong{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\glsaccesslong{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\glsxtrlongplformatgrp}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccesslongpl{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\glsaccesslongpl{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\Glsxtrlongformatgrp}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccesslong{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\Glsaccesslong{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\Glsxtrlongplformatgrp}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccesslongpl{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\Glsaccesslongpl{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\GLSxtrlongformatgrp}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccesslong{#1}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + #3{\GLSaccesslong{#1}}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% + {% + #3{\GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {\mfirstucMakeUppercase{#3{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% +}% +\newcommand*{\GLSxtrlongplformatgrp}[3]{% + \glsifattribute{#1}{markwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccesslongpl{#1}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + #3{\GLSaccesslongpl{#1}}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% + {% + #3{\GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {\mfirstucMakeUppercase{#3{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% +}% +\newcommand*{\glsxtrshortformat}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccessshort{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\glsaccessshort{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\glsaccessfmtshort{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\glsxtrshortplformat}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccessshortpl{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\glsaccessshortpl{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\glsaccessfmtshortpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\Glsxtrshortformat}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccessshort{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\Glsaccessshort{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\Glsaccessfmtshort{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\Glsxtrshortplformat}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccessshortpl{#1}\glsxtrgenentrytextfmt{#2}}% + \else + #3{\Glsaccessshortpl{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\Glsaccessfmtshortpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% +}% +\newcommand*{\GLSxtrshortformat}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccessshort{#1}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\GLSaccessshort{#1}}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\GLSaccessfmtshort{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\GLSxtrshortplformat}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccessshortpl{#1}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\GLSaccessshortpl{#1}}\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + \ifglsxtrinsertinside + #3{\GLSaccessfmtshortpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + #3{\GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\glsxtrshortformatgrp}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccessshort{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\glsaccessshort{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\glsxtrshortplformatgrp}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\glsaccessshortpl{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\glsaccessshortpl{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\Glsxtrshortformatgrp}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccessshort{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\Glsaccessshort{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\Glsxtrshortplformatgrp}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\Glsaccessshortpl{#1}{\glsxtrgenentrytextfmt{#2}}}% + \else + #3{\Glsaccessshortpl{#1}}{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + #3{\Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {#3{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + }% +}% +\newcommand*{\GLSxtrshortformatgrp}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccessshort{#1}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + #3{\GLSaccessshort{#1}}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% + {% + #3{\GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {\mfirstucMakeUppercase{#3{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% +}% +\newcommand*{\GLSxtrshortplformatgrp}[3]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + #3{\GLSaccessshortpl{#1}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + #3{\GLSaccessshortpl{#1}}{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% + {% + #3{\GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \ifglsxtrinsertinside + {\mfirstucMakeUppercase{#3{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + }% +}% +\newcommand*{\glsxtrlongshortformat}[4]{% + \glsxtrlongformat{#1}{#2}{#3}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrshortformat{#1}{}{#4}}% +}% +\newcommand*{\glsxtrlongshortplformat}[4]{% + \glsxtrlongplformat{#1}{#2}{#3}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrshortplformat{#1}{}{#4}}% +}% +\newcommand*{\Glsxtrlongshortformat}[4]{% + \Glsxtrlongformat{#1}{#2}{#3}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrshortformat{#1}{}{#4}}% +}% +\newcommand*{\Glsxtrlongshortplformat}[4]{% + \Glsxtrlongplformat{#1}{#2}{#3}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrshortplformat{#1}{}{#4}}% +}% +\newcommand*{\GLSxtrlongshortformat}[4]{% + \GLSxtrlongformat{#1}{#2}{#3}% + \glsxtrfullsep{#1}% + \glsxtrparen{\GLSxtrshortformat{#1}{}{#4}}% +}% +\newcommand*{\GLSxtrlongshortplformat}[4]{% + \GLSxtrlongplformat{#1}{#2}{#3}% + \glsxtrfullsep{#1}% + \glsxtrparen{\GLSxtrshortplformat{#1}{}{#4}}% +}% +\newcommand*{\glsxtrshortlongformat}[4]{% + \glsxtrshortformat{#1}{#2}{#4}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrlongformat{#1}{}{#3}}% +}% +\newcommand*{\glsxtrshortlongplformat}[4]{% + \glsxtrshortplformat{#1}{#2}{#4}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrlongplformat{#1}{}{#3}}% +}% +\newcommand*{\Glsxtrshortlongformat}[4]{% + \Glsxtrshortformat{#1}{#2}{#4}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrlongformat{#1}{}{#3}}% +}% +\newcommand*{\Glsxtrshortlongplformat}[4]{% + \Glsxtrshortplformat{#1}{#2}{#4}% + \glsxtrfullsep{#1}% + \glsxtrparen{\glsxtrlongplformat{#1}{}{#3}}% +}% +\newcommand*{\GLSxtrshortlongformat}[4]{% + \GLSxtrshortformat{#1}{#2}{#4}% + \glsxtrfullsep{#1}% + \glsxtrparen{\GLSxtrlongformat{#1}{}{#3}}% +}% +\newcommand*{\GLSxtrshortlongplformat}[4]{% + \GLSxtrshortplformat{#1}{#2}{#4}% + \glsxtrfullsep{#1}% + \glsxtrparen{\GLSxtrlongplformat{#1}{}{#3}}% +}% +\newcommand*{\glsxtrfootnotelongformat}[2]{% + \glsxtrlongformat{#1}{}{#2}% +}% +\newcommand*{\glsxtrfootnotelongplformat}[2]{% + \glsxtrlongplformat{#1}{}{#2}% +}% +\newcommand*{\glsxtrpostfootnotelongformat}{% + \glsxtrfootnotelongformat +}% +\newcommand*{\glsxtrpostusershortformat}[2]{% + \glsxtrifallcaps + {\GLSxtrusershortformat{#1}{#2}}% + {\glsxtrusershortformat{#1}{#2}}% +}% +\newcommand*{\glsxtrusershortformat}[2]{% + \glsxtruserparen{\glsxtrshortformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\glsxtrusershortplformat}[2]{% + \glsxtruserparen{\glsxtrshortplformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\GLSxtrusershortformat}[2]{% + \GLSxtruserparen{\GLSxtrshortformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\GLSxtrusershortplformat}[2]{% + \GLSxtruserparen{\GLSxtrshortplformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\glsxtrpostuserlongformat}[2]{% + \glsxtrifallcaps + {\GLSxtruserlongformat{#1}{#2}}% + {\glsxtruserlongformat{#1}{#2}}% +}% +\newcommand*{\glsxtruserlongformat}[2]{% + \glsxtruserparen{\glsxtrlongformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\GLSxtruserlongformat}[2]{% + \GLSxtruserparen{\GLSxtrlongformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\glsxtruserlongplformat}[2]{% + \glsxtruserparen{\glsxtrlongplformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\GLSxtruserlongplformat}[2]{% + \GLSxtruserparen{\GLSxtrlongplformat{#1}{}{#2}}{#1}% +}% +\newcommand*{\glsxtruserlongshortformat}[4]{% + \glsxtrlongformat{#1}{#2}{#3}% + \glsxtrusershortformat{#1}{#4}% +}% +\newcommand*{\glsxtruserlongshortplformat}[4]{% + \glsxtrlongplformat{#1}{#2}{#3}% + \glsxtrusershortplformat{#1}{#4}% +}% +\newcommand*{\Glsxtruserlongshortformat}[4]{% + \Glsxtrlongformat{#1}{#2}{#3}% + \glsxtrusershortformat{#1}{#4}% +}% +\newcommand*{\Glsxtruserlongshortplformat}[4]{% + \Glsxtrlongplformat{#1}{#2}{#3}% + \glsxtrusershortplformat{#1}{#4}% +}% +\newcommand*{\GLSxtruserlongshortformat}[4]{% + \GLSxtrlongformat{#1}{#2}{#3}% + \GLSxtrusershortformat{#1}{#4}% +}% +\newcommand*{\GLSxtruserlongshortplformat}[4]{% + \GLSxtrlongplformat{#1}{#2}{#3}% + \GLSxtrusershortplformat{#1}{#4}% +}% +\newcommand*{\glsxtrusershortlongformat}[4]{% + \glsxtrshortformat{#1}{#2}{#3}% + \glsxtruserlongformat{#1}{#4}% +}% +\newcommand*{\glsxtrusershortlongplformat}[4]{% + \glsxtrshortplformat{#1}{#2}{#3}% + \glsxtruserlongplformat{#1}{#4}% +}% +\newcommand*{\Glsxtrusershortlongformat}[4]{% + \Glsxtrshortformat{#1}{#2}{#3}% + \glsxtruserlongformat{#1}{#4}% +}% +\newcommand*{\Glsxtrusershortlongplformat}[4]{% + \Glsxtrshortplformat{#1}{#2}{#3}% + \glsxtruserlongplformat{#1}{#4}% +}% +\newcommand*{\GLSxtrusershortlongformat}[4]{% + \GLSxtrshortformat{#1}{#2}{#3}% + \GLSxtruserlongformat{#1}{#4}% +}% +\newcommand*{\GLSxtrusershortlongplformat}[4]{% + \GLSxtrshortplformat{#1}{#2}{#3}% + \GLSxtruserlongplformat{#1}{#4}% +}% +\newabbreviationstyle{long-short}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrrevert}[1]{\glsxtrdefaultrevert{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% +} +\setabbreviationstyle{long-short} +\newcommand*{\glsxtrlongshortdescsort}{% + \expandonce\glsxtrorglong\space (\expandonce\glsxtrorgshort)% +} +\newcommand*{\glsxtrlongshortdescname}{% + \glsxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}% +} +\newabbreviationstyle{long-short-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short}% +} +\newcommand*{\glsxtrshortlongname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% +} +\newabbreviationstyle{short-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% +} +\newcommand*{\glsxtrshortlongdescsort}{\expandonce\glsxtrorgshort} +\newcommand*{\glsxtrshortlongdescname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsxplongfont{\the\glslongtok}{\glscategorylabel}}% +} +\newabbreviationstyle{short-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long}% +} +\newcommand*{\glsfirstlongfootnotefont}[1]{\glslongfootnotefont{#1}}% +\newcommand*{\glslongfootnotefont}[1]{\glslongdefaultfont{#1}}% +\newcommand*{\glsxtrabbrvfootnote}[2]{\footnote{#2}} +\newrobustcmd*{\glsxtrpostabbrvfootnote}[2]{% + \glsxtrabbrvfootnote{#1}% + {#2\glsxtrpostfootnotelongformat{#1}{\glsfirstlongfootnotefont}}% +} +\newcommand*{\xpglsxtrpostabbrvfootnote}{% + \expandafter\expandafter\expandafter + \glsxtrpostabbrvfootnote + \expandafter\expandafter\expandafter + {\expandafter\glslabel\expandafter}\expandafter + {\glsxtrassignlinktextfmt}% +} +\newcommand*{\glsxtrfootnotename}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% +} +\newabbreviationstyle{footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% +} +\letabbreviationstyle{short-footnote}{footnote} +\newcommand*{\glsxtrfootnotedescname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsxplongfont{\the\glslongtok}{\glscategorylabel}}% +} +\newcommand*{\glsxtrfootnotedescsort}{\the\glsshorttok} +\newabbreviationstyle{short-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{footnote}% +} +\letabbreviationstyle{footnote-desc}{short-footnote-desc} +\newabbreviationstyle{postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\expandafter\expandafter\expandafter + \glsxtrpostabbrvfootnote + \expandafter\expandafter\expandafter + {\expandafter\glslabel\expandafter}\expandafter + {\glsxtrassignlinktextfmt}}% + }{}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvfont}% + }% +} +\letabbreviationstyle{short-postfootnote}{postfootnote} +\newabbreviationstyle{short-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\expandafter\expandafter\expandafter + \glsxtrpostabbrvfootnote + \expandafter\expandafter\expandafter + {\expandafter\glslabel\expandafter}\expandafter + {\glsxtrassignlinktextfmt}}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{postfootnote}% +} +\letabbreviationstyle{postfootnote-desc}{short-postfootnote-desc} +\newcommand*{\glsxtrshortnolongname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% +} +\newabbreviationstyle{short}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% +} +\setabbreviationstyle[acronym]{short} +\letabbreviationstyle{short-nolong}{short} +\newabbreviationstyle{short-nolong-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{short-nolong}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-nolong}% +} +\newcommand*{\glsxtrshortdescname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsxplongfont{\the\glslongtok}{\glscategorylabel}}% +} +\newabbreviationstyle{short-desc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvfont}% + }% +} +\letabbreviationstyle{short-nolong-desc}{short-desc} +\newabbreviationstyle{short-nolong-desc-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% +} +\newabbreviationstyle{nolong-short}% +{% + \GlsXtrUseAbbrStyleSetup{short-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% +} +\newabbreviationstyle{nolong-short-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{nolong-short}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{nolong-short}% +} +\newcommand*{\glsxtrlongnoshortdescname}{% + \glsxplongfont{\the\glslongtok}{\glscategorylabel}% +} +\newabbreviationstyle{long-desc}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortdescname}, + sort={\the\glslongtok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongfont}{\glsfirstabbrvfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongfont}% + }% +} +\letabbreviationstyle{long-noshort-desc}{long-desc} +\newabbreviationstyle{long-noshort-desc-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% +} +\newcommand*{\glsxtrlongnoshortname}{% + \glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% +} +\newabbreviationstyle{long}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-desc}% +} +\letabbreviationstyle{long-noshort}{long} +\newabbreviationstyle{long-noshort-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-noshort}% +} +\newcommand*{\glsxtrscfont}[1]{\textsc{#1}} +\newcommand*{\glsabbrvscfont}{\glsxtrscfont} +\newcommand*{\glsxtrfirstscfont}[1]{\glsabbrvscfont{#1}} +\newcommand*{\glsfirstabbrvscfont}{\glsxtrfirstscfont} +\newcommand*{\glsxtrscsuffix}{\protect\glstextup{\glsxtrabbrvpluralsuffix}} +\newcommand*{\glsxtrscrevert}[1]{\glstextup{#1}}% +\newabbreviationstyle{long-short-sc}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% +} +\newabbreviationstyle{long-short-sc-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-sc}% +} +\newabbreviationstyle{short-sc-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% +} +\newabbreviationstyle{short-sc-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-long}% +} +\newabbreviationstyle{short-sc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% +} +\letabbreviationstyle{short-sc-nolong}{short-sc} +\newabbreviationstyle{short-sc-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% +} +\letabbreviationstyle{short-sc-nolong-desc}{short-sc-desc} +\newabbreviationstyle{nolong-short-sc}% +{% + \GlsXtrUseAbbrStyleSetup{short-sc-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% +} +\newabbreviationstyle{long-noshort-sc}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{long-sc}{long-noshort-sc} +\newabbreviationstyle{long-noshort-sc-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{long-desc-sc}{long-noshort-sc-desc} +\newabbreviationstyle{short-sc-footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{footnote-sc}{short-sc-footnote} +\newabbreviationstyle{short-sc-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-footnote}% +} +\newabbreviationstyle{short-sc-postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\xpglsxtrpostabbrvfootnote}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscrevert{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvscfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-sc}{short-sc-postfootnote} +\newabbreviationstyle{short-sc-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\xpglsxtrpostabbrvfootnote}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sc-postfootnote}% +} +\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} +\newcommand*{\glsabbrvsmfont}{\glsxtrsmfont} +\newcommand*{\glsxtrfirstsmfont}[1]{\glsabbrvsmfont{#1}} +\newcommand*{\glsfirstabbrvsmfont}{\glsxtrfirstsmfont} +\newcommand*{\glsxtrsmsuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsxtrsmrevert}[1]{\textlarger{#1}} +\newabbreviationstyle{long-short-sm}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% +} +\newabbreviationstyle{long-short-sm-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-sm}% +} +\newabbreviationstyle{short-sm-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% +} +\newabbreviationstyle{short-sm-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-long}% +} +\newabbreviationstyle{short-sm}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% +} +\letabbreviationstyle{short-sm-nolong}{short-sm} +\newabbreviationstyle{short-sm-desc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% +} +\letabbreviationstyle{short-sm-nolong-desc}{short-sm-desc} +\newabbreviationstyle{nolong-short-sm}% +{% + \GlsXtrUseAbbrStyleSetup{short-sm-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% +} +\newabbreviationstyle{long-noshort-sm}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{long-sm}{long-noshort-sm} +\newabbreviationstyle{long-noshort-sm-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{long-desc-sm}{long-noshort-sm-desc} +\newabbreviationstyle{short-sm-footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{footnote-sm}{short-sm-footnote} +\newabbreviationstyle{short-sm-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-footnote}% +} +\newabbreviationstyle{short-sm-postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\xpglsxtrpostabbrvfootnote}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsmrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvsmfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-sm}{short-sm-postfootnote} +\newabbreviationstyle{short-sm-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\xpglsxtrpostabbrvfootnote}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-sm-postfootnote}% +} +\newcommand*{\glsabbrvemfont}[1]{\emph{#1}}% +\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}}% +\newcommand*{\glsxtremsuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsfirstlongemfont}[1]{\glslongemfont{#1}}% +\newcommand*{\glslongemfont}[1]{\emph{#1}}% +\newcommand*{\glsxtremrevert}[1]{\textup{#1}}% +\newabbreviationstyle{long-short-em}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% +} +\newabbreviationstyle{long-short-em-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-em}% +} +\newabbreviationstyle{long-em-short-em}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + description={\protect\glslongemfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% +} +\newabbreviationstyle{long-em-short-em-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-em-short-em}% +} +\newabbreviationstyle{short-em-long}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% +} +\newabbreviationstyle{short-em-long-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-long}% +} +\newabbreviationstyle{short-em-long-em}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\protect\glslongemfont{\the\glslongtok}},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% +} +\newabbreviationstyle{short-em-long-em-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname},% + sort={\glsxtrshortlongdescsort},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-long-em}% +} +\newabbreviationstyle{short-em}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortnolongname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + description={\the\glslongtok}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% +} +\letabbreviationstyle{short-em-nolong}{short-em} +\newabbreviationstyle{short-em-desc}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortdescname}, + sort={\the\glsshorttok}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}, + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}}, + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% +} +\letabbreviationstyle{short-em-nolong-desc}{short-em-desc} +\newabbreviationstyle{nolong-short-em}% +{% + \GlsXtrUseAbbrStyleSetup{short-em-nolong}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-nolong}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% +} +\newabbreviationstyle{long-noshort-em}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{long-em}{long-noshort-em} +\newabbreviationstyle{long-em-noshort-em}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}},% + description={\protect\glslongemfont{\the\glslongtok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongemfont}% + }% +} +\newabbreviationstyle{long-em-noshort-em-noreg}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \GlsXtrUseAbbrStyleSetup{long-em-noshort-em}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-em-noshort-em}% +} +\newabbreviationstyle{long-noshort-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongdefaultfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongdefaultfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongdefaultfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{long-desc-em}{long-noshort-em-desc} +\newabbreviationstyle{long-em-noshort-em-desc}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortdescname}, + sort={\the\glslongtok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}}, + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}}, + text={\glsxplongfont{\the\glslongtok}{\glscategorylabel}}, + plural={\glsxplongfont{\the\glslongpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlongformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlongplformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \Glsxtrlongformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlongformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glslongemfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongemfont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongemfont}% + }% +} +\newabbreviationstyle{long-em-noshort-em-desc-noreg}% +{% + \GlsXtrUseAbbrStyleSetup{long-em-noshort-em-desc}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-em-noshort-em-desc}% +} +\newabbreviationstyle{short-em-footnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + \protect\glsxtrabbrvfootnote{##1}% + {\glsxtrfootnotelongplformat{##1}{\glsfirstlongfootnotefont}}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{footnote-em}{short-em-footnote} +\newabbreviationstyle{short-em-footnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}% + \protect\glsxtrabbrvfootnote{\the\glslabeltok}% + {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-footnote}% +} +\newabbreviationstyle{short-em-postfootnote}% +{% + \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotename}, + sort={\the\glsshorttok}, + description={\the\glslongtok},% + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\xpglsxtrpostabbrvfootnote}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% + \renewcommand*\glsxtrrevert[1]{\glsxtremrevert{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortlongformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortlongplformat{##1}{##2}% + {\glsfirstlongfootnotefont}{\glsfirstabbrvemfont}% + }% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-em}{short-em-postfootnote} +\newabbreviationstyle{short-em-postfootnote-desc}% +{% + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrfootnotedescname}, + sort={\glsxtrfootnotedescsort}, + first={\glsfirstxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + firstplural={\glsfirstxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasglslikeandfirstuse + {% + \glsxtrdopostpunc{\xpglsxtrpostabbrvfootnote}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-em-postfootnote}% +} +\newcommand*{\glsxtruserfield}{useri} +\newcommand*{\glsxtruserparensep}{, } +\newcommand*{\glsxtruserfieldfmt}[1]{#1} +\ifdef\glscurrentfieldvalue +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}% + {\expandafter\glsxtrgenentrytextfmt\expandafter{\glsxtruserparensep}% + \glsxtruserfieldfmt{\expandafter\glsxtrgenentrytextfmt\expandafter{\glscurrentfieldvalue}}% + }{}% + }% + } +} +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}% + {\expandafter\glsxtrgenentrytextfmt\expandafter{\glsxtruserparensep}% + \glsxtruserfieldfmt{\expandafter\glsxtrgenentrytextfmt\expandafter{\@glo@thisvalue}}% + }{}% + }% + } +} +\ifdef\glscurrentfieldvalue +{ + \newcommand*{\GLSxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}% + {\expandafter\glsxtrgenentrytextfmt\expandafter{\glsxtruserparensep}% + \glsxtruserfieldfmt{\expandafter\mfirstucMakeUppercase\expandafter{\expandafter + \glsxtrgenentrytextfmt\expandafter{\glscurrentfieldvalue}}}% + }{}% + }% + } +} +{ + \newcommand*{\GLSxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}% + {\expandafter\glsxtrgenentrytextfmt\expandafter{\glsxtruserparensep}% + \glsxtruserfieldfmt{\expandafter\mfirstucMakeUppercase\expandafter{\expandafter + \glsxtrgenentrytextfmt\expandafter{\@glo@thisvalue}}}% + }{}% + }% + } +} +\newcommand*{\glsabbrvuserfont}[1]{\glsabbrvdefaultfont{#1}} +\newcommand*{\glsfirstabbrvuserfont}[1]{\glsabbrvuserfont{#1}} +\newcommand*{\glslonguserfont}[1]{\glslongdefaultfont{#1}} +\newcommand*{\glsfirstlonguserfont}[1]{\glslonguserfont{#1}} +\newcommand*{\glsxtrusersuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsuserdescription}[2]{\glslonguserfont{#1}} +\newabbreviationstyle{long-short-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvuserfont{\the\glsshorttok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}% + \protect\glsxtruserparen + {\protect\glsfirstabbrvuserfont{\the\glsshortpltok}}{\the\glslabeltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glsxtrsetcomplexstyle{\the\glslabeltok}{2}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtruserlongshortformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtruserlongshortplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtruserlongshortformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtruserlongshortplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtruserlongshortformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtruserlongshortplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% +} +\newabbreviationstyle{long-postshort-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrpostusershortformat{\glslabel}{\glsfirstabbrvuserfont}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}% + }% +} +\newcommand*{\glsabbrvscuserfont}{\glsabbrvscfont}% +\newcommand*{\glsfirstabbrvscuserfont}{\glsabbrvscuserfont}% +\newcommand*{\glsxtrscusersuffix}{\glsxtrscsuffix} +\newcommand*{\glsxtrscuserrevert}{\glsxtrscrevert} +\newcommand*{\glsxtrlongshortscusername}{% + \protect\glsabbrvscuserfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-postshort-sc-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortscusername}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrpostusershortformat{\glslabel}{\glsfirstabbrvscuserfont}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrscusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvscuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvscuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrscuserrevert{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlonguserfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtruserlongshortformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtruserlongshortplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtruserlongshortformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtruserlongshortplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtruserlongshortformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtruserlongshortplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvscuserfont}% + }% +} +\newcommand*{\glsxtrlongshortuserdescname}{% + \protect\glslonguserfont{\the\glslongtok}% + \protect\glsxtruserparen + {\protect\glsabbrvuserfont{\the\glsshorttok}}{\the\glslabeltok}% +} +\newabbreviationstyle{long-postshort-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortuserdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrpostusershortformat{\glslabel}{\glsfirstabbrvuserfont}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-postshort-user}% +} +\newcommand*{\glsxtrlongshortscuserdescname}{% + \protect\glslonguserfont{\the\glslongtok}% + \protect\glsxtruserparen + {\protect\glsabbrvscuserfont{\the\glsshorttok}}{\the\glslabeltok}% +} +\newabbreviationstyle{long-postshort-sc-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortscuserdescname}, + sort={\the\glslongtok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrpostusershortformat{\glslabel}{\glsfirstabbrvscuserfont}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-postshort-sc-user}% +} +\newabbreviationstyle{short-postlong-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrpostuserlongformat{\glslabel}{\glsfirstlonguserfont}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshortformat{##1}{##2}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshortplformat{##1}{##2}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrshortformat{##1}{##2}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrshortplformat{##1}{##2}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshortformat{##1}{##2}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshortplformat{##1}{##2}{\glsfirstabbrvuserfont}% + }% +} +\newcommand*{\glsxtrshortlonguserdescname}{% + \protect\glsabbrvuserfont{\the\glsshorttok}% + \protect\glsxtruserparen + {\protect\glslonguserfont{\the\glslongpltok}}% + {\the\glslabeltok}% +} +\newabbreviationstyle{short-postlong-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlonguserdescname}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlonguserfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \glsxtrpostuserlongformat{\glslabel}{\glsfirstlonguserfont}% + }% + {}% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-postlong-user}% +} +\newabbreviationstyle{long-short-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortuserdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlonguserfont{\the\glslongtok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvuserfont{\the\glsshorttok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}% + \protect\glsxtruserparen + {\protect\glsfirstabbrvuserfont{\the\glsshortpltok}}{\the\glslabeltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{2}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-user}% +} +\newabbreviationstyle{short-long-user}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\the\glsshorttok}, + description={\protect\glsuserdescription{\the\glslongtok}% + {\the\glslabeltok}},% + first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstabbrvuserfont{\the\glsshortpltok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongpltok}}% + {\the\glslabeltok}},% + text={\protect\glsabbrvuserfont{\the\glsshorttok}},% + plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glsxtrsetcomplexstyle{\the\glslabeltok}{2}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrusershortlongformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrusershortlongplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrusershortlongformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrusershortlongplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrusershortlongformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrusershortlongplformat{##1}{##2}% + {\glsfirstlonguserfont}{\glsfirstabbrvuserfont}% + }% +} +\newabbreviationstyle{short-long-user-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlonguserdescname}, + sort={\glsxtrshortlongdescsort},% + first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}% + {\the\glslabeltok}},% + firstplural={\protect\glsfirstabbrvuserfont{\the\glsshortpltok}% + \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongpltok}}% + {\the\glslabeltok}},% + text={\protect\glsabbrvfont{\the\glsshorttok}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{2}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long-user}% +} +\newrobustcmd*{\glsxtrifhyphenstart}[3]{% + \ifx\glsinsert#1\relax + \expandafter\@glsxtrifhyphenstart#1\relax\relax + \@end@glsxtrifhyphenstart{#2}{#3}% + \else + \@glsxtrifhyphenstart#1\relax\relax\@end@glsxtrifhyphenstart{#2}{#3}% + \fi +} +\def\@glsxtrifhyphenstart#1#2\@end@glsxtrifhyphenstart#3#4{% + \ifx-#1\relax#3\else #4\fi +} +\newcommand*{\glsxtrlonghyphenshort}[4]{% + {% + \glsxtrifhyphenstart{#4}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside + {\glsxtrgenentrytextfmt{#4}}\fi}% + \ifglsxtrinsertinside\else{\glsxtrgenentrytextfmt{#4}}\fi + \glsxtrfullsep{#1}% + \glsxtrparen{\glsfirstabbrvhyphenfont{#3\ifglsxtrinsertinside + {\glsxtrgenentrytextfmt{#4}}\fi}% + \ifglsxtrinsertinside\else{\glsxtrgenentrytextfmt{#4}}\fi}% + }% +} +\newcommand*{\GLSxtrlonghyphenshort}[4]{% + {% + \glsxtrifhyphenstart{#4}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}\fi}% + \ifglsxtrinsertinside\else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\glsfirstabbrvhyphenfont{#3\ifglsxtrinsertinside + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}\fi}% + \ifglsxtrinsertinside\else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}% + \fi}% + }% +} +\newcommand*{\glsxtrshorthyphennolong}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstabbrvhyphenfont{#2\ifglsxtrinsertinside + {\glsxtrgenentrytextfmt{#3}}\fi}% + \ifglsxtrinsertinside\else{\glsxtrgenentrytextfmt{#3}}\fi + }% +} +\newcommand*{\GLSxtrshorthyphennolong}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstabbrvhyphenfont{#2\ifglsxtrinsertinside + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#3}}}\fi}% + \ifglsxtrinsertinside\else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#3}}}% + \fi + }% +} +\newcommand*{\glsabbrvhyphenfont}{\glsabbrvdefaultfont}% +\newcommand*{\glsfirstabbrvhyphenfont}{\glsabbrvhyphenfont}% +\newcommand*{\glslonghyphenfont}{\glslongdefaultfont}% +\newcommand*{\glsfirstlonghyphenfont}{\glslonghyphenfont}% +\newcommand*{\glsxtrhyphensuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsxtrlonghyphenshortsort}{\expandonce\glsxtrorgshort} +\newabbreviationstyle{long-hyphen-short-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\glsxtrlonghyphenshortsort}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrhyphensuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslong{##1}% + }% + {% + \Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslongpl{##1}% + }% + {% + \Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslong{##1}% + }% + {% + \GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslongpl{##1}% + }% + {% + \GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshort{##1}% + }% + {% + \Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshortpl{##1}% + }% + {% + \Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% +} +\newabbreviationstyle{long-hyphen-short-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-short-hyphen}% +} +\newcommand*{\glsxtrlonghyphennoshort}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside + {\glsxtrgenentrytextfmt{#3}}\fi}% + \ifglsxtrinsertinside\else{\glsxtrgenentrytextfmt{#3}}\fi + }% +} +\newcommand*{\GLSxtrlonghyphennoshort}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#3}}}\fi}% + \ifglsxtrinsertinside\else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#3}}}% + \fi + }% +} +\newcommand*{\glsxtrlonghyphennoshortdescsort}{\expandonce\glsxtrorglong} +\newabbreviationstyle{long-hyphen-noshort-desc-noreg}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortdescname}, + sort={\glsxtrlonghyphennoshortdescsort}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glslonghyphenfont{\the\glslongtok}},% + plural={\protect\glslonghyphenfont{\the\glslongpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslong{##1}% + }% + {% + \Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \glsxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslongpl{##1}% + }% + {% + \Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslong{##1}% + }% + {% + \GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlonghyphenshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslongpl{##1}% + }% + {% + \GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslong{##1}% + }% + {% + \Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslongpl{##1}% + }% + {% + \Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslong{##1}% + }% + {% + \GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslongpl{##1}% + }% + {% + \GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslong{##1}% + }% + {% + \Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslongpl{##1}% + }% + {% + \Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslong{##1}% + }% + {% + \GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrlonghyphennoshort{##1}% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslongpl{##1}% + }% + {% + \GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% +} +\newcommand*{\glsxtrlonghyphennoshortsort}{\expandonce\glsxtrorgshort} +\newabbreviationstyle{long-hyphen-noshort-noreg}% +{% + \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongnoshortname}, + sort={\glsxtrlonghyphennoshortsort}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glslonghyphenfont{\the\glslongtok}},% + plural={\protect\glslonghyphenfont{\the\glslongpltok}},% + description={\the\glslongtok}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-noshort-desc-noreg}% +} +\newcommand*{\glsxtrlonghyphen}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstlonghyphenfont{#1}% + }% +} +\newcommand*{\glsxtrposthyphenshort}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstlonghyphenfont{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {% + \glsxtrshortformat{#1}{#2}{\glsfirstabbrvhyphenfont}% + }% + }% +} +\newcommand*{\GLSxtrposthyphenshort}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstlonghyphenfont{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {% + \GLSxtrshortformat{#1}{#2}{\glsfirstabbrvhyphenfont}% + }% + }% +} +\newcommand*{\glsxtrposthyphenshortpl}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstlonghyphenfont{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {% + \glsxtrshortplformat{#1}{#2}{\glsfirstabbrvhyphenfont}% + }% + }% +} +\newcommand*{\GLSxtrposthyphenshortpl}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstlonghyphenfont{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {% + \GLSxtrshortplformat{#1}{#2}{\glsfirstabbrvhyphenfont}% + }% + }% +} +\newcommand*{\xpglsxtrposthyphenshort}{% + \glsxtrifallcaps + {% + \expandafter\GLSxtrposthyphenshort\expandafter\glslabel + \expandafter{\glsinsert}% + }% + {% + \expandafter\glsxtrposthyphenshort\expandafter\glslabel + \expandafter{\glsinsert}% + }% +} +\newcommand*{\glsxtrposthyphensubsequent}[2]{% + \ifglsxtrinsertinside + \glsabbrvfont{{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi +} +\newcommand*{\GLSxtrposthyphensubsequent}[2]{% + \ifglsxtrinsertinside + \glsabbrvfont{{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi +} +\newcommand*{\xpglsxtrposthyphensubsequent}{% + \glsxtrifallcaps + {% + \expandafter\GLSxtrposthyphensubsequent\expandafter\glslabel + \expandafter{\glsinsert}% + }% + {% + \expandafter\glsxtrposthyphensubsequent\expandafter\glslabel + \expandafter{\glsinsert}% + }% +} +\newcommand*{\glsxtrshorthyphennoinsert}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstabbrvhyphenfont{#2}% + }% +} +\newabbreviationstyle{long-hyphen-postshort-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortname}, + sort={\glsxtrlonghyphenshortsort}, + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \xpglsxtrposthyphenshort + }% + {% + \xpglsxtrposthyphensubsequent + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshort{##1}% + }% + {% + \Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshortpl{##1}% + }% + {% + \Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlonghyphen + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlonghyphen + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrlonghyphen + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslong{##1}% + }% + {% + \Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrlonghyphen + {% + \glsifattribute{##1}{markwords}{true}% + {% + \Glsaccesslongpl{##1}% + }% + {% + \Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \glsxtrlonghyphen + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslong{##1}% + }% + {% + \GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \glsxtrlonghyphen + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslongpl{##1}% + }% + {% + \GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongformatgrp{##1}{##2}{\glsfirstlonghyphenfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongplformatgrp{##1}{##2}{\glsfirstlonghyphenfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongformatgrp{##1}{##2}{\glsfirstlonghyphenfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongplformatgrp{##1}{##2}{\glsfirstlonghyphenfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongformatgrp{##1}{##2}{\glsfirstlonghyphenfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongplformatgrp{##1}{##2}{\glsfirstlonghyphenfont}% + }% +} +\newabbreviationstyle{long-hyphen-postshort-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrlongshortdescname}, + sort={\glsxtrlongshortdescsort},% + first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% + firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \xpglsxtrposthyphenshort + }% + {% + \xpglsxtrposthyphensubsequent + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-hyphen-postshort-hyphen}% +} +\newcommand*{\glsxtrshorthyphenlong}[4]{% + {% + \glsxtrifhyphenstart{#4}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstabbrvhyphenfont{#2\ifglsxtrinsertinside + {\glsxtrgenentrytextfmt{#4}}\fi}% + \ifglsxtrinsertinside\else{\glsxtrgenentrytextfmt{#4}}\fi + \glsxtrfullsep{#1}% + \glsxtrparen{\glsfirstlonghyphenfont{#3% + \ifglsxtrinsertinside{\glsxtrgenentrytextfmt{#4}}\fi}% + \ifglsxtrinsertinside\else{\glsxtrgenentrytextfmt{#4}}\fi}% + }% +} +\newcommand*{\GLSxtrshorthyphenlong}[4]{% + {% + \glsxtrifhyphenstart{#4}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstabbrvhyphenfont{#2\ifglsxtrinsertinside + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}\fi}% + \ifglsxtrinsertinside\else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\glsfirstlonghyphenfont{#3% + \ifglsxtrinsertinside{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}\fi}% + \ifglsxtrinsertinside\else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#4}}}% + \fi}% + }% +} +\newcommand*{\glsxtrshorthyphenlongsort}{\expandonce\glsxtrorgshort} +\newabbreviationstyle{short-hyphen-long-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\glsxtrshorthyphenlongsort}, + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrhyphensuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshorthyphenlong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshorthyphenlong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{marklongwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrshorthyphenlong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshort{##1}% + }% + {% + \Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslong{##1}% + }% + {% + \glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrshorthyphenlong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshortpl{##1}% + }% + {% + \Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \glsaccesslongpl{##1}% + }% + {% + \glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrshorthyphenlong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslong{##1}% + }% + {% + \GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrshorthyphenlong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {% + \glsifattribute{##1}{markwords}{true}% + {% + \GLSaccesslongpl{##1}% + }% + {% + \GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshort{##1}% + }% + {% + \Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshortpl{##1}% + }% + {% + \Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \GLSxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \GLSxtrshorthyphennolong{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% +} +\newabbreviationstyle{short-hyphen-long-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort}, + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongtok}}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + \protect\glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsxtrsetcomplexstyle{\the\glslabeltok}{3}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-hyphen-long-hyphen}% +} +\newcommand*{\glsxtrshorthyphen}[3]{% + {% + \glsxtrifhyphenstart{#3}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \glsfirstabbrvhyphenfont{#1}% + }% +} +\newcommand*{\glsxtrposthyphenlong}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstabbrvhyphenfont{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {\glsxtrlongformatgrp{#1}{#2}{\glsfirstlonghyphenfont}}% + }% +} +\newcommand*{\GLSxtrposthyphenlong}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstabbrvhyphenfont{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {\GLSxtrlongformatgrp{#1}{#2}{\glsfirstlonghyphenfont}}% + }% +} +\newcommand*{\glsxtrposthyphenlongpl}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstabbrvhyphenfont{\glsxtrgenentrytextfmt{#2}}}% + \else + {\glsxtrgenentrytextfmt{#2}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {\glsxtrlongplformatgrp{#1}{#2}{\glsfirstlonghyphenfont}}% + }% +} +\newcommand*{\GLSxtrposthyphenlongpl}[2]{% + {% + \glsxtrifhyphenstart{#2}{\let\glsxtrwordsep\glsxtrwordsephyphen}{}% + \ifglsxtrinsertinside + {\glsfirstabbrvhyphenfont{\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}}% + \else + {\mfirstucMakeUppercase{\glsxtrgenentrytextfmt{#2}}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen + {\GLSxtrlongplformatgrp{#1}{#2}{\glsfirstlonghyphenfont}}% + }% +} +\newcommand*{\xpglsxtrposthyphenlong}{% + \glsxtrifallcaps + {% + \expandafter\GLSxtrposthyphenlong\expandafter\glslabel + \expandafter{\glsinsert}% + }% + {% + \expandafter\glsxtrposthyphenlong\expandafter\glslabel + \expandafter{\glsinsert}% + }% +} +\newabbreviationstyle{short-hyphen-postlong-hyphen}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongname}, + sort={\glsxtrshorthyphenlongsort}, + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% + description={\protect\glslonghyphenfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \xpglsxtrposthyphenlong + }% + {% + \xpglsxtrposthyphensubsequent + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% + \renewcommand*{\glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshort{##1}% + }% + {% + \Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshortpl{##1}% + }% + {% + \Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\GLSxtrsubsequentplfmt}[2]{% + \glsxtrshorthyphennoinsert{##1}% + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##2}% + }% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrshorthyphen + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshort{##1}% + }% + {% + \glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrshorthyphen + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \glsaccessshortpl{##1}% + }% + {% + \glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsxtrshorthyphen + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshort{##1}% + }% + {% + \Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsxtrshorthyphen + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \Glsaccessshortpl{##1}% + }% + {% + \Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }{##1}{##2}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \glsxtrshorthyphen + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshort{##1}% + }% + {% + \GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{##1}% + }% + }% + {##1}{##2}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \glsxtrshorthyphen + {% + \glsifattribute{##1}{markshortwords}{true}% + {% + \GLSaccessshortpl{##1}% + }% + {% + \GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{##1}% + }% + }{##1}{##2}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrshortformatgrp{##1}{##2}{\glsfirstabbrvhyphenfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrshortplformatgrp{##1}{##2}{\glsfirstabbrvhyphenfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrshortformatgrp{##1}{##2}{\glsfirstabbrvhyphenfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrshortplformatgrp{##1}{##2}{\glsfirstabbrvhyphenfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrshortformatgrp{##1}{##2}{\glsfirstabbrvhyphenfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrshortplformatgrp{##1}{##2}{\glsfirstabbrvhyphenfont}% + }% +} +\newabbreviationstyle{short-hyphen-postlong-hyphen-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrshortlongdescname}, + sort={\glsxtrshortlongdescsort},% + first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},% + firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},% + text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% + plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \csdef{glsxtrpostlink\glscategorylabel}{% + \glsxtrifwasfirstuse + {% + \xpglsxtrposthyphenlong + }% + {% + \xpglsxtrposthyphensubsequent + }% + }% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-hyphen-postlong-hyphen}% +} +\newcommand*{\glsabbrvonlyfont}{\glsabbrvdefaultfont}% +\newcommand*{\glsfirstabbrvonlyfont}{\glsabbrvonlyfont}% +\newcommand*{\glslongonlyfont}{\glslongdefaultfont}% +\newcommand*{\glsfirstlongonlyfont}{\glslongonlyfont}% +\newcommand*{\glsxtronlysuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsxtronlyname}{% + \protect\glsabbrvonlyfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-only-short-only}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtronlyname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}},% + description={\protect\glslongonlyfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtronlysuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvonlyfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvonlyfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvonlyfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvonlyfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvonlyfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvonlyfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvonlyfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvonlyfont}% + }% +} +\newcommand*{\glsxtronlydescsort}{\the\glslongtok} +\newcommand*{\glsxtronlydescname}{% + \protect\glslongfont{\the\glslongtok}% +} +\newabbreviationstyle{long-only-short-only-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtronlydescname}, + sort={\glsxtronlydescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-only-short-only}% +} +\newcommand*{\glsabbrvsconlyfont}{\glsabbrvscfont}% +\newcommand*{\glsfirstabbrvsconlyfont}{\glsabbrvsconlyfont}% +\newcommand*{\glsxtrsconlysuffix}{\glsxtrscsuffix} +\newcommand*{\glsxtrsconlyrevert}{\glsxtrscrevert} +\newcommand*{\glsxtrsconlyname}{% + \protect\glsabbrvsconlyfont{\the\glsshorttok}% +} +\newabbreviationstyle{long-only-short-sc-only}% +{% + \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrsconlyname}, + sort={\the\glsshorttok}, + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}},% + text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% + plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}},% + description={\protect\glslongonlyfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrsconlysuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvsconlyfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvsconlyfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% + \renewcommand*\glsxtrrevert[1]{\glsxtrsconlyrevert{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsxtrlongformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsxtrlongplformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \Glsxtrlongformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \Glsxtrlongplformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\GLSxtrfullformat}[2]{% + \GLSxtrlongformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\GLSxtrfullplformat}[2]{% + \GLSxtrlongplformat{##1}{##2}{\glsfirstlongonlyfont}% + }% + \renewcommand*{\glsxtrinlinefullformat}[2]{% + \glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvsconlyfont}% + }% + \renewcommand*{\glsxtrinlinefullplformat}[2]{% + \glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvsconlyfont}% + }% + \renewcommand*{\Glsxtrinlinefullformat}[2]{% + \Glsxtrlongshortformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvsconlyfont}% + }% + \renewcommand*{\Glsxtrinlinefullplformat}[2]{% + \Glsxtrlongshortplformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvsconlyfont}% + }% + \renewcommand*{\GLSxtrinlinefullformat}[2]{% + \GLSxtrlongshortformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvsconlyfont}% + }% + \renewcommand*{\GLSxtrinlinefullplformat}[2]{% + \GLSxtrlongshortplformat{##1}{##2}% + {\glsfirstlongonlyfont}{\glsfirstabbrvsconlyfont}% + }% +} +\newcommand*{\glsxtrsconlydescsort}{\glsxtronlydescsort} +\newcommand*{\glsxtrsconlydescname}{\glsxtronlydescname} +\newabbreviationstyle{long-only-short-sc-only-desc}% +{% + \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel + \renewcommand*{\CustomAbbreviationFields}{% + name={\glsxtrsconlydescname}, + sort={\glsxtrsconlydescsort},% + first={\glsfirstxplongfont{\the\glslongtok}{\glscategorylabel}},% + firstplural={\glsfirstxplongfont{\the\glslongpltok}{\glscategorylabel}},% + text={\glsxpabbrvfont{\the\glsshorttok}{\glscategorylabel}},% + plural={\glsxpabbrvfont{\the\glsshortpltok}{\glscategorylabel}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-only-short-sc-only}% +} +\endinput +%% +%% End of file `glossaries-extra-abbrstyles.def'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty new file mode 100644 index 00000000000..c9eb82f71b3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls-2021-11-22.sty @@ -0,0 +1,1791 @@ +%% +%% This is file `glossaries-extra-bib2gls-2021-11-22.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossaries-extra-bib2gls-2021-11-22.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossaries-extra-bib2gls}[2021/11/22 v1.48 (NLCT)] +\ifglsacronym + \providecommand*{\printunsrtacronyms}[1][]{% + \printunsrtglossary[type=\acronymtype,#1]}% +\fi +\ifglossaryexists{index} +{ + \providecommand*{\printunsrtindex}[1][]{% + \printunsrtglossary[type=index,#1]}% +}{} +\ifglossaryexists{symbols} +{ + \providecommand*{\printunsrtsymbols}[1][]{% + \printunsrtglossary[type=symbols,#1]}% +}{} +\ifglossaryexists{numbers} +{ + \providecommand*{\printunsrtnumbers}[1][]{% + \printunsrtglossary[type=numbers,#1]}% +}{} +\ifglossaryexists{abbreviations} +{ + \providecommand*{\printunsrtabbreviations}[1][]{% + \printunsrtglossary[type=abbreviations,#1]}% +}{} +\renewcommand*{\glsdisplaynumberlist}[1]{% + \glsdoifexists{#1}% + {% + {\let\bibglsdelimN\glsnumlistsep + \let\bibglslastDelimN\glsnumlistlastsep + \glsxtrusefield{#1}{location}% + }% + }% +} +\robustify\glsdisplaynumberlist +\renewcommand*{\glsentrynumberlist}[1]{\glsxtrusefield{#1}{location}} +\newcommand*{\glshex}{\string\u} +\newcommand*{\glscapturedgroup}{\string\$} +\newcommand*{\GlsXtrIfHasNonZeroChildCount}{% + \@ifstar\s@GlsXtrIfHasNonZeroChildCount\@GlsXtrIfHasNonZeroChildCount +} +\newcommand*{\@GlsXtrIfHasNonZeroChildCount}[3]{% + \@GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}% +} +\newcommand*{\s@GlsXtrIfHasNonZeroChildCount}[3]{% + \s@GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}% +} +\newcommand*{\glsxtrprovidecommand}{\providecommand} +\newcommand*{\glsrenewcommand}{\@star@or@long\glsxtr@renewcommand} +\newcommand*{\glsxtr@renewcommand}[1]{% + \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup + \expandafter\@ifundefined\@gtempa + {% + \GlossariesExtraWarning{can't redefine \noexpand#1(not already defined)}% + }% + \relax + \relax + \let\@ifdefinable\@rc@ifdefinable + \new@command#1% +} +\newcommand*{\glsxtr@wrglossarylocation}[2]{#1} +\ifdef\hyperref +{% + \newcommand*{\GlsXtrIndexCounterLink}[2]{% + \glsxtrifhasfield{indexcounter}{#2}% + {\hyperref[wrglossary.\glscurrentfieldvalue]{#1}}% + {#1}% + } +} +{ + \newcommand*{\GlsXtrIndexCounterLink}[2]{#1} +} +\newcommand*{\GlsXtrDualField}{dual} +\newcommand*{\GlsXtrDualBackLink}[2]{% + \glsxtrifhasfield{\GlsXtrDualField}{#2}% + {\glshyperlink[#1]{\glscurrentfieldvalue}}% + {#2}% +} +\newcommand*{\GlsXtrBibTeXEntryAliases}{% + article=bibtexentry, + book=bibtexentry, + booklet=bibtexentry, + conference=bibtexentry, + inbook=bibtexentry, + incollection=bibtexentry, + inproceedings=bibtexentry, + manual=bibtexentry, + mastersthesis=bibtexentry, + misc=bibtexentry, + phdthesis=bibtexentry, + proceedings=bibtexentry, + techreport=bibtexentry, + unpublished=bibtexentry +} +\newcommand*{\GlsXtrProvideBibTeXFields}{% + \glsaddstoragekey{address}{}{\glsxtrbibaddress}% + \glsaddstoragekey{author}{}{\glsxtrbibauthor}% + \glsaddstoragekey{booktitle}{}{\glsxtrbibbooktitle}% + \glsaddstoragekey{chapter}{}{\glsxtrbibchapter}% + \glsaddstoragekey{edition}{}{\glsxtrbibedition}% + \glsaddstoragekey{howpublished}{}{\glsxtrbibhowpublished}% + \glsaddstoragekey{institution}{}{\glsxtrbibinstitution}% + \glsaddstoragekey{journal}{}{\glsxtrbibjournal}% + \glsaddstoragekey{month}{}{\glsxtrbibmonth}% + \glsaddstoragekey{note}{}{\glsxtrbibnote}% + \glsaddstoragekey{number}{}{\glsxtrbibnumber}% + \glsaddstoragekey{organization}{}{\glsxtrbiborganization}% + \glsaddstoragekey{pages}{}{\glsxtrbibpages}% + \glsaddstoragekey{publisher}{}{\glsxtrbibpublisher}% + \glsaddstoragekey{school}{}{\glsxtrbibschool}% + \glsaddstoragekey{series}{}{\glsxtrbibseries}% + \glsaddstoragekey{title}{}{\glsxtrbibtitle}% + \glsaddstoragekey{bibtextype}{}{\glsxtrbibtype}% + \glsaddstoragekey{volume}{}{\glsxtrbibvolume}% +} +\newcommand*{\glsxtrmultisupplocation}[3]{% + {% + \def\glsxtrsupplocationurl{#2}% + \glshypernumber{#1}% + }% +} +\newcommand*\glsxtrdisplaysupploc[5]{% + \setentrycounter[#1]{#2}% + \glsxtrmultisupplocation{#5}{#4}{#3}% +} +\ifundef\hyperlink +{ + \newcommand*{\glsxtrdisplaylocnameref}[8]{% + \glsnoidxdisplayloc{#1}{#2}{#3}{#4}% + } +} +{ + \newcommand*{\glsxtrdisplaylocnameref}[8]{% + \ifcsdef{glsxtr#2locfmt}% + {\glsxtrnamereflink{#3}{\csuse{glsxtr#2locfmt}{#4}{#5}}{#2.#7}{#8}}% + {% + \ifstrempty{#5}% + {% + \glsxtrnamereflink{#3}{#4}{#2.#7}{#8}% + }% + {% + \ifstrequal{#2}{page}% + {\glsxtrnamereflink{#3}{#4}{#2.#7}{#8}}% + {\glsxtrnamereflink{#3}{#5}{#2.#7}{#8}}% + }% + }% + } +} +\newcommand*{\glsxtrequationlocfmt}[2]{(#1)} +\newcommand*{\glsxtrnamereflink}[4]{% + \begingroup + \let\glshypernumber\@firstofone + \ifstrempty{#4}% + {\glsxtrfmtinternalnameref{#3}{#1}{#2}}% + {\glsxtrfmtexternalnameref{#3}{#1}{#2}{#4}}% + \endgroup +} +\newcommand{\glsxtrnameloclink}[6]{% + \begingroup + \setentrycounter[#1]{#2}% + \def\glsxtr@locationhypertext{#5}% + \let\glshypernumber\@firstofone + \def\@glsnumberformat{#3}% + \def\glsxtrsupplocationurl{#6}% + \toks@={}% + \@glsxtr@bibgls@removespaces#4 \@nil + \endgroup +} +\def\@glsxtr@bibgls@removespaces#1 #2\@nil{% + \toks@=\expandafter{\the\toks@#1}% + \ifx\\#2\\% + \edef\@glo@tmp{\the\toks@}% + \ifx\@glo@tmp\empty + \else + \protected@edef\@glo@tmp{\glsentrycounter\@glo@counterprefix\the\toks@}% + \ifdefvoid\glsxtrsupplocationurl + {% + \expandafter\glsxtrfmtinternalnameref\expandafter{\@glo@tmp}% + {\@glsnumberformat}{\glsxtr@locationhypertext}% + }% + {% + \expandafter\glsxtrfmtexternalnameref\expandafter{\@glo@tmp}% + {\@glsnumberformat}{\glsxtr@locationhypertext}{\glsxtrsupplocationurl}% + }% + \fi + \else + \@gls@ReturnAfterFi{% + \@glsxtr@bibgls@removespaces#2\@nil + }% + \fi +} +\newcommand*{\glsxtrfmtinternalnameref}[3]{% + \csuse{#2}{\glsdohyperlink{#1}{#3}}% +} +\newcommand*{\glsxtrfmtexternalnameref}[4]{% + \csuse{#2}{\hyperref{#4}{}{#1}{#3}}% +} +\newcommand*{\glsxtrSetWidest}[3]{% + \ifdef\glsupdatewidest + {% + \ifdef\glslongextraUpdateWidest + {% + \ifstrempty{#1} + {% + \glsupdatewidest[#2]{#3}% + \ifnum#2=0\relax + \glslongextraUpdateWidest{#3}% + \else + \glslongextraUpdateWidestChild{#2}{#3}% + \fi + }% + {% + \apptoglossarypreamble[#1]{\glsupdatewidest[#2]{#3}}% + \ifnum#2=0\relax + \apptoglossarypreamble[#1]{\glslongextraUpdateWidest{#3}}% + \else + \apptoglossarypreamble[#1]{\glslongextraUpdateWidestChild{#2}{#3}}% + \fi + }% + }% + {% + \ifstrempty{#1} + {% + \glsupdatewidest[#2]{#3}% + }% + {% + \apptoglossarypreamble[#1]{\glsupdatewidest[#2]{#3}}% + }% + }% + }% + {% + \ifdef\glssetwidest + {% + \ifdef\glslongextraUpdateWidest + {% + \ifstrempty{#1} + {% + \glssetwidest[#2]{#3}% + \ifnum#2=0\relax + \glslongextraUpdateWidest{#3}% + \else + \glslongextraUpdateWidestChild{#2}{#3}% + \fi + }% + {% + \apptoglossarypreamble[#1]{\glssetwidest[#2]{#3}}% + \ifnum#2=0\relax + \apptoglossarypreamble[#1]{\glslongextraUpdateWidest{#3}}% + \else + \apptoglossarypreamble[#1]{\glslongextraUpdateWidestChild{#2}{#3}}% + \fi + }% + }% + {% + \ifstrempty{#1} + {% + \glssetwidest[#2]{#3}% + }% + {% + \apptoglossarypreamble[#1]{\glssetwidest[#2]{#3}}% + }% + }% + }% + {% + \ifdef\glslongextraUpdateWidest + {% + \ifstrempty{#1} + {% + \ifnum#2=0\relax + \glslongextraUpdateWidest{#3}% + \else + \glslongextraUpdateWidestChild{#2}{#3}% + \fi + }% + {% + \ifnum#2=0\relax + \apptoglossarypreamble[#1]{\glslongextraUpdateWidest{#3}}% + \else + \apptoglossarypreamble[#1]{\glslongextraUpdateWidestChild{#2}{#3}}% + \fi + }% + }% + {}% + }% + }% +} +\newcommand*{\glsxtrSetWidestFallback}[2]{% + \ifnum#1=0\relax + \ifdef\glsFindWidestTopLevelName + {% + \glsFindWidestTopLevelName[#2]% + }% + {% + \GlossariesExtraWarning{You need stylemods={tree} to + provide a fallback for set-widest}% + }% + \else + \ifdef\glsFindWidestLevelTwo + {% + \glsFindWidestLevelTwo[#2]% + \ifdef\glslongextraUpdateWidestChild + {% + \glslongextraUpdateWidestChild{#1}{\csuse{@glswidestnamei}}% + \glslongextraUpdateWidestChild{#1}{\csuse{@glswidestnameii}}% + }% + {}% + }% + {% + \GlossariesExtraWarning{You need stylemods={tree} to + provide a fallback for set-widest}% + }% + \fi +} +\newcommand*{\@glsxtr@labelprefixes}{} +\newcommand*{\glsxtrclearlabelprefixes}{% + \renewcommand*{\@glsxtr@labelprefixes}{}% +} +\newcommand*{\glsxtraddlabelprefix}[1]{% + \ifstrempty{#1}% + {\glsxtraddlabelprefix{\empty}}% + {% + \ifdefempty\@glsxtr@labelprefixes + {\def\@glsxtr@labelprefixes{#1}}% + {\appto\@glsxtr@labelprefixes{,#1}}% + }% +} +\newcommand*{\glsxtrprependlabelprefix}[1]{% + \ifstrempty{#1}% + {\glsxtrprependlabelprefix{\empty}}% + {% + \ifdefempty\@glsxtr@labelprefixes + {\def\@glsxtr@labelprefixes{#1}}% + {\preto\@glsxtr@labelprefixes{#1,}}% + }% +} +\newcommand*{\glsxtrifinlabelprefixlist}[3]{% + \ifstrempty{#1}% + {\glsxtrifinlabelprefixlist{\empty}{#2}{#3}}% + {% + \DTLifinlist{#1}{\@glsxtr@labelprefixes}{#2}{#3}% + }% +} +\AtBeginDocument{% + \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@prefixlabellist}[1]{}}% + \protected@write\@auxout{}{\string\@glsxtr@prefixlabellist{\@glsxtr@labelprefixes}}% +} +\newcommand*{\@glsxtr@get@prefixedlabel}[1]{% + \begingroup + \protected@edef\@gls@thislabel{#1}% + \@for\@glsxtr@prefix:=\@glsxtr@labelprefixes\do + {% + \protected@edef\@gls@thislabel{\@glsxtr@prefix#1}% + \ifglsentryexists{\@gls@thislabel}{\@endfortrue}{}% + }% + \edef\@glo@tmp{\endgroup\noexpand\def\noexpand\@gls@thislabel{\@gls@thislabel}}\@glo@tmp +} +\newrobustcmd*{\dgls}{\@gls@hyp@opt\@dgls} +\newcommand*{\@dgls}[2][]{% + \@glsxtr@get@prefixedlabel{#2}% + \new@ifnextchar[{\@gls@{#1}{\@gls@thislabel}}{\@gls@{#1}{\@gls@thislabel}[]}% +} +\newrobustcmd*{\dglspl}{\@gls@hyp@opt\@dglspl} +\newcommand*{\@dglspl}[2][]{% + \@glsxtr@get@prefixedlabel{#2}% + \new@ifnextchar[{\@glspl@{#1}{\@gls@thislabel}}{\@glspl@{#1}{\@gls@thislabel}[]}% +} +\newrobustcmd*{\dGls}{\@gls@hyp@opt\@dGls} +\newcommand*{\@dGls}[2][]{% + \@glsxtr@get@prefixedlabel{#2}% + \new@ifnextchar[{\@Gls@{#1}{\@gls@thislabel}}{\@Gls@{#1}{\@gls@thislabel}[]}% +} +\newrobustcmd*{\dGlspl}{\@gls@hyp@opt\@dGlspl} +\newcommand*{\@dGlspl}[2][]{% + \@glsxtr@get@prefixedlabel{#2}% + \new@ifnextchar[{\@Glspl@{#1}{\@gls@thislabel}}{\@Glspl@{#1}{\@gls@thislabel}[]}% +} +\newrobustcmd*{\dGLS}{\@gls@hyp@opt\@dGLS} +\newcommand*{\@dGLS}[2][]{% + \@glsxtr@get@prefixedlabel{#2}% + \new@ifnextchar[{\@GLS@{#1}{\@gls@thislabel}}{\@GLS@{#1}{\@gls@thislabel}[]}% +} +\newrobustcmd*{\dGLSpl}{\@gls@hyp@opt\@dGLSpl} +\newcommand*{\@dGLSpl}[2][]{% + \@glsxtr@get@prefixedlabel{#2}% + \new@ifnextchar[{\@GLSpl@{#1}{\@gls@thislabel}}{\@GLSpl@{#1}{\@gls@thislabel}[]}% +} +\newrobustcmd*{\dglslink}[3][]{% + \@glsxtr@get@prefixedlabel{#2}% + \glslink[#1]{\@gls@thislabel}{#3}% +} +\newrobustcmd*{\dglsdisp}[3][]{% + \@glsxtr@get@prefixedlabel{#2}% + \glsdisp[#1]{\@gls@thislabel}{#3}% +} +\newrobustcmd*{\glsxtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\glsxtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\glsxtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +\newrobustcmd*{\Glsxtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\glsxtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\Glsxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\Glsxtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +\newrobustcmd*{\GlsXtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\GlsXtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\GlsXtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\GlsXtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\GlsXtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +\newrobustcmd*{\GLSxtrmultientryadjustedname}[4]{% + \bgroup + \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep + \let\@glsxtrmultientryadjustednamepresep\glsxtrmultientryadjustednamepresep + \let\@glsxtrmultientryadjustednamepostsep\glsxtrmultientryadjustednamepostsep + \let\@glsxtrmultientryadjustednameother\GLSxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefmt\GLSxtrmultientryadjustednamefmt + \let\@glsxtrmultientryadjustednamefirstother\GLSxtrmultientryadjustednameother + \let\@glsxtrmultientryadjustednamefirstfmt\GLSxtrmultientryadjustednamefmt + \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% + \egroup +} +\newcommand*{\@glsxtrmultientryadjustedname}[4]{% + \letcs\mglscurrentmainlabel{@gls@combined@#4@main}% + \letcs\mglscurrentmainlist{@gls@combined@#4@list}% + \letcs\mglscurrentmainoptions{@gls@combined@#4@options}% + \ifblank{#1}% + {% + \@glsxtrmultientryadjustednamefirstfmt{#2}% + }% + {% + \def\@mgls@previouslabel{}% + \let\@gls@xtradjustedother\@glsxtrmultientryadjustednamefirstother + \@for\mglscurrentlabel:=#1\do{% + \ifx\@mgls@previouslabel\empty + \else + \@glsxtrmultientryadjustednamesep{\@mgls@previouslabel}{\mglscurrentlabel}% + \fi + \@gls@xtradjustedother{\mglscurrentlabel}% + \let\@mgls@previouslabel\mglscurrentlabel + \let\@gls@xtradjustedother\@glsxtrmultientryadjustednameother + }% + \@glsxtrmultientryadjustednamepresep{\@mgls@previouslabel}{\mglscurrentmainlabel}% + \@glsxtrmultientryadjustednamefmt{#2}% + }% + \ifblank{#3}% + {}% + {% + \let\@mgls@previouslabel\mglscurrentmainlabel + \let\@gls@xtrmultientryadjustednamesep\@glsxtrmultientryadjustednamepostsep + \@for\mglscurrentlabel:=#3\do{% + \@gls@xtrmultientryadjustednamesep{\@mgls@previouslabel}{\mglscurrentlabel}% + \@glsxtrmultientryadjustednameother{\mglscurrentlabel}% + \let\@mgls@previouslabel\mglscurrentlabel + \let\@gls@xtrmultientryadjustednamesep\@glsxtrmultientryadjustednamesep + }% + }% +} +\newcommand*{\glsxtrmultientryadjustednamesep}{\glscombinedfirstsepfirst} +\newcommand*{\glsxtrmultientryadjustednamepresep}{\glsxtrmultientryadjustednamesep} +\newcommand*{\glsxtrmultientryadjustednamepostsep}{\glsxtrmultientryadjustednamesep} +\newcommand*{\glsxtrmultientryadjustednamefmt}[1]{#1} +\newcommand*{\glsxtrmultientryadjustednameother}[1]{\glsentryname{#1}} +\newcommand*{\Glsxtrmultientryadjustednamefmt}[1]{\makefirstuc{#1}} +\newcommand*{\Glsxtrmultientryadjustednameother}[1]{\Glsentryname{#1}} +\newcommand*{\GlsXtrmultientryadjustednameother}[1]{% + \glsentrytitlecase{#1}{name}} +\ifdef\glscapitalisewords +{% + \newcommand*{\GlsXtrmultientryadjustednamefmt}[1]{\glscapitalisewords{#1}} +} +{ + \newcommand*{\GlsXtrmultientryadjustednamefmt}[1]{\capitalisewords{#1}} +} +\newcommand*{\GLSxtrmultientryadjustednameother}[1]{% + \mfirstucMakeUppercase{\glsentryname{#1}}} +\newcommand*{\GLSxtrmultientryadjustednamefmt}[1]{\mfirstucMakeUppercase{#1}} +\providecommand*{\Alpha}{\mathrm{A}} +\providecommand*{\Beta}{\mathrm{B}} +\providecommand*{\Epsilon}{\mathrm{E}} +\providecommand*{\Zeta}{\mathrm{Z}} +\providecommand*{\Eta}{\mathrm{H}} +\providecommand*{\Iota}{\mathrm{I}} +\providecommand*{\Kappa}{\mathrm{K}} +\providecommand*{\Mu}{\mathrm{M}} +\providecommand*{\Nu}{\mathrm{N}} +\providecommand*{\Omicron}{\mathrm{O}} +\providecommand*{\Rho}{\mathrm{P}} +\providecommand*{\Tau}{\mathrm{T}} +\providecommand*{\Chi}{\mathrm{X}} +\providecommand*{\Digamma}{\mathrm{F}} +\providecommand*{\omicron}{\mathit{o}} +\@ifpackageloaded{upgreek}% +{ + \providecommand*{\Upalpha}{\mathrm{A}} + \providecommand*{\Upbeta}{\mathrm{B}} + \providecommand*{\Upepsilon}{\mathrm{E}} + \providecommand*{\Upzeta}{\mathrm{Z}} + \providecommand*{\Upeta}{\mathrm{H}} + \providecommand*{\Upiota}{\mathrm{I}} + \providecommand*{\Upkappa}{\mathrm{K}} + \providecommand*{\Upmu}{\mathrm{M}} + \providecommand*{\Upnu}{\mathrm{N}} + \providecommand*{\Upomicron}{\mathrm{O}} + \providecommand*{\Uprho}{\mathrm{P}} + \providecommand*{\Uptau}{\mathrm{T}} + \providecommand*{\Upchi}{\mathrm{X}} + \providecommand*{\upomicron}{\mathrm{o}} +}% +{}% upgreek.sty not loaded +\newcommand*{\glsxtrcontrolrules}{% + \string'\glshex 200B\string'\string=\glshex 200C\string=\glshex 200D + \string=\glshex 200E\string=\glshex 200F\string=\glshex 0000\string=\glshex 0001 + \string=\glshex 0002\string=\glshex 0003\string=\glshex 0004\string=\glshex 0005 + \string=\glshex 0006\string=\glshex 0007\string=\glshex 0008 + \string=\string'\glshex 0009\string'\string=\string'\glshex 000B\string' + \string=\glshex 000E\string=\glshex 000F\string=\string'\glshex +0010\string'\string=\glshex 0011 + \string=\glshex 0012\string=\glshex 0013\string=\glshex 0014\string=\glshex 0015 + \string=\glshex 0016\string=\glshex 0017\string=\glshex 0018\string=\glshex 0019 + \string=\glshex 001A\string=\glshex 001B\string=\glshex 001C\string=\glshex 001D + \string=\glshex 001E\string=\glshex 001F\string=\glshex 007F\string=\glshex 0080 + \string=\glshex 0081\string=\glshex 0082\string=\glshex 0083\string=\glshex 0084 + \string=\glshex 0085\string=\glshex 0086\string=\glshex 0087\string=\glshex 0088 + \string=\glshex 0089\string=\glshex 008A\string=\glshex 008B\string=\glshex 008C + \string=\glshex 008D\string=\glshex 008E\string=\glshex 008F\string=\glshex 0090 + \string=\glshex 0091\string=\glshex 0092\string=\glshex 0093\string=\glshex 0094 + \string=\glshex 0095\string=\glshex 0096\string=\glshex 0097\string=\glshex 0098 + \string=\glshex 0099\string=\glshex 009A\string=\glshex 009B\string=\glshex 009C + \string=\glshex 009D\string=\glshex 009E\string=\glshex 009F +} +\newcommand*{\glsxtrspacerules}{% + \string' \string'\string; + \string'\glshex 00A0\string'\string; + \string'\glshex 2000\string'\string; + \string'\glshex 2001\string'\string; + \string'\glshex 2002\string'\string; + \string'\glshex 2003\string'\string; + \string'\glshex 2004\string'\string; + \string'\glshex 2005\string'\string; + \string'\glshex 2006\string'\string; + \string'\glshex 2007\string'\string; + \string'\glshex 2008\string'\string; + \string'\glshex 2009\string'\string; + \string'\glshex 200A\string'\string; + \string'\glshex 3000\string' +} +\newcommand*{\glsxtrnonprintablerules}{% + \string'\glshex FEFF\string'\string; + \string'\glshex 000A\string'\string; + \string'\glshex 0009\string'\string; + \string'\glshex 000C\string'\string; + \string'\glshex 000B\string' +} + +\newcommand*{\glsxtrcombiningdiacriticrules}{% + \glsxtrcombiningdiacriticIrules\string; + \glsxtrcombiningdiacriticIIrules\string; + \glsxtrcombiningdiacriticIIIrules\string; + \glsxtrcombiningdiacriticIVrules +} +\newcommand*{\glsxtrcombiningdiacriticIrules}{% + \glshex 0301\string;% combining acute + \glshex 0300\string;% combining grave + \glshex 0306\string;% combining breve + \glshex 0302\string;% combining circumflex + \glshex 030C\string;% combining caron + \glshex 030A\string;% combining ring + \glshex 030D\string;% combining vertical line above + \glshex 0308\string;% combining diaeresis + \glshex 030B\string;% combining double acute + \glshex 0303\string;% combining tilde + \glshex 0307\string;% combining dot above + \glshex 0304% combining macron +} +\newcommand*{\glsxtrcombiningdiacriticIIrules}{% + \glshex 0337\string;% combining short solidus overlay + \glshex 0327\string;% combining cedilla + \glshex 0328\string;% combining ogonek + \glshex 0323\string;% combining dot below + \glshex 0332\string;% combining low line + \glshex 0305\string;% combining overline + \glshex 0309\string;% combining hook above + \glshex 030E\string;% combining double vertical line above + \glshex 030F\string;% combining double grave accent + \glshex 0310\string;% combining candrabindu + \glshex 0311\string;% combining inverted breve + \glshex 0312\string;% combining turned comma above + \glshex 0313\string;% combining comma above + \glshex 0314\string;% combining reversed comma above + \glshex 0315\string;% combining comma above right + \glshex 0316\string;% combining grave accent below + \glshex 0317% combining acute accent below +} +\newcommand*{\glsxtrcombiningdiacriticIIIrules}{% + \glshex 0318\string;% combining left tack below + \glshex 0319\string;% combining right tack below + \glshex 031A\string;% combining left angle above + \glshex 031B\string;% combining horn + \glshex 031C\string;% combining left half ring below + \glshex 031D\string;% combining up tack below + \glshex 031E\string;% combining down tack below + \glshex 031F\string;% combining plus sign below + \glshex 0320\string;% combining minus sign below + \glshex 0321\string;% combining palatalized hook below + \glshex 0322\string;% combining retroflex hook below + \glshex 0324\string;% combining diaresis below + \glshex 0325\string;% combining ring below + \glshex 0326\string;% combining comma below + \glshex 0329\string;% combining vertical line below + \glshex 032A\string;% combining bridge below + \glshex 032B\string;% combining inverted double arch below + \glshex 032C\string;% combining caron below + \glshex 032D\string;% combining circumflex accent below + \glshex 032E\string;% combining breve below + \glshex 032F\string;% combining inverted breve below + \glshex 0330\string;% combining tilde below + \glshex 0331\string;% combining macron below + \glshex 0333\string;% combining double low line + \glshex 0334\string;% combining tilde overlay + \glshex 0335\string;% combining short stroke overlay + \glshex 0336\string;% combining long stroke overlay + \glshex 0338\string;% combining long solidus overlay + \glshex 0339\string;% combining combining right half ring below + \glshex 033A\string;% combining inverted bridge below + \glshex 033B\string;% combining square below + \glshex 033C\string;% combining seagull below + \glshex 033D\string;% combining x above + \glshex 033E\string;% combining vertical tilde + \glshex 033F\string;% combining double overline + \glshex 0342\string;% combining Greek perispomeni + \glshex 0344\string;% combining Greek dialytika tonos + \glshex 0345\string;% combining Greek ypogegrammeni + \glshex 0360\string;% combining double tilde + \glshex 0361\string;% combining double inverted breve + \glshex 0483\string;% combining Cyrillic titlo + \glshex 0484\string;% combining Cyrillic palatalization + \glshex 0485\string;% combining Cyrillic dasia pneumata + \glshex 0486% combining Cyrillic psili pneumata +} +\newcommand*{\glsxtrcombiningdiacriticIVrules}{% + \glshex 20D0\string;% combining left harpoon above + \glshex 20D1\string;% combining right harpoon above + \glshex 20D2\string;% combining long vertical line overlay + \glshex 20D3\string;% combining short vertical line overlay + \glshex 20D4\string;% combining anticlockwise arrow above + \glshex 20D5\string;% combining clockwise arrow above + \glshex 20D6\string;% combining left arrow above + \glshex 20D7\string;% combining right arrow above + \glshex 20D8\string;% combining ring overlay + \glshex 20D9\string;% combining clockwise ring overlay + \glshex 20DA\string;% combining anticlockwise ring overlay + \glshex 20DB\string;% combining three dots above + \glshex 20DC\string;% combining four dots above + \glshex 20DD\string;% combining enclosing circle + \glshex 20DE\string;% combining enclosing square + \glshex 20DF\string;% combining enclosing diamond + \glshex 20E0\string;% combining enclosing circle backslash + \glshex 20E1% combining left right arrow above +} +\newcommand*{\glsxtrhyphenrules}{% + \string'\string-\string'\string;% ASCII hyphen + \glshex 00AD\string;% soft hyphen + \glshex 2010\string;% hyphen + \glshex 2011\string;% non-breaking hyphen + \glshex 2012\string;% figure dash + \glshex 2013\string;% en dash + \glshex 2014\string;% em dash + \glshex 2015\string;% horizontal bar + \glshex 2212\string=\glshex 207B\string=\glshex 208B% minus sign +} +\newcommand*{\glsxtrgeneralpuncrules}{% + \glsxtrgeneralpuncIrules + \string<\glsxtrcurrencyrules + \string<\glsxtrgeneralpuncIIrules +} +\newcommand*{\glsxtrgeneralpuncIrules}{% + \string'\glshex 005F\string'% underscore + \string<\glshex 00AF% macron + \string<\string'\glshex 002C\string'% comma + \string<\string'\glshex 003B\string'% semi-colon + \string<\string'\glshex 003A\string'% colon + \string<\string'\glshex 0021\string'% exclamation mark + \string<\glshex 00A1% inverted exclamation mark + \string<\string'\glshex 003F\string'% question mark + \string<\glshex 00BF% inverted question mark + \string<\string'\glshex 002F\string'% solidus + \string<\string'\glshex 002E\string'% full stop + \string<\glshex 00B4% acute accent + \string<\string'\glshex 0060\string'% grave accent + \string<\string'\glshex 005E\string'% circumflex accent + \string<\glshex 00A8% diaersis + \string<\string'\glshex 007E\string'% tilde + \string<\glshex 00B7% middle dot + \string<\glshex 00B8% cedilla + \string<\string'\glshex 0027\string'% straight apostrophe + \string<\string'\glshex 0022\string'% straight double quote + \string<\glshex 00AB% left guillemet + \string<\glshex 00BB% right guillemet + \string<\string'\glshex 0028\string'% left parenthesis + \string=\glshex 207D\string=\glshex 208D% super/subscript left parenthesis + \string<\string'\glshex 0029\string'% right parenthesis + \string=\glshex 207E\string=\glshex 208E% super/subscript right parenthesis + \string<\string'\glshex 005B\string'% left square bracket + \string<\string'\glshex 005D\string'% right square bracket + \string<\string'\glshex 007B\string'% left curly bracket + \string<\string'\glshex 007D\string'% right curly bracket + \string<\glshex 00A7% section sign + \string<\glshex 00B6% pilcrow sign + \string<\glshex 00A9% copyright sign + \string<\glshex 00AE% registered sign + \string<\string'\glshex 0040\string'% at sign +} +\newcommand*{\glsxtrcurrencyrules}{% + \glshex 00A4% currency sign + \string<\glshex 0E3F% Thai currency symbol baht + \string<\glshex 00A2% cent sign + \string<\glshex 20A1% colon sign + \string<\glshex 20A2% cruzeiro sign + \string<\string'\glshex 0024\string'% dollar sign + \string<\glshex 20AB% dong sign + \string<\glshex 20AC% euro sign + \string<\glshex 20A3% French franc sign + \string<\glshex 20A4% lira sign + \string<\glshex 20A5% mill sign + \string<\glshex 20A6% naira sign + \string<\glshex 20A7% peseta sign + \string<\glshex 00A3% pound sign + \string<\glshex 20A8% rupee sign + \string<\glshex 20AA% new sheqel sign + \string<\glshex 20A9% won sign + \string<\glshex 00A5% yen sign +} +\newcommand*{\glsxtrgeneralpuncIIrules}{% + \string'\glshex 002A\string'% asterisk + \string<\string'\glshex 005C\string'% backslash + \string<\string'\glshex 0026\string'% ampersand + \string<\string'\glshex 0023\string'% hash sign + \string<\string'\glshex 0025\string'% percent sign + \string<\string'\glshex 002B\string'% plus sign + \string=\glshex 207A\string=\glshex 208A% super/subscript plus sign + \string<\glshex 00B1% plus-minus sign + \string<\glshex 00F7% division sign + \string<\glshex 00D7% multiplication sign + \string<\string'\glshex 003C\string'% less-than sign + \string<\string'\glshex 003D\string'% equals sign + \string<\string'\glshex 003E\string'% greater-than sign + \string<\glshex 00AC% not sign + \string<\string'\glshex 007C\string'% vertical bar (pipe) + \string<\glshex 00A6% broken bar + \string<\glshex 00B0% degree sign + \string<\glshex 00B5% micron sign +} +\newcommand*{\glsxtrGeneralLatinIrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string<\glsxtrLatinT + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z +} +\newcommand*{\glsxtrGeneralLatinIIrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinEth + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string& SS \string, \glsxtrLatinEszettSs + \string<\glsxtrLatinT + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrGeneralLatinIIIrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinEth + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string& SZ, \glsxtrLatinEszettSz + \string<\glsxtrLatinT + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrGeneralLatinIVrules}{% + \glsxtrLatinA + \string& AE , \glsxtrLatinAELigature + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinEth + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string& OE , \glsxtrLatinOELigature + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string& SS , \glsxtrLatinEszettSs + \string<\glsxtrLatinT + \string& th =\glshex 00DE + \string& TH =\glshex 00FE + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrGeneralLatinVrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinEth + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string& SS , \glsxtrLatinEszettSs + \string<\glsxtrLatinT + \string& th =\glshex 00DE + \string& TH =\glshex 00FE + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrGeneralLatinVIrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinEth + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string& SZ , \glsxtrLatinEszettSz + \string<\glsxtrLatinT + \string& th =\glshex 00DE + \string& TH =\glshex 00FE + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrGeneralLatinVIIrules}{% + \glsxtrLatinA + \string<\glsxtrLatinAELigature + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinEth + \string<\glsxtrLatinE + \string<f,F% + \string<\glsxtrLatinInsularG + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinOELigature + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glshex 017F=\glsxtrLatinS % s and long s + \string<\glsxtrLatinT + \string<\glsxtrLatinThorn + \string<u,U% + \string<v,V% + \string< w\string=\glshex 01BF, W\string=\glshex 01F7 + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrGeneralLatinVIIIrules}{% + \glsxtrLatinA + \string& AE , \glsxtrLatinAELigature + \string<b,B% + \string<c,C% + \string<\glshex 00F0\string;d,\glshex 00D0\string;D% D and eth + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glshex 0142\string=\glsxtrLatinL\string=\glshex 0141% L and \L + \string<\glsxtrLatinM + \string<\glsxtrLatinN + \string<\glshex 00F8\string=\glsxtrLatinO\string=\glshex 00D8% O and \O + \string& OE , \glsxtrLatinOELigature + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string& SS , \glsxtrLatinEszettSs + \string<\glsxtrLatinT + \string& th =\glshex 00DE + \string& TH =\glshex 00FE + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z% +} +\newcommand*{\glsxtrLatinA}{% + a\string=\glshex 00AA\string=\glshex 2090,A +} +\newcommand*{\glsxtrLatinE}{% + e\string=\glshex 2091,E +} +\newcommand*{\glsxtrLatinH}{% + h\string=\glshex 2095,H +} +\newcommand*{\glsxtrLatinI}{% + i\string=\glshex 2071,I +} +\newcommand*{\glsxtrLatinK}{% + k\string=\glshex 2096,K +} +\newcommand*{\glsxtrLatinL}{% + l\string=\glshex 2097,L +} +\newcommand*{\glsxtrLatinM}{% + m\string=\glshex 2098,M +} +\newcommand*{\glsxtrLatinN}{% + n\string=\glshex 207F\string=\glshex 2099,N +} +\newcommand*{\glsxtrLatinO}{% + o\string=\glshex 00BA\string=\glshex 2092,O +} +\newcommand*{\glsxtrLatinP}{% + p\string=\glshex 209A,P +} +\newcommand*{\glsxtrLatinS}{% + s\string=\glshex 209B,S +} +\newcommand*{\glsxtrLatinT}{% + t\string=\glshex 209C,T +} +\newcommand*{\glsxtrLatinX}{% + x\string=\glshex 2093,X +} +\newcommand*{\glsxtrLatinSchwa}{% + \glshex 0259\string=\glshex 2094,\glshex 018F +} +\newcommand*{\glsxtrLatinEszettSs}{% + \glshex 00DF% eszett + \string=\glshex 017Fs % long S s +} +\newcommand*{\glsxtrLatinEszettSz}{% + \glshex 00DF% eszett + \string= \glshex 017Fz % long S z +} +\newcommand*{\glsxtrLatinEth}{% + \glshex 00F0,\glshex 00D0% eth +} +\newcommand*{\glsxtrLatinThorn}{% + \glshex 00FE,\glshex 00DE% thorn +} +\newcommand*{\glsxtrLatinAELigature}{% + \glshex 00E6,\glshex 00C6% AE-ligature +} +\newcommand*{\glsxtrLatinOELigature}{% + \glshex 0153,\glshex 0152% OE-ligature +} +\newcommand*{\glsxtrLatinAA}{% + \glshex 00E5=a\glshex 030A,% \aa + \glshex 00C5=A\glshex 030A% \AA +} +\newcommand*{\glsxtrLatinWynn}{% + \glshex 01BF,\glshex 01F7% wynn +} +\newcommand*{\glsxtrLatinInsularG}{% + \glshex 1D79,\glshex A77D% insular G + \string; g, G +} +\newcommand*{\glsxtrLatinOslash}{% + \glshex 00F8,\glshex 00D8% \o, \O +} +\newcommand*{\glsxtrLatinLslash}{% + \glshex 0142,\glshex 0141% \l, \L +} +\newcommand*{\glsxtrMathUpGreekIrules}{% + \glsxtrUpAlpha + \string<\glsxtrUpBeta + \string<\glsxtrUpGamma + \string<\glsxtrUpDelta + \string<\glsxtrUpEpsilon + \string<\glsxtrUpDigamma + \string<\glsxtrUpZeta + \string<\glsxtrUpEta + \string<\glsxtrUpTheta + \string<\glsxtrUpIota + \string<\glsxtrUpKappa + \string<\glsxtrUpLambda + \string<\glsxtrUpMu + \string<\glsxtrUpNu + \string<\glsxtrUpXi + \string<\glsxtrUpOmicron + \string<\glsxtrUpPi + \string<\glsxtrUpRho + \string<\glsxtrUpSigma + \string<\glsxtrUpTau + \string<\glsxtrUpUpsilon + \string<\glsxtrUpPhi + \string<\glsxtrUpChi + \string<\glsxtrUpPsi + \string<\glsxtrUpOmega +} +\newcommand*{\glsxtrMathUpGreekIIrules}{% + \glsxtrUpAlpha + \string<\glsxtrUpBeta + \string<\glsxtrUpGamma + \string<\glsxtrUpDelta + \string<\glsxtrUpEpsilon + \string<\glsxtrUpZeta + \string<\glsxtrUpEta + \string<\glsxtrUpTheta + \string<\glsxtrUpIota + \string<\glsxtrUpKappa + \string<\glsxtrUpLambda + \string<\glsxtrUpMu + \string<\glsxtrUpNu + \string<\glsxtrUpXi + \string<\glsxtrUpOmicron + \string<\glsxtrUpPi + \string<\glsxtrUpRho + \string<\glsxtrUpSigma + \string<\glsxtrUpTau + \string<\glsxtrUpUpsilon + \string<\glsxtrUpPhi + \string<\glsxtrUpChi + \string<\glsxtrUpPsi + \string<\glsxtrUpOmega +} +\newcommand*{\glsxtrMathItalicGreekIrules}{% + \glsxtrMathItalicAlpha + \string<\glsxtrMathItalicBeta + \string<\glsxtrMathItalicGamma + \string<\glsxtrMathItalicDelta + \string<\glsxtrMathItalicEpsilon + \string<\glsxtrUpDigamma + \string<\glsxtrMathItalicZeta + \string<\glsxtrMathItalicEta + \string<\glsxtrMathItalicTheta + \string<\glsxtrMathItalicIota + \string<\glsxtrMathItalicKappa + \string<\glsxtrMathItalicLambda + \string<\glsxtrMathItalicMu + \string<\glsxtrMathItalicNu + \string<\glsxtrMathItalicXi + \string<\glsxtrMathItalicOmicron + \string<\glsxtrMathItalicPi + \string<\glsxtrMathItalicRho + \string<\glsxtrMathItalicSigma + \string<\glsxtrMathItalicTau + \string<\glsxtrMathItalicUpsilon + \string<\glsxtrMathItalicPhi + \string<\glsxtrMathItalicChi + \string<\glsxtrMathItalicPsi + \string<\glsxtrMathItalicOmega +} +\newcommand*{\glsxtrMathItalicGreekIIrules}{% + \glsxtrMathItalicAlpha + \string<\glsxtrMathItalicBeta + \string<\glsxtrMathItalicGamma + \string<\glsxtrMathItalicDelta + \string<\glsxtrMathItalicEpsilon + \string<\glsxtrMathItalicZeta + \string<\glsxtrMathItalicEta + \string<\glsxtrMathItalicTheta + \string<\glsxtrMathItalicIota + \string<\glsxtrMathItalicKappa + \string<\glsxtrMathItalicLambda + \string<\glsxtrMathItalicMu + \string<\glsxtrMathItalicNu + \string<\glsxtrMathItalicXi + \string<\glsxtrMathItalicOmicron + \string<\glsxtrMathItalicPi + \string<\glsxtrMathItalicRho + \string<\glsxtrMathItalicSigma + \string<\glsxtrMathItalicTau + \string<\glsxtrMathItalicUpsilon + \string<\glsxtrMathItalicPhi + \string<\glsxtrMathItalicChi + \string<\glsxtrMathItalicPsi + \string<\glsxtrMathItalicOmega +} +\newcommand*{\glsxtrMathItalicUpperGreekIrules}{% + \glshex 1D6E2% upper case alpha (maths italic) + \string<\glshex 1D6E3% upper case beta (maths italic) + \string<\glshex 1D6E4% upper case gamma (maths italic) + \string<\glshex 1D6E5% upper case delta (maths italic) + \string<\glshex 1D6E6% upper case epsilon (maths italic) + \string<\glshex 03DC% upper case digamma + \string<\glshex 1D6E7% upper case zeta (maths italic) + \string<\glshex 1D6E8% upper case eta (maths italic) + \string<\glshex 1D6E9% upper case theta (maths italic) + \string=\glshex 1D6F3% upper case theta variant (maths italic) + \string<\glshex 1D6EA% upper case iota (maths italic) + \string<\glshex 1D6EB% upper case kappa (maths italic) + \string<\glshex 1D6EC% upper case lambda (maths italic) + \string<\glshex 1D6ED% upper case mu (maths italic) + \string<\glshex 1D6EE% upper case nu (maths italic) + \string<\glshex 1D6EF% upper case xi (maths italic) + \string<\glshex 1D6F0% upper case omicron (maths italic) + \string<\glshex 1D6F1% upper case pi (maths italic) + \string<\glshex 1D6F2% upper case rho (maths italic) + \string<\glshex 1D6F4% upper case sigma (maths italic) + \string<\glshex 1D6F5% upper case tau (maths italic) + \string<\glshex 1D6F6% upper case upsilon (maths italic) + \string<\glshex 1D6F7% upper case phi (maths italic) + \string<\glshex 1D6F8% upper case chi (maths italic) + \string<\glshex 1D6F9% upper case psi (maths italic) + \string<\glshex 1D6FA% upper case omega (maths italic) +} +\newcommand*{\glsxtrMathItalicUpperGreekIIrules}{% + \glshex 1D6E2% upper case alpha (maths italic) + \string<\glshex 1D6E3% upper case beta (maths italic) + \string<\glshex 1D6E4% upper case gamma (maths italic) + \string<\glshex 1D6E5% upper case delta (maths italic) + \string<\glshex 1D6E6% upper case epsilon (maths italic) + \string<\glshex 1D6E7% upper case zeta (maths italic) + \string<\glshex 1D6E8% upper case eta (maths italic) + \string<\glshex 1D6E9% upper case theta (maths italic) + \string=\glshex 1D6F3% upper case theta variant (maths italic) + \string<\glshex 1D6EA% upper case iota (maths italic) + \string<\glshex 1D6EB% upper case kappa (maths italic) + \string<\glshex 1D6EC% upper case lambda (maths italic) + \string<\glshex 1D6ED% upper case mu (maths italic) + \string<\glshex 1D6EE% upper case nu (maths italic) + \string<\glshex 1D6EF% upper case xi (maths italic) + \string<\glshex 1D6F0% upper case omicron (maths italic) + \string<\glshex 1D6F1% upper case pi (maths italic) + \string<\glshex 1D6F2% upper case rho (maths italic) + \string<\glshex 1D6F4% upper case sigma (maths italic) + \string<\glshex 1D6F5% upper case tau (maths italic) + \string<\glshex 1D6F6% upper case upsilon (maths italic) + \string<\glshex 1D6F7% upper case phi (maths italic) + \string<\glshex 1D6F8% upper case chi (maths italic) + \string<\glshex 1D6F9% upper case psi (maths italic) + \string<\glshex 1D6FA% upper case omega (maths italic) +} +\newcommand*{\glsxtrMathItalicLowerGreekIrules}{% + \glshex 1D6FC% lower case alpha (maths italic) + \string<\glshex 1D6FD% lower case beta (maths italic) + \string<\glshex 1D6FE% lower case gamma (maths italic) + \string<\glshex 1D6FF% lower case delta (maths italic) + \string<\glshex 1D700% lower case epsilon (maths italic) + \string=\glshex 1D716% lower case epsilon variant (maths italic) + \string<\glshex 03DD% lower case digamma + \string<\glshex 1D701% lower case zeta (maths italic) + \string<\glshex 1D702% lower case eta (maths italic) + \string<\glshex 1D703% lower case theta (maths italic) + \string=\glshex 1D717% lower case theta variant (maths italic) + \string<\glshex 1D704% lower case iota (maths italic) + \string<\glshex 1D705% lower case kappa (maths italic) + \string=\glshex 1D718% lower case kappa variant (maths italic) + \string<\glshex 1D706% lower case lambda (maths italic) + \string<\glshex 1D707% lower case mu (maths italic) + \string<\glshex 1D708% lower case nu (maths italic) + \string<\glshex 1D709% lower case xi (maths italic) + \string<\glshex 1D70A% lower case omicron (maths italic) + \string<\glshex 1D70B% lower case pi (maths italic) + \string=\glshex 1D71B% lower case pi variant (maths italic) + \string<\glshex 1D70C% lower case rho (maths italic) + \string=\glshex 1D71A% lower case rho variant (maths italic) + \string<\glshex 1D70D% lower case final sigma (maths italic) + \string=\glshex 1D70E% lower case sigma (maths italic) + \string<\glshex 1D70F% lower case tau (maths italic) + \string<\glshex 1D710% lower case upsilon (maths italic) + \string<\glshex 1D711% lower case phi (maths italic) + \string=\glshex 1D719% lower case phi variant (maths italic) + \string<\glshex 1D712% lower case chi (maths italic) + \string<\glshex 1D713% lower case psi (maths italic) + \string<\glshex 1D714% lower case omega (maths italic) +} +\newcommand*{\glsxtrMathItalicLowerGreekIIrules}{% + \glshex 1D6FC% lower case alpha (maths italic) + \string<\glshex 1D6FD% lower case beta (maths italic) + \string<\glshex 1D6FE% lower case gamma (maths italic) + \string<\glshex 1D6FF% lower case delta (maths italic) + \string<\glshex 1D700% lower case epsilon (maths italic) + \string=\glshex 1D716% lower case epsilon variant (maths italic) + \string<\glshex 1D701% lower case zeta (maths italic) + \string<\glshex 1D702% lower case eta (maths italic) + \string<\glshex 1D703% lower case theta (maths italic) + \string=\glshex 1D717% lower case theta variant (maths italic) + \string<\glshex 1D704% lower case iota (maths italic) + \string<\glshex 1D705% lower case kappa (maths italic) + \string=\glshex 1D718% lower case kappa variant (maths italic) + \string<\glshex 1D706% lower case lambda (maths italic) + \string<\glshex 1D707% lower case mu (maths italic) + \string<\glshex 1D708% lower case nu (maths italic) + \string<\glshex 1D709% lower case xi (maths italic) + \string<\glshex 1D70A% lower case omicron (maths italic) + \string<\glshex 1D70B% lower case pi (maths italic) + \string=\glshex 1D71B% lower case pi variant (maths italic) + \string<\glshex 1D70C% lower case rho (maths italic) + \string=\glshex 1D71A% lower case rho variant (maths italic) + \string<\glshex 1D70D% lower case final sigma (maths italic) + \string=\glshex 1D70E% lower case sigma (maths italic) + \string<\glshex 1D70F% lower case tau (maths italic) + \string<\glshex 1D710% lower case upsilon (maths italic) + \string<\glshex 1D711% lower case phi (maths italic) + \string=\glshex 1D719% lower case phi variant (maths italic) + \string<\glshex 1D712% lower case chi (maths italic) + \string<\glshex 1D713% lower case psi (maths italic) + \string<\glshex 1D714% lower case omega (maths italic) +} +\newcommand*{\glsxtrMathGreekIrules}{% + \glsxtrMathItalicAlpha + \string;\glsxtrUpAlpha + \string<\glsxtrMathItalicBeta + \string;\glsxtrUpBeta + \string<\glsxtrMathItalicGamma + \string;\glsxtrUpGamma + \string<\glsxtrMathItalicDelta + \string;\glsxtrUpDelta + \string<\glsxtrMathItalicEpsilon + \string;\glsxtrUpEpsilon + \string<\glsxtrUpDigamma + \string<\glsxtrMathItalicZeta + \string;\glsxtrUpZeta + \string<\glsxtrMathItalicEta + \string;\glsxtrUpEta + \string<\glsxtrMathItalicTheta + \string;\glsxtrUpTheta + \string<\glsxtrMathItalicIota + \string;\glsxtrUpIota + \string<\glsxtrMathItalicKappa + \string;\glsxtrUpKappa + \string<\glsxtrMathItalicLambda + \string;\glsxtrUpLambda + \string<\glsxtrMathItalicMu + \string;\glsxtrUpMu + \string<\glsxtrMathItalicNu + \string;\glsxtrUpNu + \string<\glsxtrMathItalicXi + \string;\glsxtrUpXi + \string<\glsxtrMathItalicOmicron + \string;\glsxtrUpOmicron + \string<\glsxtrMathItalicPi + \string;\glsxtrUpPi + \string<\glsxtrMathItalicRho + \string;\glsxtrUpRho + \string<\glsxtrMathItalicSigma + \string;\glsxtrUpSigma + \string<\glsxtrMathItalicTau + \string;\glsxtrUpTau + \string<\glsxtrMathItalicUpsilon + \string;\glsxtrUpUpsilon + \string<\glsxtrMathItalicPhi + \string;\glsxtrUpPhi + \string<\glsxtrMathItalicChi + \string;\glsxtrUpChi + \string<\glsxtrMathItalicPsi + \string;\glsxtrUpPsi + \string<\glsxtrMathItalicOmega + \string;\glsxtrUpOmega +} +\newcommand*{\glsxtrMathGreekIIrules}{% + \glsxtrMathItalicAlpha + \string;\glsxtrUpAlpha + \string<\glsxtrMathItalicBeta + \string;\glsxtrUpBeta + \string<\glsxtrMathItalicGamma + \string;\glsxtrUpGamma + \string<\glsxtrMathItalicDelta + \string;\glsxtrUpDelta + \string<\glsxtrMathItalicEpsilon + \string;\glsxtrUpEpsilon + \string<\glsxtrMathItalicZeta + \string;\glsxtrUpZeta + \string<\glsxtrMathItalicEta + \string;\glsxtrUpEta + \string<\glsxtrMathItalicTheta + \string;\glsxtrUpTheta + \string<\glsxtrMathItalicIota + \string;\glsxtrUpIota + \string<\glsxtrMathItalicKappa + \string;\glsxtrUpKappa + \string<\glsxtrMathItalicLambda + \string;\glsxtrUpLambda + \string<\glsxtrMathItalicMu + \string;\glsxtrUpMu + \string<\glsxtrMathItalicNu + \string;\glsxtrUpNu + \string<\glsxtrMathItalicXi + \string;\glsxtrUpXi + \string<\glsxtrMathItalicOmicron + \string;\glsxtrUpOmicron + \string<\glsxtrMathItalicPi + \string;\glsxtrUpPi + \string<\glsxtrMathItalicRho + \string;\glsxtrUpRho + \string<\glsxtrMathItalicSigma + \string;\glsxtrUpSigma + \string<\glsxtrMathItalicTau + \string;\glsxtrUpTau + \string<\glsxtrMathItalicUpsilon + \string;\glsxtrUpUpsilon + \string<\glsxtrMathItalicPhi + \string;\glsxtrUpPhi + \string<\glsxtrMathItalicChi + \string;\glsxtrUpChi + \string<\glsxtrMathItalicPsi + \string;\glsxtrUpPsi + \string<\glsxtrMathItalicOmega + \string;\glsxtrUpOmega +} +\newcommand*{\glsxtrUpAlpha}{% + \glshex 03B1,% lower case alpha + \glshex 0391% upper case alpha +} +\newcommand*{\glsxtrUpBeta}{% + \glshex 03B2,% lower case beta + \glshex 0392% upper case beta +} +\newcommand*{\glsxtrUpGamma}{% + \glshex 03B3,% lower case gamma + \glshex 0393% upper case gamma +} +\newcommand*{\glsxtrUpDelta}{% + \glshex 03B4,% lower case delta + \glshex 0394% upper case delta +} +\newcommand*{\glsxtrUpEpsilon}{% + \glshex 03B5% lower case epsilon + \string=\glshex 03F5,% lower case epsilon variant + \glshex 0395% upper case epsilon +} +\newcommand*{\glsxtrUpDigamma}{% + \glshex 03DD,% lower case digamma + \glshex 03DC% upper case digamma +} +\newcommand*{\glsxtrUpZeta}{% + \glshex 03B6,% lower case zeta + \glshex 0396% upper case zeta +} +\newcommand*{\glsxtrUpEta}{% + \glshex 03B7,% lower case eta + \glshex 0397% upper case eta +} +\newcommand*{\glsxtrUpTheta}{% + \glshex 03B8% lower case theta + \string=\glshex 03D1,% lower case theta variant + \glshex 0398% upper case theta +} +\newcommand*{\glsxtrUpIota}{% + \glshex 03B9,% lower case iota + \glshex 0399% upper case iota +} +\newcommand*{\glsxtrUpKappa}{% + \glshex 03BA% lower case kappa + \string=\glshex 03F0,% lower case kappa variant + \glshex 039A% upper case kappa +} +\newcommand*{\glsxtrUpLambda}{% + \glshex 03BB,% lower lambda + \glshex 039B% upper case lambda +} +\newcommand*{\glsxtrUpMu}{% + \glshex 03BC,% lower case mu + \glshex 039C% upper case mu +} +\newcommand*{\glsxtrUpNu}{% + \glshex 03BD,% lower case nu + \glshex 039D% upper case nu +} +\newcommand*{\glsxtrUpXi}{% + \glshex 03BE,% lower case xi + \glshex 039E% upper case xi +} +\newcommand*{\glsxtrUpOmicron}{% + \glshex 03BF,% lower case omicron + \glshex 039F% upper case omicron +} +\newcommand*{\glsxtrUpPi}{% + \glshex 03C0% lower case pi + \string=\glshex 03D6,% lower case pi variant + \glshex 03A0% upper case pi +} +\newcommand*{\glsxtrUpRho}{% + \glshex 03C1% lower case rho + \string=\glshex 03F1,% lower case rho variant + \glshex 03A1% upper case rho +} +\newcommand*{\glsxtrUpSigma}{% + \glshex 03C2% lower case sigma + \string=\glshex 03C3,% lower case sigma + \glshex 03A3% upper case sigma +} +\newcommand*{\glsxtrUpTau}{% + \glshex 03C4,% lower case tau + \glshex 03A4% upper case tau +} +\newcommand*{\glsxtrUpUpsilon}{% + \glshex 03C5,% lower case upsilon + \glshex 03A5% upper case upsilon +} +\newcommand*{\glsxtrUpPhi}{% + \glshex 03C6% lower case phi + \string=\glshex 03D5,% lower case phi variant + \glshex 03A6% upper case phi +} +\newcommand*{\glsxtrUpChi}{% + \glshex 03C7,% lower case chi + \glshex 03A7% upper case chi +} +\newcommand*{\glsxtrUpPsi}{% + \glshex 03C8,% lower case psi + \glshex 03A8% upper case psi +} +\newcommand*{\glsxtrUpOmega}{% + \glshex 03C9,% lower case omega + \glshex 03A9% upper case omega +} +\newcommand*{\glsxtrMathItalicAlpha}{% + \glshex 1D6FC,% lower case alpha (maths italic) + \glshex 1D6E2% upper case alpha (maths italic) +} +\newcommand*{\glsxtrMathItalicBeta}{% + \glshex 1D6FD,% lower case beta (maths italic) + \glshex 1D6E3% upper case beta (maths italic) +} +\newcommand*{\glsxtrMathItalicGamma}{% + \glshex 1D6FE,% lower case gamma (maths italic) + \glshex 1D6E4% upper case gamma (maths italic) +} +\newcommand*{\glsxtrMathItalicDelta}{% + \glshex 1D6FF,% lower case delta (maths italic) + \glshex 1D6E5% upper case delta (maths italic) +} +\newcommand*{\glsxtrMathItalicEpsilon}{% + \glshex 1D700% lower case epsilon (maths italic) + \string=\glshex 1D716,% lower case epsilon variant (maths italic) + \glshex 1D6E6% upper case epsilon (maths italic) +} +\newcommand*{\glsxtrMathItalicZeta}{% + \glshex 1D701,% lower case zeta (maths italic) + \glshex 1D6E7% upper case zeta (maths italic) +} +\newcommand*{\glsxtrMathItalicEta}{% + \glshex 1D702,% lower case eta (maths italic) + \glshex 1D6E8% upper case eta (maths italic) +} +\newcommand*{\glsxtrMathItalicTheta}{% + \glshex 1D703% lower case theta (maths italic) + \string=\glshex 1D717,% lower case theta variant (maths italic) + \glshex 1D6E9% upper case theta (maths italic) + \string=\glshex 1D6F3% upper case theta variant (maths italic) +} +\newcommand*{\glsxtrMathItalicIota}{% + \glshex 1D704,% lower case iota (maths italic) + \glshex 1D6EA% upper case iota (maths italic) +} +\newcommand*{\glsxtrMathItalicKappa}{% + \glshex 1D705% lower case kappa (maths italic) + \string=\glshex 1D718,% lower case kappa variant (maths italic) + \glshex 1D6EB% upper case kappa (maths italic) +} +\newcommand*{\glsxtrMathItalicLambda}{% + \glshex 1D706,% lower case lambda (maths italic) + \glshex 1D6EC% upper case lambda (maths italic) +} +\newcommand*{\glsxtrMathItalicMu}{% + \glshex 1D707,% lower case mu (maths italic) + \glshex 1D6ED% upper case mu (maths italic) +} +\newcommand*{\glsxtrMathItalicNu}{% + \glshex 1D708,% lower case nu (maths italic) + \glshex 1D6EE% upper case nu (maths italic) +} +\newcommand*{\glsxtrMathItalicXi}{% + \glshex 1D709,% lower case xi (maths italic) + \glshex 1D6EF% upper case xi (maths italic) +} +\newcommand*{\glsxtrMathItalicOmicron}{% + \glshex 1D70A,% lower case omicron (maths italic) + \glshex 1D6F0% upper case omicron (maths italic) +} +\newcommand*{\glsxtrMathItalicPi}{% + \glshex 1D70B% lower case pi (maths italic) + \string=\glshex 1D71B,% lower case pi variant (maths italic) + \glshex 1D6F1% upper case pi (maths italic) +} +\newcommand*{\glsxtrMathItalicRho}{% + \glshex 1D70C% lower case rho (maths italic) + \string=\glshex 1D71A,% lower case rho variant (maths italic) + \glshex 1D6F2% upper case rho (maths italic) +} +\newcommand*{\glsxtrMathItalicSigma}{% + \glshex 1D70D% lower case final sigma (maths italic) + \string=\glshex 1D70E,% lower case sigma (maths italic) + \glshex 1D6F4% upper case sigma (maths italic) +} +\newcommand*{\glsxtrMathItalicTau}{% + \glshex 1D70F,% lower case tau (maths italic) + \glshex 1D6F5% upper case tau (maths italic) +} +\newcommand*{\glsxtrMathItalicUpsilon}{% + \glshex 1D710,% lower case upsilon (maths italic) + \glshex 1D6F6% upper case upsilon (maths italic) +} +\newcommand*{\glsxtrMathItalicPhi}{% + \glshex 1D711% lower case phi (maths italic) + \string=\glshex 1D719,% lower case phi variant (maths italic) + \glshex 1D6F7% upper case phi (maths italic) +} +\newcommand*{\glsxtrMathItalicChi}{% + \glshex 1D712,% lower case chi (maths italic) + \glshex 1D6F8% upper case chi (maths italic) +} +\newcommand*{\glsxtrMathItalicPsi}{% + \glshex 1D713,% lower case psi (maths italic) + \glshex 1D6F9% upper case psi (maths italic) +} +\newcommand*{\glsxtrMathItalicOmega}{% + \glshex 1D714,% lower case omega (maths italic) + \glshex 1D6FA% upper case omega (maths italic) +} +\newcommand*{\glsxtrMathItalicPartial}{% + \glshex 1D715% partial differential (maths italic) +} +\newcommand*{\glsxtrMathItalicNabla}{% + \glshex 1D6FB% nabla (maths italic) +} +\newcommand*{\glsxtrdigitrules}{% + 0\string=\glshex 2080\string=\glshex 2070 + \string<1\string=\glshex 2081\string=\glshex 00B9 + \string<2\string=\glshex 2082\string=\glshex 00B2 + \string<3\string=\glshex 2083\string=\glshex 00B3 + \string<4\string=\glshex 2084\string=\glshex 2074 + \string<5\string=\glshex 2085\string=\glshex 2075 + \string<6\string=\glshex 2086\string=\glshex 2076 + \string<7\string=\glshex 2087\string=\glshex 2077 + \string<8\string=\glshex 2088\string=\glshex 2078 + \string<9\string=\glshex 2089\string=\glshex 2079 +} +\newcommand*{\glsxtrBasicDigitrules}{% + 0\string<1\string<2\string<3\string<4% + \string<5\string<6\string<7\string<8\string<9% +} +\newcommand*{\glsxtrSubScriptDigitrules}{% + \glshex 2080% subscript 0 + \string<\glshex 2081% subscript 1 + \string<\glshex 2082% subscript 2 + \string<\glshex 2083% subscript 3 + \string<\glshex 2084% subscript 4 + \string<\glshex 2085% subscript 5 + \string<\glshex 2086% subscript 6 + \string<\glshex 2087% subscript 7 + \string<\glshex 2088% subscript 8 + \string<\glshex 2089% subscript 9 +} +\newcommand*{\glsxtrSuperScriptDigitrules}{% + \glshex 2070% superscript 0 + \string<\glshex 00B9% superscript 1 + \string<\glshex 00B2% superscript 2 + \string<\glshex 00B3% superscript 3 + \string<\glshex 2074% superscript 4 + \string<\glshex 2075% superscript 5 + \string<\glshex 2076% superscript 6 + \string<\glshex 2077% superscript 7 + \string<\glshex 2078% superscript 8 + \string<\glshex 2079% superscript 9 +} +\newcommand*{\glsxtrfractionrules}{% + \glshex 215F% fraction numerator one (1/) + \string<\glshex 2189% zero thirds (0/3 = 0) + \string<\glshex 2152% one tenth (1/10 = 0.1) + \string<\glshex 2151% one ninth (1/9 ~ 0.111) + \string<\glshex 215B% one eighth (1/8 = 0.125) + \string<\glshex 2150% one seventh (1/7 ~ 0.143) + \string<\glshex 2159% one sixth (1/6 ~ 0.167) + \string<\glshex 2155% one fifth (1/5 = 0.2) + \string<\glshex 00BC% one quarter (1/4 = 0.25) + \string<\glshex 2153% one third (1/3 ~ 0.333) + \string<\glshex 215C% three eighths (3/8 = 0.375) + \string<\glshex 2156% two fifths (2/5 = 0.4) + \string<\glshex 00BD% one half (1/2 = 0.5) + \string<\glshex 2157% three fifths (3/5 = 0.6) + \string<\glshex 215D% five eighths (5/8 = 0.625) + \string<\glshex 2154% two thirds (2/3 ~ 0.667) + \string<\glshex 00BE% three quarters (3/4 = 0.75) + \string<\glshex 2158% four fifths (4/5 = 0.8) + \string<\glshex 215A% five sixths (5/6 ~ 0.833) + \string<\glshex 215E% seven eighths (7/8 = 0.875) +} +\renewcommand{\@glsxtrdialecthook}{% + \ifundef\CurrentTrackedScript + {% + \TrackLangIfHasDefaultScript{\CurrentTrackedLanguage}% + {% + \edef\CurrentTrackedScript{% + \TrackLangGetDefaultScript\CurrentTrackedLanguage}% + }% + {}% + }% + {}% + \ifdef\CurrentTrackedScript + {% + \let\gls@orgTrackLangRequireDialectPrefix\TrackLangRequireDialectPrefix + \def\TrackLangRequireDialectPrefix{glossariesxtr-}% + \let\CurrentTrackedTag\CurrentTrackedScript + \IfFileExists{\TrackLangRequireDialectPrefix\CurrentTrackedTag.ldf} + {\RequireGlossariesExtraLang{\CurrentTrackedTag}}% + {}% + \let\TrackLangRequireDialectPrefix\gls@orgTrackLangRequireDialectPrefix + }% + {}% +} +\ifdef\glsxtr@loaddialect +{% + \@ifpackageloaded{tracklang} + {% + \AnyTrackedLanguages + {% + \ForEachTrackedDialect{\this@dialect}{\glsxtr@loaddialect}% + }% + {}% + } + {} +} +{} +\endinput +%% +%% End of file `glossaries-extra-bib2gls-2021-11-22.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty index b6415a7136d..44a847ceb1b 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `glossaries-extra-bib2gls.sty,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 @@ -39,7 +39,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-bib2gls}[2021/11/22 v1.48 (NLCT)] +\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-bib2gls-2021-11-22.sty} +\DeclareCurrentRelease{v1.49}{2022-10-14} +\ProvidesPackage{glossaries-extra-bib2gls}[2022/10/14 v1.49 (NLCT)] \ifglsacronym \providecommand*{\printunsrtacronyms}[1][]{% \printunsrtglossary[type=\acronymtype,#1]}% @@ -75,8 +77,12 @@ } \robustify\glsdisplaynumberlist \renewcommand*{\glsentrynumberlist}[1]{\glsxtrusefield{#1}{location}} +\providecommand{\IfTeXParserLib}[2]{#2} \newcommand*{\glshex}{\string\u} \newcommand*{\glscapturedgroup}{\string\$} +\ifdef\glshashchar +{} +{\edef\glshashchar{\expandafter\@gobble\string\#}} \newcommand*{\GlsXtrIfHasNonZeroChildCount}{% \@ifstar\s@GlsXtrIfHasNonZeroChildCount\@GlsXtrIfHasNonZeroChildCount } @@ -115,7 +121,7 @@ \newcommand*{\GlsXtrDualBackLink}[2]{% \glsxtrifhasfield{\GlsXtrDualField}{#2}% {\glshyperlink[#1]{\glscurrentfieldvalue}}% - {#2}% + {#1}% } \newcommand*{\GlsXtrBibTeXEntryAliases}{% article=bibtexentry, @@ -172,22 +178,35 @@ } { \newcommand*{\glsxtrdisplaylocnameref}[8]{% + \def\glsxtrrecentanchor{#6}% + \def\glsxtrlocationanchor{#2.#7}% + \let\glsxtractualanchor\glsxtrlocationanchor + \glsxtrsetactualanchor{#2}% \ifcsdef{glsxtr#2locfmt}% - {\glsxtrnamereflink{#3}{\csuse{glsxtr#2locfmt}{#4}{#5}}{#2.#7}{#8}}% + {\glsxtrnamereflink{#3}{\csuse{glsxtr#2locfmt}{#4}{#5}}{\glsxtractualanchor}{#8}}% {% \ifstrempty{#5}% {% - \glsxtrnamereflink{#3}{#4}{#2.#7}{#8}% + \glsxtrnamereflink{#3}{#4}{\glsxtractualanchor}{#8}% }% {% \ifstrequal{#2}{page}% - {\glsxtrnamereflink{#3}{#4}{#2.#7}{#8}}% - {\glsxtrnamereflink{#3}{#5}{#2.#7}{#8}}% + {\glsxtrnamereflink{#3}{#4}{\glsxtractualanchor}{#8}}% + {\glsxtrtitlednamereflink{#3}{#4}{#5}{#8}}% }% }% } } +\newcommand{\glsxtrsetactualanchor}[1]{} +\newcommand{\glsxtrtitlednamereflink}[4]{% + \glsxtrnamereflink{#1}{#2}{\glsxtrrecentanchor}{#4}% +} \newcommand*{\glsxtrequationlocfmt}[2]{(#1)} +\newcommand*{\glsxtrwrglossarylocfmt}[2]{% + {\@@glsxtrwrglosscountermark{#1}% + \let\glsxtr@wrglossarylocation\@secondoftwo + #1}% +} \newcommand*{\glsxtrnamereflink}[4]{% \begingroup \let\glshypernumber\@firstofone @@ -385,54 +404,299 @@ \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@prefixlabellist}[1]{}}% \protected@write\@auxout{}{\string\@glsxtr@prefixlabellist{\@glsxtr@labelprefixes}}% } +\def\@glsxtr@dglsnomatch#1#2[#3]{% + \begingroup + \let\glslabel\@gls@thislabel + \let\@glsnumberformat\@glsxtr@defaultnumberformat + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% + \let\@glsxtr@org@theHvalue\@glsxtr@theHvalue + \let\@gls@counter\glscounter + \if@glsxtr@equations + \@glsxtr@use@equation@counter + \fi + \@gls@setdefault@glslink@opts + \@glsxtr@glslink@prekeys + \setkeys{glslink}{#1}% + \glsxtr@do@autoadd{glslink}% + \ifKV@glslink@noindex + \GlossariesExtraWarning{Can't obtain a match for prefix + candidates: \@glsxtr@prefixedlist. Check the label spelling or rerun}% + \else + \ifdefempty{\@glsxtr@thevalue}% + {% + \ifx\@glsxtr@org@theHvalue\@glsxtr@theHvalue + \else + \let\theHglsentrycounter\@glsxtr@theHvalue + \fi + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \let\theHglsentrycounter\@glsxtr@theHvalue + }% + \glsxtr@saveentrycounter + \@@glsxtr@dorecord\@glsxtr@prefixedlist + \glsxtr@select@entry\glsxtr@do@select@nameref@record + \GlossariesExtraWarning{Can't obtain a match for prefix + candidates: \@glsxtr@prefixedlist. Check the label spelling, use bib2gls v3.0+ to + select entry and rerun LaTeX}% + \fi + \@glsxtrundeftag#3% + \endgroup +} +\newcommand*{\glsxtr@select@entry}[5]{} +\newcommand*{\glsxtr@select@entry@nameref}[8]{} +\newcommand*{\glsxtr@do@select@nameref@record}[5]{% + \gls@ifnotmeasuring + {% + \protected@write\@auxout{}{\string\glsxtr@select@entry@nameref + {#1}{#2}{#3}{#4}{#5}% + {\csuse{@currentlabelname}}{\csuse{@currentHref}}% + {\theHglsentrycounter}}% + }% +} +\newif\ifGlsXtrPrefixLabelFallbackLast +\GlsXtrPrefixLabelFallbackLasttrue \newcommand*{\@glsxtr@get@prefixedlabel}[1]{% \begingroup \protected@edef\@gls@thislabel{#1}% + \let\@glsxtr@prefixedfirstlabel\@gls@thislabel + \def\@glsxtr@set@prefixedfirstlabel{% + \let\@glsxtr@prefixedfirstlabel\@gls@thislabel + \let\@glsxtr@set@prefixedfirstlabel\relax + }% + \let\@glsxtr@prefixedlist\@empty + \count@=0\relax \@for\@glsxtr@prefix:=\@glsxtr@labelprefixes\do {% + \advance\count@ by 1\relax \protected@edef\@gls@thislabel{\@glsxtr@prefix#1}% - \ifglsentryexists{\@gls@thislabel}{\@endfortrue}{}% + \@glsxtr@set@prefixedfirstlabel + \ifglsentryexists{\@gls@thislabel}% + {% + \@endfortrue + \let\@glsxtr@prefixedlist\@empty + }% + {% + \ifdefempty\@glsxtr@prefixedlist + {\let\@glsxtr@prefixedlist\@gls@thislabel}% + {% + \ifGlsXtrPrefixLabelFallbackLast + \epreto\@glsxtr@prefixedlist{\expandonce\@gls@thislabel,}% + \else + \eappto\@glsxtr@prefixedlist{,\expandonce\@gls@thislabel}% + \fi + }% + }% }% - \edef\@glo@tmp{\endgroup\noexpand\def\noexpand\@gls@thislabel{\@gls@thislabel}}\@glo@tmp + \if@endfor + \else + \ifnum\count@>1\relax + \ifGlsXtrPrefixLabelFallbackLast + \else + \let\@gls@thislabel\@glsxtr@prefixedfirstlabel + \fi + \else + \let\@glsxtr@prefixedlist\@empty + \fi + \fi + \edef\@glo@tmp{\endgroup + \noexpand\def\noexpand\@glsxtr@prefixedlist{\expandonce\@glsxtr@prefixedlist}% + \noexpand\def\noexpand\@gls@thislabel{\expandonce\@gls@thislabel}}\@glo@tmp } -\newrobustcmd*{\dgls}{\@gls@hyp@opt\@dgls} -\newcommand*{\@dgls}[2][]{% +\newcommand*{\@@dgls@}[3]{% \@glsxtr@get@prefixedlabel{#2}% - \new@ifnextchar[{\@gls@{#1}{\@gls@thislabel}}{\@gls@{#1}{\@gls@thislabel}[]}% + \ifx\@glsxtr@prefixedlist\@empty + \let\@dgls@@next#3% + \else + \let\@dgls@@next\@glsxtr@dglsnomatch + \fi + \new@ifnextchar[{\@dgls@@next{#1}{\@gls@thislabel}}% + {\@dgls@@next{#1}{\@gls@thislabel}[]}% } +\newrobustcmd*{\dgls}{\@gls@hyp@opt\@dgls} +\newcommand*{\@dgls}[2][]{\@@dgls@{#1}{#2}{\@gls@}} \newrobustcmd*{\dglspl}{\@gls@hyp@opt\@dglspl} -\newcommand*{\@dglspl}[2][]{% - \@glsxtr@get@prefixedlabel{#2}% - \new@ifnextchar[{\@glspl@{#1}{\@gls@thislabel}}{\@glspl@{#1}{\@gls@thislabel}[]}% -} +\newcommand*{\@dglspl}[2][]{\@@dgls@{#1}{#2}{\@glspl@}} \newrobustcmd*{\dGls}{\@gls@hyp@opt\@dGls} -\newcommand*{\@dGls}[2][]{% - \@glsxtr@get@prefixedlabel{#2}% - \new@ifnextchar[{\@Gls@{#1}{\@gls@thislabel}}{\@Gls@{#1}{\@gls@thislabel}[]}% -} +\glsmfuaddmap{\dgls}{\dGls} +\newcommand*{\@dGls}[2][]{\@@dgls@{#1}{#2}{\@Gls@}} \newrobustcmd*{\dGlspl}{\@gls@hyp@opt\@dGlspl} -\newcommand*{\@dGlspl}[2][]{% - \@glsxtr@get@prefixedlabel{#2}% - \new@ifnextchar[{\@Glspl@{#1}{\@gls@thislabel}}{\@Glspl@{#1}{\@gls@thislabel}[]}% -} +\glsmfuaddmap{\dglspl}{\dGlspl} +\newcommand*{\@dGlspl}[2][]{\@@dgls@{#1}{#2}{\@Glspl@}} \newrobustcmd*{\dGLS}{\@gls@hyp@opt\@dGLS} -\newcommand*{\@dGLS}[2][]{% - \@glsxtr@get@prefixedlabel{#2}% - \new@ifnextchar[{\@GLS@{#1}{\@gls@thislabel}}{\@GLS@{#1}{\@gls@thislabel}[]}% -} +\glsmfublocker{\dGLS} +\newcommand*{\@dGLS}[2][]{\@@dgls@{#1}{#2}{\@GLS@}} \newrobustcmd*{\dGLSpl}{\@gls@hyp@opt\@dGLSpl} -\newcommand*{\@dGLSpl}[2][]{% - \@glsxtr@get@prefixedlabel{#2}% - \new@ifnextchar[{\@GLSpl@{#1}{\@gls@thislabel}}{\@GLSpl@{#1}{\@gls@thislabel}[]}% -} -\newrobustcmd*{\dglslink}[3][]{% +\glsmfublocker{\dGLSpl} +\newcommand*{\@dGLSpl}[2][]{\@@dgls@{#1}{#2}{\@GLSpl@}} +\newrobustcmd*{\dglslink}{\@gls@hyp@opt\@dglslink} +\newcommand*{\@dglslink}[3][]{% \@glsxtr@get@prefixedlabel{#2}% \glslink[#1]{\@gls@thislabel}{#3}% } -\newrobustcmd*{\dglsdisp}[3][]{% +\newrobustcmd*{\dGlslink}{\@gls@hyp@opt\@dGlslink} +\glsmfuaddmap{\dglslink}{\dGlslink} +\newcommand*{\@dGlslink}[3][]{% + \dglslink[#1]{#2}{\glssentencecase{#3}}% +} +\newrobustcmd*{\dglsdisp}{\@gls@hyp@opt\@dglsdisp} +\newcommand*{\@dglsdisp}[3][]{% \@glsxtr@get@prefixedlabel{#2}% \glsdisp[#1]{\@gls@thislabel}{#3}% } +\newrobustcmd*{\dGlsdisp}{\@gls@hyp@opt\@dGlsdisp} +\glsmfuaddmap{\dglsdisp}{\dGlsdisp} +\newcommand*{\@dGlsdisp}[3][]{% + \dglsdisp[#1]{#2}{\glssentencecase{#3}}% +} +\newcommand*{\@glsxtr@get@prefixedlabel@field}[2]{% + \protected@edef\dglsfieldcurrentfieldlabel{#2}% + \let\dglsfieldactualfieldlabel\dglsfieldcurrentfieldlabel + \begingroup + \protected@edef\@gls@thislabel{#1}% + \let\@glsxtr@prefixedfirstlabel\@gls@thislabel + \def\@glsxtr@set@prefixedfirstlabel{% + \let\@glsxtr@prefixedfirstlabel\@gls@thislabel + \let\@glsxtr@set@prefixedfirstlabel\relax + }% + \let\@gls@fallbacklabel\relax + \let\@glsxtr@prefixedlist\@empty + \count@=0\relax + \@for\@glsxtr@prefix:=\@glsxtr@labelprefixes\do + {% + \advance\count@ by 1\relax + \protected@edef\@gls@thislabel{\@glsxtr@prefix#1}% + \@glsxtr@set@prefixedfirstlabel + \ifglsentryexists{\@gls@thislabel}% + {% + \ifcsvoid{glo@\glsdetoklabel{\@gls@thislabel}@#2}% + {% + \ifx\@gls@fallbacklabel\relax + \ifcsvoid + {glo@\glsdetoklabel{\@gls@thislabel}@\dglsfieldfallbackfieldlabel}% + {}% + {% + \let\@gls@fallbacklabel\@gls@thislabel + }% + \fi + }% + {% + \@endfortrue + \let\@glsxtr@prefixedlist\@empty + }% + }% + {% + \ifdefempty\@glsxtr@prefixedlist + {\let\@glsxtr@prefixedlist\@gls@thislabel}% + {% + \ifGlsXtrPrefixLabelFallbackLast + \epreto\@glsxtr@prefixedlist{\expandonce\@gls@thislabel,}% + \else + \eappto\@glsxtr@prefixedlist{,\expandonce\@gls@thislabel}% + \fi + }% + }% + }% + \if@endfor + \else + \ifx\@gls@fallbacklabel\relax + \ifnum\count@>1\relax + \ifGlsXtrPrefixLabelFallbackLast + \else + \let\@gls@thislabel\@glsxtr@prefixedfirstlabel + \fi + \else + \let\@glsxtr@prefixedlist\@empty + \fi + \else + \let\@gls@thislabel\@gls@fallbacklabel + \let\dglsfieldactualfieldlabel\dglsfieldfallbackfieldlabel + \fi + \fi + \edef\@glo@tmp{\endgroup + \noexpand\def\noexpand\@glsxtr@prefixedlist{\expandonce\@glsxtr@prefixedlist}% + \noexpand\def\noexpand\@gls@thislabel{\expandonce\@gls@thislabel}% + \noexpand\def\noexpand\dglsfieldactualfieldlabel + {\expandonce\dglsfieldactualfieldlabel}% + }% + \@glo@tmp +} +\newcommand*{\@@dgls@@field}[4]{% + \@glsxtr@get@prefixedlabel@field{#2}{#3}% + \ifx\@glsxtr@prefixedlist\@empty + \let\@dgls@@next#4% + \else + \let\@dgls@@next\@glsxtr@dglsnomatch + \fi + \new@ifnextchar[{\@dgls@@next{#1}{\@gls@thislabel}}% + {\@dgls@@next{#1}{\@gls@thislabel}[]}% +} +\newcommand*{\dglsfieldcurrentfieldlabel}{} +\newcommand*{\dglsfieldfallbackfieldlabel}{text} +\newcommand*{\dglsfieldactualfieldlabel}{\dglsfieldcurrentfieldlabel} +\newrobustcmd*{\dglsfield}{\@gls@hyp@opt\@dglsfield} +\newcommand*{\@dglsfield}[3][]{% + \@@dgls@@field{#1}{#2}{#3}{\@dgls@field}} +\def\@dgls@field#1#2[#3]{% + \@gls@field@link{#1}{#2}{\glsxtrusefield{#2}{\dglsfieldactualfieldlabel}#3}% +} +\newrobustcmd*{\dGlsfield}{\@gls@hyp@opt\@dGlsfield} +\glsmfuaddmap{\dglsfield}{\dGlsfield} +\newcommand*{\@dGlsfield}[3][]{% + \@@dgls@@field{#1}{#2}{#3}{\@dGls@field}% +} +\def\@dGls@field#1#2[#3]{% + \@gls@field@link{#1}{#2}{\Glsxtrusefield{#2}{\dglsfieldactualfieldlabel}#3}% +} +\newrobustcmd*{\dGLSfield}{\@gls@hyp@opt\@dGLSfield} +\glsmfublocker{\dGLSfield} +\newcommand*{\@dGLSfield}[3][]{% + \@@dgls@@field{#1}{#2}{#3}{\@dGLS@field}% +} +\def\@dGLS@field#1#2[#3]{% + \@gls@field@link{#1}{#2}{\GLSxtrusefield{#2}{\dglsfieldactualfieldlabel}#3}% +} +\newrobustcmd*{\d@inner@glsfield}[2]{% + \ifstrempty{#1} + {\def\@d@inner@glsfield@opts{}}% + {\def\@d@inner@glsfield@opts{#1,}}% + \def\dglsfieldcurrentfieldlabel{#2}% + \@gls@hyp@opt\@d@inner@glsfield +} +\newcommand*{\@d@inner@glsfield}[2][]{% + \expandafter\@@dgls@@field\expandafter + {\@d@inner@glsfield@opts#1}{#2}{\dglsfieldcurrentfieldlabel}{\@dgls@field}} +\newrobustcmd*{\d@inner@Glsfield}[2]{% + \ifstrempty{#1} + {\def\@d@inner@glsfield@opts{}}% + {\def\@d@inner@glsfield@opts{#1,}}% + \def\dglsfieldcurrentfieldlabel{#2}% + \@gls@hyp@opt\@d@inner@Glsfield +} +\newcommand*{\@d@inner@Glsfield}[2][]{% + \expandafter\@@dgls@@field\expandafter + {\@d@inner@glsfield@opts#1}{#2}{\dglsfieldcurrentfieldlabel}{\@dGls@field}} +\newrobustcmd*{\d@inner@GLSfield}[2]{% + \ifstrempty{#1} + {\def\@d@inner@glsfield@opts{}}% + {\def\@d@inner@glsfield@opts{#1,}}% + \def\dglsfieldcurrentfieldlabel{#2}% + \@gls@hyp@opt\@d@inner@GLSfield +} +\newcommand*{\@d@inner@GLSfield}[2][]{% + \expandafter\@@dgls@@field\expandafter + {\@d@inner@glsfield@opts#1}{#2}{\dglsfieldcurrentfieldlabel}{\@dGLS@field}} +\newrobustcmd*{\newdglsfield}[3][]{% + \newrobustcmd*{#3}{\d@inner@glsfield{#1}{#2}}% +} +\newrobustcmd*{\newdglsfieldlike}[5][]{% + \newrobustcmd*{#3}{\d@inner@glsfield{#1}{#2}}% + \newrobustcmd*{#4}{\d@inner@Glsfield{#1}{#2}}% + \newrobustcmd*{#5}{\d@inner@GLSfield{#1}{#2}}% + \glsmfuaddmap{#3}{#4}% + \glsmfublocker{#5}% +} \newrobustcmd*{\glsxtrmultientryadjustedname}[4]{% \bgroup \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep @@ -457,6 +721,7 @@ \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% \egroup } +\glsmfuaddmap{\glsxtrmultientryadjustedname}{\Glsxtrmultientryadjustedname} \newrobustcmd*{\GlsXtrmultientryadjustedname}[4]{% \bgroup \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep @@ -469,6 +734,7 @@ \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% \egroup } +\glsmfublocker{\GlsXtrmultientryadjustedname} \newrobustcmd*{\GLSxtrmultientryadjustedname}[4]{% \bgroup \let\@glsxtrmultientryadjustednamesep\glsxtrmultientryadjustednamesep @@ -481,6 +747,7 @@ \@glsxtrmultientryadjustedname{#1}{#2}{#3}{#4}% \egroup } +\glsmfublocker{\GLSxtrmultientryadjustedname} \newcommand*{\@glsxtrmultientryadjustedname}[4]{% \letcs\mglscurrentmainlabel{@gls@combined@#4@main}% \letcs\mglscurrentmainlist{@gls@combined@#4@list}% @@ -522,7 +789,7 @@ \newcommand*{\glsxtrmultientryadjustednamepostsep}{\glsxtrmultientryadjustednamesep} \newcommand*{\glsxtrmultientryadjustednamefmt}[1]{#1} \newcommand*{\glsxtrmultientryadjustednameother}[1]{\glsentryname{#1}} -\newcommand*{\Glsxtrmultientryadjustednamefmt}[1]{\makefirstuc{#1}} +\newcommand*{\Glsxtrmultientryadjustednamefmt}[1]{\glssentencecase{#1}} \newcommand*{\Glsxtrmultientryadjustednameother}[1]{\Glsentryname{#1}} \newcommand*{\GlsXtrmultientryadjustednameother}[1]{% \glsentrytitlecase{#1}{name}} @@ -534,8 +801,8 @@ \newcommand*{\GlsXtrmultientryadjustednamefmt}[1]{\capitalisewords{#1}} } \newcommand*{\GLSxtrmultientryadjustednameother}[1]{% - \mfirstucMakeUppercase{\glsentryname{#1}}} -\newcommand*{\GLSxtrmultientryadjustednamefmt}[1]{\mfirstucMakeUppercase{#1}} + \glsuppercase{\glsentryname{#1}}} +\newcommand*{\GLSxtrmultientryadjustednamefmt}[1]{\glsuppercase{#1}} \providecommand*{\Alpha}{\mathrm{A}} \providecommand*{\Beta}{\mathrm{B}} \providecommand*{\Epsilon}{\mathrm{E}} @@ -569,6 +836,19 @@ \providecommand*{\upomicron}{\mathrm{o}} }% {}% upgreek.sty not loaded +\newcommand{\glsxtrIgnorableRules}{% + \glsxtrcontrolrules + \string;\glsxtrspacerules + \string;\glsxtrnonprintablerules +} +\newcommand{\glsxtrGeneralInitRules}{% + \glsxtrIgnorableRules + \string;\glsxtrcombiningdiacriticrules + \string;\glsxtrhyphenrules + \string<\glsxtrgeneralpuncrules + \string<\glsxtrdigitrules + \string<\glsxtrfractionrules +} \newcommand*{\glsxtrcontrolrules}{% \string'\glshex 200B\string'\string=\glshex 200C\string=\glshex 200D \string=\glshex 200E\string=\glshex 200F\string=\glshex 0000\string=\glshex 0001 @@ -736,6 +1016,13 @@ \string<\glsxtrgeneralpuncIIrules } \newcommand*{\glsxtrgeneralpuncIrules}{% + \glsxtrgeneralpuncmarksrules + \string<\glsxtrgeneralpuncaccentsrules + \string<\glsxtrgeneralpuncquoterules + \string<\glsxtrgeneralpuncbracketrules + \string<\glsxtrgeneralpuncsignrules +} +\newcommand*{\glsxtrgeneralpuncmarksrules}{% \string'\glshex 005F\string'% underscore \string<\glshex 00AF% macron \string<\string'\glshex 002C\string'% comma @@ -747,18 +1034,24 @@ \string<\glshex 00BF% inverted question mark \string<\string'\glshex 002F\string'% solidus \string<\string'\glshex 002E\string'% full stop - \string<\glshex 00B4% acute accent +} +\newcommand*{\glsxtrgeneralpuncaccentsrules}{% + \glshex 00B4% acute accent \string<\string'\glshex 0060\string'% grave accent \string<\string'\glshex 005E\string'% circumflex accent \string<\glshex 00A8% diaersis \string<\string'\glshex 007E\string'% tilde \string<\glshex 00B7% middle dot \string<\glshex 00B8% cedilla - \string<\string'\glshex 0027\string'% straight apostrophe +} +\newcommand*{\glsxtrgeneralpuncquoterules}{% + \string'\glshex 0027\string'% straight apostrophe \string<\string'\glshex 0022\string'% straight double quote \string<\glshex 00AB% left guillemet \string<\glshex 00BB% right guillemet - \string<\string'\glshex 0028\string'% left parenthesis +} +\newcommand*{\glsxtrgeneralpuncbracketrules}{% + \string'\glshex 0028\string'% left parenthesis \string=\glshex 207D\string=\glshex 208D% super/subscript left parenthesis \string<\string'\glshex 0029\string'% right parenthesis \string=\glshex 207E\string=\glshex 208E% super/subscript right parenthesis @@ -766,7 +1059,9 @@ \string<\string'\glshex 005D\string'% right square bracket \string<\string'\glshex 007B\string'% left curly bracket \string<\string'\glshex 007D\string'% right curly bracket - \string<\glshex 00A7% section sign +} +\newcommand*{\glsxtrgeneralpuncsignrules}{% + \glshex 00A7% section sign \string<\glshex 00B6% pilcrow sign \string<\glshex 00A9% copyright sign \string<\glshex 00AE% registered sign @@ -1063,6 +1358,70 @@ \string<y,Y% \string<z,Z% } +\newcommand*{\glsxtrGeneralLatinAtoMrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM +} +\newcommand*{\glsxtrGeneralLatinNtoZrules}{% + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS + \string<\glsxtrLatinT + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z +} +\newcommand*{\glsxtrGeneralLatinAtoGrules}{% + \glsxtrLatinA + \string<b,B% + \string<c,C% + \string<d,D% + \string<\glsxtrLatinE + \string<f,F% + \string<g,G% +} +\newcommand*{\glsxtrGeneralLatinHtoMrules}{% + \string<\glsxtrLatinH + \string<\glsxtrLatinI + \string<j,J% + \string<\glsxtrLatinK + \string<\glsxtrLatinL + \string<\glsxtrLatinM +} +\newcommand*{\glsxtrGeneralLatinNtoSrules}{% + \string<\glsxtrLatinN + \string<\glsxtrLatinO + \string<\glsxtrLatinP + \string<q,Q% + \string<r,R% + \string<\glsxtrLatinS +} +\newcommand*{\glsxtrGeneralLatinTtoZrules}{% + \string<\glsxtrLatinT + \string<u,U% + \string<v,V% + \string<w,W% + \string<\glsxtrLatinX + \string<y,Y% + \string<z,Z +} \newcommand*{\glsxtrLatinA}{% a\string=\glshex 00AA\string=\glshex 2090,A } @@ -1107,11 +1466,11 @@ } \newcommand*{\glsxtrLatinEszettSs}{% \glshex 00DF% eszett - \string=\glshex 017Fs % long S s + \string=\glshex 017Fs % "long S"s } \newcommand*{\glsxtrLatinEszettSz}{% \glshex 00DF% eszett - \string= \glshex 017Fz % long S z + \string= \glshex 017Fz % "long S"z } \newcommand*{\glsxtrLatinEth}{% \glshex 00F0,\glshex 00D0% eth diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty new file mode 100644 index 00000000000..9c73ac2124e --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods-2021-11-22.sty @@ -0,0 +1,1575 @@ +%% +%% This is file `glossaries-extra-stylemods-2021-11-22.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossaries-extra-stylemods-2021-11-22.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossaries-extra-stylemods}[2021/11/22 v1.48 (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}[=v1.48]% + \RequirePackage{glossary-longextra}[=v1.48]% + \RequirePackage{glossary-topic}[=v1.48]% + } +} +\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*{\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{\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\glstreenamefmt +{ + \newcommand{\glstreedefaultnamefmt}[1]{\textbf{#1}} + \renewcommand{\glstreenamefmt}[1]{\glstreedefaultnamefmt{#1}} + \def\glstreegroupheaderfmt#1{\glstreedefaultnamefmt{#1}} + \def\glstreenavigationfmt#1{\glstreedefaultnamefmt{#1}} + \newcommand{\glstreePreHeader}[2]{} +} +{} +\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*{\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} +{% + \renewglossarystyle{indexgroup}{% + \setglossarystyle{index}% + \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \item\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupheaderskip\@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}% + }% +} +{} +\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{\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} +{% + \renewglossarystyle{treegroup}{% + \setglossarystyle{tree}% + \renewcommand{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupheaderskip\@afterheading}% + } +} +{} +\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}% + } +} +{} +\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{\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}{% + \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*{\glsupdatewidest}[2][0]{% + \ifcsundef{@glswidestname\romannumeral#1}% + {\csdef{@glswidestname\romannumeral#1}{#2}}% + {% + \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% + \settowidth{\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}}% + {% + \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% + \settowidth{\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}}% + {% + \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% + \settowidth{\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}}% + {% + \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}% + \settowidth{\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}% + {}% + {% + \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}% + {% + \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}% + {}% + {% + \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}% + {% + \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}% + {}% + {% + \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\glstreegroupskip\fi}% + } +}% +{% +} +\ifdef{\@glsstyle@alttreegroup} +{% + \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 + }% + }% +}% +{% +} +\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 + }% + } +}% +{% +} +\ifdef{\@glsstyle@mcolindexgroup} +{% + \renewglossarystyle{mcolindexgroup}{% + \setglossarystyle{mcolindex}% + \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \item\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupheaderskip\@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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\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 + }% + } +}% +{% +} +\ifx\@glossary@default@style\relax +\else + \setglossarystyle{\@glsxtr@current@style} +\fi +\endinput +%% +%% End of file `glossaries-extra-stylemods-2021-11-22.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty index 49fbb4fa291..461bbd40bf7 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `glossaries-extra-stylemods.sty,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 @@ -39,7 +39,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2021/11/22 v1.48 (NLCT)] +\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-stylemods-2021-11-22.sty} +\DeclareCurrentRelease{v1.49}{2022-10-14} +\ProvidesPackage{glossaries-extra-stylemods}[2022/10/14 v1.49 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption{all}{% \appto\@glsxtr@loadstyles{% @@ -136,6 +138,7 @@ {\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]{% @@ -229,6 +232,7 @@ {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription @@ -256,6 +260,7 @@ {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline @@ -282,6 +287,7 @@ {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & @@ -310,6 +316,7 @@ {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription\glsxtrprelocation ##2% @@ -339,6 +346,7 @@ {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline @@ -366,6 +374,7 @@ {\end{longtable}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & \glossentrysymbol{##1} & @@ -394,6 +403,7 @@ {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription @@ -422,6 +432,7 @@ {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & ##2\tabularnewline @@ -449,6 +460,7 @@ \end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & @@ -477,6 +489,7 @@ {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription\glsxtrprelocation ##2% @@ -507,6 +520,7 @@ {\end{supertabular}}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription & @@ -570,6 +584,7 @@ \def\glstreegroupheaderfmt#1{\glstreedefaultnamefmt{#1}} \def\glstreenavigationfmt#1{\glstreedefaultnamefmt{#1}} \newcommand{\glstreePreHeader}[2]{} + \newcommand{\glstreeSubPreHeader}[5]{} } {} \ifdef{\@glsstyle@index} @@ -589,6 +604,7 @@ {\par}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand*{\glossentry}[2]{% \item\glsentryitem{##1}% \glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% @@ -614,6 +630,20 @@ {} \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]{% @@ -622,6 +652,12 @@ \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 + }% } } {} @@ -638,13 +674,20 @@ \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{\glsxtrtreepredesc}{\glstreepredesc} + \newcommand{\glsxtrtreechildpredesc}{\glstreechildpredesc} \newcommand{\glstreedesc}[1]{% \glsxtrtreepredesc\glossentrydesc{#1}\glspostdescription } @@ -679,6 +722,7 @@ {}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent0pt\relax @@ -702,6 +746,10 @@ {} \ifdef{\@glsstyle@treegroup} {% + \newcommand*{\glstreesubgroupitem}[5]{% + \par\smallskip\noindent\hspace{#2\glstreeindent}% + \glstreegroupheaderfmt{#5}\smallskip\par + } \renewglossarystyle{treegroup}{% \setglossarystyle{tree}% \renewcommand{\glsgroupheading}[1]{% @@ -709,6 +757,11 @@ \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}% + }% } } {} @@ -726,6 +779,12 @@ \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}}% + }% } } {} @@ -753,6 +812,7 @@ {}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent0pt\relax @@ -1223,6 +1283,7 @@ {\par}% \renewcommand*{\glossaryheader}{}% \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glssubgroupheading}[4]{}% \renewcommand{\glossentry}[2]{% \ifnum\@gls@prevlevel=0\relax \else @@ -1274,7 +1335,13 @@ {% } \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 @@ -1286,6 +1353,45 @@ \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}% + {% + \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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}% + {% + \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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 + }% }% }% {% @@ -1312,6 +1418,46 @@ \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}% + {% + \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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}% + {% + \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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 + }% } }% {% @@ -1326,6 +1472,12 @@ \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 + }% } }% {% @@ -1345,6 +1497,13 @@ {\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 + }% } }% {% @@ -1367,6 +1526,13 @@ {\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 + }% } }% {% @@ -1381,6 +1547,11 @@ \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}% + }% } }% {% @@ -1400,6 +1571,12 @@ \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}}% + }% } }% {% @@ -1423,6 +1600,12 @@ \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}}% + }% } }% {% @@ -1510,6 +1693,45 @@ \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}% + {% + \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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}% + {% + \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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 + }% } }% {% @@ -1536,6 +1758,46 @@ \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}% + {% + \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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}% + {% + \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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 + }% } }% {% @@ -1562,6 +1824,46 @@ \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}% + {% + \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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}% + {% + \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}% + }% + {% + \settowidth{\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 + }% } }% {% diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty index d35fa885846..a770da97b50 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `glossaries-extra.sty,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 @@ -39,7 +39,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2021/11/22 v1.48 (NLCT)] +\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-2021-11-22.sty} +\DeclareCurrentRelease{v1.49}{2022-10-14} +\ProvidesPackage{glossaries-extra}[2022/10/14 v1.49 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} \@ifpackageloaded{glossaries} @@ -212,6 +214,10 @@ \newcommand{\@glsxtr@glossadd@prekeys}{\glsaddpresetkeys} \newcommand{\@glsxtr@glossadd@postkeys}{\glsaddpostsetkeys} \newcommand*\@glsxtr@dorecord{% + \@@glsxtr@dorecord\@gls@label\glsxtr@record\@glsxtr@do@nameref@record +} + +\newcommand*\@@glsxtr@dorecord[3]{% \global\let\@glsrecordlocref\theglsentrycounter \let\@glsxtr@orgprefix\@glo@counterprefix \ifx\theglsentrycounter\theHglsentrycounter @@ -221,18 +227,16 @@ \protected@edef\@glsxtr@theHentrycounter{\theHglsentrycounter}% \@onelevel@sanitize\@glsxtr@theentrycounter \@onelevel@sanitize\@glsxtr@theHentrycounter - \protected@edef\@do@gls@getcounterprefix{\noexpand\@gls@getcounterprefix + \@xp@gls@getcounterprefix {\@glsxtr@theentrycounter}{\@glsxtr@theHentrycounter}% - }% - \@do@gls@getcounterprefix \fi \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref - \@glsxtr@do@nameref@record - {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + #3% + {#1}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% {\@glsrecordlocref}% \else - \protected@write\@auxout{}{\string\glsxtr@record - {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + \@bibgls@write@aux{}{\string#2% + {#1}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% {\@glsrecordlocref}}% \fi \@glsxtr@counterrecordhook @@ -245,21 +249,18 @@ {\@gls@label}{}{\@gls@counter}{\@glsnumberformat}% {\theglsentrycounter}% \else - \protected@write\@auxout{}{\string\glsxtr@record + \@bibgls@write@aux{}{\string\glsxtr@record {\@gls@label}{}{\@gls@counter}{\@glsnumberformat}% {\theglsentrycounter}}% \fi \else - \edef\@do@gls@getcounterprefix{\noexpand\@gls@getcounterprefix - {\theglsentrycounter}{\theHglsentrycounter}% - }% - \@do@gls@getcounterprefix + \@xp@gls@getcounterprefix{\theglsentrycounter}{\theHglsentrycounter}% \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref \@glsxtr@do@nameref@record {\@gls@label}{\@glo@counterprefix}{\@gls@counter}% {\@glsnumberformat}{\theglsentrycounter}% \else - \protected@write\@auxout{}{\string\glsxtr@record + \@bibgls@write@aux{}{\string\glsxtr@record {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% {\theglsentrycounter}}% \fi @@ -280,7 +281,7 @@ \newcommand*{\@glsxtr@do@nameref@record}[5]{% \gls@ifnotmeasuring {% - \protected@write\@auxout{}{\string\glsxtr@record@nameref + \@bibgls@write@aux{}{\string\glsxtr@record@nameref {#1}{#2}{#3}{#4}{#5}% {\csuse{@currentlabelname}}{\csuse{@currentHref}}% {\theHglsentrycounter}}% @@ -300,7 +301,7 @@ \@@glsxtrwrglossmark \def\@gls@xref{#2}% \@onelevel@sanitize\@gls@xref - \protected@write\@auxout{}{\string\glsxtr@recordsee{#1}{\@gls@xref}}% + \@bibgls@write@aux{}{\string\glsxtr@recordsee{#1}{\@gls@xref}}% } \newcommand{\printunsrtglossaryunit}{% \print@noop@unsrtglossaryunit @@ -452,6 +453,35 @@ }% \fi } +\define@key{glossaries-extra.sty}{bibglsaux}{% + \glsxtrsetbibglsaux{#1}% +} +\newcommand{\glsxtrsetbibglsaux}[1]{% + \renewcommand{\@glsxtr@setup@bibglsaux}{\@@glsxtr@setup@bibglsaux{#1}}% +} +\newcommand{\@glsxtr@setup@bibglsaux}{% + \renewcommand{\glsxtrsetbibglsaux}[1]{% + \@@glsxtr@setup@bibglsaux{##1}% + }% +} +\AtBeginDocument{\@glsxtr@setup@bibglsaux} +\newcommand{\@@glsxtr@setup@bibglsaux}[1]{% + \ifstrempty{#1}% + {\renewcommand{\@bibgls@write@aux}{\protected@write\@auxout}}% + {\@set@bibgls@write@aux{#1.aux}}% +} +\newcommand{\@bibgls@write@aux}{\protected@write\@auxout} +\newcommand{\@set@bibgls@write@aux}[1]{% + \protected@write\@auxout{}% + {\string\providecommand{\string\@bibgls@input}[1]{}}% + \protected@write\@auxout{}{\string\@bibgls@input{#1}}% + \global\newwrite\@bibgls@auxout + \openout\@bibgls@auxout=#1 + \AtEndDocument{\closeout\@bibgls@auxout}% + \gdef\@bibgls@write@aux{\protected@write\@bibgls@auxout}% + \gdef\@set@bibgls@write@aux##1{\GlossariesExtraWarning{repeated + invocation of bibglsaux option ignored}}% +} \newcommand*{\@glsxtr@docdefval}{0} \newcommand*{\if@glsxtrdocdef}{\ifnum\@glsxtr@docdefval>0 } \newcommand*{\@glsxtrdocdeftrue}{\def\@glsxtr@docdefval{1}} @@ -570,59 +600,97 @@ \@glsxtr@declareoption{abbreviations}{% \let\@glsxtr@abbreviationsdef\@glsxtr@doabbreviationsdef } +\newcommand{\shortcut@gls}{\cgls} +\newcommand{\shortcut@glspl}{\cglspl} +\newcommand{\shortcut@Gls}{\cGls} +\newcommand{\shortcut@Glspl}{\cGlspl} +\newcommand{\shortcut@GLS}{\cGLS} +\newcommand{\shortcut@GLSpl}{\cGLSpl} \newcommand*{\GlsXtrDefineAbbreviationShortcuts}{% - \newcommand*{\ab}{\cgls}% - \newcommand*{\abp}{\cglspl}% + \newcommand*{\ab}{\shortcut@gls}% + \newcommand*{\abp}{\shortcut@glspl}% \newcommand*{\as}{\glsxtrshort}% \newcommand*{\asp}{\glsxtrshortpl}% \newcommand*{\al}{\glsxtrlong}% \newcommand*{\alp}{\glsxtrlongpl}% \newcommand*{\af}{\glsxtrfull}% \newcommand*{\afp}{\glsxtrfullpl}% - \newcommand*{\Ab}{\cGls}% - \newcommand*{\Abp}{\cGlspl}% + \newcommand*{\Ab}{\shortcut@Gls}% + \newcommand*{\Abp}{\shortcut@Glspl}% \newcommand*{\As}{\Glsxtrshort}% \newcommand*{\Asp}{\Glsxtrshortpl}% \newcommand*{\Al}{\Glsxtrlong}% \newcommand*{\Alp}{\Glsxtrlongpl}% \newcommand*{\Af}{\Glsxtrfull}% \newcommand*{\Afp}{\Glsxtrfullpl}% - \newcommand*{\AB}{\cGLS}% - \newcommand*{\ABP}{\cGLSpl}% + \newcommand*{\AB}{\shortcut@GLS}% + \newcommand*{\ABP}{\shortcut@GLSpl}% \newcommand*{\AS}{\GLSxtrshort}% \newcommand*{\ASP}{\GLSxtrshortpl}% \newcommand*{\AL}{\GLSxtrlong}% \newcommand*{\ALP}{\GLSxtrlongpl}% \newcommand*{\AF}{\GLSxtrfull}% \newcommand*{\AFP}{\GLSxtrfullpl}% + \glsmfuaddmap{\ab}{\Ab}% + \glsmfublocker{\AB}% + \glsmfuaddmap{\abp}{\Abp}% + \glsmfublocker{\ABP}% + \glsmfuaddmap{\as}{\As}% + \glsmfublocker{\AS}% + \glsmfuaddmap{\asp}{\Asp}% + \glsmfublocker{\ASP}% + \glsmfuaddmap{\al}{\Al}% + \glsmfublocker{\AL}% + \glsmfuaddmap{\alp}{\Alp}% + \glsmfublocker{\ALP}% + \glsmfuaddmap{\af}{\Af}% + \glsmfublocker{\AF}% + \glsmfuaddmap{\afp}{\Afp}% + \glsmfublocker{\AFP}% \providecommand*{\newabbr}{\newabbreviation}% \let\GlsXtrDefineAbbreviationShortcuts\relax } \newcommand*{\GlsXtrDefineAcShortcuts}{% - \newcommand*{\ac}{\cgls}% - \newcommand*{\acp}{\cglspl}% + \newcommand*{\ac}{\shortcut@gls}% + \newcommand*{\acp}{\shortcut@glspl}% \newcommand*{\acs}{\glsxtrshort}% \newcommand*{\acsp}{\glsxtrshortpl}% \newcommand*{\acl}{\glsxtrlong}% \newcommand*{\aclp}{\glsxtrlongpl}% \newcommand*{\acf}{\glsxtrfull}% \newcommand*{\acfp}{\glsxtrfullpl}% - \newcommand*{\Ac}{\cGls}% - \newcommand*{\Acp}{\cGlspl}% + \newcommand*{\Ac}{\shortcut@Gls}% + \newcommand*{\Acp}{\shortcut@Glspl}% \newcommand*{\Acs}{\Glsxtrshort}% \newcommand*{\Acsp}{\Glsxtrshortpl}% \newcommand*{\Acl}{\Glsxtrlong}% \newcommand*{\Aclp}{\Glsxtrlongpl}% \newcommand*{\Acf}{\Glsxtrfull}% \newcommand*{\Acfp}{\Glsxtrfullpl}% - \newcommand*{\AC}{\cGLS}% - \newcommand*{\ACP}{\cGLSpl}% + \newcommand*{\AC}{\shortcut@GLS}% + \newcommand*{\ACP}{\shortcut@GLSpl}% \newcommand*{\ACS}{\GLSxtrshort}% \newcommand*{\ACSP}{\GLSxtrshortpl}% \newcommand*{\ACL}{\GLSxtrlong}% \newcommand*{\ACLP}{\GLSxtrlongpl}% \newcommand*{\ACF}{\GLSxtrfull}% \newcommand*{\ACFP}{\GLSxtrfullpl}% + \glsmfuaddmap{\ac}{\Ac}% + \glsmfublocker{\AC}% + \glsmfuaddmap{\acp}{\Acp}% + \glsmfublocker{\ACP}% + \glsmfuaddmap{\acs}{\Acs}% + \glsmfublocker{\ACS}% + \glsmfuaddmap{\acsp}{\Acsp}% + \glsmfublocker{\ACSP}% + \glsmfuaddmap{\acl}{\Acl}% + \glsmfublocker{\ACL}% + \glsmfuaddmap{\aclp}{\Aclp}% + \glsmfublocker{\ACLP}% + \glsmfuaddmap{\acf}{\Acf}% + \glsmfublocker{\ACF}% + \glsmfuaddmap{\acfp}{\Acfp}% + \glsmfublocker{\ACFP}% \providecommand*{\newabbr}{\newabbreviation}% \let\GlsXtrDefineAcShortcuts\relax } @@ -642,7 +710,7 @@ \newcommand*{\@glsxtr@shortcutsval}{\ifglsacrshortcuts acro\else none\fi}% \define@choicekey{glossaries-extra.sty}{shortcuts}% [\@glsxtr@shortcutsval\@glsxtr@shortcutsnr]% - {acronyms,acro,abbreviations,abbr,other,all,true,ac,none,false}[true]{% + {acronyms,acro,abbreviations,abbr,other,all,true,ac,acother,abother,none,false}[true]{% \ifcase\@glsxtr@shortcutsnr\relax % acronyms \renewcommand*{\@glsxtr@setupshortcuts}{% \glsacrshortcutstrue @@ -684,6 +752,18 @@ \glsacrshortcutstrue \GlsXtrDefineAcShortcuts }% + \or % acother + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \GlsXtrDefineAcShortcuts + \GlsXtrDefineOtherShortcuts + }% + \or % abother + \renewcommand*{\@glsxtr@setupshortcuts}{% + \glsacrshortcutstrue + \GlsXtrDefineAbbreviationShortcuts + \GlsXtrDefineOtherShortcuts + }% \else % none, false \renewcommand*{\@glsxtr@setupshortcuts}{}% \fi @@ -772,6 +852,7 @@ {% \refstepcounter{wrglossary}% \label{wrglossary.\thewrglossary}% + \@@glsxtrwrglosscountermark{\thewrglossary}% }% {}% }% @@ -787,27 +868,41 @@ \newcommand*{\@@glsxtrwrglossmark}{} \AtBeginDocument{\renewcommand*{\@@glsxtrwrglossmark}{\@glsxtrwrglossmark}} \newcommand*{\glsxtrwrglossmark}{\ensuremath{\cdot}} +\newcommand*{\@glsxtrwrglosscountermark}[1]{} +\newcommand*{\@@glsxtrwrglosscountermark}[1]{} +\AtBeginDocument{\renewcommand*{\@@glsxtrwrglosscountermark}{\@glsxtrwrglosscountermark}} +\newcommand*{\glsxtrwrglosscountermark}[1]{\glsshowtargetfonttext{[#1]}} \newcommand\@glsxtr@doshowtarget[2]{#2} +\newcommand*{\glsxtrundefdebug}[1]{} +\newcommand*{\@glsxtrundefdebug}[1]{% + \if@gls@debug \glsshowtargetfonttext{[#1]}\fi +} \define@choicekey{glossaries-extra.sty}{debug} [\@glsxtr@debugval\@glsxtr@debugnr]% {true,false,showtargets,showwrgloss,all,showaccsupp}[true]{% \ifcase\@glsxtr@debugnr\relax % true \glsxtr@dooption{debug=true}% \renewcommand*{\@glsxtrwrglossmark}{}% + \renewcommand*{\@glsxtrwrglosscountermark}[1]{}% \or % false \glsxtr@dooption{debug=false}% \renewcommand*{\@glsxtrwrglossmark}{}% - \let\@glsxtr@doshowtarget\@secondoftwo + \renewcommand*{\@glsxtrwrglosscountermark}[1]{}% + \let\@glsxtr@doshowtarget\@secondoftwo \or % showtargets \glsxtr@dooption{debug=showtargets}% - \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% \or % showwrgloss \glsxtr@dooption{debug=true}% \renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}% + \renewcommand*{\@glsxtrwrglosscountermark}{\glsxtrwrglosscountermark}% \or % all - \glsxtr@dooption{debug=showtargets,debug=showaccsupp}% + \glsxtr@dooption{debug=true,debug=showaccsupp}% + % debug=showwrgloss: \renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}% - \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% + \renewcommand*{\@glsxtrwrglosscountermark}{\glsxtrwrglosscountermark}% + % debug=showtargets: + \def\@glsxtr@doshowtarget{\@glsxtrshowtargetleft}% \or % showaccsupp \glsxtr@dooption{debug=showaccsupp}% \fi @@ -854,18 +949,90 @@ \def\@glsxtrshowtargetmark{\@glsshowtargetmarkfmt\glsxtrshowtargetsymbolleft}% \fi } -\DeclareOptionX*{% - \expandafter\glsxtr@dooption\expandafter{\CurrentOption}} +\newcommand*{\glsxtr@processunknownoptions}{} +\@ifpackageloaded{glossaries} +{% + \DeclareOptionX*{% + \edef\glsxtr@processunknownoptions{% + \noexpand\setupglossaries{\expandonce\CurrentOption}}} +} +{% + \DeclareOptionX*{% + \expandafter\glsxtr@dooption\expandafter{\CurrentOption}} +} \ProcessOptionsX \RequirePackage{glossaries} +\glsxtr@processunknownoptions \@glsxtr@doaccsupp \@glsxtr@doloadprefix \@glsxtr@defpostpunc +\let\@glsxtr@org@indexingsetting\glsindexingsetting +\providecommand{\glsindexingsetting}{\ifglsxindy xindy\else makeindex\fi} +\ifx\@glsxtr@org@indexingsetting\glsindexingsetting + \renewcommand{\glsindexingsetting}{% + \@glsxtr@if@record@only{bib2gls}{\ifglsxindy xindy\else makeindex\fi}% + } +\else + \@glsxtr@if@record@only{\renewcommand{\glsindexingsetting}{bib2gls}}{}% +\fi +\providecommand{\glssentencecase}[1]{\makefirstuc{#1}} +\providecommand{\glslowercase}[1]{\MakeTextLowercase{#1}} +\providecommand{\glsuppercase}[1]{\mfirstucMakeUppercase{#1}} +\providecommand{\@Glsentryfield}[2]{% + \glstexorpdfstring{\@Gls@entry@field{#1}{#2}}% + {\MFUsentencecase{\@gls@entry@field{#1}{#2}}}% +} +\ifdef\glstexorpdfstring +{} +{ + \ifdef\texorpdfstring + {\newcommand{\glstexorpdfstring}{\texorpdfstring}} + {\newcommand{\glstexorpdfstring}[2]{#1}} +} +\let\@glsxtr@org@MakeUppercase\MakeUppercase +\ExplSyntaxOn +\ifdef\MFUsentencecase +{% + \providecommand{\glsmfuexcl}[1]{\MFUexcl{#1}} + \providecommand{\glsmfublocker}[1]{\MFUblocker{#1}} + \providecommand{\glsmfuaddmap}[2]{\MFUaddmap{#1}{#2}} + \newcommand{\@glsxtr@saveMakeUppercase}{} + \newcommand{\@glsxtr@restoreMakeUppercase}{} + \newcommand{\@glsxtr@assignMakeUppercase}{} +} +{ + \providecommand{\MFUsentencecase}[1]{\text_titlecase_first:n{#1}} + \providecommand{\glsmfuexcl}[1]{ + \tl_if_in:NnF \l_text_case_exclude_arg_tl {#1} + { + \tl_put_right:Nn \l_text_case_exclude_arg_tl {#1} + } + } + \providecommand{\glsmfublocker}[1]{\glsmfuexcl{#1}} + \providecommand{\glsmfuaddmap}[2]{\glsmfuexcl{#1}\glsmfublocker{#2}} + \newcommand{\@glsxtr@saveMakeUppercase}{% + \let\@glsxtr@org@MakeUppercase\MakeUppercase + } + \newcommand{\@glsxtr@restoreMakeUppercase}{% + \let\MakeUppercase\@glsxtr@org@MakeUppercase + } + \newcommand{\@glsxtr@assignMakeUppercase}{% + \let\MakeUppercase\MakeTextUppercase + } +} +\ExplSyntaxOff \def\glsdoshowtarget{\@glsxtr@doshowtarget} -\newcommand{\glsxtrshowtargetsymbolright}{{\tiny$\triangleleft$}}% -\newcommand{\glsxtrshowtargetsymbolleft}{{\tiny$\triangleright$}}% -\providecommand*{\glsshowtargetinner}[1]{{\glsshowtargetfont [#1]}} +\newcommand{\glsxtrshowtargetsymbolright}{% + \ifmmode \mbox{\tiny$\triangleleft$}\else {\tiny$\triangleleft$}\fi +} +\newcommand{\glsxtrshowtargetsymbolleft}{% + \ifmmode \mbox{\tiny$\triangleright$}\else {\tiny$\triangleright$}\fi +} +\providecommand*{\glsshowtargetinner}[1]{\glsshowtargetfonttext{[#1]}} \providecommand*{\glsshowtargetfont}{\ttfamily\footnotesize} +\providecommand*{\glsshowtargetfonttext}[1]{% + \ifmmode \nfss@text{\glsshowtargetfont #1}\else {\glsshowtargetfont #1}\fi +} \newcommand*{\glsshowtargetinnersymleft}[1]{% \glsshowtargetinner{#1}\allowbreak\glsxtrshowtargetsymbolleft} \newcommand*{\glsshowtargetinnersymright}[1]{% @@ -955,8 +1122,18 @@ } \let\glsxtr@saveentrycounter\@gls@saveentrycounter \let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter +\providecommand*\@xp@gls@getcounterprefix[2]{% + \bgroup + \glswrglossdisableanchorcmds + \protected@edef\@do@gls@getcounterprefix{% + \noexpand\egroup + \noexpand\@gls@getcounterprefix{#1}{#2}% + }% + \@do@gls@getcounterprefix +} +\providecommand{\glswrglossdisableanchorcmds}{\let\glstexorpdfstring\@secondoftwo} \renewcommand*\@gls@getcounterprefix[2]{% - \protected@edef\@gls@thisloc{#1}\protected@edef\@gls@thisHloc{#2}% + \def\@gls@thisloc{#1}\def\@gls@thisHloc{#2}% \ifx\@gls@thisloc\@gls@thisHloc \def\@glo@counterprefix{}% \else @@ -988,6 +1165,7 @@ \glsxtr@setup@record \AtBeginDocument{% \disable@keys{glossaries-extra.sty}{abbreviations,docdef,record}% + \def\glsxtrundefdebug{\@glsxtrundefdebug}% \def\@glsxtrundeftag{\glsxtrundeftag}% } \newcommand*{\GlsXtrIfUnusedOrUndefined}[3]{% @@ -1018,6 +1196,19 @@ #2% }% } +\newcommand*{\GlsXtrIfInGlossary}[4]{% + \ifcsdef{glolist@#2}% + {% + \protected@edef\@glsxtr@tmp{#1}% + \letcs\@glsxtr@tmplist{glolist@#2}% + \expandafter\DTLifinlist\expandafter{\@glsxtr@tmp}{\@glsxtr@tmplist}% + {#3}{#4}% + }% + {% + \glsxtrundefaction{Glossary type `#1' doesn't exist}{}% + #4% + }% +} \newcommand*{\glsxtrifkeydefined}[3]{% \key@ifundefined{glossentry}{#1}{#3}{#2}% } @@ -1091,15 +1282,16 @@ }% \endgroup } -\newcommand{\glsxtrfmtdisplay}[3]{\csuse{#1}{#2}#3} -\ifdef\texorpdfstring -{ - \newcommand*{\glsxtrentryfmt}[2]{% - \texorpdfstring{\@glsxtrentryfmt{#1}{#2}}{\glsxtrpdfentryfmt{#1}{#2}}% - } +\newrobustcmd*{\Glsxtrfmt}{\@ifstar\s@Glsxtrfmt\@Glsxtrfmt} +\glsmfuaddmap{\glsxtrfmt}{\Glsxtrfmt} +\newcommand*{\@Glsxtrfmt}[3][]{\@@glsxtrfmt{#1}{#2}{\glssentencecase{#3}}{}} +\newcommand*{\s@Glsxtrfmt}[3][]{% + \new@ifnextchar[{\s@@glsxtrfmt{#1}{#2}{\glssentencecase{#3}}}% + {\@@glsxtrfmt{#1}{#2}{\glssentencecase{#3}}{}}% } -{ - \newcommand*{\glsxtrentryfmt}{\@glsxtrentryfmt} +\newcommand{\glsxtrfmtdisplay}[3]{\csuse{#1}{#2}#3} +\newcommand*{\glsxtrentryfmt}[2]{% + \glstexorpdfstring{\@glsxtrentryfmt{#1}{#2}}{\glsxtrpdfentryfmt{#1}{#2}}% } \newcommand*{\glsxtrpdfentryfmt}[2]{#2} \newrobustcmd*{\@glsxtrentryfmt}[2]{% @@ -1116,6 +1308,13 @@ {#2}% }% } +\newcommand*{\Glsxtrentryfmt}[2]{% + \glstexorpdfstring + {\@glsxtrentryfmt{#1}{\glssentencecase{#2}}}% + {\Glsxtrpdfentryfmt{#1}{#2}}% +} +\glsmfuaddmap{\glsxtrentryfmt}{\Glsxtrentryfmt} +\newcommand*{\Glsxtrpdfentryfmt}[2]{\MFUsentencecase{#2}} \newcommand*{\glsxtrfieldlistadd}[3]{% \listcsadd{glo@\glsdetoklabel{#1}@#2}{#3}% } @@ -1294,32 +1493,14 @@ \newcommand*{\glsxtrusefield}[2]{% \@gls@entry@field{#1}{#2}% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsxtrusefield}[2]{% - \texorpdfstring - {\@Gls@entry@field{#1}{#2}} - {\@gls@entry@field{#1}{#2}}% - } -} -{ - \newcommand*{\Glsxtrusefield}[2]{% - \@Gls@entry@field{#1}{#2}% - } +\newcommand*{\Glsxtrusefield}[2]{% + \@Glsentryfield{#1}{#2}% } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSxtrusefield}[2]{% - \texorpdfstring - {\glsdoifexists{#1}{\mfirstucMakeUppercase{\@gls@entry@field{#1}{#2}}}}% - {\@gls@entry@field{#1}{#2}}% - } -} -{ - \newcommand*{\GLSxtrusefield}[2]{% - \glsdoifexists{#1}{\mfirstucMakeUppercase{\@gls@entry@field{#1}{#2}}}% - } +\glsmfuaddmap{\glsxtrusefield}{\Glsxtrusefield} +\newcommand*{\GLSxtrusefield}[2]{% + \glsuppercase{\csuse{glo@\glsdetoklabel{#1}@#2}}% } +\glsmfublocker{\GLSxtrusefield} \newcommand*{\glsxtrentryparentname}[1]{% \ifcsdef{glo@\glsdetoklabel{#1}@parent}% {\csuse{glo@\csuse{glo@\glsdetoklabel{#1}@parent}@name}}% @@ -1337,7 +1518,7 @@ \glsxtrsetfieldifexists{#1}{#2}% {\csdef{glo@\glsdetoklabel{#1}@#2}{#3}}% } -\newrobustcmd*{\GlstrLetField}[3]{% +\newrobustcmd*{\GlsXtrLetField}[3]{% \glsxtrsetfieldifexists{#1}{#2}% {\cslet{glo@\glsdetoklabel{#1}@#2}{#3}}% } @@ -1545,6 +1726,19 @@ \GlossariesExtraWarning{Glossary `#1' is not defined}% }% } +\renewcommand*{\@p@glossarysection}[2]{% + \glsclearpage + \ifdefempty\@@glossarysecstar + {% + \csname\@@glossarysec\endcsname{#2}% + }% + {% + \phantomsection + \@gls@toc{#1}{\@@glossarysec}% + \csname\@@glossarysec\endcsname*{#2}% + }% + \@@glossaryseclabel +} \ifdef\@gls@entry@field { \renewcommand*{\@gls@entry@field}[2]{\csuse{glo@\glsdetoklabel{#1}@#2}} @@ -1553,6 +1747,70 @@ \renewcommand*{\ifglsused}[3]{% \glsdoifexists{#1}{\ifbool{glo@\glsdetoklabel{#1}@flag}{#2}{#3}}% } +\renewcommand{\@@gls@noexpand@field}[3]{% + \glsifcategoryattributehasitem{\@glo@category}{encapnocaseinnerfmt}{#2}% + {% + \csxdef{glo@#1@#2}{\noexpand\NoCaseChange{\noexpand\glsxtrgenentrytextfmt + {\expandonce{#3}}}}% + \glsexclapplyinnerfmtfield{#1}{#2}% + }% + {% + \glsifcategoryattributehasitem{\@glo@category}{encapnocase}{#2}% + {% + \glsifcategoryattributehasitem{\@glo@category}{encapinnerfmt}{#2}% + {% + \csxdef{glo@#1@#2}{\noexpand\NoCaseChange{\noexpand\glsxtrgenentrytextfmt + {\expandonce{#3}}}}% + \glsexclapplyinnerfmtfield{#1}{#2}% + }% + {% + \csxdef{glo@#1@#2}{\noexpand\NoCaseChange{\expandonce{#3}}}% + }% + }% + {% + \glsifcategoryattributehasitem{\@glo@category}{encapinnerfmt}{#2}% + {% + \csxdef{glo@#1@#2}{\noexpand\glsxtrgenentrytextfmt{\expandonce{#3}}}% + \glsexclapplyinnerfmtfield{#1}{#2}% + }% + {% + \expandafter\global\expandafter\let\csname glo@#1@#2\endcsname#3% + }% + }% + }% +} +\renewcommand{\@@gls@expand@field}[3]{% + \glsifcategoryattributehasitem{\@glo@category}{encapnocaseinnerfmt}{#2}% + {% + \protected@csxdef{glo@#1@#2}{\noexpand\NoCaseChange + {\noexpand\glsxtrgenentrytextfmt{#3}}}% + \glsexclapplyinnerfmtfield{#1}{#2}% + }% + {% + \glsifcategoryattributehasitem{\@glo@category}{encapnocase}{#2}% + {% + \glsifcategoryattributehasitem{\@glo@category}{encapinnerfmt}{#2}% + {% + \protected@csxdef{glo@#1@#2}{\noexpand\NoCaseChange + {\noexpand\glsxtrgenentrytextfmt{#3}}}% + \glsexclapplyinnerfmtfield{#1}{#2}% + }% + {% + \protected@csxdef{glo@#1@#2}{\noexpand\NoCaseChange{#3}}% + }% + }% + {% + \glsifcategoryattributehasitem{\@glo@category}{encapinnerfmt}{#2}% + {% + \protected@csxdef{glo@#1@#2}{\noexpand\glsxtrgenentrytextfmt{#3}}% + \glsexclapplyinnerfmtfield{#1}{#2}% + }% + {% + \protected@csxdef{glo@#1@#2}{#3}% + }% + }% + }% +} \renewcommand*{\longnewglossaryentry}{% \@ifstar\@glsxtr@s@longnewglossaryentry\@glsxtr@longnewglossaryentry } @@ -1712,7 +1970,10 @@ {}% }% } -\newcommand*{\glsxtrcopytoglossary}[2]{% +\newcommand*{\glsxtrcopytoglossary}{% + \@ifstar\s@glsxtrcopytoglossary\@glsxtrcopytoglossary +} +\newcommand*{\@glsxtrcopytoglossary}[2]{% \glsdoifexists{#1}% {% \ifcsdef{glolist@#2} @@ -1724,19 +1985,35 @@ }% }% } -\renewcommand{\glsdoifexists}[2]{% - \ifglsentryexists{#1}{#2}% +\newcommand*{\s@glsxtrcopytoglossary}[2]{% + \glsdoifexists{#1}% {% - \protected@edef\glslabel{\glsdetoklabel{#1}}% - \glsxtrundefaction{Glossary entry `\glslabel' - has not been defined}{You need to define a glossary entry before - you can reference it.}% + \ifcsdef{glolist@#2} + {% + \protected@csxappto{glolist@#2}{#1,}% + }% + {% + \glsxtrundefaction{Glossary type `#2' doesn't exist}{}% + }% }% } +\renewcommand{\glsdoifexists}[2]{% + \ifglsentryexists{#1}{#2}{\glsxtr@doifexists{#1}}% +} +\newrobustcmd{\glsxtr@doifexists}[1]{% + \protected@edef\glslabel{\glsdetoklabel{#1}}% + \expandafter\glsxtrundefdebug\expandafter + {\expandafter\detokenize\expandafter{\glslabel}}% + \glsxtrundefaction{Glossary entry `\glslabel' + has not been defined}{You need to define a glossary entry before + you can reference it.}% +} \renewcommand{\glsdoifnoexists}[2]{% - \ifglsentryexists{#1}{% - \glsxtrundefaction{Glossary entry `\glsdetoklabel{#1}' - has already been defined}{}}{#2}% + \ifglsentryexists{#1}{\glsxtr@doifnoexists{#1}}{#2}% +} +\newrobustcmd{\glsxtr@doifnoexists}[1]{% + \glsxtrundefaction{Glossary entry `\glsdetoklabel{#1}' + has already been defined}% } \ifdef\glsdoifexistsordo {% @@ -1796,6 +2073,44 @@ }% } \appto\@gls@keymap{,{see}{see}} +\newcommand*{\glsxtrseelistsencap}[1]{\space #1} +\newcommand*{\glsxtrseelistsdelim}{, } +\newcommand*{\glsxtrseelists}[1]{% + \glsdoifexists{#1}% + {% + \def\@glsxtr@seelists{}% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@see}% + \ifdefempty\@glo@see + {}% + {% + \protected@edef\@glsxtr@seelists{% + \noexpand\glsxtr@usesee\@glo@see\noexpand\@end@glsxtr@usesee + }% + }% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@seealso}% + \ifdefempty\@glo@see + {}% + {% + \ifdefempty\@glsxtr@seelists{}% + {\appto\@glsxtr@seelists{\glsxtrseelistsdelim}}% + \protected@edef\@glsxtr@seelists{% + \noexpand\glsxtruseseealsoformat{\@glo@see}% + }% + }% + \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@alias}% + \ifdefempty\@glo@see + {}% + {% + \ifdefempty\@glsxtr@seelists{}% + {\appto\@glsxtr@seelists{\glsxtrseelistsdelim}}% + \protected@edef\@glsxtr@seelists{% + \noexpand\glsxtruseseeformat{\noexpand\seename}{\@glo@see}% + }% + }% + \ifdefempty\@glsxtr@seelists{}% + {\glsxtrseelistsencap\@glsxtr@seelists}% + }% +} \newcommand*{\glsxtrusesee}[1]{% \glsdoifexists{#1}% {% @@ -1820,54 +2135,88 @@ \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% } \newcommand*{\glsxtrhiername}[1]{% + \glstexorpdfstring + {\@glsxtrhiername{#1}}% + {\glsentryname{#1}}% +} +\newrobustcmd*{\@glsxtrhiername}[1]{% \glsdoifexists{#1}% {% \glsxtrifhasfield{parent}{#1}% - {\glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}% + {\expandafter\glsxtrhiername\expandafter + {\glscurrentfieldvalue}\glsxtrhiernamesep}% {}% \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% }% } \newcommand*{\Glsxtrhiername}[1]{% + \glstexorpdfstring + {\@Glsxtrhiername{#1}}% + {\MFUsentencecase{\glsentryname{#1}}}% +} +\newrobustcmd*{\@Glsxtrhiername}[1]{% \glsdoifexists{#1}% {% \glsxtrifhasfield{parent}{#1}% {% - \Glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep + \expandafter\Glsxtrhiername\expandafter + {\glscurrentfieldvalue}\glsxtrhiernamesep \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% }% {\ifglshasshort{#1}{\Glsfmttext{#1}}{\Glsfmtname{#1}}}% }% } +\glsmfuaddmap{\glsxtrhiername}{\Glsxtrhiername} \newcommand*{\GlsXtrhiername}[1]{% + \glstexorpdfstring + {\@GlsXtrhiername{#1}}% + {\glsentryname{#1}}% +} +\newrobustcmd*{\@GlsXtrhiername}[1]{% \glsdoifexists{#1}% {% \glsxtrifhasfield{parent}{#1}% - {\GlsXtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}% + {\expandafter\GlsXtrhiername\expandafter + {\glscurrentfieldvalue}\glsxtrhiernamesep}% {}% \ifglshasshort{#1}{\Glsfmttext{#1}}{\Glsfmtname{#1}}% }% } +\glsmfublocker{\GlsXtrhiername} \newcommand*{\GLSxtrhiername}[1]{% + \glstexorpdfstring + {\@GLSxtrhiername{#1}}% + {\GLSxtrusefield{#1}{name}}% +} +\newrobustcmd*{\@GLSxtrhiername}[1]{% \glsdoifexists{#1}% {% \glsxtrifhasfield{parent}{#1}% {% - \GLSxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep + \expandafter\GLSxtrhiername\expandafter + {\glscurrentfieldvalue}\glsxtrhiernamesep \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}% }% {\ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}}% }% } +\glsmfublocker{\GLSxtrhiername} \newcommand*{\GLSXTRhiername}[1]{% - \glsdoifexists{#1}% - {% - \glsxtrifhasfield{parent}{#1}% - {\GLSXTRhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}% - {} - \ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}% - }% + \glstexorpdfstring + {\@GLSXTRhiername{#1}}% + {\GLSxtrusefield{#1}{name}}% +} +\newrobustcmd*{\@GLSXTRhiername}[1]{% + \glsdoifexists{#1}% + {% + \glsxtrifhasfield{parent}{#1}% + {\expandafter\GLSXTRhiername\expandafter + {\glscurrentfieldvalue}\glsxtrhiernamesep}% + {}% + \ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}% + }% } +\glsmfublocker{\GLSXTRhiername} \newcommand*{\glsxtrhiernamesep}{\,{\small$\triangleright$}\,} \newcommand*{\glsxtruseseealso}[1]{% \glsdoifexists{#1}% @@ -1915,6 +2264,43 @@ \let\@glsseelastsep\glsseelastoxfordsep }% } +\newcommand{\glsxtrtaggedlistsep}{\space} +\newrobustcmd*{\glsxtrtaggedlist}[4]{% + \begingroup + \protected@edef\@gls@taggedlist@labels{#4}% + \let\@gls@dolast\relax + \let\@gls@donext\relax + \let\@glsseeitem\@glsxtr@seefirstitem + \let\@glsseelastsep\glsseelastsep + \def\@gls@taggedlist@content{}% + \let\@gls@taggedlist@tag\relax + \@for\@gls@thislabel:=\@gls@taggedlist@labels\do{% + \ifx\@xfor@nextelement\@nnil + \ifx\@gls@dolast\relax + \else + \eappto\@gls@taggedlist@content{\expandonce\@gls@dolast}% + \fi + \else + \ifx\@gls@dolast\relax + \else + \eappto\@gls@taggedlist@content{\expandonce\@gls@donext}% + \fi + \fi + \protected@eappto\@gls@taggedlist@content{\noexpand\@glsseeitem + {#3\@gls@thislabel}}% + \let\@gls@dolast\@glsseelastsep + \let\@gls@donext\glsseesep + \let\@glsseeitem\@glsxtr@seeitem + \let\@glsseelastsep\glsseelastoxfordsep + \ifx\@gls@taggedlist@tag\relax + \def\@gls@taggedlist@tag{#1\glsxtrtaggedlistsep}% + \else + \def\@gls@taggedlist@tag{#2\glsxtrtaggedlistsep}% + \fi + }% + \@gls@taggedlist@tag\@gls@taggedlist@content + \endgroup +} \newcommand*{\@glsxtr@seeitem}[1]{% \glsxtrifmulti{#1}{\mglsseeitem{#1}}{\glsseeitem{#1}}% } @@ -1942,21 +2328,24 @@ } \appto\@xdylocationclassorder{\space\string"seealso\string"} \newrobustcmd*{\glsxtrindexseealso}[2]{% - \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex - \@glsxtr@recordsee{#1}{#2}% - \fi - \glsdoifexists{#1}% + \glsxtr@wrglossary@encap{#1} {% - \@@glsxtrwrglossmark - \def\@gls@xref{#2}% - \@onelevel@sanitize\@gls@xref - \@gls@checkmkidxchars\@gls@xref - \gls@glossary{\csname glo@#1@type\endcsname}{% - (indexentry - :tkey (\csname glo@#1@index\endcsname) - :xref (\string"\@gls@xref\string") - :attr \string"seealso\string" - ) + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \@glsxtr@recordsee{#1}{#2}% + \fi + \glsdoifexists{#1}% + {% + \@@glsxtrwrglossmark + \def\@gls@xref{#2}% + \@onelevel@sanitize\@gls@xref + \@gls@checkmkidxchars\@gls@xref + \gls@glossary{\csname glo@#1@type\endcsname}{% + (indexentry + :tkey (\csname glo@#1@index\endcsname) + :xref (\string"\@gls@xref\string") + :attr \string"seealso\string" + ) + }% }% }% } @@ -1987,6 +2376,7 @@ {\csxdef{glo@\@glo@label @alias}{}}% {% \csxdef{glo@\@glo@label @alias}{\@glo@alias}% + \glsxtraliashook{\@glo@label}% }% } \newcommand*{\glsxtralias}[1]{\@gls@entry@field{#1}{alias}} @@ -2007,6 +2397,7 @@ {% \protected@edef\@do@glssee{\noexpand\glssee{\@glo@label}{\@glo@alias}}% \@do@glssee + \glsxtraliashook{\@glo@label}% }% {}% }% @@ -2037,17 +2428,18 @@ }% } } +\newcommand*{\glsxtraliashook}[1]{} \AtEndDocument{\if@glsxtrindexcrossrefs\glsxtraddallcrossrefs\fi} \newcommand*{\glsxtraddallcrossrefs}{% \forallglossaries{\@glo@type}% {% \forglsentries[\@glo@type]{\@glo@label}% {% - \ifglsused{\@glo@label}% - {\expandafter\@glsxtr@addunusedxrefs\expandafter{\@glo@label}}{}% + \ifglsused{\@glo@label}{\glsxtraddunusedxrefs{\@glo@label}}{}% }% }% } +\newcommand*{\glsxtraddunusedxrefs}[1]{\expandafter\@glsxtr@addunusedxrefs\expandafter{#1}} \newcommand*{\@glsxtr@addunusedxrefs}[1]{% \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@see}% \ifdefvoid\@glo@see @@ -2122,6 +2514,7 @@ } \let\glsxtr@orgmakenoidxglossaries\makenoidxglossaries \renewcommand{\makenoidxglossaries}{% + \def\glsindexingsetting{noidx}% \@domakeglossaries {% \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off @@ -2162,8 +2555,17 @@ {You may only use \string\makenoidxglossaries\ space with the record=off option}% }% + \let\gls@warn@noidx@incompatible\@gls@warn@noidx@incompatible }% } +\newcommand*{\gls@warn@noidx@incompatible}[2]{} +\newcommand*{\@gls@warn@noidx@incompatible}[2]{% + #2\GlossariesExtraWarning{#1\space is incompatible with \string\makenoidxglossaries}% +} +\newcommand*{\gls@warn@noidxmakegloss@incompatible}[2]{% + \gls@warn@noidx@incompatible{#1}{#2}% + \gls@warn@makegloss@incompatible{#1}{#2}% +} \renewcommand*{\gls@defdocnewglossaryentry}{% \ifcase\@glsxtr@docdefval \renewcommand*{\newglossaryentry}[2]{% @@ -2227,6 +2629,7 @@ \def\glsxtr@keylist{##1}% \@Glsxtr } + \glsmfuaddmap{\glsxtr}{\Glsxtr} \newcommand*{\@Glsxtr}[2][]{% \ifglsentryexists{##2}% {% @@ -2257,6 +2660,7 @@ \def\glsxtr@keylist{##1}% \@Glsxtrpl } + \glsmfuaddmap{\glsxtrpl}{\Glsxtrpl} \newcommand*{\@Glsxtrpl}[2][]{% \ifglsentryexists{##2} {% @@ -2299,12 +2703,16 @@ } \@onlypreamble\GlsXtrEnableOnTheFly \newcommand*{\@glsxtr@current@style}{\@glossary@default@style} +\newcommand{\glsxtrpreglossarystyle}{% + \renewcommand*{\glssubgroupheading}[4]{\glsgroupheading{##4}}% +} \renewcommand*{\setglossarystyle}[1]{% \ifcsundef{@glsstyle@#1}% {% \PackageError{glossaries-extra}{Glossary style `#1' undefined}{}% }% {% + \glsxtrpreglossarystyle \csname @glsstyle@#1\endcsname \protected@edef\@glsxtr@current@style{#1}% }% @@ -2455,12 +2863,234 @@ } \newcommand*{\glsxtrregularfont}[1]{#1} \newcommand*{\glsxtrabbreviationfont}[1]{#1} +\newcommand{\glsxtrdefaultentrytextfmt}[1]{#1} +\newcommand{\glsxtrattrentrytextfmt}[1]{% + \glshasattribute{\glslabel}{innertextformat}% + {% + \csuse{\glsgetattribute{\glslabel}{innertextformat}}{#1}% + }% + {#1}% +} +\newcommand*{\glsxtrgenentrytextfmt}{\glsxtrdefaultentrytextfmt} +\newcommand*{\glsfmtfield}[4]{% + \expandafter\expandafter\expandafter + #2\expandafter\expandafter\expandafter + {\csname glo@\glsdetoklabel{#3}@#4\endcsname #1}% +} +\newcommand*{\Glsfmtfield}[4]{% + \ifx#2\@firstofone + \expandafter\expandafter\expandafter + \glssentencecase\expandafter\expandafter\expandafter + {% + \csname glo@\glsdetoklabel{#3}@#4\endcsname #1% + }% + \else + \expandafter\expandafter\expandafter + \glssentencecase\expandafter\expandafter\expandafter + {% + \expandafter\expandafter\expandafter + #2\expandafter\expandafter\expandafter + {\csname glo@\glsdetoklabel{#3}@#4\endcsname #1}% + }% + \fi +} +\glsmfuaddmap{\glsfmtfield}{\Glsfmtfield} +\newcommand*{\GLSfmtfield}[4]{% + \ifx#2\@firstofone + \expandafter\expandafter\expandafter + \glsuppercase\expandafter\expandafter\expandafter + {% + \csname glo@\glsdetoklabel{#3}@#4\endcsname #1% + }% + \else + \expandafter\expandafter\expandafter + \glsuppercase\expandafter\expandafter\expandafter + {% + \expandafter\expandafter\expandafter + #2\expandafter\expandafter\expandafter + {\csname glo@\glsdetoklabel{#3}@#4\endcsname #1}% + }% + \fi +} +\glsmfublocker{\GLSfmtfield} +\newcommand*{\glsfmtinsert}{% + \ifdefempty\glsinsert{}% + {\expandafter\glsxtrgenentrytextfmt\expandafter{\glsinsert}}% +} +\newcommand*{\GLSfmtinsert}{% + \ifdefempty\glsinsert{}% + {% + \expandafter\glsuppercase\expandafter + {\expandafter\glsxtrgenentrytextfmt\expandafter{\glsinsert}}% + }% +} +\newcommand*{\glsifapplyinnerfmtfield}[4]{% + \ifcsundef{@glo@\glsdetoklabel{#1}@innerfmt@fields}% + {#3}% + {\xifinlistcs{#2}{@glo@\glsdetoklabel{#1}@innerfmt@fields}{#4}{#3}}% +} +\newcommand*{\glsexclapplyinnerfmtfield}[2]{% + \listcseadd{@glo@\glsdetoklabel{#1}@innerfmt@fields}{#2}% +} +\renewcommand*{\glsgenentryfmt}{% + \ifdefempty\glscustomtext + {% + \glsifplural + {% + \glscapscase + {% + \ifglsused\glslabel + {% + \glsifapplyinnerfmtfield{\glslabel}{plural}% + {% + \expandafter\glsaccessfmtplural\expandafter{\glsinsert}% + {\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\glsaccessplural{\glslabel}\glsfmtinsert}% + }% + {% + \glsifapplyinnerfmtfield{\glslabel}{firstpl}% + {% + \expandafter\glsaccessfmtfirstplural\expandafter{\glsinsert}% + {\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\glsaccessfirstplural{\glslabel}\glsfmtinsert}% + }% + }% + {% + \ifglsused\glslabel + {% + \glsifapplyinnerfmtfield{\glslabel}{plural}% + {% + \expandafter\Glsaccessfmtplural\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\Glsaccessplural{\glslabel}\glsfmtinsert}% + }% + {% + \glsifapplyinnerfmtfield{\glslabel}{firstpl}% + {% + \expandafter\Glsaccessfmtfirstplural\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\Glsaccessfirstplural{\glslabel}\glsfmtinsert}% + }% + }% + {% + \ifglsused\glslabel + {% + \glsifapplyinnerfmtfield{\glslabel}{plural}% + {% + \expandafter\GLSaccessfmtplural\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\GLSaccessplural{\glslabel}\GLSfmtinsert}% + }% + {% + \glsifapplyinnerfmtfield{\glslabel}{firstpl}% + {% + \expandafter\GLSaccessfmtfirstplural\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\GLSaccessfirstplural{\glslabel}\GLSfmtinsert}% + }% + }% + }% + {% + \glscapscase + {% + \ifglsused\glslabel + {% + \glsifapplyinnerfmtfield{\glslabel}{text}% + {% + \expandafter\glsaccessfmttext\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\glsaccesstext{\glslabel}\glsfmtinsert}% + }% + {% + \glsifapplyinnerfmtfield{\glslabel}{first}% + {% + \expandafter\glsaccessfmtfirst\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\glsaccessfirst{\glslabel}\glsfmtinsert}% + }% + }% + {% + \ifglsused\glslabel + {% + \glsifapplyinnerfmtfield{\glslabel}{text}% + {% + \expandafter\Glsaccessfmttext\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\Glsaccesstext{\glslabel}\glsfmtinsert}% + }% + {% + \glsifapplyinnerfmtfield{\glslabel}{first}% + {% + \expandafter\Glsaccessfmtfirst\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\Glsaccessfirst{\glslabel}\glsfmtinsert}% + }% + }% + {% + \ifglsused\glslabel + {% + \glsifapplyinnerfmtfield{\glslabel}{text}% + {% + \expandafter\GLSaccessfmttext\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\GLSaccesstext{\glslabel}\GLSfmtinsert}% + }% + {% + \glsifapplyinnerfmtfield{\glslabel}{first}% + {% + \expandafter\GLSaccessfmtfirst\expandafter + {\glsinsert}{\glsxtrgenentrytextfmt}{\glslabel}% + }% + {\GLSaccessfirst{\glslabel}\GLSfmtinsert}% + }% + }% + }% + }% + {% + \glscustomtext + }% +} +\newcommand*{\glsxtrifwasglslike}[2]{#2} +\newcommand*{\glsxtrifwasglslikeandfirstuse}[2]{% + \glsxtrifwasglslike + {% + \glsxtrifwasfirstuse{#1}{#2}% + }{#2}% +} +\newcommand*{\glsxtrifwassubsequentuse}[2]{% + \glsxtrifwasglslike + {% + \glsxtrifwasfirstuse{#2}{#1}% + }{#2}% +} +\newcommand*{\glsxtrifallcaps}[2]{\glscapscase{#2}{#1}{#1}} +\newcommand*{\glsxtrcurrentfield}{} +\newcommand*{\glsxtr@shortfieldname}{short} +\newcommand*{\glsxtrifwassubsequentorshort}[2]{% + \glsxtrifwasglslike + {% + \glsxtrifwasfirstuse{#2}{#1}% + }% + {\ifdefequal\glsxtrcurrentfield\glsxtr@shortfieldname{#1}{#2}}% +} \renewcommand{\@gls@field@link}[4][]{% \@glsxtr@record{#2}{#3}{glslink}% \glsdoifexists{#3}% {% \let\glsxtrorg@ifKV@glslink@hyper\ifKV@glslink@hyper \@gls@save@glslocal + \glsinitreunsets \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper \def\glscustomtext{#4}% \@glsxtr@field@linkdefs @@ -2473,41 +3103,48 @@ } \let\@glsxtr@org@gls@\@gls@ \def\@gls@#1#2{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@gls@{#1}{#2}% }% \let\@glsxtr@org@glspl@\@glspl@ \def\@glspl@#1#2{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@glspl@{#1}{#2}% }% \let\@glsxtr@org@Gls@\@Gls@ \def\@Gls@#1#2{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@Gls@{#1}{#2}% }% \let\@glsxtr@org@Glspl@\@Glspl@ \def\@Glspl@#1#2{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@Glspl@{#1}{#2}% }% \let\@glsxtr@org@GLS@\@GLS@ \def\@GLS@#1#2{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@GLS@{#1}{#2}% }% \let\@glsxtr@org@GLSpl@\@GLSpl@ \def\@GLSpl@#1#2{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@GLSpl@{#1}{#2}% }% \renewcommand*{\@glsdisp}[3][]{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}{% \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree - \def\glscustomtext{#3}% + \def\glscustomtext{\glsxtrgenentrytextfmt{#3}}% \def\glsinsert{}% \def\@glo@text{\csname gls@\glstype @entryfmt\endcsname}% \@gls@link[#1]{#2}{\@glo@text}% @@ -2516,13 +3153,15 @@ \glspostlinkhook } \renewcommand*{\@gls@@link}[3][]{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexistsordo{#2}% {% \let\do@gls@link@checkfirsthyper\relax \def\glscustomtext{#3}% + \def\glsinsert{}% \@glsxtr@field@linkdefs - \@gls@link[#1]{#2}{#3}% + \@gls@link[#1]{#2}{\glsxtrgenentrytextfmt{#3}}% }% {% \glstextformat{#3}% @@ -2540,6 +3179,78 @@ } \newif\ifglsxtrinitwrglossbefore \glsxtrinitwrglossbeforetrue +\newcommand*{\setupglslink}[1]{\setkeys{glslink}{#1}} +\newcommand*{\setupglsadd}[1]{\setkeys{glsadd}{#1}} +\newcommand*{\@gls@do@glsprereset}[1]{} +\define@choicekey{glslink}{prereset}% +[\@glsxtr@preresetval\@glsxtr@preresetnr]% +{none,local,global}[local]% +{% + \ifcase\@glsxtr@preresetnr + \let\@gls@do@glsprereset\@gobble + \or + \def\@gls@do@glsprereset{% + \let\@gls@link@postkeys@checkfirsthyper\do@gls@link@checkfirsthyper + \let\glsxtrifwasfirstuse\@firstoftwo\glslocalreset}% + \or + \def\@gls@do@glsprereset{% + \let\@gls@link@postkeys@checkfirsthyper\do@gls@link@checkfirsthyper + \let\glsxtrifwasfirstuse\@firstoftwo\glsreset}% + \fi +} +\newcommand*{\@gls@do@glspreunset}[1]{} +\ifdef\@gls@glslink@hyper@update@hook +{% + \renewcommand*{\@gls@glslink@hyper@update@hook}{% + \let\@gls@if@glslink@hyper@updated\@firstoftwo + } +} +{ + \newcommand*{\@gls@glslink@hyper@update@hook}{% + \let\@gls@if@glslink@hyper@updated\@firstoftwo + } + \renewcommand*{\KV@glslink@hyper}[1]{% + \XKV@plfalse\XKV@sttrue + \XKV@checkchoice[\XKV@resa ]{#1}{true,false}% + {\csname KV@glslink@hyper\XKV@resa\endcsname\@gls@glslink@hyper@update@hook}% + } +} +\define@choicekey{glslink}{preunset}% +[\@glsxtr@preunsetval\@glsxtr@preunsetnr]% +{none,local,global}[local]% +{% + \ifcase\@glsxtr@preunsetnr + \let\@gls@do@glspreunset\@gobble + \or + \def\@gls@do@glspreunset{% + \let\@gls@link@postkeys@checkfirsthyper\do@gls@link@checkfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo\glslocalunset}% + \or + \def\@gls@do@glspreunset{% + \let\@gls@link@postkeys@checkfirsthyper\do@gls@link@checkfirsthyper + \let\glsxtrifwasfirstuse\@secondoftwo\glsunset}% + \fi +} +\define@choicekey{glslink}{postunset}% +[\@glsxtr@postunsetval\@glsxtr@postunsetnr]% +{none,local,global}[global]% +{% + \ifcase\@glsxtr@postunsetnr + \let\@gls@restore@glslocal\@gls@ignore@restore@glslocal + \or + \let\@gls@restore@glslocal\@gls@default@restore@glslocal + \KV@glslink@localtrue + \or + \let\@gls@restore@glslocal\@gls@default@restore@glslocal + \KV@glslink@localfalse + \fi +} +\newcommand*{\glsinitreunsets}{% + \let\@gls@do@glspreunset\@gobble + \let\@gls@do@glsprereset\@gobble + \let\@gls@restore@glslocal\@gls@default@restore@glslocal + \@glsxtrbuffer@check@repeats +} \define@choicekey{glslink}{wrgloss}% [\@glsxtr@wrglossval\@glsxtr@wrglossnr]% {before,after}% @@ -2554,10 +3265,24 @@ \define@key{glslink}{theHvalue}{\def\@glsxtr@theHvalue{#1}} \define@boolkey{glslink}[glsxtr@]{hyperoutside}[true]{} \glsxtr@hyperoutsidetrue +\newcommand*{\@glsxtr@current@textformat@csname}{glstextformat} +\newcommand*{\@glsxtr@current@innertextformat@csname}{glsxtrdefaultentrytextfmt} +\newcommand*{\glsxtrassignlinktextfmt}{} \define@key{glslink}{textformat}{% \ifcsdef{#1} {% \letcs{\@glsxtr@local@textformat}{#1}% + \def\@glsxtr@current@textformat@csname{#1}% + }% + {% + \PackageError{glossaries-extra}{Unknown control sequence name `#1'}{}% + }% +} +\define@key{glslink}{innertextformat}{% + \ifcsdef{#1} + {% + \letcs{\@glsxtr@local@innertextformat}{#1}% + \def\@glsxtr@current@innertextformat@csname{#1}% }% {% \PackageError{glossaries-extra}{Unknown control sequence name `#1'}{}% @@ -2597,7 +3322,11 @@ \endgroup }% } -\providecommand*{\glslinkwrcontent}[1]{{#1}} +\providecommand*{\glslinkwrcontent}[1]{#1} +\newcommand*{\@glslink@prefix@label}[1]{% + \@glslink{\glolinkprefix\glslabel}{#1}} +\newcommand*{\@noglslink@prefix@label}[1]{% + \glsdonohyperlink{\glolinkprefix\glslabel}{#1}} \def\@gls@link[#1]#2#3{% \leavevmode \protected@edef\glslabel{\glsdetoklabel{#2}}% @@ -2608,8 +3337,12 @@ \protected@edef\glstype{\csname glo@\glslabel @type\endcsname}% \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper \@gls@save@glslocal + \glsinitreunsets \let\@glsxtr@org@glolinkprefix\glolinkprefix \let\@glsxtr@local@textformat\relax + \def\@glsxtr@current@textformat@csname{glstextformat}% + \let\@glsxtr@local@innertextformat\glsxtrdefaultentrytextfmt + \def\@glsxtr@current@innertextformat@csname{glsxtrdefaultentrytextfmt}% \def\@glsxtr@thevalue{}% \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% \glsxtrinitwrgloss @@ -2621,10 +3354,16 @@ \fi \do@glsdisablehyperinlist \do@gls@link@checkfirsthyper + \let\@gls@if@glslink@hyper@updated\@secondoftwo + \let\@gls@link@postkeys@checkfirsthyper\relax \glslinkpresetkeys \setkeys{glslink}{#1}% \glsxtr@do@autoadd{glslink}% \glslinkpostsetkeys + \@gls@do@glsprereset{#2}% + \@gls@do@glspreunset{#2}% + \@gls@if@glslink@hyper@updated{}{\@gls@link@postkeys@checkfirsthyper}% + \let\glsxtrgenentrytextfmt\@glsxtr@local@innertextformat \ifdefempty{\@glsxtr@thevalue}% {% \@gls@saveentrycounter @@ -2641,6 +3380,7 @@ \ifcsdef{\@glsxtr@attrval}% {% \letcs{\@glsxtr@textformat}{\@glsxtr@attrval}% + \let\@glsxtr@current@textformat@csname\@glsxtr@attrval }% {% \GlossariesExtraWarning{Unknown control sequence name @@ -2655,27 +3395,33 @@ \else \let\@glsxtr@textformat\@glsxtr@local@textformat \fi + \edef\glsxtrassignlinktextfmt{% + \noexpand\def\noexpand\glslabel{\expandonce\glslabel}% + \noexpand\letcs\noexpand\glstextformat{\@glsxtr@current@textformat@csname}% + \noexpand\letcs\noexpand\glsxtrgenentrytextfmt + {\@glsxtr@current@innertextformat@csname}% + }% \glslinkwrcontent {% \ifglsxtrinitwrglossbefore - \@do@wrglossary{#2}% + \glsxtr@wrglossary@encap{#2}{\@do@wrglossary{#2}}% \fi \ifKV@glslink@hyper \ifglsxtr@hyperoutside - \@glslink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \@glslink@prefix@label{\@glsxtr@textformat{#3}}% \else - \@glsxtr@textformat{\@glslink{\glolinkprefix\glslabel}{#3}}% + \@glsxtr@textformat{\@glslink@prefix@label{#3}}% \fi \else \ifglsxtr@hyperoutside - \glsdonohyperlink{\glolinkprefix\glslabel}{\@glsxtr@textformat{#3}}% + \@noglslink@prefix@label{\@glsxtr@textformat{#3}}% \else - \@glsxtr@textformat{\glsdonohyperlink{\glolinkprefix\glslabel}{#3}}% + \@glsxtr@textformat{\@noglslink@prefix@label{#3}}% \fi \fi \ifglsxtrinitwrglossbefore \else - \@do@wrglossary{#2}% + \glsxtr@wrglossary@encap{#2}{\@do@wrglossary{#2}}% \fi }% \let\glolinkprefix\@glsxtr@org@glolinkprefix @@ -2713,7 +3459,7 @@ }% \@gls@setsort{#2}% \KV@glslink@noindexfalse - \@@do@wrglossary{#2}% + \glsxtr@wrglossary@encap{#2}{\@@do@wrglossary{#2}}% }% \endgroup }% @@ -2722,10 +3468,10 @@ \@for\@gls@thislabel:=#2\do{\glsadd[#1]{\@gls@thislabel}}% } \newcommand*{\@glsxtr@field@linkdefs}{% + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty } \newcommand*{\glsxtrassignfieldfont}[1]{% \ifglsentryexists{#1}% @@ -2747,258 +3493,857 @@ \let\@gls@field@font\@gobble }% } +\newcommand*{\glsxtrsaveinsert}[2]{\def\glsinsert{}} +\newcommand*{\glsxtrfullsaveinsert}{\glsxtrsaveinsert} \def\@glstext@#1#2[#3]{% + \def\glsxtrcurrentfield{text}% \glsxtrassignfieldfont{#2}% - \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesstext{#2}#3}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{text}% + {% + \@gls@field@font{\glsaccessfmttext{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccesstext{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLStext@#1#2[#3]{% + \def\glsxtrcurrentfield{text}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link[\let\glscapscase\@thirdofthree]{#1}{#2}% - {\@gls@field@font{\GLSaccesstext{#2}\mfirstucMakeUppercase{#3}}}% + {% + \glsifapplyinnerfmtfield{#2}{text}% + {% + \@gls@field@font{\GLSaccessfmttext{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccesstext{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccesstext{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% } \def\@Glstext@#1#2[#3]{% + \def\glsxtrcurrentfield{text}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link[\let\glscapscase\@secondofthree]{#1}{#2}% - {\@gls@field@font{\Glsaccesstext{#2}#3}}% + {% + \glsifapplyinnerfmtfield{#2}{text}% + {% + \@gls@field@font{\Glsaccessfmttext{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccesstext{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \newcommand*{\glsxtrchecknohyperfirst}[1]{% \glsifattribute{#1}{nohyperfirst}{true}{\KV@glslink@hyperfalse}{}% } \def\@glsfirst@#1#2[#3]{% + \def\glsxtrcurrentfield{first}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \glsxtrchecknohyperfirst{#2}% + \glsxtr@check@complexstyle{#2}{#3}% ]{#1}{#2}% - {\@gls@field@font{\glsaccessfirst{#2}#3}}% + {% + \glsifapplyinnerfmtfield{#2}{first}% + {% + \@gls@field@font{\glsaccessfmtfirst{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessfirst{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsfirst@#1#2[#3]{% + \def\glsxtrcurrentfield{first}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glscapscase\@secondofthree \glsxtrchecknohyperfirst{#2}% + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}{\@gls@field@font{\Glsaccessfirst{#2}#3}}% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{first}% + {% + \@gls@field@font{\Glsaccessfmtfirst{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessfirst{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSfirst@#1#2[#3]{% + \def\glsxtrcurrentfield{first}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glscapscase\@thirdofthree \glsxtrchecknohyperfirst{#2}% + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}{\@gls@field@font{\GLSaccessfirst{#2}\mfirstucMakeUppercase{#3}}}% + {#1}{#2}% + {% + \ifx\glscapscase\@thirdofthree + \glsifapplyinnerfmtfield{#2}{first}% + {% + \@gls@field@font{\GLSaccessfmtfirst{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccessfirst{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + \else + \glsifapplyinnerfmtfield{#2}{first}% + {% + \@gls@field@font{\glsaccessfmtfirst{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessfirst{#2}\glsxtrgenentrytextfmt{#3}}% + }% + \fi + }% } \def\@glsplural@#1#2[#3]{% + \def\glsxtrcurrentfield{text}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glsifplural\@firstoftwo]{#1}{#2}% - {\@gls@field@font{\glsaccessplural{#2}#3}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + [\let\glsifplural\@firstoftwo + \glsxtr@check@complexstyle{#2}{#3}% + ]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{plural}% + {% + \@gls@field@font{\glsaccessfmtplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsplural@#1#2[#3]{% + \def\glsxtrcurrentfield{text}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}{\@gls@field@font{\Glsaccessplural{#2}#3}}% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{plural}% + {% + \@gls@field@font{\Glsaccessfmtplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSplural@#1#2[#3]{% + \def\glsxtrcurrentfield{text}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}{\@gls@field@font{\GLSaccessplural{#2}\mfirstucMakeUppercase{#3}}}% + {#1}{#2}% + {% + \ifx\glscapscase\@thirdofthree + \glsifapplyinnerfmtfield{#2}{plural}% + {% + \@gls@field@font{\GLSaccessfmtplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccessplural{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + \else + \glsifapplyinnerfmtfield{#2}{plural}% + {% + \@gls@field@font{\glsaccessfmtplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + \fi + }% } \def\@glsfirstplural@#1#2[#3]{% + \def\glsxtrcurrentfield{first}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \glsxtrchecknohyperfirst{#2}% + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}{\@gls@field@font{\glsaccessfirstplural{#2}#3}}% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{firstpl}% + {% + \@gls@field@font{\glsaccessfmtfirstplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessfirstplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsfirstplural@#1#2[#3]{% + \def\glsxtrcurrentfield{first}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree \glsxtrchecknohyperfirst{#2}% + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}{\@gls@field@font{\Glsaccessfirstplural{#2}#3}}% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{firstpl}% + {% + \@gls@field@font{\Glsaccessfmtfirstplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessfirstplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSfirstplural@#1#2[#3]{% + \def\glsxtrcurrentfield{first}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree \glsxtrchecknohyperfirst{#2}% + \glsxtr@check@complexstyle{#2}{#3}% ]% - {#1}{#2}% - {\@gls@field@font{\GLSaccessfirstplural{#2}\mfirstucMakeUppercase{#3}}}% + {#1}{#2}% + {% + \ifx\glscapscase\@thirdofthree + \glsifapplyinnerfmtfield{#2}{firstpl}% + {% + \@gls@field@font{\GLSaccessfmtfirstplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccessfirstplural{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + \else + \glsifapplyinnerfmtfield{#2}{firstpl}% + {% + \@gls@field@font{\glsaccessfmtfirstplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessfirstplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + \fi + }% } \def\@glsname@#1#2[#3]{% + \def\glsxtrcurrentfield{name}% \glsxtrassignfieldfont{#2}% - \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessname{#2}#3}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{name}% + {% + \@gls@field@font{\glsaccessfmtname{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessname{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsname@#1#2[#3]{% + \def\glsxtrcurrentfield{name}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}% - {\@gls@field@font{\Glsaccessname{#2}#3}}% + [\let\glscapscase\@secondofthree]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{name}% + {% + \@gls@field@font{\Glsaccessfmtname{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessname{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSname@#1#2[#3]{% + \def\glsxtrcurrentfield{name}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}% - {\@gls@field@font{\GLSaccessname{#2}\mfirstucMakeUppercase{#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{name}% + {% + \@gls@field@font{\GLSaccessfmtname{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccessname{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + }% } \def\@glsdesc@#1#2[#3]{% + \def\glsxtrcurrentfield{description}% \glsxtrassignfieldfont{#2}% - \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessdesc{#2}#3}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{desc}% + {% + \@gls@field@font{\glsaccessfmtdesc{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessdesc{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsdesc@#1#2[#3]{% + \def\glsxtrcurrentfield{description}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}% - {\@gls@field@font{\Glsaccessdesc{#2}#3}}% + [\let\glscapscase\@secondofthree]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{desc}% + {% + \@gls@field@font{\Glsaccessfmtdesc{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessdesc{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSdesc@#1#2[#3]{% + \def\glsxtrcurrentfield{description}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\GLSaccessdesc{#2}\mfirstucMakeUppercase{#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{desc}% + {% + \@gls@field@font{\GLSaccessfmtdesc{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccessdesc{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + }% } \def\@glsdescplural@#1#2[#3]{% + \def\glsxtrcurrentfield{description}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo + [\let\glscapscase\@secondofthree \let\glsifplural\@firstoftwo - ]{#1}{#2}{\@gls@field@font{\glsaccessdescplural{#2}#3}}% + ]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{descplural}% + {% + \@gls@field@font{\glsaccessfmtdescpl{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessdescplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsdescplural@#1#2[#3]{% + \def\glsxtrcurrentfield{description}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo + [\let\glscapscase\@secondofthree \let\glsifplural\@firstoftwo - ]{#1}{#2}{\@gls@field@font{\Glsaccessdescplural{#2}#3}}% + ]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{descplural}% + {% + \@gls@field@font{\Glsaccessfmtdescpl{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessdescplural{#2}#3}% + }% + }% } -\def\@GLSdesc@#1#2[#3]{% +\def\@GLSdescplural@#1#2[#3]{% + \def\glsxtrcurrentfield{description}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@thirdoftwo + [\let\glscapscase\@thirdofthree \let\glsifplural\@firstoftwo ]% - {#1}{#2}% - {\@gls@field@font{\GLSaccessdescplural{#2}\mfirstucMakeUppercase{#3}}}% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{descplural}% + {% + \@gls@field@font{\GLSaccessfmtdescplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccessdescplural{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + }% } \def\@glssymbol@#1#2[#3]{% + \def\glsxtrcurrentfield{symbol}% \glsxtrassignfieldfont{#2}% - \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesssymbol{#2}#3}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{symbol}% + {% + \@gls@field@font{\glsaccessfmtsymbol{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccesssymbol{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glssymbol@#1#2[#3]{% + \def\glsxtrcurrentfield{symbol}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]% - {#1}{#2}{\@gls@field@font{\Glsaccesssymbol{#2}#3}}% + [\let\glscapscase\@secondofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{symbol}% + {% + \@gls@field@font{\Glsaccessfmtsymbol{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccesssymbol{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSsymbol@#1#2[#3]{% + \def\glsxtrcurrentfield{symbol}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\GLSaccesssymbol{#2}\mfirstucMakeUppercase{#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{symbol}% + {% + \@gls@field@font{\GLSaccessfmtsymbol{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccesssymbol{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + }% } \def\@glssymbolplural@#1#2[#3]{% + \def\glsxtrcurrentfield{symbol}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo + [\let\glscapscase\@secondofthree \let\glsifplural\@firstoftwo - ]{#1}{#2}{\@gls@field@font{\glsaccesssymbolplural{#2}#3}}% + ]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{symbolplural}% + {% + \@gls@field@font{\glsaccessfmtsymbolplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccesssymbolplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glssymbolplural@#1#2[#3]{% + \def\glsxtrcurrentfield{symbol}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo + [\let\glscapscase\@secondofthree \let\glsifplural\@firstoftwo - ]{#1}{#2}{\@gls@field@font{\Glsaccesssymbolplural{#2}#3}}% + ]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{symbolplural}% + {% + \@gls@field@font{\Glsaccessfmtsymbolplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccesssymbolplural{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } -\def\@GLSsymbol@#1#2[#3]{% +\def\@GLSsymbolplural@#1#2[#3]{% + \def\glsxtrcurrentfield{symbol}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@thirdoftwo + [\let\glscapscase\@thirdofthree \let\glsifplural\@firstoftwo ]% - {#1}{#2}% - {\@gls@field@font{\GLSaccesssymbolplural{#2}\mfirstucMakeUppercase{#3}}}% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{symbolplural}% + {% + \@gls@field@font{\GLSaccessfmtsymbolplural{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\GLSaccesssymbolplural{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + }% + }% +} +\def\@glsuseri@#1#2[#3]{% + \def\glsxtrcurrentfield{user1}% + \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useri}% + {% + \@gls@field@font{\glsaccessfmtuseri{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessuseri{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsuseri@#1#2[#3]{% + \def\glsxtrcurrentfield{user1}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}% - {\@gls@field@font{\Glsentryuseri{#2}#3}}% + [\let\glscapscase\@secondofthree]{#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useri}% + {% + \@gls@field@font{\Glsaccessfmtuseri{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessuseri{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSuseri@#1#2[#3]{% + \def\glsxtrcurrentfield{user1}% + \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useri}% + {% + \@gls@field@font{\GLSaccessfmtuseri{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccessuseri{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccessuseri{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% +} +\def\@glsuserii@#1#2[#3]{% + \def\glsxtrcurrentfield{user2}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseri{#2}#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{userii}% + {% + \@gls@field@font{\glsaccessfmtuserii{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessuserii{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsuserii@#1#2[#3]{% + \def\glsxtrcurrentfield{user2}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]% - {#1}{#2}{\@gls@field@font{\Glsentryuserii{#2}#3}}% + [\let\glscapscase\@secondofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{userii}% + {% + \@gls@field@font{\Glsaccessfmtuserii{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessuserii{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSuserii@#1#2[#3]{% + \def\glsxtrcurrentfield{user2}% + \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{userii}% + {% + \@gls@field@font{\GLSaccessfmtuserii{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccessuserii{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccessuserii{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% +} +\def\@glsuseriii@#1#2[#3]{% + \def\glsxtrcurrentfield{user3}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserii{#2}#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useriii}% + {% + \@gls@field@font{\glsaccessfmtuseriii{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessuseriii{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsuseriii@#1#2[#3]{% + \def\glsxtrcurrentfield{user3}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]% - {#1}{#2}{\@gls@field@font{\Glsentryuseriii{#2}#3}}% + [\let\glscapscase\@secondofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useriii}% + {% + \@gls@field@font{\Glsaccessfmtuseriii{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessuseriii{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSuseriii@#1#2[#3]{% + \def\glsxtrcurrentfield{user3}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriii{#2}#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useriii}% + {% + \@gls@field@font{\GLSaccessfmtuseriii{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccessuseriii{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccessuseriii{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% +} +\def\@glsuseriv@#1#2[#3]{% + \def\glsxtrcurrentfield{user4}% + \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useriv}% + {% + \@gls@field@font{\glsaccessfmtuseriv{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessuseriv{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsuseriv@#1#2[#3]{% + \def\glsxtrcurrentfield{user4}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]% - {#1}{#2}{\@gls@field@font{\Glsentryuseriv{#2}#3}}% + [\let\glscapscase\@secondofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useriv}% + {% + \@gls@field@font{\Glsaccessfmtuseriv{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessuseriv{#2}#3}% + }% + }% } \def\@GLSuseriv@#1#2[#3]{% + \def\glsxtrcurrentfield{user4}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}% - {\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriv{#2}#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{useriv}% + {% + \@gls@field@font{\GLSaccessfmtuseriv{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccessuseriv{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccessuseriv{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% +} +\def\@glsuserv@#1#2[#3]{% + \def\glsxtrcurrentfield{user5}% + \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{userv}% + {% + \@gls@field@font{\glsaccessfmtuserv{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessuserv{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsuserv@#1#2[#3]{% + \def\glsxtrcurrentfield{user5}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]% - {#1}{#2}{\@gls@field@font{\Glsentryuserv{#2}#3}}% + [\let\glscapscase\@secondofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{userv}% + {% + \@gls@field@font{\Glsfmtfield{#3}{\glsxtrgenentrytextfmt}{#2}{userv}}% + }% + {% + \@gls@field@font{\Glsentryuserv{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSuserv@#1#2[#3]{% + \def\glsxtrcurrentfield{user5}% + \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{userv}% + {% + \@gls@field@font{\GLSaccessfmtuserv{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccessuserv{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccessuserv{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% +} +\def\@glsuservi@#1#2[#3]{% + \def\glsxtrcurrentfield{user6}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserv{#2}#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{uservi}% + {% + \@gls@field@font{\glsaccessfmtuservi{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\glsaccessuservi{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@Glsuservi@#1#2[#3]{% + \def\glsxtrcurrentfield{user6}% \glsxtrassignfieldfont{#2}% + \glsxtrsaveinsert{#2}{#3}% \@gls@field@link - [\let\glscapscase\@secondoftwo]% - {#1}{#2}{\@gls@field@font{\Glsentryuservi{#2}#3}}% + [\let\glscapscase\@secondofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{uservi}% + {% + \@gls@field@font{\Glsaccessfmtuservi{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \@gls@field@font{\Glsaccessuservi{#2}\glsxtrgenentrytextfmt{#3}}% + }% + }% } \def\@GLSuservi@#1#2[#3]{% + \def\glsxtrcurrentfield{user6}% \glsxtrassignfieldfont{#2}% - \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuservi{#2}#3}}}% + \glsxtrsaveinsert{#2}{#3}% + \@gls@field@link[\let\glscapscase\@thirdofthree]% + {#1}{#2}% + {% + \glsifapplyinnerfmtfield{#2}{uservi}% + {% + \@gls@field@font{\GLSaccessfmtuservi{#3}{\glsxtrgenentrytextfmt}{#2}}% + }% + {% + \ifx\glscapscase\@thirdofthree + \@gls@field@font{\GLSaccessuservi{#2}% + \glsuppercase{\glsxtrgenentrytextfmt{#3}}}% + \else + \@gls@field@font{\glsaccessuservi{#2}\glsxtrgenentrytextfmt{#3}}% + \fi + }% + }% } \newcommand*{\@@glsxtr@base@acrcmd@warn}[2]{% \GlossariesExtraWarning{Base acronym command \string#1\space @@ -3007,10 +4352,12 @@ } \let\@glsxtr@base@acrcmd\@@glsxtr@base@acrcmd@warn \def\@acrshort#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@base@acrcmd\acrshort\glsxtrshort \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree @@ -3023,10 +4370,12 @@ \glspostlinkhook } \def\@Acrshort#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@base@acrcmd\Acrshort\Glsxtrshort \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree @@ -3039,26 +4388,30 @@ \glspostlinkhook } \def\@ACRshort#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@base@acrcmd\ACRshort\GLSxtrshort \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\acronymfont{\glsaccessshort{#2}}#3}% + \glsuppercase{\acronymfont{\glsaccessshort{#2}}#3}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \def\@acrshortpl#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@base@acrcmd\acrshortpl\glsxtrshortpl \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree @@ -3071,10 +4424,12 @@ \glspostlinkhook } \def\@Acrshortpl#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@base@acrcmd\Acrshortpl\Glsxtrshortpl \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree @@ -3087,26 +4442,30 @@ \glspostlinkhook } \def\@ACRshortpl#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@base@acrcmd\ACRshortpl\GLSxtrshortpl \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\acronymfont{\glsaccessshortpl{#2}}#3}% + \glsuppercase{\acronymfont{\glsaccessshortpl{#2}}#3}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \def\@acrlong#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@base@acrcmd\acrlong\glsxtrlong \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree @@ -3119,10 +4478,12 @@ \glspostlinkhook } \def\@Acrlong#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@base@acrcmd\Acrlong\Glsxtrlong \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree @@ -3135,26 +4496,30 @@ \glspostlinkhook } \def\@ACRlong#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@base@acrcmd\ACRlong\GLSxtrlong \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\acronymfont{\glsaccesslong{#2}}#3}% + \glsuppercase{\acronymfont{\glsaccesslong{#2}}#3}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \def\@acrlongpl#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@base@acrcmd\acrlongpl\glsxtrlongpl \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree @@ -3167,10 +4532,12 @@ \glspostlinkhook } \def\@Acrlongpl#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@base@acrcmd\Acrlongpl\Glsxtrlongpl \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree @@ -3183,42 +4550,50 @@ \glspostlinkhook } \def\@ACRlongpl#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@base@acrcmd\ACRlongpl\GLSxtrlongpl \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\acronymfont{\glsaccesslongpl{#2}}#3}% + \glsuppercase{\acronymfont{\glsaccesslongpl{#2}}#3}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \def\@acrfull#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@base@acrcmd\acrfull\glsxtrfull \acrfullfmt{#1}{#2}{#3}% } \def\@Acrfull#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@base@acrcmd\Acrfull\Glsxtrfull \Acrfullfmt{#1}{#2}{#3}% } \def\@ACRfull#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@base@acrcmd\ACRfull\GLSxtrfull \ACRfullfmt{#1}{#2}{#3}% } \def\@acrfullpl#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@base@acrcmd\acrfullpl\glsxtrfullpl \acrfullplfmt{#1}{#2}{#3}% } \def\@Acrfullpl#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@base@acrcmd\Acrfullpl\Glsxtrfullpl \Acrfullplfmt{#1}{#2}{#3}% } \def\@ACRfullpl#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@base@acrcmd\ACRfullpl\GLSxtrfullpl \ACRfullplfmt{#1}{#2}{#3}% } @@ -3233,7 +4608,7 @@ \gls@assign@field{#2}{\@glo@label}{#1}{\@glo@tmp}% }% \newcommand*{#3}[1]{\@gls@entry@field{##1}{#1}}% - \newcommand*{#4}[1]{\@Gls@entry@field{##1}{#1}}% + \newcommand*{#4}[1]{\@Glsentryfield{##1}{#1}}% \ifcsdef{@gls@user@#1@}% {% \PackageError{glossaries}% @@ -3249,7 +4624,10 @@ {\csuse{@gls@user@#1@}{##1}{##2}}% {\csuse{@gls@user@#1@}{##1}{##2}[]}}% \csdef{@gls@user@#1@}##1##2[##3]{% - \@gls@field@link{##1}{##2}{#3{##2}##3}% + \def\glsxtrcurrentfield{#1}% + \glsxtrassignfieldfont{##2}% + \glsxtrsaveinsert{##2}{##3}% + \@gls@field@link{##1}{##2}{\@gls@field@font{#3{##2}##3}}% }% \newrobustcmd*{#5}{% \expandafter\@gls@hyp@opt\csname @gls@user@#1\endcsname}% @@ -3269,8 +4647,11 @@ {\csuse{@Gls@user@#1@}{##1}{##2}}% {\csuse{@Gls@user@#1@}{##1}{##2}[]}}% \csdef{@Gls@user@#1@}##1##2[##3]{% + \def\glsxtrcurrentfield{#1}% + \glsxtrassignfieldfont{##2}% + \glsxtrsaveinsert{##2}{##3}% \@gls@field@link[\let\glscapscase\@secondofthree]% - {##1}{##2}{#4{##2}##3}% + {##1}{##2}{\@gls@field@font{#4{##2}##3}}% }% \newrobustcmd*{#6}{% \expandafter\@gls@hyp@opt\csname @Gls@user@#1\endcsname}% @@ -3290,31 +4671,39 @@ {\csuse{@GLS@user@#1@}{##1}{##2}}% {\csuse{@GLS@user@#1@}{##1}{##2}[]}}% \csdef{@GLS@user@#1@}##1##2[##3]{% + \def\glsxtrcurrentfield{#1}% + \glsxtrassignfieldfont{##2}% + \glsxtrsaveinsert{##2}{##3}% \@gls@field@link[\let\glscapscase\@thirdofthree]% - {##1}{##2}{\mfirstucMakeUppercase{#3{##2}##3}}% + {##1}{##2}{\@gls@field@font{\glsuppercase{#3{##2}##3}}}% }% \newrobustcmd*{#7}{% \expandafter\@gls@hyp@opt\csname @GLS@user@#1\endcsname}% }% + \glsmfuaddmap{#3}{#4}% + \glsmfuaddmap{#5}{#6}% + \glsmfublocker{#7}% }% {% \PackageError{glossaries-extra}{Key `#1' already exists}{}% }% } \providecommand*{\@gls@link@nocheckfirsthyper}{} +\newcommand*{\@gls@link@postkeys@checkfirsthyper}{} \let\@glsxtr@org@checkfirsthyper\@gls@link@checkfirsthyper \renewcommand*{\@gls@link@checkfirsthyper}{% \ifglsused{\glslabel}% {\let\glsxtrifwasfirstuse\@secondoftwo} {\let\glsxtrifwasfirstuse\@firstoftwo}% + \let\glsxtrifwasglslike\@firstoftwo \protected@edef\glscategorylabel{\glscategory{\glslabel}}% - \ifglsused{\glslabel}% + \glsxtrifwasfirstuse {% - \glsifcategoryattribute{\glscategorylabel}{nohypernext}{true}% + \glsifcategoryattribute{\glscategorylabel}{nohyperfirst}{true}% {\KV@glslink@hyperfalse}{}% }% {% - \glsifcategoryattribute{\glscategorylabel}{nohyperfirst}{true}% + \glsifcategoryattribute{\glscategorylabel}{nohypernext}{true}% {\KV@glslink@hyperfalse}{}% }% \glslinkcheckfirsthyperhook @@ -3339,18 +4728,27 @@ \else \let\@gls@do@glsunset\glsunset \fi + \let\ifKV@glslink@local\if@org@KV@glslink@local +} +\let\@gls@default@restore@glslocal\@gls@restore@glslocal +\newcommand*{\@gls@ignore@restore@glslocal}{% + \let\@gls@do@glsunset\@gobble + \let\ifKV@glslink@local\if@org@KV@glslink@local } \providecommand*{\@gls@do@glsunset}[1]{\glsunset{#1}} +\newcommand*{\@gls@default@glslink@opts}{} \ifdef\@gls@setdefault@glslink@opts { \renewcommand*{\@gls@setdefault@glslink@opts}{% \KV@glslink@noindexfalse + \expandafter\setupglslink\expandafter{\@gls@default@glslink@opts}% \@glsxtrsetaliasnoindex } } { \newcommand*{\@gls@setdefault@glslink@opts}{% \KV@glslink@noindexfalse + \expandafter\setupglslink\expandafter{\@gls@default@glslink@opts}% \@glsxtrsetaliasnoindex } \preto\do@glsdisablehyperinlist{\@gls@setdefault@glslink@opts} @@ -3374,7 +4772,7 @@ \let\@glsnumberformat\@glsxtr@defaultnumberformat \protected@edef\@gls@counter{\csname glo@\glsdetoklabel{\glslabel}@counter\endcsname}% \glsxtr@saveentrycounter - \@@do@wrglossary{\glsxtralias{\glslabel}}% + \glsxtr@wrglossary@encap{\glsxtralias{\glslabel}}{\@@do@wrglossary{\glsxtralias{\glslabel}}}% \endgroup \fi } @@ -3385,14 +4783,45 @@ } \let\glsxtrindexaliased\@no@glsxtrindexaliased \newcommand*{\GlsXtrSetDefaultGlsOpts}[1]{% - \renewcommand*{\@gls@setdefault@glslink@opts}{% - \setkeys{glslink}{#1}% - \@glsxtrsetaliasnoindex - }% + \renewcommand*{\@gls@default@glslink@opts}{#1}% +} +\newcommand*{\GlsXtrAppToDefaultGlsOpts}[1]{% + \appto\@gls@default@glslink@opts{,#1}% +} +\newcommand*{\GlsXtrPreToDefaultGlsOpts}[1]{% + \preto\@gls@default@glslink@opts{#1,}% } \newcommand*{\glsxtrifindexing}[2]{% \ifKV@glslink@noindex #2\else #1\fi } +\newcommand*{\glsxtr@wrglossary@encap}[2]{\glsencapwrcontent{#2\@glsxtr@inc@indexcount{#1}}} +\newcommand*{\@glsxtr@inc@indexcount}[1]{% + \ifcsdef{glo@\glsdetoklabel{#1}@indexed} + {% + \csxdef{glo@\glsdetoklabel{#1}@indexed}{% + \expandafter\number\expandafter\numexpr\csname glo@\glsdetoklabel{#1}@indexed\endcsname+1}% + }% + {% + \csgdef{glo@\glsdetoklabel{#1}@indexed}{1}% + }% +} +\newcommand*{\glsentryindexcount}[1]{% + \ifcsdef{glo@\glsdetoklabel{#1}@indexed} + {\csuse{glo@\glsdetoklabel{#1}@indexed}}% + {0}% +} +\newcommand*{\glsifindexed}[3]{% + \ifcsdef{glo@\glsdetoklabel{#1}@indexed}% + {\expandafter\ifnum\csname glo@\glsdetoklabel{#1}@indexed\endcsname>0 #2\else#3\fi}% + {#3}% +} +\newcommand*{\glsaddallunindexed}[1][\@glo@types]{% + \forallglsentries[#1]{\@glo@entry}% + {% + \glsifindexed{\@glo@entry}{}{\glsadd[format=glsignore]{\@glo@entry}}% + }% +} +\providecommand*{\glsencapwrcontent}[1]{{#1}} \renewcommand*{\glswriteentry}[2]{% \glsxtrifindexing {% @@ -3424,7 +4853,7 @@ \newcommand*{\glsxtrdowrglossaryhook}[1]{} \newcommand*{\@gls@alt@hyp@opt}[1]{% \let\glslinkvar\@firstofthree - \let\@gls@hyp@opt@cs#1\relax + \def\@gls@hyp@opt@cs{#1}% \@ifstar{\s@gls@hyp@opt}% {\@ifnextchar+% {\@firstoftwo{\p@gls@hyp@opt}}% @@ -3460,6 +4889,18 @@ \protected@write\@auxout{}{\string\@glsxtr@altmodifier{#1}}% }% } +\newcommand*{\GlsXtrSetPlusModifier}[1]{% + \renewcommand*{\p@gls@hyp@opt}[1][]{% + \let\glslinkvar\@thirdofthree + \@gls@hyp@opt@cs[#1,##1]% + }% +} +\newcommand*{\GlsXtrSetStarModifier}[1]{% + \renewcommand*{\s@gls@hyp@opt}[1][]{% + \let\glslinkvar\@secondofthree + \@gls@hyp@opt@cs[#1,##1]% + } +} \let\glsxtr@org@dohyperlink\glsdohyperlink \ifdef\glsnavhyperlink { @@ -3635,7 +5076,7 @@ \def\@GLSxtr@p@short@#1#2[#3]{% {% \glssetabbrvfmt{\glscategory{#2}}% - \mfirstucMakeUppercase{\glsabbrvfont{\glsentryshort{#2}}#3}% + \glsuppercase{\glsabbrvfont{\glsentryshort{#2}}#3}% }% } \def\@glsxtr@p@shortpl@#1#2[#3]{% @@ -3653,33 +5094,33 @@ \def\@GLSxtr@p@shortpl@#1#2[#3]{% {% \glssetabbrvfmt{\glscategory{#2}}% - \mfirstucMakeUppercase{\glsabbrvfont{\glsentryshortpl{#2}}#3}% + \glsuppercase{\glsabbrvfont{\glsentryshortpl{#2}}#3}% }% } \def\@glsxtr@p@long@#1#2[#3]{{\glsentrylong{#2}#3}} \def\@Glsxtr@p@long@#1#2[#3]{{\Glsentrylong{#2}#3}} \def\@GLSxtr@p@long@#1#2[#3]{% - {\mfirstucMakeUppercase{\glslongfont{\glsentrylong{#2}}#3}}} + {\glsuppercase{\glslongfont{\glsentrylong{#2}}#3}}} \def\@glsxtr@p@longpl@#1#2[#3]{{\glsentrylongpl{#2}#3}} \def\@Glsxtr@p@longpl@#1#2[#3]{{\glslongfont{\Glsentrylongpl{#2}}#3}} \def\@GLSxtr@p@longpl@#1#2[#3]{% - {\mfirstucMakeUppercase{\glslongfont{\glsentrylongpl{#2}}#3}}} + {\glsuppercase{\glslongfont{\glsentrylongpl{#2}}#3}}} \def\@glsxtr@p@acrshort@#1#2[#3]{{\acronymfont{\glsentryshort{#2}}#3}} \def\@Glsxtr@p@acrshort@#1#2[#3]{{\acronymfont{\Glsentryshort{#2}}#3}} \def\@GLSxtr@p@acrshort@#1#2[#3]{% - {\mfirstucMakeUppercase{\acronymfont{\glsentryshort{#2}}#3}}} + {\glsuppercase{\acronymfont{\glsentryshort{#2}}#3}}} \def\@glsxtr@p@acrshortpl@#1#2[#3]{{\acronymfont{\glsentryshortpl{#2}}#3}} \def\@Glsxtr@p@acrshortpl@#1#2[#3]{{\acronymfont{\Glsentryshortpl{#2}}#3}} \def\@GLSxtr@p@acrshortpl@#1#2[#3]{% - {\mfirstucMakeUppercase{\acronymfont{\glsentryshortpl{#2}}#3}}} + {\glsuppercase{\acronymfont{\glsentryshortpl{#2}}#3}}} \def\@glsxtr@p@acrlong@#1#2[#3]{{\glsentrylong{#2}#3}} \def\@Glsxtr@p@acrlong@#1#2[#3]{{\Glsentrylong{#2}#3}} \def\@GLSxtr@p@acrlong@#1#2[#3]{% - {\mfirstucMakeUppercase{\glsentrylong{#2}#3}}} + {\glsuppercase{\glsentrylong{#2}#3}}} \def\@glsxtr@p@acrlongpl@#1#2[#3]{{\glsentrylongpl{#2}#3}} \def\@Glsxtr@p@acrlongpl@#1#2[#3]{{\Glsentrylongpl{#2}#3}} \def\@GLSxtr@p@acrlongpl@#1#2[#3]{% - {\mfirstucMakeUppercase{\glsentrylongpl{#2}#3}}} + {\glsuppercase{\glsentrylongpl{#2}#3}}} \newcommand*{\@glsxtrp@opt}{hyper=false,noindex} \newcommand*{\glsxtrsetpopts}[1]{% \renewcommand*{\@glsxtrp@opt}{#1}% @@ -3741,51 +5182,29 @@ }% }% } +\newcommand{\glsxtrifintoc}[2]{#2} +\newcommand*{\glsxtrifheaduc}[3]{% + \glsxtrifintoc{#3}{\glsifattribute{#1}{headuc}{true}{#2}{#3}}% +} \newrobustcmd*{\glsxtr@headentry@p}[2]{% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% - \mfirstucMakeUppercase{\@gls@entry@field{#1}{#2}}% + \glsuppercase{\@gls@entry@field{#1}{#2}}% }% {% \@gls@entry@field{#1}{#2}% }% } -\ifdef\texorpdfstring -{ - \newcommand{\glsxtrp}[2]{% - \protect\NoCaseChange - {% - \protect\texorpdfstring - {% - \protect\glsxtrifinmark - {% - \ifcsdef{glsxtrhead#1}% - {% - {\protect\csuse{glsxtrhead#1}{#2}}% - }% - {% - \glsxtr@headentry@p{#2}{#1}% - }% - }% - {% - \@glsxtrp{#1}{#2}% - }% - }% - {% - \protect\@gls@entry@field{#2}{#1}% - }% - }% - } -} -{ - \newcommand{\glsxtrp}[2]{% - \protect\NoCaseChange +\newcommand{\glsxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\glstexorpdfstring {% \protect\glsxtrifinmark {% \ifcsdef{glsxtrhead#1}% {% - {\protect\csuse{glsxtrhead#1}}% + {\protect\csuse{glsxtrhead#1}{#2}}% }% {% \glsxtr@headentry@p{#2}{#1}% @@ -3795,46 +5214,23 @@ \@glsxtrp{#1}{#2}% }% }% - } -} -\newcommand*{\glsps}{\glsxtrp{short}} -\newcommand*{\glspt}{\glsxtrp{text}} -\ifdef\texorpdfstring -{ - \newcommand{\Glsxtrp}[2]{% - \protect\NoCaseChange {% - \protect\texorpdfstring - {% - \protect\glsxtrifinmark - {% - \ifcsdef{Glsxtrhead#1}% - {% - {\protect\csuse{Glsxtrhead#1}{#2}}% - }% - {% - \protect\@Gls@entry@field{#2}{#1}% - }% - }% - {% - \@Glsxtrp{#1}{#2}% - }% - }% - {% - \protect\@gls@entry@field{#2}{#1}% - }% + \protect\@gls@entry@field{#2}{#1}% }% - } + }% } -{ - \newcommand{\Glsxtrp}[2]{% - \protect\NoCaseChange +\newcommand*{\glsps}{\glsxtrp{short}} +\newcommand*{\glspt}{\glsxtrp{text}} +\newcommand{\Glsxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\glstexorpdfstring {% \protect\glsxtrifinmark {% \ifcsdef{Glsxtrhead#1}% {% - {\protect\csuse{Glsxtrhead#1}}% + {\protect\csuse{Glsxtrhead#1}{#2}}% }% {% \protect\@Gls@entry@field{#2}{#1}% @@ -3844,41 +5240,16 @@ \@Glsxtrp{#1}{#2}% }% }% - } -} -\ifdef\texorpdfstring -{ - \newcommand{\GLSxtrp}[2]{% - \protect\NoCaseChange {% - \protect\texorpdfstring - {% - \protect\glsxtrifinmark - {% - \ifcsdef{GLSxtr#1}% - {% - {\protect\GLSxtrshort[noindex,hyper=false]{#1}[]}% - }% - {% - \protect\mfirstucMakeUppercase - {% - \protect\@gls@entry@field{#2}{#1}% - }% - }% - }% - {% - \@GLSxtrp{#1}{#2}% - }% - }% - {% - \protect\@gls@entry@field{#2}{#1}% - }% + \MFUsentencecase{\@gls@entry@field{#2}{#1}}% }% - } + }% } -{ - \newcommand{\GLSxtrp}[2]{% - \protect\NoCaseChange +\glsmfuaddmap{\glsxtrp}{\Glsxtrp} +\newcommand{\GLSxtrp}[2]{% + \protect\NoCaseChange + {% + \protect\glstexorpdfstring {% \protect\glsxtrifinmark {% @@ -3887,7 +5258,7 @@ {\protect\GLSxtrshort[noindex,hyper=false]{#1}[]}% }% {% - \protect\mfirstucMakeUppercase + \protect\glsuppercase {% \protect\@gls@entry@field{#2}{#1}% }% @@ -3897,8 +5268,12 @@ \@GLSxtrp{#1}{#2}% }% }% - } + {% + \protect\GLSxtrusefield{#2}{#1}% + }% + }% } +\glsmfublocker{\GLSxtrp} \newcommand*{\@glsxtr@unset}[1]{% \@@glsunset{#1}% \glsxtrpostunset{#1}% @@ -3910,13 +5285,21 @@ } \newcommand*{\@GlsXtrStartUnsetBuffering}{% \let\@glsxtr@org@unset@buffer\@glsxtr@unset@buffer - \def\@glsxtr@unset@buffer{}% + \GlsXtrClearUnsetBuffer \let\@glsunset\@glsxtrbuffer@unset + \let\org@glsxtrbuffer@check@repeats\@glsxtrbuffer@check@repeats + \renewcommand*{\@glsxtrbuffer@check@repeats}{% + \@@glsxtrbuffer@check@repeats + }% } \newcommand*{\s@GlsXtrStartUnsetBuffering}{% \let\@glsxtr@org@unset@buffer\@glsxtr@unset@buffer - \def\@glsxtr@unset@buffer{}% + \GlsXtrClearUnsetBuffer \let\@glsunset\@glsxtrbuffer@nodup@unset + \let\org@glsxtrbuffer@check@repeats\@glsxtrbuffer@check@repeats + \renewcommand*{\@glsxtrbuffer@check@repeats}{% + \@@glsxtrbuffer@check@repeats + }% } \newcommand*{\@glsxtrbuffer@unset}[1]{% \listxadd\@glsxtr@unset@buffer{#1}% @@ -3925,6 +5308,31 @@ \expandafter\ifinlist\expandafter{#1}{\@glsxtr@unset@buffer}{}% {\listxadd\@glsxtr@unset@buffer{#1}}% } +\newcommand*{\@glsxtrbuffer@check@repeats}{} +\newcommand*{\@@glsxtrbuffer@check@repeats}{} +\newcommand*{\@@glsxtrbuffer@check@repeats@notused}{} +\newrobustcmd*{\@@glsxtrbuffer@do@check@repeat}{% + \expandafter\ifinlist\expandafter{\glslabel}{\@glsxtr@unset@buffer}% + {\@glslocalunset{\glslabel}}% + {\GlsXtrIfUnusedOrUndefined\glslabel + {\listxadd\@@glsxtrbuffer@check@repeats@notused{\glslabel}}{}}% +} +\newcommand*{\GlsXtrUnsetBufferEnableRepeatLocal}{% + \def\@@glsxtrbuffer@check@repeats{\@@glsxtrbuffer@do@check@repeat}% + \def\@@glsxtrbuffer@check@repeats@notused{}% +} +\newcommand*{\GlsXtrUnsetBufferDisableRepeatLocal}{% + \def\@@glsxtrbuffer@check@repeats{}% + \def\@@glsxtrbuffer@check@repeats@notused{}% +} +\newcommand*{\GlsXtrResetLocalBuffer}{% + \forlistloop\@glslocalreset\@@glsxtrbuffer@check@repeats@notused + \GlsXtrClearUnsetBuffer +} +\newcommand*{\GlsXtrClearUnsetBuffer}{% + \def\@@glsxtrbuffer@check@repeats@notused{}% + \def\@glsxtr@unset@buffer{}% +} \newcommand*{\GlsXtrStopUnsetBuffering}{% \@ifstar\s@GlsXtrStopUnsetBuffering\@GlsXtrStopUnsetBuffering } @@ -3932,14 +5340,17 @@ \let\@glsunset\@glsxtr@unset \forlistloop\@glsunset\@glsxtr@unset@buffer \let\@glsxtr@unset@buffer\@glsxtr@org@unset@buffer + \let\@glsxtrbuffer@check@repeats\org@glsxtrbuffer@check@repeats } \newcommand*{\s@GlsXtrStopUnsetBuffering}{% \forlistloop\@glslocalunset\@glsxtr@unset@buffer \let\@glsunset\@glsxtr@unset + \let\@glsxtrbuffer@check@repeats\org@glsxtrbuffer@check@repeats } \newcommand*{\GlsXtrDiscardUnsetBuffering}{% \let\@glsunset\@glsxtr@unset \let\@glsxtr@unset@buffer\@glsxtr@org@unset@buffer + \let\@glsxtrbuffer@check@repeats\org@glsxtrbuffer@check@repeats } \newcommand*{\GlsXtrForUnsetBufferedList}[1]{% \forlistloop#1\@glsxtr@unset@buffer @@ -4005,6 +5416,8 @@ }% }% } +\ifdef\glsresetcurrcountfalse{}{\newif\ifglsresetcurrcount} +\glsresetcurrcountfalse \renewcommand*{\glsenableentrycount}{% \appto\@newglossaryentry@defcounters{\@@newglossaryentry@defcounters}% \renewcommand*{\gls@defdocnewglossaryentry}{% @@ -4037,12 +5450,16 @@ \let\@glsxtr@entrycount@org@reset\glsxtrpostreset \renewcommand*{\glsxtrpostreset}[1]{% \@glsxtr@entrycount@org@reset{##1}% - \csgdef{glo@\glsdetoklabel{##1}@currcount}{0}% + \ifglsresetcurrcount + \csgdef{glo@\glsdetoklabel{##1}@currcount}{0}% + \fi }% \let\@glsxtr@entrycount@org@localreset\glsxtrpostlocalreset \renewcommand*{\glsxtrpostlocalreset}[1]{% \@glsxtr@entrycount@org@localreset{##1}% - \csdef{glo@\glsdetoklabel{##1}@currcount}{0}% + \ifglsresetcurrcount + \csdef{glo@\glsdetoklabel{##1}@currcount}{0}% + \fi }% \let\@cgls@\@@cgls@ \let\@cglspl@\@@cglspl@ @@ -4061,6 +5478,14 @@ {Use one or other but not both commands}% }% } +\renewcommand*{\@@newglossaryentry@defcounters}{% + \csdef{glo@\@glo@label @currcount}{0}% + \ifnum\@glsxtr@docdefval=2\relax + \ifcsdef{glo@\@glo@label @prevcount}{}{\csdef{glo@\@glo@label @prevcount}{0}}% + \else + \csdef{glo@\@glo@label @prevcount}{0}% + \fi +} \renewcommand*{\@gls@write@entrycounts}{% \immediate\write\@auxout {\string\providecommand*{\string\@gls@entry@count}[2]{}}% @@ -4162,20 +5587,22 @@ \def\@cglspl@#1#2[#3]{\@glspl@{#1}{#2}[#3]} \def\@cGlspl@#1#2[#3]{\@Glspl@{#1}{#2}[#3]} \newrobustcmd*{\cGLS}{\@gls@hyp@opt\@cGLS} +\glsmfublocker{\cGLS} \newcommand*{\@cGLS}[2][]{% \new@ifnextchar[{\@cGLS@{#1}{#2}}{\@cGLS@{#1}{#2}[]}% } \def\@cGLS@#1#2[#3]{\@GLS@{#1}{#2}[#3]} \newcommand*{\cGLSformat}[2]{% - \expandafter\mfirstucMakeUppercase\expandafter{\cglsformat{#1}{#2}}% + \expandafter\glsuppercase\expandafter{\cglsformat{#1}{#2}}% } \newrobustcmd*{\cGLSpl}{\@gls@hyp@opt\@cGLSpl} +\glsmfublocker{\cGLSpl} \newcommand*{\@cGLSpl}[2][]{% \new@ifnextchar[{\@cGLSpl@{#1}{#2}}{\@cGLSpl@{#1}{#2}[]}% } \def\@cGLSpl@#1#2[#3]{\@GLSpl@{#1}{#2}[#3]} \newcommand*{\cGLSplformat}[2]{% - \expandafter\mfirstucMakeUppercase\expandafter{\cglsplformat{#1}{#2}}% + \expandafter\glsuppercase\expandafter{\cglsplformat{#1}{#2}}% } \renewcommand*{\cglsformat}[2]{% \glsifregular{#1} @@ -4331,7 +5758,7 @@ \protected@edef\@glsxtr@csname{\@glsxtr@currentunitcount{##1}}% \ifcsundef{\@glsxtr@csname}% {}% - {\csgdef{\@glsxtr@csname}{0}}% + {\ifglsresetcurrcount\csgdef{\@glsxtr@csname}{0}\fi}% }% {}% }% @@ -4343,7 +5770,7 @@ \protected@edef\@glsxtr@csname{\@glsxtr@currentunitcount{##1}}% \ifcsundef{\@glsxtr@csname}% {}% - {\csdef{\@glsxtr@csname}{0}}% + {\ifglsresetcurrcount\csdef{\@glsxtr@csname}{0}\fi}% }% {}% }% @@ -4484,14 +5911,14 @@ \glslink[##1]{##2}{\Genacrfullformat{##2}{##3}}}% \renewcommand*{\ACRfullfmt}[3]{% \glslink[##1]{##2}{% - \mfirstucMakeUppercase{\genacrfullformat{##2}{##3}}}}% + \glsuppercase{\genacrfullformat{##2}{##3}}}}% \renewcommand*{\acrfullplfmt}[3]{% \glslink[##1]{##2}{\genplacrfullformat{##2}{##3}}}% \renewcommand*{\Acrfullplfmt}[3]{% \glslink[##1]{##2}{\Genplacrfullformat{##2}{##3}}}% \renewcommand*{\ACRfullplfmt}[3]{% \glslink[##1]{##2}{% - \mfirstucMakeUppercase{\genplacrfullformat{##2}{##3}}}}% + \glsuppercase{\genplacrfullformat{##2}{##3}}}}% \renewcommand*{\glsentryfull}[1]{\genacrfullformat{##1}{}}% \renewcommand*{\Glsentryfull}[1]{\Genacrfullformat{##1}{}}% \renewcommand*{\glsentryfullpl}[1]{\genplacrfullformat{##1}{}}% @@ -4579,6 +6006,14 @@ \ifdim\dimen@<\glsacspacemax~\else\space\fi } \newcommand*{\glsacspacemax}{3em} +\newrobustcmd*{\glsabspace}[1]{% + \settowidth{\dimen@}{(\glsfirstabbrvfont{\glsentryshort{#1}})}% + \ifdim\dimen@<\glsacspacemax + \glsxtrgenentrytextfmt{~}% + \else + \glsxtrgenentrytextfmt{ }% + \fi +} \newcommand*{\@glsxtr@reg@glosslist}{} \let\@glsxtr@org@makeglossaries\makeglossaries \providecommand\@makeglossaries@warn@noprintglossary{% @@ -4595,7 +6030,17 @@ }% }% \providecommand{\@domakeglossaries}[1]{#1} +\providecommand{\@gls@automake@types}{\@glo@types} \renewcommand*{\makeglossaries}[1][]{% + \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex + \edef\glsindexingsetting{bib2gls-\ifglsxindy xindy\else makeindex\fi}% + \else + \ifglsxindy + \def\glsindexingsetting{xindy}% + \else + \def\glsindexingsetting{makeindex}% + \fi + \fi \@domakeglossaries {% \@glsxtr@if@record@only @@ -4621,8 +6066,10 @@ {You may only use the hybrid \string\makeglossaries[...]\space with record=off option}% \else - \ifdef\@gls@@automake@immediate{\@gls@@automake@immediate}{}% + \appto\glsindexingsetting{-noidx}% \protected@edef\@glsxtr@reg@glosslist{#1}% + \let\@gls@automake@types\@glsxtr@reg@glosslist + \ifdef\@gls@@automake@immediate{\@gls@@automake@immediate}{}% \ifundef{\glswrite}{\newwrite\glswrite}{}% \protected@write\@auxout{}{\string\providecommand \string\@glsorder[1]{}} @@ -4739,9 +6186,15 @@ \ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}% \fi }% + \prohibit@glsxtrnoidxgroups + \let\gls@warn@makegloss@incompatible\@gls@warn@makegloss@incompatible }% }% } +\newcommand*{\gls@warn@makegloss@incompatible}[2]{} +\newcommand*{\@gls@warn@makegloss@incompatible}[2]{% + #2\GlossariesExtraWarning{#1\space is incompatible with \string\makeglossaries}% +} \ifdef\@printgloss@checkexists {\newcommand{\glsxtr@printgloss@checkexists}{\@printgloss@checkexists}} {\newcommand{\glsxtr@printgloss@checkexists}[2]{#2}} @@ -4757,7 +6210,7 @@ \ifx\@glossary@default@style\relax \GlossariesWarning{No default glossary style provided \MessageBreak for the glossary `\@glo@type'. \MessageBreak - Using deprecated fallback. \MessageBreak + Using fallback. \MessageBreak To fix this set the style with \MessageBreak \string\setglossarystyle\space or use the \MessageBreak style key=value option}% @@ -4851,6 +6304,12 @@ \define@key{printgloss}{label}{% \glsxtrsetglossarylabel{#1}% } +\define@key{printgloss}{preamble}{% + \renewcommand{\glossarypreamble}{#1}% +} +\define@key{printgloss}{postamble}{% + \renewcommand{\glossarypostamble}{#1}% +} \newcommand{\glsxtrsetglossarylabel}[1]{% \renewcommand*{\@@glossaryseclabel}{% \protected@edef\@currentlabelname{\glossarytoctitle}% @@ -4860,6 +6319,8 @@ \newcount\@glsxtr@leveloffset \define@key{printgloss}{leveloffset}{% \@glsxtr@assign@leveloffset#1\relax + \gls@warn@noidxmakegloss@incompatible{option `leveloffset'} + {\@glsxtr@leveloffset=0\relax}% } \newcommand*{\@glsxtr@assign@leveloffset}{% \@ifnextchar+{\p@glsxtr@assign@leveloffset}{\np@glsxtr@assign@leveloffset}% @@ -4869,8 +6330,21 @@ } \def\np@glsxtr@assign@leveloffset#1\relax{\@glsxtr@leveloffset=#1\relax} \def\pp@glsxtr@assign@leveloffset#1\relax{\advance\@glsxtr@leveloffset by #1\relax} -\define@boolkey{printgloss}[glsxtr@printgloss@]{groups}[true]{} +\define@boolkey{printgloss}[glsxtr@printgloss@]{groups}[true]{% + \ifglsxtr@printgloss@groups + \else + \gls@warn@noidxmakegloss@incompatible{option `groups'}% + {\glsxtr@printgloss@groupstrue}% + \fi +} \glsxtr@printgloss@groupstrue +\define@boolkey{printgloss}[glsxtrprintgloss]{flatten}[true]{% + \ifglsxtrprintglossflatten + \gls@warn@noidxmakegloss@incompatible{option `flatten'}% + {\glsxtrprintglossflattenfalse}% + \fi +} +\glsxtrprintglossflattenfalse \let\@glsxtr@org@glsdohypertarget\glsdohypertarget \renewcommand{\glsdohypertarget}[2]{% \@glsxtr@org@glsdohypertarget{\@glsxtrhypernameprefix#1}{#2}% @@ -4992,11 +6466,29 @@ }% } \let\glsxtr@org@getgrouptitle\@gls@getgrouptitle +\newcommand*{\glsxtrnoidxgroups}{% + \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off + {% + \let\@gls@getgrouptitle\@gls@noidx@getgrouptitle + \let\glsxtr@org@getgrouptitle\@gls@getgrouptitle + }% + {\PackageError{glossaries-extra}{Can't use + \string\glsxtrunsrtgrouptonoidx\space with record=\@glsxtr@record@setting} + {\string\glsxtrunsrtgrouptonoidx\space is only available with record=off}}% + \global\let\prohibit@glsxtrnoidxgroups\@glsxtrnoidxgroups@nomakegloss +} +\newcommand{\@glsxtrnoidxgroups@nomakegloss}{% + \PackageError{glossaries-extra}{Can't use + \string\glsxtrunsrtgrouptonoidx\space with \string\makeglossaries}{} +} +\newcommand{\prohibit@glsxtrnoidxgroups}{% + \global\let\glsxtrnoidxgroups\@glsxtrnoidxgroups@nomakegloss +} \newrobustcmd{\glsxtrgetgrouptitle}[2]{% - \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% - \@onelevel@sanitize\@glsxtr@titlelabel - \ifcsdef{\@glsxtr@titlelabel} - {\letcs{#2}{\@glsxtr@titlelabel}}% + \protected@edef\@glsxtr@titlecsname{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlecsname + \ifcsdef{\@glsxtr@titlecsname} + {\letcs{#2}{\@glsxtr@titlecsname}}% {\glsxtr@org@getgrouptitle{#1}{#2}}% } \let\@gls@getgrouptitle\glsxtrgetgrouptitle @@ -5347,8 +6839,12 @@ } \newcommand*{\GlsXtrDefaultResourceOptions}{} \newcommand*{\glsxtrresourcefile}[2][]{% + \@glsxtr@if@record@only + {\renewcommand{\glsindexingsetting}{bib2gls}}% + {\edef\glsindexingsetting{bib2gls-\ifglsxindy xindy\else makeindex\fi}}% \disable@keys{glossaries-extra.sty}{record}% \glsxtr@writefields + \glsxtr@save@mfu \ifdefempty\GlsXtrDefaultResourceOptions {% \protected@write\@auxout{\glsxtrresourceinit}% @@ -5396,6 +6892,28 @@ \advance\glsxtrresourcecount by 1\relax } \newcommand*{\glsxtr@resource}[2]{} +\newcommand*{\glsxtrMFUsave}{% + \ifdef\MFUsave + {% + \AtBeginDocument{\MFUsave}% + }% + {% + \GlossariesExtraWarning{mfirstuc.sty too old, + \string\glsxtrMFUsave\space has no effect. You need to upgrade + to mfirstuc v2.08}% + }% + \let\glsxtrMFUsave\relax +} +\ifdef\MFUsave +{ + \newcommand*{\glsxtr@save@mfu}{% + \glsxtrMFUsave + \let\glsxtr@save@mfu\relax + } +} +{ + \newcommand*{\glsxtr@save@mfu}{} +} \newcommand*{\glsxtr@fields}[1]{} \newcommand*{\glsxtr@texencoding}[1]{} \newcommand*{\glsxtr@langtag}[1]{} @@ -5429,14 +6947,12 @@ \protected@write\@auxout{}{\string\glsxtr@pluralsuffixes {\glspluralsuffix}{\abbrvpluralsuffix}{\acrpluralsuffix}% {\glsxtrabbrvpluralsuffix}}% - \ifdef\inputencodingname + \ifdefvoid\inputencodingname {% - \protected@write\@auxout{}{\string\glsxtr@texencoding{\inputencodingname}}% + \protected@write\@auxout{}{\string\glsxtr@texencoding{utf8}}% }% {% - \@ifpackageloaded{fontspec}% - {\protected@write\@auxout{}{\string\glsxtr@texencoding{utf8}}}% - {}% + \protected@write\@auxout{}{\string\glsxtr@texencoding{\inputencodingname}}% }% \protected@write\@auxout{}{\string\glsxtr@shortcutsval{\@glsxtr@shortcutsval}}% \AtBeginDocument @@ -5458,33 +6974,41 @@ }% {}% } -\newcommand*{\@gls@doautomake@err}{% - \PackageError{glossaries}{You must use - \string\makeglossaries\space with automake=true} - {% - Either remove the automake=true setting or - add \string\makeglossaries\space to your document preamble.% - }% +\ifdef{\@gls@do@automake@err} +{ + \let\@gls@doautomake@err\@gls@do@automake@err +} +{ + \newcommand*{\@gls@doautomake@err}{% + \PackageError{glossaries}{You must use + \string\makeglossaries\space with automake=true} + {% + Either remove the automake=true setting or + add \string\makeglossaries\space to your document preamble.% + }% + } } \newcommand*{\glsxtr@record}[5]{} \newcommand*{\glsxtr@record@nameref}[8]{} \newcommand*{\glsxtr@counterrecord}[3]{% \glsxtrfieldlistgadd{#1}{record.#2}{#3}% + \glsxtrAddCounterRecordHook{#1}{#2}{#3}% } +\newcommand{\glsxtrAddCounterRecordHook}[3]{} \newcommand*{\@glsxtr@counterrecordhook}{} \newcommand*{\GlsXtrRecordCounter}[1]{% \@@glsxtr@recordcounter{#1}% } \@onlypreamble\GlsXtrRecordCounter \newcommand*{\@glsxtr@docounterrecord}[1]{% - \protected@write\@auxout{}{\string\glsxtr@counterrecord + \@bibgls@write@aux{}{\string\glsxtr@counterrecord {\@gls@label}{#1}{\csuse{the#1}}}% } \newcommand*{\glsxtrglossentry}[1]{% \glsxtrtitleorpdforheading {\@glsxtrglossentry{#1}}% - {\glsentryname{#1}}% - {\glsxtrheadname{#1}}% + {\GlsXtrStandaloneEntryPdfName{#1}}% + {\GlsXtrStandaloneEntryHeadName{#1}}% } \newrobustcmd*{\@glsxtrglossentry}[1]{% \glsxtrtitleorpdforheading @@ -5501,8 +7025,14 @@ \endgroup }% }% - {\glsentryname{#1}}% - {\glsxtrheadname{#1}}% + {\GlsXtrStandaloneEntryPdfName{#1}}% + {\GlsXtrStandaloneEntryHeadName{#1}}% +} +\newcommand*{\GlsXtrStandaloneEntryHeadName}[1]{% + \glsxtrheadname{#1}% +} +\newcommand*{\GlsXtrStandaloneEntryPdfName}[1]{% + \glsentryname{#1}% } \newcommand*{\GlsXtrStandaloneEntryName}[1]{% \glstarget{#1}{\glossentryname{#1}}% @@ -5514,27 +7044,26 @@ \newcommand*{\glsxtrglossentryother}[3]{% \ifstrempty{#1}% {% - \ifcsdef{glsxtrhead#3}% - {% - \glsxtrtitleorpdforheading - {\@glsxtrglossentryother{#2}{#3}{#1}}% - {\@gls@entry@field{#2}{#3}}% - {\csuse{glsxtrhead#3}{#2}}% - }% - {% - \glsxtrtitleorpdforheading - {\@glsxtrglossentryother{#2}{#3}{#1}}% - {\@gls@entry@field{#2}{#3}}% - {\@gls@entry@field{\NoCaseChange{#2}}{#3}}% - }% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{\GlsXtrStandaloneEntryHeadOther{#3}{#2}}}% + {\GlsXtrStandaloneEntryPdfOther{#2}{#3}}% + {\GlsXtrStandaloneEntryHeadOther{#3}{#2}}% }% {% \glsxtrtitleorpdforheading {\@glsxtrglossentryother{#2}{#3}{#1}}% - {\@gls@entry@field{#2}{#3}}% + {\GlsXtrStandaloneEntryPdfOther{#2}{#3}}% {#1}% }% } +\newcommand*{\GlsXtrStandaloneEntryHeadOther}[2]{% + \ifcsdef{glsxtrhead#2}% + {\csuse{glsxtrhead#2}{#1}}% + {\@gls@entry@field{\NoCaseChange{#1}}{#2}}% +} +\newcommand*{\GlsXtrStandaloneEntryPdfOther}[2]{% + \@gls@entry@field{#1}{#2}% +} \newrobustcmd*{\@glsxtrglossentryother}[3]{% \glsxtrtitleorpdforheading {% @@ -5546,11 +7075,11 @@ \ifglshasparent{#1}% {\GlsXtrStandaloneSubEntryItem{#1}}% {\glsentryitem{#1}}% - \GlsXtrStandaloneEntryOther{#1}% + \GlsXtrStandaloneEntryOther{#1}{#2}% \endgroup }% }% - {\@gls@entry@field{#1}{#2}}% + {\GlsXtrStandaloneEntryPdfOther{#1}{#2}}% {#3}% } \newcommand*{\GlsXtrStandaloneEntryOther}[2]{% @@ -5589,10 +7118,7 @@ \GlossariesExtraWarning{No entries defined in glossary `\@glo@type'}% }% {% - \key@ifundefined{glossentry}{group}% - {\let\@gls@getgrouptitle\@gls@noidx@getgrouptitle}% - {\let\@gls@getgrouptitle\@glsxtr@unsrt@getgrouptitle}% - \def\@gls@currentlettergroup{}% + \@glsxtr@unsrt@gloss@init \def\@glsxtr@doglossary{% \begin{theglossary}% \glossaryheader @@ -5603,18 +7129,15 @@ \ifdefempty{\glscurrententrylabel} {}% {% - \let\glsxtr@process\@firstofone - \let\printunsrtglossaryskipentry - \@glsxtr@printunsrtglossaryskipentry - \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% + \@gls@xtr@initprocess \glsxtr@process {% \ifglsxtr@printgloss@groups - \ifglshasparent{\glscurrententrylabel}{}% + \glsxtraddgroup\glscurrententrylabel {% - \@glsxtr@checkgroup\glscurrententrylabel - \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter - {\@glsxtr@groupheading}% + \@glsxtr@checkgroup\glscurrententrylabel + \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter + {\@glsxtr@groupheading}% }% \fi \protected@eappto\@glsxtr@doglossary{% @@ -5628,6 +7151,37 @@ }% \glossarypostamble } +\newcommand*{\@glsxtr@unsrt@gloss@init}{% + \key@ifundefined{glossentry}{group}% + {\let\@gls@getgrouptitle\@gls@noidx@getgrouptitle}% + {\let\@gls@getgrouptitle\@glsxtr@unsrt@getgrouptitle}% + \def\@gls@currentlettergroup{}% + \def\@gls@currentlettergroup@level{-1}% + \def\glscurrententrylevel{-1}% + \def\glscurrentrootentry{}% + \def\glscurrenttoplevelentry{}% +} +\newcommand*{\@gls@xtr@initprocess}{% + \ifglsxtrprintglossflatten + \edef\glscurrententrylevel{\number\@glsxtr@leveloffset}% + \else + \edef\glscurrententrylevel{% + \number\numexpr\csname glo@\glscurrententrylabel @level\endcsname + + \@glsxtr@leveloffset}% + \fi + \ifnum\glscurrententrylevel=0\relax + \let\glscurrenttoplevelentry\glscurrententrylabel + \fi + \ifglsxtrprintglossflatten + \let\glscurrentrootentry\glscurrententrylabel + \else + \ifglshasparent{\glscurrententrylabel}{}% + {\let\glscurrentrootentry\glscurrententrylabel}% + \fi + \let\glsxtr@process\@firstofone + \let\printunsrtglossaryskipentry\@glsxtr@printunsrtglossaryskipentry + \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% +} \newcommand*{\printunsrtinnerglossary}[3][]{% \begingroup \def\@glsxtr@printglossopts{#1}% @@ -5650,7 +7204,7 @@ \ifx\@glossary@default@style\relax \GlossariesWarning{No default glossary style provided \MessageBreak for the glossary `\@glo@type'. \MessageBreak - Using deprecated fallback. \MessageBreak + Using fallback. \MessageBreak To fix this set the style with \MessageBreak \string\setglossarystyle\space or use the \MessageBreak style key=value option}% @@ -5705,28 +7259,22 @@ \GlossariesExtraWarning{No entries defined in glossary `\@glo@type'}% }% {% - \key@ifundefined{glossentry}{group}% - {\let\@gls@getgrouptitle\@gls@noidx@getgrouptitle}% - {\let\@gls@getgrouptitle\@glsxtr@unsrt@getgrouptitle}% - \def\@gls@currentlettergroup{}% + \@glsxtr@unsrt@gloss@init \def\@glsxtr@doglossary{}% \expandafter\@for\expandafter\glscurrententrylabel\expandafter :\expandafter=\csname glolist@\@glo@type\endcsname\do{% \ifdefempty{\glscurrententrylabel} {}% {% - \let\glsxtr@process\@firstofone - \let\printunsrtglossaryskipentry - \@glsxtr@printunsrtglossaryskipentry - \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% + \@gls@xtr@initprocess \glsxtr@process {% \ifglsxtr@printgloss@groups - \ifglshasparent{\glscurrententrylabel}{}% + \glsxtraddgroup\glscurrententrylabel {% - \@glsxtr@checkgroup\glscurrententrylabel - \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter - {\@glsxtr@groupheading}% + \@glsxtr@checkgroup\glscurrententrylabel + \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter + {\@glsxtr@groupheading}% }% \fi \protected@eappto\@glsxtr@doglossary{% @@ -5738,6 +7286,13 @@ \@glsxtr@doglossary }% } +\newcommand*{\glsxtraddgroup}[2]{% + \ifglsxtrprintglossflatten + #2% + \else + \ifglshasparent{#1}{}{#2}% + \fi +} \newcommand*{\printunsrtglossaryentryprocesshook}[1]{} \newcommand*{\printunsrtglossaryskipentry}{% \PackageError{glossaries-extra}{\string\printunsrtglossaryskipentry\space @@ -5777,8 +7332,9 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}% \renewcommand*{\@glsxtrhypernameprefix}{record.#1.\csuse{theH#1}.\@gobble}% }% \renewcommand*{\glossarysection}[2][]{}% - \appto\glossarypostamble{\glspar\medskip\glspar}% + \appto\glossarypostamble{\printunsrtglossaryunitpostskip}% } +\newcommand*{\printunsrtglossaryunitpostskip}{\glspar\medskip\glspar} \newcommand{\print@noop@unsrtglossaryunit}[2][]{% \PackageError{glossaries-extra}{\string\printunsrtglossaryunit\space requires the record=only or record=alsoindex package option}{}% @@ -5803,24 +7359,47 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}% \protected@edef\@glo@thislettergrp{% \csuse{glo@\glsdetoklabel{#1}@\glsxtrgroupfield}}% }% - \ifdefequal{\@glo@thislettergrp}{\@gls@currentlettergroup}% + \ifcsundef{@gls@currentlettergroup\romannumeral\glscurrententrylevel}% + {\csdef{@gls@currentlettergroup\romannumeral\glscurrententrylevel}{}}{}% + \ifcsequal{@glo@thislettergrp}{@gls@currentlettergroup\romannumeral\glscurrententrylevel}% {}% {% - \ifdefempty{\@gls@currentlettergroup}{}% - {\def\@glsxtr@groupheading{\glsgroupskip}}% - \protected@eappto\@glsxtr@groupheading{% - \noexpand\glsgroupheading{\expandonce\@glo@thislettergrp}% + \ifdefempty\@glo@thislettergrp + {}% + {% + \ifnum\glscurrententrylevel>0\relax + \protected@eappto\@glsxtr@groupheading{% + \noexpand\glssubgroupheading + {\@gls@currentlettergroup@level}{\glscurrententrylevel}% + {\csuse{glo@\glsdetoklabel{#1}@parent}}% + {\expandonce\@glo@thislettergrp}% + }% + \else + \ifdefempty{\@gls@currentlettergroup}{}% + {% + \def\@glsxtr@groupheading{\glsgroupskip}% + }% + \protected@eappto\@glsxtr@groupheading{% + \noexpand\glsgroupheading{\expandonce\@glo@thislettergrp}% + }% + \fi + \let\@gls@currentlettergroup@level\glscurrententrylevel + \cslet{@gls@currentlettergroup\romannumeral\glscurrententrylevel}\@glo@thislettergrp }% }% - \let\@gls@currentlettergroup\@glo@thislettergrp } +\newcommand*{\glssubgroupheading}[4]{\glsgroupheading{#4}} \newcommand*{\GlsXtrLocationField}{location} \newcommand{\@glsxtr@noidx@do}[1]{% \ifglsentryexists{#1}% {% \global\letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% \global\letcs{\@gls@location}{glo@\glsdetoklabel{#1}@\GlsXtrLocationField}% - \gls@level=\numexpr\csuse{glo@\glsdetoklabel{#1}@level}+\@glsxtr@leveloffset\relax + \ifglsxtrprintglossflatten + \gls@level=\@glsxtr@leveloffset\relax + \else + \gls@level=\numexpr\csuse{glo@\glsdetoklabel{#1}@level}+\@glsxtr@leveloffset\relax + \fi \ifnum\gls@level>0 \let\@glsxtr@ifischild\@firstoftwo \else @@ -5830,16 +7409,22 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}% {% \ifdefvoid{\@gls@location}% {% - \ifdefvoid{\@gls@loclist}% + \ifdefstring{\GlsXtrLocationField}{location}% {% - \expandafter\subglossentry\expandafter{\number\gls@level}{#1}{}% - }% - {% - \expandafter\subglossentry\expandafter{\number\gls@level}{#1}% + \ifdefvoid{\@gls@loclist}% + {% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}{}% + }% {% - \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}% + {% + \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% + }% }% }% + {% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}{}% + }% }% {% \expandafter\subglossentry\expandafter @@ -5849,16 +7434,22 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}% {% \ifdefvoid{\@gls@location}% {% - \ifdefvoid{\@gls@loclist} + \ifdefstring{\GlsXtrLocationField}{location}% {% - \glossentry{#1}{}% - }% - {% - \glossentry{#1}% + \ifdefvoid{\@gls@loclist} + {% + \glossentry{#1}{}% + }% {% - \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% + \glossentry{#1}% + {% + \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% + }% }% }% + {% + \glossentry{#1}{}% + }% }% {% \glossentry{#1}% @@ -5871,18 +7462,83 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}% {}% } \newcount\@glsxtrnewgls@inner +\newcommand*{\glsxtrdoidentify}[1]{% + \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off{}{#1}% +} \newcommand*{\@glsxtr@providenewgls}{% \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@newglslike}[2]{}}% \let\@glsxtr@providenewgls\relax } \newcommand{\glsxtridentifyglslike}[2]{% - \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off - {}% + \glsmfublocker{#2}% + \glsxtrdoidentify {% \@glsxtr@providenewgls \protected@write\@auxout{}{\string\@glsxtr@newglslike{#1}{\string#2}}% }% } +\newcommand*{\@glsxtr@providenewglsfamily}{% + \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@newglslikefamily}[8]{}}% + \let\@glsxtr@providenewglsfamily\relax +} +\newcommand{\glsxtridentifyglsfamily}[8]{% + \glsmfuaddmap{#3}{#5}% + \glsmfuaddmap{#4}{#6}% + \glsmfublocker{#7}% + \glsmfublocker{#8}% + \glsxtrdoidentify + {% + \@glsxtr@providenewglsfamily + \protected@write\@auxout{}{\string\@glsxtr@newglslikefamily{\detokenize{#1}}{\detokenize{#2}}{\detokenize{#3}}{\detokenize{#4}}{\detokenize{#5}}{\detokenize{#6}}{\detokenize{#7}}{\detokenize{#8}}}% + }% +} +\newcommand*{\@glsxtr@providenewglslink}{% + \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@newglslink}[2]{}}% + \let\@glsxtr@providenewglslink\relax +} +\newcommand{\glsxtridentifyglslink}[2]{% + \glsmfublocker{#2}% + \glsxtrdoidentify + {% + \@glsxtr@providenewglslink + \protected@write\@auxout{}{\string\@glsxtr@newglslink{#1}{\string#2}}% + }% +} +\newcommand*{\@glsxtrnewglslink}[4]{% + \ifdef{#3}% + {% + \PackageError{glossaries-extra}{Command \string#3\space already +defined}{}% + }% + {% + \glsxtridentifyglslink{#2}{#3}% + \ifcsdef{@#4link@#2}% + {% + \advance\@glsxtrnewgls@inner by \@ne + \def\@glsxtrnewgls@innercsname{@#4link\number\@glsxtrnewgls@inner @#2}% + }% + {\def\@glsxtrnewgls@innercsname{@#4link@#2}}% + \expandafter\newrobustcmd\expandafter*\expandafter + #3\expandafter{\expandafter\@gls@hyp@opt\csname\@glsxtrnewgls@innercsname\endcsname}% + \ifstrempty{#1}% + {% + \expandafter\newcommand\expandafter*\csname\@glsxtrnewgls@innercsname\endcsname[2][]{% + \csname #4\endcsname{##1}{#2##2}% + }% + }% + {% + \expandafter\newcommand\expandafter*\csname\@glsxtrnewgls@innercsname\endcsname[2][]{% + \csname #4\endcsname{#1,##1}{#2##2}% + }% + }% + }% +} +\newrobustcmd*{\glsxtrnewglslink}[3][]{% + \@glsxtrnewglslink{#1}{#2}{#3}{@gls@@link}% +} +\newrobustcmd*{\glsxtrnewglsdisp}[3][]{% + \@glsxtrnewglslink{#1}{#2}{#3}{@glsdisp}% +} \newcommand*{\@glsxtrnewgls}[4]{% \ifdef{#3}% {% @@ -5920,12 +7576,14 @@ defined}{}% \@glsxtrnewgls{#1}{#2}{#3}{gls}% } \newrobustcmd*{\glsxtrnewglslike}[6][]{% + \glsxtridentifyglsfamily{#1}{#2}{#3}{#4}{#5}{#6}{}{}% \@glsxtrnewgls{#1}{#2}{#3}{gls}% \@glsxtrnewgls{#1}{#2}{#4}{glspl}% \@glsxtrnewgls{#1}{#2}{#5}{Gls}% \@glsxtrnewgls{#1}{#2}{#6}{Glspl}% } \newrobustcmd*{\glsxtrnewGLSlike}[4][]{% + \glsxtridentifyglsfamily{#1}{#2}{}{}{}{}{#3}{#4}% \@glsxtrnewgls{#1}{#2}{#3}{GLS}% \@glsxtrnewgls{#1}{#2}{#4}{GLSpl}% } @@ -5933,12 +7591,14 @@ defined}{}% \@glsxtrnewgls{#1}{#2}{#3}{rgls}% } \newrobustcmd*{\glsxtrnewrglslike}[6][]{% + \glsxtridentifyglsfamily{#1}{#2}{#3}{#4}{#5}{#6}{}{}% \@glsxtrnewgls{#1}{#2}{#3}{rgls}% \@glsxtrnewgls{#1}{#2}{#4}{rglspl}% \@glsxtrnewgls{#1}{#2}{#5}{rGls}% \@glsxtrnewgls{#1}{#2}{#6}{rGlspl}% } \newrobustcmd*{\glsxtrnewrGLSlike}[4][]{% + \glsxtridentifyglsfamily{#1}{#2}{}{}{}{}{#3}{#4}% \@glsxtrnewgls{#1}{#2}{#3}{rGLS}% \@glsxtrnewgls{#1}{#2}{#4}{rGLSpl}% } @@ -5965,6 +7625,12 @@ defined}{}% \renewcommand*{\Glspl}{\rGlspl}% \renewcommand*{\GLS}{\rGLS}% \renewcommand*{\GLSpl}{\rGLSpl}% + \renewcommand{\shortcut@gls}{\rgls}% + \renewcommand{\shortcut@glspl}{\rglspl}% + \renewcommand{\shortcut@Gls}{\rGls}% + \renewcommand{\shortcut@Glspl}{\rGlspl}% + \renewcommand{\shortcut@GLS}{\rGLS}% + \renewcommand{\shortcut@GLSpl}{\rGLSpl}% } \newcommand*{\glsxtrrecordtriggervalue}[1]{% \GlsXtrTotalRecordCount{#1}% @@ -6000,6 +7666,7 @@ defined}{}% \def\@glsxtr@thevalue{}% \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% \@gls@save@glslocal + \glsinitreunsets \glsxtrinitwrgloss \glslinkpresetkeys \setkeys{glslink}{#1}% @@ -6015,12 +7682,12 @@ defined}{}% \glslinkwrcontent {% \ifglsxtrinitwrglossbefore - \@do@wrglossary{#2}% + \glsxtr@wrglossary@encap{#2}{\@do@wrglossary{#2}}% \fi #3% \ifglsxtrinitwrglossbefore \else - \@do@wrglossary{#2}% + \glsxtr@wrglossary@encap{#2}{\@do@wrglossary{#2}}% \fi }% \@gls@restore@glslocal @@ -6054,6 +7721,7 @@ defined}{}% }% }% \newrobustcmd*{\rGls}{\@gls@hyp@opt\@rGls} +\glsmfuaddmap{\rgls}{\rGls} \newcommand*{\@rGls}[2][]{% \new@ifnextchar[{\@rGls@{#1}{#2}}{\@rGls@{#1}{#2}[]}% } @@ -6067,6 +7735,7 @@ defined}{}% }% }% \newrobustcmd*{\rGlspl}{\@gls@hyp@opt\@rGlspl} +\glsmfuaddmap{\rglspl}{\rGlspl} \newcommand*{\@rGlspl}[2][]{% \new@ifnextchar[{\@rGlspl@{#1}{#2}}{\@rGlspl@{#1}{#2}[]}% } @@ -6080,6 +7749,7 @@ defined}{}% }% }% \newrobustcmd*{\rGLS}{\@gls@hyp@opt\@rGLS} +\glsmfublocker{\rGLS}% \newcommand*{\@rGLS}[2][]{% \new@ifnextchar[{\@rGLS@{#1}{#2}}{\@rGLS@{#1}{#2}[]}% } @@ -6093,6 +7763,7 @@ defined}{}% }% }% \newrobustcmd*{\rGLSpl}{\@gls@hyp@opt\@rGLSpl} +\glsmfublocker{\rGLSpl}% \newcommand*{\@rGLSpl}[2][]{% \new@ifnextchar[{\@rGLSpl@{#1}{#2}}{\@rGLSpl@{#1}{#2}[]}% } @@ -6126,10 +7797,10 @@ defined}{}% {\ifglshaslong{#1}{\Glsentrylongplural{#1}}{\Glsentryfirstplural{#1}}}#2% } \newcommand*{\rGLSformat}[2]{% - \expandafter\mfirstucMakeUppercase\expandafter{\rglsformat{#1}{#2}}% + \expandafter\glsuppercase\expandafter{\rglsformat{#1}{#2}}% } \newcommand*{\rGLSplformat}[2]{% - \expandafter\mfirstucMakeUppercase\expandafter{\rglsplformat{#1}{#2}}% + \expandafter\glsuppercase\expandafter{\rglsplformat{#1}{#2}}% } \newcommand{\@glsxtr@do@inc@linkcount}{% \glsifattribute{\glslabel}{linkcount}{true}% @@ -6185,6 +7856,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtname}[3]{% + \glsnameaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{name}% + }% + {#3}% + } \newcommand*{\Glsaccessname}[1]{% \glsnameaccessdisplay {% @@ -6192,13 +7870,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtname}[3]{% + \glsnameaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{name}% + }% + {#3}% + } \newcommand*{\GLSaccessname}[1]{% \glsnameaccessdisplay {% - \mfirstucMakeUppercase{\glsentryname{#1}}% + \glsuppercase{\glsentryname{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtname}[3]{% + \glsnameaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{name}% + }% + {#3}% + } \newcommand*{\glsaccesstext}[1]{% \glstextaccessdisplay {% @@ -6206,6 +7898,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmttext}[3]{% + \glstextaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{text}% + }% + {#3}% + } \newcommand*{\Glsaccesstext}[1]{% \glstextaccessdisplay {% @@ -6213,13 +7912,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmttext}[3]{% + \glstextaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{text}% + }% + {#3}% + } \newcommand*{\GLSaccesstext}[1]{% \glstextaccessdisplay {% - \mfirstucMakeUppercase{\glsentrytext{#1}}% + \glsuppercase{\glsentrytext{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmttext}[3]{% + \glstextaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{text}% + }% + {#3}% + } \newcommand*{\glsaccessplural}[1]{% \glspluralaccessdisplay {% @@ -6227,6 +7940,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtplural}[3]{% + \glspluralaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{plural}% + }% + {#3}% + } \newcommand*{\Glsaccessplural}[1]{% \glspluralaccessdisplay {% @@ -6234,13 +7954,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtplural}[3]{% + \glspluralaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{plural}% + }% + {#3}% + } \newcommand*{\GLSaccessplural}[1]{% \glspluralaccessdisplay {% - \mfirstucMakeUppercase{\glsentryplural{#1}}% + \glsuppercase{\glsentryplural{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtplural}[3]{% + \glspluralaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{plural}% + }% + {#3}% + } \newcommand*{\glsaccessfirst}[1]{% \glsfirstaccessdisplay {% @@ -6248,6 +7982,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtfirst}[3]{% + \glsfirstaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{first}% + }% + {#3}% + } \newcommand*{\Glsaccessfirst}[1]{% \glsfirstaccessdisplay {% @@ -6255,13 +7996,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtfirst}[3]{% + \glsfirstaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{first}% + }% + {#3}% + } \newcommand*{\GLSaccessfirst}[1]{% \glsfirstaccessdisplay {% - \mfirstucMakeUppercase{\glsentryfirst{#1}}% + \glsuppercase{\glsentryfirst{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtfirst}[3]{% + \glsfirstaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{first}% + }% + {#3}% + } \newcommand*{\glsaccessfirstplural}[1]{% \glsfirstpluralaccessdisplay {% @@ -6269,6 +8024,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtfirstplural}[3]{% + \glsfirstpluralaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{firstpl}% + }% + {#3}% + } \newcommand*{\Glsaccessfirstplural}[1]{% \glsfirstpluralaccessdisplay {% @@ -6276,13 +8038,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtfirstplural}[3]{% + \glsfirstpluralaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{firstpl}% + }% + {#3}% + } \newcommand*{\GLSaccessfirstplural}[1]{% \glsfirstpluralaccessdisplay {% - \mfirstucMakeUppercase{\glsentryfirstplural{#1}}% + \glsuppercase{\glsentryfirstplural{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtfirstplural}[3]{% + \glsfirstpluralaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{firstpl}% + }% + {#3}% + } \newcommand*{\glsaccesssymbol}[1]{% \glssymbolaccessdisplay {% @@ -6290,6 +8066,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtsymbol}[3]{% + \glssymbolaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{symbol}% + }% + {#3}% + } \newcommand*{\Glsaccesssymbol}[1]{% \glssymbolaccessdisplay {% @@ -6297,13 +8080,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtsymbol}[3]{% + \glssymbolaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{symbol}% + }% + {#3}% + } \newcommand*{\GLSaccesssymbol}[1]{% \glssymbolaccessdisplay {% - \mfirstucMakeUppercase{\glsentrysymbol{#1}}% + \glsuppercase{\glsentrysymbol{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtsymbol}[3]{% + \glssymbolaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{symbol}% + }% + {#3}% + } \newcommand*{\glsaccesssymbolplural}[1]{% \glssymbolpluralaccessdisplay {% @@ -6311,6 +8108,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtsymbolplural}[3]{% + \glssymbolpluralaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{symbolplural}% + }% + {#3}% + } \newcommand*{\Glsaccesssymbolplural}[1]{% \glssymbolpluralaccessdisplay {% @@ -6318,13 +8122,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtsymbolplural}[3]{% + \glssymbolpluralaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{symbolplural}% + }% + {#3}% + } \newcommand*{\GLSaccesssymbolplural}[1]{% \glssymbolpluralaccessdisplay {% - \mfirstucMakeUppercase{\glsentrysymbolplural{#1}}% + \glsuppercase{\glsentrysymbolplural{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtsymbolplural}[3]{% + \glssymbolpluralaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{symbolplural}% + }% + {#3}% + } \newcommand*{\glsaccessdesc}[1]{% \glsdescriptionaccessdisplay {% @@ -6332,6 +8150,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtdesc}[3]{% + \glsdescaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{desc}% + }% + {#3}% + } \newcommand*{\Glsaccessdesc}[1]{% \glsdescriptionaccessdisplay {% @@ -6339,13 +8164,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtdesc}[3]{% + \glsdescaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{desc}% + }% + {#3}% + } \newcommand*{\GLSaccessdesc}[1]{% \glsdescriptionaccessdisplay {% - \mfirstucMakeUppercase{\glsentrydesc{#1}}% + \glsuppercase{\glsentrydesc{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtdesc}[3]{% + \glsdescaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{desc}% + }% + {#3}% + } \newcommand*{\glsaccessdescplural}[1]{% \glsdescriptionpluralaccessdisplay {% @@ -6353,6 +8192,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtdescplural}[3]{% + \glsdescpluralaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{descplural}% + }% + {#3}% + } \newcommand*{\Glsaccessdescplural}[1]{% \glsdescriptionpluralaccessdisplay {% @@ -6360,13 +8206,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtdescplural}[3]{% + \glsdescpluralaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{descplural}% + }% + {#3}% + } \newcommand*{\GLSaccessdescplural}[1]{% \glsdescriptionpluralaccessdisplay {% - \mfirstucMakeUppercase{\glsentrydescplural{#1}}% + \glsuppercase{\glsentrydescplural{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtdescplural}[3]{% + \glsdescpluralaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{descplural}% + }% + {#3}% + } \newcommand*{\glsaccessshort}[1]{% \glsshortaccessdisplay {% @@ -6374,6 +8234,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtshort}[3]{% + \glsshortaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{short}% + }% + {#3}% + } \newcommand*{\Glsaccessshort}[1]{% \glsshortaccessdisplay {% @@ -6381,13 +8248,27 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtshort}[3]{% + \glsshortaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{short}% + }% + {#3}% + } \newcommand*{\GLSaccessshort}[1]{% \glsshortaccessdisplay {% - \mfirstucMakeUppercase{\glsentryshort{#1}}% + \glsuppercase{\glsentryshort{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtshort}[3]{% + \glsshortaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{short}% + }% + {#3}% + } \newcommand*{\glsaccessshortpl}[1]{% \glsshortpluralaccessdisplay {% @@ -6395,6 +8276,13 @@ defined}{}% }% {#1}% } + \newcommand*{\glsaccessfmtshortpl}[3]{% + \glsshortpluralaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{shortpl}% + }% + {#3}% + } \newcommand*{\Glsaccessshortpl}[1]{% \glsshortpluralaccessdisplay {% @@ -6402,41 +8290,636 @@ defined}{}% }% {#1}% } + \newcommand*{\Glsaccessfmtshortpl}[3]{% + \glsshortpluralaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{shortpl}% + }% + {#3}% + } \newcommand*{\GLSaccessshortpl}[1]{% \glsshortpluralaccessdisplay {% - \mfirstucMakeUppercase{\glsentryshortpl{#1}}% + \glsuppercase{\glsentryshortpl{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtshortpl}[3]{% + \glsshortpluralaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{shortpl}% + }% + {#3}% + } \newcommand*{\glsaccesslong}[1]{% \glslongaccessdisplay{\glsentrylong{#1}}{#1}% } - + \newcommand*{\glsaccessfmtlong}[3]{% + \glslongaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{long}% + }% + {#3}% + } \newcommand*{\Glsaccesslong}[1]{% \glslongaccessdisplay{\Glsentrylong{#1}}{#1}% } + \newcommand*{\Glsaccessfmtlong}[3]{% + \glslongaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{long}% + }% + {#3}% + } \newcommand*{\GLSaccesslong}[1]{% \glslongaccessdisplay {% - \mfirstucMakeUppercase{\glsentrylong{#1}}% + \glsuppercase{\glsentrylong{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtlong}[3]{% + \glslongaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{long}% + }% + {#3}% + } \newcommand*{\glsaccesslongpl}[1]{% \glslongpluralaccessdisplay{\glsentrylongpl{#1}}{#1}% } + \newcommand*{\glsaccessfmtlongpl}[3]{% + \glslongpluralaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{longpl}% + }% + {#3}% + } \newcommand*{\Glsaccesslongpl}[1]{% \glslongpluralaccessdisplay{\Glsentrylongpl{#1}}{#1}% } + \newcommand*{\Glsaccessfmtlongpl}[3]{% + \glslongpluralaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{longpl}% + }% + {#3}% + } \newcommand*{\GLSaccesslongpl}[1]{% \glslongpluralaccessdisplay {% - \mfirstucMakeUppercase{\glsentrylongpl{#1}}% + \glsuppercase{\glsentrylongpl{#1}}% }% {#1}% } + \newcommand*{\GLSaccessfmtlongpl}[3]{% + \glslongpluralaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{longpl}% + }% + {#3}% + } + \ifdef\glsuseriaccessdisplay + { + \newcommand*{\glsaccessuseri}[1]{% + \glsuseriaccessdisplay + {% + \glsentryuseri{#1}% + }% + {#1}% + } + } + { + \newcommand*{\glsaccessuseri}[1]{% + \glsentryuseri{#1}% + } + } + \ifdef\glsuseriaccessdisplay + { + \newcommand*{\glsaccessfmtuseri}[3]{% + \glsuseriaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{useri}% + }% + {#3}% + } + } + { + \newcommand*{\glsaccessfmtuseri}[3]{% + \glsfmtfield{#1}{#2}{#3}{useri}% + } + } + \ifdef\glsuseriaccessdisplay + { + \newcommand*{\Glsaccessuseri}[1]{% + \glsuseriaccessdisplay + {% + \Glsentryuseri{#1}% + }% + {#1}% + } + } + { + \newcommand*{\Glsaccessuseri}[1]{% + \Glsentryuseri{#1}% + } + } + \ifdef\glsuseriaccessdisplay + { + \newcommand*{\Glsaccessfmtuseri}[3]{% + \glsuseriaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{useri}% + }% + {#3}% + } + } + { + \newcommand*{\Glsaccessfmtuseri}[3]{% + \Glsfmtfield{#1}{#2}{#3}{useri}% + } + } + \ifdef\glsuseriaccessdisplay + { + \newcommand*{\GLSaccessuseri}[1]{% + \glsuseriaccessdisplay + {% + \glsuppercase{\glsentryuseri{#1}}% + }% + {#1}% + } + } + { + \newcommand*{\GLSaccessuseri}[1]{% + \glsuppercase{\glsentryuseri{#1}}% + } + } + \ifdef\glsuseriaccessdisplay + { + \newcommand*{\GLSaccessfmtuseri}[3]{% + \glsuseriaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{useri}% + }% + {#3}% + } + } + { + \newcommand*{\GLSaccessfmtuseri}[3]{% + \GLSfmtfield{#1}{#2}{#3}{useri}% + } + } + \ifdef\glsuseriiaccessdisplay + { + \newcommand*{\glsaccessuserii}[1]{% + \glsuseriiaccessdisplay + {% + \glsentryuserii{#1}% + }% + {#1}% + } + } + { + \newcommand*{\glsaccessuserii}[1]{% + \glsentryuserii{#1}% + } + } + \ifdef\glsuseriiaccessdisplay + { + \newcommand*{\glsaccessfmtuserii}[3]{% + \glsuseriiaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{userii}% + }% + {#3}% + } + } + { + \newcommand*{\glsaccessfmtuserii}[3]{% + \glsfmtfield{#1}{#2}{#3}{userii}% + } + } + \ifdef\glsuseriiaccessdisplay + { + \newcommand*{\Glsaccessuserii}[1]{% + \glsuseriiaccessdisplay + {% + \Glsentryuserii{#1}% + }% + {#1}% + } + } + { + \newcommand*{\Glsaccessuserii}[1]{% + \Glsentryuserii{#1}% + } + } + \ifdef\glsuseriiaccessdisplay + { + \newcommand*{\Glsaccessfmtuserii}[3]{% + \glsuseriiaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{userii}% + }% + {#3}% + } + } + { + \newcommand*{\Glsaccessfmtuserii}[3]{% + \Glsfmtfield{#1}{#2}{#3}{userii}% + } + } + \ifdef\glsuseriiaccessdisplay + { + \newcommand*{\GLSaccessuserii}[1]{% + \glsuseriiaccessdisplay + {% + \glsuppercase{\glsentryuserii{#1}}% + }% + {#1}% + } + } + { + \newcommand*{\GLSaccessuserii}[1]{% + \glsuppercase{\glsentryuserii{#1}}% + } + } + \ifdef\glsuseriiaccessdisplay + { + \newcommand*{\GLSaccessfmtuserii}[3]{% + \glsuseriiaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{userii}% + }% + {#3}% + } + } + { + \newcommand*{\GLSaccessfmtuserii}[3]{% + \GLSfmtfield{#1}{#2}{#3}{userii}% + } + } + \ifdef\glsuseriiiaccessdisplay + { + \newcommand*{\glsaccessuseriii}[1]{% + \glsuseriiiaccessdisplay + {% + \glsentryuseriii{#1}% + }% + {#1}% + } + } + { + \newcommand*{\glsaccessuseriii}[1]{% + \glsentryuseriii{#1}% + } + } + \ifdef\glsuseriiiaccessdisplay + { + \newcommand*{\glsaccessfmtuseriii}[3]{% + \glsuseriiiaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{useriii}% + }% + {#3}% + } + } + { + \newcommand*{\glsaccessfmtuseriii}[3]{% + \glsfmtfield{#1}{#2}{#3}{useriii}% + } + } + \ifdef\glsuseriiiaccessdisplay + { + \newcommand*{\Glsaccessuseriii}[1]{% + \glsuseriiiaccessdisplay + {% + \Glsentryuseriii{#1}% + }% + {#1}% + } + } + { + \newcommand*{\Glsaccessuseriii}[1]{% + \Glsentryuseriii{#1}% + } + } + \ifdef\glsuseriiiaccessdisplay + { + \newcommand*{\Glsaccessfmtuseriii}[3]{% + \glsuseriiiaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{useriii}% + }% + {#3}% + } + } + { + \newcommand*{\Glsaccessfmtuseriii}[3]{% + \Glsfmtfield{#1}{#2}{#3}{useriii}% + } + } + \ifdef\glsuseriiiaccessdisplay + { + \newcommand*{\GLSaccessuseriii}[1]{% + \glsuseriiiaccessdisplay + {% + \glsuppercase{\glsentryuseriii{#1}}% + }% + {#1}% + } + } + { + \newcommand*{\GLSaccessuseriii}[1]{% + \glsuppercase{\glsentryuseriii{#1}}% + } + } + \ifdef\glsuseriiiaccessdisplay + { + \newcommand*{\GLSaccessfmtuseriii}[3]{% + \glsuseriiiaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{useriii}% + }% + {#3}% + } + } + { + \newcommand*{\GLSaccessfmtuseriii}[3]{% + \GLSfmtfield{#1}{#2}{#3}{useriii}% + } + } + \ifdef\glsuserivaccessdisplay + { + \newcommand*{\glsaccessuseriv}[1]{% + \glsuserivaccessdisplay + {% + \glsentryuseriv{#1}% + }% + {#1}% + } + } + { + \newcommand*{\glsaccessuseriv}[1]{% + \glsentryuseriv{#1}% + } + } + \ifdef\glsuserivaccessdisplay + { + \newcommand*{\glsaccessfmtuseriv}[3]{% + \glsuserivaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{useriv}% + }% + {#3}% + } + } + { + \newcommand*{\glsaccessfmtuseriv}[3]{% + \glsfmtfield{#1}{#2}{#3}{useriv}% + } + } + \ifdef\glsuserivaccessdisplay + { + \newcommand*{\Glsaccessuseriv}[1]{% + \glsuserivaccessdisplay + {% + \Glsentryuseriv{#1}% + }% + {#1}% + } + } + { + \newcommand*{\Glsaccessuseriv}[1]{% + \Glsentryuseriv{#1}% + } + } + \ifdef\glsuserivaccessdisplay + { + \newcommand*{\Glsaccessfmtuseriv}[3]{% + \glsuserivaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{useriv}% + }% + {#3}% + } + } + { + \newcommand*{\Glsaccessfmtuseriv}[3]{% + \Glsfmtfield{#1}{#2}{#3}{useriv}% + } + } + \ifdef\glsuserivaccessdisplay + { + \newcommand*{\GLSaccessuseriv}[1]{% + \glsuserivaccessdisplay + {% + \glsuppercase{\glsentryuseriv{#1}}% + }% + {#1}% + } + } + { + \newcommand*{\GLSaccessuseriv}[1]{% + \glsuppercase{\glsentryuseriv{#1}}% + } + } + \ifdef\glsuserivaccessdisplay + { + \newcommand*{\GLSaccessfmtuseriv}[3]{% + \glsuserivaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{useriv}% + }% + {#3}% + } + } + { + \newcommand*{\GLSaccessfmtuseriv}[3]{% + \GLSfmtfield{#1}{#2}{#3}{useriv}% + } + } + \ifdef\glsuservaccessdisplay + { + \newcommand*{\glsaccessuserv}[1]{% + \glsuservaccessdisplay + {% + \glsentryuserv{#1}% + }% + {#1}% + } + } + { + \newcommand*{\glsaccessuserv}[1]{% + \glsentryuserv{#1}% + } + } + \ifdef\glsuservaccessdisplay + { + \newcommand*{\glsaccessfmtuserv}[3]{% + \glsuservaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{userv}% + }% + {#3}% + } + } + { + \newcommand*{\glsaccessfmtuserv}[3]{% + \glsfmtfield{#1}{#2}{#3}{userv}% + } + } + \ifdef\glsuservaccessdisplay + { + \newcommand*{\Glsaccessuserv}[1]{% + \glsuservaccessdisplay + {% + \Glsentryuserv{#1}% + }% + {#1}% + } + } + { + \newcommand*{\Glsaccessuserv}[1]{% + \Glsentryuserv{#1}% + } + } + \ifdef\glsuservaccessdisplay + { + \newcommand*{\Glsaccessfmtuserv}[3]{% + \glsuservaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{userv}% + }% + {#3}% + } + } + { + \newcommand*{\Glsaccessfmtuserv}[3]{% + \Glsfmtfield{#1}{#2}{#3}{userv}% + } + } + \ifdef\glsuservaccessdisplay + { + \newcommand*{\GLSaccessuserv}[1]{% + \glsuservaccessdisplay + {% + \glsuppercase{\glsentryuserv{#1}}% + }% + {#1}% + } + } + { + \newcommand*{\GLSaccessuserv}[1]{% + \glsuppercase{\glsentryuserv{#1}}% + } + } + \ifdef\glsuservaccessdisplay + { + \newcommand*{\GLSaccessfmtuserv}[3]{% + \glsuservaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{userv}% + }% + {#3}% + } + } + { + \newcommand*{\GLSaccessfmtuserv}[3]{% + \GLSfmtfield{#1}{#2}{#3}{userv}% + } + } + \ifdef\glsuserviaccessdisplay + { + \newcommand*{\glsaccessuservi}[1]{% + \glsuserviaccessdisplay + {% + \glsentryuservi{#1}% + }% + {#1}% + } + } + { + \newcommand*{\glsaccessuservi}[1]{% + \glsentryuservi{#1}% + } + } + \ifdef\glsuserviaccessdisplay + { + \newcommand*{\glsaccessfmtuservi}[3]{% + \glsuserviaccessdisplay + {% + \glsfmtfield{#1}{#2}{#3}{uservi}% + }% + {#3}% + } + } + { + \newcommand*{\glsaccessfmtuservi}[3]{% + \glsfmtfield{#1}{#2}{#3}{uservi}% + } + } + \ifdef\glsuserviaccessdisplay + { + \newcommand*{\Glsaccessuservi}[1]{% + \glsuserviaccessdisplay + {% + \Glsentryuservi{#1}% + }% + {#1}% + } + } + { + \newcommand*{\Glsaccessuservi}[1]{% + \Glsentryuservi{#1}% + } + } + \ifdef\glsuserviaccessdisplay + { + \newcommand*{\Glsaccessfmtuservi}[3]{% + \glsuserviaccessdisplay + {% + \Glsfmtfield{#1}{#2}{#3}{uservi}% + }% + {#3}% + } + } + { + \newcommand*{\Glsaccessfmtuservi}[3]{% + \Glsfmtfield{#1}{#2}{#3}{uservi}% + } + } + \ifdef\glsuserviaccessdisplay + { + \newcommand*{\GLSaccessuservi}[1]{% + \glsuserviaccessdisplay + {% + \glsuppercase{\glsentryuservi{#1}}% + }% + {#1}% + } + } + { + \newcommand*{\GLSaccessuservi}[1]{% + \glsuppercase{\glsentryuservi{#1}}% + } + } + \ifdef\glsuserviaccessdisplay + { + \newcommand*{\GLSaccessfmtuservi}[3]{% + \glsuserviaccessdisplay + {% + \GLSfmtfield{#1}{#2}{#3}{uservi}% + }% + {#3}% + } + } + { + \newcommand*{\GLSaccessfmtuservi}[3]{% + \GLSfmtfield{#1}{#2}{#3}{uservi}% + } + } \define@key{glsxtrabbrv}{access}{% \def\@gls@nameaccess{#1}% } @@ -6461,7 +8944,7 @@ defined}{}% \define@key{glsxtrabbrv}{longaccess}{% \def\@gls@longaccess{#1}% } - \define@key{glsxtrabbrv}{shortlonglaccess}{% + \define@key{glsxtrabbrv}{longpluralaccess}{% \def\@gls@longaccesspl{#1}% } \newcommand*{\@gls@initaccesskeys}{% @@ -6475,20 +8958,20 @@ defined}{}% \def\@gls@longaccess{}% \def\@gls@longaccesspl{}% } -\newcommand*{\@gls@ifaccessattribute@set}[3]{% - \glsifcategoryattribute{\glscategorylabel}{access#1}{true}% - {#2}% - {% - \glsifcategoryattribute{\glscategorylabel}{access#1}{false}% - {#3}% + \newcommand*{\@gls@ifaccessattribute@set}[3]{% + \glsifcategoryattribute{\glscategorylabel}{access#1}{true}% + {#2}% {% - \glsifcategoryattribute{\glscategorylabel}{#1}{true}% - {#2}% + \glsifcategoryattribute{\glscategorylabel}{access#1}{false}% {#3}% + {% + \glsifcategoryattribute{\glscategorylabel}{#1}{true}% + {#2}% + {#3}% + }% }% - }% -} - \def\glsdefaultshortaccess#1#2{#1 (#2)} + } + \providecommand*{\glsdefaultshortaccess}[2]{#1} \newcommand{\glsxtrassignactualsetup}{% \let\@\empty \let\emph\@firstofone @@ -6500,37 +8983,18 @@ defined}{}% \let\textrm\@firstofone \let\textsf\@firstofone \let\texttt\@firstofone + \let\glstextup\@firstofone } - \ifdef\pdfstringdef - { - \newcommand{\@gls@assign@actual}{% - \begingroup - \glsxtrassignactualsetup - \pdfstringdef\@gls@actualshort{\glsxtrorgshort}% - \pdfstringdef\@gls@actuallong{\glsxtrorglong}% - \pdfstringdef\@gls@actualshortpl{\@gls@shortpl}% - \pdfstringdef\@gls@actuallongpl{\@gls@longpl}% - \protected@edef\@gls@tmp{\endgroup - \def\noexpand\@gls@actualshort{\expandonce\@gls@actualshort}% - \def\noexpand\@gls@actuallong{\expandonce\@gls@actuallong}% - \def\noexpand\@gls@actualshortpl{\expandonce\@gls@actualshortpl}% - \def\noexpand\@gls@actuallongpl{\expandonce\@gls@actuallongpl}% - }% - \@gls@tmp - } - } - { - \newcommand{\@gls@assign@actual}{% - \begingroup - \glsxtrassignactualsetup - \protected@edef\@gls@tmp{\endgroup - \def\noexpand\@gls@actualshort{\glsxtrorgshort}% - \def\noexpand\@gls@actuallong{\glsxtrorglong}% - \def\noexpand\@gls@actualshortpl{\@gls@shortpl}% - \def\noexpand\@gls@actuallongpl{\@gls@longpl}% - }% - \@gls@tmp - } + \newcommand{\@gls@assign@actual}{% + \begingroup + \glsxtrassignactualsetup + \protected@edef\@gls@tmp{\endgroup + \def\noexpand\@gls@actualshort{\glsxtrorgshort}% + \def\noexpand\@gls@actuallong{\glsxtrorglong}% + \def\noexpand\@gls@actualshortpl{\@gls@shortpl}% + \def\noexpand\@gls@actuallongpl{\@gls@longpl}% + }% + \@gls@tmp } \newcommand{\@gls@setup@default@access}{% \@gls@assign@actual @@ -6678,57 +9142,252 @@ defined}{}% } { \newcommand*{\glsaccessname}[1]{\glsentryname{#1}} + \newcommand*{\glsaccessfmtname}[3]{% + \glsfmtfield{#1}{#2}{#3}{name}% + } \newcommand*{\Glsaccessname}[1]{\Glsentryname{#1}} + \newcommand*{\Glsaccessfmtname}[3]{% + \Glsfmtfield{#1}{#2}{#3}{name}% + } \newcommand*{\GLSaccessname}[1]{% - \protect\mfirstucMakeUppercase{\glsentryname{#1}}} + \protect\glsuppercase{\glsentryname{#1}}} + \newcommand*{\GLSaccessfmtname}[3]{% + \GLSfmtfield{#1}{#2}{#3}{name}% + } \newcommand*{\glsaccesstext}[1]{\glsentrytext{#1}} + \newcommand*{\glsaccessfmttext}[3]{% + \glsfmtfield{#1}{#2}{#3}{text}% + } \newcommand*{\Glsaccesstext}[1]{\Glsentrytext{#1}} + \newcommand*{\Glsaccessfmttext}[3]{% + \Glsfmtfield{#1}{#2}{#3}{text}% + } \newcommand*{\GLSaccesstext}[1]{% - \protect\mfirstucMakeUppercase{\glsentrytext{#1}}} + \protect\glsuppercase{\glsentrytext{#1}}} + \newcommand*{\GLSaccessfmttext}[3]{% + \GLSfmtfield{#1}{#2}{#3}{text}% + } \newcommand*{\glsaccessplural}[1]{\glsentryplural{#1}} + \newcommand*{\glsaccessfmtplural}[3]{% + \glsfmtfield{#1}{#2}{#3}{plural}% + } \newcommand*{\Glsaccessplural}[1]{\Glsentryplural{#1}} + \newcommand*{\Glsaccessfmtplural}[3]{% + \Glsfmtfield{#1}{#2}{#3}{plural}% + } \newcommand*{\GLSaccessplural}[1]{% - \protect\mfirstucMakeUppercase{\glsentryplural{#1}}} + \protect\glsuppercase{\glsentryplural{#1}}} + \newcommand*{\GLSaccessfmtplural}[3]{% + \GLSfmtfield{#1}{#2}{#3}{plural}% + } \newcommand*{\glsaccessfirst}[1]{\glsentryfirst{#1}} + \newcommand*{\glsaccessfmtfirst}[3]{% + \glsfmtfield{#1}{#2}{#3}{first}% + } \newcommand*{\Glsaccessfirst}[1]{\Glsentryfirst{#1}} + \newcommand*{\Glsaccessfmtfirst}[3]{% + \Glsfmtfield{#1}{#2}{#3}{first}% + } \newcommand*{\GLSaccessfirst}[1]{% - \protect\mfirstucMakeUppercase{\glsentryfirst{#1}}} + \protect\glsuppercase{\glsentryfirst{#1}}} + \newcommand*{\GLSaccessfmtfirst}[3]{% + \GLSfmtfield{#1}{#2}{#3}{first}% + } \newcommand*{\glsaccessfirstplural}[1]{\glsentryfirstplural{#1}} + \newcommand*{\glsaccessfmtfirstplural}[3]{% + \glsfmtfield{#1}{#2}{#3}{firstpl}% + } \newcommand*{\Glsaccessfirstplural}[1]{\Glsentryfirstplural{#1}} + \newcommand*{\Glsaccessfmtfirstplural}[3]{% + \Glsfmtfield{#1}{#2}{#3}{firstpl}% + } \newcommand*{\GLSaccessfirstplural}[1]{% - \protect\mfirstucMakeUppercase{\glsentryfirstplural{#1}}} + \protect\glsuppercase{\glsentryfirstplural{#1}}} + \newcommand*{\GLSaccessfmtfirstplural}[3]{% + \GLSfmtfield{#1}{#2}{#3}{firstpl}% + } \newcommand*{\glsaccesssymbol}[1]{\glsentrysymbol{#1}} + \newcommand*{\glsaccessfmtsymbol}[3]{% + \glsfmtfield{#1}{#2}{#3}{symbol}% + } \newcommand*{\Glsaccesssymbol}[1]{\Glsentrysymbol{#1}} + \newcommand*{\Glsaccessfmtsymbol}[3]{% + \Glsfmtfield{#1}{#2}{#3}{symbol}% + } \newcommand*{\GLSaccesssymbol}[1]{% - \protect\mfirstucMakeUppercase{\glsentrysymbol{#1}}} + \protect\glsuppercase{\glsentrysymbol{#1}}} + \newcommand*{\GLSaccessfmtsymbol}[3]{% + \GLSfmtfield{#1}{#2}{#3}{symbol}% + } \newcommand*{\glsaccesssymbolplural}[1]{\glsentrysymbolplural{#1}} + \newcommand*{\glsaccessfmtsymbolplural}[3]{% + \glsfmtfield{#1}{#2}{#3}{symbolplural}% + } \newcommand*{\Glsaccesssymbolplural}[1]{\Glsentrysymbolplural{#1}} + \newcommand*{\Glsaccessfmtsymbolplural}[3]{% + \Glsfmtfield{#1}{#2}{#3}{symbolplural}% + } \newcommand*{\GLSaccesssymbolplural}[1]{% - \protect\mfirstucMakeUppercase{\glsentrysymbolplural{#1}}} + \protect\glsuppercase{\glsentrysymbolplural{#1}}} + \newcommand*{\GLSaccessfmtsymbolplural}[3]{% + \GLSfmtfield{#1}{#2}{#3}{symbolplural}% + } \newcommand*{\glsaccessdesc}[1]{\glsentrydesc{#1}} + \newcommand*{\glsaccessfmtdesc}[3]{% + \glsfmtfield{#1}{#2}{#3}{desc}% + } \newcommand*{\Glsaccessdesc}[1]{\Glsentrydesc{#1}} + \newcommand*{\Glsaccessfmtdesc}[3]{% + \Glsfmtfield{#1}{#2}{#3}{desc}% + } \newcommand*{\GLSaccessdesc}[1]{% - \protect\mfirstucMakeUppercase{\glsentrydesc{#1}}} + \protect\glsuppercase{\glsentrydesc{#1}}} + \newcommand*{\GLSaccessfmtdesc}[3]{% + \GLSfmtfield{#1}{#2}{#3}{desc}% + } \newcommand*{\glsaccessdescplural}[1]{\glsentrydescplural{#1}} + \newcommand*{\glsaccessfmtdescplural}[3]{% + \glsfmtfield{#1}{#2}{#3}{descplural}% + } \newcommand*{\Glsaccessdescplural}[1]{\Glsentrydescplural{#1}} + \newcommand*{\Glsaccessfmtdescplural}[3]{% + \Glsfmtfield{#1}{#2}{#3}{descplural}% + } \newcommand*{\GLSaccessdescplural}[1]{% - \protect\mfirstucMakeUppercase{\glsentrydescplural{#1}}} + \protect\glsuppercase{\glsentrydescplural{#1}}} + \newcommand*{\GLSaccessfmtdescplural}[3]{% + \GLSfmtfield{#1}{#2}{#3}{descplural}% + } \newcommand*{\glsaccessshort}[1]{\glsentryshort{#1}} + \newcommand*{\glsaccessfmtshort}[3]{% + \glsfmtfield{#1}{#2}{#3}{short}% + } \newcommand*{\Glsaccessshort}[1]{\Glsentryshort{#1}} + \newcommand*{\Glsaccessfmtshort}[3]{% + \Glsfmtfield{#1}{#2}{#3}{short}% + } \newcommand*{\GLSaccessshort}[1]{% - \protect\mfirstucMakeUppercase{\glsentryshort{#1}}} + \protect\glsuppercase{\glsentryshort{#1}}} + \newcommand*{\GLSaccessfmtshort}[3]{% + \GLSfmtfield{#1}{#2}{#3}{short}% + } \newcommand*{\glsaccessshortpl}[1]{\glsentryshortpl{#1}} + \newcommand*{\glsaccessfmtshortpl}[3]{% + \glsfmtfield{#1}{#2}{#3}{shortpl}% + } \newcommand*{\Glsaccessshortpl}[1]{\Glsentryshortpl{#1}} + \newcommand*{\Glsaccessfmtshortpl}[3]{% + \Glsfmtfield{#1}{#2}{#3}{shortpl}% + } \newcommand*{\GLSaccessshortpl}[1]{% - \protect\mfirstucMakeUppercase{\glsentryshortpl{#1}}} + \protect\glsuppercase{\glsentryshortpl{#1}}} + \newcommand*{\GLSaccessfmtshortpl}[3]{% + \GLSfmtfield{#1}{#2}{#3}{shortpl}% + } \newcommand*{\glsaccesslong}[1]{\glsentrylong{#1}} + \newcommand*{\glsaccessfmtlong}[3]{% + \glsfmtfield{#1}{#2}{#3}{long}% + } \newcommand*{\Glsaccesslong}[1]{\Glsentrylong{#1}} + \newcommand*{\Glsaccessfmtlong}[3]{% + \Glsfmtfield{#1}{#2}{#3}{long}% + } \newcommand*{\GLSaccesslong}[1]{% - \protect\mfirstucMakeUppercase{\glsentrylong{#1}}} + \protect\glsuppercase{\glsentrylong{#1}}} + \newcommand*{\GLSaccessfmtlong}[3]{% + \GLSfmtfield{#1}{#2}{#3}{long}% + } \newcommand*{\glsaccesslongpl}[1]{\glsentrylongpl{#1}} + \newcommand*{\glsaccessfmtlongpl}[3]{% + \glsfmtfield{#1}{#2}{#3}{longpl}% + } \newcommand*{\Glsaccesslongpl}[1]{\Glsentrylongpl{#1}} + \newcommand*{\Glsaccessfmtlongpl}[3]{% + \Glsfmtfield{#1}{#2}{#3}{longpl}% + } \newcommand*{\GLSaccesslongpl}[1]{% - \protect\mfirstucMakeUppercase{\glsentrylongpl{#1}}} + \protect\glsuppercase{\glsentrylongpl{#1}}} + \newcommand*{\GLSaccessfmtlongpl}[3]{% + \GLSfmtfield{#1}{#2}{#3}{longpl}% + } + \newcommand*{\glsaccessuseri}[1]{\glsentryuseri{#1}} + \newcommand*{\glsaccessfmtuseri}[3]{% + \glsfmtfield{#1}{#2}{#3}{useri}% + } + \newcommand*{\Glsaccessuseri}[1]{\Glsentryuseri{#1}} + \newcommand*{\Glsaccessfmtuseri}[3]{% + \Glsfmtfield{#1}{#2}{#3}{useri}% + } + \newcommand*{\GLSaccessuseri}[1]{% + \protect\glsuppercase{\glsentryuseri{#1}}} + \newcommand*{\GLSaccessfmtuseri}[3]{% + \GLSfmtfield{#1}{#2}{#3}{useri}% + } + \newcommand*{\glsaccessuserii}[1]{\glsentryuserii{#1}} + \newcommand*{\glsaccessfmtuserii}[3]{% + \glsfmtfield{#1}{#2}{#3}{userii}% + } + \newcommand*{\Glsaccessuserii}[1]{\Glsentryuserii{#1}} + \newcommand*{\Glsaccessfmtuserii}[3]{% + \Glsfmtfield{#1}{#2}{#3}{userii}% + } + \newcommand*{\GLSaccessuserii}[1]{% + \protect\glsuppercase{\glsentryuserii{#1}}} + \newcommand*{\GLSaccessfmtuserii}[3]{% + \GLSfmtfield{#1}{#2}{#3}{userii}% + } + \newcommand*{\glsaccessuseriii}[1]{\glsentryuseriii{#1}} + \newcommand*{\glsaccessfmtuseriii}[3]{% + \glsfmtfield{#1}{#2}{#3}{useriii}% + } + \newcommand*{\Glsaccessuseriii}[1]{\Glsentryuseriii{#1}} + \newcommand*{\Glsaccessfmtuseriii}[3]{% + \Glsfmtfield{#1}{#2}{#3}{useriii}% + } + \newcommand*{\GLSaccessuseriii}[1]{% + \protect\glsuppercase{\glsentryuseriii{#1}}} + \newcommand*{\GLSaccessfmtuseriii}[3]{% + \GLSfmtfield{#1}{#2}{#3}{useriii}% + } + \newcommand*{\glsaccessuseriv}[1]{\glsentryuseriv{#1}} + \newcommand*{\glsaccessfmtuseriv}[3]{% + \glsfmtfield{#1}{#2}{#3}{useriv}% + } + \newcommand*{\Glsaccessuseriv}[1]{\Glsentryuseriv{#1}} + \newcommand*{\Glsaccessfmtuseriv}[3]{% + \Glsfmtfield{#1}{#2}{#3}{useriv}% + } + \newcommand*{\GLSaccessuseriv}[1]{% + \protect\glsuppercase{\glsentryuseriv{#1}}} + \newcommand*{\GLSaccessfmtuseriv}[3]{% + \GLSfmtfield{#1}{#2}{#3}{useriv}% + } + \newcommand*{\glsaccessuserv}[1]{\glsentryuserv{#1}} + \newcommand*{\glsaccessfmtuserv}[3]{% + \glsfmtfield{#1}{#2}{#3}{userv}% + } + \newcommand*{\Glsaccessuserv}[1]{\Glsentryuserv{#1}} + \newcommand*{\Glsaccessfmtuserv}[3]{% + \Glsfmtfield{#1}{#2}{#3}{userv}% + } + \newcommand*{\GLSaccessuserv}[1]{% + \protect\glsuppercase{\glsentryuserv{#1}}} + \newcommand*{\GLSaccessfmtuserv}[3]{% + \GLSfmtfield{#1}{#2}{#3}{userv}% + } + \newcommand*{\glsaccessuservi}[1]{\glsentryuservi{#1}} + \newcommand*{\glsaccessfmtuservi}[3]{% + \glsfmtfield{#1}{#2}{#3}{uservi}% + } + \newcommand*{\Glsaccessuservi}[1]{\Glsentryuservi{#1}} + \newcommand*{\Glsaccessfmtuservi}[3]{% + \Glsfmtfield{#1}{#2}{#3}{uservi}% + } + \newcommand*{\GLSaccessuservi}[1]{% + \protect\glsuppercase{\glsentryuservi{#1}}} + \newcommand*{\GLSaccessfmtuservi}[3]{% + \GLSfmtfield{#1}{#2}{#3}{uservi}% + } \newcommand*{\@gls@initaccesskeys}{} \newcommand{\@gls@setup@default@access}{} \newcommand*{\glsxtrAccSuppAbbrSetNoLongAttrs}[1]{} @@ -6737,6 +9396,82 @@ defined}{}% \newcommand*{\glsxtrAccSuppAbbrSetNameShortAttrs}[1]{} \newcommand*{\glsxtrAccSuppAbbrSetNameLongAttrs}[1]{} } +\glsmfuaddmap{\glsaccessname}{\Glsaccessname} +\glsmfuaddmap{\glsaccessfmtname}{\Glsaccessfmtname} +\glsmfublocker{\GLSaccessname} +\glsmfublocker{\GLSaccessfmtname} +\glsmfuaddmap{\glsaccesstext}{\Glsaccesstext} +\glsmfuaddmap{\glsaccessfmttext}{\Glsaccessfmttext} +\glsmfublocker{\GLSaccesstext} +\glsmfublocker{\GLSaccessfmttext} +\glsmfuaddmap{\glsaccessplural}{\Glsaccessplural} +\glsmfuaddmap{\glsaccessfmtplural}{\Glsaccessfmtplural} +\glsmfublocker{\GLSaccessplural} +\glsmfublocker{\GLSaccessfmtplural} +\glsmfuaddmap{\glsaccessfirst}{\Glsaccessfirst} +\glsmfuaddmap{\glsaccessfmtfirst}{\Glsaccessfmtfirst} +\glsmfublocker{\GLSaccessfirst} +\glsmfublocker{\GLSaccessfmtfirst} +\glsmfuaddmap{\glsaccessfirstplural}{\Glsaccessfirstplural} +\glsmfuaddmap{\glsaccessfmtfirstplural}{\Glsaccessfmtfirstplural} +\glsmfublocker{\GLSaccessfirstplural} +\glsmfublocker{\GLSaccessfmtfirstplural} +\glsmfuaddmap{\glsaccesssymbol}{\Glsaccesssymbol} +\glsmfuaddmap{\glsaccessfmtsymbol}{\Glsaccessfmtsymbol} +\glsmfublocker{\GLSaccesssymbol} +\glsmfublocker{\GLSaccessfmtsymbol} +\glsmfuaddmap{\glsaccesssymbolplural}{\Glsaccesssymbolplural} +\glsmfuaddmap{\glsaccessfmtsymbolplural}{\Glsaccessfmtsymbolplural} +\glsmfublocker{\GLSaccesssymbolplural} +\glsmfublocker{\GLSaccessfmtsymbolplural} +\glsmfuaddmap{\glsaccessdesc}{\Glsaccessdesc} +\glsmfuaddmap{\glsaccessfmtdesc}{\Glsaccessfmtdesc} +\glsmfublocker{\GLSaccessdesc} +\glsmfublocker{\GLSaccessfmtdesc} +\glsmfuaddmap{\glsaccessdescplural}{\Glsaccessdescplural} +\glsmfuaddmap{\glsaccessfmtdescplural}{\Glsaccessfmtdescplural} +\glsmfublocker{\GLSaccessdescplural} +\glsmfublocker{\GLSaccessfmtdescplural} +\glsmfuaddmap{\glsaccessshort}{\Glsaccessshort} +\glsmfuaddmap{\glsaccessfmtshort}{\Glsaccessfmtshort} +\glsmfublocker{\GLSaccessshort} +\glsmfublocker{\GLSaccessfmtshort} +\glsmfuaddmap{\glsaccessshortpl}{\Glsaccessshortpl} +\glsmfuaddmap{\glsaccessfmtshortpl}{\Glsaccessfmtshortpl} +\glsmfublocker{\GLSaccessshortpl} +\glsmfublocker{\GLSaccessfmtshortpl} +\glsmfuaddmap{\glsaccesslong}{\Glsaccesslong} +\glsmfuaddmap{\glsaccessfmtlong}{\Glsaccessfmtlong} +\glsmfublocker{\GLSaccesslong} +\glsmfublocker{\GLSaccessfmtlong} +\glsmfuaddmap{\glsaccesslongpl}{\Glsaccesslongpl} +\glsmfuaddmap{\glsaccessfmtlongpl}{\Glsaccessfmtlongpl} +\glsmfublocker{\GLSaccesslongpl} +\glsmfublocker{\GLSaccessfmtlongpl} +\glsmfuaddmap{\glsaccessuseri}{\Glsaccessuseri} +\glsmfuaddmap{\glsaccessfmtuseri}{\Glsaccessfmtuseri} +\glsmfublocker{\GLSaccessuseri} +\glsmfublocker{\GLSaccessfmtuseri} +\glsmfuaddmap{\glsaccessuserii}{\Glsaccessuserii} +\glsmfuaddmap{\glsaccessfmtuserii}{\Glsaccessfmtuserii} +\glsmfublocker{\GLSaccessuserii} +\glsmfublocker{\GLSaccessfmtuserii} +\glsmfuaddmap{\glsaccessuseriii}{\Glsaccessuseriii} +\glsmfuaddmap{\glsaccessfmtuseriii}{\Glsaccessfmtuseriii} +\glsmfublocker{\GLSaccessuseriii} +\glsmfublocker{\GLSaccessfmtuseriii} +\glsmfuaddmap{\glsaccessuseriv}{\Glsaccessuseriv} +\glsmfuaddmap{\glsaccessfmtuseriv}{\Glsaccessfmtuseriv} +\glsmfublocker{\GLSaccessuseriv} +\glsmfublocker{\GLSaccessfmtuseriv} +\glsmfuaddmap{\glsaccessuserv}{\Glsaccessuserv} +\glsmfuaddmap{\glsaccessfmtuserv}{\Glsaccessfmtuserv} +\glsmfublocker{\GLSaccessuserv} +\glsmfublocker{\GLSaccessfmtuserv} +\glsmfuaddmap{\glsaccessuservi}{\Glsaccessuservi} +\glsmfuaddmap{\glsaccessfmtuservi}{\Glsaccessfmtuservi} +\glsmfublocker{\GLSaccessuservi} +\glsmfublocker{\GLSaccessfmtuservi} \glsaddstoragekey{category}{general}{\glscategory} \newcommand{\glsifcategory}[4]{% \ifglsfieldeq{#1}{category}{#2}{#3}{#4}% @@ -6756,6 +9491,11 @@ defined}{}% }% }% } +\newcommand*{\glssetcategoryattributes}[3]{% + \@for\@gls@thisattrlabel:=#2\do{% + \csgdef{@glsxtr@categoryattr@@#1@\@gls@thisattrlabel}{#3}% + }% +} \newcommand*{\glsgetcategoryattribute}[2]{% \csuse{@glsxtr@categoryattr@@#1@#2}% } @@ -6786,6 +9526,30 @@ defined}{}% {\glsifcategoryattribute{\glscategory{#1}}{#2}{#3}{#4}{#5}}% {#5}% } +\newcommand*{\@glsxtr@truevalue}{true} +\newcommand*{\glsifcategoryattributetrue}[4]{% + \ifcsequal{@glsxtr@categoryattr@@#1@#2}% + {@glsxtr@truevalue}% + {#3}{#4}% +} +\newcommand*{\glsifattributetrue}[4]{% + \ifcsundef{glo@\glsdetoklabel{#1}@category}% + {#4} + {\ifcsequal + {@glsxtr@categoryattr@@\csname glo@\glsdetoklabel{#1}@category\endcsname @#2}% + {@glsxtr@truevalue}% + {#3}{#4}% + }% +} +\newrobustcmd{\glsifcategoryattributehasitem}[5]{% + \ifcsundef{@glsxtr@categoryattr@@#1@#2}% + {#5}% + {% + \protected@edef\gls@tmp{% + \noexpand\DTLifinlist{#3}{\csuse{@glsxtr@categoryattr@@#1@#2}}}% + \gls@tmp{#4}{#5}% + }% +} \glssetcategoryattribute{general}{regular}{true} \glssetcategoryattribute{acronym}{regular}{true} \newcommand*{\glssetregularcategory}[1]{% @@ -7001,7 +9765,7 @@ defined}{}% \glsnameaccessdisplay {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% + \@glsxtr@glossnamefont{\glsuppercase{\glo@name}}% }% {#1}% }% @@ -7053,7 +9817,7 @@ defined}{}% \glsifattribute{#1}{glossname}{uc}% {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% + \@glsxtr@glossnamefont{\glsuppercase{\glo@name}}% }% {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% @@ -7195,7 +9959,7 @@ defined}{}% {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% \@glsxtr@accessdisplay - {\@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}}% + {\@glsxtr@glossnamefont{\glsuppercase{\glo@name}}}% {#1}% }% {% @@ -7206,7 +9970,7 @@ defined}{}% }% }% }% - \glsxtrpostnamehook{#1}% + \glsxtrpostnamehook{#1}% }% } \newif\if@glsxtr@format@override @@ -7382,14 +10146,8 @@ defined}{}% \Glsaccessdesc{#1}% }% } -\ifdef\texorpdfstring -{ - \renewcommand*{\glossentrysymbol}[1]{% - \texorpdfstring{\@glossentrysymbol{#1}}{\glsentrypdfsymbol{#1}}% - } -} -{ - \renewcommand*{\glossentrysymbol}[1]{\@glossentrysymbol{#1}} +\renewcommand*{\glossentrysymbol}[1]{% + \glstexorpdfstring{\@glossentrysymbol{#1}}{\glsentrypdfsymbol{#1}}% } \newcommand{\glsentrypdfsymbol}[1]{\glsentrysymbol{#1}} \newrobustcmd*{\@glossentrysymbol}[1]{% @@ -7534,6 +10292,26 @@ defined}{}% {Invalid empty category label in \string\glsdefpostlink}{}}% {\csdef{glsxtrpostlink#1}{#2}}% } +\newcommand*{\glspretopostlink}[2]{% + \ifthenelse{\equal{#1}{}}% + {\PackageError{glossaries-extra} + {Invalid empty category label in \string\glspretopostlink}{}}% + {% + \ifcsundef{glsxtrpostlink#1} + {\csdef{glsxtrpostlink#1}{#2}}% + {\cspreto{glsxtrpostlink#1}{#2}}% + }% +} +\newcommand*{\glsapptopostlink}[2]{% + \ifthenelse{\equal{#1}{}}% + {\PackageError{glossaries-extra} + {Invalid empty category label in \string\glspretopostlink}{}}% + {% + \ifcsundef{glsxtrpostlink#1} + {\csdef{glsxtrpostlink#1}{#2}}% + {\csappto{glsxtrpostlink#1}{#2}}% + }% +} \newcommand*{\glsxtrpostlinkendsentence}{% \ifcsdef{glsxtrpostlink\glscategory{\glslabel}} {% @@ -7545,13 +10323,15 @@ defined}{}% }% } \newcommand*{\glsxtrpostlinkAddDescOnFirstUse}{% - \glsxtrifwasfirstuse{\space\glsxtrparen{\glsaccessdesc{\glslabel}}}{}% + \glsxtrifwasfirstuse{\glsxtrgenentrytextfmt{ }% + \glsxtrparen{\glsaccessfmtdesc{}{\glsxtrgenentrytextfmt}{\glslabel}}}{}% } \newcommand*{\glsxtrpostlinkAddSymbolOnFirstUse}{% \glsxtrifwasfirstuse {% \ifglshassymbol{\glslabel}% - {\space\glsxtrparen{\glsaccesssymbol{\glslabel}}}% + {\glsxtrgenentrytextfmt{ }% + \glsxtrparen{\glsaccessfmtsymbol{}{\glsxtrgenentrytextfmt}{\glslabel}}}% {}% }% {}% @@ -7559,37 +10339,24 @@ defined}{}% \newcommand*{\glsxtrpostlinkAddSymbolDescOnFirstUse}{% \glsxtrifwasfirstuse {% - \space\glsxtrparen + \glsxtrgenentrytextfmt{ }\glsxtrparen {% \ifglshassymbol{\glslabel}% - {\glsaccesssymbol{\glslabel}, }% + {\glsaccessfmtsymbol{}{\glsxtrgenentrytextfmt}{\glslabel}% + \expandafter\glsxtrgenentrytextfmt\expandafter{\glsxtrpostlinkSymbolDescSep}}% {}% - \glsaccessdesc{\glslabel}% + \glsaccessfmtdesc{}{\glsxtrgenentrytextfmt}{\glslabel}% }% }% {}% } +\newcommand*{\glsxtrpostlinkSymbolDescSep}{, } +\newcommand*{\glsxtrdiscardperiodretainfirstuse}[3]{% + \glsxtrifwassubsequentorshort{\glsxtrifperiod{#2}{#3}}{#3}% +} \newcommand*{\glsxtrdiscardperiod}[3]{% - \glsxtrifwasfirstuse - {% - \glsifattribute{#1}{retainfirstuseperiod}{true}% - {#3}% - {% - \glsifattribute{#1}{discardperiod}{true}% - {% - \glsifplural - {% - \glsifattribute{#1}{pluraldiscardperiod}{true}% - {\glsxtrifperiod{#2}{#3}}% - {#3}% - }% - {% - \glsxtrifperiod{#2}{#3}% - }% - }% - {#3}% - }% - }% + \glsifattribute{#1}{retainfirstuseperiod}{true}% + {\glsxtrdiscardperiodretainfirstuse{#1}{#2}{#3}}% {% \glsifattribute{#1}{discardperiod}{true}% {% @@ -7637,17 +10404,17 @@ defined}{}% } \def\@glsxtr@foundinlist#1\@nnil{\@firstoftwo} \def\@glsxtr@notfoundinlist#1{\@secondoftwo} -\newcommand{\glsxtrdopostpunc}[1]{% +\newrobustcmd{\glsxtrdopostpunc}[1]{% \glsxtrifnextpunc{\@glsxtr@swaptwo{#1}}{#1}% } \newcommand{\@glsxtr@swaptwo}[2]{#2#1} \define@key{glsxtrabbrv}{category}{% \protected@edef\glscategorylabel{#1}% } -\define@key{glsxtrabbrv}{shortplural}{% +\define@key{glsxtrabbrvpl}{shortplural}{% \def\@gls@shortpl{#1}% } -\define@key{glsxtrabbrv}{longplural}{% +\define@key{glsxtrabbrvpl}{longplural}{% \def\@gls@longpl{#1}% } \newtoks\glsshortpltok @@ -7668,8 +10435,9 @@ defined}{}% \fi \@glsxtr@insert@dots@next#1% } -\newcommand*{\glsxtrwordsep}{\space} -\newcommand*{\glsxtrword}[1]{#1} +\newcommand*{\glsxtrwordsep}{\glsxtrgenentrytextfmt{ }} +\newcommand*{\glsxtrwordsephyphen}{\glsxtrgenentrytextfmt{-}} +\newcommand*{\glsxtrword}[1]{\glsxtrgenentrytextfmt{#1}} \newcommand*{\@glsxtr@markwordseps}[2]{% \def#1{}% \@glsxtr@mark@wordseps#1#2 \@nnil @@ -7696,10 +10464,12 @@ defined}{}% \glslongtok{#4}% \def\glsxtrorgshort{#3}% \def\glsxtrorglong{#4}% + \def\glsxtrorgkeylist{#1}% \def\ExtraCustomAbbreviationFields{}% \@gls@initaccesskeys \def\glscategorylabel{abbreviation}% - \setkeys*{glsxtrabbrv}[shortplural,longplural]{#1}% + \setkeys*{glsxtrabbrv}{#1}% + \let\@glsxtrabbrv@rmkeys\XKV@rm \ifcsdef{@glsabbrv@current@\glscategorylabel}% {% \let\@glsxtr@orgwarndep\GlsXtrWarnDeprecatedAbbrStyle @@ -7711,19 +10481,18 @@ defined}{}% \glsxtr@applyabbrvstyle{\@glsabbrv@current@abbreviation}% }% \def\@gls@longpl{#4\glspluralsuffix}% - \let\@gls@default@longpl\@gls@longpl \glsifcategoryattribute{\glscategorylabel}{markwords}{true}% {% \@glsxtr@markwordseps\@gls@long{#4}% - \expandafter\def\expandafter\@gls@longpl\expandafter - {\@gls@long\glspluralsuffix}% - \let\@gls@default@longpl\@gls@longpl \expandafter\glslongtok\expandafter{\@gls@long}% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{desc}% }% {}% + \let\@glsxtr@if@markshortwords\@secondoftwo \glsifcategoryattribute{\glscategorylabel}{markshortwords}{true}% {% - \@glsxtr@markwordseps\@gls@short{#3}% + \let\@glsxtr@if@markshortwords\@firstoftwo + \def\@gls@short{#3}% }% {% \glsifcategoryattribute{\glscategorylabel}{insertdots}{true}% @@ -7743,25 +10512,48 @@ defined}{}% {% \let\@gls@shortpl\@gls@short }% - {% + {% \expandafter\def\expandafter\@gls@shortpl\expandafter{\@gls@short \abbrvpluralsuffix}% }% }% + \@glsxtr@if@markshortwords + {% + \expandafter\@glsxtr@markwordseps\expandafter\@gls@short + \expandafter{\@gls@short}% + }% + {}% \expandafter\glsshorttok\expandafter{\@gls@short}% \glsxtrnewabbrevpresetkeyhook{#1}{#2}{#3}% - \setkeys*{glsxtrabbrv}[category]{#1}% - \let\@gls@org@longpl\@gls@longpl - \let\@gls@org@shortpl\@gls@shortpl - \ifx\@gls@default@longpl\@gls@longpl - \else - \glsifcategoryattribute{\glscategorylabel}{markwords}{true}% - {% - \expandafter\@glsxtr@markwordseps\expandafter\@gls@longpl\expandafter - {\@gls@longpl}% - }% - {}% - \fi + \let\@gls@default@shortpl\@gls@shortpl + \let\XKV@rm\@glsxtrabbrv@rmkeys + \setrmkeys*{glsxtrabbrvpl}% + \expandafter\glskeylisttok\expandafter{\XKV@rm}% + \let\@gls@org@longpl\@gls@longpl + \let\@gls@org@shortpl\@gls@shortpl + \glsifcategoryattribute{\glscategorylabel}{markwords}{true}% + {% + \expandafter\@glsxtr@markwordseps\expandafter\@gls@longpl\expandafter + {\@gls@longpl}% + }% + {}% + \@glsxtr@if@markshortwords + {% + \expandafter\@glsxtr@markwordseps\expandafter\@gls@shortpl + \expandafter{\@gls@shortpl}% + }% + {% + \ifx\@gls@default@shortpl\@gls@shortpl + \else + \glsifcategoryattribute{\glscategorylabel}{insertdots}{true}% + {% + \expandafter\@glsxtr@insertdots\expandafter\@gls@shortpl + \expandafter{\@gls@shortpl}% + \appto\@gls@shortpl{\@}% + }% + {}% + \fi + }% \expandafter\glsshortpltok\expandafter{\@gls@shortpl}% \expandafter\glslongpltok\expandafter{\@gls@longpl}% \@gls@setup@default@access @@ -7769,8 +10561,8 @@ defined}{}% \protected@edef\@do@newglossaryentry{% \noexpand\newglossaryentry{\the\glslabeltok}% {% - type=\glsxtrabbrvtype,% - category=abbreviation,% + type={\glsxtrabbrvtype},% + category={\glscategorylabel},% short={\the\glsshorttok},% shortplural={\the\glsshortpltok},% long={\the\glslongtok},% @@ -7783,62 +10575,168 @@ defined}{}% }% \@do@newglossaryentry \@glsxtr@addabbreviationlist{\glsentrytype{\the\glslabeltok}}% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{first}% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{firstpl}% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{text}% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{plural}% + \glsexclapplyinnerfmtfield{\the\glslabeltok}{name}% \GlsXtrPostNewAbbreviation } \newcommand*{\glsxtrnewabbrevpresetkeyhook}[3]{} \newcommand*{\GlsXtrPostNewAbbreviation}{} \newcommand*{\newabbreviationhook}{} \newcommand*{\CustomAbbreviationFields}{} -\newcommand*{\glsxtrparen}[1]{(#1)} +\newcommand*{\glsxtrparen}[1]{% + \glsxtrgenentrytextfmt{(}#1\glsxtrgenentrytextfmt{)}} \newcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongfont{\glsaccesslong{#1}}#2\glsxtrfullsep{#1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{#1}}}% + \ifglsxtrinsertinside + \glsfirstlongfont{\glsaccessfmtlong{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsfirstlongfont{\glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont + {\glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}}% } \newcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongfont{\Glsaccesslong{#1}}#2\glsxtrfullsep{#1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{#1}}}% + \ifglsxtrinsertinside + \glsfirstlongfont{\Glsaccessfmtlong{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsfirstlongfont{\Glsaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont + {\glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}}% +} +\glsmfuaddmap{\glsxtrfullformat}{\Glsxtrfullformat} +\newcommand*{\GLSxtrfullformat}[2]{% + \ifglsxtrinsertinside + \glsfirstlongfont{\GLSaccessfmtlong{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsfirstlongfont{\GLSaccessfmtlong{}{\glsxtrgenentrytextfmt}{#1}}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont + {\GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}}% } +\glsmfublocker{\GLSxtrfullformat} \newcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongfont{\glsaccesslongpl{#1}}#2\glsxtrfullsep{#1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{#1}}}% + \ifglsxtrinsertinside + \glsfirstlongfont{\glsaccessfmtlongpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsfirstlongfont{\glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont + {\glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}}% } \newcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongfont{\Glsaccesslongpl{#1}}#2\glsxtrfullsep{#1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{#1}}}% + \ifglsxtrinsertinside + \glsfirstlongfont{\Glsaccessfmtlongpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsfirstlongfont{\Glsaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont + {\glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}}% +} +\glsmfuaddmap{\glsxtrfullplformat}{\Glsxtrfullplformat} +\newcommand*{\GLSxtrfullplformat}[2]{% + \ifglsxtrinsertinside + \glsfirstlongfont{\GLSaccessfmtlongpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsfirstlongfont{\GLSaccessfmtlongpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + \glsxtrfullsep{#1}% + \glsxtrparen{\protect\glsfirstabbrvfont + {\GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}}% } -\newcommand*{\glsxtrfullsep}[1]{\space} +\glsmfublocker{\GLSxtrfullplformat} +\newcommand*{\GLSxtr@fullformat@fallback}[2]{% + \glsuppercase{\glsxtrfullformat{##1}{##2}}% +}% +\newcommand*{\GLSxtr@fullplformat@fallback}[2]{% + \glsuppercase{\glsxtrfullplformat{##1}{##2}}% +}% +\newcommand*{\glsxtrfullsep}[1]{\glsxtrgenentrytextfmt{ }} \newcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat} \newcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat} +\newcommand*{\GLSxtrinlinefullformat}{\GLSxtrfullformat} \newcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat} \newcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat} +\newcommand*{\GLSxtrinlinefullplformat}{\GLSxtrfullplformat} \renewcommand*{\glsentryfull}[1]{\glsxtrinlinefullformat{#1}{}} \renewcommand*{\Glsentryfull}[1]{\Glsxtrinlinefullformat{#1}{}} +\glsmfuaddmap{\glsentryfull}{\Glsentryfull} \renewcommand*{\glsentryfullpl}[1]{\glsxtrinlinefullplformat{#1}{}} \renewcommand*{\Glsentryfullpl}[1]{\Glsxtrinlinefullplformat{#1}{}} +\glsmfuaddmap{\glsentryfullpl}{\Glsentryfullpl} \newcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{#1}} +\newrobustcmd*{\glsfirstinnerfmtabbrvfont}[1]{% + \glsfirstabbrvfont{\glsxtrgenentrytextfmt{#1}}% +} +\newcommand*{\glsfirstxpabbrvfont}[2]{% + \glsifcategoryattributetrue{#2}{markshortwords}% + {\protect\glsfirstabbrvfont{#1}}% + {\glsfirstinnerfmtabbrvfont{#1}}% +} \newcommand*{\glsfirstabbrvdefaultfont}[1]{\glsabbrvdefaultfont{#1}} \newcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{#1}} +\newrobustcmd*{\glsinnerfmtabbrvfont}[1]{% + \glsabbrvfont{\glsxtrgenentrytextfmt{#1}}% +} +\newcommand*{\glsxpabbrvfont}[2]{% + \glsifcategoryattributetrue{#2}{markshortwords}% + {\protect\glsabbrvfont{#1}}% + {\glsinnerfmtabbrvfont{#1}}% +} \newcommand*{\glsabbrvdefaultfont}[1]{#1} \newcommand*{\glslongfont}[1]{\glslongdefaultfont{#1}} +\newrobustcmd*{\glsinnerfmtlongfont}[1]{% + \glslongfont{\glsxtrgenentrytextfmt{#1}}% +} +\newcommand*{\glsxplongfont}[2]{% + \glsifcategoryattributetrue{#2}{markwords}% + {\protect\glslongfont{#1}}% + {\glsinnerfmtlongfont{#1}}% +} \newcommand*{\glslongdefaultfont}[1]{#1} \newcommand*{\glsfirstlongfont}[1]{\glslongfont{#1}} +\newrobustcmd*{\glsfirstinnerfmtlongfont}[1]{% + \glsfirstlongfont{\glsxtrgenentrytextfmt{#1}}% +} +\newcommand*{\glsfirstxplongfont}[2]{% + \glsifcategoryattributetrue{#2}{markwords}% + {\protect\glsfirstlongfont{#1}}% + {\glsfirstinnerfmtlongfont{#1}}% +} \newcommand*{\glsfirstlongdefaultfont}[1]{\glslongdefaultfont{#1}} \newcommand*{\glsxtrabbrvpluralsuffix}{\glspluralsuffix} \newcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix} +\newcommand*{\glsxtrrevert}[1]{\glsxtrdefaultrevert{#1}}% +\newcommand*{\glsxtrdefaultrevert}[1]{#1}% \newrobustcmd*{\glsxtrfull}{\@gls@hyp@opt\ns@glsxtrfull} \newcommand*\ns@glsxtrfull[2][]{% \new@ifnextchar[{\@glsxtr@full{#1}{#2}}% {\@glsxtr@full{#1}{#2}[]}% } \def\@glsxtr@full#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty + \glsxtrfullsaveinsert{#2}{#3}% \def\glscustomtext{\glsxtrinlinefullformat{#2}{#3}}% \glsxtrsetupfulldefs \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% @@ -7853,14 +10751,17 @@ defined}{}% \new@ifnextchar[{\@Glsxtr@full{#1}{#2}}% {\@Glsxtr@full{#1}{#2}[]}% } +\glsmfuaddmap{\glsxtrfull}{\Glsxtrfull} \def\@Glsxtr@full#1#2[#3]{% + \def\glsxtrcurrentfield{}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree - \let\glsinsert\@empty + \glsxtrfullsaveinsert{#2}{#3}% \def\glscustomtext{\Glsxtrinlinefullformat{#2}{#3}}% \glsxtrsetupfulldefs \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% @@ -7873,33 +10774,38 @@ defined}{}% {\@GLSxtr@full{#1}{#2}[]}% } \def\@GLSxtr@full#1#2[#3]{% + \def\glsxtrcurrentfield{}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree - \let\glsinsert\@empty - \def\glscustomtext{\mfirstucMakeUppercase{\glsxtrinlinefullformat{#2}{#3}}}% + \glsxtrfullsaveinsert{#2}{#3}% + \def\glscustomtext{\GLSxtrinlinefullformat{#2}{#3}}% \glsxtrsetupfulldefs \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } +\glsmfublocker{\GLSxtrfull} \newrobustcmd*{\glsxtrfullpl}{\@gls@hyp@opt\ns@glsxtrfullpl} \newcommand*\ns@glsxtrfullpl[2][]{% \new@ifnextchar[{\@glsxtr@fullpl{#1}{#2}}% {\@glsxtr@fullpl{#1}{#2}[]}% } \def\@glsxtr@fullpl#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty + \glsxtrfullsaveinsert{#2}{#3}% \def\glscustomtext{\glsxtrinlinefullplformat{#2}{#3}}% \glsxtrsetupfulldefs \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% @@ -7911,15 +10817,18 @@ defined}{}% \new@ifnextchar[{\@Glsxtr@fullpl{#1}{#2}}% {\@Glsxtr@fullpl{#1}{#2}[]}% } +\glsmfuaddmap{\glsxtrfullpl}{\Glsxtrfullpl} \def\@Glsxtr@fullpl#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree - \let\glsinsert\@empty + \glsxtrfullsaveinsert{#2}{#3}% \def\glscustomtext{\Glsxtrinlinefullplformat{#2}{#3}}% \glsxtrsetupfulldefs \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% @@ -7931,16 +10840,19 @@ defined}{}% \new@ifnextchar[{\@GLSxtr@fullpl{#1}{#2}}% {\@GLSxtr@fullpl{#1}{#2}[]}% } +\glsmfublocker{\GLSxtrfullpl} \def\@GLSxtr@fullpl#1#2[#3]{% + \def\glsxtrcurrentfield{}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree - \let\glsinsert\@empty + \glsxtrfullsaveinsert{#2}{#3}% \def\glscustomtext{% - \mfirstucMakeUppercase{\glsxtrinlinefullplformat{#2}{#3}}}% + \GLSxtrinlinefullplformat{#2}{#3}}% \glsxtrsetupfulldefs \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7951,129 +10863,136 @@ defined}{}% \new@ifnextchar[{\@glsxtrshort{#1}{#2}}{\@glsxtrshort{#1}{#2}[]}% } \def\@glsxtrshort#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \glsxtrshortformat{#2}{#3}{\glsabbrvfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\Glsxtrshort}{\@gls@hyp@opt\ns@Glsxtrshort} +\glsmfuaddmap{\glsxtrshort}{\Glsxtrshort} \newcommand*{\ns@Glsxtrshort}[2][]{% \new@ifnextchar[{\@Glsxtrshort{#1}{#2}}{\@Glsxtrshort{#1}{#2}[]}% } \def\@Glsxtrshort#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree - \let\glsinsert\@empty + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glsabbrvfont{\Glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \Glsxtrshortformat{#2}{#3}{\glsabbrvfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\GLSxtrshort}{\@gls@hyp@opt\ns@GLSxtrshort} +\glsmfublocker{\GLSxtrshort} \newcommand*{\ns@GLSxtrshort}[2][]{% \new@ifnextchar[{\@GLSxtrshort{#1}{#2}}{\@GLSxtrshort{#1}{#2}[]}% } \def\@GLSxtrshort#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree - \let\glsinsert\@empty - \def\glscustomtext{% - \mfirstucMakeUppercase - {\glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi - }% - }% + \glsxtrsaveinsert{#2}{#3}% + \def\glscustomtext{\GLSxtrshortformat{#2}{#3}{\glsabbrvfont}}% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } +\newcommand{\glsxtrsetlongfirstuse}[1]{% + \let\glsxtrifwasfirstuse\@firstoftwo +} \newrobustcmd*{\glsxtrlong}{\@gls@hyp@opt\ns@glsxtrlong} \newcommand*{\ns@glsxtrlong}[2][]{% \new@ifnextchar[{\@glsxtrlong{#1}{#2}}{\@glsxtrlong{#1}{#2}[]}% } \def\@glsxtrlong#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper - \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty + \glsxtrsetlongfirstuse{#2}% + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \glsxtrlongformat{#2}{#3}{\glslongfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\Glsxtrlong}{\@gls@hyp@opt\ns@Glsxtrlong} +\glsmfuaddmap{\glsxtrlong}{\Glsxtrlong} \newcommand*{\ns@Glsxtrlong}[2][]{% \new@ifnextchar[{\@Glsxtrlong{#1}{#2}}{\@Glsxtrlong{#1}{#2}[]}% } \def\@Glsxtrlong#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper - \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree - \let\glsinsert\@empty + \glsxtrsetlongfirstuse{#2}% + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glslongfont{\Glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \Glsxtrlongformat{#2}{#3}{\glslongfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\GLSxtrlong}{\@gls@hyp@opt\ns@GLSxtrlong} +\glsmfublocker{\GLSxtrlong} \newcommand*{\ns@GLSxtrlong}[2][]{% \new@ifnextchar[{\@GLSxtrlong{#1}{#2}}{\@GLSxtrlong{#1}{#2}[]}% } \def\@GLSxtrlong#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper - \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree - \let\glsinsert\@empty + \glsxtrsetlongfirstuse{#2}% + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \mfirstucMakeUppercase - {\glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi - }% + \GLSxtrlongformat{#2}{#3}{\glslongfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -8084,64 +11003,67 @@ defined}{}% \new@ifnextchar[{\@glsxtrshortpl{#1}{#2}}{\@glsxtrshortpl{#1}{#2}[]}% } \def\@glsxtrshortpl#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \glsxtrshortplformat{#2}{#3}{\glsabbrvfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\Glsxtrshortpl}{\@gls@hyp@opt\ns@Glsxtrshortpl} +\glsmfuaddmap{\glsxtrshortpl}{\Glsxtrshortpl} \newcommand*{\ns@Glsxtrshortpl}[2][]{% \new@ifnextchar[{\@Glsxtrshortpl{#1}{#2}}{\@Glsxtrshortpl{#1}{#2}[]}% } \def\@Glsxtrshortpl#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree - \let\glsinsert\@empty + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glsabbrvfont{\Glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \Glsxtrshortplformat{#2}{#3}{\glsabbrvfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\GLSxtrshortpl}{\@gls@hyp@opt\ns@GLSxtrshortpl} +\glsmfublocker{\GLSxtrshortpl} \newcommand*{\ns@GLSxtrshortpl}[2][]{% \new@ifnextchar[{\@GLSxtrshortpl{#1}{#2}}{\@GLSxtrshortpl{#1}{#2}[]}% } \def\@GLSxtrshortpl#1#2[#3]{% + \def\glsxtrcurrentfield{short}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \glssetabbrvfmt{\glscategory{#2}}% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper + \let\glsxtrifwasglslike\@secondoftwo \let\glsxtrifwasfirstuse\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree - \let\glsinsert\@empty + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \mfirstucMakeUppercase - {\glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi - }% + \GLSxtrshortplformat{#2}{#3}{\glsabbrvfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -8152,61 +11074,64 @@ defined}{}% \new@ifnextchar[{\@glsxtrlongpl{#1}{#2}}{\@glsxtrlongpl{#1}{#2}[]}% } \def\@glsxtrlongpl#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper - \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree - \let\glsinsert\@empty + \glsxtrsetlongfirstuse{#2}% + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \glsxtrlongplformat{#2}{#3}{\glslongfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\Glsxtrlongpl}{\@gls@hyp@opt\ns@Glsxtrlongpl} +\glsmfuaddmap{\glsxtrlongpl}{\Glsxtrlongpl} \newcommand*{\ns@Glsxtrlongpl}[2][]{% \new@ifnextchar[{\@Glsxtrlongpl{#1}{#2}}{\@Glsxtrlongpl{#1}{#2}[]}% } \def\@Glsxtrlongpl#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper - \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree - \let\glsinsert\@empty + \glsxtrsetlongfirstuse{#2}% + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \glslongfont{\Glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi + \Glsxtrlongplformat{#2}{#3}{\glslongfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook } \newrobustcmd*{\GLSxtrlongpl}{\@gls@hyp@opt\ns@GLSxtrlongpl} +\glsmfublocker{\GLSxtrlongpl} \newcommand*{\ns@GLSxtrlongpl}[2][]{% \new@ifnextchar[{\@GLSxtrlongpl{#1}{#2}}{\@GLSxtrlongpl{#1}{#2}[]}% } \def\@GLSxtrlongpl#1#2[#3]{% + \def\glsxtrcurrentfield{long}% \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}% {% \let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper - \let\glsxtrifwasfirstuse\@secondoftwo + \let\glsxtrifwasglslike\@secondoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree - \let\glsinsert\@empty + \glsxtrsetlongfirstuse{#2}% + \glsxtrsaveinsert{#2}{#3}% \def\glscustomtext{% - \mfirstucMakeUppercase - {\glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% - \ifglsxtrinsertinside\else#3\fi - }% + \GLSxtrlongplformat{#2}{#3}{\glslongfont}% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -8228,27 +11153,31 @@ defined}{}% {% \glscapscase {% - \glsxtrsubsequentplfmt{\glslabel}{\glsinsert}% + \expandafter\glsxtrsubsequentplfmt\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \Glsxtrsubsequentplfmt{\glslabel}{\glsinsert}% + \expandafter\Glsxtrsubsequentplfmt\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \mfirstucMakeUppercase - {\glsxtrsubsequentplfmt{\glslabel}{\glsinsert}}% + \expandafter\GLSxtrsubsequentplfmt\expandafter\glslabel + \expandafter{\glsinsert}% }% }% {% \glscapscase {% - \glsxtrsubsequentfmt{\glslabel}{\glsinsert}% + \expandafter\glsxtrsubsequentfmt\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \Glsxtrsubsequentfmt{\glslabel}{\glsinsert}% + \expandafter\Glsxtrsubsequentfmt\expandafter + \glslabel\expandafter{\glsinsert}% }% {% - \mfirstucMakeUppercase - {\glsxtrsubsequentfmt{\glslabel}{\glsinsert}}% + \expandafter\GLSxtrsubsequentfmt\expandafter + \glslabel\expandafter{\glsinsert}% }% }% }% @@ -8257,27 +11186,31 @@ defined}{}% {% \glscapscase {% - \glsxtrfullplformat{\glslabel}{\glsinsert}% + \expandafter\glsxtrfullplformat\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \Glsxtrfullplformat{\glslabel}{\glsinsert}% + \expandafter\Glsxtrfullplformat\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \mfirstucMakeUppercase - {\glsxtrfullplformat{\glslabel}{\glsinsert}}% + \expandafter\GLSxtrfullplformat\expandafter\glslabel + \expandafter{\glsinsert}% }% }% {% \glscapscase {% - \glsxtrfullformat{\glslabel}{\glsinsert}% + \expandafter\glsxtrfullformat\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \Glsxtrfullformat{\glslabel}{\glsinsert}% + \expandafter\Glsxtrfullformat\expandafter\glslabel + \expandafter{\glsinsert}% }% {% - \mfirstucMakeUppercase - {\glsxtrfullformat{\glslabel}{\glsinsert}}% + \expandafter\GLSxtrfullformat\expandafter\glslabel + \expandafter{\glsinsert}% }% }% }% @@ -8287,25 +11220,127 @@ defined}{}% }% } \newcommand*{\glsxtrsubsequentfmt}[2]{% - \glsabbrvfont{\glsaccessshort{#1}\ifglsxtrinsertinside #2\fi}% - \ifglsxtrinsertinside \else#2\fi + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\glsaccessshort{#1}\glsxtrgenentrytextfmt{#2}}% + \else + \glsabbrvfont{\glsaccessshort{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\glsaccessfmtshort{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsabbrvfont{\glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% } \let\glsxtrdefaultsubsequentfmt\glsxtrsubsequentfmt \newcommand*{\glsxtrsubsequentplfmt}[2]{% - \glsabbrvfont{\glsaccessshortpl{#1}\ifglsxtrinsertinside #2\fi}% - \ifglsxtrinsertinside \else#2\fi + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\glsaccessshortpl{#1}\glsxtrgenentrytextfmt{#2}}% + \else + \glsabbrvfont{\glsaccessshortpl{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\glsaccessfmtshortpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsabbrvfont{\glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% } \let\glsxtrdefaultsubsequentplfmt\glsxtrsubsequentplfmt \newcommand*{\Glsxtrsubsequentfmt}[2]{% - \glsabbrvfont{\Glsaccessshort{#1}\ifglsxtrinsertinside #2\fi}% - \ifglsxtrinsertinside \else#2\fi + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\Glsaccessshort{#1}\glsxtrgenentrytextfmt{#2}}% + \else + \glsabbrvfont{\Glsaccessshort{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\Glsaccessfmtshort{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsabbrvfont{\Glsaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% } \let\Glsxtrdefaultsubsequentfmt\Glsxtrsubsequentfmt +\glsmfuaddmap{\glsxtrsubsequentfmt}{\Glsxtrsubsequentfmt} \newcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glsabbrvfont{\Glsaccessshortpl{#1}\ifglsxtrinsertinside #2\fi}% - \ifglsxtrinsertinside \else#2\fi + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\Glsaccessshortpl{#1}\glsxtrgenentrytextfmt{#2}}% + \else + \glsabbrvfont{\Glsaccessshortpl{#1}}\glsxtrgenentrytextfmt{#2}% + \fi + }% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\Glsaccessfmtshortpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsabbrvfont{\Glsaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsxtrgenentrytextfmt{#2}% + \fi + }% } \let\Glsxtrdefaultsubsequentplfmt\Glsxtrsubsequentplfmt +\glsmfuaddmap{\glsxtrsubsequentplfmt}{\Glsxtrsubsequentplfmt} +\newcommand*{\GLSxtrsubsequentfmt}[2]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\GLSaccessshort{#1}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}}% + \else + \glsabbrvfont{\GLSaccessshort{#1}}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\GLSaccessfmtshort{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsabbrvfont{\GLSaccessfmtshort{}{\glsxtrgenentrytextfmt}{#1}}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% +} +\glsmfublocker{\GLSxtrsubsequentfmt} +\let\GLSxtrdefaultsubsequentfmt\GLSxtrsubsequentfmt +\newcommand*{\GLSxtrsubsequentplfmt}[2]{% + \glsifattribute{#1}{markshortwords}{true}% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\GLSaccessshortpl{#1}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}}% + \else + \glsabbrvfont{\GLSaccessshortpl{#1}}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% + {% + \ifglsxtrinsertinside + \glsabbrvfont{\GLSaccessfmtshortpl{#2}{\glsxtrgenentrytextfmt}{#1}}% + \else + \glsabbrvfont{\GLSaccessfmtshortpl{}{\glsxtrgenentrytextfmt}{#1}}% + \glsuppercase{\glsxtrgenentrytextfmt{#2}}% + \fi + }% +} +\glsmfublocker{\GLSxtrsubsequentplfmt} +\let\GLSxtrdefaultsubsequentplfmt\GLSxtrsubsequentplfmt \newcommand*{\setabbreviationstyle}[2][abbreviation]{% \ifcsundef{@glsabbrv@dispstyle@setup@#2} {% @@ -8341,6 +11376,83 @@ defined}{}% \newcommand*{\glsxtr@applyabbrvfmt}[1]{% \csuse{@glsabbrv@dispstyle@fmts@#1}% } +\newcommand*{\glsxtrsetcomplexstyle}[2]{% + \csdef{@glsxtr@has@complexstyle@#1}{#2}% +} +\newcommand*{\glsxtr@do@ifcomplexstyle@allcaps}[2]{% + \ifcsdef{@glsxtr@has@complexstyle@#1}% + {% + \ifnum\csuse{@glsxtr@has@complexstyle@#1}<1 + \else + \ifnum\csuse{@glsxtr@has@complexstyle@#1}<3 + #2% + \fi + \fi + }% + {}% +} +\newcommand*{\glsxtr@do@ifcomplexstyle@insert}[2]{% + \ifcsdef{@glsxtr@has@complexstyle@#1}% + {% + \ifnum\csuse{@glsxtr@has@complexstyle@#1}<2 + \else + #2% + \fi + }% + {}% +} +\newcommand*{\GlossariesAbbrStyleTooComplexWarning}[2]{% + \GlossariesExtraWarning{Abbreviation style used by `#1' too complex #2}% +} +\newcommand*{\glsxtr@check@complexstyle}[2]{% + \ifx\glscapscase\@thirdofthree + \glsxtr@do@ifcomplexstyle@allcaps{#1}% + {% + \glsxtrifwasfirstuse + {% + \glsifplural + {% + \GlossariesAbbrStyleTooComplexWarning{#1}{for \string\GLSfirstplural. + Use \string\GLSpl{#1} or \string\GLSxtrfullpl{#1} instead. + Switching off all-caps% + }% + }% + {% + \GlossariesAbbrStyleTooComplexWarning{#1}{for \string\GLSfirst. + Use \string\GLS{#1} or \string\GLSxtrfull{#1} instead. + Switching off all-caps% + }% + }% + }% + {% + \glsifplural + {% + \GlossariesAbbrStyleTooComplexWarning{#1}{for \string\GLSplural. + Use \string\GLSpl{#1} or \string\GLSxtrshortpl{#1} instead. + Switching off all-caps% + }% + }% + {% + \GlossariesAbbrStyleTooComplexWarning{#1}{for \string\GLStext. + Use \string\GLS{#1} or \string\GLSxtrshort{#1} instead. + Switching off all-caps% + }% + }% + }% + \let\glscapscase\@firstofthree + }% + \fi + \ifstrempty{#2}{}% + {% + \glsxtr@do@ifcomplexstyle@insert{#1}% + {% + \GlossariesAbbrStyleTooComplexWarning{#1}% + {to support insert argument with commands like \string\glsfirst\space or + \string\glstext. Unexpected results may occur. Use commands + like \string\gls\space or \string\glsxtrshort\space instead}% + }% + }% +} \newcommand*{\newabbreviationstyle}[3]{% \ifcsdef{@glsabbrv@dispstyle@setup@#1} {% @@ -8354,12 +11466,18 @@ defined}{}% \csdef{@glsabbrv@dispstyle@fmts@#1}{% \renewcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat}% \renewcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat}% + \renewcommand*{\GLSxtrinlinefullformat}{\GLSxtrfullformat}% \renewcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat}% \renewcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat}% + \renewcommand*{\GLSxtrinlinefullplformat}{\GLSxtrfullplformat}% + \renewcommand*{\GLSxtrfullformat}{\GLSxtr@fullformat@fallback}% + \renewcommand*{\GLSxtrfullplformat}{\GLSxtr@fullplformat@fallback}% \let\glsxtrsubsequentfmt\glsxtrdefaultsubsequentfmt \let\glsxtrsubsequentplfmt\glsxtrdefaultsubsequentplfmt \let\Glsxtrsubsequentfmt\Glsxtrdefaultsubsequentfmt \let\Glsxtrsubsequentplfmt\Glsxtrdefaultsubsequentplfmt + \let\GLSxtrsubsequentfmt\GLSxtrdefaultsubsequentfmt + \let\GLSxtrsubsequentplfmt\GLSxtrdefaultsubsequentplfmt #3}% }% } @@ -8375,8 +11493,18 @@ defined}{}% \csdef{@glsabbrv@dispstyle@fmts@#1}{% \renewcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat}% \renewcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat}% + \renewcommand*{\GLSxtrinlinefullformat}{\GLSxtrfullformat}% \renewcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat}% \renewcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat}% + \renewcommand*{\GLSxtrinlinefullplformat}{\GLSxtrfullplformat}% + \renewcommand*{\GLSxtrfullformat}{\GLSxtr@fullformat@fallback}% + \renewcommand*{\GLSxtrfullplformat}{\GLSxtr@fullplformat@fallback}% + \let\glsxtrsubsequentfmt\glsxtrdefaultsubsequentfmt + \let\glsxtrsubsequentplfmt\glsxtrdefaultsubsequentplfmt + \let\Glsxtrsubsequentfmt\Glsxtrdefaultsubsequentfmt + \let\Glsxtrsubsequentplfmt\Glsxtrdefaultsubsequentplfmt + \let\GLSxtrsubsequentfmt\GLSxtrdefaultsubsequentfmt + \let\GLSxtrsubsequentplfmt\GLSxtrdefaultsubsequentplfmt #3}% }% } @@ -8417,4266 +11545,7 @@ defined}{}% } \newif\ifglsxtrinsertinside \glsxtrinsertinsidefalse -\newcommand*{\glsxtrlongshortname}{% - \protect\glsabbrvfont{\the\glsshorttok}% -} -\newabbreviationstyle{long-short}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% -} -\setabbreviationstyle{long-short} -\newcommand*{\glsxtrlongshortdescsort}{% - \expandonce\glsxtrorglong\space (\expandonce\glsxtrorgshort)% -} -\newcommand*{\glsxtrlongshortdescname}{% - \protect\glslongfont{\the\glslongtok} - \glsxtrparen{\protect\glsabbrvfont{\the\glsshorttok}}% -} -\newabbreviationstyle{long-short-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlongfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-short}% -} -\newcommand*{\glsxtrshortlongname}{% - \protect\glsabbrvfont{\the\glsshorttok}% -} -\newabbreviationstyle{short-long}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongfont{\the\glslongpltok}}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% - }% -} -\newcommand*{\glsxtrshortlongdescsort}{\the\glsshorttok} -\newcommand*{\glsxtrshortlongdescname}{% - \protect\glsabbrvfont{\the\glsshorttok} - \glsxtrparen{\protect\glslongfont{\the\glslongtok}}% -} -\newabbreviationstyle{short-long-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname}, - sort={\glsxtrshortlongdescsort}, - first={\protect\glsfirstabbrvfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongfont{\the\glslongpltok}}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-long}% -} -\newcommand*{\glsfirstlongfootnotefont}[1]{\glslongfootnotefont{#1}}% -\newcommand*{\glslongfootnotefont}[1]{\glslongdefaultfont{#1}}% -\newcommand*{\glsxtrabbrvfootnote}[2]{\footnote{#2}} -\newcommand*{\glsxtrfootnotename}{% - \protect\glsabbrvfont{\the\glsshorttok}% -} -\newabbreviationstyle{footnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\letabbreviationstyle{short-footnote}{footnote} -\newcommand*{\glsxtrfootnotedescname}{% - \protect\glsabbrvfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \protect\glsxtrparen{\protect\glslongfont{\the\glslongtok}}% -} -\newcommand*{\glsxtrfootnotedescsort}{\the\glsshorttok} -\newabbreviationstyle{short-footnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{footnote}% -} -\letabbreviationstyle{footnote-desc}{short-footnote-desc} -\newabbreviationstyle{postfootnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\letabbreviationstyle{short-postfootnote}{postfootnote} -\newabbreviationstyle{short-postfootnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{postfootnote}% -} -\letabbreviationstyle{postfootnote-desc}{short-postfootnote-desc} -\newcommand*{\glsxtrshortnolongname}{% - \protect\glsabbrvfont{\the\glsshorttok}% -} -\newabbreviationstyle{short}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortnolongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}}, - text={\protect\glsabbrvfont{\the\glsshorttok}}, - plural={\protect\glsabbrvfont{\the\glsshortpltok}}, - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvfont{\glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvfont{\glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvfont{\glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\Glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvfont{\glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\Glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\setabbreviationstyle[acronym]{short} -\letabbreviationstyle{short-nolong}{short} -\newabbreviationstyle{short-nolong-noreg}% -{% - \GlsXtrUseAbbrStyleSetup{short-nolong}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-nolong}% -} -\newcommand*{\glsxtrshortdescname}{% - \protect\glsabbrvfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \protect\glsxtrparen{\protect\glslongfont{\the\glslongtok}}% -} -\newabbreviationstyle{short-desc}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortdescname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}}, - text={\protect\glsabbrvfont{\the\glsshorttok}}, - plural={\protect\glsabbrvfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-nolong-desc}{short-desc} -\newabbreviationstyle{short-nolong-desc-noreg}% -{% - \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% -} -\newabbreviationstyle{nolong-short}% -{% - \GlsXtrUseAbbrStyleSetup{short-nolong}% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-nolong}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongfont{\glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongfont{\glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongfont{\glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\Glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongfont{\glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvfont{\Glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{nolong-short-noreg}% -{% - \GlsXtrUseAbbrStyleSetup{nolong-short}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{nolong-short}% -} -\newcommand*{\glsxtrlongnoshortdescname}{% - \protect\glslongfont{\the\glslongtok}% -} -\newabbreviationstyle{long-desc}% -{% - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortdescname}, - sort={\the\glslongtok}, - first={\protect\glsfirstlongfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongfont{\the\glslongpltok}}, - text={\glslongfont{\the\glslongtok}}, - plural={\glslongfont{\the\glslongpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{long-noshort-desc}{long-desc} -\newabbreviationstyle{long-noshort-desc-noreg}% -{% - \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% -} -\newcommand*{\glsxtrlongnoshortname}{% - \protect\glsabbrvfont{\the\glsshorttok}% -} -\newabbreviationstyle{long}% -{% - \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongfont{\the\glslongpltok}}, - text={\glslongfont{\the\glslongtok}}, - plural={\glslongfont{\the\glslongpltok}},% - description={\the\glslongtok}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-desc}% -} -\letabbreviationstyle{long-noshort}{long} -\newabbreviationstyle{long-noshort-noreg}% -{% - \GlsXtrUseAbbrStyleSetup{long-noshort}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-noshort}% -} -\newcommand*{\glsxtrscfont}[1]{\textsc{#1}} -\newcommand*{\glsabbrvscfont}{\glsxtrscfont} -\newcommand*{\glsxtrfirstscfont}[1]{\glsabbrvscfont{#1}} -\newcommand*{\glsfirstabbrvscfont}{\glsxtrfirstscfont} -\newcommand*{\glsxtrscsuffix}{\protect\glstextup{\glsxtrabbrvpluralsuffix}} -\newabbreviationstyle{long-short-sc}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}},% - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-short-sc-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-short-sc}% -} -\newabbreviationstyle{short-sc-long}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% -} -\newabbreviationstyle{short-sc-long-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname}, - sort={\glsxtrshortlongdescsort}, - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sc-long}% -} -\newabbreviationstyle{short-sc}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortnolongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}}, - text={\protect\glsabbrvscfont{\the\glsshorttok}}, - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}, - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvscfont{\glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvscfont{\Glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvscfont{\Glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-sc-nolong}{short-sc} -\newabbreviationstyle{short-sc-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortdescname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}}, - text={\protect\glsabbrvscfont{\the\glsshorttok}}, - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-sc-nolong-desc}{short-sc-desc} -\newabbreviationstyle{nolong-short-sc}% -{% - \GlsXtrUseAbbrStyleSetup{short-sc-nolong}% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sc-nolong}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongdefaultfont{\glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongdefaultfont{\glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongdefaultfont{\Glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongdefaultfont{\Glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-noshort-sc}% -{% - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}}, - text={\protect\glslongdefaultfont{\the\glslongtok}}, - plural={\protect\glslongdefaultfont{\the\glslongpltok}},% - description={\the\glslongtok}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\@glsxtr@deprecated@abbrstyle{long-sc}{long-noshort-sc} -\newabbreviationstyle{long-noshort-sc-desc}% -{% - \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvscfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\@glsxtr@deprecated@abbrstyle{long-desc-sc}{long-noshort-sc-desc} -\newabbreviationstyle{short-sc-footnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\@glsxtr@deprecated@abbrstyle{footnote-sc}{short-sc-footnote} -\newabbreviationstyle{short-sc-footnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sc-footnote}% -} -\newabbreviationstyle{short-sc-postfootnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvscfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvscfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\@glsxtr@deprecated@abbrstyle{postfootnote-sc}{short-sc-postfootnote} -\newabbreviationstyle{short-sc-postfootnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvscfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}},% - text={\protect\glsabbrvscfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sc-postfootnote}% -} -\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} -\newcommand*{\glsabbrvsmfont}{\glsxtrsmfont} -\newcommand*{\glsxtrfirstsmfont}[1]{\glsabbrvsmfont{#1}} -\newcommand*{\glsfirstabbrvsmfont}{\glsxtrfirstsmfont} -\newcommand*{\glsxtrsmsuffix}{\glsxtrabbrvpluralsuffix} -\newabbreviationstyle{long-short-sm}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}},% - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-short-sm-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-short-sm}% -} -\newabbreviationstyle{short-sm-long}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% -} -\newabbreviationstyle{short-sm-long-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname}, - sort={\glsxtrshortlongdescsort}, - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sm-long}% -} -\newabbreviationstyle{short-sm}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortnolongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}, - text={\protect\glsabbrvsmfont{\the\glsshorttok}}, - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}, - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvsmfont{\glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvsmfont{\Glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvsmfont{\Glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-sm-nolong}{short-sm} -\newabbreviationstyle{short-sm-desc}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortdescname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}, - text={\protect\glsabbrvsmfont{\the\glsshorttok}}, - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-sm-nolong-desc}{short-sm-desc} -\newabbreviationstyle{nolong-short-sm}% -{% - \GlsXtrUseAbbrStyleSetup{short-sm-nolong}% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sm-nolong}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongdefaultfont{\glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongdefaultfont{\glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongdefaultfont{\Glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongdefaultfont{\Glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-noshort-sm}% -{% - \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}}, - text={\protect\glslongdefaultfont{\the\glslongtok}}, - plural={\protect\glslongdefaultfont{\the\glslongpltok}},% - description={\the\glslongtok}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\@glsxtr@deprecated@abbrstyle{long-sm}{long-noshort-sm} -\newabbreviationstyle{long-noshort-sm-desc}% -{% - \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsmfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\@glsxtr@deprecated@abbrstyle{long-desc-sm}{long-noshort-sm-desc} -\newabbreviationstyle{short-sm-footnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\@glsxtr@deprecated@abbrstyle{footnote-sm}{short-sm-footnote} -\newabbreviationstyle{short-sm-footnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sm-footnote}% -} -\newabbreviationstyle{short-sm-postfootnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvsmfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvsmfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\@glsxtr@deprecated@abbrstyle{postfootnote-sm}{short-sm-postfootnote} -\newabbreviationstyle{short-sm-postfootnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}},% - text={\protect\glsabbrvsmfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-sm-postfootnote}% -} -\newcommand*{\glsabbrvemfont}[1]{\emph{#1}}% -\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}}% -\newcommand*{\glsxtremsuffix}{\glsxtrabbrvpluralsuffix} -\newcommand*{\glsfirstlongemfont}[1]{\glslongemfont{#1}}% -\newcommand*{\glslongemfont}[1]{\emph{#1}}% -\newabbreviationstyle{long-short-em}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}},% - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-short-em-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-short-em}% -} -\newabbreviationstyle{long-em-short-em}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongemfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}},% - description={\protect\glslongemfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-em-short-em-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlongemfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-em-short-em}% -} -\newabbreviationstyle{short-em-long}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% -} -\newabbreviationstyle{short-em-long-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname}, - sort={\glsxtrshortlongdescsort}, - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-em-long}% -} -\newabbreviationstyle{short-em-long-em}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - description={\protect\glslongemfont{\the\glslongtok}},% - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongemfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongemfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongemfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongemfont{\glsaccesslongpl{##1}}}% - }% -} -\newabbreviationstyle{short-em-long-em-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname},% - sort={\glsxtrshortlongdescsort},% - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlongemfont{\the\glslongpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-em-long-em}% -} -\newabbreviationstyle{short-em}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortnolongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}}, - text={\protect\glsabbrvemfont{\the\glsshorttok}}, - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}, - description={\the\glslongtok}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvemfont{\glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstabbrvemfont{\Glsaccessshort{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstabbrvemfont{\Glsaccessshortpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-em-nolong}{short-em} -\newabbreviationstyle{short-em-desc}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortdescname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}}, - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}}, - text={\protect\glsabbrvemfont{\the\glsshorttok}}, - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongdefaultfont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\letabbreviationstyle{short-em-nolong-desc}{short-em-desc} -\newabbreviationstyle{nolong-short-em}% -{% - \GlsXtrUseAbbrStyleSetup{short-em-nolong}% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-em-nolong}% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongdefaultfont{\glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongdefaultfont{\glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \protect\glsfirstlongdefaultfont{\Glsaccesslong{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \protect\glsfirstlongdefaultfont{\Glsaccesslongpl{##1}% - \ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% -} -\newabbreviationstyle{long-noshort-em}% -{% - \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongdefaultfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}}, - text={\protect\glslongdefaultfont{\the\glslongtok}}, - plural={\protect\glslongdefaultfont{\the\glslongpltok}},% - description={\the\glslongtok}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\@glsxtr@deprecated@abbrstyle{long-em}{long-noshort-em} -\newabbreviationstyle{long-em-noshort-em}% -{% - \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongemfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}}, - text={\protect\glslongemfont{\the\glslongtok}}, - plural={\protect\glslongemfont{\the\glslongpltok}},% - description={\protect\glslongemfont{\the\glslongtok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\newabbreviationstyle{long-em-noshort-em-noreg}% -{% - \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel - \GlsXtrUseAbbrStyleSetup{long-em-noshort-em}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-em-noshort-em}% -} -\newabbreviationstyle{long-noshort-em-desc}% -{% - \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongdefaultfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongdefaultfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\@glsxtr@deprecated@abbrstyle{long-desc-em}{long-noshort-em-desc} -\newabbreviationstyle{long-em-noshort-em-desc}% -{% - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortdescname}, - sort={\the\glslongtok}, - first={\protect\glsfirstlongemfont{\the\glslongtok}}, - firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}}, - text={\glslongemfont{\the\glslongtok}}, - plural={\glslongemfont{\the\glslongpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{regular}{true}}% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glslongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glslongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glslongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glslongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside ##2\fi}% - \ifglsxtrinsertinside \else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongemfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongemfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvemfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongemfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongemfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% -} -\newabbreviationstyle{long-em-noshort-em-desc-noreg}% -{% - \GlsXtrUseAbbrStyleSetup{long-em-noshort-em-desc}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-em-noshort-em-desc}% -} -\newabbreviationstyle{short-em-footnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \protect\glsxtrabbrvfootnote{##1}% - {\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\@glsxtr@deprecated@abbrstyle{footnote-em}{short-em-footnote} -\newabbreviationstyle{short-em-footnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}% - \protect\glsxtrabbrvfootnote{\the\glslabeltok}% - {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-em-footnote}% -} -\newabbreviationstyle{short-em-postfootnote}% -{% - \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotename}, - sort={\the\glsshorttok}, - description={\the\glslongtok},% - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvemfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslong{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvemfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% - \glsxtrparen{\glsfirstlongfootnotefont{\glsaccesslongpl{##1}}}% - }% -} -\@glsxtr@deprecated@abbrstyle{postfootnote-em}{short-em-postfootnote} -\newabbreviationstyle{short-em-postfootnote-desc}% -{% - \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrfootnotedescname}, - sort={\glsxtrfootnotedescsort}, - first={\protect\glsfirstabbrvemfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}},% - text={\protect\glsabbrvemfont{\the\glsshorttok}},% - plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}% - {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% - \renewcommand*{\glsxtrsetupfulldefs}{% - \let\glsxtrifwasfirstuse\@secondoftwo - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-em-postfootnote}% -} -\newcommand*{\glsxtruserfield}{useri} -\ifdef\glscurrentfieldvalue -{ - \newcommand*{\glsxtruserparen}[2]{% - \glsxtrfullsep{#2}% - \glsxtrparen - {#1\ifglshasfield{\glsxtruserfield}{#2}{, \glscurrentfieldvalue}{}}% - } -} -{ - \newcommand*{\glsxtruserparen}[2]{% - \glsxtrfullsep{#2}% - \glsxtrparen - {#1\ifglshasfield{\glsxtruserfield}{#2}{, \@glo@thisvalue}{}}% - } -} -\newcommand*{\glsabbrvuserfont}[1]{\glsabbrvdefaultfont{#1}} -\newcommand*{\glsfirstabbrvuserfont}[1]{\glsabbrvuserfont{#1}} -\newcommand*{\glslonguserfont}[1]{\glslongdefaultfont{#1}} -\newcommand*{\glsfirstlonguserfont}[1]{\glslonguserfont{#1}} -\newcommand*{\glsxtrusersuffix}{\glsxtrabbrvpluralsuffix} -\newcommand*{\glsuserdescription}[2]{\glslonguserfont{#1}} -\newabbreviationstyle{long-short-user}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}% - \protect\glsxtruserparen{\protect\glsfirstabbrvuserfont{\the\glsshorttok}}% - {\the\glslabeltok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}% - \protect\glsxtruserparen - {\protect\glsfirstabbrvuserfont{\the\glsshortpltok}}{\the\glslabeltok}},% - text={\protect\glsabbrvuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% - description={\protect\glsuserdescription{\the\glslongtok}% - {\the\glslabeltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% - }% -} -\newabbreviationstyle{long-postshort-user}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% - text={\protect\glsabbrvuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% - description={\protect\glsuserdescription{\the\glslongtok}% - {\the\glslabeltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtruserparen - {\glsfirstabbrvuserfont{\glsentryshort{\glslabel}}}% - {\glslabel}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshort{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvuserfont{\glsaccessshortpl{##1}}}{##1}% - }% -} -\newcommand*{\glsabbrvscuserfont}{\glsabbrvscfont}% -\newcommand*{\glsfirstabbrvscuserfont}{\glsabbrvscuserfont}% -\newcommand*{\glsxtrscusersuffix}{\glsxtrscsuffix} -\newcommand*{\glsxtrlongshortscusername}{% - \protect\glsabbrvscuserfont{\the\glsshorttok}% -} -\newabbreviationstyle{long-postshort-sc-user}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortscusername}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% - text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}},% - description={\protect\glsuserdescription{\the\glslongtok}% - {\the\glslabeltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtruserparen - {\glsfirstabbrvscuserfont{\glsentryshort{\glslabel}}}% - {\glslabel}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrscusersuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvscuserfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvscuserfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlonguserfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshort{##1}}}{##1}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlonguserfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshortpl{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshort{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlonguserfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstabbrvscuserfont{\glsaccessshortpl{##1}}}{##1}% - }% -} -\newcommand*{\glsxtrlongshortuserdescname}{% - \protect\glslonguserfont{\the\glslongtok}% - \protect\glsxtruserparen - {\protect\glsabbrvuserfont{\the\glsshorttok}}{\the\glslabeltok}% -} -\newabbreviationstyle{long-postshort-user-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortuserdescname}, - sort={\the\glslongtok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% - text={\protect\glsabbrvuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtruserparen - {\glsfirstabbrvuserfont{\glsentryshort{\glslabel}}}% - {\glslabel}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-postshort-user}% -} -\newcommand*{\glsxtrlongshortscuserdescname}{% - \protect\glslonguserfont{\the\glslongtok}% - \protect\glsxtruserparen - {\protect\glsabbrvscuserfont{\the\glsshorttok}}{\the\glslabeltok}% -} -\newabbreviationstyle{long-postshort-sc-user-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortscuserdescname}, - sort={\the\glslongtok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% - text={\protect\glsabbrvscuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvscuserfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtruserparen - {\glsfirstabbrvscuserfont{\glsentryshort{\glslabel}}}% - {\glslabel}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-postshort-sc-user}% -} -\newabbreviationstyle{short-postlong-user}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% - text={\protect\glsabbrvuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},% - description={\protect\glsuserdescription{\the\glslongtok}% - {\the\glslabeltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtruserparen - {\glsfirstlonguserfont{\glsentrylong{\glslabel}}}% - {\glslabel}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvuserfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvuserfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvuserfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvuserfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvuserfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvuserfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvuserfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvuserfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% - }% -} -\newcommand*{\glsxtrshortlonguserdescname}{% - \protect\glsabbrvuserfont{\the\glsshorttok}% - \protect\glsxtruserparen - {\protect\glslonguserfont{\the\glslongpltok}}% - {\the\glslabeltok}% -} -\newabbreviationstyle{short-postlong-user-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlonguserdescname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonguserfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}},% - text={\protect\glsabbrvuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtruserparen - {\glsfirstlonguserfont{\glsentrylong{\glslabel}}}% - {\glslabel}% - }% - {}% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-postlong-user}% -} -\newabbreviationstyle{long-short-user-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortuserdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlonguserfont{\the\glslongtok}% - \protect\glsxtruserparen{\protect\glsfirstabbrvuserfont{\the\glsshorttok}}% - {\the\glslabeltok}},% - firstplural={\protect\glsfirstlonguserfont{\the\glslongpltok}% - \protect\glsxtruserparen - {\protect\glsfirstabbrvuserfont{\the\glsshortpltok}}{\the\glslabeltok}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-short-user}% -} -\newabbreviationstyle{short-long-user}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - description={\protect\glsuserdescription{\the\glslongtok}% - {\the\glslabeltok}},% - first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}% - \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}% - {\the\glslabeltok}},% - firstplural={\protect\glsfirstabbrvuserfont{\the\glsshortpltok}% - \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongpltok}}% - {\the\glslabeltok}},% - text={\protect\glsabbrvuserfont{\the\glsshorttok}},% - plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvuserfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvuserfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvuserfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvuserfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslong{##1}}}{##1}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvuserfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtruserparen{\glsfirstlonguserfont{\glsaccesslongpl{##1}}}{##1}% - }% -} -\newabbreviationstyle{short-long-user-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlonguserdescname}, - sort={\glsxtrshortlongdescsort},% - first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}% - \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}% - {\the\glslabeltok}},% - firstplural={\protect\glsfirstabbrvuserfont{\the\glsshortpltok}% - \protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongpltok}}% - {\the\glslabeltok}},% - text={\protect\glsabbrvfont{\the\glsshorttok}},% - plural={\protect\glsabbrvfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-long-user}% -} -\newrobustcmd*{\glsxtrifhyphenstart}[3]{% - \ifx\glsinsert#1\relax - \expandafter\@glsxtrifhyphenstart#1\relax\relax - \@end@glsxtrifhyphenstart{#2}{#3}% - \else - \@glsxtrifhyphenstart#1\relax\relax\@end@glsxtrifhyphenstart{#2}{#3}% - \fi -} -\def\@glsxtrifhyphenstart#1#2\@end@glsxtrifhyphenstart#3#4{% - \ifx-#1\relax#3\else #4\fi -} -\newcommand*{\glsxtrlonghyphenshort}[4]{% - {% - \glsxtrifhyphenstart{#4}{\def\glsxtrwordsep{-}}{}% - \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside{#4}\fi}% - \ifglsxtrinsertinside\else{#4}\fi - \glsxtrfullsep{#1}% - \glsxtrparen{\glsfirstabbrvhyphenfont{#3\ifglsxtrinsertinside{#4}\fi}% - \ifglsxtrinsertinside\else{#4}\fi}% - }% -} -\newcommand*{\glsabbrvhyphenfont}{\glsabbrvdefaultfont}% -\newcommand*{\glsfirstabbrvhyphenfont}{\glsabbrvhyphenfont}% -\newcommand*{\glslonghyphenfont}{\glslongdefaultfont}% -\newcommand*{\glsfirstlonghyphenfont}{\glslonghyphenfont}% -\newcommand*{\glsxtrhyphensuffix}{\glsxtrabbrvpluralsuffix} -\newabbreviationstyle{long-hyphen-short-hyphen}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonghyphenfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% - description={\protect\glslonghyphenfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrhyphensuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsxtrlonghyphenshort{##1}{\glsaccesslong{##1}}{\glsaccessshort{##1}}{##2}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsxtrlonghyphenshort{##1}{\glsaccesslongpl{##1}}% - {\glsaccessshortpl{##1}}{##2}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsxtrlonghyphenshort{##1}{\Glsaccesslong{##1}}{\glsaccessshort{##1}}{##2}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsxtrlonghyphenshort{##1}{\Glsaccesslongpl{##1}}% - {\glsaccessshortpl{##1}}{##2}% - }% -} -\newabbreviationstyle{long-hyphen-short-hyphen-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort}, - first={\protect\glsfirstlonghyphenfont{\the\glslongtok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}}},% - firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-hyphen-short-hyphen}% -} -\newcommand*{\glsxtrlonghyphennoshort}[3]{% - {% - \glsxtrifhyphenstart{#3}{\def\glsxtrwordsep{-}}{}% - \glsfirstlonghyphenfont{#2\ifglsxtrinsertinside{#3}\fi}% - \ifglsxtrinsertinside\else{#3}\fi - }% -} -\newabbreviationstyle{long-hyphen-noshort-desc-noreg}% -{% - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortdescname}, - sort={\expandonce\glsxtrorglong}, - first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% - text={\protect\glslonghyphenfont{\the\glslongtok}},% - plural={\protect\glslonghyphenfont{\the\glslongpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-hyphen-short-hyphen}% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glsxtrlonghyphennoshort{##1}{\glsaccesslong{##1}}{##2}% - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glsxtrlonghyphennoshort{##1}{\glsaccesslongpl{##1}}{##2}% - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glsxtrlonghyphennoshort{##1}{\Glsaccesslong{##1}}{##2}% - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glsxtrlonghyphennoshort{##1}{\Glsaccesslongpl{##1}}{##2}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\glsaccesslong{##1}}{##2}% - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\glsaccesslongpl{##1}}{##2}% - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\Glsaccesslong{##1}}{##2}% - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\Glsaccesslongpl{##1}}{##2}% - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\glsaccesslong{##1}}{##2}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\glsaccesslongpl{##1}}{##2}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\Glsaccesslong{##1}}{##2}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsxtrlonghyphennoshort{##1}{\Glsaccesslongpl{##1}}{##2}% - }% -} -\newabbreviationstyle{long-hyphen-noshort-noreg}% -{% - \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongnoshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% - text={\protect\glslonghyphenfont{\the\glslongtok}},% - plural={\protect\glslonghyphenfont{\the\glslongpltok}},% - description={\the\glslongtok}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-hyphen-noshort-desc-noreg}% -} -\newcommand*{\glsxtrlonghyphen}[3]{% - {% - \glsxtrifhyphenstart{#3}{\def\glsxtrwordsep{-}}{}% - \glsfirstlonghyphenfont{#1}% - }% -} -\newcommand*{\glsxtrposthyphenshort}[2]{% - {% - \glsxtrifhyphenstart{#2}{\def\glsxtrwordsep{-}}{}% - \ifglsxtrinsertinside{\glsfirstlonghyphenfont{#2}}\else{#2}\fi - \glsxtrfullsep{#1}% - \glsxtrparen - {\glsfirstabbrvhyphenfont{\glsentryshort{#1}\ifglsxtrinsertinside{#2}\fi}% - \ifglsxtrinsertinside\else{#2}\fi - }% - }% -} -\newcommand*{\glsxtrposthyphensubsequent}[2]{% - \glsabbrvfont{\ifglsxtrinsertinside {#2}\fi}% - \ifglsxtrinsertinside \else{#2}\fi -} -\newabbreviationstyle{long-hyphen-postshort-hyphen}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% - description={\protect\glslonghyphenfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrposthyphenshort{\glslabel}{\glsinsert}% - }% - {% - \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% - }% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glsabbrvfont{\glsaccessshort{##1}}% - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glsabbrvfont{\glsaccessshortpl{##1}}% - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glsabbrvfont{\Glsaccessshort{##1}}% - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glsabbrvfont{\Glsaccessshortpl{##1}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsxtrlonghyphen{\glsaccesslong{##1}}{##1}{##2}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsxtrlonghyphen{\glsaccesslongpl{##1}}{##1}{##2}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsxtrlonghyphen{\Glsaccesslong{##1}}{##1}{##2}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsxtrlonghyphen{\Glsaccesslongpl{##1}}{##1}{##2}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlonghyphenfont{\glsaccesslong{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlonghyphenfont{\glsaccesslongpl{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlonghyphenfont{\Glsaccesslong{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlonghyphenfont{\Glsaccesslongpl{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% -} -\newabbreviationstyle{long-hyphen-postshort-hyphen-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrlongshortdescname}, - sort={\glsxtrlongshortdescsort},% - first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrposthyphenshort{\glslabel}{\glsinsert}% - }% - {% - \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% - }% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-hyphen-postshort-hyphen}% -} -\newcommand*{\glsxtrshorthyphenlong}[4]{% - {% - \glsxtrifhyphenstart{#4}{\def\glsxtrwordsep{-}}{}% - \glsfirstabbrvhyphenfont{#2\ifglsxtrinsertinside{#4}\fi}% - \ifglsxtrinsertinside\else{#4}\fi - \glsxtrfullsep{#1}% - \glsxtrparen{\glsfirstlonghyphenfont{#3\ifglsxtrinsertinside{#4}\fi}% - \ifglsxtrinsertinside\else{#4}\fi}% - }% -} -\newabbreviationstyle{short-hyphen-long-hyphen}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% - description={\protect\glslonghyphenfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrhyphensuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsxtrshorthyphenlong{##1}{\glsaccessshort{##1}}{\glsaccesslong{##1}}{##2}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsxtrshorthyphenlong{##1}% - {\glsaccessshortpl{##1}}{\glsaccesslongpl{##1}}{##2}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsxtrshorthyphenlong{##1}{\glsaccessshort{##1}}{\Glsaccesslong{##1}}{##2}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsxtrshorthyphenlong{##1}% - {\glsaccessshortpl{##1}}{\Glsaccesslongpl{##1}}{##2}% - }% -} -\newabbreviationstyle{short-hyphen-long-hyphen-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname}, - sort={\glsxtrshortlongdescsort}, - first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongtok}}},% - firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}% - \protect\glsxtrfullsep{\the\glslabeltok}% - \glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-hyphen-long-hyphen}% -} -\newcommand*{\glsxtrshorthyphen}[3]{% - {% - \glsxtrifhyphenstart{#3}{\def\glsxtrwordsep{-}}{}% - \glsfirstabbrvhyphenfont{#1}% - }% -} -\newcommand*{\glsxtrposthyphenlong}[2]{% - {% - \glsxtrifhyphenstart{#2}{\def\glsxtrwordsep{-}}{}% - \ifglsxtrinsertinside{\glsfirstabbrvhyphenfont{#2}}\else{#2}\fi - \glsxtrfullsep{#1}% - \glsxtrparen - {\glsfirstlonghyphenfont{\glsentrylong{#1}\ifglsxtrinsertinside{#2}\fi}% - \ifglsxtrinsertinside\else{#2}\fi - }% - }% -} -\newabbreviationstyle{short-hyphen-postlong-hyphen}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},% - description={\protect\glslonghyphenfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrposthyphenlong{\glslabel}{\glsinsert}% - }% - {% - \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% - }% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvhyphenfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonghyphenfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslonghyphenfont{##1}}% - \renewcommand*{\glsxtrsubsequentfmt}[2]{% - \glsabbrvfont{\glsaccessshort{##1}}% - }% - \renewcommand*{\glsxtrsubsequentplfmt}[2]{% - \glsabbrvfont{\glsaccessshortpl{##1}}% - }% - \renewcommand*{\Glsxtrsubsequentfmt}[2]{% - \glsabbrvfont{\Glsaccessshort{##1}}% - }% - \renewcommand*{\Glsxtrsubsequentplfmt}[2]{% - \glsabbrvfont{\Glsaccessshortpl{##1}}% - }% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsxtrshorthyphen{\glsaccessshort{##1}}{##1}{##2}% - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsxtrshorthyphen{\glsaccessshortpl{##1}}{##1}{##2}% - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsxtrshorthyphen{\Glsaccessshort{##1}}{##1}{##2}% - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsxtrshorthyphen{\Glsaccessshortpl{##1}}{##1}{##2}% - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstabbrvhyphenfont{\glsaccessshort{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvhyphenfont{\glsaccessshortpl{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstabbrvhyphenfont{\Glsaccessshort{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstabbrvhyphenfont{\Glsaccessshortpl{##1}% - \ifglsxtrinsertinside{##2}\fi}% - \ifglsxtrinsertinside \else{##2}\fi - }% -} -\newabbreviationstyle{short-hyphen-postlong-hyphen-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrshortlongdescname}, - sort={\glsxtrshortlongdescsort},% - first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},% - firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},% - text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},% - plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \csdef{glsxtrpostlink\glscategorylabel}{% - \glsxtrifwasfirstuse - {% - \glsxtrposthyphenlong{\glslabel}{\glsinsert}% - }% - {% - \glsxtrposthyphensubsequent{\glslabel}{\glsinsert}% - }% - }% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{short-hyphen-postlong-hyphen}% -} -\newcommand*{\glsabbrvonlyfont}{\glsabbrvdefaultfont}% -\newcommand*{\glsfirstabbrvonlyfont}{\glsabbrvonlyfont}% -\newcommand*{\glslongonlyfont}{\glslongdefaultfont}% -\newcommand*{\glsfirstlongonlyfont}{\glslongonlyfont}% -\newcommand*{\glsxtronlysuffix}{\glsxtrabbrvpluralsuffix} -\newcommand*{\glsxtronlyname}{% - \protect\glsabbrvonlyfont{\the\glsshorttok}% -} -\newabbreviationstyle{long-only-short-only}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtronlyname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% - text={\protect\glsabbrvonlyfont{\the\glsshorttok}},% - plural={\protect\glsabbrvonlyfont{\the\glsshortpltok}},% - description={\protect\glslongonlyfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtronlysuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvonlyfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvonlyfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvonlyfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvonlyfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvonlyfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvonlyfont{\Glsaccessshortpl{##1}}}% - }% -} -\newcommand*{\glsxtronlydescsort}{\the\glslongtok} -\newcommand*{\glsxtronlydescname}{% - \protect\glslongfont{\the\glslongtok}% -} -\newabbreviationstyle{long-only-short-only-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtronlydescname}, - sort={\glsxtronlydescsort},% - first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% - text={\protect\glsabbrvonlyfont{\the\glsshorttok}},% - plural={\protect\glsabbrvonlyfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-only-short-only}% -} -\newcommand*{\glsabbrvsconlyfont}{\glsabbrvscfont}% -\newcommand*{\glsfirstabbrvsconlyfont}{\glsabbrvsconlyfont}% -\newcommand*{\glsxtrsconlysuffix}{\glsxtrscsuffix} -\newcommand*{\glsxtrsconlyname}{% - \protect\glsabbrvsconlyfont{\the\glsshorttok}% -} -\newabbreviationstyle{long-only-short-sc-only}% -{% - \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrsconlyname}, - sort={\the\glsshorttok}, - first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% - text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}},% - description={\protect\glslongonlyfont{\the\glslongtok}}}% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \renewcommand*{\abbrvpluralsuffix}{\glsxtrsconlysuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsabbrvsconlyfont{##1}}% - \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvsconlyfont{##1}}% - \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}% - \renewcommand*{\glslongfont}[1]{\glslongonlyfont{##1}}% - \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - }% - \renewcommand*{\glsxtrinlinefullformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshort{##1}}}% - }% - \renewcommand*{\glsxtrinlinefullplformat}[2]{% - \glsfirstlongonlyfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\glsaccessshortpl{##1}}}% - }% - \renewcommand*{\Glsxtrinlinefullplformat}[2]{% - \glsfirstlongonlyfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% - \ifglsxtrinsertinside\else##2\fi - \glsxtrfullsep{##1}% - \glsxtrparen{\protect\glsfirstabbrvsconlyfont{\Glsaccessshortpl{##1}}}% - }% -} -\newcommand*{\glsxtrsconlydescsort}{\glsxtronlydescsort} -\newcommand*{\glsxtrsconlydescname}{\glsxtronlydescname} -\newabbreviationstyle{long-only-short-sc-only-desc}% -{% - \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel - \renewcommand*{\CustomAbbreviationFields}{% - name={\glsxtrsconlydescname}, - sort={\glsxtrsconlydescsort},% - first={\protect\glsfirstlongonlyfont{\the\glslongtok}},% - firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},% - text={\protect\glsabbrvsconlyfont{\the\glsshorttok}},% - plural={\protect\glsabbrvsconlyfont{\the\glsshortpltok}}% - }% - \renewcommand*{\GlsXtrPostNewAbbreviation}{% - \glshasattribute{\the\glslabeltok}{regular}% - {% - \glssetattribute{\the\glslabeltok}{regular}{false}% - }% - {}% - }% -}% -{% - \GlsXtrUseAbbrStyleFmts{long-only-short-sc-only}% -} +\input{glossaries-extra-abbrstyles.def} \let\@glsxtr@org@markright\markright \renewcommand*{\markright}[1]{% \glsxtrmarkhook @@ -12693,11 +11562,13 @@ defined}{}% } \let\@glsxtr@org@@starttoc\@starttoc \renewcommand*{\@starttoc}[1]{% + \let\glsxtrifintoc\@firstoftwo \glsxtrmarkhook \@glsxtrinmark \@glsxtr@org@@starttoc{#1}% \@glsxtrnotinmark \glsxtrrestoremarkhook + \let\glsxtrifintoc\@secondoftwo } \newcommand*{\glsxtrRevertMarks}{% \let\markright\@glsxtr@org@markright @@ -12714,30 +11585,34 @@ defined}{}% \newrobustcmd*{\@glsxtrnotinmark}{% \let\glsxtrifinmark\@secondoftwo } -\ifdef\texorpdfstring -{ - \newcommand*{\glsxtrtitleorpdforheading}[3]{\texorpdfstring{#1}{#2}} -} -{ - \newcommand*{\glsxtrtitleorpdforheading}[3]{#1} -} +\newcommand*{\glsxtrtitleorpdforheading}[3]{% + \glsxtrifinmark{#3}{\glstexorpdfstring{#1}{#2}}} +\ifdef\GetTitleStringDisableCommands +{\GetTitleStringDisableCommands{\let\glsxtrtitleorpdforheading\@thirdofthree + \let\glsxtrifinmark\@firstoftwo}} +{} \newcommand*{\glsxtrmarkhook}{% - \let\@glsxtr@org@MakeUppercase\MakeUppercase + \@glsxtr@saveMakeUppercase \let\@glsxtr@org@glsxtrtitleorpdforheading\glsxtrtitleorpdforheading \let\@glsxtr@org@glsxtrtitleshort\glsxtrtitleshort \let\@glsxtr@org@glsxtrtitleshortpl\glsxtrtitleshortpl \let\@glsxtr@org@Glsxtrtitleshort\Glsxtrtitleshort \let\@glsxtr@org@Glsxtrtitleshortpl\Glsxtrtitleshortpl + \let\@glsxtr@org@GLSxtrtitleshort\GLSxtrtitleshort + \let\@glsxtr@org@GLSxtrtitleshortpl\GLSxtrtitleshortpl \let\@glsxtr@org@glsxtrtitlename\glsxtrtitlename \let\@glsxtr@org@Glsxtrtitlename\Glsxtrtitlename \let\@glsxtr@org@glsxtrtitletext\glsxtrtitletext \let\@glsxtr@org@Glsxtrtitletext\Glsxtrtitletext + \let\@glsxtr@org@GLSxtrtitletext\GLSxtrtitletext \let\@glsxtr@org@glsxtrtitleplural\glsxtrtitleplural \let\@glsxtr@org@Glsxtrtitleplural\Glsxtrtitleplural + \let\@glsxtr@org@GLSxtrtitleplural\GLSxtrtitleplural \let\@glsxtr@org@glsxtrtitlefirst\glsxtrtitlefirst \let\@glsxtr@org@Glsxtrtitlefirst\Glsxtrtitlefirst \let\@glsxtr@org@glsxtrtitlefirstplural\glsxtrtitlefirstplural \let\@glsxtr@org@Glsxtrtitlefirstplural\Glsxtrtitlefirstplural + \let\@glsxtr@org@GLSxtrtitlefirstplural\GLSxtrtitlefirstplural \let\@glsxtr@org@glsxtrtitlelong\glsxtrtitlelong \let\@glsxtr@org@glsxtrtitlelongpl\glsxtrtitlelongpl \let\@glsxtr@org@Glsxtrtitlelong\Glsxtrtitlelong @@ -12746,23 +11621,32 @@ defined}{}% \let\@glsxtr@org@glsxtrtitlefullpl\glsxtrtitlefullpl \let\@glsxtr@org@Glsxtrtitlefull\Glsxtrtitlefull \let\@glsxtr@org@Glsxtrtitlefullpl\Glsxtrtitlefullpl + \let\@glsxtr@org@GLSxtrtitlefull\GLSxtrtitlefull + \let\@glsxtr@org@GLSxtrtitlefullpl\GLSxtrtitlefullpl \let\glsxtrifinmark\@firstoftwo - \let\MakeUppercase\MakeTextUppercase + \@glsxtr@assignMakeUppercase \let\glsxtrtitleorpdforheading\@thirdofthree \let\glsxtrtitleshort\glsxtrheadshort \let\glsxtrtitleshortpl\glsxtrheadshortpl \let\Glsxtrtitleshort\Glsxtrheadshort \let\Glsxtrtitleshortpl\Glsxtrheadshortpl + \let\GLSxtrtitleshort\GLSxtrheadshort + \let\GLSxtrtitleshortpl\GLSxtrheadshortpl \let\glsxtrtitlename\glsxtrheadname \let\Glsxtrtitlename\Glsxtrheadname + \let\GLSxtrtitlename\GLSxtrheadname \let\glsxtrtitletext\glsxtrheadtext \let\Glsxtrtitletext\Glsxtrheadtext + \let\GLSxtrtitletext\GLSxtrheadtext \let\glsxtrtitleplural\glsxtrheadplural \let\Glsxtrtitleplural\Glsxtrheadplural + \let\GLSxtrtitleplural\GLSxtrheadplural \let\glsxtrtitlefirst\glsxtrheadfirst \let\Glsxtrtitlefirst\Glsxtrheadfirst + \let\GLSxtrtitlefirst\GLSxtrheadfirst \let\glsxtrtitlefirstplural\glsxtrheadfirstplural \let\Glsxtrtitlefirstplural\Glsxtrheadfirstplural + \let\GLSxtrtitlefirstplural\GLSxtrheadfirstplural \let\glsxtrtitlelong\glsxtrheadlong \let\glsxtrtitlelongpl\glsxtrheadlongpl \let\Glsxtrtitlelong\Glsxtrheadlong @@ -12771,25 +11655,34 @@ defined}{}% \let\glsxtrtitlefullpl\glsxtrheadfullpl \let\Glsxtrtitlefull\Glsxtrheadfull \let\Glsxtrtitlefullpl\Glsxtrheadfullpl + \let\GLSxtrtitlefull\GLSxtrheadfull + \let\GLSxtrtitlefullpl\GLSxtrheadfullpl } \newcommand*{\glsxtrrestoremarkhook}{% \let\glsxtrifinmark\@secondoftwo - \let\MakeUppercase\@glsxtr@org@MakeUppercase + \@glsxtr@restoreMakeUppercase \let\glsxtrtitleorpdforheading\@glsxtr@org@glsxtrtitleorpdforheading \let\glsxtrtitleshort\@glsxtr@org@glsxtrtitleshort \let\glsxtrtitleshortpl\@glsxtr@org@glsxtrtitleshortpl \let\Glsxtrtitleshort\@glsxtr@org@Glsxtrtitleshort \let\Glsxtrtitleshortpl\@glsxtr@org@Glsxtrtitleshortpl + \let\GLSxtrtitleshort\@glsxtr@org@GLSxtrtitleshort + \let\GLSxtrtitleshortpl\@glsxtr@org@GLSxtrtitleshortpl \let\glsxtrtitlename\@glsxtr@org@glsxtrtitlename \let\Glsxtrtitlename\@glsxtr@org@Glsxtrtitlename + \let\GLSxtrtitlename\@glsxtr@org@GLSxtrtitlename \let\glsxtrtitletext\@glsxtr@org@glsxtrtitletext \let\Glsxtrtitletext\@glsxtr@org@Glsxtrtitletext + \let\GLSxtrtitletext\@glsxtr@org@GLSxtrtitletext \let\glsxtrtitleplural\@glsxtr@org@glsxtrtitleplural \let\Glsxtrtitleplural\@glsxtr@org@Glsxtrtitleplural + \let\GLSxtrtitleplural\@glsxtr@org@GLSxtrtitleplural \let\glsxtrtitlefirst\@glsxtr@org@glsxtrtitlefirst \let\Glsxtrtitlefirst\@glsxtr@org@Glsxtrtitlefirst + \let\GLSxtrtitlefirst\@glsxtr@org@GLSxtrtitlefirst \let\glsxtrtitlefirstplural\@glsxtr@org@glsxtrtitlefirstplural \let\Glsxtrtitlefirstplural\@glsxtr@org@Glsxtrtitlefirstplural + \let\GLSxtrtitlefirstplural\@glsxtr@org@GLSxtrtitlefirstplural \let\glsxtrtitlelong\@glsxtr@org@glsxtrtitlelong \let\glsxtrtitlelongpl\@glsxtr@org@glsxtrtitlelongpl \let\Glsxtrtitlelong\@glsxtr@org@Glsxtrtitlelong @@ -12798,11 +11691,17 @@ defined}{}% \let\glsxtrtitlefullpl\@glsxtr@org@glsxtrtitlefullpl \let\Glsxtrtitlefull\@glsxtr@org@Glsxtrtitlefull \let\Glsxtrtitlefullpl\@glsxtr@org@Glsxtrtitlefullpl + \let\GLSxtrtitlefull\@glsxtr@org@GLSxtrtitlefull + \let\GLSxtrtitlefullpl\@glsxtr@org@GLSxtrtitlefullpl +} +\newcommand*{\glsxtrtitleopts}{noindex,hyper=false} +\newcommand*{\glsxtr@title@field}[2]{% + \expandafter#1\expandafter[\glsxtrtitleopts]{#2}[]% } \newcommand*{\glsxtrheadshort}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrshort[noindex,hyper=false]{#1}[]% }% @@ -12812,12 +11711,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitleshort}[1]{% - \glsxtrshort[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsxtrshort{#1}% } \newcommand*{\glsxtrheadshortpl}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrshortpl[noindex,hyper=false]{#1}[]% }% @@ -12827,12 +11726,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitleshortpl}[1]{% - \glsxtrshortpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsxtrshortpl{#1}% } \newcommand*{\Glsxtrheadshort}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrshort[noindex,hyper=false]{#1}[]% }% @@ -12842,15 +11741,27 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitleshort}[1]{% - \Glsxtrshort[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsxtrshort{#1}% +} +\newcommand*{\GLSxtrheadshort}[1]{% + \protect\NoCaseChange + {% + \GLSxtrshort[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitleshort}[1]{% - \GLSxtrshort[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSxtrshort{#1}% +} +\newcommand*{\GLSxtrheadshortpl}[1]{% + \protect\NoCaseChange + {% + \GLSxtrshortpl[noindex,hyper=false]{#1}[]% + }% } \newcommand*{\Glsxtrheadshortpl}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrshortpl[noindex,hyper=false]{#1}[]% }% @@ -12860,15 +11771,15 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitleshortpl}[1]{% - \Glsxtrshortpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsxtrshortpl{#1}% } \newrobustcmd*{\GLSxtrtitleshortpl}[1]{% - \GLSxtrshortpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSxtrshortpl{#1}% } \newcommand*{\glsxtrheadname}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSname[noindex,hyper=false]{#1}[]% }% @@ -12878,12 +11789,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlename}[1]{% - \glsname[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsname{#1}% } \newcommand*{\Glsxtrheadname}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSname[noindex,hyper=false]{#1}[]% }% @@ -12893,15 +11804,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlename}[1]{% - \Glsname[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsname{#1}% +} +\newcommand*{\GLSxtrheadname}[1]{% + \protect\NoCaseChange + {% + \GLSname[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitlename}[1]{% - \GLSname[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSname{#1}% } \newcommand*{\glsxtrheadtext}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLStext[noindex,hyper=false]{#1}[]% }% @@ -12911,12 +11828,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitletext}[1]{% - \glstext[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glstext{#1}% } \newcommand*{\Glsxtrheadtext}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLStext[noindex,hyper=false]{#1}[]% }% @@ -12926,15 +11843,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitletext}[1]{% - \Glstext[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glstext{#1}% +} +\newcommand*{\GLSxtrheadtext}[1]{% + \protect\NoCaseChange + {% + \GLStext[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitletext}[1]{% - \GLStext[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLStext{#1}% } \newcommand*{\glsxtrheadplural}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSplural[noindex,hyper=false]{#1}[]% }% @@ -12944,12 +11867,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitleplural}[1]{% - \glsplural[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsplural{#1}% } \newcommand*{\Glsxtrheadplural}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSplural[noindex,hyper=false]{#1}[]% }% @@ -12959,15 +11882,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitleplural}[1]{% - \Glsplural[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsplural{#1}% +} +\newcommand*{\GLSxtrheadplural}[1]{% + \protect\NoCaseChange + {% + \GLSplural[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitleplural}[1]{% - \GLSplural[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSplural{#1}% } \newcommand*{\glsxtrheadfirst}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSfirst[noindex,hyper=false]{#1}[]% }% @@ -12977,12 +11906,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlefirst}[1]{% - \glsfirst[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsfirst{#1}% } \newcommand*{\Glsxtrheadfirst}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSfirst[noindex,hyper=false]{#1}[]% }% @@ -12992,15 +11921,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlefirst}[1]{% - \Glsfirst[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsfirst{#1}% +} +\newcommand*{\GLSxtrheadfirst}[1]{% + \protect\NoCaseChange + {% + \GLSfirst[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitlefirst}[1]{% - \GLSfirst[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSfirst{#1}% } \newcommand*{\glsxtrheadfirstplural}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSfirstplural[noindex,hyper=false]{#1}[]% }% @@ -13010,12 +11945,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlefirstplural}[1]{% - \glsfirstplural[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsfirstplural{#1}% } \newcommand*{\Glsxtrheadfirstplural}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSfirstplural[noindex,hyper=false]{#1}[]% }% @@ -13025,15 +11960,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlefirstplural}[1]{% - \Glsfirstplural[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsfirstplural{#1}% +} +\newcommand*{\GLSxtrheadfirstplural}[1]{% + \protect\NoCaseChange + {% + \GLSfirstplural[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitlefirstplural}[1]{% - \GLSfirstplural[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSfirstplural{#1}% } \newcommand*{\glsxtrheadlong}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrlong[noindex,hyper=false]{#1}[]% }% @@ -13043,12 +11984,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlelong}[1]{% - \glsxtrlong[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsxtrlong{#1}% } \newcommand*{\glsxtrheadlongpl}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrlongpl[noindex,hyper=false]{#1}[]% }% @@ -13058,12 +11999,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlelongpl}[1]{% - \glsxtrlongpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsxtrlongpl{#1}% } \newcommand*{\Glsxtrheadlong}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrlong[noindex,hyper=false]{#1}[]% }% @@ -13073,15 +12014,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlelong}[1]{% - \Glsxtrlong[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsxtrlong{#1}% } \newrobustcmd*{\GLSxtrtitlelong}[1]{% - \GLSxtrlong[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSxtrlong{#1}% +} +\newcommand*{\GLSxtrheadlong}[1]{% + \protect\NoCaseChange + {% + \GLSxtrlong[noindex,hyper=false]{#1}[]% + }% } \newcommand*{\Glsxtrheadlongpl}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrlongpl[noindex,hyper=false]{#1}[]% }% @@ -13091,15 +12038,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlelongpl}[1]{% - \Glsxtrlongpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsxtrlongpl{#1}% } \newrobustcmd*{\GLSxtrtitlelongpl}[1]{% - \GLSxtrlongpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSxtrlongpl{#1}% +} +\newcommand*{\GLSxtrheadlongpl}[1]{% + \protect\NoCaseChange + {% + \GLSxtrlongpl[noindex,hyper=false]{#1}[]% + }% } \newcommand*{\glsxtrheadfull}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrfull[noindex,hyper=false]{#1}[]% }% @@ -13109,12 +12062,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlefull}[1]{% - \glsxtrfull[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsxtrfull{#1}% } \newcommand*{\glsxtrheadfullpl}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrfullpl[noindex,hyper=false]{#1}[]% }% @@ -13124,12 +12077,12 @@ defined}{}% }% } \newrobustcmd*{\glsxtrtitlefullpl}[1]{% - \glsxtrfullpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\glsxtrfullpl{#1}% } \newcommand*{\Glsxtrheadfull}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrfull[noindex,hyper=false]{#1}[]% }% @@ -13139,15 +12092,21 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlefull}[1]{% - \Glsxtrfull[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsxtrfull{#1}% +} +\newcommand*{\GLSxtrheadfull}[1]{% + \protect\NoCaseChange + {% + \GLSxtrfull[noindex,hyper=false]{#1}[]% + }% } \newrobustcmd*{\GLSxtrtitlefull}[1]{% - \GLSxtrfull[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\GLSxtrfull{#1}% } \newcommand*{\Glsxtrheadfullpl}[1]{% \protect\NoCaseChange {% - \glsifattribute{#1}{headuc}{true}% + \glsxtrifheaduc{#1}% {% \GLSxtrfullpl[noindex,hyper=false]{#1}[]% }% @@ -13157,385 +12116,428 @@ defined}{}% }% } \newrobustcmd*{\Glsxtrtitlefullpl}[1]{% - \Glsxtrfullpl[noindex,hyper=false]{#1}[]% -} -\newrobustcmd*{\GLSxtrtitlefullpl}[1]{% - \GLSxtrfullpl[noindex,hyper=false]{#1}[]% + \glsxtr@title@field\Glsxtrfullpl{#1}% } -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtshort}[1]{% - \texorpdfstring - {\glsxtrtitleshort{#1}}% - {\glsentryshort{#1}}% - } -} -{ - \newcommand*{\glsfmtshort}[1]{% - \glsxtrtitleshort{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtshortpl}[1]{% - \texorpdfstring - {\glsxtrtitleshortpl{#1}}% - {\glsentryshortpl{#1}}% - } -} -{ - \newcommand*{\glsfmtshortpl}[1]{% - \glsxtrtitleshortpl{#1}} +\newcommand*{\GLSxtrheadfullpl}[1]{% + \protect\NoCaseChange + {% + \GLSxtrfullpl[noindex,hyper=false]{#1}[]% + }% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtshort}[1]{% - \texorpdfstring - {\Glsxtrtitleshort{#1}}% - {\glsentryshort{#1}}% - } +\newrobustcmd*{\GLSxtrtitlefullpl}[1]{% + \glsxtr@title@field\GLSxtrfullpl{#1}% } -{ - \newcommand*{\Glsfmtshort}[1]{% - \Glsxtrtitleshort{#1}} +\newcommand*{\glsfmtshort}[1]{% + \glstexorpdfstring + {\glsxtrtitleshort{#1}}% + {\glsentryshort{#1}}% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtshortpl}[1]{% - \texorpdfstring - {\Glsxtrtitleshortpl{#1}}% +\newcommand*{\glsfmtshortpl}[1]{% + \glstexorpdfstring + {\glsxtrtitleshortpl{#1}}% {\glsentryshortpl{#1}}% - } -} -{ - \newcommand*{\Glsfmtshortpl}[1]{% - \Glsxtrtitleshortpl{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtname}[1]{% - \texorpdfstring - {\glsxtrtitlename{#1}}% - {\glsentryname{#1}}% - } -} -{ - \newcommand*{\glsfmtname}[1]{% - \glsxtrtitlename{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtname}[1]{% - \texorpdfstring - {\Glsxtrtitlename{#1}}% - {\glsentryname{#1}}% - } -} -{ - \newcommand*{\Glsfmtname}[1]{% - \Glsxtrtitlename{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtname}[1]{% - \texorpdfstring - {\GLSxtrtitlename{#1}}% - {\glsentryname{#1}}% - } -} -{ - \newcommand*{\GLSfmtname}[1]{% - \GLSxtrtitlename{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmttext}[1]{% - \texorpdfstring - {\glsxtrtitletext{#1}}% - {\glsentrytext{#1}}% - } -} -{ - \newcommand*{\glsfmttext}[1]{% - \glsxtrtitletext{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmttext}[1]{% - \texorpdfstring - {\Glsxtrtitletext{#1}}% - {\glsentrytext{#1}}% - } -} -{ - \newcommand*{\Glsfmttext}[1]{% - \Glsxtrtitletext{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmttext}[1]{% - \texorpdfstring - {\GLSxtrtitletext{#1}}% - {\glsentrytext{#1}}% - } -} -{ - \newcommand*{\GLSfmttext}[1]{% - \GLSxtrtitletext{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtplural}[1]{% - \texorpdfstring - {\glsxtrtitleplural{#1}}% - {\glsentryplural{#1}}% - } -} -{ - \newcommand*{\glsfmtplural}[1]{% - \glsxtrtitleplural{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtplural}[1]{% - \texorpdfstring - {\Glsxtrtitleplural{#1}}% - {\glsentryplural{#1}}% - } -} -{ - \newcommand*{\Glsfmtplural}[1]{% - \Glsxtrtitleplural{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtplural}[1]{% - \texorpdfstring - {\GLSxtrtitleplural{#1}}% - {\glsentryplural{#1}}% - } -} -{ - \newcommand*{\GLSfmtplural}[1]{% - \GLSxtrtitleplural{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtfirst}[1]{% - \texorpdfstring - {\glsxtrtitlefirst{#1}}% - {\glsentryfirst{#1}}% - } -} -{ - \newcommand*{\glsfmtfirst}[1]{% - \glsxtrtitlefirst{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtfirst}[1]{% - \texorpdfstring - {\Glsxtrtitlefirst{#1}}% - {\glsentryfirst{#1}}% - } -} -{ - \newcommand*{\Glsfmtfirst}[1]{% - \Glsxtrtitlefirst{#1}} } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtfirst}[1]{% - \texorpdfstring - {\GLSxtrtitlefirst{#1}}% - {\glsentryfirst{#1}}% - } -} -{ - \newcommand*{\GLSfmtfirst}[1]{% - \Glsxtrtitlefirst{#1}} -} -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtfirstpl}[1]{% - \texorpdfstring - {\glsxtrtitlefirstplural{#1}}% - {\glsentryfirstplural{#1}}% - } -} -{ - \newcommand*{\glsfmtfirstpl}[1]{% - \glsxtrtitlefirstplural{#1}} +\newcommand*{\Glsfmtshort}[1]{% + \glstexorpdfstring + {\Glsxtrtitleshort{#1}}% + {\MFUsentencecase{\glsentryshort{#1}}}% +} +\glsmfuaddmap{\glsfmtshort}{\Glsfmtshort} +\newcommand*{\Glsfmtshortpl}[1]{% + \glstexorpdfstring + {\Glsxtrtitleshortpl{#1}}% + {\MFUsentencecase{\glsentryshortpl{#1}}}% +} +\glsmfuaddmap{\glsfmtshortpl}{\Glsfmtshortpl} +\newcommand*{\GLSfmtshort}[1]{% + \glstexorpdfstring + {\GLSxtrtitleshort{#1}}% + {\GLSxtrusefield{#1}{short}}% +} +\glsmfublocker{\GLSfmtshort} +\newcommand*{\GLSfmtshortpl}[1]{% + \glstexorpdfstring + {\GLSxtrtitleshortpl{#1}}% + {\GLSxtrusefield{#1}{shortpl}}% +} +\glsmfublocker{\GLSfmtshortpl} +\newcommand*{\glsfmtname}[1]{% + \glstexorpdfstring + {\glsxtrtitlename{#1}}% + {\glsentryname{#1}}% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtfirstpl}[1]{% - \texorpdfstring - {\Glsxtrtitlefirstplural{#1}}% - {\glsentryfirstplural{#1}}% - } +\newcommand*{\Glsfmtname}[1]{% + \glstexorpdfstring + {\Glsxtrtitlename{#1}}% + {\MFUsentencecase{\glsentryname{#1}}}% +} +\glsmfuaddmap{\glsfmtname}{\Glsfmtname} +\newcommand*{\GLSfmtname}[1]{% + \glstexorpdfstring + {\GLSxtrtitlename{#1}}% + {\GLSxtrusefield{#1}{name}}% +} +\glsmfublocker{\GLSfmtname} +\newcommand*{\glsfmttext}[1]{% + \glstexorpdfstring + {\glsxtrtitletext{#1}}% + {\glsentrytext{#1}}% +} +\newcommand*{\Glsfmttext}[1]{% + \glstexorpdfstring + {\Glsxtrtitletext{#1}}% + {\MFUsentencecase{\glsentrytext{#1}}}% +} +\glsmfuaddmap{\glsfmttext}{\Glsfmttext} +\newcommand*{\GLSfmttext}[1]{% + \glstexorpdfstring + {\GLSxtrtitletext{#1}}% + {\GLSxtrusefield{#1}{text}}% +} +\glsmfublocker{\GLSfmttext} +\newcommand*{\glsfmtplural}[1]{% + \glstexorpdfstring + {\glsxtrtitleplural{#1}}% + {\glsentryplural{#1}}% +} +\newcommand*{\Glsfmtplural}[1]{% + \glstexorpdfstring + {\Glsxtrtitleplural{#1}}% + {\MFUsentencecase{\glsentryplural{#1}}}% +} +\glsmfuaddmap{\glsfmtplural}{\Glsfmtplural} +\newcommand*{\GLSfmtplural}[1]{% + \glstexorpdfstring + {\GLSxtrtitleplural{#1}}% + {\GLSxtrusefield{#1}{plural}}% +} +\glsmfublocker{\GLSfmtplural} +\newcommand*{\glsfmtfirst}[1]{% + \glstexorpdfstring + {\glsxtrtitlefirst{#1}}% + {\glsentryfirst{#1}}% } -{ - \newcommand*{\Glsfmtfirstpl}[1]{% - \Glsxtrtitlefirstplural{#1}} +\newcommand*{\Glsfmtfirst}[1]{% + \glstexorpdfstring + {\Glsxtrtitlefirst{#1}}% + {\MFUsentencecase{\glsentryfirst{#1}}}% +} +\glsmfuaddmap{\glsfmtfirst}{\Glsfmtfirst} +\newcommand*{\GLSfmtfirst}[1]{% + \glstexorpdfstring + {\GLSxtrtitlefirst{#1}}% + {\GLSxtrusefield{#1}{first}}% +} +\glsmfublocker{\GLSfmtfirst} +\newcommand*{\glsfmtfirstpl}[1]{% + \glstexorpdfstring + {\glsxtrtitlefirstplural{#1}}% + {\GLSxtrusefield{#1}{firstpl}}% +} +\newcommand*{\Glsfmtfirstpl}[1]{% + \glstexorpdfstring + {\Glsxtrtitlefirstplural{#1}}% + {\MFUsentencecase{\glsentryfirstplural{#1}}}% +} +\newcommand*{\GLSfmtfirstpl}[1]{% + \glstexorpdfstring + {\GLSxtrtitlefirstplural{#1}}% + {\GLSxtrusefield{#1}{firstpl}}% +} +\glsmfublocker{\GLSfmtfirstpl} +\newcommand*{\glsfmtlong}[1]{% + \glstexorpdfstring + {\glsxtrtitlelong{#1}}% + {\glsentrylong{#1}}% +} +\newcommand*{\Glsfmtlong}[1]{% + \glstexorpdfstring + {\Glsxtrtitlelong{#1}}% + {\MFUsentencecase{\glsentrylong{#1}}}% +} +\glsmfuaddmap{\glsfmtlong}{\Glsfmtlong} +\newcommand*{\GLSfmtlong}[1]{% + \glstexorpdfstring + {\GLSxtrtitlelong{#1}}% + {\GLSxtrusefield{#1}{long}}% +} +\glsmfublocker{\GLSfmtlong} +\newcommand*{\glsfmtlongpl}[1]{% + \glstexorpdfstring + {\glsxtrtitlelongpl{#1}}% + {\glsentrylongpl{#1}}% +} +\newcommand*{\Glsfmtlongpl}[1]{% + \glstexorpdfstring + {\Glsxtrtitlelongpl{#1}}% + {\MFUsentencecase{\glsentrylongpl{#1}}}% +} +\glsmfuaddmap{\glsfmtlongpl}{\Glsfmtlongpl} +\newcommand*{\GLSfmtlongpl}[1]{% + \glstexorpdfstring + {\GLSxtrtitlelongpl{#1}}% + {\GLSxtrusefield{#1}{longpl}}% +} +\glsmfublocker{\GLSfmtlongpl} +\newcommand*{\glspdffmtfull}[1]{\glsentrylong{#1} (\glsentryshort{#1})}% +\newcommand*{\glspdffmtfullpl}[1]{\glsentrylongpl{#1} (\glsentryshortpl{#1})}% +\newcommand*{\glsfmtfull}[1]{% + \glstexorpdfstring + {\glsxtrtitlefull{#1}}% + {\glspdffmtfull{#1}}% +} +\newcommand*{\Glsfmtfull}[1]{% + \glstexorpdfstring + {\Glsxtrtitlefull{#1}}% + {\MFUsentencecase{\glspdffmtfull{#1}{}}}% +} +\glsmfuaddmap{\glsfmtfull}{\Glsfmtfull} +\ExplSyntaxOn +\newcommand*{\GLSfmtfull}[1]{% + \glstexorpdfstring + {\GLSxtrtitlefull{#1}}% + {\text_uppercase:n{\glspdffmtfull{#1}}}% +} +\ExplSyntaxOff +\glsmfublocker{\GLSfmtfull} +\newcommand*{\glsfmtfullpl}[1]{% + \glstexorpdfstring + {\glsxtrtitlefullpl{#1}}% + {\glspdffmtfullpl{#1}}% +} +\newcommand*{\Glsfmtfullpl}[1]{% + \glstexorpdfstring + {\Glsxtrtitlefullpl{#1}}% + {\MFUsentencecase{\glspdffmtfullpl{#1}{}}}% +} +\glsmfuaddmap{\glsfmtfullpl}{\Glsfmtfullpl} +\ExplSyntaxOn +\newcommand*{\GLSfmtfullpl}[1]{% + \glstexorpdfstring + {\GLSxtrtitlefullpl{#1}}% + {\text_uppercase:n{\glspdffmtfullpl{#1}{}}}% +} +\ExplSyntaxOff +\glsmfublocker{\GLSfmtfullpl} +\newcommand{\pglsprefix}[2]{% + \ifcsempty{glo@\glsdetoklabel{#1}@#2}{}% + {\csuse{glo@\glsdetoklabel{#1}@#2}\glsprefixsep}% +} +\newcommand{\Pglsprefix}[2]{% + \Glsxtrusefield{#1}{#2}\glsprefixsep +} +\newcommand{\PGLSprefix}[2]{% + \ifcsempty{glo@\glsdetoklabel{#1}@#2}{}% + {\glsuppercase{\csuse{glo@\glsdetoklabel{#1}@#2}\glsprefixsep}}% +} +\newrobustcmd*{\pglsxtrshort}{\@gls@hyp@opt\ns@pglsxtrshort} +\newcommand*{\ns@pglsxtrshort}[2][]{% + \new@ifnextchar[{\@pglsxtrshort{#1}{#2}}{\@pglsxtrshort{#1}{#2}[]}% +} +\def\@pglsxtrshort#1#2[#3]{% + \pglsprefix{#2}{prefix}% + \@glsxtrshort{#1}{#2}[#3]% +} +\newrobustcmd*{\Pglsxtrshort}{\@gls@hyp@opt\ns@Pglsxtrshort} +\newcommand*{\ns@Pglsxtrshort}[2][]{% + \new@ifnextchar[{\@Pglsxtrshort{#1}{#2}}{\@Pglsxtrshort{#1}{#2}[]}% +} +\def\@Pglsxtrshort#1#2[#3]{% + \ifglshasprefix{#2}% + {% + \Pglsprefix{#2}{prefix}% + \@glsxtrshort{#1}{#2}[#3]% + }% + {\@Glsxtrshort{#1}{#2}[#3]}% +} +\glsmfuaddmap{\pglsxtrshort}{\Pglsxtrshort} +\newrobustcmd*{\PGLSxtrshort}{\@gls@hyp@opt\ns@PGLSxtrshort} +\newcommand*{\ns@PGLSxtrshort}[2][]{% + \new@ifnextchar[{\@PGLSxtrshort{#1}{#2}}{\@PGLSxtrshort{#1}{#2}[]}% +} +\def\@PGLSxtrshort#1#2[#3]{% + \PGLSprefix{#2}{prefix}% + \@GLSxtrshort{#1}{#2}[#3]% +} +\glsmfublocker{\PGLSxtrshort} +\newrobustcmd*{\pglsxtrshortpl}{\@gls@hyp@opt\ns@pglsxtrshortpl} +\newcommand*{\ns@pglsxtrshortpl}[2][]{% + \new@ifnextchar[{\@pglsxtrshortpl{#1}{#2}}{\@pglsxtrshortpl{#1}{#2}[]}% +} +\def\@pglsxtrshortpl#1#2[#3]{% + \pglsprefix{#2}{prefixplural}% + \@glsxtrshortpl{#1}{#2}[#3]% +} +\newrobustcmd*{\Pglsxtrshortpl}{\@gls@hyp@opt\ns@Pglsxtrshortpl} +\newcommand*{\ns@Pglsxtrshortpl}[2][]{% + \new@ifnextchar[{\@Pglsxtrshortpl{#1}{#2}}{\@Pglsxtrshortpl{#1}{#2}[]}% +} +\def\@Pglsxtrshortpl#1#2[#3]{% + \ifglshasprefixplural{#2}% + {% + \Pglsprefix{#2}{prefixplural}% + \@glsxtrshortpl{#1}{#2}[#3]% + }% + {\@Glsxtrshortpl{#1}{#2}[#3]}% +} +\glsmfuaddmap{\pglsxtrshortpl}{\Pglsxtrshortpl} +\newrobustcmd*{\PGLSxtrshortpl}{\@gls@hyp@opt\ns@PGLSxtrshortpl} +\newcommand*{\ns@PGLSxtrshortpl}[2][]{% + \new@ifnextchar[{\@PGLSxtrshortpl{#1}{#2}}{\@PGLSxtrshortpl{#1}{#2}[]}% +} +\def\@PGLSxtrshortpl#1#2[#3]{% + \PGLSprefix{#2}{prefixplural}% + \@GLSxtrshortpl{#1}{#2}[#3]% +} +\glsmfublocker{\PGLSxtrshortpl} +\newrobustcmd*{\pglsxtrlong}{\@gls@hyp@opt\ns@pglsxtrlong} +\newcommand*{\ns@pglsxtrlong}[2][]{% + \new@ifnextchar[{\@pglsxtrlong{#1}{#2}}{\@pglsxtrlong{#1}{#2}[]}% +} +\def\@pglsxtrlong#1#2[#3]{% + \pglsprefix{#2}{prefixfirst}% + \@glsxtrlong{#1}{#2}[#3]% } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtfirstpl}[1]{% - \texorpdfstring - {\GLSxtrtitlefirstplural{#1}}% - {\glsentryfirstplural{#1}}% - } +\newrobustcmd*{\Pglsxtrlong}{\@gls@hyp@opt\ns@Pglsxtrlong} +\newcommand*{\ns@Pglsxtrlong}[2][]{% + \new@ifnextchar[{\@Pglsxtrlong{#1}{#2}}{\@Pglsxtrlong{#1}{#2}[]}% } -{ - \newcommand*{\GLSfmtfirstpl}[1]{% - \GLSxtrtitlefirstplural{#1}} +\def\@Pglsxtrlong#1#2[#3]{% + \ifglshasprefixfirst{#2}% + {% + \Pglsprefix{#2}{prefixfirst}% + \@glsxtrlong{#1}{#2}[#3]% + }% + {\@Glsxtrlong{#1}{#2}[#3]}% } -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtlong}[1]{% - \texorpdfstring - {\glsxtrtitlelong{#1}}% - {\glsentrylong{#1}}% - } +\glsmfuaddmap{\pglsxtrlong}{\Pglsxtrlong} +\newrobustcmd*{\PGLSxtrlong}{\@gls@hyp@opt\ns@PGLSxtrlong} +\newcommand*{\ns@PGLSxtrlong}[2][]{% + \new@ifnextchar[{\@PGLSxtrlong{#1}{#2}}{\@PGLSxtrlong{#1}{#2}[]}% } -{ - \newcommand*{\glsfmtlong}[1]{% - \glsxtrtitlelong{#1}} +\def\@PGLSxtrlong#1#2[#3]{% + \PGLSprefix{#2}{prefixfirst}% + \@GLSxtrlong{#1}{#2}[#3]% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtlong}[1]{% - \texorpdfstring - {\Glsxtrtitlelong{#1}}% - {\glsentrylong{#1}}% - } +\glsmfublocker{\PGLSxtrlong} +\newrobustcmd*{\pglsxtrlongpl}{\@gls@hyp@opt\ns@pglsxtrlongpl} +\newcommand*{\ns@pglsxtrlongpl}[2][]{% + \new@ifnextchar[{\@pglsxtrlongpl{#1}{#2}}{\@pglsxtrlongpl{#1}{#2}[]}% } -{ - \newcommand*{\Glsfmtlong}[1]{% - \Glsxtrtitlelong{#1}} +\def\@pglsxtrlongpl#1#2[#3]{% + \pglsprefix{#2}{prefixfirstplural}% + \@glsxtrlongpl{#1}{#2}[#3]% } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtlong}[1]{% - \texorpdfstring - {\GLSxtrtitlelong{#1}}% - {\glsentrylong{#1}}% - } +\newrobustcmd*{\Pglsxtrlongpl}{\@gls@hyp@opt\ns@Pglsxtrlongpl} +\newcommand*{\ns@Pglsxtrlongpl}[2][]{% + \new@ifnextchar[{\@Pglsxtrlongpl{#1}{#2}}{\@Pglsxtrlongpl{#1}{#2}[]}% } -{ - \newcommand*{\GLSfmtlong}[1]{% - \GLSxtrtitlelong{#1}} +\def\@Pglsxtrlongpl#1#2[#3]{% + \ifglshasprefixfirstplural{#2}% + {% + \Pglsprefix{#2}{prefixfirstplural}% + \@glsxtrlongpl{#1}{#2}[#3]% + }% + {\@Glsxtrlongpl{#1}{#2}[#3]}% } -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtlongpl}[1]{% - \texorpdfstring - {\glsxtrtitlelongpl{#1}}% - {\glsentrylongpl{#1}}% - } +\glsmfuaddmap{\pglsxtrlongpl}{\Pglsxtrlongpl} +\newrobustcmd*{\PGLSxtrlongpl}{\@gls@hyp@opt\ns@PGLSxtrlongpl} +\newcommand*{\ns@PGLSxtrlongpl}[2][]{% + \new@ifnextchar[{\@PGLSxtrlongpl{#1}{#2}}{\@PGLSxtrlongpl{#1}{#2}[]}% } -{ - \newcommand*{\glsfmtlongpl}[1]{% - \glsxtrtitlelongpl{#1}} +\def\@PGLSxtrlongpl#1#2[#3]{% + \PGLSprefix{#2}{prefixfirstplural}% + \@GLSxtrlongpl{#1}{#2}[#3]% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtlongpl}[1]{% - \texorpdfstring - {\Glsxtrtitlelongpl{#1}}% - {\glsentrylongpl{#1}}% - } +\glsmfublocker{\PGLSxtrlongpl} +\newcommand*{\pglsfmtshort}[1]{% + \pglsprefix{#1}{prefix}% + \glsfmtshort{#1}% } -{ - \newcommand*{\Glsfmtlongpl}[1]{% - \Glsxtrtitlelongpl{#1}} +\newcommand*{\Pglsfmtshort}[1]{% + \glstexorpdfstring + {\Pglsxtrtitleshort{#1}}% + {\MFUsentencecase{% + \pglsprefix{#1}{prefix}% + \glsentryshort{#1}}% + }% } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtlongpl}[1]{% - \texorpdfstring - {\GLSxtrtitlelongpl{#1}}% - {\glsentrylongpl{#1}}% - } +\glsmfuaddmap{\pglsfmtshort}{\Pglsfmtshort} +\newrobustcmd*{\Pglsxtrtitleshort}[1]{% + \glsxtr@title@field\Pglsxtrshort{#1}% } -{ - \newcommand*{\GLSfmtlongpl}[1]{% - \GLSxtrtitlelongpl{#1}} +\newcommand*{\PGLSfmtshort}[1]{% + \PGLSprefix{#1}{prefix}% + \GLSfmtshort{#1}% } -\newcommand*{\glspdffmtfull}[1]{\glsentrylong{#1} (\glsentryshort{#1})}% -\newcommand*{\glspdffmtfullpl}[1]{\glsentrylongpl{#1} (\glsentryshortpl{#1})}% -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtfull}[1]{% - \texorpdfstring - {\glsxtrtitlefull{#1}}% - {\glspdffmtfull{#1}}% - } +\glsmfublocker{\PGLSfmtshort} +\newcommand*{\pglsfmtshortpl}[1]{% + \pglsprefix{#1}{prefixplural}% + \glsfmtshortpl{#1}% } -{ - \newcommand*{\glsfmtfull}[1]{% - \glsxtrtitlefull{#1}} +\newcommand*{\Pglsfmtshortpl}[1]{% + \glstexorpdfstring + {\Pglsxtrtitleshortpl{#1}}% + {\MFUsentencecase + {% + \pglsprefix{#1}{prefixplural}% + \glsentryshortpl{#1}% + }% + }% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtfull}[1]{% - \texorpdfstring - {\Glsxtrtitlefull{#1}}% - {\glspdffmtfull{#1}{}}% - } +\glsmfuaddmap{\pglsfmtshortpl}{\Pglsfmtshortpl} +\newrobustcmd*{\Pglsxtrtitleshortpl}[1]{% + \glsxtr@title@field\Pglsxtrshortpl{#1}% } -{ - \newcommand*{\Glsfmtfull}[1]{% - \Glsxtrtitlefull{#1}} +\newcommand*{\PGLSfmtshortpl}[1]{% + \PGLSprefix{#1}{prefixplural}% + \GLSfmtshortpl{#1}% } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtfull}[1]{% - \texorpdfstring - {\GLSxtrtitlefull{#1}}% - {\glspdffmtfull{#1}}% - } +\glsmfublocker{\PGLSfmtshortpl} +\newcommand*{\pglsfmtlong}[1]{% + \pglsprefix{#1}{prefixfirst}% + \glsfmtlong{#1}% } -{ - \newcommand*{\GLSfmtfull}[1]{% - \GLSxtrtitlefull{#1}} +\newcommand*{\Pglsfmtlong}[1]{% + \glstexorpdfstring + {\Pglsxtrtitlelong{#1}}% + {\MFUsentencecase{% + \pglsprefix{#1}{prefixfirst}% + \glsentrylong{#1}}% + }% } -\ifdef\texorpdfstring -{ - \newcommand*{\glsfmtfullpl}[1]{% - \texorpdfstring - {\glsxtrtitlefullpl{#1}}% - {\glspdffmtfullpl{#1}}% - } +\glsmfuaddmap{\pglsfmtlong}{\Pglsfmtlong} +\newrobustcmd*{\Pglsxtrtitlelong}[1]{% + \glsxtr@title@field\Pglsxtrlong{#1}% } -{ - \newcommand*{\glsfmtfullpl}[1]{% - \glsxtrtitlefullpl{#1}} +\newcommand*{\PGLSfmtlong}[1]{% + \PGLSprefix{#1}{prefixfirst}% + \GLSfmtlong{#1}% } -\ifdef\texorpdfstring -{ - \newcommand*{\Glsfmtfullpl}[1]{% - \texorpdfstring - {\Glsxtrtitlefullpl{#1}}% - {\glspdffmtfullpl{#1}{}}% - } +\glsmfublocker{\PGLSfmtlong} +\newcommand*{\pglsfmtlongpl}[1]{% + \pglsprefix{#1}{prefixfirstplural}% + \glsfmtlongpl{#1}% } -{ - \newcommand*{\Glsfmtfullpl}[1]{% - \Glsxtrtitlefullpl{#1}} +\newcommand*{\Pglsfmtlongpl}[1]{% + \glstexorpdfstring + {\Pglsxtrtitlelongpl{#1}}% + {\MFUsentencecase + {% + \pglsprefix{#1}{prefixfirstplural}% + \glsentrylongpl{#1}% + }% + }% } -\ifdef\texorpdfstring -{ - \newcommand*{\GLSfmtfullpl}[1]{% - \texorpdfstring - {\GLSxtrtitlefullpl{#1}}% - {\glspdffmtfullpl{#1}{}}% - } +\glsmfuaddmap{\pglsfmtlongpl}{\Pglsfmtlongpl} +\newrobustcmd*{\Pglsxtrtitlelongpl}[1]{% + \glsxtr@title@field\Pglsxtrlongpl{#1}% } -{ - \newcommand*{\GLSfmtfullpl}[1]{% - \GLSxtrtitlefullpl{#1}} +\newcommand*{\PGLSfmtlongpl}[1]{% + \PGLSprefix{#1}{prefixfirstplural}% + \GLSfmtlongpl{#1}% } +\glsmfublocker{\PGLSfmtlongpl} \newcommand*{\multiglossaryentrysetup}[1]{\setkeys{glsxtrcombined}{#1}} \newcommand*{\@gls@combined@indexmain}{1} \define@choicekey{glsxtrcombined}{indexmain}% @@ -14233,6 +13235,9 @@ defined}{}% }% }% {% + \let\glsxtrifwasfirstuse\@firstoftwo + \let\glsifplural\@secondoftwo + \let\glscapscase\@firstofthree \protected@edef\mglscurrentmultilabel{#2}% \letcs\mglscurrentmainlabel{@gls@combined@#2@main}% \letcs\mglscurrentlist{@gls@combined@#2@list}% @@ -14749,12 +13754,12 @@ defined}{}% \renewcommand*{\glscombinedsep}[2]{% \glshasattribute{##1}{combinedsep}% {\glsgetattribute{##1}{combinedsep}}% - {\ifhasshort{##1}{~}{ }}% + {\ifglshasshort{##1}{~}{ }}% }% \renewcommand*{\glscombinedsepfirst}[2]{% \glshasattribute{##1}{combinedsepfirst}% {\glsgetattribute{##1}{combinedsepfirst}}% - {\ifhasshort{##1}{~}{ }}% + {\ifglshasshort{##1}{~}{ }}% }% \renewcommand*{\glscombinedfirstsep}[2]{% \glshasattribute{##1}{combinedfirstsep}% @@ -14771,17 +13776,17 @@ defined}{}% \renewcommand*{\glscombinedsep}[2]{% \glshasattribute{##1}{combinedsep}% {\glsgetattribute{##1}{combinedsep}}% - {\ifhasshort{##1}{}{\ifhasshort{##2}{}{ }}}% + {\ifglshasshort{##1}{}{\ifglshasshort{##2}{}{ }}}% }% \renewcommand*{\glscombinedsepfirst}[2]{% \glshasattribute{##1}{combinedsepfirst}% {\glsgetattribute{##1}{combinedsepfirst}}% - {\ifhasshort{##1}{}{ }}% + {\ifglshasshort{##1}{}{ }}% }% \renewcommand*{\glscombinedfirstsep}[2]{% \glshasattribute{##1}{combinedfirstsep}% {\glsgetattribute{##1}{combinedfirstsep}}% - {\ifhasshort{##2}{}{ }}% + {\ifglshasshort{##2}{}{ }}% }% \renewcommand*{\glscombinedfirstsepfirst}[2]{% \glshasattribute{##1}{combinedfirstsepfirst}% @@ -14794,13 +13799,13 @@ defined}{}% \glshasattribute{##1}{combinedsep}% {\glsgetattribute{##1}{combinedsep}}% {% - \ifhasshort{##1}% + \ifglshasshort{##1}% {\settowidth{\dimen@}{\glsentryshort{##1}}}% {\settowidth{\dimen@}{\glsentrytext{##1}}}% \ifdim\dimen@<#1\relax #2% \else - \ifhasshort{##2}% + \ifglshasshort{##2}% {\settowidth{\dimen@}{\glsentryshort{##2}}}% {\settowidth{\dimen@}{\glsentrytext{##2}}}% \ifdim\dimen@<#1\relax @@ -14815,7 +13820,7 @@ defined}{}% \glshasattribute{##1}{combinedsepfirst}% {\glsgetattribute{##1}{combinedsepfirst}}% {% - \ifhasshort{##1}% + \ifglshasshort{##1}% {\settowidth{\dimen@}{\glsentryshort{##1}}}% {\settowidth{\dimen@}{\glsentrytext{##1}}}% \ifdim\dimen@<#1\relax @@ -14842,7 +13847,7 @@ defined}{}% \ifdim\dimen@<#1\relax #2% \else - \ifhasshort{##2}% + \ifglshasshort{##2}% {\settowidth{\dimen@}{\glsentryshort{##2}}}% {\settowidth{\dimen@}{\glsentrytext{##2}}}% \ifdim\dimen@<#1\relax @@ -14949,7 +13954,7 @@ defined}{}% \def\@glsxtr@mgls@or@gls@gcs{#2}% \@ifstar{\s@GlsXtrMglsOrGls}% {% - \@ifnextchar+{\PLUS\@firstoftwo{\p@GlsXtrMglsOrGls}}% + \@ifnextchar+{\@firstoftwo{\p@GlsXtrMglsOrGls}}% {% \ifdefempty\@gls@alt@hyp@opt@char\@GlsXtrMglsOrGls\alt@GlsXtrMglsOrGls }% @@ -14983,14 +13988,23 @@ defined}{}% \glsxtr@newmgls{mglspl}{\@glspl@}{\@glspl@}{\@glspl@}{\@glspl@}% \glsxtr@newmgls{mglsmainpl}{\@gls@}{\@gls@}{\@glspl@}{\@glspl@}% \glsxtr@newmgls{Mgls}{\@Gls@}{\@gls@}{\@Gls@}{\@gls@}% +\glsmfuaddmap{\mgls}{\Mgls} \glsxtr@newmgls{Mglspl}{\@Glspl@}{\@glspl@}{\@Glspl@}{\@glspl@}% +\glsmfuaddmap{\mglspl}{\Mglspl} \glsxtr@newmgls{Mglsmainpl}{\@Gls@}{\@gls@}{\@Glspl@}{\@glspl@}% +\glsmfuaddmap{\mglsmainpl}{\Mglsmainpl} \glsxtr@newmgls{MGls}{\@Gls@}{\@Gls@}{\@Gls@}{\@Gls@}% +\glsmfublocker{\MGls} \glsxtr@newmgls{MGlspl}{\@Glspl@}{\@Glspl@}{\@Glspl@}{\@Glspl@}% +\glsmfublocker{\MGlspl} \glsxtr@newmgls{MGlsmainpl}{\@Gls@}{\@Gls@}{\@Glspl@}{\@Glspl@}% +\glsmfublocker{\MGlsmainpl} \glsxtr@newmgls{MGLS}{\@GLS@}{\@GLS@}{\@GLS@}{\@GLS@}% +\glsmfublocker{\MGLS} \glsxtr@newmgls{MGLSpl}{\@GLSpl@}{\@GLSpl@}{\@GLSpl@}{\@GLSpl@}% +\glsmfublocker{\MGLSpl} \glsxtr@newmgls{MGLSmainpl}{\@GLS@}{\@GLS@}{\@GLSpl@}{\@GLSpl@}% +\glsmfublocker{\MGLSmainpl} \def\@glslongortext#1#2[#3]{% \ifglshaslong{#2}{\@glsxtrlong{#1}{#2}[#3]}{\@glstext@{#1}{#2}[#3]}% } @@ -15017,16 +14031,21 @@ defined}{}% {\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}{\@glsfullorfirst}% \glsxtr@newmgls{Mglsshort}% {\@Glsshortortext}{\@glsshortortext}{\@Glsshortortext}{\@glsshortortext}% +\glsmfuaddmap{\mglsshort}{\Mglsshort} \glsxtr@newmgls{Mglslong}% {\@Glslongortext}{\@glslongortext}{\@Glslongortext}{\@glslongortext}% +\glsmfuaddmap{\mglslong}{\Mglslong} \glsxtr@newmgls{Mglsfull}% {\@Glsfullorfirst}{\@glsfullorfirst}{\@Glsfullorfirst}{\@glsfullorfirst}% +\glsmfuaddmap{\mglsfull}{\Mglsfull} \glsxtr@newmgls{mglsname}% {\@glsname@}{\@glsname@}{\@glsname@}{\@glsname@}% \glsxtr@newmgls{Mglsname}% {\@Glsname@}{\@glsname@}{\@Glsname@}{\@glsname@}% +\glsmfuaddmap{\mglsname}{\Mglsname} \glsxtr@newmgls{MGlsname}% {\@Glsname@}{\@Glsname@}{\@Glsname@}{\@Glsname@}% +\glsmfublocker{\MGlsname} \def\@glssymbolorgls#1#2[#3]{% \ifglshassymbol{#2}{\@glssymbol@{#1}{#2}[#3]}{\@gls@{#1}{#2}[#3]}% } @@ -15037,8 +14056,10 @@ defined}{}% {\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}{\@glssymbolorgls}% \glsxtr@newmgls{Mglssymbol}% {\@glssymbolorGls}{\@glssymbolorgls}{\@glssymbolorGls}{\@glssymbolorgls}% +\glsmfuaddmap{\mglssymbol}{\Mglssymbol} \glsxtr@newmgls{MGlssymbol}% {\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}{\@glssymbolorGls}% +\glsmfublocker{\MGlssymbol} \newcommand{\mglsfield}{useri} \def\@glsfieldorgls#1#2[#3]{% \glsxtrifhasfield{\mglsfield}{#2}% @@ -15047,19 +14068,21 @@ defined}{}% } \def\@Glsfieldorgls#1#2[#3]{% \glsxtrifhasfield{\mglsfield}{#2}% - {\@glsdisp[#1]{#2}{\xmakefirstuc\glscurrentfieldvalue#3}}% + {\@glsdisp[#1]{#2}{% + \expandafter\glssentencecase\expandafter{\glscurrentfieldvalue#3}}}% {\@Gls@{#1}{#2}[#3]}% } \glsxtr@newmgls{mglsusefield}% {\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}{\@glsfieldorgls}% \glsxtr@newmgls{Mglsusefield}% {\@Glsfieldorgls}{\@glsfieldorgls}{\@Glsfieldorgls}{\@glsfieldorgls}% +\glsmfuaddmap{\mglsusefield}{\Mglsusefield} \glsxtr@newmgls{MGlsusefield}% {\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}{\@Glsfieldorgls}% +\glsmfublocker{\MGlsusefield} \newcommand*{\mpglsWarning}{% \GlossariesExtraWarning{glossaries-prefix.sty is required for - \string\mpgls\space family of commands (either load after - glossaries-extra.sty or use the `prefix' package option)}% + \string\mpgls\space family of commands}% } \def\@pglsorgls#1#2[#3]{% \ifdef\@pgls@{\@pgls@{#1}{#2}[#3]}{\mpglsWarning\@gls@{#1}{#2}[#3]}% @@ -15086,14 +14109,23 @@ defined}{}% \glsxtr@newmgls{mpglspl}{\@pglsorglspl@}{\@glspl@}{\@pglsorglspl@}{\@glspl@}% \glsxtr@newmgls{mpglsmainpl}{\@pglsorgls@}{\@gls@}{\@pglsorglspl@}{\@glspl@}% \glsxtr@newmgls{Mpgls}{\@Pglsorgls@}{\@gls@}{\@Pglsorgls@}{\@gls@}% +\glsmfuaddmap{\mpgls}{\Mpgls} \glsxtr@newmgls{Mpglspl}{\@Pglsorglspl@}{\@glspl@}{\@Pglsorglspl@}{\@glspl@}% +\glsmfuaddmap{\mpglspl}{\Mpglspl} \glsxtr@newmgls{Mpglsmainpl}{\@Pglsorgls@}{\@gls@}{\@Pglsorglspl@}{\@glspl@}% +\glsmfuaddmap{\mpglsmainpl}{\Mpglsmainpl} \glsxtr@newmgls{MPGls}{\@Pglsorgls@}{\@Gls@}{\@Pglsorgls@}{\@Gls@}% +\glsmfublocker{\MPGls} \glsxtr@newmgls{MPGlspl}{\@Pglsorglspl@}{\@Glspl@}{\@Pglsorglspl@}{\@Glspl@}% +\glsmfublocker{\MPGlspl} \glsxtr@newmgls{MPGlsmainpl}{\@Pglsorgls@}{\@Gls@}{\@Pglsorglspl@}{\@Glspl@}% +\glsmfublocker{\MPGlsmainpl} \glsxtr@newmgls{MPGLS}{\@PGLSorgls@}{\@GLS@}{\@PGLSorgls@}{\@GLS@}% +\glsmfublocker{\MPGLS} \glsxtr@newmgls{MPGLSpl}{\@PGLSorglspl@}{\@GLSpl@}{\@PGLSorglspl@}{\@GLSpl@}% +\glsmfublocker{\MPGLSpl} \glsxtr@newmgls{MPGLSmainpl}{\@PGLSorgls@}{\@GLS@}{\@PGLSorglspl@}{\@GLSpl@}% +\glsmfublocker{\MPGLSmainpl} \newcommand*{\RequireGlossariesExtraLang}[1]{% \@ifundefined{ver@glossariesxtr-#1.ldf}{\input{glossariesxtr-#1.ldf}}{}% } diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty new file mode 100644 index 00000000000..aff48c6bf52 --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex-2021-11-22.sty @@ -0,0 +1,238 @@ +%% +%% This is file `glossary-bookindex-2021-11-22.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossary-bookindex-2021-11-22.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossary-bookindex}[2021/11/22 v1.48 (NLCT)] +\RequirePackage{multicol} +\RequirePackage{glossary-tree} +\newcommand{\glsxtrbookindexcols}{2} +\newcommand*{\glsxtrbookindexname}[1]{\glossentryname{#1}} +\newcommand*{\glsxtrbookindexsubname}[1]{\glsxtrbookindexname{#1}} +\providecommand*{\glsxtrprelocation}{\space} + +\newcommand*{\glsxtrbookindexprelocation}[1]{% + \glsxtrifhasfield{location}{#1}% + {,\glsxtrprelocation}% + {\glsxtrprelocation}% +} +\newcommand*{\glsxtrbookindexsubprelocation}[1]{% + \glsxtrbookindexprelocation{#1}% +} +\newcommand*{\glsxtrbookindexlocation}[2]{#2} +\newcommand*{\glsxtrbookindexsublocation}{\glsxtrbookindexlocation} +\newcommand{\glsxtrbookindexparentchildsep}{\nopagebreak} +\newcommand{\glsxtrbookindexparentsubchildsep}{\glsxtrbookindexparentchildsep} +\newcommand{\glsxtrbookindexbetween}[2]{} +\newcommand{\glsxtrbookindexsubbetween}[2]{} +\newcommand{\glsxtrbookindexsubsubbetween}[2]{} +\newcommand{\glsxtrbookindexatendgroup}[1]{} +\newcommand{\glsxtrbookindexsubatendgroup}[1]{} +\newcommand{\glsxtrbookindexsubsubatendgroup}[1]{} +\newcommand{\glsxtrbookindexgroupskip}{\ifglsnogroupskip\else\indexspace\fi} +\newcommand*{\glsxtrbookindexformatheader}[1]{% + \par{\centering\glstreegroupheaderfmt{#1}\par}% +} +\ifdef\pdfbookmark +{% + \newcommand*{\glsxtrbookindexbookmark}[2]{% + \ifdefstring{\@@glossarysec}{chapter}% + {\pdfbookmark[1]{#1}{#2}}% + {\pdfbookmark[2]{#1}{#2}}% + } +} +{% + \newcommand*{\glsxtrbookindexbookmark}[2]{} +} +\newcommand*{\glsxtrbookindexbookmarkprefix}{\currentglossary.} +\newcommand*{\glsxtrbookindexcolspread}{} +\newcommand*{\glsxtrbookindexmulticolsenv}{multicols} +\newglossarystyle{bookindex}{% + \setglossarystyle{index}% + \renewenvironment{theglossary}% + {% + \ifnum\glsxtrbookindexcols>1\relax + \ifdefempty\glsxtrbookindexcolspread + {% + \edef\glsxtr@beginbookindex{% + \noexpand\begin{\glsxtrbookindexmulticolsenv} + {\glsxtrbookindexcols}% + }% + }% + {% + \edef\glsxtr@beginbookindex{% + \noexpand\begin{\glsxtrbookindexmulticolsenv}% + {\glsxtrbookindexcols}[\glsxtrbookindexcolspread]% + }% + }% + \else + \def\glsxtr@beginbookindex{}% + \fi + \glsxtr@beginbookindex + \setlength{\parindent}{0pt}% + \setlength{\parskip}{0pt plus 0.3pt}% + \let\@glsxtr@bookindex@sep\glsxtrbookindexparentchildsep + \let\@glsxtr@bookindex@subsep\glsxtrbookindexparentsubchildsep + \let\@glsxtr@bookindex@between\@gobble + \let\@glsxtr@bookindex@subbetween\@gobble + \let\@glsxtr@bookindex@subsubbetween\@gobble + \let\@glsxtr@bookindex@atendgroup\relax + \let\@glsxtr@bookindex@subatendgroup\relax + \let\@glsxtr@bookindex@subsubatendgroup\relax + \let\@glsxtr@bookindexgroupskip\relax + }% + {% + \@glsxtr@bookindex@subsubatendgroup + \@glsxtr@bookindex@subatendgroup + \@glsxtr@bookindex@atendgroup + \ifnum\glsxtrbookindexcols>1\relax + \edef\glsxtr@endbookindex{% + \noexpand\end{\glsxtrbookindexmulticolsenv}% + }% + \else + \def\glsxtr@endbookindex{}% + \fi + \glsxtr@endbookindex + }% + \renewcommand*{\glossaryheader}{\raggedright}% + \renewcommand*{\glossentry}[2]{% + \@glsxtr@bookindex@between{##1}% + \let\@glsxtr@bookindex@sep\glsxtrbookindexparentchildsep + \let\@glsxtr@bookindex@subsep\glsxtrbookindexparentsubchildsep + \let\@glsxtr@bookindex@subbetween\@gobble + \let\@glsxtr@bookindex@subsubbetween\@gobble + \edef\@glsxtr@bookindex@between{% + \noexpand\glsxtrbookindexbetween{##1}% + }% + \edef\@glsxtr@bookindex@atendgroup{% + \noexpand\glsxtrbookindexatendgroup{##1}% + }% + \let\@glsxtr@bookindex@subatendgroup\relax + \let\@glsxtr@bookindex@subsubatendgroup\relax + \glstreeitem + \glsentryitem{##1}% + \glstarget{##1}{\glsxtrbookindexname{##1}}% + \glsxtrbookindexprelocation{##1}% + \glsxtrbookindexlocation{##1}{##2}% + }% + \renewcommand{\subglossentry}[3]{% + \ifcase##1\relax + \glstreeitem + \or + \@glsxtr@bookindex@sep + \@glsxtr@bookindex@subbetween{##2}% + \let\@glsxtr@bookindex@sep\relax + \let\@glsxtr@bookindex@subsubbetween\@gobble + \let\@glsxtr@bookindex@subsep\glsxtrbookindexparentsubchildsep + \edef\@glsxtr@bookindex@subbetween{% + \noexpand\glsxtrbookindexsubbetween{##2}% + }% + \edef\@glsxtr@bookindex@atsubendgroup{% + \noexpand\glsxtrbookindexatsubendgroup{##1}% + }% + \glstreesubitem + \glssubentryitem{##2}% + \else + \@glsxtr@bookindex@subsep + \@glsxtr@bookindex@subsubbetween{##2}% + \let\@glsxtr@bookindex@subsep\relax + \edef\@glsxtr@bookindex@subsubbetween{% + \noexpand\glsxtrbookindexsubsubbetween{##2}% + }% + \edef\@glsxtr@bookindex@atsubsubendgroup{% + \noexpand\glsxtrbookindexatsubsubendgroup{##1}% + }% + \glstreesubsubitem + \fi + \glstarget{##2}{\glsxtrbookindexsubname{##2}}% + \glsxtrbookindexsubprelocation{##2}% + \glsxtrbookindexsublocation{##2}{##3}% + }% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glsgroupheading}[1]{% + \@glsxtr@bookindex@subsubatendgroup + \@glsxtr@bookindex@subatendgroup + \@glsxtr@bookindex@atendgroup + \@glsxtr@bookindexgroupskip + \let\@glsxtr@bookindexgroupskip\glsxtrbookindexgroupskip + \let\@glsxtr@bookindex@between\@gobble + \let\@glsxtr@bookindex@atendgroup\relax + \let\@glsxtr@bookindex@subatendgroup\relax + \let\@glsxtr@bookindex@subsubatendgroup\relax + \glsxtrgetgrouptitle{##1}{\glsxtrcurrentgrptitle}% + \glsxtrbookindexbookmark{\glsxtrcurrentgrptitle}{\glsxtrbookindexbookmarkprefix##1}% + \glsxtrbookindexformatheader{\glsxtrcurrentgrptitle}% + \nopagebreak\indexspace\nopagebreak\@afterheading + }% +} +\newcommand{\glsxtrbookindexthepage}{% + \ifdef\currentglossary{\currentglossary.\arabic{page}}{\arabic{page}}% +} +\newcommand*{\glsxtrbookindexmarkentry}[1]{% + \protected@write\@auxout + {\let\glsxtrbookindexthepage\relax}% + {\string\glsxtr@setbookindexmark{\glsxtrbookindexthepage}{#1}}% +} +\newcommand*{\glsxtr@setbookindexmark}[2]{% + \ifcsundef{glsxtr@idxfirstmark@#1}% + {\csgdef{glsxtr@idxfirstmark@#1}{#2}}% + {}% + \csgdef{glsxtr@idxlastmark@#1}{#2}% +} +\newcommand*{\glsxtrbookindexfirstmarkfmt}[1]{% + \glsentryname{#1}% +} +\newcommand*{\glsxtrbookindexfirstmark}{% + \letcs{\glsxtr@label}{glsxtr@idxfirstmark@\glsxtrbookindexthepage}% + \ifdef\glsxtr@label + {\glsxtrbookindexfirstmarkfmt{\glsxtr@label}}% + {}% +} +\newcommand*{\glsxtrbookindexlastmarkfmt}[1]{% + \glsentryname{#1}% +} +\newcommand*{\glsxtrbookindexlastmark}{% + \letcs{\glsxtr@label}{glsxtr@idxlastmark@\glsxtrbookindexthepage}% + \ifdef\glsxtr@label + {\glsxtrbookindexlastmarkfmt{\glsxtr@label}}% + {}% +} +\endinput +%% +%% End of file `glossary-bookindex-2021-11-22.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty index 17c89c07654..d389bcf40f3 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `glossary-bookindex.sty,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 @@ -39,7 +39,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-bookindex}[2021/11/22 v1.48 (NLCT)] +\DeclareRelease{v1.48}{2021-11-22}{glossary-bookindex-2021-11-22.sty} +\DeclareCurrentRelease{v1.49}{2022-10-14} +\ProvidesPackage{glossary-bookindex}[2022/10/14 v1.49 (NLCT)] \RequirePackage{multicol} \RequirePackage{glossary-tree} \newcommand{\glsxtrbookindexcols}{2} @@ -66,9 +68,20 @@ \newcommand{\glsxtrbookindexsubatendgroup}[1]{} \newcommand{\glsxtrbookindexsubsubatendgroup}[1]{} \newcommand{\glsxtrbookindexgroupskip}{\ifglsnogroupskip\else\indexspace\fi} +\newcommand{\glsxtrbookindexpregroupskip}[1]{#1} +\newcommand{\glsxtrbookindexpostgroupskip}{\indexspace} +\newcommand{\glsxtrbookindexpresubgroupskip}[3]{\par\medskip} +\newcommand{\glsxtrbookindexpostsubgroupskip}[2]{\par\medskip} \newcommand*{\glsxtrbookindexformatheader}[1]{% \par{\centering\glstreegroupheaderfmt{#1}\par}% } +\newcommand*{\glsxtrbookindexformatsubheader}[5]{% + \ifnum#2>1\relax + \glstreesubsubitem\glstreegroupheaderfmt{#5}% + \else + \glstreesubitem\glstreegroupheaderfmt{#5}% + \fi +} \ifdef\pdfbookmark {% \newcommand*{\glsxtrbookindexbookmark}[2]{% @@ -80,6 +93,17 @@ {% \newcommand*{\glsxtrbookindexbookmark}[2]{} } +\ifdef\pdfbookmark +{% + \newcommand*{\glsxtrbookindexsubbookmark}[3]{% + \ifdefstring{\@@glossarysec}{chapter}% + {\expandafter\pdfbookmark\expandafter[\number\numexpr#1+1]{#3}{#2}}% + {\expandafter\pdfbookmark\expandafter[\number\numexpr#1+2]{#3}{#2}}% + } +} +{% + \newcommand*{\glsxtrbookindexsubbookmark}[3]{} +} \newcommand*{\glsxtrbookindexbookmarkprefix}{\currentglossary.} \newcommand*{\glsxtrbookindexcolspread}{} \newcommand*{\glsxtrbookindexmulticolsenv}{multicols} @@ -137,10 +161,10 @@ \let\@glsxtr@bookindex@subsep\glsxtrbookindexparentsubchildsep \let\@glsxtr@bookindex@subbetween\@gobble \let\@glsxtr@bookindex@subsubbetween\@gobble - \edef\@glsxtr@bookindex@between{% + \protected@edef\@glsxtr@bookindex@between{% \noexpand\glsxtrbookindexbetween{##1}% }% - \edef\@glsxtr@bookindex@atendgroup{% + \protected@edef\@glsxtr@bookindex@atendgroup{% \noexpand\glsxtrbookindexatendgroup{##1}% }% \let\@glsxtr@bookindex@subatendgroup\relax @@ -189,7 +213,7 @@ \@glsxtr@bookindex@subsubatendgroup \@glsxtr@bookindex@subatendgroup \@glsxtr@bookindex@atendgroup - \@glsxtr@bookindexgroupskip + \glsxtrbookindexpregroupskip\@glsxtr@bookindexgroupskip \let\@glsxtr@bookindexgroupskip\glsxtrbookindexgroupskip \let\@glsxtr@bookindex@between\@gobble \let\@glsxtr@bookindex@atendgroup\relax @@ -198,8 +222,23 @@ \glsxtrgetgrouptitle{##1}{\glsxtrcurrentgrptitle}% \glsxtrbookindexbookmark{\glsxtrcurrentgrptitle}{\glsxtrbookindexbookmarkprefix##1}% \glsxtrbookindexformatheader{\glsxtrcurrentgrptitle}% - \nopagebreak\indexspace\nopagebreak\@afterheading + \nopagebreak\glsxtrbookindexpostgroupskip\nopagebreak\@afterheading }% + \renewcommand*{\glssubgroupheading}[4]{% + \@glsxtr@bookindex@subsubatendgroup + \@glsxtr@bookindex@subatendgroup + \@glsxtr@bookindex@atendgroup + \glsxtrbookindexpresubgroupskip\@glsxtr@bookindexgroupskip{##1}{##2}% + \let\@glsxtr@bookindexgroupskip\glsxtrbookindexgroupskip + \let\@glsxtr@bookindex@between\@gobble + \let\@glsxtr@bookindex@atendgroup\relax + \let\@glsxtr@bookindex@subatendgroup\relax + \let\@glsxtr@bookindex@subsubatendgroup\relax + \glsxtrgetgrouptitle{##4}{\glsxtrcurrentgrptitle}% + \glsxtrbookindexsubbookmark{##2}{##4}{\glsxtrcurrentgrptitle}% + \glsxtrbookindexformatsubheader{##1}{##2}{##3}{##4}{\glsxtrcurrentgrptitle}% + \nopagebreak\glsxtrbookindexpostsubgroupskip{##1}{##2}\nopagebreak\@afterheading + } } \newcommand{\glsxtrbookindexthepage}{% \ifdef\currentglossary{\currentglossary.\arabic{page}}{\arabic{page}}% diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty new file mode 100644 index 00000000000..b9f13e4f19e --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra-2021-11-22.sty @@ -0,0 +1,910 @@ +%% +%% This is file `glossary-longextra-2021-11-22.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossary-longextra-2021-11-22.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossary-longextra}[2021/11/22 v1.48 (NLCT)] +\RequirePackage{glossary-longbooktabs} +\newcommand{\glslongextraNameFmt}[1]{% + \glsentryitem{#1}\glstarget{#1}{\glossentryname{#1}}% +} +\newcommand{\glslongextraDescFmt}[1]{% + \glossentrydesc{#1}\glspostdescription +} +\newcommand{\glslongextraSymbolFmt}[1]{\glossentrysymbol{#1}} +\newcommand{\glslongextraLocationFmt}[2]{#2} +\newcommand{\glslongextraSubNameFmt}[2]{% + \glssubentryitem{#2}\glstarget{#2}{\strut}% +} +\newcommand{\glslongextraSubDescFmt}[2]{% + \glslongextraDescFmt{#2}% +} +\newcommand{\glslongextraSubSymbolFmt}[2]{% + \glslongextraSymbolFmt{#2}% +} +\newcommand{\glslongextraSubLocationFmt}[3]{#3} +\newcommand{\glslongextraNameAlign}{l} +\newcommand{\glslongextraDescAlign}{>{\raggedright}p{\glsdescwidth}} +\newcommand{\glslongextraSymbolAlign}{c} +\newcommand{\glslongextraLocationAlign}{>{\raggedright}p{\glspagelistwidth}} +\newcommand{\glslongextraGroupHeading}[2]{} +\newcommand{\glslongextraHeaderFmt}[1]{\textbf{#1}} +\newcommand{\glslongextraNameDescHeader}{% + \glslongextraNameDescTabularHeader\endhead + \glslongextraNameDescTabularFooter\endfoot +} +\newcommand{\glslongextraNameDescTabularHeader}{% + \toprule + \glslongextraHeaderFmt\entryname & + \glslongextraHeaderFmt\descriptionname\tabularnewline + \midrule +} +\newcommand{\glslongextraNameDescTabularFooter}{% + \bottomrule +} +\newcommand*{\glslongextraSetWidest}[1]{% + \def\@glslongextrawidestname{#1}% +} +\newcommand*{\@glslongextrawidestname}{\csuse{@glswidestname}} +\newcommand*{\glslongextraUpdateWidest}[1]{% + \ifundef\@glslongextrawidestname + {\def\@glslongextrawidestname{#1}}% + {% + \settowidth{\dimen@}{\@glslongextrawidestname}% + \settowidth{\dimen@ii}{#1}% + \ifdim\dimen@ii>\dimen@ + \def\@glslongextrawidestname{#1}% + \fi + }% +} +\newcommand*{\glslongextraUpdateWidestChild}[2]{} +\newcommand{\glslongextraSetDescWidth}{% + \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\entryname}% + \settowidth{\dimen@}{\glsnamefont{\@glslongextrawidestname}}% + \ifdim\dimen@>\gls@tmplen + \gls@tmplen=\dimen@ + \fi + \setlength{\glsdescwidth}{\dimexpr\linewidth-4\tabcolsep-\gls@tmplen}% +} +\newcommand{\glslongextraSymSetDescWidth}{% + \glslongextraSetDescWidth + \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}% + \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\gls@tmplen}% +} +\newcommand{\glslongextraLocSetDescWidth}{% + \glslongextraSetDescWidth + \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\glspagelistwidth}% +} +\newcommand{\glslongextraSymLocSetDescWidth}{% + \glslongextraSymSetDescWidth + \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\glspagelistwidth}% +} +\newif\ifGlsLongExtraUseTabular +\GlsLongExtraUseTabularfalse +\newcommand*{\glslongextraTabularVAlign}{c} +\newglossarystyle{long-name-desc}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign}}% + \@glslongextra@begintab + }% + {% + \glslongextraNameDescTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraNameDescTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign}}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraNameDescHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{2}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraNameFmt{##1} & + \glslongextraDescFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubNameFmt{##1}{##2} + & + \glslongextraSubDescFmt{##1}{##2}% + \tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraNameDescLocationHeader}{% + \glslongextraNameDescLocationTabularHeader\endhead + \glslongextraNameDescLocationTabularFooter\endfoot +} +\newcommand{\glslongextraNameDescLocationTabularHeader}{% + \toprule + \glslongextraHeaderFmt\entryname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\pagelistname\tabularnewline + \midrule +} +\newcommand{\glslongextraNameDescLocationTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-name-desc-loc}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraLocationAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraNameDescLocationTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraNameDescLocationTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraLocationAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraNameDescLocationHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraNameFmt{##1} & + \glslongextraDescFmt{##1} & + \glslongextraLocationFmt{##1}{##2}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubNameFmt{##1}{##2}& + \glslongextraSubDescFmt{##1}{##2}& + \glslongextraSubLocationFmt{##1}{##2}{##3}% + \tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraDescNameHeader}{% + \glslongextraDescNameTabularHeader\endhead + \glslongextraDescNameTabularFooter\endfoot +} +\newcommand{\glslongextraDescNameTabularHeader}{% + \toprule + \glslongextraHeaderFmt\descriptionname& + \glslongextraHeaderFmt\entryname \tabularnewline + \midrule +} +\newcommand{\glslongextraDescNameTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-desc-name}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign}}% + \@glslongextra@begintab + }% + {% + \glslongextraDescNameTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraDescNameTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign}}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraDescNameHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{2}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraDescFmt{##1} & + \glslongextraNameFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubNameFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraLocationDescNameHeader}{% + \glslongextraLocationDescNameTabularHeader\endhead + \glslongextraLocationDescNameTabularFooter\endfoot +} +\newcommand{\glslongextraLocationDescNameTabularHeader}{% + \toprule + \glslongextraHeaderFmt\pagelistname& + \glslongextraHeaderFmt\descriptionname& + \glslongextraHeaderFmt\entryname \tabularnewline + \midrule +} +\newcommand{\glslongextraLocationDescNameTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-loc-desc-name}% +{% + \ifGlsLongExtraUseTabular + {% + \glslongextraLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraLocationAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign}}% + \@glslongextra@begintab + }% + {% + \glslongextraLocationDescNameTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraLocationDescNameTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraLocationAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign}}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraLocationDescNameHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraLocationFmt{##1}{##2} & + \glslongextraDescFmt{##1} & + \glslongextraNameFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubLocationFmt{##1}{##2}{##3} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubNameFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraNameDescSymHeader}{% + \glslongextraNameDescSymTabularHeader\endhead + \glslongextraNameDescSymTabularFooter\endfoot +} +\newcommand{\glslongextraNameDescSymTabularHeader}{% + \toprule + \glslongextraHeaderFmt\entryname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\symbolname\tabularnewline + \midrule +} +\newcommand{\glslongextraNameDescSymTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-name-desc-sym}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraNameDescSymTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraNameDescSymTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraNameDescSymHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraNameFmt{##1} & + \glslongextraDescFmt{##1} & + \glslongextraSymbolFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubNameFmt{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubSymbolFmt{##1}{##2}% + \tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraNameDescSymLocationHeader}{% + \glslongextraNameDescSymLocationTabularHeader\endhead + \glslongextraNameDescSymLocationTabularFooter\endfoot +} +\newcommand{\glslongextraNameDescSymLocationTabularHeader}{% + \toprule + \glslongextraHeaderFmt\entryname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\pagelistname\tabularnewline + \midrule +} +\newcommand{\glslongextraNameDescSymLocationTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-name-desc-sym-loc}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraLocationAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraNameDescSymLocationTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraNameDescSymLocationTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraLocationAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraNameDescSymLocationHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraNameFmt{##1} & + \glslongextraDescFmt{##1} & + \glslongextraSymbolFmt{##1}& + \glslongextraLocationFmt{##1}{##2}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubNameFmt{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubSymbolFmt{##1}{##2}& + \glslongextraSubLocationFmt{##1}{##2}{##3}% + \tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraNameSymDescHeader}{% + \glslongextraNameSymDescTabularHeader\endhead + \glslongextraNameSymDescTabularFooter\endfoot +} +\newcommand{\glslongextraNameSymDescTabularHeader}{% + \toprule + \glslongextraHeaderFmt\entryname & + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\descriptionname\tabularnewline + \midrule +} +\newcommand{\glslongextraNameSymDescTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-name-sym-desc}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraNameSymDescTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraNameSymDescTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraNameSymDescHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraNameFmt{##1} & + \glslongextraSymbolFmt{##1} & + \glslongextraDescFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubNameFmt{##1}{##2} & + \glslongextraSubSymbolFmt{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraNameSymDescLocationHeader}{% + \glslongextraNameSymDescLocationTabularHeader\endhead + \glslongextraNameSymDescLocationTabularFooter\endfoot +} +\newcommand{\glslongextraNameSymDescLocationTabularHeader}{% + \toprule + \glslongextraHeaderFmt\entryname & + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\pagelistname\tabularnewline + \midrule +} +\newcommand{\glslongextraNameSymDescLocationTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-name-sym-desc-loc}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraLocationAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraNameSymDescLocationTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraNameSymDescLocationTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraLocationAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraNameSymDescLocationHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraNameFmt{##1} & + \glslongextraSymbolFmt{##1} & + \glslongextraDescFmt{##1} & + \glslongextraLocationFmt{##1}{##2}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubNameFmt{##1}{##2} & + \glslongextraSubSymbolFmt{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubLocationFmt{##1}{##2}{##3}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraSymDescNameHeader}{% + \glslongextraSymDescNameTabularHeader\endhead + \glslongextraSymDescNameTabularFooter\endfoot +} +\newcommand{\glslongextraSymDescNameTabularHeader}{% + \toprule + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\entryname\tabularnewline + \midrule +} +\newcommand{\glslongextraSymDescNameTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-sym-desc-name}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraSymDescNameTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraSymDescNameTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraSymDescNameHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraSymbolFmt{##1} & + \glslongextraDescFmt{##1} & + \glslongextraNameFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubSymbolFmt{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubNameFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraLocationSymDescNameHeader}{% + \glslongextraLocationSymDescNameTabularHeader\endhead + \glslongextraLocationSymDescNameTabularFooter\endfoot +} +\newcommand{\glslongextraLocationSymDescNameTabularHeader}{% + \toprule + \glslongextraHeaderFmt\pagelistname & + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\entryname\tabularnewline + \midrule +} +\newcommand{\glslongextraLocationSymDescNameTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-loc-sym-desc-name}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraLocationAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraLocationSymDescNameTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraLocationSymDescNameTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraLocationAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraLocationSymDescNameHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraLocationFmt{##1}{##2} & + \glslongextraSymbolFmt{##1} & + \glslongextraDescFmt{##1} & + \glslongextraNameFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubLocationFmt{##1}{##2}{##3} & + \glslongextraSubSymbolFmt{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubNameFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraDescSymNameHeader}{% + \glslongextraDescSymNameTabularHeader\endhead + \glslongextraDescSymNameTabularFooter\endfoot +} +\newcommand{\glslongextraDescSymNameTabularHeader}{% + \toprule + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\entryname\tabularnewline + \midrule +} +\newcommand{\glslongextraDescSymNameTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-desc-sym-name}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraDescSymNameTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraDescSymNameTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraDescSymNameHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraDescFmt{##1} & + \glslongextraSymbolFmt{##1} & + \glslongextraNameFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubSymbolFmt{##1}{##2} & + \glslongextraSubNameFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraLocationDescSymNameHeader}{% + \glslongextraLocationDescSymNameTabularHeader\endhead + \glslongextraLocationDescSymNameTabularFooter\endfoot +} +\newcommand{\glslongextraLocationDescSymNameTabularHeader}{% + \toprule + \glslongextraHeaderFmt\pagelistname & + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\entryname\tabularnewline + \midrule +} +\newcommand{\glslongextraLocationDescSymNameTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-loc-desc-sym-name}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraLocationAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraLocationDescSymNameTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraLocationDescSymNameTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymLocSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraLocationAlign + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraLocationDescSymNameHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand{\glossentry}[2]{% + \glslongextraLocationFmt{##1}{##2} & + \glslongextraDescFmt{##1} & + \glslongextraSymbolFmt{##1} & + \glslongextraNameFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubLocationFmt{##1}{##2}{##3} & + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubSymbolFmt{##1}{##2} & + \glslongextraSubNameFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\endinput +%% +%% End of file `glossary-longextra-2021-11-22.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty index a69976433a3..364aa72fe05 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `glossary-longextra.sty,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 @@ -39,7 +39,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-longextra}[2021/11/22 v1.48 (NLCT)] +\DeclareRelease{v1.48}{2021-11-22}{glossary-longextra-2021-11-22.sty} +\DeclareCurrentRelease{v1.49}{2022-10-14} +\ProvidesPackage{glossary-longextra}[2022/10/14 v1.49 (NLCT)] \RequirePackage{glossary-longbooktabs} \newcommand{\glslongextraNameFmt}[1]{% \glsentryitem{#1}\glstarget{#1}{\glossentryname{#1}}% @@ -48,7 +50,21 @@ \glossentrydesc{#1}\glspostdescription } \newcommand{\glslongextraSymbolFmt}[1]{\glossentrysymbol{#1}} +\newcommand{\glslongextraSymbolTargetFmt}[1]{% + \glsentryitem{#1}\glstarget{#1}{\glslongextraSymbolFmt{#1}}} +\newcommand{\glslongextraSymbolOrName}[1]{% + \ifglshassymbol{#1}% + {\glslongextraSymbolTargetFmt{#1}}% + {\glslongextraNameFmt{#1}}% +} \newcommand{\glslongextraLocationFmt}[2]{#2} +\newcommand{\glslongextraShortTargetFmt}[1]{% + \glsentryitem{#1}\glstarget{#1}{{\glsxtrshort[noindex,hyper=false]{#1}}}% + \glsxtrpostnamehook{#1}% +} +\newcommand{\glslongextraLongFmt}[1]{% + {\glsxtrlong[noindex,hyper=false]{#1}}\glspostdescription +} \newcommand{\glslongextraSubNameFmt}[2]{% \glssubentryitem{#2}\glstarget{#2}{\strut}% } @@ -58,12 +74,27 @@ \newcommand{\glslongextraSubSymbolFmt}[2]{% \glslongextraSymbolFmt{#2}% } +\newcommand{\glslongextraSubSymbolTargetFmt}[2]{% + \glssubentryitem{#2}\glstarget{#2}{\glslongextraSymbolFmt{#2}}% +} +\newcommand{\glslongextraSubSymbolOrName}[2]{% + \ifglshassymbol{#2}% + {\glslongextraSubSymbolTargetFmt{#1}{#2}}% + {\glslongextraSubNameFmt{#1}{#2}}% +} +\newcommand{\glslongextraSubShortTargetFmt}[2]{% + \glssubentryitem{#2}\glstarget{#2}{{\glsxtrshort[noindex,hyper=false]{#2}}}% + \glsxtrpostnamehook{#2}% +} +\newcommand{\glslongextraSubLongFmt}[2]{\glslongextraLongFmt{#2}} \newcommand{\glslongextraSubLocationFmt}[3]{#3} \newcommand{\glslongextraNameAlign}{l} \newcommand{\glslongextraDescAlign}{>{\raggedright}p{\glsdescwidth}} \newcommand{\glslongextraSymbolAlign}{c} +\newcommand{\glslongextraSymbolNameAlign}{l} \newcommand{\glslongextraLocationAlign}{>{\raggedright}p{\glspagelistwidth}} \newcommand{\glslongextraGroupHeading}[2]{} +\newcommand*{\glslongextraSubGroupHeading}[5]{} \newcommand{\glslongextraHeaderFmt}[1]{\textbf{#1}} \newcommand{\glslongextraNameDescHeader}{% \glslongextraNameDescTabularHeader\endhead @@ -107,6 +138,10 @@ \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}% \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\gls@tmplen}% } +\newcommand{\glslongextraSymNoNameSetDescWidth}{% + \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}% + \setlength{\glsdescwidth}{\dimexpr\linewidth-4\tabcolsep-\gls@tmplen}% +} \newcommand{\glslongextraLocSetDescWidth}{% \glslongextraSetDescWidth \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\glspagelistwidth}% @@ -115,6 +150,10 @@ \glslongextraSymSetDescWidth \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\glspagelistwidth}% } +\newcommand{\glslongextraShortNoNameSetDescWidth}{% + \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\glslongextraShortHeader}% + \setlength{\glsdescwidth}{\dimexpr\linewidth-4\tabcolsep-\gls@tmplen}% +} \newif\ifGlsLongExtraUseTabular \GlsLongExtraUseTabularfalse \newcommand*{\glslongextraTabularVAlign}{c} @@ -150,6 +189,7 @@ \renewcommand*{\glossaryheader}{\glslongextraNameDescHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{2}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{2}}% \renewcommand{\glossentry}[2]{% \glslongextraNameFmt{##1} & \glslongextraDescFmt{##1}\tabularnewline @@ -216,6 +256,7 @@ \renewcommand*{\glossaryheader}{\glslongextraNameDescLocationHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% \renewcommand{\glossentry}[2]{% \glslongextraNameFmt{##1} & \glslongextraDescFmt{##1} & @@ -278,6 +319,7 @@ \renewcommand*{\glossaryheader}{\glslongextraDescNameHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{2}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{2}}% \renewcommand{\glossentry}[2]{% \glslongextraDescFmt{##1} & \glslongextraNameFmt{##1}\tabularnewline @@ -339,6 +381,7 @@ \renewcommand*{\glossaryheader}{\glslongextraLocationDescNameHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% \renewcommand{\glossentry}[2]{% \glslongextraLocationFmt{##1}{##2} & \glslongextraDescFmt{##1} & @@ -405,6 +448,7 @@ \renewcommand*{\glossaryheader}{\glslongextraNameDescSymHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% \renewcommand{\glossentry}[2]{% \glslongextraNameFmt{##1} & \glslongextraDescFmt{##1} & @@ -475,6 +519,7 @@ \renewcommand*{\glossaryheader}{\glslongextraNameDescSymLocationHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}% \renewcommand{\glossentry}[2]{% \glslongextraNameFmt{##1} & \glslongextraDescFmt{##1} & @@ -544,6 +589,7 @@ \renewcommand*{\glossaryheader}{\glslongextraNameSymDescHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% \renewcommand{\glossentry}[2]{% \glslongextraNameFmt{##1} & \glslongextraSymbolFmt{##1} & @@ -613,6 +659,7 @@ \renewcommand*{\glossaryheader}{\glslongextraNameSymDescLocationHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}% \renewcommand{\glossentry}[2]{% \glslongextraNameFmt{##1} & \glslongextraSymbolFmt{##1} & @@ -681,6 +728,7 @@ \renewcommand*{\glossaryheader}{\glslongextraSymDescNameHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% \renewcommand{\glossentry}[2]{% \glslongextraSymbolFmt{##1} & \glslongextraDescFmt{##1} & @@ -750,6 +798,7 @@ \renewcommand*{\glossaryheader}{\glslongextraLocationSymDescNameHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}% \renewcommand{\glossentry}[2]{% \glslongextraLocationFmt{##1}{##2} & \glslongextraSymbolFmt{##1} & @@ -818,6 +867,7 @@ \renewcommand*{\glossaryheader}{\glslongextraDescSymNameHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% \renewcommand{\glossentry}[2]{% \glslongextraDescFmt{##1} & \glslongextraSymbolFmt{##1} & @@ -887,6 +937,7 @@ \renewcommand*{\glossaryheader}{\glslongextraLocationDescSymNameHeader}% \fi \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}% \renewcommand{\glossentry}[2]{% \glslongextraLocationFmt{##1}{##2} & \glslongextraDescFmt{##1} & @@ -905,6 +956,280 @@ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% \fi } +\newglossarystyle{long-sym-desc}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraSymbolNameAlign + \expandonce\glslongextraDescAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraSymDescTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraSymDescTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraSymbolNameAlign + \expandonce\glslongextraDescAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraSymDescHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% + \renewcommand{\glossentry}[2]{% + \glslongextraSymbolOrName{##1} & + \glslongextraDescFmt{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubSymbolOrName{##1}{##2} & + \glslongextraSubDescFmt{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraSymDescHeader}{% + \glslongextraSymDescTabularHeader\endhead + \glslongextraSymDescTabularFooter\endfoot +} +\newcommand{\glslongextraSymDescTabularHeader}{% + \toprule + \glslongextraHeaderFmt\symbolname & + \glslongextraHeaderFmt\descriptionname\tabularnewline + \midrule +} +\newcommand{\glslongextraSymDescTabularFooter}{% + \bottomrule +} +\newglossarystyle{long-desc-sym}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraSymNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolNameAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraDescSymTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraDescSymTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraSymNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraSymbolNameAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraDescSymHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% + \renewcommand{\glossentry}[2]{% + \glslongextraDescFmt{##1} & + \glslongextraSymbolOrName{##1}\tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \glslongextraSubDescFmt{##1}{##2} & + \glslongextraSubSymbolOrName{##1}{##2}\tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraDescSymHeader}{% + \glslongextraDescSymTabularHeader\endhead + \glslongextraDescSymTabularFooter\endfoot +} +\newcommand{\glslongextraDescSymTabularHeader}{% + \toprule + \glslongextraHeaderFmt\descriptionname & + \glslongextraHeaderFmt\symbolname\tabularnewline + \midrule +} +\newcommand{\glslongextraDescSymTabularFooter}{% + \bottomrule +} +\newglossarystyle{abbr-short-long}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraShortNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraShortLongTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraShortLongTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraShortNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraNameAlign + \expandonce\glslongextraDescAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraShortLongHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% + \renewcommand{\glossentry}[2]{% + \ifglshasshort{##1}% + {\glslongextraShortTargetFmt{##1}}% + {\glslongextraNameFmt{##1}}% + & + \ifglshaslong{##1}% + {\glslongextraLongFmt{##1}}% + {\glslongextraDescFmt{##1}}% + \tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \ifglshasshort{##2}% + {\glslongextraSubShortTargetFmt{##1}{##2}}% + {\glslongextraSubNameFmt{##1}{##2}}% + & + \ifglshaslong{##2}% + {\glslongextraSubLongFmt{##1}{##2}}% + {\glslongextraSubDescFmt{##1}{##2}}% + \tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraShortLongHeader}{% + \glslongextraShortLongTabularHeader\endhead + \glslongextraShortLongTabularFooter\endfoot +} +\newcommand{\glslongextraShortHeader}{\entryname} +\newcommand{\glslongextraLongHeader}{\descriptionname} +\newcommand{\glslongextraShortLongTabularHeader}{% + \toprule + \glslongextraHeaderFmt\glslongextraShortHeader & + \glslongextraHeaderFmt\glslongextraLongHeader\tabularnewline + \midrule +} +\newcommand{\glslongextraShortLongTabularFooter}{% + \bottomrule +} +\newglossarystyle{abbr-long-short}% +{% + \ifGlsLongExtraUseTabular + \renewenvironment{theglossary}% + {% + \glslongextraShortNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{tabular}[\glslongextraTabularVAlign]{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {% + \glslongextraLongShortTabularFooter + \end{tabular}% + }% + \renewcommand*{\glossaryheader}{\glslongextraLongShortTabularHeader}% + \else + \renewenvironment{theglossary}% + {% + \glspatchLToutput + \glslongextraShortNoNameSetDescWidth + \edef\@glslongextra@begintab{% + \noexpand\begin{longtable}{% + \expandonce\glslongextraDescAlign + \expandonce\glslongextraNameAlign + }}% + \@glslongextra@begintab + }% + {\end{longtable}}% + \renewcommand*{\glossaryheader}{\glslongextraLongShortHeader}% + \fi + \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}% + \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}% + \renewcommand{\glossentry}[2]{% + \ifglshaslong{##1}% + {\glslongextraLongFmt{##1}}% + {\glslongextraDescFmt{##1}}% + & + \ifglshasshort{##1}% + {\glslongextraShortTargetFmt{##1}}% + {\glslongextraNameFmt{##1}}% + \tabularnewline + }% + \renewcommand{\subglossentry}[3]{% + \ifglshaslong{##2}% + {\glslongextraSubLongFmt{##1}{##2}}% + {\glslongextraSubDescFmt{##1}{##2}}% + & + \ifglshasshort{##2}% + {\glslongextraSubShortTargetFmt{##1}{##2}}% + {\glslongextraSubNameFmt{##1}{##2}}% + \tabularnewline + }% + \ifglsnogroupskip + \renewcommand*{\glsgroupskip}{}% + \else + \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}% + \fi +} +\newcommand{\glslongextraLongShortHeader}{% + \glslongextraLongShortTabularHeader\endhead + \glslongextraLongShortTabularFooter\endfoot +} +\newcommand{\glslongextraLongShortTabularHeader}{% + \toprule + \glslongextraHeaderFmt\glslongextraLongHeader & + \glslongextraHeaderFmt\glslongextraShortHeader\tabularnewline + \midrule +} +\newcommand{\glslongextraLongShortTabularFooter}{% + \bottomrule +} \endinput %% %% End of file `glossary-longextra.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty new file mode 100644 index 00000000000..e2fec653505 --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-table.sty @@ -0,0 +1,925 @@ +%% +%% This is file `glossary-table.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossary-table.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossary-table}[2022/10/14 v1.49 (NLCT)] +\RequirePackage{glossary-longbooktabs} +\newcount\glstableblockperrowcount +\glstableblockperrowcount=2\relax +\define@key{printglosstable}{blocks}{\glstableblockperrowcount=#1\relax} +\newcount\glstablecurrentblockindex +\newcount\glstabletotalcols +\glstabletotalcols=4\relax +\newcommand{\glstablenameheader}{\entryname} +\newcommand{\glstabledescheader}{\descriptionname} +\newcommand{\glstableotherheader}{\MFUsentencecase{\glstableotherfield}} +\newcommand{\glstablesymbolheader}{\symbolname} +\define@boolkey{printglosstable}{header}[true]{} +\KV@printglosstable@headertrue +\define@boolkey{printglosstable}{rules}[true]{} +\KV@printglosstable@rulestrue +\define@key{printglosstable}{blocksep}{\renewcommand{\glstable@blockalignsep}{#1}} +\newcommand{\glstable@blockalignsep}{|} +\newenvironment{glstablesubentries}{\begin{tabular}[t]{l}}{\end{tabular}} +\newcommand{\glstablePreChildren}{\glstableifpar{\par}} +\newcommand{\glstableblocksubentrysep}{\\} +\define@choicekey{printglosstable}{par} +[\@glstable@par@val\@glstable@par@n] +{false,justified,ragged} +{% + \ifcase\@glstable@par@n + \renewcommand{\glstable@parcase}[3]{##1}% + \or + \renewcommand{\glstable@parcase}[3]{##2}% + \or + \renewcommand{\glstable@parcase}[3]{##3}% + \fi +} +\newcommand{\glstable@parcase}[3]{#1} +\newcommand{\glstableifpar}[1]{\glstable@parcase{}{#1}{#1}} +\newcommand{\glstableleftalign}[1]{% + \glstable@parcase{l}{p{#1}}{>{\protect\raggedright}p{#1}}% +} +\newcommand{\glstablerightalign}[1]{% + \glstable@parcase{r}{p{#1}}{>{\protect\raggedleft}p{#1}}% +} +\newcommand{\glstablecenteralign}[1]{% + \glstable@parcase{c}{p{#1}}{>{\protect\centering}p{#1}}% +} +\newcommand{\glstablenamecolalign}{\glstableleftalign{\glstablenamewidth}} +\newcommand{\glstabledesccolalign}{\glstableleftalign{\glstabledescwidth}} +\newcommand{\glstablesymbolcolalign}{\glstablecenteralign{\glstablesymbolwidth}} +\newcommand{\glstableNameTarget}[1]{% + \glstarget{#1}{\glstableNameFmt{#1}}% +} +\newcommand{\glstableNameFmt}[1]{\glsentryitem{#1}\glossentryname{#1}} +\newcommand{\glstableSubNameTarget}[1]{% + \glstarget{#1}{\glstableSubNameFmt{#1}}% +} +\newcommand{\glstableSubNameFmt}[1]{% + \glssubentryitem{#1}% +} +\newcommand{\glstableotherfield}{} +\define@key{printglosstable}{other}{\renewcommand{\glstableotherfield}{#1}} +\newcommand{\glstableOther}[1]{% + \glsxtrusefield{#1}{\glstableotherfield}} +\newcommand{\glstableNameSingleFmt}[1]{% + \glstableNameTarget{#1}% + \ifglshasdesc{#1}% + {% + \glstableNameSinglePostName + \glstableNameSingleSuppl + {% + \ifglshassymbol{#1}% + {\glstableSymbolFmt{#1}\glstableNameSingleSymSep}% + {}% + \ifdefempty\glstableotherfield{}% + {% + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableOther{#1}\glstableOtherSep}% + }% + \glstableDescFmt{#1}% + }% + }% + {% + \ifglshassymbol{#1}% + {% + \glstableNameSinglePostName + \glstableNameSingleSuppl{\glstableSymbolFmt{#1}}% + \ifdefempty\glstableotherfield{}% + {% + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableNameSingleSymSep\glstableOther{#1}}% + }% + }% + {% + \ifdefempty\glstableotherfield{}% + {% + \glstableNameSinglePostName + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableOther{#1}}% + }% + }% + }% +} +\newcommand{\glstableNameSingleSuppl}[1]{(#1)} +\newcommand{\glstableNameSinglePostName}{ } +\newcommand{\glstableNameSingleSymSep}{ } +\newcommand{\glstableOtherSep}{, } +\newcommand{\glstableSubNameSingleFmt}[1]{% + \glstableSubNameTarget{#1}% + \GlsXtrIfFieldUndef{desc}{#1}{}% + {% + \GlsXtrIfFieldUndef{symbol}{#1}{}{}% + {% + \glstableNameSinglePostSubName + \glstableNameSingleSubSuppl{\glstableSubSymbolFmt{#1}}% + }% + }% + {% + \glstableNameSinglePostSubName + \glstableNameSingleSubSuppl + {% + \GlsXtrIfFieldUndef{symbol}{#1}{}% + {\glstableSubSymbolFmt{#1}\glstableNameSingleSymSep}% + \glstableSubDescFmt{#1}% + }% + }% +} +\newcommand{\glstableNameSingleSubSuppl}[1]{#1} +\newcommand{\glstableNameSinglePostSubName}{ } +\newcommand{\glstableNameNoDesc}[1]{% + \glstableNameTarget{#1}% + \ifdefempty\glstableotherfield{}% + {% + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableOtherSep\glstableOther{#1}}% + }% +} +\newcommand{\glstableSubNameNoDesc}[1]{% + \glstableSubNameTarget{#1}% + \ifdefempty\glstableotherfield{}% + {% + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableOtherSep\glstableOther{#1}}% + }% +} +\newcommand{\glstableSymbolFmt}[1]{\glossentrysymbol{#1}} +\newcommand{\glstableSubSymbolFmt}[1]{\glstableSymbolFmt{#1}} +\newcommand{\glstableSymbolNameTarget}[1]{% + \glstarget{#1}{\glstableSymbolNameFmt{#1}}% +} +\newcommand{\glstableSymbolNameFmt}[1]{\glsentryitem{#1}\glossentrysymbol{#1}} +\newcommand{\glstableSubSymbolNameTarget}[1]{% + \glstarget{#1}{\glstableSubSymbolNameFmt{#1}}% +} +\newcommand{\glstableSubSymbolNameFmt}[1]{\glssubentryitem{#1}} +\newcommand{\glstableDesc}[1]{% + \ifdefempty\glstableotherfield{}% + {% + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableOther{#1}\ifglshasdesc{#1}{\glstableOtherSep}{}}% + }% + \glstableDescFmt{#1}% +} +\newcommand{\glstableDescFmt}[1]{\glossentrydesc{#1}\glspostdescription} +\newcommand{\glstableSubDesc}[1]{\glstableDesc{#1}} +\newcommand{\glstableSubDescFmt}[1]{\glstableDescFmt{#1}} +\newcommand{\glstableOtherNoDesc}[1]{% + \ifdefempty\glstableotherfield{}% + {% + \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}% + {\glstableOther{#1}}% + }% +} +\newcommand{\glstableSubOtherNoDesc}[1]{% + \glstableOtherNoDesc{#1}% +} +\newcommand{\glstableHeaderFmt}[1]{\textbf{#1}} +\define@key{printglosstable}{block-style} +{\glstablesetstyle{#1}} +\newcount\glstablecolsperblock +\glstablecolsperblock=2\relax +\newcommand{\glstableblockheader}{} +\newcommand{\glstableblockalign}{} +\newcommand{\glstableblockentry}[1]{} +\newcommand{\glstableblocksubentry}[1]{} +\newcommand{\glstableinitlengthupdates}{} +\newcommand{\glstablelengthupdate}[1]{} +\newcommand{\glstablefinishlengthupdates}{} +\newcommand{\glstablesetstyle}[1]{% + \ifcsdef{@glstable@style@#1}% + {\csuse{@glstable@style@#1}}% + {\PackageError{glossary-table}{Unknown style `#1'}{}}% +} +\newcommand{\glstablenewstyle}[2]{% + \ifcsdef{@glstable@style@#1}% + {\PackageError{glossary-table}{style `#1' already defined}{}}% + {\csdef{@glstable@style@#1}{#2}}% +} +\glstablenewstyle{name-desc}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablenamewidth}% + {\glstableHeaderFmt\glstablenameheader}% + \else + \setlength{\glstablenamewidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablenamewidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstabledescwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableNameTarget{##1} & \glstableDesc{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubNameTarget{##1} & \glstableSubDesc{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablenameheader & + \glstableHeaderFmt\glstabledescheader}% + \renewcommand{\glstableblockalign}{\glstablenamecolalign\glstabledesccolalign}% +} +\glstablesetstyle{name-desc} +\glstablenewstyle{name}{% + \glstablecolsperblock=1\relax + \renewcommand{\glstableinitlengthupdates}{}% + \renewcommand{\glstablelengthupdate}[1]{}% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstablenamewidth}{\glstableblockwidth}% + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableNameSingleFmt{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubNameSingleFmt{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablenameheader}% + \renewcommand{\glstableblockalign}{\glstablenamecolalign}% +} +\glstablenewstyle{name-symbol}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablesymbolwidth}% + {\glstableHeaderFmt\glstablesymbolheader}% + \else + \setlength{\glstablesymbolwidth}{0pt}% + \fi + \setlength{\glstablenamewidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstablenamewidth}{\dimexpr\glstableblockwidth + - \glstablesymbolwidth}% + \ifdim\glstablenamewidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstablesymbolwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableNameNoDesc{##1} & \glstableSymbolFmt{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubNameNoDesc{##1} & \glstableSubSymbolFmt{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablenameheader & + \glstableHeaderFmt\glstablesymbolheader}% + \renewcommand{\glstableblockalign}{\glstablenamecolalign\glstablesymbolcolalign}% +} +\glstablenewstyle{desc-name}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablenamewidth}% + {\glstableHeaderFmt\glstablenameheader}% + \else + \setlength{\glstablenamewidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablenamewidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstabledescwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableDesc{##1} & + \glstableNameTarget{##1}% + }% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubDesc{##1} & + \glstableSubNameTarget{##1}% + }% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstabledescheader & + \glstableHeaderFmt\glstablenameheader + }% + \renewcommand{\glstableblockalign}{\glstabledesccolalign\glstablenamecolalign}% +} +\glstablenewstyle{symbol-name}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablesymbolwidth}% + {\glstableHeaderFmt\glstablesymbolheader}% + \else + \setlength{\glstablesymbolwidth}{0pt}% + \fi + \setlength{\glstablenamewidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstablenamewidth}{\dimexpr\glstableblockwidth + - \glstablesymbolwidth}% + \ifdim\glstablenamewidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstablesymbolwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableSymbolFmt{##1} & + \glstableNameNoDesc{##1}% + }% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubSymbolFmt{##1} & + \glstableSubNameNoDesc{##1}% + }% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablesymbolheader & + \glstableHeaderFmt\glstablenameheader + }% + \renewcommand{\glstableblockalign}{\glstablesymbolcolalign\glstablenamecolalign}% +} +\glstablenewstyle{name-symbol-desc}{% + \glstablecolsperblock=3\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablenamewidth}% + {\glstableHeaderFmt\glstablenameheader}% + \settowidth{\glstablesymbolwidth}% + {\glstableHeaderFmt\glstablesymbolheader}% + \else + \setlength{\glstablenamewidth}{0pt}% + \setlength{\glstablesymbolwidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}% + \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablesymbolwidth - \glstablenamewidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth + - 0.5\glstablesymbolwidth}% + \setlength{\glstabledescwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableNameTarget{##1} & + \glstableSymbolFmt{##1} & + \glstableDesc{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubNameTarget{##1} & + \glstableSubSymbolFmt{##1} & + \glstableSubDesc{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablenameheader & + \glstableHeaderFmt\glstablesymbolheader & + \glstableHeaderFmt\glstabledescheader}% + \renewcommand{\glstableblockalign}{% + \glstablenamecolalign\glstablesymbolcolalign\glstabledesccolalign}% +} +\glstablenewstyle{name-desc-symbol}{% + \glstablecolsperblock=3\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablenamewidth}% + {\glstableHeaderFmt\glstablenameheader}% + \settowidth{\glstablesymbolwidth}% + {\glstableHeaderFmt\glstablesymbolheader}% + \else + \setlength{\glstablenamewidth}{0pt}% + \setlength{\glstablesymbolwidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}% + \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablesymbolwidth - \glstablenamewidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth + - 0.5\glstablesymbolwidth}% + \setlength{\glstabledescwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableNameTarget{##1} & + \glstableDesc{##1} & + \glstableSymbolFmt{##1}% + }% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubNameTarget{##1} & + \glstableSubDesc{##1} & + \glstableSubSymbolFmt{##1}% + }% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablenameheader & + \glstableHeaderFmt\glstabledescheader & + \glstableHeaderFmt\glstablesymbolheader + }% + \renewcommand{\glstableblockalign}{% + \glstablenamecolalign\glstabledesccolalign\glstablesymbolcolalign}% +} +\glstablenewstyle{name-other}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablenamewidth}% + {\glstableHeaderFmt\glstablenameheader}% + \else + \setlength{\glstablenamewidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablenamewidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstabledescwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableNameTarget{##1} & \glstableOtherNoDesc{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubNameTarget{##1} & \glstableSubOtherNoDesc{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablenameheader & + \glstableHeaderFmt\glstableotherheader}% + \renewcommand{\glstableblockalign}{\glstablenamecolalign\glstabledesccolalign}% +} +\glstablenewstyle{other-name}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablenamewidth}% + {\glstableHeaderFmt\glstablenameheader}% + \else + \setlength{\glstablenamewidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablenamewidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstabledescwidth}{\glstablenamewidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableOtherNoDesc{##1} & + \glstableNameTarget{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubOtherNoDesc{##1} & + \glstableSubNameTarget{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstableotherheader & + \glstableHeaderFmt\glstablenameheader}% + \renewcommand{\glstableblockalign}{\glstabledesccolalign\glstablenamecolalign}% +} +\glstablenewstyle{symbol-other}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablesymbolwidth}% + {\glstableHeaderFmt\glstablesymbolheader}% + \else + \setlength{\glstablesymbolwidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolNameFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablesymbolwidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablesymbolwidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstabledescwidth}{\glstablesymbolwidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableSymbolNameTarget{##1} & \glstableOtherNoDesc{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubSymbolNameTarget{##1} & \glstableSubOtherNoDesc{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstablesymbolheader & + \glstableHeaderFmt\glstableotherheader}% + \renewcommand{\glstableblockalign}{\glstablesymbolcolalign\glstabledesccolalign}% +} +\glstablenewstyle{other-symbol}{% + \glstablecolsperblock=2\relax + \renewcommand{\glstableinitlengthupdates}{% + \ifKV@printglosstable@header + \settowidth{\glstablesymbolwidth}% + {\glstableHeaderFmt\glstablesymbolheader}% + \else + \setlength{\glstablesymbolwidth}{0pt}% + \fi + \setlength{\glstabledescwidth}{0pt}% + }% + \renewcommand{\glstablelengthupdate}[1]{% + \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolNameFmt{##1}}% + }% + \renewcommand{\glstablefinishlengthupdates}{% + \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth + - \glstablesymbolwidth}% + \ifdim\glstabledescwidth<0pt\relax + \setlength{\glstablesymbolwidth}{\dimexpr0.5\glstableblockwidth}% + \setlength{\glstabledescwidth}{\glstablesymbolwidth}% + \fi + }% + \renewcommand{\glstableblockentry}[1]{% + \glstableOtherNoDesc{##1} & \glstableSymbolNameTarget{##1}}% + \renewcommand{\glstableblocksubentry}[1]{% + \glstableSubOtherNoDesc{##1} & + \glstableSubSymbolNameTarget{##1}}% + \renewcommand{\glstableblockheader}{% + \glstableHeaderFmt\glstableotherheader & + \glstableHeaderFmt\glstablesymbolheader}% + \renewcommand{\glstableblockalign}{\glstabledesccolalign\glstablesymbolcolalign}% +} +\newcommand{\glstablecaption}[3]{% + \caption[#1]{#3#2}% +} +\newcommand{\glstablepostnextcaption}{ Cont./} +\newcommand{\glstablenextcaption}[2]{% + \caption[]{#1\glstablepostnextcaption}% +} +\newcommand{\glstablefoot}[1]{} +\newcommand{\glstablelastfoot}[1]{\glstablerowspan{#1}} +\newcommand{\glstablehead}[1]{} +\newcommand{\glstablefirsthead}[1]{\glstablerowspan{#1}} +\newcommand{\glstablerowspan}[1]{% + \multicolumn{\glstabletotalcols}{c}{\parbox{\LTcapwidth}{#1}}% +} +\newcommand{\glstable@begin}{% + \PackageError{glossary-table}{table style can only be used with + \string\printunsrttable}{}% +} +\newcommand{\glstable@filter}[1]{% + \ifnum\glscurrententrylevel>0\relax + \printunsrtglossaryskipentry + \else + \glstableiffilter{#1}% + {\printunsrtglossaryskipentry}% + {% + \glstableifpar{\glstablelengthupdate{#1}}% + }% + \fi +} +\newcommand{\glstableiffilter}[3]{#3} +\newlength\glstablenamewidth +\newlength\glstableblockwidth +\newlength\glstabledescwidth +\newlength\glstablesymbolwidth +\newcommand{\glstableifmeasuring}[2]{#2} +\newcommand{\glstable@stepentry}[1]{% + \ifglsentrycounter + \stepcounter{glossaryentry}% + \fi +} +\newcommand{\glstable@stepsubentry}[1]{% + \ifglssubentrycounter + \stepcounter{glossarysubentry}% + \fi +} +\newcommand{\glstablemeasureandupdate}[2]{% + \let\glstableifmeasuring\@firstoftwo + \let\@glsunset\@glsxtrbuffer@unset + \let\@gls@org@noindex\ifKV@glslink@noindex + \KV@glslink@noindextrue + \let\@glstable@org@target\glstarget + \let\glstarget\@secondoftwo + \let\@glstable@org@link\@glslink + \let\@glslink\@secondoftwo + \let\glstable@org@stepentry\glsstepentry + \let\glsstepentry\glstable@stepentry + \let\glstable@org@stepsubentry\glsstepsubentry + \let\glsstepsubentry\glstable@stepsubentry + \settowidth{\dimen@}{#2}% + \ifdim\dimen@>#1\relax + \setlength{#1}{\dimen@}% + \fi + \let\ifKV@glslink@noindex\@gls@org@noindex + \let\@glsunset\@glsxtr@unset + \let\glstarget\@glstable@org@target + \let\@glslink\@glstable@org@link + \let\glsstepentry\glstable@org@stepentry + \let\glsstepsubentry\glstable@org@stepsubentry + \let\glstableifmeasuring\@secondoftwo +} +\newcommand{\glstable@ifhaspreamble}[2]{% + \ifdefempty\glossarypreamble + {#2}% + {% + \ifx\@glstable@defaultpreamble\glossarypreamble + \ifcsvoid{@glossarypreamble@\currentglossary}{#2}{#1}% + \else + #1% + \fi + }% +} +\define@key{printglosstable}{type}{\renewcommand{\@glo@type}{#1}} +\define@key{printglosstable}{preamble}{\renewcommand{\glossarypreamble}{#1}} +\define@key{printglosstable}{postamble}{\renewcommand{\glossarypostamble}{#1}} +\newcommand\glstable@init{} +\define@key{printglosstable}{init}{\renewcommand{\glstable@init}{#1}} +\define@choicekey{printglosstable}{groups} +[\@glstable@groups@val\@glstable@groups@n] +{false,true}[true]% +{% + \ifnum\@glstable@groups@n=0\relax + \let\glstable@groupheading\@gobble + \glsxtr@printgloss@groupsfalse + \else + \let\glstable@groupheading\glstablegroupheading + \glsxtr@printgloss@groupstrue + \fi +} +\newcommand{\glstable@groupheading}[1]{} +\newcommand{\glstablegroupheading}[1]{% + \glstablefinishrow + \multicolumn{\glstabletotalcols}{c}{% + \glsxtrgetgrouptitle{#1}{\glsxtrcurrentgrptitle}% + \glstableGroupHeaderFmt\glsxtrcurrentgrptitle + }% + \\*% +} +\let\@glstable@defaultpreamble\glossarypreamble +\newcommand{\glstableGroupHeaderFmt}{\glstableHeaderFmt} +\newrobustcmd*{\printunsrttable}[1][]{% + \bgroup + \def\@glo@type{\glsdefaulttype}% + \def\glossarytitle{% + \ifcsdef{@glotype@\@glo@type @title}% + {\csuse{@glotype@\@glo@type @title}}% + {\glossaryname}% + }% + \def\glossarytoctitle{\glossarytitle}% + \let\glossarypreamble\@glstable@defaultpreamble + \setkeys*{printglosstable}{#1}% + \let\currentglossary\@glo@type + \protected@edef\glstable@opts{type=\@glo@type,style=table}% + \ifdefempty\XKV@rm{}{\epreto\glstable@opts{\expandonce\XKV@rm,}}% + \glstabletotalcols=\numexpr\glstablecolsperblock*\glstableblockperrowcount\relax + \glstableifpar + {% + \glstableblockwidth=\dimexpr\linewidth/\glstableblockperrowcount + -\glstablecolsperblock\tabcolsep\relax + \glstableinitlengthupdates + }% + \ifdefempty\glstable@blockalignsep{\def\glstable@finishrow{}}{}% + \def\glstable@alignment{}% + \ifKV@printglosstable@rules + \def\glstable@header{\toprule}% + \else + \def\glstable@header{}% + \fi + \global\glstablecurrentblockindex=0\relax + \loop + \ifnum\glstablecurrentblockindex>0\relax + \protected@eappto\glstable@alignment{\glstable@blockalignsep}% + \fi + \protected@eappto\glstable@alignment{\glstableblockalign}% + \ifKV@printglosstable@header + \ifnum\glstablecurrentblockindex>0\relax + \appto\glstable@header{&}% + \fi + \eappto\glstable@header{\expandonce\glstableblockheader}% + \fi + \advance\glstablecurrentblockindex by 1\relax + \ifnum\glstablecurrentblockindex<\glstableblockperrowcount + \repeat + \ifKV@printglosstable@header + \appto\glstable@header{\tabularnewline}% + \ifKV@printglosstable@rules + \appto\glstable@header{\midrule}% + \fi + \fi + \protected@edef\glstable@begin{% + \noexpand\begin{longtable}{\expandonce\glstable@alignment}% + \noexpand\glstablecaption + {\noexpand\glossarytoctitle}{\noexpand\glossarytitle}% + {\noexpand\@@glossaryseclabel}% + \noexpand\tabularnewline + }% + \glstable@ifhaspreamble + {% + \eappto\glstable@begin{\noexpand\glstablefirsthead + {\expandonce\glossarypreamble}% + \noexpand\tabularnewline + \expandonce\glstable@header + \noexpand\endfirsthead + \noexpand\glstablenextcaption + {\noexpand\glossarytoctitle}{\noexpand\glossarytitle}% + {\expandonce\glossarypreamble}% + }% + }% + {% + \eappto\glstable@begin{% + \expandonce\glstable@header + \noexpand\endfirsthead + \noexpand\glstablenextcaption + {\noexpand\glossarytoctitle}{\noexpand\glossarytitle}% + }% + }% + \eappto\glstable@begin{% + \noexpand\tabularnewline + \expandonce\glstable@header + \noexpand\endhead + }% + \ifdefvoid\glossarypostamble + {% + \ifKV@printglosstable@rules + \appto\glstable@begin{\bottomrule\endfoot}% + \fi + } + {% + \ifKV@printglosstable@rules + \eappto\glstable@begin{% + \noexpand\bottomrule + \noexpand\glstablefoot{\expandonce\glossarypostamble}% + \noexpand\tabularnewline + \noexpand\endfoot + \noexpand\bottomrule + \noexpand\glstablelastfoot{\expandonce\glossarypostamble}% + \noexpand\tabularnewline + \noexpand\endlastfoot + }% + \else + \eappto\glstable@begin{% + \noexpand\glstablefoot{\expandonce\glossarypostamble}% + \noexpand\tabularnewline + \noexpand\endfoot + \noexpand\glstablelastfoot{\expandonce\glossarypostamble}% + \noexpand\tabularnewline + \noexpand\endlastfoot + }% + \fi + }% + \glstable@init + \let\printunsrtglossaryentryprocesshook\glstable@filter + \let\glossarypostamble\relax + \let\glossarypreamble\relax + \renewcommand{\glossarysection}[2][]{}% + \glsxtrifemptyglossary{\currentglossary} + {% + \GlossariesExtraWarning{Glossary `\currentglossary' is empty}% + \edef\@glsxtr@tmp{\noexpand\setkeys{printgloss}{\expandonce\glstable@opts}}% + \@glsxtr@tmp + \glstableifpar{\glstablefinishlengthupdates}% + \global\glstablecurrentblockindex=0\relax + \glstable@begin + \glstablefinishrow + \end{longtable}% + }% + {% + \expandafter\printunsrtglossary\expandafter[\glstable@opts]\relax + }% + \egroup +} +\newcommand{\glstable@child}[1]{% + \ifdefempty\glstable@dochildren{}% + {\appto\glstable@dochildren{\glstableblocksubentrysep}}% + \appto\glstable@dochildren{\glstableblocksubentry{#1}}% +} +\newcommand{\glstableChildEntries}[1]{% + \def\glstable@dochildren{}% + \GlsXtrIfHasNonZeroChildCount*{#1}% + {% + \glsxtrfieldforlistloop{#1}{childlist}{\glstable@child}% + \preto\glstable@dochildren{% + \glstablePreChildren + \begin{glstablesubentries}% + }% + \appto\glstable@dochildren{\end{glstablesubentries}}% + }% + {}% + \glstable@dochildren +} +\newcommand{\glstable@n@amps}[1]{% + \ifnum#1>0\relax + \count@=0\relax + \loop + \advance\count@ by 1\relax + \appto\glstable@endblock{&}% + \ifnum\count@<#1 + \repeat + \fi +} +\newcommand{\glstablefinishrow}{% + \glstable@finishrow + \tabularnewline +} +\newcommand{\glstable@finishrow}{% + \def\glstable@endblock{}% + \@glstable@finishrow + \glstable@endblock +} +\newcommand{\@glstable@finishrow}{% + \ifnum\glstablecurrentblockindex>0 + \ifnum\glstablecurrentblockindex<\glstableblockperrowcount + \expandafter\glstable@n@amps\expandafter{% + \numexpr + (\glstableblockperrowcount-\glstablecurrentblockindex) + * (\glstablecolsperblock -1) + }% + \fi + \global\glstablecurrentblockindex=0 + \fi +} +\newglossarystyle{table}% +{% + \renewenvironment{theglossary}% + {% + \glstableifpar{\glstablefinishlengthupdates}% + \global\glstablecurrentblockindex=0\relax + \glstable@begin + } + {% + \glstablefinishrow + \end{longtable}% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{\glstable@groupheading{##1}}% + \renewcommand*{\glssubgroupheading}[4]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand{\glossentry}[2]{% + \global\advance\glstablecurrentblockindex by 1\relax + \ifnum\glstableblockperrowcount=\glstablecurrentblockindex + \gdef\glstable@endblock{% + \global\glstablecurrentblockindex=0\relax + \tabularnewline + }% + \else + \gdef\glstable@endblock{&}% + \fi + \glstableblockentry{##1}% + \glstableChildEntries{##1}% + \glstable@endblock + }% + \renewcommand{\subglossentry}[3]{}% +} +\endinput +%% +%% End of file `glossary-table.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty new file mode 100644 index 00000000000..65867129d6e --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic-2021-11-22.sty @@ -0,0 +1,206 @@ +%% +%% This is file `glossary-topic-2021-11-22.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries-extra.dtx (with options: `glossary-topic-2021-11-22.sty,package') +%% +%% glossaries-extra.dtx +%% Copyright 2022 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-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} +\ProvidesPackage{glossary-topic}[2021/11/22 v1.48 (NLCT)] +\RequirePackage{multicol} +\newglossarystyle{topic}{% + \renewenvironment{theglossary}% + {% + \glstopicInit + \def\glstopic@prechildren{}% + \def\glstopic@prevlevel{-1}% + }% + {\par}% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{% + \def\glstopic@prevlevel{-1}% + \glstopicGroupHeading{##1}% + }% + \renewcommand{\glossentry}[2]{% + \hangindent0pt\relax + \parindent\glstopicParIndent\relax + \glstopicItem{##1}{##2}% + \ifglshasdesc{##1}% + {% + \def\glstopic@prechildren{}% + }% + {% + \def\glstopic@prechildren{\nopagebreak}% + }% + }% + \renewcommand{\subglossentry}[3]{% + \ifnum\glstopic@prevlevel=0\relax\glstopic@prechildren\fi + \def\glstopic@prevlevel{##1}% + \begingroup + \glstopicAssignSubIndent{##1}% + \glstopicSubItem{##1}{##2}{##3}% + \par + \endgroup + }% + \renewcommand*{\glsgroupskip}{}% +} +\newcommand*{\glstopicGroupHeading}[1]{} +\newcommand*{\glstopicItem}[2]{% + \glspar\glstopicPreSkip\glspar\noindent + \glstopicMarker{#1}% + \glstopicTitleFont + {% + \glsentryitem{#1}\glstarget{#1}{\glstopicTitle{#1}}% + }% + \ifglshasdesc{#1}% + {\glspar\nobreak\glstopicMidSkip\glspar\nobreak + \@afterheading\glstopicDesc{#1}\glspar\glstopicPostSkip}% + {\glspar\nobreak\glstopicPostSkip}% + \glstopicLoc{#1}{#2}% +} +\newcommand*{\glstopicMarker}[1]{} +\newcommand*{\glstopicTitle}[1]{\Glossentryname{#1}% + \ifglshassymbol{#1}{\space(\glossentrysymbol{#1})}{}% +} +\newcommand*{\glstopicTitleFont}[1]{\textbf{\large #1}} +\newcommand*{\glstopicDesc}[1]{\Glossentrydesc{#1}\glspostdescription} +\newcommand*{\glstopicLoc}[2]{} +\newlength\glstopicParIndent +\setlength\glstopicParIndent{20pt} +\newlength\glstopicSubIndent +\setlength\glstopicSubIndent{20pt} +\newcommand{\glstopicInit}{} +\newcommand*{\glstopicAssignSubIndent}[1]{% + \par + \parindent\dimexpr#1\glstopicSubIndent-\glstopicSubIndent\relax + \glstopicAssignWidest{#1}% + \glstopicsubitemhangindent=\dimexpr\parindent+\glstopicwidest\relax + \hangindent\glstopicsubitemhangindent\relax + \everypar{\hangindent\glstopicsubitemhangindent\relax + \parindent\dimexpr\glstopicSubItemParIndent+\glstopicsubitemhangindent\relax}% +} +\newlength\glstopicsubitemhangindent +\newlength\glstopicSubItemParIndent +\glstopicSubItemParIndent\parindent +\newlength\glstopicwidest +\newcommand*{\glstopicAssignWidest}[1]{% + \ifcsundef{@glswidestlength\romannumeral#1}% + {% + \ifcsdef{@glswidestname\romannumeral#1}% + {% + \settowidth{\glstopicwidest}{% + \glstopicSubNameFont{\csuse{@glswidestname\romannumeral#1}}% + \glstopicSubItemSep + }% + }% + {\setlength{\glstopicwidest}{0pt}}% + \csedef{@glswidestlength\romannumeral#1}{\the\glstopicwidest}% + }% + {\setlength{\glstopicwidest}{\csuse{@glswidestlength\romannumeral#1}}}% +} +\newcommand*{\glstopicPreSkip}{\medskip} +\newcommand*{\glstopicMidSkip}{\smallskip} +\newcommand*{\glstopicPostSkip}{\smallskip} +\newcommand*{\glstopicSubItem}[3]{% + \glstopicSubItemBox{#1}{\glstopicSubNameFont{\glsentryitem{#2}% + \glstarget{#2}{\glossentryname{#2}}}% + \glstopicSubItemSep + }% + \ifglshassymbol{#2}{(\glossentrysymbol{#2})\space}{}% + \ifglshasdesc{#2}% + {\glossentrydesc{#2}\glspostdescription\glstopicSubPreLocSep}{}% + \glstopicSubLoc{#2}{#3}% +} +\newcommand*{\glstopicSubItemSep}{\quad} +\newcommand*{\glstopicSubItemBox}[2]{% + \ifdim\glstopicwidest>0pt\relax\makebox[\glstopicwidest][l]{#2}\else#2\fi +} +\newcommand*{\glstopicSubNameFont}[1]{\textbf{#1}} +\newcommand*{\glstopicSubPreLocSep}{\space} +\newcommand*{\glstopicSubLoc}[2]{#2} +\newcommand*{\glstopicCols}{2} +\newcommand*{\glstopicColsEnv}{multicols} +\newglossarystyle{topicmcols}{% + \renewenvironment{theglossary}% + {% + \glstopicInit + \def\glstopic@prechildren{}% + \def\glstopic@postchildren{}% + \def\glstopic@prevlevel{-1}% + }% + {% + \ifnum\glstopic@prevlevel>0\relax\glstopic@postchildren\fi + \par + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{% + \ifnum\glstopic@prevlevel>0\relax\glstopic@postchildren\fi + \def\glstopic@prevlevel{-1}% + \glstopicGroupHeading{##1}% + }% + \renewcommand{\glossentry}[2]{% + \ifnum\glstopic@prevlevel>0\relax\glstopic@postchildren\fi + \def\glstopic@prevlevel{0}% + \hangindent0pt\relax + \parindent\glstopicParIndent\relax + \glstopicItem{##1}{##2}% + \ifnum\glstopicCols>1\relax + \ifglshasdesc{##1}% + {% + \edef\glstopic@prechildren{% + \noexpand\begin{\glstopicColsEnv}{\glstopicCols}% + }% + }% + {% + \edef\glstopic@prechildren{% + \noexpand\nopagebreak + \noexpand\begin{\glstopicColsEnv}{\glstopicCols}% + }% + }% + \edef\glstopic@postchildren{\noexpand\end{\glstopicColsEnv}}% + \fi + }% + \renewcommand{\subglossentry}[3]{% + \ifnum\glstopic@prevlevel=0\relax\glstopic@prechildren\fi + \def\glstopic@prevlevel{##1}% + \glstopicAssignSubIndent{##1}% + \glstopicSubItem{##1}{##2}{##3}% + }% + \renewcommand*{\glsgroupskip}{}% +} +\endinput +%% +%% End of file `glossary-topic-2021-11-22.sty'. diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty index 1145a451cd8..6c027dcd18c 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty @@ -7,7 +7,7 @@ %% glossaries-extra.dtx (with options: `glossary-topic.sty,package') %% %% glossaries-extra.dtx -%% Copyright 2021 Nicola Talbot +%% Copyright 2022 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.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-xr.bib. +%% 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-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 @@ -39,7 +39,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-topic}[2021/11/22 v1.48 (NLCT)] +\DeclareRelease{v1.48}{2021-11-22}{glossary-topic-2021-11-22.sty} +\DeclareCurrentRelease{v1.49}{2022-10-14} +\ProvidesPackage{glossary-topic}[2022/10/14 v1.49 (NLCT)] \RequirePackage{multicol} \newglossarystyle{topic}{% \renewenvironment{theglossary}% @@ -54,6 +56,7 @@ \def\glstopic@prevlevel{-1}% \glstopicGroupHeading{##1}% }% + \renewcommand*{\glssubgroupheading}{\glstopicSubGroupHeading}% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent\glstopicParIndent\relax @@ -78,6 +81,17 @@ \renewcommand*{\glsgroupskip}{}% } \newcommand*{\glstopicGroupHeading}[1]{} +\newcommand*{\glstopicSubGroupHeading}[4]{% + \begingroup + \glspar\glstopicPreSkip\glspar\noindent + \glsxtrgetgrouptitle{#4}{\glstopicsubgrouptitle}% + \glstopicAssignSubIndent{#2}% + \glstopicSubItemBox{#2}{\glstopicTitleFont{\glstopicsubgrouptitle}}% + \glstopicSubItemSep + \glspar\nobreak\glstopicPostSkip + \par + \endgroup +} \newcommand*{\glstopicItem}[2]{% \glspar\glstopicPreSkip\glspar\noindent \glstopicMarker{#1}% @@ -87,7 +101,8 @@ }% \ifglshasdesc{#1}% {\glspar\nobreak\glstopicMidSkip\glspar\nobreak - \@afterheading\glstopicDesc{#1}\glspar\glstopicPostSkip}% + \@afterheading\glstopicDesc{#1}\glspar\glstopicPostSkip + }% {\glspar\nobreak\glstopicPostSkip}% \glstopicLoc{#1}{#2}% } @@ -171,6 +186,7 @@ \def\glstopic@prevlevel{-1}% \glstopicGroupHeading{##1}% }% + \renewcommand*{\glssubgroupheading}{\glstopicSubGroupHeading}% \renewcommand{\glossentry}[2]{% \ifnum\glstopic@prevlevel>0\relax\glstopic@postchildren\fi \def\glstopic@prevlevel{0}% |