From f8984c096c7871551016e012a01478e1a193fccd Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 14 Feb 2020 22:32:40 +0000 Subject: glossaries-extra (14feb20) git-svn-id: svn://tug.org/texlive/trunk@53780 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/glossaries-extra/glossaries-extra.dtx | 2992 +++++++++++++++++--- .../latex/glossaries-extra/glossaries-extra.ins | 4 +- 2 files changed, 2614 insertions(+), 382 deletions(-) (limited to 'Master/texmf-dist/source') 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 - {% - \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}% - }% + \@domakeglossaries {% - \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 -% \end{macrocode} -%\cs{@gls@@automake@immediate} was introduced to \sty{glossaries} -%v4.42 so it may not be defined. + \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} @@ -12079,12 +12593,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,13 +12798,25 @@ 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} @@ -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,35 +19173,93 @@ defined}{}% % \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: -%\begin{macro}{\glsxtrsmfont} -%\changes{0.5}{2015-12-07}{new} -%Maintained for backward compatibility. +%\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} -\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} +\newabbreviationstyle{short-sc-postfootnote-desc}% +{% % \end{macrocode} -%\end{macro} -%\begin{macro}{\glsabbrvsmfont} -%\changes{1.17}{2017-08-09}{new} -%Added for consistent naming. +% Set accessibility attributes if enabled. % \begin{macrocode} -\newcommand*{\glsabbrvsmfont}{\glsxtrsmfont} + \glsxtrAccSuppAbbrSetNameLongAttrs\glscategorylabel % \end{macrocode} -%\end{macro} -%\begin{macro}{\glsxtrfirstsmfont} -%\changes{1.04}{2016-05-02}{new} -%Maintained for backward compatibility. +% Setup the default fields. % \begin{macrocode} -\newcommand*{\glsxtrfirstsmfont}[1]{\glsabbrvsmfont{#1}} + \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} -%\end{macro} -%\begin{macro}{\glsfirstabbrvsmfont} -%\changes{1.17}{2017-08-09}{new} -%Added for consistent naming. +% 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} -\newcommand*{\glsfirstabbrvsmfont}{\glsxtrfirstsmfont} + \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: +%\begin{macro}{\glsxtrsmfont} +%\changes{0.5}{2015-12-07}{new} +%Maintained for backward compatibility. +% \begin{macrocode} +\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsabbrvsmfont} +%\changes{1.17}{2017-08-09}{new} +%Added for consistent naming. +% \begin{macrocode} +\newcommand*{\glsabbrvsmfont}{\glsxtrsmfont} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsxtrfirstsmfont} +%\changes{1.04}{2016-05-02}{new} +%Maintained for backward compatibility. +% \begin{macrocode} +\newcommand*{\glsxtrfirstsmfont}[1]{\glsabbrvsmfont{#1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsfirstabbrvsmfont} +%\changes{1.17}{2017-08-09}{new} +%Added for consistent naming. +% \begin{macrocode} +\newcommand*{\glsfirstabbrvsmfont}{\glsxtrfirstsmfont} % \end{macrocode} %\end{macro} % and for the default short form suffix: @@ -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 -- cgit v1.2.3