summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-14 22:32:40 +0000
committerKarl Berry <karl@freefriends.org>2020-02-14 22:32:40 +0000
commitf8984c096c7871551016e012a01478e1a193fccd (patch)
tree8713cc0e08398842b20895b396e2b799138dcc3b /Master/texmf-dist/source
parentac2299dd56d45edf3052e6b12fe27f79bf65527d (diff)
glossaries-extra (14feb20)
git-svn-id: svn://tug.org/texlive/trunk@53780 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx2942
-rw-r--r--Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins4
2 files changed, 2589 insertions, 357 deletions
diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
index 3d37899d9b0..d16bcf9bae4 100644
--- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
+++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
@@ -1,6 +1,14 @@
%\iffalse
% glossaries-extra.dtx generated using makedtx version 1.2 (c) Nicola Talbot
% Command line args:
+% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})"
+% -section "chapter"
+% -macrocode ".*\.tex"
+% -macrocode ".*\.bib"
+% -setambles ".*\.bib=>\nopreamble\nopostamble"
+% -comment ".*\.tex"
+% -comment ".*\.bib"
+% -author "Nicola Talbot"
% -src "glossaries-extra.sty\Z=>glossaries-extra.sty"
% -src "glossaries-extra-bib2gls.sty\Z=>glossaries-extra-bib2gls.sty"
% -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty"
@@ -9,17 +17,9 @@
% -src "glossary-topic.sty\Z=>glossary-topic.sty"
% -src "(example-glossaries-.+\.tex)\Z=>\1"
% -src "(example-glossaries-.+\.bib)\Z=>\1"
-% -author "Nicola Talbot"
% -doc "glossaries-extra-codedoc.tex"
-% -macrocode ".*\.tex"
-% -macrocode ".*\.bib"
-% -section "chapter"
-% -setambles ".*\.bib=>\nopreamble\nopostamble"
-% -comment ".*\.tex"
-% -comment ".*\.bib"
-% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})"
% glossaries-extra
-% Created on 2019/4/9 21:59
+% Created on 2020/2/13 22:19
%\fi
%\iffalse
%<*package>
@@ -42,7 +42,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2019 Nicola Talbot, all rights reserved.
+% Copyright (C) 2020 Nicola Talbot, all rights reserved.
% \fi
% \iffalse
%<*driver>
@@ -142,7 +142,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
\setcounter{IndexColumns}{2}
-\CheckSum{25503}
+\CheckSum{26913}
\newcommand*{\ifirstuse}{\iterm{first use}}
\newcommand*{\firstuse}{\gls{firstuse}}
@@ -152,9 +152,9 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
\newcommand*{\ifirstuseflag}{\iterm{first use>flag}}
\newcommand*{\ifirstusetext}{\iterm{first use>text}}
-\newcommand*{\istkey}[1]{\appfmt{#1}\index{makeindex=\appfmt{makeindex}>#1=\texttt{#1}|hyperpage}}
+\newcommand*{\istkey}[1]{\appfmt{#1}\index{makeindex=\appfmt{makeindex}>#1=\texttt{#1}}}
\newcommand*{\locfmt}[1]{\texttt{#1}\SpecialMainIndex{#1}}
-\newcommand*{\mkidxspch}{\index{makeindex=\appfmt{makeindex}>special characters|hyperpage}}
+\newcommand*{\mkidxspch}{\index{makeindex=\appfmt{makeindex}>special characters}}
\newcommand*{\igloskey}[2][newglossaryentry]{\icsopt{#1}{#2}}
\newcommand*{\gloskey}[2][newglossaryentry]{\csopt{#1}{#2}}
@@ -182,13 +182,13 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
\raggedright
}
-\title{glossaries-extra.sty v1.41:
+\title{glossaries-extra.sty v1.42:
documented code}
\author{Nicola L.C. Talbot\\[10pt]
Dickimaw Books\\
\url{http://www.dickimaw-books.com/}}
-\date{2019-04-09}
+\date{2020-02-13}
\begin{document}
\DocInput{glossaries-extra.dtx}
@@ -233,7 +233,7 @@ Dickimaw Books\\
%\section{Package Initialisation and Options}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra}[2019/04/09 v1.41 (NLCT)]
+\ProvidesPackage{glossaries-extra}[2020/02/13 v1.42 (NLCT)]
% \end{macrocode}
% Requires \sty{xkeyval} to define package options.
% \begin{macrocode}
@@ -511,15 +511,17 @@ Dickimaw Books\\
%(\texttt{glslink} in most cases, \texttt{glossadd} for \cs{glsadd}).
% \begin{macrocode}
\newcommand*{\@@glsxtr@record}[3]{%
+% \end{macrocode}
+%Save the label in case it's needed. This needs to be outside the
+%existence check to allow the post-link hook to reference it.
+%\changes{1.42}{2020-02-03}{moved label definition outside of conditional}
+% \begin{macrocode}
+ \edef\@gls@label{\glsdetoklabel{#2}}%
+ \let\glslabel\@gls@label
\ifglsentryexists{#2}{}%
{%
\@@glsxtrwrglossmark
\begingroup
-% \end{macrocode}
-%Save the label in case it's needed.
-% \begin{macrocode}
- \edef\@gls@label{\glsdetoklabel{#2}}%
- \let\glslabel\@gls@label
\let\@glsnumberformat\@glsxtr@defaultnumberformat
\def\@glsxtr@thevalue{}%
\def\@glsxtr@theHvalue{\@glsxtr@thevalue}%
@@ -1577,6 +1579,10 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\sty{glossaries-accsupp} can't be loaded after
+%\styfmt{glossaries-extra}. \sty{glossaries-accsupp} v4.29+ checks
+%\cs{@glsxtr@doaccsupp} to determine if it's been loaded too late.
+%
%\begin{option}{accsupp}
% If \pkgopt{accsupp}, load \sty{glossaries-accsupp} package.
% \begin{macrocode}
@@ -1585,6 +1591,22 @@ Dickimaw Books\\
% \end{macrocode}
%\end{option}
%
+%\begin{macro}{\@glsxtr@doloadprefix}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newcommand*{\@glsxtr@doloadprefix}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{option}{prefix}
+%\changes{1.42}{2020-02-03}{new}
+% If \pkgopt{prefix}, load \sty{glossaries-prefix} package.
+% \begin{macrocode}
+\@glsxtr@declareoption{prefix}{%
+ \renewcommand*{\@glsxtr@doloadprefix}{\RequirePackage{glossaries-prefix}}}
+% \end{macrocode}
+%\end{option}
+%
%\begin{macro}{\glsxtrNoGlossaryWarning}
%\changes{0.3}{2015-12-02}{new}
%\changes{1.34}{2018-07-29}{added package warning}
@@ -1805,10 +1827,11 @@ Dickimaw Books\\
%\begin{option}{debug}
%\changes{1.21}{2017-11-03}{new}
% Provide extra debug options.
+%\changes{1.42}{2020-02-03}{add support for debug=showaccsupp}
% \begin{macrocode}
\define@choicekey{glossaries-extra.sty}{debug}
[\@glsxtr@debugval\@glsxtr@debugnr]%
- {true,false,showtargets,showwrgloss,all}[true]{%
+ {true,false,showtargets,showwrgloss,all,showaccsupp}[true]{%
\ifcase\@glsxtr@debugnr\relax % true
\glsxtr@dooption{debug=true}%
\renewcommand*{\@glsxtrwrglossmark}{}%
@@ -1821,8 +1844,10 @@ Dickimaw Books\\
\glsxtr@dooption{debug=true}%
\renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}%
\or % all
- \glsxtr@dooption{debug=showtargets}%
+ \glsxtr@dooption{debug=showtargets,debug=showaccsupp}%
\renewcommand*{\@glsxtrwrglossmark}{\glsxtrwrglossmark}%
+ \or % showaccsupp
+ \glsxtr@dooption{debug=showaccsupp}%
\fi
}
% \end{macrocode}
@@ -1845,6 +1870,10 @@ Dickimaw Books\\
% \begin{macrocode}
\@glsxtr@doaccsupp
% \end{macrocode}
+% Load the \sty{glossaries-prefix} package if required.
+% \begin{macrocode}
+\@glsxtr@doloadprefix
+% \end{macrocode}
% Redefine \cs{glspostdescription} if required.
% \begin{macrocode}
\@glsxtr@defpostpunc
@@ -1853,23 +1882,50 @@ Dickimaw Books\\
%\begin{macro}{\glsshowtarget}
%This command was introduced to \sty{glossaries} v4.32 so it may not
%be defined. Therefore it's defined here using \cs{def}.
+%\cs{glsshowtargetouter} was introduced in \sty{glossaries} v4.45,
+%so that also may not be defined.
%\changes{1.21}{2017-11-03}{new}
+%\changes{1.42}{2020-02-03}{added check for \cs{glsshowtargetouter}}
% \begin{macrocode}
-\def\glsshowtarget#1{%
- \glsxtrtitleorpdforheading
- {%
- \ifmmode
- \texttt{\small [#1]}%
- \else
- \ifinner
+\ifdef\glsshowtargetouter
+{
+ \renewcommand*{\glsshowtarget}[1]{%
+ \glsxtrtitleorpdforheading
+ {%
+ \ifmmode
+ \nfss@text{\glsshowtargetfont [#1]}%
+ \else
+ \ifinner
+ {\glsshowtargetfont [#1]}%
+ \else
+ \glsshowtargetouter{#1}%
+ \fi
+ \fi
+ }%
+ {[#1]}%
+ {{\protect\glsshowtargetfont [#1]}}%
+ }
+}
+{
+% \end{macrocode}
+%Old definition.
+% \begin{macrocode}
+ \def\glsshowtarget#1{%
+ \glsxtrtitleorpdforheading
+ {%
+ \ifmmode
\texttt{\small [#1]}%
\else
- \marginpar{\texttt{\small #1}}%
+ \ifinner
+ \texttt{\small [#1]}%
+ \else
+ \marginpar{\texttt{\small #1}}%
+ \fi
\fi
- \fi
- }%
- {[#1]}%
- {\texttt{\small [#1]}}%
+ }%
+ {[#1]}%
+ {\texttt{\small [#1]}}%
+ }
}
% \end{macrocode}
%\end{macro}
@@ -1977,18 +2033,24 @@ Dickimaw Books\\
% \begin{macrocode}
\renewcommand{\glsxtr@dooption}[1]{\setupglossaries{#1}}%
% \end{macrocode}
+% Disable options that can only be used when the package is loaded:
+% \begin{macrocode}
+\disable@keys{glossaries-extra.sty}{accsupp}
+% \end{macrocode}
% Now define the user command:
% \begin{macrocode}
\newcommand*{\glossariesextrasetup}[1]{%
\let\glsxtr@setup@record\relax
\let\@glsxtr@setupshortcuts\relax
\let\@glsxtr@redef@forglsentries\relax
+ \let\@glsxtr@doloadprefix\relax
\setkeys{glossaries-extra.sty}{#1}%
\@glsxtr@abbreviationsdef
\let\@glsxtr@abbreviationsdef\relax
\@glsxtr@setupshortcuts
\glsxtr@setup@record
\@glsxtr@redef@forglsentries
+ \@glsxtr@doloadprefix
}
% \end{macrocode}
%\end{macro}
@@ -2335,7 +2397,7 @@ Dickimaw Books\\
\ifdef\texorpdfstring
{
\newcommand*{\glsxtrentryfmt}[2]{%
- \texorpdfstring{\@glsxtrentryfmt{#1}{#2}}{#2}%
+ \texorpdfstring{\@glsxtrentryfmt{#1}{#2}}{\glsxtrpdfentryfmt{#1}{#2}}%
}
}
{
@@ -2344,20 +2406,36 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrpdfentryfmt}
+%\changes{1.42}{2020-02-03}{new}
+%Use for the PDF bookmarks.
+% \begin{macrocode}
+\newcommand*{\glsxtrpdfentryfmt}[2]{#2}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\@glsxtrentryfmt}
%\changes{1.12}{2017-02-03}{new}
%\changes{1.23}{2017-11-12}{fixed missing label argument}
% \begin{macrocode}
\newrobustcmd*{\@glsxtrentryfmt}[2]{%
- \glsdoifexistsordo{#1}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{added \cs{glslabel} and scope}
+%Locally define \cs{glslabel} in case the helper command needs to access the
+%label.
+% \begin{macrocode}
{%
- \ifglshasfield{\GlsXtrFmtField}{#1}%
+ \def\glslabel{#1}%
+ \glsdoifexistsordo{#1}%
{%
- \csuse{\glscurrentfieldvalue}{#2}%
+ \ifglshasfield{\GlsXtrFmtField}{#1}%
+ {%
+ \csuse{\glscurrentfieldvalue}{#2}%
+ }%
+ {#2}%
}%
{#2}%
}%
- {#2}%
}
% \end{macrocode}
%\end{macro}
@@ -2426,6 +2504,22 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrfieldformatlist}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\glsxtrfieldformatlist}[2]{%
+ \begingroup
+ \def\@dtl@formatlist@itemsep{}%
+ \def\@dtl@formatlist@lastitem{}%
+ \def\@dtl@formatlist@prelastitem{}%
+ \def\@dtl@formatlist@prelastitemsep{}%
+ \forlistcsloop{\@dtl@formatlist@handler}{glo@\glsdetoklabel{#1}@#2}%
+ \@dtl@formatlist@prelastitem\@dtl@formatlist@lastitem
+ \endgroup
+}
+% \end{macrocode}
+%\end{macro}
+%
%List element tests:
%\begin{macro}{\glsxtrfieldifinlist}
%\changes{1.12}{2017-02-03}{new}
@@ -2465,6 +2559,62 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrfieldformatcsvlist}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\glsxtrfieldformatcsvlist}[2]{%
+ \@glsxtrifhasfield{#2}{#1}%
+ {\@dtlformatlist\glscurrentfieldvalue}%
+ {}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\GlsXtrIfFieldValueInCsvList}
+%\changes{1.42}{2020-02-03}{new}
+%\begin{definition}
+%\cs{GlsXtrIfFieldValueInCsvList}\marg{label}\marg{field}\marg{list}\marg{true}\marg{false}
+%\end{definition}
+% \begin{macrocode}
+\newcommand*{\GlsXtrIfFieldValueInCsvList}{%
+ \@ifstar\s@GlsXtrIfFieldValueInCsvList\@GlsXtrIfFieldValueInCsvList
+}
+% \end{macrocode}
+%\end{macro}
+%
+%Note \cs{DTLifinlist} performs one level on the list but not the
+%element.
+%\begin{macro}{\@GlsXtrIfFieldValueInCsvList}
+%\changes{1.42}{2020-02-03}{new}
+%Unstarred version.
+% \begin{macrocode}
+\newcommand*{\@GlsXtrIfFieldValueInCsvList}[5]{%
+ \@glsxtrifhasfield{#2}{#1}%
+ {%
+ \expandafter\DTLifinlist\expandafter{\glscurrentfieldvalue}%
+ {#3}{#4}{#5}%
+ }%
+ {#5}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\s@GlsXtrIfFieldValueInCsvList}
+%\changes{1.42}{2020-02-03}{new}
+%Starred version.
+% \begin{macrocode}
+\newcommand*{\s@GlsXtrIfFieldValueInCsvList}[5]{%
+ \s@glsxtrifhasfield{#2}{#1}%
+ {%
+ \expandafter\DTLifinlist\expandafter{\glscurrentfieldvalue}%
+ {#3}{#4}{#5}%
+ }%
+ {#5}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%
%\begin{macro}{\glsxtrifhasfield}
%\changes{1.19}{2017-09-09}{new}
%A simpler alternative to \cs{ifglshasfield} that doesn't complain
@@ -3119,6 +3269,30 @@ Dickimaw Books\\
% Some of the commands provided by \styfmt{glossaries} are modified
% to take into account new options or to change default behaviour.
%
+% The original \cs{@gls@entry@field} causes a problem for undefined
+% entries when used in section headings or captions. Since entries
+% must be defined with just the base package this isn't a
+% significant issue, but it will cause a problem with \gls{bib2gls}
+% where no entries are defined on the first \LaTeX\ call, so
+% redefine \cs{@gls@entry@field} to use \cs{csuse} instead of
+% \cs{csname}.
+%\begin{macro}{\@gls@entry@field}
+%\changes{1.42}{2020-02-03}{redefined}
+%\begin{definition}
+%\cs{@gls@entry@field}\marg{label}\marg{field}
+%\end{definition}
+%This command was introduced to \sty{glossaries} version 4.03 but
+%older versions are likely to be incompatible with
+%\sty{glossaries-extra}.
+% \begin{macrocode}
+\ifdef\@gls@entry@field
+{
+ \renewcommand*{\@gls@entry@field}[2]{\csuse{glo@\glsdetoklabel{#1}@#2}}
+}
+{}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\ifglsused}
%\begin{definition}
%\cs{ifglsused}\marg{label}\marg{true part}\marg{false part}
@@ -3581,29 +3755,38 @@ Dickimaw Books\\
%\changes{1.21}{2017-11-03}{new}
%\changes{1.22}{2017-11-08}{switched check from regular to short}
%\changes{1.37}{2018-11-30}{removed reference to \cs{glslabel}}
+%\changes{1.42}{2020-02-03}{switched to using \cs{glsfmttext} and
+%\cs{glsfmtname}}
%\styfmt{glossaries} originally defined \cs{glsseeitemformat}
%to use \cs{glsentryname} but in v3.0 this was switched to
%use \cs{glsentrytext} due to problems occurring with the
%\gloskey{name} field being sanitized. Since this is no longer a
-%problem, \styfmt{glossaries-extra} restores the original
+%problem, \styfmt{glossaries-extra} restored the original
%definition as it makes more sense to use the \gloskey{name}
-%in the cross-reference list. This still uses \cs{glsaccesstext}
-%for abbreviations.
+%in the cross-reference list. Unfortunately this doesn't take style
+%changes into account, so as from v1.42, this now uses
+%\cs{glsfmttext} and \cs{glsfmtname} instead. (The \gloskey{text}
+%field is chosen rather than the \gloskey{short} field to allow for
+%the \qt{noshort} styles.)
% \begin{macrocode}
\renewcommand*{\glsseeitemformat}[1]{%
- \ifglshasshort{#1}{\glsaccesstext{#1}}{\glsaccessname{#1}}%
+ \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\glsxtrhiername}
%\changes{1.37}{2018-11-30}{new}
+%\changes{1.42}{2020-02-03}{switched to using \cs{glsfmttext} and
+%\cs{glsfmtname}}
%\begin{definition}
%\cs{glsxtrhiername}\marg{label}
%\end{definition}
%Displays the hierarchical name for the given entry. The
%cross-reference format \cs{glsseeitemformat} may be redefined to
-%use this command to show the hierarchy, if required.
+%use this command to show the hierarchy, if required. This now uses
+%\cs{glsfmttext} and \cs{glsfmtname} instead of \cs{glsaccessshort}
+%and \cs{glsaccessname} to allow for style formatting.
% \begin{macrocode}
\newcommand*{\glsxtrhiername}[1]{%
\glsdoifexists{#1}%
@@ -3611,7 +3794,7 @@ Dickimaw Books\\
\glsxtrifhasfield{parent}{#1}%
{\glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}%
{}%
- \ifglshasshort{#1}{\glsaccessshort{#1}}{\glsaccessname{#1}}%
+ \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}%
}%
}
% \end{macrocode}
@@ -3619,6 +3802,8 @@ Dickimaw Books\\
%
%\begin{macro}{\Glsxtrhiername}
%\changes{1.37}{2018-11-30}{new}
+%\changes{1.42}{2020-02-03}{switched to using \cs{glsfmttext} and
+%\cs{glsfmtname}}
%\begin{definition}
%\cs{Glsxtrhiername}\marg{label}
%\end{definition}
@@ -3630,9 +3815,9 @@ Dickimaw Books\\
\glsxtrifhasfield{parent}{#1}%
{%
\Glsxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep
- \ifglshasshort{#1}{\glsaccessshort{#1}}{\glsaccessname{#1}}%
+ \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}%
}%
- {\ifglshasshort{#1}{\Glsaccessshort{#1}}{\Glsaccessname{#1}}}%
+ {\ifglshasshort{#1}{\Glsfmttext{#1}}{\Glsfmtname{#1}}}%
}%
}
% \end{macrocode}
@@ -3640,10 +3825,14 @@ Dickimaw Books\\
%
%\begin{macro}{\GlsXtrhiername}
%\changes{1.37}{2018-11-30}{new}
+%\changes{1.42}{2020-02-03}{switched to using \cs{Glsfmttext} and
+%\cs{Glsfmtname}}
%\begin{definition}
%\cs{GlsXtrhiername}\marg{label}
%\end{definition}
%As above but converts the first letter of each name to a capital.
+%(Note that this isn't applying title case, just capitalising the
+%start of each hierarchical element.)
% \begin{macrocode}
\newcommand*{\GlsXtrhiername}[1]{%
\glsdoifexists{#1}%
@@ -3651,7 +3840,7 @@ Dickimaw Books\\
\glsxtrifhasfield{parent}{#1}%
{\GlsXtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}%
{}%
- \ifglshasshort{#1}{\Glsaccessshort{#1}}{\Glsaccessname{#1}}%
+ \ifglshasshort{#1}{\Glsfmttext{#1}}{\Glsfmtname{#1}}%
}%
}
% \end{macrocode}
@@ -3659,6 +3848,8 @@ Dickimaw Books\\
%
%\begin{macro}{\GLSxtrhiername}
%\changes{1.37}{2018-11-30}{new}
+%\changes{1.42}{2020-02-03}{switched to using \cs{glsfmttext},
+%\cs{glsfmtname}, \cs{GLSfmttext} and \cs{GLSfmtname}}
%\begin{definition}
%\cs{GLSxtrhiername}\marg{label}
%\end{definition}
@@ -3670,9 +3861,9 @@ Dickimaw Books\\
\glsxtrifhasfield{parent}{#1}%
{%
\GLSxtrhiername{\glscurrentfieldvalue}\glsxtrhiernamesep
- \ifglshasshort{#1}{\glsaccessshort{#1}}{\glsaccessname{#1}}%
+ \ifglshasshort{#1}{\glsfmttext{#1}}{\glsfmtname{#1}}%
}%
- {\ifglshasshort{#1}{\GLSaccessshort{#1}}{\GLSaccessname{#1}}}%
+ {\ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}}%
}%
}
% \end{macrocode}
@@ -3680,6 +3871,8 @@ Dickimaw Books\\
%
%\begin{macro}{\GLSXTRhiername}
%\changes{1.37}{2018-11-30}{new}
+%\changes{1.42}{2020-02-03}{switched to using \cs{GLSfmttext} and
+%\cs{GLSfmtname}}
%\begin{definition}
%\cs{GLSXTRhiername}\marg{label}
%\end{definition}
@@ -3691,7 +3884,7 @@ Dickimaw Books\\
\glsxtrifhasfield{parent}{#1}%
{\GLSXTRhiername{\glscurrentfieldvalue}\glsxtrhiernamesep}%
{}
- \ifglshasshort{#1}{\GLSaccessshort{#1}}{\GLSaccessname{#1}}%
+ \ifglshasshort{#1}{\GLSfmttext{#1}}{\GLSfmtname{#1}}%
}%
}
% \end{macrocode}
@@ -3724,6 +3917,30 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrusealias}
+%\changes{1.42}{2020-02-03}{new}
+%Apply \cs{glsseeformat} to the \gloskey{alias} key if not empty.
+%There's no optional tag to worry about here. The value also isn't a
+%comma-separated list, but use the same interface.
+% \begin{macrocode}
+\newcommand*{\glsxtrusealias}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ \letcs{\@glo@see}{glo@\glsdetoklabel{#1}@alias}%
+ \ifdefempty\@glo@see
+ {}%
+ {%
+% \end{macrocode}
+%Expansion isn't necessary because the value is a single label not a
+%list.
+% \begin{macrocode}
+ \glsxtruseseeformat{\seename}{\@glo@see}%
+ }%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtruseseealsoformat}
%\changes{1.16}{2017-06-15}{new}
%The format used by \cs{glsxtruseseealso}. The argument is the comma-separated
@@ -3749,10 +3966,13 @@ Dickimaw Books\\
%
%\begin{macro}{\seealsoname}
%\changes{1.16}{2017-06-15}{new}
-%In case this command hasn't been defined. (Should be provided by
-%language packages.)
+%\changes{1.42}{2020-02-03}{add check for \cs{alsoname}}
+%In case this command hasn't been defined. Languages packages
+%actually provide \ics{alsoname} so use that if it's defined.
% \begin{macrocode}
-\providecommand{\seealsoname}{see also}
+\ifdef\alsoname
+{\providecommand{\seealsoname}{\alsoname}}
+{\providecommand{\seealsoname}{see also}}
% \end{macrocode}
%\end{macro}
%
@@ -4102,9 +4322,12 @@ Dickimaw Books\\
%sets \pkgopt[false]{docdef} (unless the restricted setting is on)
%and disables the \pkgopt{docdef} key.
%This command isn't allowed with the \pkgopt{record} option.
+%\changes{1.42}{2020-02-03}{added \cs{@domakeglossaries}}
% \begin{macrocode}
\let\glsxtr@orgmakenoidxglossaries\makenoidxglossaries
\renewcommand{\makenoidxglossaries}{%
+ \@domakeglossaries
+ {%
\ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off
{%
\glsxtr@orgmakenoidxglossaries
@@ -4157,6 +4380,7 @@ Dickimaw Books\\
{You may only use \string\makenoidxglossaries\ space with the
record=off option}%
}%
+ }%
}
% \end{macrocode}
%\end{macro}
@@ -6028,13 +6252,36 @@ Dickimaw Books\\
%\end{macro}
%
%Commands like \cs{acrshort} already set \cs{glsifplural}, but they
-%don't set \cs{glsxtrifwasfirstuse} so they need adjusting.
+%don't set \cs{glsxtrifwasfirstuse} so they need adjusting. These
+%commands shouldn't be used with \cs{newabbreviation}, but the
+%redefinitions below allow for users reverting \cs{newacronym} back
+%to its base definition.
+%
+%\begin{macro}{\@@glsxtr@base@acrcmd@warn}
+% Warn user that they need to use to new abbreviation commands.
+% \begin{macrocode}
+\newcommand*{\@@glsxtr@base@acrcmd@warn}[2]{%
+ \GlossariesExtraWarning{Base acronym command \string#1\space
+ should not be used with new abbreviation definitions. Use
+ \string#2\space instead}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtr@base@acrcmd}
+%\changes{1.42}{2020-02-03}{new}
+% Warn user that they need to use to new abbreviation commands.
+% \begin{macrocode}
+\let\@glsxtr@base@acrcmd\@@glsxtr@base@acrcmd@warn
+% \end{macrocode}
+%\end{macro}
%
%\begin{macro}{\@acrshort}
%\changes{0.3}{2015-12-02}{added redefinition}
% No case change.
% \begin{macrocode}
\def\@acrshort#1#2[#3]{%
+ \@glsxtr@base@acrcmd\acrshort\glsxtrshort
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6057,6 +6304,7 @@ Dickimaw Books\\
% First letter uppercase.
% \begin{macrocode}
\def\@Acrshort#1#2[#3]{%
+ \@glsxtr@base@acrcmd\Acrshort\Glsxtrshort
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6079,6 +6327,7 @@ Dickimaw Books\\
% All uppercase.
% \begin{macrocode}
\def\@ACRshort#1#2[#3]{%
+ \@glsxtr@base@acrcmd\ACRshort\GLSxtrshort
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6101,6 +6350,7 @@ Dickimaw Books\\
% No case change.
% \begin{macrocode}
\def\@acrshortpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\acrshortpl\glsxtrshortpl
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6123,6 +6373,7 @@ Dickimaw Books\\
% First letter uppercase.
% \begin{macrocode}
\def\@Acrshortpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\Acrshortpl\Glsxtrshortpl
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6145,6 +6396,7 @@ Dickimaw Books\\
% All uppercase.
% \begin{macrocode}
\def\@ACRshortpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\ACRshortpl\GLSxtrshortpl
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6167,6 +6419,7 @@ Dickimaw Books\\
% No case change.
% \begin{macrocode}
\def\@acrlong#1#2[#3]{%
+ \@glsxtr@base@acrcmd\acrlong\glsxtrlong
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6189,6 +6442,7 @@ Dickimaw Books\\
% First letter uppercase.
% \begin{macrocode}
\def\@Acrlong#1#2[#3]{%
+ \@glsxtr@base@acrcmd\Acrlong\Glsxtrlong
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6211,6 +6465,7 @@ Dickimaw Books\\
% All uppercase.
% \begin{macrocode}
\def\@ACRlong#1#2[#3]{%
+ \@glsxtr@base@acrcmd\ACRlong\GLSxtrlong
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6233,6 +6488,7 @@ Dickimaw Books\\
% No case change.
% \begin{macrocode}
\def\@acrlongpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\acrlongpl\glsxtrlongpl
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6255,6 +6511,7 @@ Dickimaw Books\\
% First letter uppercase.
% \begin{macrocode}
\def\@Acrlongpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\Acrlongpl\Glsxtrlongpl
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6277,6 +6534,7 @@ Dickimaw Books\\
% All uppercase.
% \begin{macrocode}
\def\@ACRlongpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\ACRlongpl\GLSxtrlongpl
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -6294,6 +6552,73 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%The full formats use the internal long and short commands (such as
+%\cs{@acrshort} and \cs{@acrlong}). Therefore they don't need
+%adjustments, but they do need clearer warnings. This means three
+%warnings per use (once for the full command and once each for the
+%short and long commands), but at least this way the most important
+%warning (replace \cs{acrfull} with \cs{glsxtrfull} etc) is present.
+%
+%\begin{macro}{\@acrfull}
+%\changes{1.42}{2020-02-03}{added redefinition}
+% \begin{macrocode}
+\def\@acrfull#1#2[#3]{%
+ \@glsxtr@base@acrcmd\acrfull\glsxtrfull
+ \acrfullfmt{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@Acrfull}
+%\changes{1.42}{2020-02-03}{added redefinition}
+% \begin{macrocode}
+\def\@Acrfull#1#2[#3]{%
+ \@glsxtr@base@acrcmd\Acrfull\Glsxtrfull
+ \Acrfullfmt{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@ACRfull}
+%\changes{1.42}{2020-02-03}{added redefinition}
+% \begin{macrocode}
+\def\@ACRfull#1#2[#3]{%
+ \@glsxtr@base@acrcmd\ACRfull\GLSxtrfull
+ \ACRfullfmt{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@acrfullpl}
+%\changes{1.42}{2020-02-03}{added redefinition}
+% \begin{macrocode}
+\def\@acrfullpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\acrfullpl\glsxtrfullpl
+ \acrfullplfmt{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@Acrfullpl}
+%\changes{1.42}{2020-02-03}{added redefinition}
+% \begin{macrocode}
+\def\@Acrfullpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\Acrfullpl\Glsxtrfullpl
+ \Acrfullplfmt{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@ACRfullpl}
+%\changes{1.42}{2020-02-03}{added redefinition}
+% \begin{macrocode}
+\def\@ACRfullpl#1#2[#3]{%
+ \@glsxtr@base@acrcmd\ACRfullpl\GLSxtrfullpl
+ \ACRfullplfmt{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%Modify \cs{@glsaddkey} so additional keys provided by the user can
%be treated in a similar way.
%\begin{macro}{\@glsaddkey}
@@ -6691,6 +7016,19 @@ Dickimaw Books\\
% \begin{macrocode}
\newcommand*{\GlsXtrSetAltModifier}[2]{%
\let\@gls@hyp@opt\@gls@alt@hyp@opt
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{added check}
+%Check that the supplied character isn't "+" or "*"
+% \begin{macrocode}
+ \ifstrequal{#1}{+}%
+ {\PackageError{glossaries-extra}%
+ {Can't use '#1' as modifier (it's already in use)}{}}%
+ {%
+ \ifstrequal{#1}{*}%
+ {\PackageError{glossaries-extra}%
+ {Can't use '#1' as modifier (it's already in use)}{}}%
+ {}%
+ }%
\def\@gls@alt@hyp@opt@char{#1}%
\def\@gls@alt@hyp@opt@keys{#2}%
\ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off
@@ -6716,11 +7054,10 @@ Dickimaw Books\\
%
%\begin{macro}{\glsnavhyperlink}
%\changes{1.21}{2017-11-03}{patched}
-%Now that \cs{glsdohyperlink} (used by \cs{@glslink}) references
-%\cs{glslabel} it's necessary to patch \cs{glsnavhyperlink} to
-%avoid using it (since \cs{glslabel} won't be defined). This means
-%temporarily redefining \cs{glsdohyperlink} to its original
-%definition.
+%Since \ics{glsnavhyperlink} uses \cs{@glslink}, it's necessary to
+%patch it uses \cs{glsdohyperlink} instead of \cs{glsxtrdohyperlink}.
+%The simplest way to achieve this is to locally let
+%\cs{glsxtrdohyperlink} to \cs{glsdohyperlink}.
%
%This command is provided by \sty{glossary-hypernav} so it may not
%exist.
@@ -6733,7 +7070,7 @@ Dickimaw Books\\
%Scope:
% \begin{macrocode}
{%
- \let\glsdohyperlink\glsxtr@org@dohyperlink
+ \let\glsxtrdohyperlink\glsxtr@org@dohyperlink
\@glslink{\glsnavhyperlinkname{#1}{#2}}{#3}%
}%
}%
@@ -6742,7 +7079,11 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\glsdohyperlink}
+%
+%The redefinition of \cs{glsdohyperlink} has been causing problems
+%so introduce a new command instead.
+%
+%\begin{macro}{\glsxtrdohyperlink}
% Unpleasant complications can occur if the \gloskey{text} or
% \gloskey{first} key etc contains \cs{gls}, particularly if there
% are hyperlinks. To get around this problem, patch
@@ -6755,8 +7096,10 @@ Dickimaw Books\\
% long form commands like \cs{acrlong} and \cs{glsxtrlong} to use
% \cs{glsentrylong}. Added attribute check.
%\changes{0.5.4}{2015-12-15}{added}
+%\changes{1.42}{2020-02-03}{new (was former redefinition of
+%\cs{glsdohyperlink})}
% \begin{macrocode}
-\renewcommand*{\glsdohyperlink}[2]{%
+\newcommand*{\glsxtrdohyperlink}[2]{%
\glshasattribute{\glslabel}{targeturl}%
{%
\glshasattribute{\glslabel}{targetname}%
@@ -6860,10 +7203,12 @@ Dickimaw Books\\
%\changes{1.21}{2017-11-03}{changed to use \cs{def} rather than \cs{let}}
%This now uses \cs{def} rather than \cs{let} to allow for
%redefinitions of \cs{glsdohypertarget} and \cs{glsdohyperlink}.
+%\changes{1.42}{2020-02-03}{switched from \cs{glsdohyperlink} to
+%\cs{glsxtrdohyperlink}}
% \begin{macrocode}
\renewcommand{\glsenablehyper}{%
\KV@glslink@hypertrue
- \def\@glslink{\glsdohyperlink}%
+ \def\@glslink{\glsxtrdohyperlink}%
\def\@glstarget{\glsdohypertarget}%
}
% \end{macrocode}
@@ -6885,13 +7230,15 @@ Dickimaw Books\\
%\begin{macro}{\@glslink}
% Reset \cs{@glslink} with patched versions:
%\changes{1.21}{2017-11-03}{changed \cs{let} to \cs{def}}
+%\changes{1.42}{2020-02-03}{switched from \cs{glsdohyperlink} to
+%\cs{glsxtrdohyperlink}}
% \begin{macrocode}
\ifcsundef{hyperlink}%
{%
\def\@glslink{\glsdonohyperlink}
}%
{%
- \def\@glslink{\glsdohyperlink}
+ \def\@glslink{\glsxtrdohyperlink}
}
% \end{macrocode}
%\end{macro}
@@ -7636,6 +7983,17 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GlsXtrDiscardUnsetBuffering}
+%\changes{1.42}{2020-02-03}{new}
+%Discards pending buffer and restores \cs{glsunset}.
+% \begin{macrocode}
+\newcommand*{\GlsXtrDiscardUnsetBuffering}{%
+ \let\@glsunset\@glsxtr@unset
+ \let\@glsxtr@unset@buffer\@glsxtr@org@unset@buffer
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\GlsXtrForUnsetBufferedList}
%\changes{1.31}{2018-05-09}{new}
%Iterate over labels stored in the current buffer.
@@ -8548,7 +8906,20 @@ Dickimaw Books\\
%\begin{macro}{\SetGenericNewAcronym}
% \begin{macrocode}
\renewcommand*{\SetGenericNewAcronym}{%
+% \end{macrocode}
+% Make sure \cs{RestoreAcronyms} has been used.
+% \begin{macrocode}
+ \ifdefequal\@addtoacronymlists\@glsxtr@org@addtoacronynlists
+ {}%
+ {%
+ \GlossariesWarning{\string\SetGenericNewAcronym\space used
+ without restoring base acronym functions with
+ \string\RestoreAcronyms}%
+ }%
\let\@Gls@entryname\@Gls@acrentryname
+% \end{macrocode}
+%Redefine \cs{newacronym}:
+% \begin{macrocode}
\renewcommand{\newacronym}[4][]{%
\ifdefempty{\@glsacronymlists}%
{%
@@ -8612,6 +8983,75 @@ Dickimaw Books\\
\let\@glsxtr@org@newacronymstyle\newacronymstyle
% \end{macrocode}
%
+%Save the list of acronyms in case they are required.
+%\begin{macro}{\@glsxtr@acronymlists}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\let\@glsxtr@acronymlists\@glsacronymlists
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@glsxtr@org@addtoacronynlists}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\let\@glsxtr@org@addtoacronynlists\@addtoacronymlists
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@glsxtr@org@setacronymlists}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\let\@glsxtr@org@setacronymlists\SetAcronymLists
+% \end{macrocode}
+%\end{macro}
+%
+%Need to provide a replacement for \ics{forallacronyms} since
+%\cs{@glsacronymlists} isn't available.
+%
+%\begin{macro}{\@glsxtr@abbrlists}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newcommand{\@glsxtr@abbrlists}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\forallabbreviationlists}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newcommand*{\forallabbreviationlists}[2]{%
+ \@for#1:=\@glsxtr@abbrlists\do{\ifdefempty{#1}{}{#2}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtr@addabbreviationlist}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newcommand*{\@glsxtr@addabbreviationlist}[1]{%
+ \edef\@glo@type{#1}%
+ \ifdefempty\@glsxtr@abbrlists
+ {\let\@glsxtr@abbrlists\@glo@type}%
+ {%
+ \ifdefequal\@glsxtr@abbrlists\@glo@type
+ {}%
+ {%
+ \expandafter\DTLifinlist\expandafter{\@glo@type}{\@glsxtr@abbrlists}{}%
+ {\eappto\@glsxtr@abbrlists{,\@glo@type}}%
+ }%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\forallacronyms}
+%\changes{1.42}{2020-02-03}{new}
+%Modify to add warning.
+% \begin{macrocode}
+\renewcommand*{\forallacronyms}[2]{%
+ \@glsxtr@base@acrcmd\forallacronyms\forallabbreviationlists
+ \@for#1:=\@glsacronymlists\do{\ifx#1\@empty\else#2\fi}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\MakeAcronymsAbbreviations}
% Make acronyms use the same interface as abbreviations.
% Note that \cs{newacronymstyle} has a different implementation to
@@ -8621,6 +9061,27 @@ Dickimaw Books\\
%\changes{0.5.4}{2015-12-15}{now disables \cs{setacronymstyle}}
% \begin{macrocode}
\newcommand*{\MakeAcronymsAbbreviations}{%
+% \end{macrocode}
+%Undo acronym display style:
+% \begin{macrocode}
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \csgdef{gls@\@gls@type @entryfmt}{\glsentryfmt}%
+ }%
+% \end{macrocode}
+% Save and clear acronym list.
+% \begin{macrocode}
+ \let\@glsxtr@acronymlists\@glsacronymlists
+ \let\@glsacronymlists\@empty
+ \let\@addtoacronymlists\@gobble
+ \let\SetAcronymLists\@gobble
+% \end{macrocode}
+% Warn if \cs{acrshort} etc are used.
+% \begin{macrocode}
+ \let\@glsxtr@base@acrcmd\@@glsxtr@base@acrcmd@warn
+% \end{macrocode}
+% Redefine \cs{newacronym} to use same interface as
+% \cs{newabbreviation}.
+% \begin{macrocode}
\renewcommand*{\newacronym}[4][]{%
\glsxtr@newabbreviation{type=\acronymtype,category=acronym,##1}{##2}{##3}{##4}%
}%
@@ -8629,7 +9090,7 @@ Dickimaw Books\\
\renewcommand*{\setacronymstyle}[1]{%
\PackageError{glossaries-extra}{\string\setacronymstyle{##1}
unavailable.
- Use \string\setabbreviationstyle\space instead.
+ Use \string\setabbreviationstyle[acronym]\space instead.
The original acronym interface can be restored with
\string\RestoreAcronyms}{}%
}%
@@ -8652,6 +9113,26 @@ Dickimaw Books\\
% Restore acronyms to \styfmt{glossaries} interface.
% \begin{macrocode}
\newcommand*{\RestoreAcronyms}{%
+% \end{macrocode}
+% Restore acronym list.
+% \begin{macrocode}
+ \let\@glsacronymlists\@glsxtr@acronymlists
+ \let\@addtoacronymlists\@glsxtr@org@addtoacronynlists
+ \let\SetAcronymLists\@glsxtr@org@setacronymlists
+% \end{macrocode}
+% Suppress warnings if \cs{acrshort} etc are used.
+% \begin{macrocode}
+ \let\@glsxtr@base@acrcmd\@gobbletwo
+% \end{macrocode}
+%Restore acronym display style:
+%\changes{1.42}{2020-02-03}{added display style}
+% \begin{macrocode}
+ \@for\@gls@type:=\@glsacronymlists\do{%
+ \SetDefaultAcronymDisplayStyle{\@gls@type}%
+ }%
+% \end{macrocode}
+%Switch to the generic acronym mechanism.
+% \begin{macrocode}
\SetGenericNewAcronym
\renewcommand{\firstacronymfont}[1]{\acronymfont{##1}}%
\renewcommand{\acronymfont}[1]{##1}%
@@ -8713,6 +9194,16 @@ Dickimaw Books\\
\let\@glsxtr@org@makeglossaries\makeglossaries
% \end{macrocode}
%
+%\begin{macro}{\@domakeglossaries}
+%\changes{1.42}{2020-02-03}{provided definition for \cs{@domakeglossaries}}
+% \sty{glossaries} v4.45 introduced \cs{@domakeglossaries} to
+% provide a way of disabling \cs{makeglossaries}. If it hasn't been
+% defined, define here to do its argument:
+% \begin{macrocode}
+\providecommand{\@domakeglossaries}[1]{#1}
+% \end{macrocode}
+%\end{macro}
+%
% Redefine \cs{makeglossaries} to take an optional argument.
% This should be empty for the usual behaviour (all glossaries
% need processing with an indexing application) or a comma-separated
@@ -8721,211 +9212,221 @@ Dickimaw Books\\
% version shouldn't be used with \pkgopt{record}.
%\begin{macro}{\makeglossaries}
%\changes{1.0}{2016-01-24}{new}
+%\changes{1.42}{2020-02-03}{added \cs{@domakeglossaries}}
% \begin{macrocode}
\renewcommand*{\makeglossaries}[1][]{%
- \@glsxtr@if@record@only
+ \@domakeglossaries
{%
- \PackageError{glossaries-extra}{\string\makeglossaries\space
- not permitted\MessageBreak with record=\@glsxtr@record@setting\space
- package option}%
- {You may only use \string\makeglossaries\space with
- record=off or record=alsoindex options}%
- }%
- {%
- \ifblank{#1}%
- {\@glsxtr@org@makeglossaries}%
+ \@glsxtr@if@record@only
{%
- \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex
- \PackageError{glossaries-extra}{\string\makeglossaries[#1]\space
- not permitted\MessageBreak with record=alsoindex package option}%
- {You may only use the hybrid \string\makeglossaries[...]\space with
- record=off option}%
- \else
+ \PackageError{glossaries-extra}{\string\makeglossaries\space
+ not permitted\MessageBreak with record=\@glsxtr@record@setting\space
+ package option}%
+ {You may only use \string\makeglossaries\space with
+ record=off or record=alsoindex options}%
+ }%
+ {%
+ \ifblank{#1}%
+ {\@glsxtr@org@makeglossaries}%
+ {%
+ \ifx\@glsxtr@record@setting\@glsxtr@record@setting@alsoindex
+ \PackageError{glossaries-extra}{\string\makeglossaries[#1]\space
+ not permitted\MessageBreak with record=alsoindex package option}%
+ {You may only use the hybrid \string\makeglossaries[...]\space with
+ record=off option}%
+ \else
% \end{macrocode}
%\cs{@gls@@automake@immediate} was introduced to \sty{glossaries}
%v4.42 so it may not be defined.
% \begin{macrocode}
- \ifdef\@gls@@automake@immediate{\@gls@@automake@immediate}{}%
- \edef\@glsxtr@reg@glosslist{#1}%
- \ifundef{\glswrite}{\newwrite\glswrite}{}%
- \protected@write\@auxout{}{\string\providecommand
- \string\@glsorder[1]{}}
- \protected@write\@auxout{}{\string\providecommand
- \string\@istfilename[1]{}}
- \protected@write\@auxout{}{\string\@istfilename{\istfilename}}%
- \protected@write\@auxout{}{\string\@glsorder{\glsorder}}
- \protected@write\@auxout{}{\string\glsxtr@makeglossaries{#1}}
- \write\@auxout{\string\providecommand\string\@gls@reference[3]{}}%
+ \ifdef\@gls@@automake@immediate{\@gls@@automake@immediate}{}%
+ \edef\@glsxtr@reg@glosslist{#1}%
+ \ifundef{\glswrite}{\newwrite\glswrite}{}%
+ \protected@write\@auxout{}{\string\providecommand
+ \string\@glsorder[1]{}}
+ \protected@write\@auxout{}{\string\providecommand
+ \string\@istfilename[1]{}}
+ \protected@write\@auxout{}{\string\@istfilename{\istfilename}}%
+ \protected@write\@auxout{}{\string\@glsorder{\glsorder}}
+ \protected@write\@auxout{}{\string\glsxtr@makeglossaries{#1}}
+ \write\@auxout{\string\providecommand\string\@gls@reference[3]{}}%
% \end{macrocode}
% Iterate through each supplied glossary type and activate it.
% \begin{macrocode}
- \@for\@glo@type:=#1\do{%
- \ifdefempty{\@glo@type}{}{\@makeglossary{\@glo@type}}%
- }%
+ \@for\@glo@type:=#1\do{%
+ \ifdefempty{\@glo@type}{}{\@makeglossary{\@glo@type}}%
+ }%
% \end{macrocode}
% New glossaries must be created before \cs{makeglossaries}:
% \begin{macrocode}
- \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}}%
+ \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}}%
+% \end{macrocode}
+% Any subsequence instances of this command should have no effect.
+%\changes{1.42}{2020-02-03}{let \cs{@makeglossary} to \cs{@gobble}
+%instead of \cs{relax}}
+% \begin{macrocode}
+ \let\@makeglossary\@gobble
% \end{macrocode}
-% Any subsequence instances of this command should have no effect
+%\changes{1.42}{2020-02-03}{removed redefinition of \cs{makeglossary}}
+%Version 1.42 removed letting \cs{makeglossary} to \cs{relax}
+%(no kernel redefs may be in effect).
% \begin{macrocode}
- \let\@makeglossary\relax
- \let\makeglossary\relax
- \renewcommand\makeglossaries[1][]{}%
+ \renewcommand\makeglossaries[1][]{}%
% \end{macrocode}
% Disable all commands that have no effect after \cs{makeglossaries}
% \begin{macrocode}
- \@disable@onlypremakeg
+ \@disable@onlypremakeg
% \end{macrocode}
% Allow \gloskey{see} key:
% \begin{macrocode}
- \let\gls@checkseeallowed\relax
+ \let\gls@checkseeallowed\relax
% \end{macrocode}
%Adjust \cs{@do@seeglossary}. This needs to check for the entry's
%existence but don't increment associated counter.
% \begin{macrocode}
- \renewcommand*{\@do@seeglossary}[2]{%
- \glsdoifexists{##1}%
- {%
- \edef\@gls@label{\glsdetoklabel{##1}}%
- \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}%
- \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}%
- {\@glsxtr@org@doseeglossary{##1}{##2}}%
+ \renewcommand*{\@do@seeglossary}[2]{%
+ \glsdoifexists{##1}%
{%
- \@@glsxtrwrglossmark
- \protected@write\@auxout{}{%
- \string\@gls@reference
- {\gls@type}{\@gls@label}{\string\glsseeformat##2{}}%
+ \edef\@gls@label{\glsdetoklabel{##1}}%
+ \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}%
+ \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}%
+ {\@glsxtr@org@doseeglossary{##1}{##2}}%
+ {%
+ \@@glsxtrwrglossmark
+ \protected@write\@auxout{}{%
+ \string\@gls@reference
+ {\gls@type}{\@gls@label}{\string\glsseeformat##2{}}%
+ }%
}%
}%
}%
- }%
% \end{macrocode}
% Adjust \cs{@@do@@wrglossary}
% \begin{macrocode}
- \let\@glsxtr@@do@@wrglossary\@@do@@wrglossary
- \def\@@do@@wrglossary{%
- \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}%
- \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}%
- {\@glsxtr@@do@@wrglossary}%
- {\gls@noidxglossary}%
- }%
+ \let\@glsxtr@@do@@wrglossary\@@do@@wrglossary
+ \def\@@do@@wrglossary{%
+ \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}%
+ \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}%
+ {\@glsxtr@@do@@wrglossary}%
+ {\gls@noidxglossary}%
+ }%
% \end{macrocode}
% Suppress warning about no \cs{makeglossaries}
% \begin{macrocode}
- \let\warn@nomakeglossaries\relax
- \def\warn@noprintglossary{%
- \GlossariesWarningNoLine{No \string\printglossary\space
- or \string\printglossaries\space
- found.^^J(Remove \string\makeglossaries\space if you don't want
- any glossaries.)^^JThis document will not have a glossary}%
- }%
+ \let\warn@nomakeglossaries\relax
+ \def\warn@noprintglossary{%
+ \GlossariesWarningNoLine{No \string\printglossary\space
+ or \string\printglossaries\space
+ found.^^J(Remove \string\makeglossaries\space if you don't want
+ any glossaries.)^^JThis document will not have a glossary}%
+ }%
% \end{macrocode}
% Only warn for glossaries not listed.
% \begin{macrocode}
- \renewcommand{\@gls@noref@warn}[1]{%
- \edef\@gls@type{##1}%
- \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}%
- {%
- \GlossariesExtraWarning{Can't use
- \string\printnoidxglossary[type={\@gls@type}]
- when `\@gls@type' is listed in the optional argument of
- \string\makeglossaries}%
- }%
- {%
- \GlossariesWarning{Empty glossary for
- \string\printnoidxglossary[type={##1}].
- Rerun may be required (or you may have forgotten to use
- commands like \string\gls)}%
+ \renewcommand{\@gls@noref@warn}[1]{%
+ \edef\@gls@type{##1}%
+ \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}%
+ {%
+ \GlossariesExtraWarning{Can't use
+ \string\printnoidxglossary[type={\@gls@type}]
+ when `\@gls@type' is listed in the optional argument of
+ \string\makeglossaries}%
+ }%
+ {%
+ \GlossariesWarning{Empty glossary for
+ \string\printnoidxglossary[type={##1}].
+ Rerun may be required (or you may have forgotten to use
+ commands like \string\gls)}%
+ }%
}%
- }%
% \end{macrocode}
% Adjust display number list to check for type:
% \begin{macrocode}
- \renewcommand*{\glsdisplaynumberlist}[1]{%
- \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}%
- {\@glsxtr@idx@displaynumberlist{##1}}%
- {\@glsxtr@noidx@displaynumberlist{##1}}%
- }%
+ \renewcommand*{\glsdisplaynumberlist}[1]{%
+ \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}%
+ {\@glsxtr@idx@displaynumberlist{##1}}%
+ {\@glsxtr@noidx@displaynumberlist{##1}}%
+ }%
% \end{macrocode}
% Adjust entry list:
% \begin{macrocode}
- \renewcommand*{\glsentrynumberlist}[1]{%
- \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}%
- {\@glsxtr@idx@entrynumberlist{##1}}%
- {\@glsxtr@noidx@entrynumberlist{##1}}%
- }%
+ \renewcommand*{\glsentrynumberlist}[1]{%
+ \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}%
+ {\@glsxtr@idx@entrynumberlist{##1}}%
+ {\@glsxtr@noidx@entrynumberlist{##1}}%
+ }%
% \end{macrocode}
% Adjust number list loop
% \begin{macrocode}
- \renewcommand*{\glsnumberlistloop}[2]{%
- \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}%
- {%
- \PackageError{glossaries-extra}{\string\glsnumberlistloop\space
- not available for glossary `##1'}{}%
+ \renewcommand*{\glsnumberlistloop}[2]{%
+ \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}%
+ {%
+ \PackageError{glossaries-extra}{\string\glsnumberlistloop\space
+ not available for glossary `##1'}{}%
+ }%
+ {\@glsxtr@noidx@numberlistloop{##1}{##2}}%
}%
- {\@glsxtr@noidx@numberlistloop{##1}{##2}}%
- }%
% \end{macrocode}
% Only sanitize sort for normal indexing glossaries.
% \begin{macrocode}
- \renewcommand*{\glsprestandardsort}[3]{%
- \expandafter\DTLifinlist\expandafter{##2}{\@glsxtr@reg@glosslist}%
- {%
- \glsdosanitizesort
- }%
- {%
- \ifglssanitizesort
- \@gls@noidx@sanitizesort
- \else
- \@gls@noidx@nosanitizesort
- \fi
+ \renewcommand*{\glsprestandardsort}[3]{%
+ \expandafter\DTLifinlist\expandafter{##2}{\@glsxtr@reg@glosslist}%
+ {%
+ \glsdosanitizesort
+ }%
+ {%
+ \ifglssanitizesort
+ \@gls@noidx@sanitizesort
+ \else
+ \@gls@noidx@nosanitizesort
+ \fi
+ }%
}%
- }%
% \end{macrocode}
% Unlike \cs{makenoidxglossaries} we can't automatically set
% sanitizesort=false. All entries must be defined in the preamble.
% \begin{macrocode}
- \renewcommand*\new@glossaryentry[2]{%
- \PackageError{glossaries-extra}{Glossary entries must be defined
- in the preamble\MessageBreak when you use the optional argument
- of \string\makeglossaries}{Either move your definitions to the
- preamble or don't use the optional argument of
- \string\makeglossaries}%
- }%
+ \renewcommand*\new@glossaryentry[2]{%
+ \PackageError{glossaries-extra}{Glossary entries must be defined
+ in the preamble\MessageBreak when you use the optional argument
+ of \string\makeglossaries}{Either move your definitions to the
+ preamble or don't use the optional argument of
+ \string\makeglossaries}%
+ }%
% \end{macrocode}
% Only activate sort key for glossaries that aren't listed in
% \verb|#1| (glossary label is stored in \cs{@glo@type} but this
% defaults to \cs{glsdefaulttype} so some expansion is required).
% \begin{macrocode}
- \let\@glo@assign@sortkey\@glsxtr@mixed@assign@sortkey
- \renewcommand*{\@printgloss@setsort}{%
+ \let\@glo@assign@sortkey\@glsxtr@mixed@assign@sortkey
+ \renewcommand*{\@printgloss@setsort}{%
% \end{macrocode}
% Need to extract just the \gloskey[printglossary]{type} value.
% \begin{macrocode}
- \expandafter\@glsxtr@gettype\expandafter,\@glsxtr@printglossopts,%
- type=\glsdefaulttype,\@end@glsxtr@gettype
- \def\@glo@sorttype{\@glo@default@sorttype}%
- }%
+ \expandafter\@glsxtr@gettype\expandafter,\@glsxtr@printglossopts,%
+ type=\glsdefaulttype,\@end@glsxtr@gettype
+ \def\@glo@sorttype{\@glo@default@sorttype}%
+ }%
% \end{macrocode}
% Check \pkgopt{automake} setting:
% \begin{macrocode}
- \ifglsautomake
- \renewcommand*{\@gls@doautomake}{%
- \@for\@gls@type:=\@glsxtr@reg@glosslist\do{%
- \ifdefempty{\@gls@type}{}{\@gls@automake{\@gls@type}}%
+ \ifglsautomake
+ \renewcommand*{\@gls@doautomake}{%
+ \@for\@gls@type:=\@glsxtr@reg@glosslist\do{%
+ \ifdefempty{\@gls@type}{}{\@gls@automake{\@gls@type}}%
+ }%
}%
- }%
- \fi
+ \fi
% \end{macrocode}
% Check the sort setting (\sty{glossaries} v4.30 onwards):
% \begin{macrocode}
- \ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}%
- \fi
+ \ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}%
+ \fi
+ }%
}%
}%
}
@@ -10198,6 +10699,19 @@ Dickimaw Books\\
\let\@gls@doautomake\relax
\fi
\fi
+% \end{macrocode}
+% Check if \pkgopt[letter]{order} has been used by mistake (but not
+% if \pkgopt[alsoindex]{record} has been used).
+%\changes{1.42}{2020-02-03}{added check for order\protect\dequals letter}
+% \begin{macrocode}
+ \@glsxtr@if@record@only
+ {\ifdefstring{\glsorder}{letter}%
+ {\GlossariesExtraWarningNoLine{Package option `order=letter' isn't
+ supported with `record=\@glsxtr@record@setting'. Use `break-at=none'
+ resource option instead}}%
+ {}%
+ }%
+ {}%
}
% \end{macrocode}
%\end{macro}
@@ -12080,12 +12594,24 @@ defined}{}%
% \end{macrocode}
%
% \begin{macrocode}
+ \define@key{glsxtrabbrv}{pluralaccess}{%
+ \def\@gls@pluralaccess{#1}%
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\define@key{glsxtrabbrv}{firstaccess}{%
\def\@gls@firstaccess{#1}%
}
% \end{macrocode}
%
% \begin{macrocode}
+ \define@key{glsxtrabbrv}{firstpluralaccess}{%
+ \def\@gls@firstpluralaccess{#1}%
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\define@key{glsxtrabbrv}{shortaccess}{%
\def\@gls@shortaccess{#1}%
}
@@ -12096,15 +12622,31 @@ defined}{}%
\def\@gls@shortaccesspl{#1}%
}
% \end{macrocode}
+%
+% \begin{macrocode}
+ \define@key{glsxtrabbrv}{longaccess}{%
+ \def\@gls@longaccess{#1}%
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \define@key{glsxtrabbrv}{shortlonglaccess}{%
+ \def\@gls@longaccesspl{#1}%
+ }
+% \end{macrocode}
%\begin{macro}{\@gls@initaccesskeys}
%\changes{1.31}{2018-05-09}{new}
% \begin{macrocode}
\newcommand*{\@gls@initaccesskeys}{%
\def\@gls@nameaccess{}%
\def\@gls@textaccess{}%
+ \def\@gls@pluralaccess{}%
\def\@gls@firstaccess{}%
+ \def\@gls@firstpluralaccess{}%
\def\@gls@shortaccess{}%
\def\@gls@shortaccesspl{}%
+ \def\@gls@longaccess{}%
+ \def\@gls@longaccesspl{}%
}
% \end{macrocode}
%\end{macro}
@@ -12131,40 +12673,124 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%As from \sty{glossaries} v4.45, the replacement text support has
+%been corrected so that the accessibility support for abbreviations
+%use the \qt{E} (expanded value) element. This should actually
+%contain the long form since it's supposed to explain the
+%abbreviation. This is a bit redundant on first use for styles like
+%\abbrstyle{long-short}.
+%
+%\begin{macro}{\glsdefaultshortaccess}
+%\changes{1.42}{2020-02-03}{new}
+%\begin{definition}
+%\cs{glsdefaultshortaccess}\marg{long}\marg{short}
+%\end{definition}
+%This command was only introduced to \sty{glossaries-accsupp} 1.42
+%so it may not be defined.
+% \begin{macrocode}
+ \def\glsdefaultshortaccess#1#2{#1 (#2)}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsxtrassignactualsetup}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+ \newcommand{\glsxtrassignactualsetup}{%
+ \let\@\empty
+ \let\emph\@firstofone
+ \let\textbf\@firstofone
+ \let\textmd\@firstofone
+ \let\textit\@firstofone
+ \let\textsl\@firstofone
+ \let\textsc\@firstofone
+ \let\textrm\@firstofone
+ \let\textsf\@firstofone
+ \let\texttt\@firstofone
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@gls@assign@actual}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+ \ifdef\pdfstringdef
+ {
+ \newcommand{\@gls@assign@actual}{%
+ \begingroup
+ \glsxtrassignactualsetup
+ \pdfstringdef\@gls@actualshort{\glsxtrorgshort}%
+ \pdfstringdef\@gls@actuallong{\glsxtrorglong}%
+ \pdfstringdef\@gls@actualshortpl{\@gls@shortpl}%
+ \pdfstringdef\@gls@actuallongpl{\@gls@longpl}%
+ \protected@edef\@gls@tmp{\endgroup
+ \def\noexpand\@gls@actualshort{\expandonce\@gls@actualshort}%
+ \def\noexpand\@gls@actuallong{\expandonce\@gls@actuallong}%
+ \def\noexpand\@gls@actualshortpl{\expandonce\@gls@actualshortpl}%
+ \def\noexpand\@gls@actuallongpl{\expandonce\@gls@actuallongpl}%
+ }%
+ \@gls@tmp
+ }
+ }
+ {
+ \newcommand{\@gls@assign@actual}{%
+ \begingroup
+ \glsxtrassignactualsetup
+ \protected@edef\@gls@tmp{\endgroup
+ \def\noexpand\@gls@actualshort{\glsxtrorgshort}%
+ \def\noexpand\@gls@actuallong{\glsxtrorglong}%
+ \def\noexpand\@gls@actualshortpl{\@gls@shortpl}%
+ \def\noexpand\@gls@actuallongpl{\@gls@longpl}%
+ }%
+ \@gls@tmp
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%\begin{macro}{\@gls@setup@default@short@access}
%\changes{1.31}{2018-05-09}{new}
+%\changes{1.42}{2020-02-03}{renamed to \cs{@gls@setup@default@access}}
+%Renamed \cs{@gls@setup@default@access} and removed argument since
+%it can be obtained from \cs{glsxtrorgshort}.
+%\end{macro}
+%\begin{macro}{\@gls@setup@default@access}
+%\changes{1.42}{2020-02-03}{added \cs{glsdefaultshortaccess}}
%Assign the default value of the \gloskey{shortaccess} key. The
%argument is the short value passed to \cs{newabbreviation}.
+%The \gloskey{shortaccess} value should explain the abbreviation.
% \begin{macrocode}
- \newcommand{\@gls@setup@default@short@access}[1]{%
+ \newcommand{\@gls@setup@default@access}{%
+ \@gls@assign@actual
+ \ifdefempty\@gls@shortaccess
+ {%
% \end{macrocode}
%Check if the \catattr{accessinsertdots} attribute has been set but
%only if \gloskey{shortaccess} hasn't been set.
% \begin{macrocode}
- \ifdefempty\@gls@shortaccess
- {%
- \glsifcategoryattribute{\glscategorylabel}{accessinsertdots}{true}%
+ \@gls@ifaccessattribute@set{insertdots}%
{%
- \@glsxtr@insertdots\@gls@shortaccess{#1}%
- \eappto\ExtraCustomAbbreviationFields{%
- shortaccess={\expandonce\@gls@shortaccess},}%
+ \expandafter\@glsxtr@insertdots\expandafter\@gls@actualshort\expandafter
+ {\@gls@actualshort}%
}%
{}%
- }%
- {}%
+ \ifdefempty\@gls@longaccess
+ {%
+ \edef\@gls@shortaccess{\glsdefaultshortaccess
+ {\expandonce\@gls@actuallong}{\expandonce\@gls@actualshort}}%
+ }%
+ {%
+ \edef\@gls@shortaccess{\glsdefaultshortaccess
+ {\expandonce\@gls@longaccess}{\expandonce\@gls@actualshort}}%
+ }%
+ \eappto\ExtraCustomAbbreviationFields{shortaccess={\@gls@shortaccess},}%
% \end{macrocode}
-%If the \gloskey{shortaccess} field has been set but
-%\gloskey{shortaccessplural} hasn't been set, assign plural form.
+%If \gloskey{shortaccessplural} hasn't been set, assign plural form.
% \begin{macrocode}
- \ifdefempty\@gls@shortaccess
- {}%
- {%
\ifdefempty\@gls@shortaccesspl
{%
\@gls@ifaccessattribute@set{aposplural}%
{%
\expandafter\def\expandafter\@gls@shortaccesspl\expandafter{%
- \@gls@shortaccess'\abbrvpluralsuffix}%
+ \@gls@actualshort'\glsxtrabbrvpluralsuffix}%
}%
{%
\@gls@ifaccessattribute@set{noshortplural}%
@@ -12172,15 +12798,27 @@ defined}{}%
\let\@gls@shortaccesspl\@gls@shortaccess
}%
{%
- \expandafter\def\expandafter\@gls@shortaccesspl\expandafter{%
- \@gls@shortaccess\abbrvpluralsuffix}%
+ \let\@gls@shortaccesspl\@gls@actualshortpl
}%
}%
- \eappto\ExtraCustomAbbreviationFields{%
- shortpluralaccess={\expandonce\@gls@shortaccesspl},}%
+ \ifdefempty\@gls@longaccesspl
+ {%
+ \edef\@gls@shortaccesspl{\glsdefaultshortaccess
+ {\expandonce\@gls@actuallongpl}{\expandonce\@gls@actualshortpl}}%
+ }%
+ {%
+ \edef\@gls@shortaccesspl{\glsdefaultshortaccess
+ {\expandonce\@gls@longaccesspl}{\expandonce\@gls@actualshort}}%
+ }%
+ \eappto\ExtraCustomAbbreviationFields{shortpluralaccess={\@gls@shortaccesspl},}%
}%
{}%
}%
+ {%
+ \ifdefempty\@gls@shortaccesspl
+ {\let\@gls@shortaccesspl\@gls@shortaccess}%
+ {}%
+ }%
% \end{macrocode}
%If \gloskey{access} key hasn't been set, check if the
%\catattr{nameshortaccess} attribute has been set.
@@ -12189,16 +12827,7 @@ defined}{}%
{%
\glsifcategoryattribute{\glscategorylabel}{nameshortaccess}{true}%
{%
-% \end{macrocode}
-%Do nothing if the \gloskey{shortaccess} key hasn't been set.
-% \begin{macrocode}
- \ifdefempty\@gls@shortaccess
- {}%
- {%
- \eappto\ExtraCustomAbbreviationFields{%
- access={\expandonce\@gls@shortaccess},%
- }%
- }%
+ \eappto\ExtraCustomAbbreviationFields{access={\@gls@shortaccess},}%
}%
{}%
}%
@@ -12211,15 +12840,17 @@ defined}{}%
{%
\glsifcategoryattribute{\glscategorylabel}{textshortaccess}{true}%
{%
-% \end{macrocode}
-%Do nothing if the \gloskey{shortaccess} key hasn't been set.
-% \begin{macrocode}
- \ifdefempty\@gls@shortaccess
- {}%
- {%
- \eappto\ExtraCustomAbbreviationFields{%
- textaccess={\expandonce\@gls@shortaccess},%
- }%
+ \eappto\ExtraCustomAbbreviationFields{textaccess={\@gls@shortaccess},}%
+ }%
+ {}%
+ }%
+ {}%
+ \ifdefempty\@gls@pluralaccess
+ {%
+ \glsifcategoryattribute{\glscategorylabel}{textshortaccess}{true}%
+ {%
+ \eappto\ExtraCustomAbbreviationFields{%
+ pluralaccess={\@gls@shortaccesspl},%
}%
}%
{}%
@@ -12233,15 +12864,17 @@ defined}{}%
{%
\glsifcategoryattribute{\glscategorylabel}{firstshortaccess}{true}%
{%
-% \end{macrocode}
-%Do nothing if the \gloskey{shortaccess} key hasn't been set.
-% \begin{macrocode}
- \ifdefempty\@gls@shortaccess
- {}%
- {%
- \eappto\ExtraCustomAbbreviationFields{%
- firstaccess={\expandonce\@gls@shortaccess},%
- }%
+ \eappto\ExtraCustomAbbreviationFields{firstaccess={\@gls@shortaccess},}%
+ }%
+ {}%
+ }%
+ {}%
+ \ifdefempty\@gls@firstpluralaccess
+ {%
+ \glsifcategoryattribute{\glscategorylabel}{firstshortaccess}{true}%
+ {%
+ \eappto\ExtraCustomAbbreviationFields{%
+ firstpluralaccess={\@gls@shortaccesspl},%
}%
}%
{}%
@@ -12250,6 +12883,100 @@ defined}{}%
}
% \end{macrocode}
%\end{macro}
+%
+% Provide hooks for \cs{setabbreviationstyle} that automatically set
+% the attributes appropriate for the style.
+% If the name is just the short form and the
+% description contains the long form, then it may not be necessary
+% to set \catattr{nameshortaccess} but it would depend on the glossary style.
+%
+% Need to provide \cs{glsxtr\meta{category}\meta{field}accsupp} if
+% not already defined.
+%\begin{macro}{\glsxtrprovideaccsuppcmd}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+ \newcommand*{\glsxtrprovideaccsuppcmd}[2]{%
+ \ifcsundef{glsxtr#1#2accsupp}%
+ {\csdef{glsxtr#1#2accsupp}{\glsshortaccsupp}}%
+ {}%
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsxtrAccSuppAbbrSetNoLongAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%For styles where the name, first and text are just the
+%abbreviation.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetNoLongAttrs}[1]{%
+ \glssetcategoryattribute{#1}{nameshortaccess}{true}%
+ \glssetcategoryattribute{#1}{firstshortaccess}{true}%
+ \glssetcategoryattribute{#1}{textshortaccess}{true}%
+ \glsxtrprovideaccsuppcmd{#1}{name}%
+ \glsxtrprovideaccsuppcmd{#1}{first}%
+ \glsxtrprovideaccsuppcmd{#1}{firstpl}%
+ \glsxtrprovideaccsuppcmd{#1}{text}%
+ \glsxtrprovideaccsuppcmd{#1}{plural}%
+ }
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetFirstLongAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%For styles where the name and text are just the
+%abbreviation. The first form may just be long or may be short and
+%long.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetFirstLongAttrs}[1]{%
+ \glssetcategoryattribute{#1}{nameshortaccess}{true}%
+ \glssetcategoryattribute{#1}{textshortaccess}{true}%
+ \glsxtrprovideaccsuppcmd{#1}{name}%
+ \glsxtrprovideaccsuppcmd{#1}{text}%
+ \glsxtrprovideaccsuppcmd{#1}{plural}%
+ }
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetTextShortAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%For styles where only the text is just the abbreviation. The name
+%and first form may just be long or may be short and
+%long. The name may also be short but followed by the long form in
+%the description.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetTextShortAttrs}[1]{%
+ \glssetcategoryattribute{#1}{textshortaccess}{true}%
+ \glsxtrprovideaccsuppcmd{#1}{text}%
+ \glsxtrprovideaccsuppcmd{#1}{plural}%
+ }
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetNameShortAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%For styles where only the name is just the abbreviation. The
+%first and subsequent form may just be long or may be short and
+%long.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetNameShortAttrs}[1]{%
+ \glssetcategoryattribute{#1}{nameshortaccess}{true}%
+ \glsxtrprovideaccsuppcmd{#1}{name}%
+ }
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetNameLongAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%For styles where the first and text are just the
+%abbreviation. The name may just be long or may be short and
+%long or the name may be short.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetNameLongAttrs}[1]{%
+ \glssetcategoryattribute{#1}{firstshortaccess}{true}%
+ \glssetcategoryattribute{#1}{textshortaccess}{true}%
+ \glsxtrprovideaccsuppcmd{#1}{first}%
+ \glsxtrprovideaccsuppcmd{#1}{firstpl}%
+ \glsxtrprovideaccsuppcmd{#1}{text}%
+ \glsxtrprovideaccsuppcmd{#1}{plural}%
+ }
+% \end{macrocode}
+%\end{macro}
% End of if accsupp part
% \begin{macrocode}
}
@@ -12588,11 +13315,45 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\@gls@setup@default@short@access}
-%\changes{1.31}{2018-05-09}{new}
+%\begin{macro}{\@gls@setup@default@access}
+%This does nothing if there's no accessibility support.
+% \begin{macrocode}
+ \newcommand{\@gls@setup@default@access}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetNoLongAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%This does nothing if there's no accessibility support.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetNoLongAttrs}[1]{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetFirstLongAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%This does nothing if there's no accessibility support.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetFirstLongAttrs}[1]{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetTextShortAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%This does nothing if there's no accessibility support.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetTextShortAttrs}[1]{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetNameShortAttrs}
+%\changes{1.42}{2020-02-03}{new}
+%This does nothing if there's no accessibility support.
+% \begin{macrocode}
+ \newcommand*{\glsxtrAccSuppAbbrSetNameShortAttrs}[1]{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glsxtrAccSuppAbbrSetNameLongAttrs}
+%\changes{1.42}{2020-02-03}{new}
%This does nothing if there's no accessibility support.
% \begin{macrocode}
- \newcommand{\@gls@setup@default@short@access}[1]{}%
+ \newcommand*{\glsxtrAccSuppAbbrSetNameLongAttrs}[1]{}
% \end{macrocode}
% End of else part
% \begin{macrocode}
@@ -13810,14 +14571,59 @@ defined}{}%
%\end{macro}
%
%\begin{macro}{\glossentrysymbol}
-% Redefine to set the abbreviation format and accessibility support.
+% Redefine to set the format and accessibility support. Allow for
+% the possibility of being used in a section heading for standalone
+% entry definitions.
%\changes{0.5.2}{2015-12-08}{added}
% \begin{macrocode}
-\renewcommand*{\glossentrysymbol}[1]{%
+\ifdef\texorpdfstring
+{
+ \renewcommand*{\glossentrysymbol}[1]{%
+ \texorpdfstring{\@glossentrysymbol{#1}}{\glsentrypdfsymbol{#1}}%
+ }
+}
+{
+ \renewcommand*{\glossentrysymbol}[1]{\@glossentrysymbol{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsentrypdfsymbol}
+%\changes{1.4.2}{??}{new}
+%May be redefined to a field that expands to a value that's more
+%suitable for PDF bookmarks.
+% \begin{macrocode}
+\newcommand{\glsentrypdfsymbol}[1]{\glsentrysymbol{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glossentrysymbol}
+%\changes{1.4.2}{??}{new}
+%There are no case-changing attributes as it's less usual for
+%symbols.
+% \begin{macrocode}
+\newrobustcmd*{\@glossentrysymbol}[1]{%
\glsdoifexistsorwarn{#1}%
{%
- \glssetabbrvfmt{\glscategory{#1}}%
- \glsaccesssymbol{#1}%
+ \begingroup
+ \glssetabbrvfmt{\glscategory{#1}}%
+ \glshasattribute{#1}{glosssymbolfont}%
+ {%
+ \edef\@glsxtr@attrval{\glsgetattribute{#1}{glosssymbolfont}}%
+ \ifcsdef{\@glsxtr@attrval}%
+ {%
+ \letcs{\@glsxtr@glosssymbolfont}{\@glsxtr@attrval}%
+ }%
+ {%
+ \GlossariesExtraWarning{Unknown control sequence name
+ `\@glsxtr@attrval' supplied in glosssymbolfont attribute
+ for entry `#1'. Ignoring}%
+ \let\@glsxtr@glosssymbolfont\@firstofone
+ }%
+ }%
+ {\let\@glsxtr@glosssymbolfont\@firstofone}%
+ \@glsxtr@glosssymbolfont{\glsaccesssymbol{#1}}%
+ \endgroup
}%
}
% \end{macrocode}
@@ -14384,21 +15190,11 @@ defined}{}%
% commands for abbreviations that have a similar, but not identical,
% underlying mechanism to acronyms.
%
-% If there's a style for the given category, apply it.
+% If there's a style for the given category, it needs to be applied
+% by \cs{newabbreviation}.
% \begin{macrocode}
\define@key{glsxtrabbrv}{category}{%
\edef\glscategorylabel{#1}%
- \ifcsdef{@glsabbrv@current@#1}%
- {%
-% \end{macrocode}
-% Warning should already have been issued.
-% \begin{macrocode}
- \let\@glsxtr@orgwarndep\GlsXtrWarnDeprecatedAbbrStyle
- \let\GlsXtrWarnDeprecatedAbbrStyle\@gobbletwo
- \glsxtr@applyabbrvstyle{\csname @glsabbrv@current@#1\endcsname}%
- \let\GlsXtrWarnDeprecatedAbbrStyle\@glsxtr@orgwarndep
- }%
- {}%
}
% \end{macrocode}
% Save the short plural form. This may be needed before the entry is
@@ -14547,14 +15343,35 @@ defined}{}%
% \end{macrocode}
% Get the category.
%\changes{0.3}{2015-12-02}{fixed family name in \cs{setkeys}}
+%\changes{1.42}{2020-02-03}{moved apply abbreviation style to after category
+%key has been obtained}
% \begin{macrocode}
\def\glscategorylabel{abbreviation}%
- \glsxtr@applyabbrvstyle{\@glsabbrv@current@abbreviation}%
% \end{macrocode}
% Ignore the shortplural and longplural keys.
% \begin{macrocode}
\setkeys*{glsxtrabbrv}[shortplural,longplural]{#1}%
% \end{macrocode}
+% Set the abbreviation style.
+% \begin{macrocode}
+ \ifcsdef{@glsabbrv@current@\glscategorylabel}%
+ {%
+% \end{macrocode}
+% Warning should already have been issued.
+% \begin{macrocode}
+ \let\@glsxtr@orgwarndep\GlsXtrWarnDeprecatedAbbrStyle
+ \let\GlsXtrWarnDeprecatedAbbrStyle\@gobbletwo
+ \glsxtr@applyabbrvstyle{\csname @glsabbrv@current@\glscategorylabel\endcsname}%
+ \let\GlsXtrWarnDeprecatedAbbrStyle\@glsxtr@orgwarndep
+ }%
+ {%
+% \end{macrocode}
+%If no style has been associated with this category, fallback on the style
+%for the \category{abbreviation} category.
+% \begin{macrocode}
+ \glsxtr@applyabbrvstyle{\@glsabbrv@current@abbreviation}%
+ }%
+% \end{macrocode}
% Set the default long plural
% \begin{macrocode}
\def\@gls@longpl{#4\glspluralsuffix}%
@@ -14589,7 +15406,12 @@ defined}{}%
\glsifcategoryattribute{\glscategorylabel}{insertdots}{true}%
{%
\@glsxtr@insertdots\@gls@short{#3}%
- \expandafter\glsshorttok\expandafter{\@gls@short\spacefactor1000 \relax}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{relax} and updated \cs{@gls@short}
+%instead of \cs{glsshorttok}}
+%\changes{1.42}{2020-02-03}{replaced explicit \cs{spacefactor} with \cs{@}}
+% \begin{macrocode}
+ \appto\@gls@short{\@}%
}%
{\def\@gls@short{#3}}%
}%
@@ -14630,6 +15452,11 @@ defined}{}%
% \begin{macrocode}
\setkeys*{glsxtrabbrv}[category]{#1}%
% \end{macrocode}
+% Save in case required.
+% \begin{macrocode}
+ \let\@gls@org@longpl\@gls@longpl
+ \let\@gls@org@shortpl\@gls@shortpl
+% \end{macrocode}
% Has the plural been explicitly set?
% \begin{macrocode}
\ifx\@gls@default@longpl\@gls@longpl
@@ -14654,7 +15481,7 @@ defined}{}%
% Hook for accessibility support (does nothing if
% \sty{glossaries-accsupp} hasn't been loaded).
% \begin{macrocode}
- \@gls@setup@default@short@access{#3}%
+ \@gls@setup@default@access
% \end{macrocode}
% Do any extra setup provided by hook:
% \begin{macrocode}
@@ -14686,6 +15513,10 @@ defined}{}%
}%
}%
\@do@newglossaryentry
+% \end{macrocode}
+% Obtain the type and add it to the list of abbreviations.
+% \begin{macrocode}
+ \@glsxtr@addabbreviationlist{\glsentrytype{\the\glslabeltok}}%
\GlsXtrPostNewAbbreviation
}
% \end{macrocode}
@@ -14855,6 +15686,7 @@ defined}{}%
%
%\begin{macro}{\glsabbrvfont}
% Font changing command used for the abbreviation on subsequent use.
+% This is redefined by the abbreviation styles, as appropriate.
% \begin{macrocode}
\newcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{#1}}
% \end{macrocode}
@@ -15881,6 +16713,7 @@ defined}{}%
% Set up the style for the given category.
% \begin{macrocode}
\csdef{@glsabbrv@current@#1}{#2}%
+ \edef\glscategorylabel{#1}%
\glsxtr@applyabbrvstyle{#2}%
}%
}%
@@ -16086,6 +16919,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-short}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -16097,8 +16937,10 @@ defined}{}%
\glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
plural={\protect\glsabbrvfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvfont{\the\glsshorttok}},%
description={\the\glslongtok}}%
% \end{macrocode}
%\changes{0.5.1}{2015-12-07}{switch off regular attribute if set}
@@ -16181,6 +17023,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-short-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},%
@@ -16232,6 +17081,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-long}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
@@ -16244,7 +17100,9 @@ defined}{}%
\glsxtrparen{\protect\glsfirstlongfont{\the\glslongpltok}}},%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
+ text={\protect\glsabbrvfont{\the\glsshorttok}},%
plural={\protect\glsabbrvfont{\the\glsshortpltok}}}%
% \end{macrocode}
%\changes{0.5.1}{2015-12-07}{switch off regular attribute if set}
@@ -16321,6 +17179,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-long-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},
sort={\glsxtrshortlongdescsort},
@@ -16403,6 +17268,15 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{footnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled. (Add
+% \catattr{firstshortaccess} since long form is hidden in a
+% footnote on first use.)
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
@@ -16419,7 +17293,9 @@ defined}{}%
{\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
+ text={\protect\glsabbrvfont{\the\glsshorttok}},%
plural={\protect\glsabbrvfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Switch off hyperlinks on first use to prevent nested hyperlinks,
@@ -16507,8 +17383,77 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{macro}{\glsxtrfootnotedescname}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newcommand*{\glsxtrfootnotedescname}{%
+ \protect\glsabbrvfont{\the\glsshorttok}%
+ \protect\glsxtrfullsep{\the\glslabeltok}%
+ \protect\glsxtrparen{\protect\glslongfont{\the\glslongtok}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsxtrfootnotedescsort}
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newcommand*{\glsxtrfootnotedescsort}{\the\glsshorttok}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{abbrvstyle}{short-footnote-desc}
+% Like \abbrstyle{short-footnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-footnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvfont{\the\glsshorttok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},%
+ firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Switch off hyperlinks on first use to prevent nested hyperlinks,
+% and unset the \catattr{regular} attribute if it has been set.
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{footnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
+%\begin{abbrvstyle}{footnote-desc}
+%\changes{1.42}{2020-02-03}{new}
+%Synonym.
+% \begin{macrocode}
+\letabbreviationstyle{footnote-desc}{short-footnote-desc}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\begin{abbrvstyle}{postfootnote}
-% Similar to the above but the footnote is placed afterwards,
+% Similar to \abbrstyle{footnote} but the footnote is placed afterwards,
% outside the link. This avoids nested links and can also move the
% footnote marker after any following punctuation mark.
% Pre v1.07 included \cs{footnote} in the first keys, which was
@@ -16517,6 +17462,15 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{postfootnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled. (Add
+% \catattr{firstshortaccess} since long form is hidden in a
+% footnote on first use.)
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
@@ -16525,7 +17479,9 @@ defined}{}%
firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}},%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
+ text={\protect\glsabbrvfont{\the\glsshorttok}},%
plural={\protect\glsabbrvfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Make this category insert a footnote after the link if this was
@@ -16628,6 +17584,77 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-postfootnote-desc}
+%\changes{1.42}{2020-02-03}{new}
+% Like \abbrstyle{short-postfootnote} but with user supplied description.
+% \begin{macrocode}
+\newabbreviationstyle{short-postfootnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvfont{\the\glsshorttok}},%
+ firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}},%
+% \end{macrocode}
+%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
+%\changes{1.42}{2020-02-03}{added missing text key}
+% \begin{macrocode}
+ text={\protect\glsabbrvfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Make this category insert a footnote after the link if this was
+% the first use, and
+% unset the \catattr{regular} attribute if it has been set.
+%\changes{0.5.1}{2015-12-07}{switch off regular attribute if set}
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \csdef{glsxtrpostlink\glscategorylabel}{%
+ \glsxtrifwasfirstuse
+ {%
+% \end{macrocode}
+% Needs the specific font command here as the style may have been
+% lost by the time the footnote occurs.
+% \begin{macrocode}
+ \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}%
+ {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}%
+ }%
+ {}%
+ }%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+% \end{macrocode}
+%\changes{1.02}{2016-04-25}{added redef of \cs{glsxtrsetupfulldefs}}
+% The footnote needs to be suppressed in the inline form, so
+% \cs{glsxtrfull} must set the first use switch off.
+% \begin{macrocode}
+ \renewcommand*{\glsxtrsetupfulldefs}{%
+ \let\glsxtrifwasfirstuse\@secondoftwo
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{postfootnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
+%\begin{abbrvstyle}{postfootnote-desc}
+%\changes{1.42}{?}{new}
+% \begin{macrocode}
+\letabbreviationstyle{postfootnote-desc}{short-postfootnote-desc}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\begin{macro}{\glsxtrshortnolongname}
%\changes{1.25}{2017-11-24}{new}
% \begin{macrocode}
@@ -16647,6 +17674,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortnolongname},
sort={\the\glsshorttok},
@@ -16781,6 +17815,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortdescname},
sort={\the\glsshorttok},
@@ -16960,7 +18001,7 @@ defined}{}%
% but the long and short form can be displayed with the \qt{full}
% commands that use the inline format. The predefined glossary styles
% won't show the short form. The user must supply a description for
-% this style.
+% this style. The accessibility attributes don't need setting here.
% \begin{macrocode}
\newabbreviationstyle{long-desc}%
{%
@@ -17102,6 +18143,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongnoshortname},
sort={\the\glsshorttok},
@@ -17185,15 +18233,26 @@ defined}{}%
% and for the default short form suffix:
%\begin{macro}{\glsxtrscsuffix}
%\changes{0.5}{2015-12-07}{new}
+%\changes{1.42}{2020-02-03}{added \cs{protect}}
+%\cs{protect} needs to come inside \cs{\glsxtrscsuffix} to avoid
+%interfering with all caps.
% \begin{macrocode}
-\newcommand*{\glsxtrscsuffix}{\glstextup{\glsxtrabbrvpluralsuffix}}
+\newcommand*{\glsxtrscsuffix}{\protect\glstextup{\glsxtrabbrvpluralsuffix}}
% \end{macrocode}
%\end{macro}
%
%\begin{abbrvstyle}{long-short-sc}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{long-short-sc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -17203,6 +18262,7 @@ defined}{}%
firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstabbrvscfont{\the\glsshortpltok}}},%
+ text={\protect\glsabbrvscfont{\the\glsshorttok}},%
plural={\protect\glsabbrvscfont{\the\glsshortpltok}},%
description={\the\glslongtok}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
@@ -17216,8 +18276,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
% \end{macrocode}
@@ -17252,11 +18313,19 @@ defined}{}%
}%
}
% \end{macrocode}
+%\end{abbrvstyle}
%
%\begin{abbrvstyle}{long-short-sc-desc}
% \begin{macrocode}
\newabbreviationstyle{long-short-sc-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},%
@@ -17288,11 +18357,21 @@ defined}{}%
\GlsXtrUseAbbrStyleFmts{long-short-sc}%
}
% \end{macrocode}
+%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-sc-long}
% Now the short (long) version
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-sc-long}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
@@ -17303,6 +18382,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvscfont{\the\glsshorttok}},%
plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
@@ -17318,8 +18398,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -17354,10 +18435,18 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-sc-long-desc}
% As before but user provides description
% \begin{macrocode}
\newabbreviationstyle{short-sc-long-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},
sort={\glsxtrshortlongdescsort},
@@ -17394,6 +18483,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-sc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortnolongname},
sort={\the\glsshorttok},
@@ -17408,8 +18504,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -17482,6 +18579,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-sc-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortdescname},
sort={\the\glsshorttok},
@@ -17495,8 +18599,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -17600,7 +18705,7 @@ defined}{}%
%\changes{1.04}{2016-05-02}{renamed from \qt{long-sc}}
% The smallcaps font will only be used if
% the short form is explicitly invoked through commands like
-% \cs{glsxtrshort}.
+% \cs{glsxtrshort}. No accessibility attributes needed here.
% \begin{macrocode}
\newabbreviationstyle{long-noshort-sc}%
{%
@@ -17619,8 +18724,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -17712,8 +18818,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -17795,9 +18902,17 @@ defined}{}%
%\begin{abbrvstyle}{short-sc-footnote}
%\changes{0.5}{2015-12-07}{new}
%\changes{1.04}{2016-05-02}{renamed from \qt{footnote-sc}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-sc-footnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
@@ -17808,6 +18923,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}%
\protect\glsxtrabbrvfootnote{\the\glslabeltok}%
{\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvscfont{\the\glsshorttok}},%
plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Switch off hyperlinks on first use to prevent nested hyperlinks,
@@ -17826,8 +18942,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}%
@@ -17894,18 +19011,71 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-sc-footnote-desc}
+% Like \abbrstyle{short-sc-footnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-sc-footnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvscfont{\the\glsshorttok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},%
+ firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvscfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Switch off hyperlinks on first use to prevent nested hyperlinks,
+% and unset the \catattr{regular} attribute if it has been set.
+%\changes{0.5.1}{2015-12-07}{switch off regular attribute if set}
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{short-sc-footnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\begin{abbrvstyle}{short-sc-postfootnote}
%\changes{0.5}{2015-12-07}{new}
%\changes{1.04}{2016-05-02}{renamed from \qt{postfootnote-sc}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-sc-postfootnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
description={\the\glslongtok},%
first={\protect\glsfirstabbrvscfont{\the\glsshorttok}},%
firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvscfont{\the\glsshorttok}},%
plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Make this category insert a footnote after the link if this was
@@ -17942,8 +19112,9 @@ defined}{}%
{%
% \end{macrocode}
% Use smallcaps and adjust the plural suffix to revert to upright.
+%\changes{1.42}{2020-02-03}{moved \cs{protect} inside \cs{glsxtrscsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrscsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvscfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvscfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}%
@@ -18002,6 +19173,64 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-sc-postfootnote-desc}
+% Like \abbrstyle{short-sc-footnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-sc-postfootnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvscfont{\the\glsshorttok}},%
+ firstplural={\protect\glsfirstabbrvscfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvscfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvscfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Make this category insert a footnote after the link if this was
+% the first use, and
+% unset the \catattr{regular} attribute if it has been set.
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \csdef{glsxtrpostlink\glscategorylabel}{%
+ \glsxtrifwasfirstuse
+ {%
+% \end{macrocode}
+% Needs the specific font command here as the style may have been
+% lost by the time the footnote occurs.
+% \begin{macrocode}
+ \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}%
+ {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}%
+ }%
+ {}%
+ }%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+% \end{macrocode}
+% The footnote needs to be suppressed in the inline form, so
+% \cs{glsxtrfull} must set the first use switch off.
+% \begin{macrocode}
+ \renewcommand*{\glsxtrsetupfulldefs}{%
+ \let\glsxtrifwasfirstuse\@secondoftwo
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{short-sc-postfootnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\subsection{Predefined Styles (Fake Small Capitals)}
% These styles require the \sty{relsize} package, which must be
% loaded by the user. These styles all use:
@@ -18043,9 +19272,17 @@ defined}{}%
%
%\begin{abbrvstyle}{long-short-sm}
%\changes{0.5}{2015-12-07}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{long-short-sm}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -18055,6 +19292,7 @@ defined}{}%
firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstabbrvsmfont{\the\glsshortpltok}}},%
+ text={\protect\glsabbrvsmfont{\the\glsshorttok}},%
plural={\protect\glsabbrvsmfont{\the\glsshortpltok}},%
description={\the\glslongtok}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
@@ -18066,9 +19304,12 @@ defined}{}%
}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
% \end{macrocode}
% Use the default long fonts.
% \begin{macrocode}
@@ -18108,6 +19349,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-short-sm-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},%
@@ -18143,9 +19391,17 @@ defined}{}%
%\begin{abbrvstyle}{short-sm-long}
% Now the short (long) version
%\changes{0.5}{2015-12-07}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-sm-long}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
@@ -18156,6 +19412,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvsmfont{\the\glsshorttok}},%
plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
@@ -18169,9 +19426,12 @@ defined}{}%
}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}%
% \end{macrocode}
@@ -18210,6 +19470,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-sm-long-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},
sort={\glsxtrshortlongdescsort},
@@ -18247,6 +19514,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-sm}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortnolongname},
sort={\the\glsshorttok},
@@ -18259,9 +19533,12 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}%
% \end{macrocode}
@@ -18333,6 +19610,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-sm-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortdescname},
sort={\the\glsshorttok},
@@ -18344,9 +19628,12 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}%
% \end{macrocode}
@@ -18453,6 +19740,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-noshort-sm}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongnoshortname},
sort={\the\glsshorttok},
@@ -18466,9 +19760,12 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}%
% \end{macrocode}
@@ -18557,9 +19854,12 @@ defined}{}%
\GlsXtrUseAbbrStyleSetup{long-noshort-desc}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}%
% \end{macrocode}
@@ -18639,9 +19939,17 @@ defined}{}%
%\begin{abbrvstyle}{short-sm-footnote}
%\changes{0.5}{2015-12-07}{new}
%\changes{1.04}{2016-05-02}{renamed from \qt{footnote-sm}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-sm-footnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
@@ -18652,6 +19960,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}%
\protect\glsxtrabbrvfootnote{\the\glslabeltok}%
{\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvsmfont{\the\glsshorttok}},%
plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Switch off hyperlinks on first use to prevent nested hyperlinks,
@@ -18668,9 +19977,12 @@ defined}{}%
}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}%
% \end{macrocode}
@@ -18735,18 +20047,71 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-sm-footnote-desc}
+% Like \abbrstyle{short-footnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-sm-footnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},%
+ firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvsmfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Switch off hyperlinks on first use to prevent nested hyperlinks,
+% and unset the \catattr{regular} attribute if it has been set.
+%\changes{0.5.1}{2015-12-07}{switch off regular attribute if set}
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{short-sm-footnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\begin{abbrvstyle}{short-sm-postfootnote}
%\changes{0.5}{2015-12-07}{new}
%\changes{1.04}{2016-05-02}{renamed from \qt{postfootnote-sm}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-sm-postfootnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
description={\the\glslongtok},%
first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}},%
firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvsmfont{\the\glsshorttok}},%
plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Make this category insert a footnote after the link if this was
@@ -18781,9 +20146,12 @@ defined}{}%
}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtrsmsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvsmfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvsmfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtrsmsuffix}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}%
\renewcommand*{\glslongfont}[1]{\glslongfootnotefont{##1}}%
% \end{macrocode}
@@ -18840,6 +20208,64 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-sm-postfootnote-desc}
+% Like \abbrstyle{short-sm-postfootnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-sm-postfootnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvsmfont{\the\glsshorttok}},%
+ firstplural={\protect\glsfirstabbrvsmfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvsmfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvsmfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Make this category insert a footnote after the link if this was
+% the first use, and
+% unset the \catattr{regular} attribute if it has been set.
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \csdef{glsxtrpostlink\glscategorylabel}{%
+ \glsxtrifwasfirstuse
+ {%
+% \end{macrocode}
+% Needs the specific font command here as the style may have been
+% lost by the time the footnote occurs.
+% \begin{macrocode}
+ \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}%
+ {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}%
+ }%
+ {}%
+ }%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+% \end{macrocode}
+% The footnote needs to be suppressed in the inline form, so
+% \cs{glsxtrfull} must set the first use switch off.
+% \begin{macrocode}
+ \renewcommand*{\glsxtrsetupfulldefs}{%
+ \let\glsxtrifwasfirstuse\@secondoftwo
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{short-sm-postfootnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\subsection{Predefined Styles (Emphasized)}
% These styles use \ics{emph} for the short form.
%\begin{macro}{\glsabbrvemfont}
@@ -18880,9 +20306,17 @@ defined}{}%
%\begin{abbrvstyle}{long-short-em}
%\changes{0.5}{2015-12-07}{new}
% The long form is just set in the default long font.
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{long-short-em}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -18892,6 +20326,7 @@ defined}{}%
firstplural={\protect\glsfirstlongdefaultfont{\the\glslongpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstabbrvemfont{\the\glsshortpltok}}},%
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
plural={\protect\glsabbrvemfont{\the\glsshortpltok}},%
description={\the\glslongtok}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
@@ -18903,9 +20338,12 @@ defined}{}%
}%
}%
{%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
% \end{macrocode}
% Use the default long fonts.
% \begin{macrocode}
@@ -18945,6 +20383,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-short-em-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},%
@@ -18979,10 +20424,16 @@ defined}{}%
%
%\begin{abbrvstyle}{long-em-short-em}
%\changes{1.04}{2016-05-02}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{long-em-short-em}%
{%
% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
%\cs{glslongemfont} is used in the description since \cs{glsdesc}
%doesn't set the style.
% \begin{macrocode}
@@ -18998,6 +20449,7 @@ defined}{}%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
plural={\protect\glsabbrvemfont{\the\glsshortpltok}},%
description={\protect\glslongemfont{\the\glslongtok}}}%
% \end{macrocode}
@@ -19012,7 +20464,10 @@ defined}{}%
}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}%
@@ -19051,6 +20506,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-em-short-em-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},%
@@ -19083,9 +20545,17 @@ defined}{}%
%\begin{abbrvstyle}{short-em-long}
% Now the short (long) version
%\changes{0.5}{2015-12-07}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-em-long}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
@@ -19096,6 +20566,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstlongdefaultfont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
@@ -19112,8 +20583,9 @@ defined}{}%
% \end{macrocode}
% Mostly as short-long style:
%\changes{1.05}{2016-06-10}{fixed incorrect font used by long form}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
% \begin{macrocode}
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -19154,6 +20626,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-em-long-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},
sort={\glsxtrshortlongdescsort},
@@ -19185,10 +20664,16 @@ defined}{}%
%
%\begin{abbrvstyle}{short-em-long-em}
%\changes{1.04}{2016-05-02}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-em-long-em}%
{%
% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
%\cs{glslongemfont} is used in the description since \cs{glsdesc}
%doesn't set the style.
% \begin{macrocode}
@@ -19205,6 +20690,7 @@ defined}{}%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
@@ -19218,7 +20704,10 @@ defined}{}%
}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}%
@@ -19258,6 +20747,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-em-long-em-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},%
sort={\glsxtrshortlongdescsort},%
@@ -19292,6 +20788,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-em}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortnolongname},
sort={\the\glsshorttok},
@@ -19304,7 +20807,10 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -19378,6 +20884,16 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-em-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled. The default name includes
+% the long form but \cs{glsxtrshortdescname} could be modified to
+% omit the long form, so include the \category{nameshortaccess}
+% attribute.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortdescname},
sort={\the\glsshorttok},
@@ -19389,7 +20905,10 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -19497,6 +21016,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-noshort-em}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongnoshortname},
sort={\the\glsshorttok},
@@ -19510,7 +21036,10 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -19596,6 +21125,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-em-noshort-em}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongnoshortname},
sort={\the\glsshorttok},
@@ -19609,7 +21145,10 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}%
@@ -19688,6 +21227,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-em-noshort-em-noreg}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\GlsXtrUseAbbrStyleSetup{long-em-noshort-em}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
@@ -19718,7 +21264,10 @@ defined}{}%
\GlsXtrUseAbbrStyleSetup{long-noshort-desc}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%
@@ -19800,7 +21349,8 @@ defined}{}%
%\begin{abbrvstyle}{long-em-noshort-em-desc}
%\changes{1.04}{2016-05-02}{new}
% The short form is explicitly invoked through commands like
-% \cs{glsxtrshort}. The long form is emphasized.
+% \cs{glsxtrshort}. The long form is emphasized. No accessibility
+% attributes need to be set.
% \begin{macrocode}
\newabbreviationstyle{long-em-noshort-em-desc}%
{%
@@ -19816,7 +21366,10 @@ defined}{}%
\glssetattribute{\the\glslabeltok}{regular}{true}}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}%
@@ -19916,9 +21469,17 @@ defined}{}%
%\begin{abbrvstyle}{short-em-footnote}
%\changes{0.5}{2015-12-07}{new}
%\changes{1.04}{2015-04-30}{renamed from \qt{footnote-em}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-em-footnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
@@ -19929,6 +21490,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}%
\protect\glsxtrabbrvfootnote{\the\glslabeltok}%
{\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Switch off hyperlinks on first use to prevent nested hyperlinks,
@@ -19945,7 +21507,10 @@ defined}{}%
}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}%
@@ -20012,18 +21577,71 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-em-footnote-desc}
+% Like \abbrstyle{short-em-footnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-em-footnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvemfont{\the\glsshorttok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongtok}}},%
+ firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}%
+ \protect\glsxtrabbrvfootnote{\the\glslabeltok}%
+ {\protect\glsfirstlongfootnotefont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Switch off hyperlinks on first use to prevent nested hyperlinks,
+% and unset the \catattr{regular} attribute if it has been set.
+%\changes{0.5.1}{2015-12-07}{switch off regular attribute if set}
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{short-em-footnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\begin{abbrvstyle}{short-em-postfootnote}
%\changes{0.5}{2015-12-07}{new}
%\changes{1.04}{2016-05-02}{renamed from \qt{postfootnote-em}}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-em-postfootnote}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNoLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrfootnotename},
sort={\the\glsshorttok},
description={\the\glslongtok},%
first={\protect\glsfirstabbrvemfont{\the\glsshorttok}},%
firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Make this category insert a footnote after the link if this was
@@ -20058,7 +21676,10 @@ defined}{}%
}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtremsuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtremsuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtremsuffix}%
\renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongfootnotefont{##1}}%
@@ -20117,6 +21738,64 @@ defined}{}%
% \end{macrocode}
%\end{abbrvstyle}
%
+%\begin{abbrvstyle}{short-em-postfootnote-desc}
+% Like \abbrstyle{short-em-postfootnote} but with user supplied description.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newabbreviationstyle{short-em-postfootnote-desc}%
+{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+ \renewcommand*{\CustomAbbreviationFields}{%
+ name={\glsxtrfootnotedescname},
+ sort={\glsxtrfootnotedescsort},
+ first={\protect\glsfirstabbrvemfont{\the\glsshorttok}},%
+ firstplural={\protect\glsfirstabbrvemfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvemfont{\the\glsshorttok}},%
+ plural={\protect\glsabbrvemfont{\the\glsshortpltok}}}%
+% \end{macrocode}
+% Make this category insert a footnote after the link if this was
+% the first use, and
+% unset the \catattr{regular} attribute if it has been set.
+% \begin{macrocode}
+ \renewcommand*{\GlsXtrPostNewAbbreviation}{%
+ \csdef{glsxtrpostlink\glscategorylabel}{%
+ \glsxtrifwasfirstuse
+ {%
+% \end{macrocode}
+% Needs the specific font command here as the style may have been
+% lost by the time the footnote occurs.
+% \begin{macrocode}
+ \glsxtrdopostpunc{\protect\glsxtrabbrvfootnote{\glslabel}%
+ {\glsfirstlongfootnotefont{\glsentrylong{\glslabel}}}}%
+ }%
+ {}%
+ }%
+ \glshasattribute{\the\glslabeltok}{regular}%
+ {%
+ \glssetattribute{\the\glslabeltok}{regular}{false}%
+ }%
+ {}%
+ }%
+% \end{macrocode}
+% The footnote needs to be suppressed in the inline form, so
+% \cs{glsxtrfull} must set the first use switch off.
+% \begin{macrocode}
+ \renewcommand*{\glsxtrsetupfulldefs}{%
+ \let\glsxtrifwasfirstuse\@secondoftwo
+ }%
+}%
+{%
+ \GlsXtrUseAbbrStyleFmts{short-em-postfootnote}%
+}
+% \end{macrocode}
+%\end{abbrvstyle}
+%
%\subsection{Predefined Styles (User Parentheses Hook)}
% These styles allow the user to adjust the parenthetical forms.
% These styles all test for the existence of the
@@ -20204,9 +21883,17 @@ defined}{}%
%
%\begin{abbrvstyle}{long-short-user}
%\changes{1.04}{2016-05-02}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{long-short-user}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -20219,6 +21906,7 @@ defined}{}%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
+ text={\protect\glsabbrvuserfont{\the\glsshorttok}},%
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},%
description={\protect\glsuserdescription{\the\glslongtok}%
{\the\glslabeltok}}}%
@@ -20273,11 +21961,19 @@ defined}{}%
%
%\begin{abbrvstyle}{long-postshort-user}
%\changes{1.12}{2017-02-03}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%Like \abbrstyle{long-short-user} but defers the parenthetical
%matter to after the link.
% \begin{macrocode}
\newabbreviationstyle{long-postshort-user}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -20286,6 +21982,7 @@ defined}{}%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
+ text={\protect\glsabbrvuserfont{\the\glsshorttok}},%
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},%
description={\protect\glsuserdescription{\the\glslongtok}%
{\the\glslabeltok}}}%
@@ -20380,6 +22077,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-postshort-user-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortuserdescname},
sort={\the\glslongtok},
@@ -20416,11 +22120,19 @@ defined}{}%
%
%\begin{abbrvstyle}{short-postlong-user}
%\changes{1.12}{2017-02-03}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%Like \abbrstyle{short-long-user} but defers the parenthetical
%matter to after the link.
% \begin{macrocode}
\newabbreviationstyle{short-postlong-user}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
@@ -20429,6 +22141,7 @@ defined}{}%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
+ text={\protect\glsabbrvuserfont{\the\glsshorttok}},%
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},%
description={\protect\glsuserdescription{\the\glslongtok}%
{\the\glslabeltok}}}%
@@ -20524,6 +22237,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-postlong-user-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlonguserdescname},
sort={\the\glsshorttok},
@@ -20563,6 +22283,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-short-user-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortuserdescname},
sort={\glsxtrlongshortdescsort},%
@@ -20597,10 +22324,18 @@ defined}{}%
%
%\begin{abbrvstyle}{short-long-user}
%\changes{1.04}{2016-05-02}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{short-long-user}%
{%
% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
+% \end{macrocode}
%\cs{glslonguserfont} is used in the description since \cs{glsdesc}
%doesn't set the style. (Now in \cs{glsuserdescription}.)
% \begin{macrocode}
@@ -20618,6 +22353,7 @@ defined}{}%
% \end{macrocode}
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
+ text={\protect\glsabbrvuserfont{\the\glsshorttok}},%
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}}}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
@@ -20673,6 +22409,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-long-user-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlonguserdescname},
sort={\glsxtrshortlongdescsort},%
@@ -20803,10 +22546,18 @@ defined}{}%
%
%\begin{abbrvstyle}{long-hyphen-short-hyphen}
%\changes{1.17}{2017-08-09}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%Designed for use with the \catattr{markwords} attribute.
% \begin{macrocode}
\newabbreviationstyle{long-hyphen-short-hyphen}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
@@ -20816,6 +22567,7 @@ defined}{}%
firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}}},%
+ text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},%
plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},%
description={\protect\glslonghyphenfont{\the\glslongtok}}}%
% \end{macrocode}
@@ -20864,6 +22616,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-hyphen-short-hyphen-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},
@@ -20921,11 +22680,13 @@ defined}{}%
%
%\begin{abbrvstyle}{long-hyphen-noshort-desc-noreg}
%\changes{1.17}{2017-08-09}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%This version doesn't show the short form (except
%explicitly with \cs{glsxtrshort}). Since \cs{glsxtrshort} doesn't
%support the hyphen switch, the short form just uses the default
%short-form font command. This style won't work with the
%\catattr{regular} as the regular form isn't flexible enough.
+%No accessibility attributes need to be set.
% \begin{macrocode}
\newabbreviationstyle{long-hyphen-noshort-desc-noreg}%
{%
@@ -20934,6 +22695,7 @@ defined}{}%
sort={\expandonce\glsxtrorglong},
first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},%
firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},%
+ text={\protect\glslonghyphenfont{\the\glslongtok}},%
plural={\protect\glslonghyphenfont{\the\glslongpltok}}%
}%
% \end{macrocode}
@@ -21027,6 +22789,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-hyphen-noshort-noreg}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetNameShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongnoshortname},
sort={\the\glsshorttok},
@@ -21118,16 +22887,25 @@ defined}{}%
%
%\begin{abbrvstyle}{long-hyphen-postshort-hyphen}
%\changes{1.17}{2017-08-09}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%Like \abbrstyle{long-hyphen-short-hyphen} but shifts the insert
%and parenthetical material to the post-link hook.
% \begin{macrocode}
\newabbreviationstyle{long-hyphen-postshort-hyphen}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortname},
sort={\the\glsshorttok},
first={\protect\glsfirstlonghyphenfont{\the\glslongtok}},%
firstplural={\protect\glsfirstlonghyphenfont{\the\glslongpltok}},%
+ text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},%
plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},%
description={\protect\glslonghyphenfont{\the\glslongtok}}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
@@ -21224,6 +23002,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-hyphen-postshort-hyphen-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrlongshortdescname},
sort={\glsxtrlongshortdescsort},%
@@ -21290,10 +23075,18 @@ defined}{}%
%
%\begin{abbrvstyle}{short-hyphen-long-hyphen}
%\changes{1.17}{2017-08-09}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%Designed for use with the \catattr{markwords} attribute.
% \begin{macrocode}
\newabbreviationstyle{short-hyphen-long-hyphen}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
@@ -21303,6 +23096,7 @@ defined}{}%
firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}%
\protect\glsxtrfullsep{\the\glslabeltok}%
\glsxtrparen{\protect\glsfirstlonghyphenfont{\the\glslongpltok}}},%
+ text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},%
plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},%
description={\protect\glslonghyphenfont{\the\glslongtok}}}%
% \end{macrocode}
@@ -21351,6 +23145,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-hyphen-long-hyphen-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},
sort={\glsxtrshortlongdescsort},
@@ -21427,16 +23228,25 @@ defined}{}%
%
%\begin{abbrvstyle}{short-hyphen-postlong-hyphen}
%\changes{1.17}{2017-08-09}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
%Like \abbrstyle{short-hyphen-long-hyphen} but shifts the insert
%and parenthetical material to the post-link hook.
% \begin{macrocode}
\newabbreviationstyle{short-hyphen-postlong-hyphen}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
first={\protect\glsfirstabbrvhyphenfont{\the\glsshorttok}},%
firstplural={\protect\glsfirstabbrvhyphenfont{\the\glsshortpltok}},%
+ text={\protect\glsabbrvhyphenfont{\the\glsshorttok}},%
plural={\protect\glsabbrvhyphenfont{\the\glsshortpltok}},%
description={\protect\glslonghyphenfont{\the\glslongtok}}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
@@ -21535,6 +23345,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{short-hyphen-postlong-hyphen-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongdescname},
sort={\glsxtrshortlongdescsort},%
@@ -21616,14 +23433,23 @@ defined}{}%
%
%\begin{abbrvstyle}{long-only-short-only}
%\changes{1.17}{2017-08-09}{new}
+%\changes{1.42}{2020-02-03}{added missing text key}
% \begin{macrocode}
\newabbreviationstyle{long-only-short-only}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtronlyname},
sort={\the\glsshorttok},
first={\protect\glsfirstlongonlyfont{\the\glslongtok}},%
firstplural={\protect\glsfirstlongonlyfont{\the\glslongpltok}},%
+ text={\protect\glsabbrvonlyfont{\the\glsshorttok}},%
plural={\protect\glsabbrvonlyfont{\the\glsshortpltok}},%
description={\protect\glslongonlyfont{\the\glslongtok}}}%
% \end{macrocode}
@@ -21638,7 +23464,10 @@ defined}{}%
}%
}%
{%
- \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtronlysuffix}%
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{removed \cs{protect} from \cs{glsxtronlysuffix}}
+% \begin{macrocode}
+ \renewcommand*{\abbrvpluralsuffix}{\glsxtronlysuffix}%
\renewcommand*{\glsabbrvfont}[1]{\glsabbrvonlyfont{##1}}%
\renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvonlyfont{##1}}%
\renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongonlyfont{##1}}%
@@ -21714,6 +23543,13 @@ defined}{}%
% \begin{macrocode}
\newabbreviationstyle{long-only-short-only-desc}%
{%
+% \end{macrocode}
+% Set accessibility attributes if enabled.
+% \begin{macrocode}
+ \glsxtrAccSuppAbbrSetTextShortAttrs\glscategorylabel
+% \end{macrocode}
+% Setup the default fields.
+% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtronlydescname},
sort={\glsxtronlydescsort},%
@@ -22087,6 +23923,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitleshort}
+%\changes{1.42}{2020-02-03}{new}
+% Command to display short form of abbreviation in section title and
+% table of contents in all upper case.
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitleshort}[1]{%
+ \GLSxtrshort[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\Glsxtrheadshortpl}
% Command used to display plural short form in the page header with the
% first letter converted to upper case.
@@ -22117,6 +23964,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitleshortpl}
+%\changes{1.42}{2020-02-03}{new}
+% Command to display plural short form of abbreviation in section title and
+% table of contents in all upper case.
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitleshortpl}[1]{%
+ \GLSxtrshortpl[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadname}
% As above but for the \gloskey{name} value.
%\changes{1.21}{2017-11-03}{new}
@@ -22169,14 +24027,25 @@ defined}{}%
%\begin{macro}{\Glsxtrtitlename}
% Command to display \gloskey{name} value in section title and
% table of contents with the first letter changed to upper case.
-% \begin{macrocode}
%\changes{1.21}{2017-11-03}{new}
+% \begin{macrocode}
\newrobustcmd*{\Glsxtrtitlename}[1]{%
\Glsname[noindex,hyper=false]{#1}[]%
}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlename}
+% Command to display \gloskey{name} value in section title and
+% table of contents in all upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlename}[1]{%
+ \GLSname[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadtext}
% As above but for the \gloskey{text} value.
%\changes{0.5.1}{2015-12-07}{now uses headuc attribute}
@@ -22236,6 +24105,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitletext}
+% Command to display \gloskey{text} value in section title and
+% table of contents in all upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitletext}[1]{%
+ \GLStext[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadplural}
% As above but for the \gloskey{plural} value.
%\changes{0.5.1}{2015-12-07}{now uses headuc attribute}
@@ -22294,6 +24174,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitleplural}
+%\changes{1.42}{2020-02-03}{new}
+% Command to display \gloskey{plural} value in section title and
+% table of contents in all upper case.
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitleplural}[1]{%
+ \GLSplural[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadfirst}
% As above but for the \gloskey{first} value.
%\changes{0.5.1}{2015-12-07}{now uses headuc attribute}
@@ -22352,6 +24243,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlefirst}
+%\changes{1.42}{2020-02-03}{new}
+% Command to display \gloskey{first} value in section title and
+% table of contents in all upper case.
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlefirst}[1]{%
+ \GLSfirst[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadfirstplural}
% As above but for the \gloskey{firstplural} value.
%\changes{0.5.1}{2015-12-07}{now uses headuc attribute}
@@ -22410,6 +24312,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlefirstplural}
+%\changes{1.42}{2020-02-03}{new}
+% Command to display \gloskey{first} value in section title and
+% table of contents in all upper case.
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlefirstplural}[1]{%
+ \GLSfirstplural[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadlong}
% Command used to display long form in the page header.
%\changes{1.02}{2016-04-25}{new}
@@ -22506,6 +24419,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlelong}
+% Command to display long form of abbreviation in section title and
+% table of contents in all upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlelong}[1]{%
+ \GLSxtrlong[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\Glsxtrheadlongpl}
% Command used to display plural long form in the page header with the
% first letter converted to upper case.
@@ -22537,6 +24461,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlelongpl}
+% Command to display plural long form of abbreviation in section title and
+% table of contents in all upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlelongpl}[1]{%
+ \GLSxtrlongpl[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrheadfull}
% Command used to display full form in the page header.
%\changes{1.02}{2016-04-25}{new}
@@ -22631,6 +24566,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlefull}
+% Command to display full form of abbreviation in section title and
+% table of contents in all upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlefull}[1]{%
+ \GLSxtrfull[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\Glsxtrheadfullpl}
% Command used to display plural full form in the page header with the
% first letter converted to upper case.
@@ -22662,6 +24608,17 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSxtrtitlefullpl}
+% Command to display plural full form of abbreviation in section title and
+% table of contents in all upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\newrobustcmd*{\GLSxtrtitlefullpl}[1]{%
+ \GLSxtrfullpl[noindex,hyper=false]{#1}[]%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtshort}
% Provide a way of using the formatted short form in section
% headings. If \sty{hyperref} has been loaded, use
@@ -22789,6 +24746,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtname}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtname}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlename{#1}}%
+ {\glsentryname{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtname}[1]{%
+ \GLSxtrtitlename{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%
%\begin{macro}{\glsfmttext}
%As above but for the \gloskey{text} value.
@@ -22828,6 +24804,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmttext}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmttext}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitletext{#1}}%
+ {\glsentrytext{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmttext}[1]{%
+ \GLSxtrtitletext{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtplural}
%As above but for the \gloskey{plural} value.
%\changes{0.5}{2015-12-07}{new}
@@ -22866,6 +24861,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtplural}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtplural}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitleplural{#1}}%
+ {\glsentryplural{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtplural}[1]{%
+ \GLSxtrtitleplural{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtfirst}
%As above but for the \gloskey{first} value.
%\changes{0.5}{2015-12-07}{new}
@@ -22904,6 +24918,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtfirst}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtfirst}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlefirst{#1}}%
+ {\glsentryfirst{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtfirst}[1]{%
+ \Glsxtrtitlefirst{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtfirstpl}
%As above but for the \gloskey{firstplural} value.
%\changes{0.5}{2015-12-07}{new}
@@ -22942,6 +24975,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtfirstpl}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtfirstpl}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlefirstplural{#1}}%
+ {\glsentryfirstplural{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtfirstpl}[1]{%
+ \GLSxtrtitlefirstplural{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtlong}
%As above but for the \gloskey{long} value.
%\changes{1.02}{2016-04-25}{new}
@@ -22980,6 +25032,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtlong}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtlong}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlelong{#1}}%
+ {\glsentrylong{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtlong}[1]{%
+ \GLSxtrtitlelong{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtlongpl}
%As above but for the \gloskey{longplural} value.
%\changes{1.02}{2016-04-25}{new}
@@ -23018,16 +25089,52 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtlongpl}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtlongpl}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlelongpl{#1}}%
+ {\glsentrylongpl{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtlongpl}[1]{%
+ \GLSxtrtitlelongpl{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glspdffmtfull}
+%\changes{1.42}{2020-02-03}{new}
+%Can't use \cs{glsxtrinlinefullformat} in PDF bookmarks as it's not
+%fully expandable. This command is for the PDF part of
+%\cs{texorpdfstring} for the full form.
+% \begin{macrocode}
+\newcommand*{\glspdffmtfull}[1]{\glsentrylong{#1} (\glsentryshort{#1})}%
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glspdffmtfullpl}
+%\changes{1.42}{2020-02-03}{new}
+%Likewise for plural.
+% \begin{macrocode}
+\newcommand*{\glspdffmtfullpl}[1]{\glsentrylongpl{#1} (\glsentryshortpl{#1})}%
+% \end{macrocode}
+%\end{macro}
%\begin{macro}{\glsfmtfull}
%In-line full format.
%\changes{1.02}{2016-04-25}{new}
+%\changes{1.42}{2020-02-03}{switched pdf case to use \cs{glspdffmtfull}}
% \begin{macrocode}
\ifdef\texorpdfstring
{
\newcommand*{\glsfmtfull}[1]{%
\texorpdfstring
{\glsxtrtitlefull{#1}}%
- {\glsxtrinlinefullformat{#1}{}}%
+ {\glspdffmtfull{#1}}%
}
}
{
@@ -23040,13 +25147,14 @@ defined}{}%
%\begin{macro}{\Glsfmtfull}
%First letter converted to upper case.
%\changes{1.02}{2016-04-25}{new}
+%\changes{1.42}{2020-02-03}{switched pdf case to use \cs{glspdffmtfull}}
% \begin{macrocode}
\ifdef\texorpdfstring
{
\newcommand*{\Glsfmtfull}[1]{%
\texorpdfstring
{\Glsxtrtitlefull{#1}}%
- {\Glsxtrinlinefullformat{#1}{}}%
+ {\glspdffmtfull{#1}{}}%
}
}
{
@@ -23056,16 +25164,36 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtfull}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtfull}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlefull{#1}}%
+ {\glspdffmtfull{#1}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtfull}[1]{%
+ \GLSxtrtitlefull{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsfmtfullpl}
%In-line full plural format.
%\changes{1.02}{2016-04-25}{new}
+%\changes{1.42}{2020-02-03}{switched pdf case to use \cs{glspdffmtfullpl}}
% \begin{macrocode}
\ifdef\texorpdfstring
{
\newcommand*{\glsfmtfullpl}[1]{%
\texorpdfstring
{\glsxtrtitlefullpl{#1}}%
- {\glsxtrinlinefullplformat{#1}{}}%
+ {\glspdffmtfullpl{#1}}%
}
}
{
@@ -23078,13 +25206,14 @@ defined}{}%
%\begin{macro}{\Glsfmtfullpl}
%First letter converted to upper case.
%\changes{1.02}{2016-04-25}{new}
+%\changes{1.42}{2020-02-03}{switched pdf case to use \cs{glspdffmtfullpl}}
% \begin{macrocode}
\ifdef\texorpdfstring
{
\newcommand*{\Glsfmtfullpl}[1]{%
\texorpdfstring
{\Glsxtrtitlefullpl{#1}}%
- {\Glsxtrinlinefullplformat{#1}{}}%
+ {\glspdffmtfullpl{#1}{}}%
}
}
{
@@ -23094,6 +25223,25 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GLSfmtfullpl}
+%All upper case.
+%\changes{1.42}{2020-02-03}{new}
+% \begin{macrocode}
+\ifdef\texorpdfstring
+{
+ \newcommand*{\GLSfmtfullpl}[1]{%
+ \texorpdfstring
+ {\GLSxtrtitlefullpl{#1}}%
+ {\glspdffmtfullpl{#1}{}}%
+ }
+}
+{
+ \newcommand*{\GLSfmtfullpl}[1]{%
+ \GLSxtrtitlefullpl{#1}}
+}
+% \end{macrocode}
+%\end{macro}
+%
%\section{Multi-Lingual Support}
% Add the facility to load language modules, if they are installed,
% but none are provided with this package.
@@ -23180,7 +25328,7 @@ defined}{}%
%automatically loaded by the record option.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-bib2gls}[2019/04/09 v1.41 (NLCT)]
+\ProvidesPackage{glossaries-extra-bib2gls}[2020/02/13 v1.42 (NLCT)]
% \end{macrocode}
%Provide convenient shortcut commands for predefined glossary types.
%\begin{macro}{\printunsrtacronyms}
@@ -23237,6 +25385,30 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsdisplaynumberlist}
+%\changes{1.42}{2020-02-03}{added}
+%Allow \cs{glsdisplaynumberlist} and make it robust.
+% \begin{macrocode}
+\renewcommand*{\glsdisplaynumberlist}[1]{%
+ \glsdoifexists{#1}%
+ {%
+ {\let\bibglsdelimN\glsnumlistsep
+ \let\bibglslastDelimN\glsnumlistlastsep
+ \glsxtrusefield{#1}{location}%
+ }%
+ }%
+}
+\robustify\glsdisplaynumberlist
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsentrynumberlist}
+%\changes{1.42}{2020-02-03}{added}
+% \begin{macrocode}
+\renewcommand*{\glsentrynumberlist}[1]{\glsxtrusefield{#1}{location}}
+% \end{macrocode}
+%\end{macro}
+%
%These are some convenient macros for use with custom rules.
%\begin{macro}{\glshex}
%\changes{1.21}{2017-11-03}{new}
@@ -23461,11 +25633,14 @@ defined}{}%
{
% \end{macrocode}
% Default action uses \meta{hcounter}. Equations and pages typically don't
-% have a title, so check the counter name.
+% have a title, so check the counter name (otherwise the title may
+% section or chapter title, which may be confusing). As from v1.42,
+% this now checks if the control sequence
+% \cs{glsxtr\meta{counter}locfmt} is defined.
% \begin{macrocode}
\newcommand*{\glsxtrdisplaylocnameref}[8]{%
- \ifstrequal{#2}{equation}%
- {\glsxtrnamereflink{#3}{(#4)}{#2.#7}{#8}}%
+ \ifcsdef{glsxtr#2locfmt}%
+ {\glsxtrnamereflink{#3}{\csuse{glsxtr#2locfmt}{#4}{#5}}{#2.#7}{#8}}%
{%
\ifstrempty{#5}%
{%
@@ -23485,6 +25660,16 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrequationlocfmt}
+%\changes{1.42}{2020-02-03}{new}
+%\begin{definition}
+%\cs{glsxtrequationlocfmt}\marg{location}\marg{title}
+%\end{definition}
+% \begin{macrocode}
+\newcommand*{\glsxtrequationlocfmt}[2]{(#1)}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrnamereflink}
%\changes{1.37}{2018-11-30}{new}
%\begin{definition}
@@ -23571,6 +25756,7 @@ defined}{}%
%\begin{definition}
%\cs{glsxtrfmtinternalnameloc}\marg{target}\marg{format}\marg{title}
%\end{definition}
+%
% \begin{macrocode}
\newcommand*{\glsxtrfmtinternalnameref}[3]{%
\csuse{#2}{\glsdohyperlink{#1}{#3}}%
@@ -26227,7 +28413,7 @@ defined}{}%
% First identify package:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-stylemods}[2019/04/09 v1.41 (NLCT)]
+\ProvidesPackage{glossaries-extra-stylemods}[2020/02/13 v1.42 (NLCT)]
% \end{macrocode}
% Provide package options to automatically load required predefined
% styles. The simplest method is to just test for the existence of
@@ -27017,10 +29203,20 @@ defined}{}%
\newcommand*{\glstreechildprelocation}{\glstreeprelocation}
% \end{macrocode}
%\end{macro}
+%Don't prohibit a page break at the start of a new group if there's
+%no header.
%\begin{macro}{\glstreegroupskip}
%\changes{1.41}{2019-04-09}{new}
% \begin{macrocode}
- \newcommand{\glstreegroupskip}{\nopagebreak\indexspace\nobreak}
+ \newcommand{\glstreegroupskip}{\indexspace}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glstreegroupheaderskip}
+%\changes{1.42}{2020-02-03}{new}
+%This doesn't include \cs{@afterheading} as it can cause
+%interference with some styles.
+% \begin{macrocode}
+ \newcommand{\glstreegroupheaderskip}{\nopagebreak\glstreegroupskip\nobreak}
% \end{macrocode}
%\end{macro}
%Modify the \glostyle{index} style.
@@ -27074,7 +29270,7 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\item\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}
@@ -27091,13 +29287,13 @@ defined}{}%
\setglossarystyle{index}%
\renewcommand*{\glossaryheader}{%
\item\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\item\glstreegroupheaderfmt
{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
}%
}
{}
@@ -27126,17 +29322,27 @@ defined}{}%
%\cs{glstreeDescLoc}\marg{label}\marg{location}
%\end{definition}
%This checks for the description and symbol. If both are missing,
-%don't want a space at the start of the location list. (For example,
-%the entry may just have a cross-reference.)
+%a different separator may be required. For example, a comma and
+%space if there's no description or symbol but just a space if
+%either of those fields are present.
% \begin{macrocode}
\newcommand{\glstreeDescLoc}[2]{%
\ifglshasdesc{#1}%
{\glstreedesc{#1}\glstreeprelocation}%
- {\ifglshassymbol{#1}{\glstreeprelocation}{}}%
+ {\ifglshassymbol{#1}{\glstreeprelocation}{\glstreeNoDescSymbolPreLocation}}%
#2%
}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\glstreeNoDescSymbolPreLocation}
+%\changes{1.42}{2020-02-03}{new}
+%\begin{definition}
+%\cs{glstreeNoDescSymbolPreLocation}
+%\end{definition}
+% \begin{macrocode}
+ \newcommand{\glstreeNoDescSymbolPreLocation}{\space}
+% \end{macrocode}
+%\end{macro}
%Similarly for the symbol.
%\begin{macro}{\glstreesymbol}
%\changes{1.31}{2018-05-09}{new}
@@ -27157,11 +29363,14 @@ defined}{}%
%\end{macro}
%\begin{macro}{\glstreeChildDescLoc}
%\changes{1.41}{2019-04-09}{new}
+%\changes{1.42}{2020-02-03}{added \cs{glstreeNoDescSymbolPreLocation}}
% \begin{macrocode}
\newcommand{\glstreeChildDescLoc}[2]{%
\ifglshasdesc{#1}%
{\glstreechilddesc{#1}\glstreechildprelocation}%
- {\ifglshassymbol{#1}{\glstreechildprelocation}{}}%
+ {\ifglshassymbol{#1}{\glstreechildprelocation}%
+ {\glstreeNoDescSymbolPreLocation}%
+ }%
#2%
}%
% \end{macrocode}
@@ -27219,7 +29428,7 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
}
}
{}
@@ -27235,14 +29444,14 @@ defined}{}%
\setglossarystyle{tree}%
\renewcommand*{\glossaryheader}{%
\par\noindent\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent
\glstreegroupheaderfmt
{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
}
}
{}
@@ -27298,7 +29507,7 @@ defined}{}%
\glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}%
\glstreenonamesymbol{##1}%
\glstreenonamedesc{##1}%
- \glstreeprelocation##2\par
+ \glstreeDescLoc{##1}{##2}\par
}%
\renewcommand{\subglossentry}[3]{%
\hangindent##1\glstreeindent\relax
@@ -27329,7 +29538,7 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}
@@ -27346,13 +29555,13 @@ defined}{}%
\setglossarystyle{treenoname}%
\renewcommand*{\glossaryheader}{%
\par\noindent\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
}
}
{}
@@ -27380,10 +29589,10 @@ defined}{}%
\ifglshassymbol{#1}{(\glossentrysymbol{#1})\space}{}%
% \end{macrocode}
%\changes{1.41}{2019-04-09}{added check for description}
+%\changes{1.42}{2020-02-03}{switched to using \cs{glstreeDescLoc}}
% \begin{macrocode}
- \ifglshasdesc{#1}%
- {\glossentrydesc{#1}\glspostdescription\glstreeprelocation}{}%
- #2\par
+ \ifglshasdesc{#1}{\glossentrydesc{#1}\glspostdescription}{}%
+ \glstreeDescLoc{#1}{#2}\par
}%
}
% \end{macrocode}
@@ -28102,8 +30311,6 @@ defined}{}%
%after group headings.
%\changes{1.21}{2017-11-03}{redefined \texttt{alttreegroup} to discourage
%breaks after group headings}
-%Can't use \cs{@afterheading} here as it messes with the first item
-%of the group.
% \begin{macrocode}
\ifdef{\@glsstyle@alttreegroup}
{%
@@ -28116,7 +30323,11 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip
+% \end{macrocode}
+%Can't use \cs{@afterheading} here as it messes with the first item
+%of the group.
+% \begin{macrocode}
+ \glstreegroupheaderskip
}%
}%
}%
@@ -28137,7 +30348,11 @@ defined}{}%
\hangindent0pt\relax
\parindent0pt\relax
\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip
+% \end{macrocode}
+%Can't use \cs{@afterheading} here as it messes with the first item
+%of the group.
+% \begin{macrocode}
+ \glstreegroupheaderskip
}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
@@ -28147,7 +30362,11 @@ defined}{}%
\hangindent0pt\relax
\parindent0pt\relax
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip
+% \end{macrocode}
+%Can't use \cs{@afterheading} here as it messes with the first item
+%of the group.
+% \begin{macrocode}
+ \glstreegroupheaderskip
}%
}
}%
@@ -28169,7 +30388,7 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\item\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28186,14 +30405,17 @@ defined}{}%
\setglossarystyle{mcolindex}%
\renewcommand*{\glossaryheader}{%
\item\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip
+% \end{macrocode}
+%\changes{1.42}{2020-02-03}{added \cs{@afterheading}}
+% \begin{macrocode}
+ \glstreegroupheaderskip\@afterheading
}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\item\glstreegroupheaderfmt
{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28220,7 +30442,7 @@ defined}{}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\item\glstreegroupheaderfmt
{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28239,7 +30461,7 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28256,14 +30478,14 @@ defined}{}%
\setglossarystyle{mcoltree}%
\renewcommand*{\glossaryheader}{%
\par\noindent\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip
+ \glstreegroupheaderskip
}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28291,7 +30513,7 @@ defined}{}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28310,7 +30532,7 @@ defined}{}%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip\@afterheading
+ \glstreegroupheaderskip\@afterheading
}%
}
}%
@@ -28327,14 +30549,14 @@ defined}{}%
\setglossarystyle{mcoltreenoname}%
\renewcommand*{\glossaryheader}{%
\par\noindent\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip
+ \glstreegroupheaderskip
}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
}
}%
{%
@@ -28361,7 +30583,7 @@ defined}{}%
\glstreePreHeader{##1}{\glsxtr@grptitle}%
\par\noindent
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip\@afterheading}%
+ \glstreegroupheaderskip\@afterheading}%
}
}%
{%
@@ -28405,7 +30627,7 @@ defined}{}%
\hangindent0pt\relax
\parindent0pt\relax
\glstreegroupheaderfmt{\glsxtr@grptitle}%
- \glstreegroupskip
+ \glstreegroupheaderskip
}%
}
}%
@@ -28426,7 +30648,7 @@ defined}{}%
\hangindent0pt\relax
\parindent0pt\relax
\glstreenavigationfmt{\glsnavigation}%
- \glstreegroupskip
+ \glstreegroupheaderskip
}%
\renewcommand*{\glsgroupheading}[1]{%
\glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}%
@@ -28436,7 +30658,7 @@ defined}{}%
\hangindent0pt\relax
\parindent0pt\relax
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip
+ \glstreegroupheaderskip
}%
}
}%
@@ -28467,7 +30689,7 @@ defined}{}%
\hangindent0pt\relax
\parindent0pt\relax
\glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}%
- \glstreegroupskip
+ \glstreegroupheaderskip
}%
}
}%
@@ -28497,7 +30719,7 @@ defined}{}%
%\section{Package Initialisation and Options}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-bookindex}[2019/04/09 v1.41 (NLCT)]
+\ProvidesPackage{glossary-bookindex}[2020/02/13 v1.42 (NLCT)]
% \end{macrocode}
%Load required packages.
% \begin{macrocode}
@@ -28681,6 +30903,15 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrbookindexbookmarkprefix}
+%\changes{1.42}{2020-02-03}{new}
+%Make the bookmark label prefix used for letter groups depend on the glossary label
+%(instead of original hardcoded ``index.'').
+% \begin{macrocode}
+\newcommand*{\glsxtrbookindexbookmarkprefix}{\currentglossary.}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrbookindexcolspread}
%\changes{1.21}{2017-11-03}{new}
% \begin{macrocode}
@@ -28877,7 +31108,7 @@ defined}{}%
% \end{macrocode}
% Do the PDF bookmark if supported.
% \begin{macrocode}
- \glsxtrbookindexbookmark{\glsxtrcurrentgrptitle}{index.##1}%
+ \glsxtrbookindexbookmark{\glsxtrcurrentgrptitle}{\glsxtrbookindexbookmarkprefix##1}%
% \end{macrocode}
% Format the group title.
% \begin{macrocode}
@@ -28984,7 +31215,7 @@ defined}{}%
%Provides additional long styles.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-longextra}[2019/04/09 v1.41 (NLCT)]
+\ProvidesPackage{glossary-longextra}[2020/02/13 v1.42 (NLCT)]
% \end{macrocode}
%Load required packages.
% \begin{macrocode}
@@ -30413,7 +32644,7 @@ defined}{}%
%topic.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-topic}[2019/04/09 v1.41 (NLCT)]
+\ProvidesPackage{glossary-topic}[2020/02/13 v1.42 (NLCT)]
% \end{macrocode}
%Load required package.
% \begin{macrocode}
@@ -30676,6 +32907,7 @@ defined}{}%
\newcommand*{\glstopicSubNameFont}[1]{\textbf{#1}}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\glstopicSubPreLocSep}
%\changes{1.41}{2019-04-09}{new}
% \begin{macrocode}
\newcommand*{\glstopicSubPreLocSep}{\space}
diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins
index e8bd0d99dba..15c23359bce 100644
--- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins
+++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins
@@ -1,10 +1,10 @@
-% glossaries-extra.ins generated using makedtx version 1.2 2019/4/9 21:59
+% glossaries-extra.ins generated using makedtx version 1.2 2020/2/13 22:19
\input docstrip
\preamble
glossaries-extra.dtx
- Copyright 2019 Nicola Talbot
+ Copyright 2020 Nicola Talbot
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3