diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty | 1577 |
1 files changed, 1577 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty b/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty new file mode 100644 index 00000000000..0387464125f --- /dev/null +++ b/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty @@ -0,0 +1,1577 @@ +%% +%% This is file `glossaries.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% glossaries.dtx (with options: `glossaries.sty,package') +%% +%% glossaries.dtx +%% Copyright 2008 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 of (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.dtx and glossaries.ins and the derived files glossaries.sty, mfirstuc.sty, glossary-hypernav.sty, glossary-list.sty, glossary-long.sty, glossary-super.sty, glossaries-babel.sty, glossaries-dictionary-Danish.dict, glossaries-dictionary-Dutch.dict, glossaries-dictionary-English.dict, glossaries-dictionary-French.dict, glossaries-dictionary-German.dict, glossaries-dictionary-Irish.dict, glossaries-dictionary-Italian.dict, glossaries-dictionary-Magyar.dict, glossaries-dictionary-Spanish.dict, minimalgls.tex, sample.tex, sample4col.tex, sampleAcr.tex, sampleAcrDesc.tex, sampleDB.tex, sampleEq.tex, sampleEqPg.tex, sampleNtn.tex, sampleSec.tex, database1.tex, database2.tex, glossaries.perl. +%% +%% \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}[2008/03/08 v1.12 (NLCT)] +\RequirePackage{ifthen} +\RequirePackage{xkeyval}[2006/11/18] +\RequirePackage{mfirstuc} +\RequirePackage{amsgen} +\define@boolkey{glossaries.sty}[gls]{toc}[true]{} +\define@boolkey{glossaries.sty}[gls]{numberline}[true]{} +\@ifundefined{chapter}{\newcommand*{\@@glossarysec}{section}}{% +\newcommand*{\@@glossarysec}{chapter}} +\define@choicekey{glossaries.sty}{section}{part,chapter,section,% +subsection,subsubsection,paragraph,subparagraph}[section]{% +\renewcommand*{\@@glossarysec}{#1}} +\newcommand*{\@@glossarysecstar}{*} +\newcommand*{\@@glossaryseclabel}{} +\define@choicekey{glossaries.sty}{numberedsection}[\val\nr]{% +false,nolabel,autolabel}[nolabel]{% +\ifcase\nr\relax + \renewcommand*{\@@glossarysecstar}{*}% + \renewcommand*{\@@glossaryseclabel}{}% +\or + \renewcommand*{\@@glossarysecstar}{}% + \renewcommand*{\@@glossaryseclabel}{}% +\or + \renewcommand*{\@@glossarysecstar}{}% + \renewcommand*{\@@glossaryseclabel}{\label{\@glo@type}}% +\fi} +\newcommand*{\@glossary@default@style}{list} +\define@key{glossaries.sty}{style}{% +\renewcommand*{\@glossary@default@style}{#1}} +\newcommand*{\glossaryentrynumbers}[1]{#1} +\DeclareOptionX{nonumberlist}{% +\renewcommand*{\glossaryentrynumbers}[1]{}} +\newcommand{\glsdefaulttype}{main} +\newcommand{\acronymtype}{\glsdefaulttype} +\define@boolkey{glossaries.sty}[gls]{acronym}[true]{} +\newcommand{\glscounter}{page} +\define@key{glossaries.sty}{counter}{% +\renewcommand*{\glscounter}{#1}} +\newcommand*{\@gls@sanitizedesc}{\@onelevel@sanitize\@glo@desc} +\newcommand*{\@gls@sanitizename}{\@onelevel@sanitize\@glo@name} +\newcommand*{\@gls@sanitizesymbol}{\@onelevel@sanitize\@glo@symbol} +\define@boolkey[gls]{sanitize}{description}[true]{% +\ifgls@sanitize@description + \renewcommand*{\@gls@sanitizedesc}{\@onelevel@sanitize\@glo@desc}% +\else + \renewcommand*{\@gls@sanitizedesc}{}% +\fi +} +\define@boolkey[gls]{sanitize}{name}[true]{% +\ifgls@sanitize@name + \renewcommand*{\@gls@sanitizename}{\@onelevel@sanitize\@glo@name}% +\else + \renewcommand*{\@gls@sanitizename}{}% +\fi} +\define@boolkey[gls]{sanitize}{symbol}[true]{% +\ifgls@sanitize@symbol + \renewcommand*{\@gls@sanitizesymbol}{% +\@onelevel@sanitize\@glo@symbol}% +\else + \renewcommand*{\@gls@sanitizesymbol}{}% +\fi} +\define@key{glossaries.sty}{sanitize}[description=true,symbol=true, +name=true]{% +\ifthenelse{\equal{#1}{none}}{% +\renewcommand*{\@gls@sanitizedesc}{}% +\renewcommand*{\@gls@sanitizename}{}% +\renewcommand*{\@gls@sanitizesymbol}{}% +}{\setkeys[gls]{sanitize}{#1}}% +} +\define@boolkey{glossaries.sty}[gls]{translate}[true]{} +\glstranslatefalse +\@ifpackageloaded{translator}{\glstranslatetrue}{% +\@ifpackageloaded{babel}{\glstranslatetrue}{}} +\define@boolkey{glossaries.sty}[glsacr]{footnote}[true]{% +\ifthenelse{\boolean{glsacrdescription}}{}% +{\renewcommand*{\@gls@sanitizedesc}{}}% +} +\define@boolkey{glossaries.sty}[glsacr]{description}[true]{% + \renewcommand*{\@gls@sanitizesymbol}{}% +} +\define@boolkey{glossaries.sty}[glsacr]{smallcaps}[true]{% + \renewcommand*{\@gls@sanitizesymbol}{}% +} +\define@boolkey{glossaries.sty}[glsacr]{dua}[true]{% + \renewcommand*{\@gls@sanitizesymbol}{}% +} +\ProcessOptionsX +\ifthenelse{\equal{\glscounter}{section}}{% +\@ifundefined{chapter}{}{% +\let\@gls@old@chapter\@chapter +\def\@chapter[#1]#2{\@gls@old@chapter[{#1}]{#2}% +\@ifundefined{hyperdef}{}{\hyperdef{section}{\thesection}{}}}}}{} +\providecommand*{\glossaryname}{Glossary} +\providecommand*{\acronymname}{Acronyms} +\providecommand*{\entryname}{Notation} +\providecommand*{\descriptionname}{Description} +\providecommand*{\symbolname}{Symbol} +\providecommand*{\pagelistname}{Page List} +\providecommand*{\glssymbolsgroupname}{Symbols} +\providecommand*{\glsnumbersgroupname}{Numbers} +\ifglstranslate +\@ifpackageloaded{translator}{\usedictionary{glossaries-dictionary}% +\renewcommand*{\glossaryname}{\translate{Glossary}}% +\renewcommand*{\acronymname}{\translate{Acronyms}}% +\renewcommand*{\entryname}{\translate{Notation (glossaries)}}% +\renewcommand*{\descriptionname}{\translate{Description (glossaries)}}% +\renewcommand*{\symbolname}{\translate{Symbol (glossaries)}}% +\renewcommand*{\pagelistname}{\translate{Page List (glossaries)}}% +\renewcommand*{\glssymbolsgroupname}{\translate{Symbols (glossaries)}}% +\renewcommand*{\glsnumbersgroupname}{\translate{Numbers (glossaries)}}% +}{% +\@ifpackageloaded{babel}{\RequirePackage{glossaries-babel}}{}} +\fi +\newcommand*{\glspostdescription}{.} +\providecommand*{\istfilename}{\jobname.ist} +\newcommand*{\@istfilename}[1]{} +\newcommand{\glscompositor}{.} +\@ifundefined{hyperlink}{% +\newcommand*{\glsnumberformat}[1]{#1}}{% +\newcommand*{\glsnumberformat}[1]{\glshypernumber{#1}}} +\newcommand{\delimN}{, } +\newcommand{\delimR}{--} +\newcommand*{\glossarypreamble}{} +\newcommand*{\glossarypostamble}{} +\newcommand*{\glossarysection}[2][\@gls@title]{% +\def\@gls@title{#2}% +\@ifundefined{phantomsection}{% +\@glossarysection{#1}{#2}}{\@p@glossarysection{#1}{#2}}% +\@mkboth{\glossarytoctitle}{\glossarytoctitle}% +} +\newcommand*{\setglossarysection}[1]{% +\setkeys{glossaries.sty}{section=#1}} +\newcommand*{\@glossarysection}[2]{% +\ifx\@@glossarysecstar\@empty + \csname\@@glossarysec\endcsname{#2}% +\else + \csname\@@glossarysec\endcsname*{#2}% + \@gls@toc{#1}{\@@glossarysec}% +\fi +\@@glossaryseclabel} +\newcommand*{\@p@glossarysection}[2]{% +\gls@doclearpage +\phantomsection +\ifx\@@glossarysecstar\@empty + \csname\@@glossarysec\endcsname{#2}% +\else + \@gls@toc{#1}{\@@glossarysec}% + \csname\@@glossarysec\endcsname*{#2}% +\fi +\@@glossaryseclabel} +\newcommand{\gls@doclearpage}{% +\ifthenelse{\equal{\@@glossarysec}{chapter}}{% +\@ifundefined{cleardoublepage}{\clearpage}{\cleardoublepage}}{}% +} +\newcommand*{\@gls@toc}[2]{% +\ifglstoc + \ifglsnumberline + \addcontentsline{toc}{#2}{\numberline{}#1}% + \else + \addcontentsline{toc}{#2}{#1}% + \fi +\fi} +\newcommand*{\forallglossaries}[3][\@glo@types]{% +\@for#2:=#1\do{\ifthenelse{\equal{#2}{}}{}{#3}}} +\newcommand*{\forglsentries}[3][\glsdefaulttype]{% +\edef\@@glo@list{\csname glolist@#1\endcsname}% +\@for#2:=\@@glo@list\do{% +\ifthenelse{\equal{#2}{}}{}{#3}}} +\newcommand*{\forallglsentries}[3][\@glo@types]{% +\expandafter\forallglossaries\expandafter[#1]{\@@this@glo@}{% +\forglsentries[\@@this@glo@]{#2}{#3}}} +\newcommand{\ifglossaryexists}[3]{% +\@ifundefined{@glotype@#1@out}{#3}{#2}} +\newcommand{\ifglsentryexists}[3]{% +\@ifundefined{glo@#1@name}{#3}{#2}} +\newcommand*{\ifglsused}[3]{\ifthenelse{\boolean{glo@#1@flag}}{#2}{#3}} +\newcommand{\glsdoifexists}[2]{\ifglsentryexists{#1}{#2}{% +\PackageError{glossaries}{Glossary entry `#1' has not been +defined.}{You need to define a glossary entry before you +can use it.}}} +\newcommand{\glsdoifnoexists}[2]{\ifglsentryexists{#1}{% +\PackageError{glossaries}{Glossary entry `#1' has already +been defined.}{}}{#2}} +\newcommand*{\@glo@types}{,} +\newcommand*{\newglossary}[5][glg]{% +\ifglossaryexists{#2}{% +\PackageError{glossaries}{Glossary type `#2' already exists}{% +You can't define a new glossary called `#2' because it already +exists}% +}{% +\toks@{#2}\edef\@glo@types{\@glo@types\the\toks@,}% +\expandafter\gdef\csname glolist@#2\endcsname{,}% +\expandafter\def\csname @glotype@#2@in\endcsname{#3}% +\expandafter\def\csname @glotype@#2@out\endcsname{#4}% +\expandafter\def\csname @glotype@#2@title\endcsname{#5}% +\protected@write\@auxout{}{\string\@newglossary{#2}{#1}{#3}{#4}}% +\expandafter\gdef\csname gls@#2@display\endcsname{% +\glsdisplay}% +\expandafter\gdef\csname gls@#2@displayfirst\endcsname{% +\glsdisplayfirst}% +\@ifnextchar[{\@gls@setcounter{#2}}{\@gls@setcounter{#2}[\glscounter]}}} +\@onlypreamble{\newglossary} +\newcommand*{\@newglossary}[4]{} +\def\@gls@setcounter#1[#2]{% +\expandafter\def\csname @glotype@#1@counter\endcsname{#2}% +} +\newcommand*{\@gls@getcounter}[1]{% +\csname @glotype@#1@counter\endcsname} +\newglossary{main}{gls}{glo}{\glossaryname} +\define@key{glossentry}{name}{% +\def\@glo@name{#1}% +} +\define@key{glossentry}{description}{% +\def\@glo@desc{#1}% +} +\define@key{glossentry}{descriptionplural}{% +\def\@glo@descplural{#1}% +} +\define@key{glossentry}{sort}{% +\def\@glo@sort{#1}% +\@onelevel@sanitize\@glo@sort} +\define@key{glossentry}{text}{% +\def\@glo@text{#1}% +} +\define@key{glossentry}{plural}{% +\def\@glo@plural{#1}% +} +\define@key{glossentry}{first}{% +\def\@glo@first{#1}% +} +\define@key{glossentry}{firstplural}{% +\def\@glo@firstplural{#1}% +} +\define@key{glossentry}{symbol}{% +\def\@glo@symbol{#1}% +} +\define@key{glossentry}{symbolplural}{% +\def\@glo@symbolplural{#1}% +} +\define@key{glossentry}{type}{% +\def\@glo@type{#1}} +\define@key{glossentry}{counter}{% +\@ifundefined{c@#1}{\PackageError{glossaries}{There is no counter +called `#1'}{The counter key should have the name of a valid +counter as its value}}{% +\def\@glo@counter{#1}}} +\DeclareRobustCommand{\newglossaryentry}[2]{% +\glsdoifnoexists{#1}{% +\def\@glo@name{\PackageError{glossaries}{name key required in +\string\newglossaryentry}{You haven't specified the entry name}}% +\def\@glo@desc{\PackageError{glossaries}{description key required in +\string\newglossaryentry}{You haven't specified the entry description}}% +\def\@glo@descplural{\@glo@desc}% +\def\@glo@type{\glsdefaulttype}% +\def\@glo@symbol{\relax}% +\def\@glo@symbolplural{\@glo@symbol}% +\def\@glo@text{\@glo@name}% +\def\@glo@plural{\@glo@text s}% +\def\@glo@first{\@glo@text}% +\def\@glo@firstplural{\@glo@first s}% +\def\@glo@sort{\@glo@name}% +\def\@glo@counter{\@gls@getcounter{\@glo@type}}% +\setkeys{glossentry}{#2}% +\@ifundefined{glolist@\@glo@type}{\PackageError{glossaries}{% +Glossary type '\@glo@type' has not been defined}{% +You need to define a new glossary type, before making entries +in it}}{% +\protected@edef\@glolist@{\csname glolist@\@glo@type\endcsname}% +\expandafter\xdef\csname glolist@\@glo@type\endcsname{\@glolist@{#1},}% +}% +\expandafter\protected@xdef\csname glo@#1@text\endcsname{\@glo@text}% +\expandafter\protected@xdef\csname glo@#1@plural\endcsname{\@glo@plural}% +\expandafter\protected@xdef\csname glo@#1@first\endcsname{\@glo@first}% +\expandafter\protected@xdef\csname glo@#1@firstpl\endcsname{\@glo@firstplural}% +\expandafter\protected@xdef\csname glo@#1@type\endcsname{\@glo@type}% +\expandafter\protected@xdef\csname glo@#1@counter\endcsname{\@glo@counter}% +\@gls@sanitizename +\expandafter\protected@xdef\csname glo@#1@name\endcsname{\@glo@name}% +\@gls@sanitizedesc +\expandafter\protected@xdef\csname glo@#1@desc\endcsname{\@glo@desc}% +\expandafter\protected@xdef\csname glo@#1@descplural\endcsname{\@glo@descplural}% +\expandafter\protected@xdef\csname glo@#1@sort\endcsname{\@glo@sort}% +\@gls@sanitizesymbol +\expandafter\protected@xdef\csname glo@#1@symbol\endcsname{\@glo@symbol}% +\expandafter\protected@xdef\csname glo@#1@symbolplural\endcsname{\@glo@symbolplural}% +\expandafter\gdef\csname glo@#1@flagfalse\endcsname{% +\expandafter\global\expandafter +\let\csname ifglo@#1@flag\endcsname\iffalse}% +\expandafter\gdef\csname glo@#1@flagtrue\endcsname{% +\expandafter\global\expandafter +\let\csname ifglo@#1@flag\endcsname\iftrue}% +\csname glo@#1@flagfalse\endcsname +}} +\@onlypreamble{\newglossaryentry} +\newcommand*{\glsreset}[1]{% +\glsdoifexists{#1}{% +\expandafter\global\csname glo@#1@flagfalse\endcsname}} +\newcommand*{\glslocalreset}[1]{% +\glsdoifexists{#1}{% +\expandafter\let\csname ifglo@#1@flag\endcsname\iffalse}} +\newcommand*{\glsunset}[1]{% +\glsdoifexists{#1}{% +\expandafter\global\csname glo@#1@flagtrue\endcsname}} +\newcommand*{\glslocalunset}[1]{% +\glsdoifexists{#1}{% +\expandafter\let\csname ifglo@#1@flag\endcsname\iftrue}} +\newcommand*{\glsresetall}[1][\@glo@types]{% +\forallglsentries[#1]{\@glsentry}{% +\glsreset{\@glsentry}}} +\newcommand*{\glslocalresetall}[1][\@glo@types]{% +\forallglsentries[#1]{\@glsentry}{% +\glslocalreset{\@glsentry}}} +\newcommand*{\glsunsetall}[1][\@glo@types]{% +\forallglsentries[#1]{\@glsentry}{% +\glsunset{\@glsentry}}} +\newcommand*{\glslocalunsetall}[1][\@glo@types]{% +\forallglsentries[#1]{\@glsentry}{% +\glslocalunset{\@glsentry}}} +\newcommand*{\loadglsentries}[2][\@gls@default]{% +\let\@gls@default\glsdefaulttype +\def\glsdefaulttype{#1}\input{#2}% +\let\glsdefaulttype\@gls@default} +\@onlypreamble{\loadglsentries} +\newcommand*{\glstextformat}[1]{#1} +\newcommand*{\glsdisplayfirst}[4]{#1#4} +\newcommand*{\glsdisplay}[4]{#1#4} +\newcommand*{\defglsdisplay}[2][\glsdefaulttype]{% +\expandafter\def\csname gls@#1@display\endcsname##1##2##3##4{#2}} +\newcommand*{\defglsdisplayfirst}[2][\glsdefaulttype]{% +\expandafter\def\csname gls@#1@displayfirst\endcsname##1##2##3##4{#2}} +\define@key{glslink}{counter}{% +\@ifundefined{c@#1}{\PackageError{glossaries}{There is no counter +called `#1'}{The counter key should have the name of a valid +counter as its value}}{% +\def\@gls@counter{#1}}} +\define@key{glslink}{format}{% +\def\@glsnumberformat{#1}} +\define@boolkey{glslink}{hyper}[true]{} +\newcommand{\glslink}{% +\@ifstar\@sgls@link\@gls@link} +\newcommand*{\@sgls@link}[1][]{\@gls@link[hyper=false,#1]} +\newcommand*{\@gls@link}[3][]{% +\glsdoifexists{#2}{% +\def\@glsnumberformat{glsnumberformat}% +\edef\@gls@counter{\csname glo@#2@counter\endcsname}% +\KV@glslink@hypertrue +\setkeys{glslink}{#1}% +\edef\theglsentrycounter{\expandafter\noexpand\csname the\@gls@counter\endcsname}% +\ifKV@glslink@hyper +\@glslink{glo:#2}{\glstextformat{#3}}% +\else +\glstextformat{#3}\relax +\fi +\protected@edef\@glo@sort{\csname glo@#2@sort\endcsname}% +\@gls@checkmkidxchars\@glo@sort +\protected@edef\@@glo@name{\csname glo@#2@name\endcsname}% +\@gls@checkmkidxchars\@@glo@name +\protected@edef\@glo@name{\string\glsnamefont{\@@glo@name}}% +\protected@edef\@glo@desc{\csname glo@#2@desc\endcsname}% +\@gls@checkmkidxchars\@glo@desc +\protected@edef\@glo@symbol{\csname glo@#2@symbol\endcsname}% +\@gls@checkmkidxchars\@glo@symbol +\@set@glo@numformat\@glo@numfmt\@gls@counter\@glsnumberformat +\glossary[\csname glo@#2@type\endcsname]{% +\@glo@sort\@gls@actualchar +\string\glossaryentryfield{#2}{\@glo@name}{\@glo@desc +}{\@glo@symbol}\@gls@encapchar\@glo@numfmt}% +}} +\def\@set@glo@numformat#1#2#3{% +\expandafter\@glo@check@mkidxrangechar#3\@nil +\protected@edef#1{\@glo@prefix setentrycounter{#2}% +\expandafter\string\csname\@glo@suffix\endcsname}% +\@gls@checkmkidxchars#1} +\def\@glo@check@mkidxrangechar#1#2\@nil{% +\if#1(\relax + \def\@glo@prefix{(}% + \if\relax#2\relax + \def\@glo@suffix{glsnumberformat}% + \else + \def\@glo@suffix{#2}% + \fi +\else + \if#1)\relax + \def\@glo@prefix{)}% + \if\relax#2\relax + \def\@glo@suffix{glsnumberformat}% + \else + \def\@glo@suffix{#2}% + \fi + \else + \def\@glo@prefix{}\def\@glo@suffix{#1#2}% + \fi +\fi} +\newcommand{\@gls@checkmkidxchars}[1]{% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checkquote#1\@nil""\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checkescquote#1\@nil\"\"\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checkescactual#1\@nil\?\?\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checkactual#1\@nil??\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checkbar#1\@nil||\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checkescbar#1\@nil\|\|\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +\def\@gls@checkedmkidx{}% +\expandafter\@gls@checklevel#1\@nil!!\null% +\expandafter\@gls@updatechecked\@gls@checkedmkidx{#1}% +} +\def\@gls@updatechecked#1\@nil#2{\def#2{#1}} +\newtoks\@gls@tmpb +\def\@gls@checkquote#1"#2"#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkquote{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@quotechar\@gls@quotechar\@gls@quotechar}% + \def\@@gls@checkquote{\@gls@checkquote#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@quotechar}% + \ifx\null#3\null + \def\@@gls@checkquote{\@gls@checkquote#2""\null}% + \else + \def\@@gls@checkquote{\@gls@checkquote#2"#3\null}% + \fi +\fi +\@@gls@checkquote} +\def\@gls@checkescquote#1\"#2\"#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkescquote{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@quotechar + \@gls@quotechar\string\"\@gls@quotechar}% + \def\@@gls@checkescquote{\@gls@checkescquote#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@quotechar}% + \ifx\null#3\null + \def\@@gls@checkescquote{\@gls@checkescquote#2\"\"\null}% + \else + \def\@@gls@checkescquote{\@gls@checkescquote#2\"#3\null}% + \fi +\fi +\@@gls@checkescquote} +\def\@gls@checkescactual#1\?#2\?#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkescactual{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@actualchar + \@gls@quotechar\string\"\@gls@actualchar}% + \def\@@gls@checkescactual{\@gls@checkescactual#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@actualchar}% + \ifx\null#3\null + \def\@@gls@checkescactual{\@gls@checkescactual#2\?\?\null}% + \else + \def\@@gls@checkescactual{\@gls@checkescactual#2\?#3\null}% + \fi +\fi +\@@gls@checkescactual} +\def\@gls@checkescbar#1\|#2\|#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkescbar{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@encapchar + \@gls@quotechar\string\"\@gls@encapchar}% + \def\@@gls@checkescbar{\@gls@checkescbar#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@encapchar}% + \ifx\null#3\null + \def\@@gls@checkescbar{\@gls@checkescbar#2\|\|\null}% + \else + \def\@@gls@checkescbar{\@gls@checkescbar#2\|#3\null}% + \fi +\fi +\@@gls@checkescbar} +\def\@gls@checkesclevel#1\!#2\!#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkesclevel{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@levelchar + \@gls@quotechar\string\"\@gls@levelchar}% + \def\@@gls@checkesclevel{\@gls@checkesclevel#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\string\"\@gls@levelchar}% + \ifx\null#3\null + \def\@@gls@checkesclevel{\@gls@checkesclevel#2\!\!\null}% + \else + \def\@@gls@checkesclevel{\@gls@checkesclevel#2\!#3\null}% + \fi +\fi +\@@gls@checkesclevel} +\def\@gls@checkbar#1|#2|#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkbar{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@encapchar\@gls@quotechar\@gls@encapchar}% + \def\@@gls@checkbar{\@gls@checkbar#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@encapchar}% + \ifx\null#3\null + \def\@@gls@checkbar{\@gls@checkbar#2||\null}% + \else + \def\@@gls@checkbar{\@gls@checkbar#2|#3\null}% + \fi +\fi +\@@gls@checkbar} +\def\@gls@checklevel#1!#2!#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checklevel{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@levelchar\@gls@quotechar\@gls@levelchar}% + \def\@@gls@checklevel{\@gls@checklevel#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@levelchar}% + \ifx\null#3\null + \def\@@gls@checklevel{\@gls@checklevel#2!!\null}% + \else + \def\@@gls@checklevel{\@gls@checklevel#2!#3\null}% + \fi +\fi +\@@gls@checklevel} +\def\@gls@checkactual#1?#2?#3\null{% +\@gls@tmpb=\expandafter{\@gls@checkedmkidx}% +\toks@={#1}% +\ifx\null#2\null% + \ifx\null#3\null + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@}% + \def\@@gls@checkactual{\relax}% + \else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@actualchar\@gls@quotechar\@gls@actualchar}% + \def\@@gls@checkactual{\@gls@checkactual#3\null}% + \fi +\else + \edef\@gls@checkedmkidx{\the\@gls@tmpb\the\toks@ + \@gls@quotechar\@gls@actualchar}% + \ifx\null#3\null + \def\@@gls@checkactual{\@gls@checkactual#2??\null}% + \else + \def\@@gls@checkactual{\@gls@checkactual#2?#3\null}% + \fi +\fi +\@@gls@checkactual} +\@ifundefined{hyperlink}{% + \gdef\@glslink#1#2{#2}% +}{% + \gdef\@glslink#1#2{\hyperlink{#1}{#2}}% +} +\@ifundefined{hypertarget}{% + \gdef\@glstarget#1#2{#2}% +}{% + \gdef\@glstarget#1#2{\hypertarget{#1}{#2}}} +\newcommand{\glsdisablehyper}{% +\renewcommand*\@glslink[2]{##2}% +\renewcommand*\@glstarget[2]{##2}} +\newcommand{\glsenablehyper}{% +\renewcommand*\@glslink[2]{\hyperlink{##1}{##2}}% +\renewcommand*\@glstarget[2]{\hypertarget{##1}{##2}}} +\newcommand*{\gls}{\@ifstar\@sgls\@gls} +\newcommand*{\@sgls}[1][]{\@gls[hyper=false,#1]} +\newcommand*{\@gls}[2][]{% +\new@ifnextchar[{\@gls@{#1}{#2}}{\@gls@{#1}{#2}[]}} +\def\@gls@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\def\@gls@link@opts{#1}% +\def\@gls@link@label{#2}% +\ifglsused{#2}{\protected@edef\@glo@text{% +\csname gls@\@glo@type @display\endcsname +{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{% +\protected@edef\@glo@text{% +\csname gls@\@glo@type @displayfirst\endcsname +{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}% +\ifglsused{#2}{% + \@gls@link[#1]{#2}{\@glo@text}% +}{% + \ifglsacrfootnote + \@gls@link[#1,hyper=false]{#2}{\@glo@text}% + \else + \@gls@link[#1]{#2}{\@glo@text}% + \fi +}% +\glsunset{#2}}% +} +\newcommand*{\Gls}{\@ifstar\@sGls\@Gls} +\newcommand*{\@sGls}[1][]{\@Gls[hyper=false,#1]} +\newcommand*{\@Gls}[2][]{% +\new@ifnextchar[{\@Gls@{#1}{#2}}{\@Gls@{#1}{#2}[]}} +\def\@Gls@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\def\@gls@link@opts{#1}% +\def\@gls@link@label{#2}% +\ifglsused{#2}{\protected@edef\@glo@text{% +\csname gls@\@glo@type @display\endcsname +{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{% +\protected@edef\@glo@text{% +\csname gls@\@glo@type @displayfirst\endcsname +{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}% +\ifglsused{#2}{% + \@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}{% + \ifglsacrfootnote + \@gls@link[#1,hyper=false]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% + \else + \@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% + \fi +}% +\glsunset{#2}}% +} +\newcommand*{\GLS}{\@ifstar\@sGLS\@GLS} +\newcommand*{\@sGLS}[1][]{\@GLS[hyper=false,#1]} +\newcommand*{\@GLS}[2][]{% +\new@ifnextchar[{\@GLS@{#1}{#2}}{\@GLS@{#1}{#2}[]}} +\def\@GLS@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\def\@gls@link@opts{#1}% +\def\@gls@link@label{#2}% +\ifglsused{#2}{\protected@edef\@glo@text{% +\csname gls@\@glo@type @display\endcsname +{\glsentrytext{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}{% +\protected@edef\@glo@text{% +\csname gls@\@glo@type @displayfirst\endcsname +{\glsentryfirst{#2}}{\glsentrydesc{#2}}{\glsentrysymbol{#2}}{#3}}}% +\ifglsused{#2}{% + \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}{% + \ifglsacrfootnote + \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}% + \else + \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% + \fi +}% +\glsunset{#2}}% +} +\newcommand*{\glspl}{\@ifstar\@sglspl\@glspl} +\newcommand*{\@sglspl}[1][]{\@glspl[hyper=false,#1]} +\newcommand*{\@glspl}[2][]{% +\new@ifnextchar[{\@glspl@{#1}{#2}}{\@glspl@{#1}{#2}[]}} +\def\@glspl@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\def\@gls@link@opts{#1}% +\def\@gls@link@label{#2}% +\ifglsused{#2}{\protected@edef\@glo@text{% +\csname gls@\@glo@type @display\endcsname +{\glsentryplural{#2}}{\glsentrydescplural{#2}}{% +\glsentrysymbolplural{#2}}{#3}}}{% +\protected@edef\@glo@text{% +\csname gls@\@glo@type @displayfirst\endcsname +{\glsentryfirstplural{#2}}{\glsentrydescplural{#2}}{% +\glsentrysymbolplural{#2}}{#3}}}% +\ifglsused{#2}{% + \@gls@link[#1]{#2}{\@glo@text}% +}{% + \ifglsacrfootnote + \@gls@link[#1,hyper=false]{#2}{\@glo@text}% + \else + \@gls@link[#1]{#2}{\@glo@text}% + \fi +}% +\glsunset{#2}}% +} +\newcommand*{\Glspl}{\@ifstar\@sGlspl\@Glspl} +\newcommand*{\@sGlspl}[1][]{\@Glspl[hyper=false,#1]} +\newcommand*{\@Glspl}[2][]{% +\new@ifnextchar[{\@Glspl@{#1}{#2}}{\@Glspl@{#1}{#2}[]}} +\def\@Glspl@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\def\@gls@link@opts{#1}% +\def\@gls@link@label{#2}% +\ifglsused{#2}{\protected@edef\@glo@text{% +\csname gls@\@glo@type @display\endcsname +{\glsentryplural{#2}}{\glsentrydescplural{#2}}{% +\glsentrysymbolplural{#2}}{#3}}}{% +\protected@edef\@glo@text{% +\csname gls@\@glo@type @displayfirst\endcsname +{\glsentryfirstplural{#2}}{\glsentrydescplural{#2}}{% +\glsentrysymbolplural{#2}}{#3}}}% +\ifglsused{#2}{% + \@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}{% + \ifglsacrfootnote + \@gls@link[#1,hyper=false]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% + \else + \@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% + \fi +}% +\glsunset{#2}}% +} +\newcommand*{\GLSpl}{\@ifstar\@sGLSpl\@GLSpl} +\newcommand*{\@sGLSpl}[1][]{\@GLSpl[hyper=false,#1]} +\newcommand*{\@GLSpl}[2][]{% +\new@ifnextchar[{\@GLSpl@{#1}{#2}}{\@GLSpl@{#1}{#2}[]}} +\def\@GLSpl@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\def\@gls@link@opts{#1}% +\def\@gls@link@label{#2}% +\ifglsused{#2}{\protected@edef\@glo@text{% +\csname gls@\@glo@type @display\endcsname +{\glsentryplural{#2}}{\glsentrydescplural{#2}}{% +\glsentrysymbolplural{#2}}{#3}}}{% +\protected@edef\@glo@text{% +\csname gls@\@glo@type @displayfirst\endcsname +{\glsentryfirstplural{#2}}{\glsentrydescplural{#2}}{% +\glsentrysymbolplural{#2}}{#3}}}% +\ifglsused{#2}{% + \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}{% + \ifglsacrfootnote + \@gls@link[#1,hyper=false]{#2}{\MakeUppercase{\@glo@text}}% + \else + \@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% + \fi +}% +\glsunset{#2}}% +} +\newcommand*{\glstext}{\@ifstar\@sglstext\@glstext} +\newcommand*{\@sglstext}[1][]{\@glstext[hyper=false,#1]} +\newcommand*{\@glstext}[2][]{% +\new@ifnextchar[{\@glstext@{#1}{#2}}{\@glstext@{#1}{#2}[]}} +\def\@glstext@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrytext{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\GLStext}{\@ifstar\@sGLStext\@GLStext} +\newcommand*{\@sGLStext}[1][]{\@GLStext[hyper=false,#1]} +\newcommand*{\@GLStext}[2][]{% +\new@ifnextchar[{\@GLStext@{#1}{#2}}{\@GLStext@{#1}{#2}[]}} +\def\@GLStext@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrytext{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\Glstext}{\@ifstar\@sGlstext\@Glstext} +\newcommand*{\@sGlstext}[1][]{\@Glstext[hyper=false,#1]} +\newcommand*{\@Glstext}[2][]{% +\new@ifnextchar[{\@Glstext@{#1}{#2}}{\@Glstext@{#1}{#2}[]}} +\def\@Glstext@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrytext{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\glsfirst}{\@ifstar\@sglsfirst\@glsfirst} +\newcommand*{\@sglsfirst}[1][]{\@glsfirst[hyper=false,#1]} +\newcommand*{\@glsfirst}[2][]{% +\new@ifnextchar[{\@glsfirst@{#1}{#2}}{\@glsfirst@{#1}{#2}[]}} +\def\@glsfirst@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryfirst{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glsfirst}{\@ifstar\@sGlsfirst\@Glsfirst} +\newcommand*{\@sGlsfirst}[1][]{\@Glsfirst[hyper=false,#1]} +\newcommand*{\@Glsfirst}[2][]{% +\new@ifnextchar[{\@Glsfirst@{#1}{#2}}{\@Glsfirst@{#1}{#2}[]}} +\def\@Glsfirst@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryfirst{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSfirst}{\@ifstar\@sGLSfirst\@GLSfirst} +\newcommand*{\@sGLSfirst}[1][]{\@GLSfirst[hyper=false,#1]} +\newcommand*{\@GLSfirst}[2][]{% +\new@ifnextchar[{\@GLSfirst@{#1}{#2}}{\@GLSfirst@{#1}{#2}[]}} +\def\@GLSfirst@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryfirst{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glsplural}{\@ifstar\@sglsplural\@glsplural} +\newcommand*{\@sglsplural}[1][]{\@glsplural[hyper=false,#1]} +\newcommand*{\@glsplural}[2][]{% +\new@ifnextchar[{\@glsplural@{#1}{#2}}{\@glsplural@{#1}{#2}[]}} +\def\@glsplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryplural{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glsplural}{\@ifstar\@sGlsplural\@Glsplural} +\newcommand*{\@sGlsplural}[1][]{\@Glsplural[hyper=false,#1]} +\newcommand*{\@Glsplural}[2][]{% +\new@ifnextchar[{\@Glsplural@{#1}{#2}}{\@Glsplural@{#1}{#2}[]}} +\def\@Glsplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryplural{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSplural}{\@ifstar\@sGLSplural\@GLSplural} +\newcommand*{\@sGLSplural}[1][]{\@GLSplural[hyper=false,#1]} +\newcommand*{\@GLSplural}[2][]{% +\new@ifnextchar[{\@GLSplural@{#1}{#2}}{\@GLSplural@{#1}{#2}[]}} +\def\@GLSplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryplural{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glsfirstplural}{\@ifstar\@sglsfirstplural\@glsfirstplural} +\newcommand*{\@sglsfirstplural}[1][]{\@glsfirstplural[hyper=false,#1]} +\newcommand*{\@glsfirstplural}[2][]{% +\new@ifnextchar[{\@glsfirstplural@{#1}{#2}}{\@glsfirstplural@{#1}{#2}[]}} +\def\@glsfirstplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryfirstplural{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glsfirstplural}{\@ifstar\@sGlsfirstplural\@Glsfirstplural} +\newcommand*{\@sGlsfirstplural}[1][]{\@Glsfirstplural[hyper=false,#1]} +\newcommand*{\@Glsfirstplural}[2][]{% +\new@ifnextchar[{\@Glsfirstplural@{#1}{#2}}{\@Glsfirstplural@{#1}{#2}[]}} +\def\@Glsfirstplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryfirstplural{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSfirstplural}{\@ifstar\@sGLSfirstplural\@GLSfirstplural} +\newcommand*{\@sGLSfirstplural}[1][]{\@GLSfirstplural[hyper=false,#1]} +\newcommand*{\@GLSfirstplural}[2][]{% +\new@ifnextchar[{\@GLSfirstplural@{#1}{#2}}{\@GLSfirstplural@{#1}{#2}[]}} +\def\@GLSfirstplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryfirstplural{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glsname}{\@ifstar\@sglsname\@glsname} +\newcommand*{\@sglsname}[1][]{\@glsname[hyper=false,#1]} +\newcommand*{\@glsname}[2][]{% +\new@ifnextchar[{\@glsname@{#1}{#2}}{\@glsname@{#1}{#2}[]}} +\def\@glsname@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryname{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glsname}{\@ifstar\@sGlsname\@Glsname} +\newcommand*{\@sGlsname}[1][]{\@Glsname[hyper=false,#1]} +\newcommand*{\@Glsname}[2][]{% +\new@ifnextchar[{\@Glsname@{#1}{#2}}{\@Glsname@{#1}{#2}[]}} +\def\@Glsname@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryname{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSname}{\@ifstar\@sGLSname\@GLSname} +\newcommand*{\@sGLSname}[1][]{\@GLSname[hyper=false,#1]} +\newcommand*{\@GLSname}[2][]{% +\new@ifnextchar[{\@GLSname@{#1}{#2}}{\@GLSname@{#1}{#2}[]}} +\def\@GLSname@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentryname{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glsdesc}{\@ifstar\@sglsdesc\@glsdesc} +\newcommand*{\@sglsdesc}[1][]{\@glsdesc[hyper=false,#1]} +\newcommand*{\@glsdesc}[2][]{% +\new@ifnextchar[{\@glsdesc@{#1}{#2}}{\@glsdesc@{#1}{#2}[]}} +\def\@glsdesc@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrydesc{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glsdesc}{\@ifstar\@sGlsdesc\@Glsdesc} +\newcommand*{\@sGlsdesc}[1][]{\@Glsdesc[hyper=false,#1]} +\newcommand*{\@Glsdesc}[2][]{% +\new@ifnextchar[{\@Glsdesc@{#1}{#2}}{\@Glsdesc@{#1}{#2}[]}} +\def\@Glsdesc@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrydesc{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSdesc}{\@ifstar\@sGLSdesc\@GLSdesc} +\newcommand*{\@sGLSdesc}[1][]{\@GLSdesc[hyper=false,#1]} +\newcommand*{\@GLSdesc}[2][]{% +\new@ifnextchar[{\@GLSdesc@{#1}{#2}}{\@GLSdesc@{#1}{#2}[]}} +\def\@GLSdesc@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrydesc{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glsdescplural}{\@ifstar\@sglsdescplural\@glsdescplural} +\newcommand*{\@sglsdescplural}[1][]{\@glsdescplural[hyper=false,#1]} +\newcommand*{\@glsdescplural}[2][]{% +\new@ifnextchar[{\@glsdescplural@{#1}{#2}}{\@glsdescplural@{#1}{#2}[]}} +\def\@glsdescplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrydescplural{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glsdescplural}{\@ifstar\@sGlsdescplural\@Glsdescplural} +\newcommand*{\@sGlsdescplural}[1][]{\@Glsdescplural[hyper=false,#1]} +\newcommand*{\@Glsdescplural}[2][]{% +\new@ifnextchar[{\@Glsdescplural@{#1}{#2}}{\@Glsdescplural@{#1}{#2}[]}} +\def\@Glsdescplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrydescplural{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSdescplural}{\@ifstar\@sGLSdescplural\@GLSdescplural} +\newcommand*{\@sGLSdescplural}[1][]{\@GLSdescplural[hyper=false,#1]} +\newcommand*{\@GLSdescplural}[2][]{% +\new@ifnextchar[{\@GLSdescplural@{#1}{#2}}{\@GLSdescplural@{#1}{#2}[]}} +\def\@GLSdescplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrydescplural{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glssymbol}{\@ifstar\@sglssymbol\@glssymbol} +\newcommand*{\@sglssymbol}[1][]{\@glssymbol[hyper=false,#1]} +\newcommand*{\@glssymbol}[2][]{% +\new@ifnextchar[{\@glssymbol@{#1}{#2}}{\@glssymbol@{#1}{#2}[]}} +\def\@glssymbol@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrysymbol{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glssymbol}{\@ifstar\@sGlssymbol\@Glssymbol} +\newcommand*{\@sGlssymbol}[1][]{\@Glssymbol[hyper=false,#1]} +\newcommand*{\@Glssymbol}[2][]{% +\new@ifnextchar[{\@Glssymbol@{#1}{#2}}{\@Glssymbol@{#1}{#2}[]}} +\def\@Glssymbol@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrysymbol{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSsymbol}{\@ifstar\@sGLSsymbol\@GLSsymbol} +\newcommand*{\@sGLSsymbol}[1][]{\@GLSsymbol[hyper=false,#1]} +\newcommand*{\@GLSsymbol}[2][]{% +\new@ifnextchar[{\@GLSsymbol@{#1}{#2}}{\@GLSsymbol@{#1}{#2}[]}} +\def\@GLSsymbol@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrysymbol{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glssymbolplural}{\@ifstar\@sglssymbolplural\@glssymbolplural} +\newcommand*{\@sglssymbolplural}[1][]{\@glssymbolplural[hyper=false,#1]} +\newcommand*{\@glssymbolplural}[2][]{% +\new@ifnextchar[{\@glssymbolplural@{#1}{#2}}{\@glssymbolplural@{#1}{#2}[]}} +\def\@glssymbolplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrysymbolplural{#2}}% +\@gls@link[#1]{#2}{\@glo@text}% +}% +} +\newcommand*{\Glssymbolplural}{\@ifstar\@sGlssymbolplural\@Glssymbolplural} +\newcommand*{\@sGlssymbolplural}[1][]{\@Glssymbolplural[hyper=false,#1]} +\newcommand*{\@Glssymbolplural}[2][]{% +\new@ifnextchar[{\@Glssymbolplural@{#1}{#2}}{\@Glssymbolplural@{#1}{#2}[]}} +\def\@Glssymbolplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrysymbolplural{#2}}% +\@gls@link[#1]{#2}{% + \expandafter\makefirstuc\expandafter{\@glo@text}}% +}% +} +\newcommand*{\GLSsymbolplural}{\@ifstar\@sGLSsymbolplural\@GLSsymbolplural} +\newcommand*{\@sGLSsymbolplural}[1][]{\@GLSsymbolplural[hyper=false,#1]} +\newcommand*{\@GLSsymbolplural}[2][]{% +\new@ifnextchar[{\@GLSsymbolplural@{#1}{#2}}{\@GLSsymbolplural@{#1}{#2}[]}} +\def\@GLSsymbolplural@#1#2[#3]{% +\glsdoifexists{#2}{\edef\@glo@type{\glsentrytype{#2}}% +\protected@edef\@glo@text{\glsentrysymbolplural{#2}}% +\@gls@link[#1]{#2}{\MakeUppercase{\@glo@text}}% +}% +} +\newcommand*{\glsentryname}[1]{\csname glo@#1@name\endcsname} +\newcommand*{\Glsentryname}[1]{% +\protected@edef\@glo@text{\csname glo@#1@name\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentrydesc}[1]{\csname glo@#1@desc\endcsname} +\newcommand*{\Glsentrydesc}[1]{% +\protected@edef\@glo@text{\csname glo@#1@desc\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentrydescplural}[1]{% +\csname glo@#1@descplural\endcsname} +\newcommand*{\Glsentrydescplural}[1]{% +\protected@edef\@glo@text{\csname glo@#1@descplural\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentrytext}[1]{\csname glo@#1@text\endcsname} +\newcommand*{\Glsentrytext}[1]{% +\protected@edef\@glo@text{\csname glo@#1@text\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentryplural}[1]{\csname glo@#1@plural\endcsname} +\newcommand*{\Glsentryplural}[1]{% +\protected@edef\@glo@text{\csname glo@#1@plural\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentrysymbol}[1]{\csname glo@#1@symbol\endcsname} +\newcommand*{\Glsentrysymbol}[1]{% +\protected@edef\@glo@text{\csname glo@#1@symbol\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentrysymbolplural}[1]{% +\csname glo@#1@symbolplural\endcsname} +\newcommand*{\Glsentrysymbolplural}[1]{% +\protected@edef\@glo@text{\csname glo@#1@symbolplural\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentryfirst}[1]{\csname glo@#1@first\endcsname} +\newcommand*{\Glsentryfirst}[1]{% +\protected@edef\@glo@text{\csname glo@#1@first\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentryfirstplural}[1]{% +\csname glo@#1@firstpl\endcsname} +\newcommand*{\Glsentryfirstplural}[1]{% +\protected@edef\@glo@text{\csname glo@#1@firstpl\endcsname}% +\expandafter\makefirstuc\expandafter{\@glo@text}} +\newcommand*{\glsentrytype}[1]{\csname glo@#1@type\endcsname} +\newcommand*{\glsentrysort}[1]{\csname glo@#1@sort\endcsname} +\define@key{glossadd}{counter}{\def\@glo@counter{#1}} +\define@key{glossadd}{format}{\def\@glo@format{#1}} +\define@key{glossadd}{types}{\def\@glo@type{#1}} +\newcommand*{\glsadd}[2][]{% +\glsdoifexists{#2}{% +\def\@glo@format{glsnumberformat}% +\edef\@glo@counter{\csname glo@#2@counter\endcsname}% +\setkeys{glossadd}{#1}% +\edef\theglsentrycounter{\expandafter\noexpand\csname the\@glo@counter\endcsname}% +\protected@edef\@glo@sort{\csname glo@#2@sort\endcsname}% +\@gls@checkmkidxchars\@glo@sort +\protected@edef\@@glo@name{\csname glo@#2@name\endcsname}% +\@gls@checkmkidxchars\@@glo@name +\protected@edef\@glo@name{\string\glsnamefont{\@@glo@name}}% +\protected@edef\@glo@desc{\csname glo@#2@desc\endcsname}% +\@gls@checkmkidxchars\@glo@desc +\protected@edef\@glo@symbol{\csname glo@#2@symbol\endcsname}% +\@gls@checkmkidxchars\@glo@symbol +\@set@glo@numformat\@glo@numfmt\@glo@counter\@glo@format +\glossary[\csname glo@#2@type\endcsname]{% +\@glo@sort\@gls@actualchar\string\glossaryentryfield +{#2}{\@glo@name}{\@glo@desc}{\@glo@symbol}\@gls@encapchar +\@glo@numfmt}% +}} +\newcommand*{\glsaddall}[1][]{% +\def\@glo@type{\@glo@types}% +\setkeys{glossadd}{#1}% +\forallglsentries[\@glo@type]{\@glo@entry}{% +\glsadd[#1]{\@glo@entry}}% +} +\newwrite\istfile +\bgroup +\catcode`\%12\relax +\catcode`\"12\relax +\catcode`\|12\relax +\catcode`\!12\relax +\catcode`\?12\relax +\gdef\@gls@actualchar{?} +\gdef\@gls@encapchar{|} +\gdef\@gls@levelchar{!} +\gdef\@gls@quotechar{"} +\gdef\writeist{\relax +\protected@write\@auxout{}{\string\@istfilename{\istfilename}} +\openout\istfile=\istfilename +\write\istfile{% makeindex style file created by the glossaries package} +\write\istfile{% for document '\jobname' on \the\year-\the\month-\the\day} +\write\istfile{actual '\@gls@actualchar'} +\write\istfile{encap '\@gls@encapchar'} +\write\istfile{level '\@gls@levelchar'} +\write\istfile{quote '\@gls@quotechar'} +\write\istfile{keyword "\string\\glossaryentry"} +\write\istfile{preamble "\string\\glossarysection[\string\\glossarytoctitle]{\string\\glossarytitle}\string\\glossarypreamble\string\n\string\\begin{theglossary}\string\\glossaryheader\string\n"} +\write\istfile{postamble "\string\n\string\\end{theglossary}\string\n\string\\glossarypostamble\string\n"} +\write\istfile{group_skip "\string\\glsgroupskip\string\n"} +\write\istfile{item_0 "\string\n"} +\write\istfile{delim_0 "\{\string\\glossaryentrynumbers\{\string\\relax "} +\write\istfile{delim_t "\}\}"} +\write\istfile{delim_n "\string\\delimN "} +\write\istfile{delim_r "\string\\delimR "} +\write\istfile{headings_flag 1} +\write\istfile{heading_prefix "\string\\glsgroupheading\{"} +\write\istfile{heading_suffix "\}"} +\write\istfile{symhead_positive "glssymbols"} +\write\istfile{numhead_positive "glsnumbers"} +\write\istfile{page_compositor "\glscompositor"} +\noist} +\egroup +\newcommand{\noist}{\let\writeist\relax} +\newcommand*{\@makeglossary}[1]{% +\ifglossaryexists{#1}{% +\edef\glo@out{\csname @glotype@#1@out\endcsname}% +\expandafter\newwrite\csname glo@#1@file\endcsname +\edef\@glo@file{\csname glo@#1@file\endcsname}% +\immediate\openout\@glo@file=\jobname.\glo@out +\@gls@renewglossary +\PackageInfo{glossaries}{Writing glossary file \jobname.\glo@out} +\writeist +}{\PackageError{glossaries}{% +Glossary type `#1' not defined}{New glossaries must be defined before +using \string\makeglossary}}} +\newcommand*{\makeglossaries}{% +\@for\@glo@type:=\@glo@types\do{% +\ifthenelse{\equal{\@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\empty +\let\makeglossary\empty} +\let\makeglossary\makeglossaries +\renewcommand*{\glossary}[1][\glsdefaulttype]{% +\@glossary[#1]} +\def\@glossary[#1]{\@bsphack\begingroup\@sanitize\@index} +\newcommand{\@gls@renewglossary}{% +\gdef\@glossary[##1]{\@bsphack\begingroup\@wrglossary{##1}}% +\let\@gls@renewglossary\@empty +} +\renewcommand*{\@wrglossary}[2]{% +\expandafter\protected@write\csname glo@#1@file\endcsname{}{% +\string\glossaryentry{#2}{\theglsentrycounter}}\endgroup\@esphack} +\newcommand*{\printglossary}[1][type=\glsdefaulttype]{% +\def\@glo@type{\glsdefaulttype}% +\def\glossarytitle{\csname @glotype@\@glo@type @title\endcsname}% +\def\glossarytoctitle{\glossarytitle}% +\def\@glossarystyle{}% +\setkeys{printgloss}{#1}% +\bgroup +\@glossarystyle +\makeatletter +\@input@{\jobname.\csname @glotype@\@glo@type @in\endcsname}% +\egroup +} +\newcommand*{\printglossaries}{% +\forallglossaries{\@@glo@type}{\printglossary[type=\@@glo@type]}} +\define@key{printgloss}{type}{\def\@glo@type{#1}} +\define@key{printgloss}{title}{\def\glossarytitle{#1}} +\define@key{printgloss}{toctitle}{\def\glossarytoctitle{#1}} +\define@key{printgloss}{style}{% +\@ifundefined{@glsstyle@#1}{\PackageError{glossaries}{Glossary +style `#1' undefined}{}}{% +\def\@glossarystyle{\csname @glsstyle@#1\endcsname}}} +\@ifundefined{theglossary}{% +\newenvironment{theglossary}{}{}}{% +\PackageWarning{glossaries}{overriding `theglossary' environment}% +\renewenvironment{theglossary}{}{}} +\newcommand*{\glossaryheader}{} +\newcommand*{\glossaryentryfield}[5]{% +\@glstarget{glo:#1}{#2} #4 #3. #5\par} +\newcommand*{\glsgroupskip}{} +\newcommand*{\glsgroupheading}[1]{} +\newcommand*{\glsgetgrouptitle}[1]{% +\@ifundefined{#1groupname}{#1}{\csname #1groupname\endcsname}} +\newcommand*{\glsgetgrouplabel}[1]{% +\ifthenelse{\equals{#1}{\glssymbolsgroupname}}{glssymbols}{% +\ifthenelse{\equals{#1}{\glsnumbersgroupname}}{glsnumbers}{#1}}} +\newcommand*{\setentrycounter}[1]{\def\glsentrycounter{#1}} +\newcommand*{\glossarystyle}[1]{% +\@ifundefined{@glsstyle@#1}{\PackageError{glossaries}{Glossary +style `#1' undefined}{}}{% +\csname @glsstyle@#1\endcsname}} +\newcommand*{\newglossarystyle}[2]{% +\@ifundefined{@glsstyle@#1}{% +\expandafter\def\csname @glsstyle@#1\endcsname{#2}}{% +\PackageError{glossaries}{Glossary style `#1' is already defined}{}}} +\newcommand*{\glsnamefont}[1]{#1} +\@ifundefined{hyperlink}{% +\def\glshypernumber#1{#1}}{% +\def\glshypernumber#1{% +\@delimR#1\delimR\delimR\\}} +\def\@delimR#1\delimR #2\delimR #3\\{% +\ifx\\#2\\% + \@delimN{#1}% +\else + \@gls@numberlink{#1}\delimR\@gls@numberlink{#2}% +\fi} +\def\@delimN#1{\@@delimN#1\delimN \delimN\\} +\def\@@delimN#1\delimN #2\delimN#3\\{% +\ifx\\#3\\% + \@gls@numberlink{#1}% +\else + \@gls@numberlink{#1}\delimN\@gls@numberlink{#2}% +\fi +} +\def\@gls@numberlink#1{% +\begingroup + \toks@={}% + \@gls@removespaces#1 \@nil +\endgroup} +\def\@gls@removespaces#1 #2\@nil{% + \toks@=\expandafter{\the\toks@#1}% + \ifx\\#2\\% + \edef\x{\the\toks@}% + \ifx\x\empty + \else + \hyperlink{\glsentrycounter.\the\toks@}{\the\toks@}% + \fi + \else + \@gls@ReturnAfterFi{% + \@gls@removespaces#2\@nil + }% + \fi +} +\long\def\@gls@ReturnAfterFi#1\fi{\fi#1} +\newcommand*{\hyperrm}[1]{\textrm{\glshypernumber{#1}}} +\newcommand*{\hypersf}[1]{\textsf{\glshypernumber{#1}}} +\newcommand*{\hypertt}[1]{\texttt{\glshypernumber{#1}}} +\newcommand*{\hyperbf}[1]{\textbf{\glshypernumber{#1}}} +\newcommand*{\hypermd}[1]{\textmd{\glshypernumber{#1}}} +\newcommand*{\hyperit}[1]{\textit{\glshypernumber{#1}}} +\newcommand*{\hypersl}[1]{\textsl{\glshypernumber{#1}}} +\newcommand*{\hyperup}[1]{\textup{\glshypernumber{#1}}} +\newcommand*{\hypersc}[1]{\textsc{\glshypernumber{#1}}} +\newcommand*{\hyperemph}[1]{\emph{\glshypernumber{#1}}} +\ifglsacronym + \newglossary[alg]{acronym}{acr}{acn}{\acronymname} + \renewcommand{\acronymtype}{acronym} + \defglsdisplay[acronym]{#1#4} + \defglsdisplayfirst[acronym]{#1#4} +\fi +\newcommand{\newacronym}[4][]{% +\newglossaryentry{#2}{type=\acronymtype,% +name={#3},description={#4},text={#3},descriptionplural={#4s},% +first={#4 (#3)},plural={#3s},% +firstplural={\@glo@descplural\space (\@glo@plural)},% +#1}} +\@onlypreamble{\newacronym} +\newcommand*{\glsshortkey}{text} +\newcommand*{\glsshortpluralkey}{plural} +\newcommand*{\glslongkey}{description} +\newcommand*{\glslongpluralkey}{descriptionplural} +\newcommand*{\acrshort}[2][]{% +\new@ifnextchar[{\@acrshort{#1}{#2}}{\@acrshort{#1}{#2}[]}} +\def\@acrshort#1#2[#3]{\@glstext@{#1}{#2}[#3]} +\newcommand*{\Acrshort}[2][]{% +\new@ifnextchar[{\@Acrshort{#1}{#2}}{\@Acrshort{#1}{#2}[]}} +\def\@Acrshort#1#2[#3]{\@glstext@{#1}{#2}[#3]} +\newcommand*{\ACRshort}[2][]{% +\new@ifnextchar[{\@ACRshort{#1}{#2}}{\@ACRshort{#1}{#2}[]}} +\def\@ACRshort#1#2[#3]{\@glstext@{#1}{#2}[#3]} +\newcommand*{\acrlong}[2][]{% +\new@ifnextchar[{\@acrlong{#1}{#2}}{\@acrlong{#1}{#2}[]}} +\def\@acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]} +\newcommand*{\Acrlong}[2][]{% +\new@ifnextchar[{\@Acrlong{#1}{#2}}{\@Acrlong{#1}{#2}[]}} +\def\@Acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]} +\newcommand*{\ACRlong}[2][]{% +\new@ifnextchar[{\@ACRlong{#1}{#2}}{\@ACRlong{#1}{#2}[]}} +\def\@ACRlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]} +\newcommand*{\acrfull}[2][]{% +\new@ifnextchar[{\@acrfull{#1}{#2}}{\@acrfull{#1}{#2}[]}} +\def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3]} +\newcommand*{\Acrfull}[2][]{% +\new@ifnextchar[{\@Acrfull{#1}{#2}}{\@Acrfull{#1}{#2}[]}} +\def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]} +\newcommand*{\ACRfull}[2][]{% +\new@ifnextchar[{\@ACRfull{#1}{#2}}{\@ACRfull{#1}{#2}[]}} +\def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]} +\newcommand{\acronymfont}[1]{#1} +\ifglsacrdescription + \ifglsacrfootnote + \renewcommand{\newacronym}[4][]{% + \newglossaryentry{#2}{type=\acronymtype,% + name={#3},% + symbol={#4},% + #1}} +\def\glsshortkey{text}% +\def\glsshortpluralkey{plural}% +\def\glslongkey{symbol}% +\def\glslongpluralkey{symbolplural}% + \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}} + \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}} + \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}} + \def\@acrlong#1#2[#3]{\@glssymbol@{#1}{#2}[#3]} + \def\@Acrlong#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]} + \def\@ACRlong#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]} + \def\@acrfull#1#2[#3]{\@glssymbol@{#1}{#2}[#3] + (\acronymfont{\@glstext@{#1}{#2}[#3]})} + \def\@Acrfull#1#2[#3]{\@Glssymbol@{#1}{#2}[#3] + (\acronymfont{\@glstext@{#1}{#2}[#3]})} + \def\@ACRfull#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3] + (\acronymfont{\@GLStext@{#1}{#2}[#3]})} + \defglsdisplayfirst[\acronymtype]{% + \acronymfont{#1}#4\noexpand\protect\noexpand\footnote{% + \noexpand\protect\noexpand\glslink + [\@gls@link@opts]{\@gls@link@label}{#3}}}% + \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}% + \ifglsacrsmallcaps + \renewcommand*{\acronymfont}[1]{\textsc{#1}} + \fi + \ifglsacrdua + \PackageError{glossaries}{Option clash: `footnote' and `dua' + can't both be set}{}% + \fi + \else + \ifglsacrdua + \ifglsacrsmallcaps + \PackageError{glossaries}{Option clash: `smallcaps' and `dua' + can't both be set}{}% + \fi + \renewcommand{\newacronym}[4][]{% + \newglossaryentry{#2}{type=\acronymtype,% + name={#4},% + first={#4},% + symbol={#3},% + #1}} +\def\glsshortkey{symbol}% +\def\glsshortpluralkey{symbolplural}% +\def\glslongkey{first}% +\def\glslongpluralkey{plural}% + \def\@acrshort#1#2[#3]{\acronymfont{\@glssymbol@{#1}{#2}[#3]}} + \def\@Acrshort#1#2[#3]{\acronymfont{\@Glssymbol@{#1}{#2}[#3]}} + \def\@ACRshort#1#2[#3]{\acronymfont{\@GLSsymbol@{#1}{#2}[#3]}} + \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]} + \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]} + \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]} + \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3] + (\acronymfont{\@glssymbol@{#1}{#2}[#3]})} + \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3] + (\acronymfont{\@glssymbol@{#1}{#2}[#3]})} + \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3] + (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})} + \defglsdisplayfirst[\acronymtype]{#1#4} + \defglsdisplay[\acronymtype]{#1#4} + \else + \renewcommand{\newacronym}[4][]{% + \newglossaryentry{#2}{type=\acronymtype,% + name={#3},% + first={#4},% + symbol={#3},% + #1}} +\def\glsshortkey{text}% +\def\glsshortpluralkey{plural}% +\def\glslongkey{first}% +\def\glslongpluralkey{firstplural}% + \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}} + \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}} + \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}} + \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]} + \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]} + \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]} + \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3] + (\acronymfont{\@glssymbol@{#1}{#2}[#3]})} + \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3] + (\acronymfont{\@glssymbol@{#1}{#2}[#3]})} + \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3] + (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})} + \defglsdisplayfirst[\acronymtype]{#1#4 (\acronymfont{#3})} + \defglsdisplay[\acronymtype]{\acronymfont{#1}#4} + \ifglsacrsmallcaps + \renewcommand{\acronymfont}[1]{\textsc{#1}} + \fi + \fi + \fi +\else + \ifglsacrfootnote + \renewcommand{\newacronym}[4][]{% + \newglossaryentry{#2}{type=\acronymtype,% + name={#3},% + description={#4},% + #1}} +\def\glsshortkey{text}% +\def\glsshortpluralkey{plural}% +\def\glslongkey{description}% +\def\glslongpluralkey{descriptionplural}% + \defglsdisplayfirst[\acronymtype]{% + \acronymfont{#1}#4\noexpand\protect\noexpand\footnote{% + \noexpand\protect\noexpand\glslink + [\@gls@link@opts]{\@gls@link@label}{#2}}}% + \defglsdisplay[\acronymtype]{\acronymfont{#1}#4}% + \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}} + \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}} + \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}} + \def\@acrlong#1#2[#3]{\@glsdesc@{#1}{#2}[#3]} + \def\@Acrlong#1#2[#3]{\@Glsdesc@{#1}{#2}[#3]} + \def\@ACRlong#1#2[#3]{\@GLSdesc@{#1}{#2}[#3]} + \def\@acrfull#1#2[#3]{\@glsdesc@{#1}{#2}[#3] + (\@glstext@{#1}{#2}[#3])} + \def\@Acrfull#1#2[#3]{\@Glsdesc@{#1}{#2}[#3] + (\@glstext@{#1}{#2}[#3])} + \def\@ACRfull#1#2[#3]{\@GLSdesc@{#1}{#2}[#3] + (\@GLStext@{#1}{#2}[#3])} + \ifglsacrsmallcaps + \renewcommand*{\acronymfont}[1]{\textsc{#1}}% + \fi + \ifglsacrdua + \PackageError{glossaries}{Option clash: `footnote' and `dua' + can't both be set}{}% + \fi + \else + \ifglsacrsmallcaps + \renewcommand{\newacronym}[4][]{% + \newglossaryentry{#2}{type=\acronymtype,% + name={#3},% + first={#4},% + description={#4},% + symbol={#3},% + #1}} +\def\glsshortkey{symbol}% +\def\glsshortpluralkey{symbolplural}% +\def\glslongkey{first}% +\def\glslongpluralkey{firstplural}% + \defglsdisplayfirst[\acronymtype]{#1#4 (\acronymfont{#3})} + \defglsdisplay[\acronymtype]{\acronymfont{#1}#4} + \renewcommand*{\acronymfont}[1]{\textsc{#1}} + \def\@acrshort#1#2[#3]{\acronymfont{\@glstext@{#1}{#2}[#3]}} + \def\@Acrshort#1#2[#3]{\acronymfont{\@Glstext@{#1}{#2}[#3]}} + \def\@ACRshort#1#2[#3]{\acronymfont{\@GLStext@{#1}{#2}[#3]}} + \def\@acrlong#1#2[#3]{\@glsfirst@{#1}{#2}[#3]} + \def\@Acrlong#1#2[#3]{\@Glsfirst@{#1}{#2}[#3]} + \def\@ACRlong#1#2[#3]{\@GLSfirst@{#1}{#2}[#3]} + \def\@acrfull#1#2[#3]{\@glsfirst@{#1}{#2}[#3] + (\acronymfont{\@glstext@{#1}{#2}[#3]})} + \def\@Acrfull#1#2[#3]{\@Glsfirst@{#1}{#2}[#3] + (\acronymfont{\@glstext@{#1}{#2}[#3]})} + \def\@ACRfull#1#2[#3]{\@GLSfirst@{#1}{#2}[#3] + (\acronymfont{\@GLStext@{#1}{#2}[#3]})} + \ifglsacrdua + \PackageError{glossaries}{Option clash: `smallcaps' and `dua' + can't both be set}{}% + \fi + \else + \ifglsacrdua + \renewcommand{\newacronym}[4][]{% + \newglossaryentry{#2}{type=\acronymtype,% + name={#3},% + description={#4},% + text={#4},% + symbol={#3},% + #1}} +\def\glsshortkey{symbol}% +\def\glsshortpluralkey{symbolplural}% +\def\glslongkey{text}% +\def\glslongpluralkey{plural}% + \defglsdisplayfirst[\acronymtype]{#1#4} + \defglsdisplay[\acronymtype]{#1#4} + \def\@acrshort#1#2[#3]{\@glssymbol@{#1}{#2}[#3]} + \def\@Acrshort#1#2[#3]{\@Glssymbol@{#1}{#2}[#3]} + \def\@ACRshort#1#2[#3]{\@GLSsymbol@{#1}{#2}[#3]} + \def\@acrlong#1#2[#3]{\@glstext@{#1}{#2}[#3]} + \def\@Acrlong#1#2[#3]{\@Glstext@{#1}{#2}[#3]} + \def\@ACRlong#1#2[#3]{\@GLStext@{#1}{#2}[#3]} + \def\@acrfull#1#2[#3]{\@glstext@{#1}{#2}[#3] + (\acronymfont{\@glssymbol@{#1}{#2}[#3]})} + \def\@Acrfull#1#2[#3]{\@Glstext@{#1}{#2}[#3] + (\acronymfont{\@glssymbol@{#1}{#2}[#3]})} + \def\@ACRfull#1#2[#3]{\@GLStext@{#1}{#2}[#3] + (\acronymfont{\@GLSsymbol@{#1}{#2}[#3]})} + \fi + \fi + \fi +\fi +\RequirePackage{glossary-hypernav} +\RequirePackage{glossary-list} +\RequirePackage{glossary-long} +\RequirePackage{glossary-super} +\glossarystyle{\@glossary@default@style} +\endinput +%% +%% End of file `glossaries.sty'. |