%% %% 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 2023 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Nicola Talbot. %% %% This work consists of the files glossaries-extra.dtx and glossaries-extra.ins and the derived files glossaries-extra.sty, glossaries-extra-abbrstyles.def, glossaries-extra-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.sty, glossary-table.sty, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childmultipar.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-longchild.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbolnames.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-user.bib, example-glossaries-utf8.bib, example-glossaries-xr.bib, glossaries-extra-2021-11-22.sty, glossaries-extra-bib2gls-2021-11-22.sty, glossaries-extra-stylemods-2021-11-22.sty, glossary-bookindex-2021-11-22.sty, glossary-longextra-2021-11-22.sty, glossary-topic-2021-11-22.sty. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \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