summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/glossaries-extra
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-12-01 22:48:17 +0000
committerKarl Berry <karl@freefriends.org>2018-12-01 22:48:17 +0000
commitb4449269786ca00b3c302d244f99e83d31a6b0d6 (patch)
tree4ed4229a57dec9589dde0d209eb61c3985a6d5b8 /Master/texmf-dist/tex/latex/glossaries-extra
parentd2e8f53cdae6de5f7ae5dca67ef39847fd96d88d (diff)
glossaries-extra (1dec18)
git-svn-id: svn://tug.org/texlive/trunk@49297 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/glossaries-extra')
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/example-glossaries-xr.tex2
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty284
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty5
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty377
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty4
-rw-r--r--Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty910
6 files changed, 1512 insertions, 70 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 1a34b6e1d56..727362a0afb 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
@@ -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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
+%% 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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
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 7dca62e8c98..02f5440640c 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
@@ -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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
+%% 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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -39,13 +39,25 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-bib2gls}[2018/08/18 v1.36 (NLCT)]
+\ProvidesPackage{glossaries-extra-bib2gls}[2018/11/30 1.37 (NLCT)]
\newcommand*{\glshex}{\string\u}
\newcommand*{\glscapturedgroup}{\string\$}
\newcommand*{\GlsXtrIfHasNonZeroChildCount}[3]{%
\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
{%
@@ -111,6 +123,274 @@
\setentrycounter[#1]{#2}%
\glsxtrmultisupplocation{#5}{#4}{#3}%
}
+\ifundef\hyperlink
+{
+ \newcommand*{\glsxtrdisplaylocnameref}[8]{%
+ \glsnoidxdisplayloc{#1}{#2}{#3}{#4}%
+ }
+}
+{
+ \newcommand*{\glsxtrdisplaylocnameref}[8]{%
+ \ifstrequal{#2}{equation}%
+ {\glsxtrnamereflink{#3}{(#4)}{#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*{\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\x{\the\toks@}%
+ \ifx\x\empty
+ \else
+ \protected@edef\x{\glsentrycounter\@glo@counterprefix\the\toks@}%
+ \ifdefvoid\glsxtrsupplocationurl
+ {%
+ \expandafter\glsxtrfmtinternalnameref\expandafter{\x}%
+ {\@glsnumberformat}{\glsxtr@locationhypertext}%
+ }%
+ {%
+ \expandafter\glsxtrfmtexternalnameref\expandafter{\x}%
+ {\@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
+ \edef\@gls@thislabel{#1}%
+ \@for\@glsxtr@prefix:=\@glsxtr@labelprefixes\do
+ {%
+ \edef\@gls@thislabel{\@glsxtr@prefix#1}%
+ \ifglsentryexists{\@gls@thislabel}{\@endfortrue}{}%
+ }%
+ \edef\x{\endgroup\noexpand\def\noexpand\@gls@thislabel{\@gls@thislabel}}\x
+}
+\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}%
+}
\providecommand*{\Alpha}{\mathrm{A}}
\providecommand*{\Beta}{\mathrm{B}}
\providecommand*{\Epsilon}{\mathrm{E}}
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 9da23febe2e..f6a7e85532e 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
@@ -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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
+%% 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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -39,7 +39,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-stylemods}[2018/08/13 v1.35 (NLCT)]
+\ProvidesPackage{glossaries-extra-stylemods}[2018/11/30 v1.37 (NLCT)]
\newcommand*{\@glsxtr@loadstyles}{}
\DeclareOption{all}{%
\appto\@glsxtr@loadstyles{%
@@ -53,6 +53,7 @@
\RequirePackage{glossary-super}%
\RequirePackage{glossary-superragged}%
\RequirePackage{glossary-bookindex}%
+ \RequirePackage{glossary-longextra}%
}
}
\DeclareOption*{%
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 4be61aae9d4..cee1d645b41 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty
@@ -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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
+%% 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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -39,7 +39,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra}[2018/08/18 v1.36 (NLCT)]
+\ProvidesPackage{glossaries-extra}[2018/11/30 1.37 (NLCT)]
\RequirePackage{xkeyval}
\RequirePackage{etoolbox}
\@ifpackageloaded{glossaries}
@@ -170,11 +170,15 @@
\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}%
+ \glsxtr@inc@wrglossaryctr{#2}%
\ifKV@glslink@noindex
\else
\glswriteentry{#2}%
@@ -218,28 +222,66 @@
}%
\@do@gls@getcounterprefix
\fi
- \protected@write\@auxout{}{\string\glsxtr@record
+ \ifx\@glsxtr@record@setting\@glsxtr@record@setting@nameref
+ \@glsxtr@do@nameref@record
{\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}%
- {\@glsrecordlocref}}%
+ {\@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
- \protected@write\@auxout{}{\string\glsxtr@record
- {\@gls@label}{}{\@gls@counter}{\@glsnumberformat}%
- {\theglsentrycounter}}%
+ \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
- \protected@write\@auxout{}{\string\glsxtr@record
- {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}%
- {\theglsentrycounter}}%
+ \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
}
@@ -304,10 +346,41 @@
\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@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}%
+ }%
+}
\define@choicekey{glossaries-extra.sty}{record}
[\@glsxtr@record@setting\glsxtr@record@nr]%
- {off,only,alsoindex}%
+ {off,only,alsoindex,nameref}%
[only]%
{%
\ifcase\glsxtr@record@nr\relax
@@ -323,23 +396,7 @@
\undef\glsxtrsetaliasnoindex
}%
\or
- \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}%
- }%
+ \@glsxtr@record@only@setup
\or
\def\glsxtr@setup@record{%
\renewcommand*{\@do@seeglossary}{\@glsxtr@dosee@alsoindex@glossary}%
@@ -353,6 +410,12 @@
\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}}%
+ {}%
\fi
}
\newcommand*{\@glsxtr@docdefval}{0}
@@ -382,6 +445,21 @@
\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}}
@@ -768,6 +846,35 @@
}
\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{%
@@ -954,8 +1061,31 @@
\newcommand*{\glsxtrusefield}[2]{%
\@gls@entry@field{#1}{#2}%
}
-\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*{\glsxtrdeffield}[2]{\csdef{glo@\glsdetoklabel{#1}@#2}}
\newcommand*{\glsxtredeffield}[2]{\protected@csedef{glo@\glsdetoklabel{#1}@#2}}
@@ -1405,8 +1535,58 @@
\glsseeformat[#1]{#2}{}%
}
\renewcommand*{\glsseeitemformat}[1]{%
- \ifglshasshort{\glslabel}{\glsaccesstext{#1}}{\glsaccessname{#1}}%
+ \ifglshasshort{#1}{\glsaccesstext{#1}}{\glsaccessname{#1}}%
+}
+\newcommand*{\glsxtrhiername}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ \glsxtrifhasfield{parent}{#1}%
+ {\glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}%
+ {}%
+ \ifglshasshort{#1}{\glsaccessshort{#1}}{\glsaccessname{#1}}%
+ }%
}
+\newcommand*{\Glsxtrhiername}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ \glsxtrifhasfield{parent}{#1}%
+ {%
+ \Glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep
+ \ifglshasshort{#1}{\glsaccessshort{#1}}{\glsaccessname{#1}}%
+ }%
+ {\ifglshasshort{#1}{\Glsaccessshort{#1}}{\Glsaccessname{#1}}}%
+ }%
+}
+\newcommand*{\GlsXtrhiername}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ \glsxtrifhasfield{parent}{#1}%
+ {\GlsXtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}%
+ {}%
+ \ifglshasshort{#1}{\Glsaccessshort{#1}}{\Glsaccessname{#1}}%
+ }%
+}
+\newcommand*{\GLSxtrhiername}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ \glsxtrifhasfield{parent}{#1}%
+ {%
+ \GLSxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep
+ \ifglshasshort{#1}{\glsaccessshort{#1}}{\glsaccessname{#1}}%
+ }%
+ {\ifglshasshort{#1}{\GLSaccessshort{#1}}{\GLSaccessname{#1}}}%
+ }%
+}
+\newcommand*{\GLSXTRhiername}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ \glsxtrifhasfield{parent}{#1}%
+ {\GLSXTRhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}%
+ {}
+ \ifglshasshort{#1}{\GLSaccessshort{#1}}{\GLSaccessname{#1}}%
+ }%
+}
+\newcommand*{\glsxtrhiernamesep}{\,{\small$\triangleright$}\,}
\newcommand*{\glsxtruseseealso}[1]{%
\glsdoifexists{#1}%
{%
@@ -2065,6 +2245,24 @@
\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
+ }%
+}
\def\@gls@link[#1]#2#3{%
\leavevmode
\edef\glslabel{\glsdetoklabel{#2}}%
@@ -2081,11 +2279,15 @@
\glsxtrinitwrgloss
\glsxtrinithyperoutside
\@gls@setdefault@glslink@opts
- \glsxtr@inc@linkcount
+ \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}%
{%
@@ -2150,27 +2352,30 @@
{}%
{%
\@gls@adjustmode
- \@glsxtr@record{#1}{#2}{glossadd}%
- \glsdoifexists{#2}%
- {%
- \let\@glsnumberformat\@glsxtr@defaultnumberformat
- \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}%
+ \begingroup
+ \@glsxtr@record{#1}{#2}{glossadd}%
+ \glsdoifexists{#2}%
{%
- \@gls@saveentrycounter
- }%
- {%
- \let\theglsentrycounter\@glsxtr@thevalue
- \def\theHglsentrycounter{\@glsxtr@theHvalue}%
+ \let\@glsnumberformat\@glsxtr@defaultnumberformat
+ \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}%
}%
- \@gls@setsort{#2}%
- \@@do@wrglossary{#2}%
- }%
+ \endgroup
}%
}
\newrobustcmd{\glsaddeach}[2][]{%
@@ -2844,6 +3049,12 @@
\let\@gls@hyp@opt\@gls@alt@hyp@opt
\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
@@ -3883,12 +4094,15 @@
\newcommand*{\@glsxtr@reg@glosslist}{}
\let\@glsxtr@org@makeglossaries\makeglossaries
\renewcommand*{\makeglossaries}[1][]{%
- \ifx\@glsxtr@record@setting\@glsxtr@record@setting@only
+ \@glsxtr@if@record@only
+ {%
\PackageError{glossaries-extra}{\string\makeglossaries\space
- not permitted\MessageBreak with record=only package option}%
+ not permitted\MessageBreak with record=\@glsxtr@record@setting\space
+ package option}%
{You may only use \string\makeglossaries\space with
record=off or record=alsoindex options}%
- \else
+ }%
+ {%
\ifblank{#1}%
{\@glsxtr@org@makeglossaries}%
{%
@@ -4021,7 +4235,7 @@
\ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}%
\fi
}%
- \fi
+ }%
}
\newcommand{\@glsxtr@orgprintglossary}[2]{%
\def\@glo@type{\glsdefaulttype}%
@@ -4606,6 +4820,7 @@
\makeatletter
\@input{#2.glstex}%
\@bibgls@restoreat
+ \@glsxtr@check@bibgls@nameref
}%
{%
\GlossariesExtraWarning{No file `#2.glstex'}%
@@ -4613,6 +4828,17 @@
\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][]{%
@@ -4644,6 +4870,10 @@
\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{}{%
@@ -4683,6 +4913,7 @@
}%
}
\newcommand*{\glsxtr@record}[5]{}
+\newcommand*{\glsxtr@record@nameref}[8]{}
\newcommand*{\glsxtr@counterrecord}[3]{%
\glsxtrfieldlistgadd{#1}{record.#2}{#3}%
}
@@ -4712,13 +4943,16 @@
\ifglshasparent{#1}%
{\GlsXtrStandaloneSubEntryItem{#1}}%
{\glsentryitem{#1}}%
- \glstarget{#1}{\glossentryname{#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}}{}%
@@ -4758,13 +4992,16 @@
\ifglshasparent{#1}%
{\GlsXtrStandaloneSubEntryItem{#1}}%
{\glsentryitem{#1}}%
- \glstarget{#1}{\glossentrynameother{#1}{#2}}%
+ \GlsXtrStandaloneEntryOther{#1}%
\endgroup
}%
}%
{\@gls@entry@field{#1}{#2}}%
{#3}%
}
+\newcommand*{\GlsXtrStandaloneEntryOther}[2]{%
+ \glstarget{#1}{\glossentrynameother{#1}{#2}}%
+}
\newcommand*{\printunsrtglossary}{%
\@ifstar\s@printunsrtglossary\@printunsrtglossary
}
@@ -4902,11 +5139,12 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
}%
\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}@location}%
+ \global\letcs{\@gls@location}{glo@\glsdetoklabel{#1}@\GlsXtrLocationField}%
\ifglshasparent{#1}%
{%
\gls@level=\csuse{glo@\glsdetoklabel{#1}@level}\relax
@@ -4952,6 +5190,18 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
{}%
}
\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}%
{%
@@ -4959,6 +5209,7 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
defined}{}%
}%
{%
+ \glsxtridentifyglslike{#2}{#3}%
\ifcsdef{@#4like@#2}%
{%
\advance\@glsxtrnewgls@inner by \@ne
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 67485ea1419..8ac6b7c7e1d 100644
--- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty
@@ -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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
+%% 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, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -39,7 +39,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-bookindex}[2018/08/18 v1.36 (NLCT)]
+\ProvidesPackage{glossary-bookindex}[2018/11/30 1.37 (NLCT)]
\RequirePackage{multicol}
\RequirePackage{glossary-tree}
\newcommand{\glsxtrbookindexcols}{2}
diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty
new file mode 100644
index 00000000000..d4df8e8849e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty
@@ -0,0 +1,910 @@
+%%
+%% This is file `glossary-longextra.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% glossaries-extra.dtx (with options: `glossary-longextra.sty,package')
+%%
+%% glossaries-extra.dtx
+%% Copyright 2018 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-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{glossary-longextra}[2018/11/30 1.37 (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.sty'.