summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty')
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty418
1 files changed, 232 insertions, 186 deletions
diff --git a/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty b/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty
index 131e29688a9..e6041bfae35 100644
--- a/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/base/glossaries.sty
@@ -11,7 +11,7 @@
%%
%% 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.
+%% 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
@@ -39,7 +39,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries}[2017/01/19 v4.29 (NLCT)]
+\ProvidesPackage{glossaries}[2017/06/11 v4.30 (NLCT)]
\RequirePackage{ifthen}
\RequirePackage{xkeyval}[2006/11/18]
\RequirePackage{mfirstuc}
@@ -84,25 +84,25 @@
}
\newcommand*{\@gls@see@noindex}{%
\PackageError{glossaries}%
- {`see' key may only be used after \string\makeglossaries\space
+ {`\gls@xr@key' key may only be used after \string\makeglossaries\space
or \string\makenoidxglossaries}%
{You must use \string\makeglossaries\space
or \string\makenoidxglossaries\space before defining
- any entries that have a `see' key}%
+ any entries that have a `\gls@xr@key' key}%
}
\define@choicekey{glossaries.sty}{seenoindex}[\val\nr]{error,warn,ignore}{%
\ifcase\nr
\renewcommand*{\@gls@see@noindex}{%
\PackageError{glossaries}%
- {`see' key may only be used after \string\makeglossaries\space
+ {`\gls@xr@key' key may only be used after \string\makeglossaries\space
or \string\makenoidxglossaries}%
{You must use \string\makeglossaries\space
or \string\makenoidxglossaries\space before defining
- any entries that have a `see' key}%
+ any entries that have a `\gls@xr@key' key}%
}%
\or
\renewcommand*{\@gls@see@noindex}{%
- \GlossariesWarning{`see' key ignored}%
+ \GlossariesWarning{`\gls@xr@key' key ignored}%
}%
\or
\renewcommand*{\@gls@see@noindex}{}%
@@ -202,13 +202,14 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\define@boolkey{glossaries.sty}[gls]{subentrycounter}[true]{}
\glssubentrycounterfalse
\newcommand*{\@glo@default@sorttype}{standard}
-\define@choicekey{glossaries.sty}{sort}{standard,def,use}{%
+\define@choicekey{glossaries.sty}{sort}{standard,def,use,none}{%
\renewcommand*{\@glo@default@sorttype}{#1}%
\csname @gls@setupsort@#1\endcsname
}
\newcommand*{\glsprestandardsort}[3]{%
\glsdosanitizesort
}
+\newcommand*{\@glo@check@sortallowed}[1]{}
\newcommand*{\@gls@setupsort@standard}{%
\def\do@glo@storeentry{\@glo@storeentry}%
\def\@gls@defsortcount##1{}%
@@ -221,6 +222,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\expandafter\protected@xdef\csname glo@##2@sort\endcsname{\@glo@sort}%
}%
\def\@gls@setsort##1{}%
+ \let\@glo@check@sortallowed\@gobble
}
\@gls@setupsort@standard
\newcommand*\glssortnumberfmt[1]{%
@@ -238,6 +240,9 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\expandafter\newcount\csname glossary@##1@sortcount\endcsname
}%
\def\@gls@defsort##1##2{%
+ \ifcsundef{glossary@##1@sortcount}%
+ {\@gls@defsortcount{##1}}%
+ {}%
\expandafter\global\expandafter
\advance\csname glossary@##1@sortcount\endcsname by 1\relax
\expandafter\protected@xdef\csname glo@##2@sort\endcsname{%
@@ -245,6 +250,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
{\csname glossary@##1@sortcount\endcsname}}%
}%
\def\@gls@setsort##1{}%
+ \let\@glo@check@sortallowed\@gobble
}
\newcommand*{\@gls@setupsort@use}{%
\let\do@glo@storeentry\@gobble
@@ -272,6 +278,18 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\@glo@storeentry{##1}%
\fi
}%
+ \let\@glo@check@sortallowed\@gobble
+}
+\newcommand*{\@gls@setupsort@none}{%
+ \def\do@glo@storeentry##1{}%
+ \def\@gls@defsortcount##1{}%
+ \def\@gls@defsort##1##2{%
+ \expandafter\global\expandafter\let\csname glo@##2@sort\endcsname\@glo@sort
+ }%
+ \def\@gls@setsort##1{}%
+ \renewcommand\@glo@check@sortallowed[1]{\PackageError{glossaries}
+ {Option sort=none not allowed with \string##1}%
+ {(Use sort=def instead)}}%
}
\newcommand*{\glsdefmain}{%
\if@gls@docloaded
@@ -385,12 +403,17 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\newcommand*{\GlossariesWarningNoLine}[1]{%
\PackageWarningNoLine{glossaries}{#1}%
}
+\newcommand{\glosortentrieswarning}{%
+ \typeout{Using TeX to sort glossary entries---this may
+ take a while}%
+}
\@gls@declareoption{nowarn}{%
\if@gls@debug
\GlossariesWarning{Warnings can't be suppressed in debug mode}%
\else
\renewcommand*{\GlossariesWarning}[1]{}%
\renewcommand*{\GlossariesWarningNoLine}[1]{}%
+ \renewcommand*{\glosortentrieswarning}{}%
\fi
}
\newcommand*{\@gls@warnonglossdefined}{%
@@ -476,6 +499,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\let\H\@firstofone
\let\c\@firstofone
\let\b\@firstofone
+ \let\a\@secondoftwo
\def\AE{AE}%
\def\ae{ae}%
\def\OE{OE}%
@@ -489,6 +513,9 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\def\SS{SS}%
\def\ss{ss}%
\def\th{th}%
+ \def\TH{TH}%
+ \def\dh{dh}%
+ \def\DH{DH}%
}
\define@boolkey[gls]{sanitize}{description}[true]{%
\GlossariesWarning{sanitize={description} package option deprecated}%
@@ -1280,6 +1307,9 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\def\@xdyuserlocationnames{}
\fi
\ifglsxindy
+ \newcommand\@xdycrossrefhook{}
+\fi
+\ifglsxindy
\newcommand*{\GlsAddXdyLocation}[3][]{%
\def\@gls@tmp{#1}%
\ifx\@gls@tmp\@empty
@@ -1301,7 +1331,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\fi
\edef\@xdyuserlocationnames{%
\@xdyuserlocationnames^^J\space\space\space
- \string"#1\string"}%
+ \string"#2\string"}%
}
\@onlypremakeg\GlsAddXdyLocation
\else
@@ -1309,7 +1339,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\glsnoxindywarning\GlsAddXdyLocation}
\fi
\ifglsxindy
- \edef\@xdylocationclassorder{^^J\space\space\space
+ \def\@xdylocationclassorder{^^J\space\space\space
\string"roman-page-numbers\string"^^J\space\space\space
\string"arabic-page-numbers\string"^^J\space\space\space
\string"arabic-section-numbers\string"^^J\space\space\space
@@ -1736,16 +1766,21 @@ false,nolabel,autolabel,nameref}[nolabel]{%
}%
}
\define@key{glossentry}{see}{%
+ \gls@set@xr@key{see}{\@glo@see}{#1}%
+}
+\newcommand*{\gls@set@xr@key}[3]{%
+ \renewcommand*{\gls@xr@key}{#1}%
\gls@checkseeallowed
- \def\@glo@see{#1}%
+ \def#2{#3}%
\@glo@seeautonumberlist
}
+\newcommand*{\gls@xr@key}{see}
\newcommand*{\gls@checkseeallowed}{%
\@gls@see@noindex
}
\newcommand*{\gls@checkseeallowed@preambleonly}{%
\GlossariesWarning{glossaries}%
- {`see' key doesn't have any effect when used in the document
+ {`\gls@xr@key' key doesn't have any effect when used in the document
environment. Move the definition to the preamble
after \string\makeglossaries\space
or \string\makenoidxglossaries}%
@@ -2268,195 +2303,187 @@ false,nolabel,autolabel,nameref}[nolabel]{%
}
\@onlypreamble{\longprovideglossaryentry}
\newcommand{\gls@defglossaryentry}[2]{%
- \let\GlsSetQuote\gls@nosetquote
- \edef\@glo@label{\glsdetoklabel{#1}}%
- \let\glslabel\@glo@label
- \let\@glo@name\@glsnoname
- \let\@glo@desc\@glsnodesc
- \let\@glo@descplural\@gls@default@value
- \let\@glo@type\@gls@default@value
- \let\@glo@symbol\@gls@default@value
- \let\@glo@symbolplural\@gls@default@value
- \let\@glo@text\@gls@default@value
- \let\@glo@plural\@gls@default@value
- \let\@glo@first\@gls@default@value
- \let\@glo@firstplural\@gls@default@value
- \let\@glo@sort\@gls@default@value
- \let\@glo@counter\@gls@default@value
- \def\@glo@see{}%
- \def\@glo@parent{}%
- \def\@glo@prefix{}%
- \@gls@initnonumberlist
- \def\@glo@useri{}%
- \def\@glo@userii{}%
- \def\@glo@useriii{}%
- \def\@glo@useriv{}%
- \def\@glo@userv{}%
- \def\@glo@uservi{}%
- \def\@glo@short{}%
- \def\@glo@shortpl{}%
- \def\@glo@long{}%
- \def\@glo@longpl{}%
- \@newglossaryentryprehook
- \setkeys{glossentry}{#2}%
- \ifundef\glsdefaulttype
+ \let\GlsSetQuote\gls@nosetquote
+ \edef\@glo@label{\glsdetoklabel{#1}}%
+ \let\glslabel\@glo@label
+ \let\@glo@name\@glsnoname
+ \let\@glo@desc\@glsnodesc
+ \let\@glo@descplural\@gls@default@value
+ \let\@glo@type\@gls@default@value
+ \let\@glo@symbol\@gls@default@value
+ \let\@glo@symbolplural\@gls@default@value
+ \let\@glo@text\@gls@default@value
+ \let\@glo@plural\@gls@default@value
+ \let\@glo@first\@gls@default@value
+ \let\@glo@firstplural\@gls@default@value
+ \let\@glo@sort\@gls@default@value
+ \let\@glo@counter\@gls@default@value
+ \def\@glo@see{}%
+ \def\@glo@parent{}%
+ \def\@glo@prefix{}%
+ \@gls@initnonumberlist
+ \def\@glo@useri{}%
+ \def\@glo@userii{}%
+ \def\@glo@useriii{}%
+ \def\@glo@useriv{}%
+ \def\@glo@userv{}%
+ \def\@glo@uservi{}%
+ \def\@glo@short{}%
+ \def\@glo@shortpl{}%
+ \def\@glo@long{}%
+ \def\@glo@longpl{}%
+ \@newglossaryentryprehook
+ \setkeys{glossentry}{#2}%
+ \ifundef\glsdefaulttype
+ {%
+ \PackageError{glossaries}%
+ {No default glossary type (have you used `nomain' by mistake?)}%
+ {If you use package option `nomain' you must define
+ a new glossary before you can define entries}%
+ }%
+ {}%
+ \gls@assign@field{\glsdefaulttype}{\@glo@label}{type}{\@glo@type}%
+ \edef\@glo@type{\glsentrytype{\@glo@label}}%
+ \ifcsundef{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}%
+ }%
+ {%
+ \ifignoredglossary\@glo@type
+ {%
+ \ifx\@glo@desc\@glsnodesc
+ \let\@glo@desc\@empty
+ \fi
+ }%
{%
- \PackageError{glossaries}%
- {No default glossary type (have you used `nomain' by mistake?)}%
- {If you use package option `nomain' you must define
- a new glossary before you can define entries}%
}%
- {}%
- \gls@assign@field{\glsdefaulttype}{\@glo@label}{type}{\@glo@type}%
- \edef\@glo@type{\glsentrytype{\@glo@label}}%
- \ifcsundef{glolist@\@glo@type}%
+ \protected@edef\@glolist@{\csname glolist@\@glo@type\endcsname}%
+ \expandafter\xdef\csname glolist@\@glo@type\endcsname{%
+ \@glolist@{\@glo@label},}%
+ }%
+ \gls@level=0\relax
+ \ifx\@glo@parent\@empty
+ \expandafter\gdef\csname glo@\@glo@label @parent\endcsname{}%
+ \else
+ \ifdefequal\@glo@label\@glo@parent%
{%
- \PackageError{glossaries}%
- {Glossary type `\@glo@type' has not been defined}%
- {You need to define a new glossary type, before making entries
- in it}%
+ \PackageError{glossaries}{Entry `\@glo@label' can't be its own parent}{}%
+ \def\@glo@parent{}%
+ \expandafter\gdef\csname glo@\@glo@label @parent\endcsname{}%
}%
{%
- \ifignoredglossary\@glo@type
+ \ifglsentryexists{\@glo@parent}%
{%
- \ifx\@glo@desc\@glsnodesc
- \let\@glo@desc\@empty
+ \expandafter\xdef\csname glo@\@glo@label @parent\endcsname{%
+ \@glo@parent}%
+ \gls@level=\csname glo@\@glo@parent @level\endcsname\relax
+ \advance\gls@level by 1\relax
+ \ifx\@glo@name\@glsnoname
+ \expandafter\let\expandafter\@glo@name
+ \csname glo@\@glo@parent @name\endcsname
+ \ifx\@glo@plural\@gls@default@value
+ \expandafter\let\expandafter\@glo@plural
+ \csname glo@\@glo@parent @plural\endcsname
+ \fi
\fi
}%
{%
- }%
- \protected@edef\@glolist@{\csname glolist@\@glo@type\endcsname}%
- \expandafter\xdef\csname glolist@\@glo@type\endcsname{%
- \@glolist@{\@glo@label},}%
- }%
- \gls@level=0\relax
- \ifx\@glo@parent\@empty
- \expandafter\gdef\csname glo@\@glo@label @parent\endcsname{}%
- \else
- \ifdefequal\@glo@label\@glo@parent%
- {%
- \PackageError{glossaries}{Entry `\@glo@label' can't be its own parent}{}%
- \def\@glo@parent{}%
- \expandafter\gdef\csname glo@\@glo@label @parent\endcsname{}%
- }%
- {%
- \ifglsentryexists{\@glo@parent}%
+ \PackageError{glossaries}%
{%
- \expandafter\xdef\csname glo@\@glo@label @parent\endcsname{%
- \@glo@parent}%
- \gls@level=\csname glo@\@glo@parent @level\endcsname\relax
- \advance\gls@level by 1\relax
- \ifx\@glo@name\@glsnoname
- \expandafter\let\expandafter\@glo@name
- \csname glo@\@glo@parent @name\endcsname
- \ifx\@glo@plural\@gls@default@value
- \expandafter\let\expandafter\@glo@plural
- \csname glo@\@glo@parent @plural\endcsname
- \fi
- \fi
+ Invalid parent `\@glo@parent'
+ for entry `\@glo@label' - parent doesn't exist%
}%
{%
- \PackageError{glossaries}%
- {%
- Invalid parent `\@glo@parent'
- for entry `\@glo@label' - parent doesn't exist%
- }%
- {%
- Parent entries must be defined before their children%
- }%
- \def\@glo@parent{}%
- \expandafter\gdef\csname glo@\@glo@label @parent\endcsname{}%
+ Parent entries must be defined before their children%
}%
+ \def\@glo@parent{}%
+ \expandafter\gdef\csname glo@\@glo@label @parent\endcsname{}%
}%
- \fi
- \expandafter\xdef\csname glo@\@glo@label @level\endcsname{\number\gls@level}%
- \gls@assign@field{\@glo@name}{\@glo@label}{sortvalue}{\@glo@sort}%
- \letcs\@glo@sort{glo@\@glo@label @sortvalue}%
- \gls@assign@field{\@glo@name}{\@glo@label}{text}{\@glo@text}%
+ }%
+ \fi
+ \expandafter\xdef\csname glo@\@glo@label @level\endcsname{\number\gls@level}%
+ \gls@assign@field{\@glo@name}{\@glo@label}{sortvalue}{\@glo@sort}%
+ \letcs\@glo@sort{glo@\@glo@label @sortvalue}%
+ \gls@assign@field{\@glo@name}{\@glo@label}{text}{\@glo@text}%
+ \expandafter\gls@assign@field\expandafter
+ {\csname glo@\@glo@label @text\endcsname\glspluralsuffix}%
+ {\@glo@label}{plural}{\@glo@plural}%
+ \expandafter\gls@assign@field\expandafter
+ {\csname glo@\@glo@label @text\endcsname}%
+ {\@glo@label}{first}{\@glo@first}%
+ \ifx\@glo@first\@gls@default@value
\expandafter\gls@assign@field\expandafter
- {\csname glo@\@glo@label @text\endcsname\glspluralsuffix}%
- {\@glo@label}{plural}{\@glo@plural}%
+ {\csname glo@\@glo@label @plural\endcsname}%
+ {\@glo@label}{firstpl}{\@glo@firstplural}%
+ \else
\expandafter\gls@assign@field\expandafter
- {\csname glo@\@glo@label @text\endcsname}%
- {\@glo@label}{first}{\@glo@first}%
- \ifx\@glo@first\@gls@default@value
- \expandafter\gls@assign@field\expandafter
- {\csname glo@\@glo@label @plural\endcsname}%
- {\@glo@label}{firstpl}{\@glo@firstplural}%
- \else
- \expandafter\gls@assign@field\expandafter
- {\csname glo@\@glo@label @first\endcsname\glspluralsuffix}%
- {\@glo@label}{firstpl}{\@glo@firstplural}%
- \fi
- \ifcsundef{@glotype@\@glo@type @counter}%
- {%
- \def\@glo@defaultcounter{\glscounter}%
- }%
- {%
- \letcs\@glo@defaultcounter{@glotype@\@glo@type @counter}%
- }%
- \gls@assign@field{\@glo@defaultcounter}{\@glo@label}{counter}{\@glo@counter}%
- \gls@assign@field{}{\@glo@label}{useri}{\@glo@useri}%
- \gls@assign@field{}{\@glo@label}{userii}{\@glo@userii}%
- \gls@assign@field{}{\@glo@label}{useriii}{\@glo@useriii}%
- \gls@assign@field{}{\@glo@label}{useriv}{\@glo@useriv}%
- \gls@assign@field{}{\@glo@label}{userv}{\@glo@userv}%
- \gls@assign@field{}{\@glo@label}{uservi}{\@glo@uservi}%
- \gls@assign@field{}{\@glo@label}{short}{\@glo@short}%
- \gls@assign@field{}{\@glo@label}{shortpl}{\@glo@shortpl}%
- \gls@assign@field{}{\@glo@label}{long}{\@glo@long}%
- \gls@assign@field{}{\@glo@label}{longpl}{\@glo@longpl}%
- \ifx\@glo@name\@glsnoname
- \@glsnoname
- \let\@gloname\@gls@default@value
- \fi
- \gls@assign@field{}{\@glo@label}{name}{\@glo@name}%
- \ifcsundef{glo@\@glo@label @numberlist}%
- {%
- \csxdef{glo@\@glo@label @numberlist}{%
- \noexpand\@gls@missingnumberlist{\@glo@label}}%
- }%
- {}%
- \@gls@storenonumberlist{\@glo@label}%
- \def\@glo@@desc{\@glo@first}%
- \ifx\@glo@desc\@glo@@desc
- \let\@glo@desc\@glo@first
- \fi
- \ifx\@glo@desc\@glsnodesc
- \@glsnodesc
- \let\@glodesc\@gls@default@value
- \fi
- \gls@assign@desc{\@glo@label}%
- \@gls@defsort{\@glo@type}{\@glo@label}%
- \def\@glo@@symbol{\@glo@text}%
- \ifx\@glo@symbol\@glo@@symbol
- \let\@glo@symbol\@glo@text
- \fi
- \gls@assign@field{\relax}{\@glo@label}{symbol}{\@glo@symbol}%
- \expandafter
- \gls@assign@field\expandafter
- {\csname glo@\@glo@label @symbol\endcsname}
- {\@glo@label}{symbolplural}{\@glo@symbolplural}%
- \expandafter\xdef\csname glo@\@glo@label @flagfalse\endcsname{%
- \noexpand\global
- \noexpand\let\expandafter\noexpand
- \csname ifglo@\@glo@label @flag\endcsname\noexpand\iffalse
- }%
- \expandafter\xdef\csname glo@\@glo@label @flagtrue\endcsname{%
- \noexpand\global
- \noexpand\let\expandafter\noexpand
- \csname ifglo@\@glo@label @flag\endcsname\noexpand\iftrue
- }%
- \csname glo@\@glo@label @flagfalse\endcsname
- \ifdefvoid\@glo@see
- {}%
- {%
- \protected@edef\@do@glssee{%
- \noexpand\@gls@fixbraces\noexpand\@glo@list\@glo@see
- \noexpand\@nil
- \noexpand\expandafter\noexpand\@glssee\noexpand\@glo@list{\@glo@label}}%
- \@do@glssee
- }%
+ {\csname glo@\@glo@label @first\endcsname\glspluralsuffix}%
+ {\@glo@label}{firstpl}{\@glo@firstplural}%
+ \fi
+ \ifcsundef{@glotype@\@glo@type @counter}%
+ {%
+ \def\@glo@defaultcounter{\glscounter}%
+ }%
+ {%
+ \letcs\@glo@defaultcounter{@glotype@\@glo@type @counter}%
+ }%
+ \gls@assign@field{\@glo@defaultcounter}{\@glo@label}{counter}{\@glo@counter}%
+ \gls@assign@field{}{\@glo@label}{useri}{\@glo@useri}%
+ \gls@assign@field{}{\@glo@label}{userii}{\@glo@userii}%
+ \gls@assign@field{}{\@glo@label}{useriii}{\@glo@useriii}%
+ \gls@assign@field{}{\@glo@label}{useriv}{\@glo@useriv}%
+ \gls@assign@field{}{\@glo@label}{userv}{\@glo@userv}%
+ \gls@assign@field{}{\@glo@label}{uservi}{\@glo@uservi}%
+ \gls@assign@field{}{\@glo@label}{short}{\@glo@short}%
+ \gls@assign@field{}{\@glo@label}{shortpl}{\@glo@shortpl}%
+ \gls@assign@field{}{\@glo@label}{long}{\@glo@long}%
+ \gls@assign@field{}{\@glo@label}{longpl}{\@glo@longpl}%
+ \ifx\@glo@name\@glsnoname
+ \@glsnoname
+ \let\@gloname\@gls@default@value
+ \fi
+ \gls@assign@field{}{\@glo@label}{name}{\@glo@name}%
+ \ifcsundef{glo@\@glo@label @numberlist}%
+ {%
+ \csxdef{glo@\@glo@label @numberlist}{%
+ \noexpand\@gls@missingnumberlist{\@glo@label}}%
+ }%
+ {}%
+ \@gls@storenonumberlist{\@glo@label}%
+ \def\@glo@@desc{\@glo@first}%
+ \ifx\@glo@desc\@glo@@desc
+ \let\@glo@desc\@glo@first
+ \fi
+ \ifx\@glo@desc\@glsnodesc
+ \@glsnodesc
+ \let\@glodesc\@gls@default@value
+ \fi
+ \gls@assign@desc{\@glo@label}%
+ \@gls@defsort{\@glo@type}{\@glo@label}%
+ \def\@glo@@symbol{\@glo@text}%
+ \ifx\@glo@symbol\@glo@@symbol
+ \let\@glo@symbol\@glo@text
+ \fi
+ \gls@assign@field{\relax}{\@glo@label}{symbol}{\@glo@symbol}%
+ \expandafter
+ \gls@assign@field\expandafter
+ {\csname glo@\@glo@label @symbol\endcsname}
+ {\@glo@label}{symbolplural}{\@glo@symbolplural}%
+ \expandafter\xdef\csname glo@\@glo@label @flagfalse\endcsname{%
+ \noexpand\global
+ \noexpand\let\expandafter\noexpand
+ \csname ifglo@\@glo@label @flag\endcsname\noexpand\iffalse
+ }%
+ \expandafter\xdef\csname glo@\@glo@label @flagtrue\endcsname{%
+ \noexpand\global
+ \noexpand\let\expandafter\noexpand
+ \csname ifglo@\@glo@label @flag\endcsname\noexpand\iftrue
+ }%
+ \csname glo@\@glo@label @flagfalse\endcsname
+ \@glo@autosee
\ifignoredglossary\@glo@type
{%
\csdef{glo@\@glo@label @index}{}%
@@ -2467,6 +2494,17 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\@newglossaryentry@defcounters
\@newglossaryentryposthook
}
+\newcommand*{\@glo@autosee}{%
+ \ifdefvoid\@glo@see{}%
+ {%
+ \protected@edef\@do@glssee{%
+ \noexpand\@gls@fixbraces\noexpand\@glo@list\@glo@see\noexpand\@nil
+ \noexpand\expandafter\noexpand\@glssee\noexpand\@glo@list{\@glo@label}}%
+ \@do@glssee
+ }%
+ \@glo@autoseehook
+}%
+\newcommand*{\@glo@autoseehook}{}
\newcommand*{\@newglossaryentryprehook}{}
\newcommand*{\@newglossaryentryposthook}{}
\newcommand*{\@newglossaryentry@defcounters}{}
@@ -4652,6 +4690,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
:class \string"see\string"^^J\space\space\space
:open \string"\string\glsseeformat\string"
:close \string"{}\string")}%
+ \@xdycrossrefhook
\write\glswrite{^^J; define the order of the location classes}%
\write\glswrite{(define-location-class-order
(\@xdylocationclassorder))}%
@@ -5076,6 +5115,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
}%
}%
\fi
+ \@glo@check@sortallowed\makeglossaries
}
\@onlypreamble{\makeglossaries}
\let\makeglossary\makeglossaries
@@ -5191,6 +5231,7 @@ false,nolabel,autolabel,nameref}[nolabel]{%
\let\@@gls@sanitizesort\@gls@noidx@sanitizesort
\let\@@gls@nosanitizesort\@@gls@noidx@nosanitizesort
\@gls@noidx@setsanitizesort
+ \@glo@check@sortallowed\makenoidxglossaries
}
\@onlypreamble{\makenoidxglossaries}
\newcommand*{\glsnumberlistloop}[2]{%
@@ -5605,6 +5646,7 @@ you
}%
}
\newcommand*{\@glo@sortentries}[2]{%
+ \glosortentrieswarning
\def\@glo@sortinglist{}%
\def\@glo@sortinghandler{#1}%
\edef\@glo@type{#2}%
@@ -5871,7 +5913,11 @@ you
\ifdefequal{\@glo@thislettergrp}{\@gls@currentlettergroup}%
{}%
{%
- \ifdefempty{\@gls@currentlettergroup}{}{\glsgroupskip}%
+ \ifdefempty{\@gls@currentlettergroup}{}%
+ {%
+ \global\let\@glo@thislettergrp\@glo@thislettergrp
+ \glsgroupskip
+ }%
\glsgroupheading{\@glo@thislettergrp}%
}%
\global\let\@gls@currentlettergroup\@glo@thislettergrp