summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/glossaries-extra
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-11-09 21:05:47 +0000
committerKarl Berry <karl@freefriends.org>2022-11-09 21:05:47 +0000
commit4412bf07bbf53310304b053bc16676a8ca58c690 (patch)
treea2bbf78b9a6fd7307e3f6a7239674a09e94a14ea /Master/texmf-dist/source/latex/glossaries-extra
parent2ede9a82d25473f012b41aa0153ae69d89a3e168 (diff)
glossaries-extra (9nov22)
git-svn-id: svn://tug.org/texlive/trunk@64973 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/glossaries-extra')
-rw-r--r--Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx4475
-rw-r--r--Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins5
2 files changed, 4047 insertions, 433 deletions
diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
index ff8449fc099..a3490e00d9d 100644
--- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
+++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
@@ -1,15 +1,15 @@
%\iffalse
% glossaries-extra.dtx generated using makedtx version 1.2 (c) Nicola Talbot
% Command line args:
-% -doc "glossaries-extra-codedoc.tex"
% -setambles ".*\.bib=>\nopreamble\nopostamble"
-% -macrocode ".*\.tex"
-% -macrocode ".*\.bib"
-% -comment ".*\.tex"
-% -comment ".*\.bib"
% -codetitle "Main Package Code (glossaries-extra.sty)"
% -section "section"
+% -comment ".*\.tex"
+% -comment ".*\.bib"
% -author "Nicola Talbot"
+% -macrocode ".*\.tex"
+% -macrocode ".*\.bib"
+% -doc "glossaries-extra-codedoc.tex"
% -src "glossaries-extra.sty\Z=>glossaries-extra.sty"
% -src "(.+)\.def\Z=>\1.def"
% -src "glossaries-extra-bib2gls.sty\Z=>glossaries-extra-bib2gls.sty"
@@ -22,7 +22,7 @@
% -src "(example-glossaries-.+\.bib)\Z=>\1"
% -src "(glossar.+-2021-11-22.sty)\Z=>\1"
% glossaries-extra
-% Created on 2022/10/19 17:47
+% Created on 2022/11/8 19:11
%\fi
%\iffalse
%<*package>
@@ -57,7 +57,7 @@ glossaries-extra.dtx
\documentclass{article}
\usepackage{doc}
-\CheckSum{69102}
+\CheckSum{70912}
\RecordChanges
\PageIndex
@@ -81,6 +81,7 @@ glossaries-extra.dtx
\NewDocElement{Option}{option}
\NewDocElement{AbbrvStyle}{abbrvstyle}
\NewDocElement{Style}{style}
+\NewDocElement{BlockStyle}{blockstyle}
\pdfstringdefDisableCommands{%
\let\sty\@firstofone
@@ -115,13 +116,13 @@ glossaries-extra.dtx
\providecommand\oarg[1]{%
\allowbreak{\ttfamily[}\meta{#1}{\ttfamily]}}
-\title{glossaries-extra.sty v1.49:
+\title{glossaries-extra.sty v1.50:
documented code}
\author{Nicola L.C. Talbot\\[10pt]
Dickimaw Books\\
\url{http://www.dickimaw-books.com/}}
-\date{2022-10-14}
+\date{2022-11-08}
\begin{document}
\DocInput{glossaries-extra.dtx}
@@ -152,11 +153,11 @@ Dickimaw Books\\
% Rollback releases:
% \begin{macrocode}
\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-2021-11-22.sty}
-\DeclareCurrentRelease{v1.49}{2022-10-14}
+\DeclareCurrentRelease{v1.50}{2022-11-08}
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossaries-extra}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossaries-extra}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
% Requires \sty{xkeyval} to define package options.
% \begin{macrocode}
@@ -1398,14 +1399,21 @@ Dickimaw Books\\
\newcommand*{\@glsxtr@abbreviationsdef}{}
% \end{macrocode}
%\end{macro}
-
+%
+%\begin{macro}{\abbreviationsname}
+%v1.50 unconditionally provide this command, so it can be redefined
+%by a language module.
+% \begin{macrocode}
+\@ifpackageloaded{babel}%
+{\providecommand{\abbreviationsname}{\acronymname}}%
+{\providecommand{\abbreviationsname}{Abbreviations}}%
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\@glsxtr@doabbreviationsdef}
%\changes{0.5.3}{2015-12-09}{new}
% \begin{macrocode}
\newcommand*{\@glsxtr@doabbreviationsdef}{%
- \@ifpackageloaded{babel}%
- {\providecommand{\abbreviationsname}{\acronymname}}%
- {\providecommand{\abbreviationsname}{Abbreviations}}%
\newglossary[glg-abr]{abbreviations}{gls-abr}{glo-abr}{\abbreviationsname}%
\renewcommand*{\glsxtrabbrvtype}{abbreviations}%
\newcommand*{\printabbreviations}[1][]{%
@@ -2262,6 +2270,18 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsmeasurewidth}
+%\changes{1.50}{2022-11-08}{new}
+%\cs{glsmeasurewidth} was only introduced to \sty{glossaries} v4.51
+%so may not be available. This provides a definition that simply
+%uses \cs{settowidth}.
+% \begin{macrocode}
+\providecommand{\glsmeasurewidth}[2]{%
+ \settowidth{#1}{#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%If \sty{mfirstuc} v2.08+ is installed, provide interface commands.
%The simplest method is to test the existence of
%\cs{MFUsentencecase}, which is provided by \sty{mfirstuc} v2.08+
@@ -7595,40 +7615,51 @@ Dickimaw Books\\
{%
\@gls@adjustmode
\begingroup
- \@glsxtr@record{#1}{#2}{glossadd}%
- \glsdoifexists{#2}%
- {%
- \let\@glsnumberformat\@glsxtr@defaultnumberformat
+ \@glsadd{#1}{#2}%
+ \endgroup
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsadd}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\@glsadd}[2]{%
+ \@glsxtr@record{#1}{#2}{glossadd}%
+ \glsdoifexists{#2}%
+ {%
+ \let\@glsnumberformat\@glsxtr@defaultnumberformat
% \end{macrocode}
%\changes{1.46}{2021-09-20}{changed \cs{edef} to \cs{protected@edef}}
% \begin{macrocode}
- \protected@edef\@gls@counter{\csname glo@\glsdetoklabel{#2}@counter\endcsname}%
- \def\@glsxtr@thevalue{}%
- \def\@glsxtr@theHvalue{\@glsxtr@thevalue}%
+ \protected@edef\@gls@counter{\csname glo@\glsdetoklabel{#2}@counter\endcsname}%
+ \def\@glsxtr@thevalue{}%
+ \def\@glsxtr@theHvalue{\@glsxtr@thevalue}%
% \end{macrocode}
%Implement any default settings (before options are set)
%\changes{1.30}{2018-04-25}{added \cs{glsaddpresetkeys}}
% \begin{macrocode}
- \glsaddpresetkeys
- \setkeys{glossadd}{#1}%
+ \glsaddpresetkeys
+ \setkeys{glossadd}{#1}%
% \end{macrocode}
%Implement any default settings (after options are set)
%\changes{1.30}{2018-04-25}{added \cs{glsaddpostsetkeys}}
% \begin{macrocode}
- \glsaddpostsetkeys
- \ifdefempty{\@glsxtr@thevalue}%
- {%
- \@gls@saveentrycounter
- }%
- {%
- \let\theglsentrycounter\@glsxtr@thevalue
- \def\theHglsentrycounter{\@glsxtr@theHvalue}%
- }%
+ \glsaddpostsetkeys
+ \ifdefempty{\@glsxtr@thevalue}%
+ {%
+ \@gls@saveentrycounter
+ }%
+ {%
+ \let\theglsentrycounter\@glsxtr@thevalue
+ \def\theHglsentrycounter{\@glsxtr@theHvalue}%
+ }%
% \end{macrocode}
% Define sort key if necessary (in case of \pkgopt[use]{sort}):
%\changes{1.24}{2017-11-14}{added \cs{@gls@setsort}}
% \begin{macrocode}
- \@gls@setsort{#2}%
+ \@gls@setsort{#2}%
% \end{macrocode}
%Ensure that indexing occurs (since that's the point of
%\cs{glsadd}). If indexing has been switched off by default, don't
@@ -7637,10 +7668,8 @@ Dickimaw Books\\
%indexing still needs to be performed.
%\changes{1.37}{2018-11-30}{ensure that \cs{glsadd} performs indexing}
% \begin{macrocode}
- \KV@glslink@noindexfalse
- \glsxtr@wrglossary@encap{#2}{\@@do@wrglossary{#2}}%
- }%
- \endgroup
+ \KV@glslink@noindexfalse
+ \glsxtr@wrglossary@encap{#2}{\@@do@wrglossary{#2}}%
}%
}
% \end{macrocode}
@@ -7652,7 +7681,66 @@ Dickimaw Books\\
%argument.
% \begin{macrocode}
\newrobustcmd{\glsaddeach}[2][]{%
- \@for\@gls@thislabel:=#2\do{\glsadd[#1]{\@gls@thislabel}}%
+ \glsxtrifinmark
+ {}%
+ {%
+ \@gls@adjustmode
+ \@for\@gls@thislabel:=#2\do{{\@glsadd{#1}{\@gls@thislabel}}}%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsxtr@rangeformat}
+%\changes{1.50}{2018-05-09}{new}
+% \begin{macrocode}
+\newcommand{\glsxtr@rangeformat}{\@glsxtr@defaultnumberformat}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\GlsXtrSetDefaultRangeFormat}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand*{\GlsXtrSetDefaultRangeFormat}[1]{%
+ \renewcommand*{\glsxtr@rangeformat}{#1}%
+}%
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsstartrange}
+%\changes{1.50}{2018-05-09}{new}
+%Essentially does \cs{glsadd}[format=(]\marg{label}
+% \begin{macrocode}
+\newrobustcmd{\glsstartrange}[2][]{%
+ \glsxtrifinmark
+ {}%
+ {%
+ \@gls@adjustmode
+ \begingroup
+ \appto\glsaddpresetkeys{\protected@edef\@glsnumberformat{\glsxtr@rangeformat}}%
+ \appto\glsaddpostsetkeys{\protected@edef\@glsnumberformat{(\@glsnumberformat}}%
+ \@for\@gls@thislabel:=#2\do{\@glsadd{#1}{\@gls@thislabel}}%
+ \endgroup
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsendrange}
+%\changes{1.50}{2018-05-09}{new}
+%Essentially does \cs{glsadd}[format=)]\marg{label}
+% \begin{macrocode}
+\newrobustcmd{\glsendrange}[2][]{%
+ \glsxtrifinmark
+ {}%
+ {%
+ \@gls@adjustmode
+ \begingroup
+ \appto\glsaddpresetkeys{\protected@edef\@glsnumberformat{\glsxtr@rangeformat}}%
+ \appto\glsaddpostsetkeys{\protected@edef\@glsnumberformat{)\@glsnumberformat}}%
+ \@for\@gls@thislabel:=#2\do{\@glsadd{#1}{\@gls@thislabel}}%
+ \endgroup
+ }%
}
% \end{macrocode}
%\end{macro}
@@ -12328,7 +12416,7 @@ Dickimaw Books\\
% Allow the user to customise the maximum value.
% \begin{macrocode}
\renewcommand*{\glsacspace}[1]{%
- \settowidth{\dimen@}{(\firstacronymfont{\glsentryshort{#1}})}%
+ \glsmeasurewidth{\dimen@}{(\firstacronymfont{\glsentryshort{#1}})}%
\ifdim\dimen@<\glsacspacemax~\else\space\fi
}
% \end{macrocode}
@@ -12346,7 +12434,7 @@ Dickimaw Books\\
% Similar to \cs{glsacspace} but includes inner formatting.
% \begin{macrocode}
\newrobustcmd*{\glsabspace}[1]{%
- \settowidth{\dimen@}{(\glsfirstabbrvfont{\glsentryshort{#1}})}%
+ \glsmeasurewidth{\dimen@}{(\glsfirstabbrvfont{\glsentryshort{#1}})}%
\ifdim\dimen@<\glsacspacemax
\glsxtrgenentrytextfmt{~}%
\else
@@ -12944,9 +13032,15 @@ Dickimaw Books\\
%to be scoped or changed again to prevent duplicate labels.
% \begin{macrocode}
\newcommand{\glsxtrsetglossarylabel}[1]{%
- \renewcommand*{\@@glossaryseclabel}{%
- \protected@edef\@currentlabelname{\glossarytoctitle}%
- \label{#1}%
+ \ifstrempty{#1}%
+ {%
+ \renewcommand*{\@@glossaryseclabel}{}%
+ }%
+ {%
+ \renewcommand*{\@@glossaryseclabel}{%
+ \protected@edef\@currentlabelname{\glossarytoctitle}%
+ \label{#1}%
+ }%
}%
}
% \end{macrocode}
@@ -14542,13 +14636,19 @@ Dickimaw Books\\
%A loop within the tabular-like styles can cause problems, so
%move the loop outside. The entire glossary will be saved in
%\cs{@glsxtr@doglossary}, which will be built up in the loop.
+%\changes{1.50}{2022-11-08}{removed \cs{glsresetentrylist}}
+%Note that v1.50 has removed \cs{glsresetentrylist}.
% \begin{macrocode}
\def\@glsxtr@doglossary{%
\begin{theglossary}%
\glossaryheader
- \glsresetentrylist
}%
% \end{macrocode}
+%\changes{1.50}{2022-11-08}{add post-begin hook}
+%Apply the post-begin hook.
+% \begin{macrocode}
+ \printunsrtglossarypostbegin{\@glsxtr@doglossary}%
+% \end{macrocode}
% Iterate over all entries in the current glossary and add the relevant commands to
% \cs{@glsxtr@doglossary}.
% \begin{macrocode}
@@ -14579,13 +14679,28 @@ Dickimaw Books\\
}%
\fi
% \end{macrocode}
+%\changes{1.50}{2022-11-08}{add pre-entry hook}
+%Apply the post-entry hook.
+% \begin{macrocode}
+ \printunsrtglossarypreentryprocesshook{\@glsxtr@doglossary}%
+% \end{macrocode}
%\changes{1.46}{2021-09-20}{changed \cs{eappto} to \cs{protected@eappto}}
% \begin{macrocode}
\protected@eappto\@glsxtr@doglossary{%
\noexpand\@printunsrt@glossary@handler{\glscurrententrylabel}}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{add post-entry hook}
+%Apply the post-entry hook.
+% \begin{macrocode}
+ \printunsrtglossarypostentryprocesshook{\@glsxtr@doglossary}%
}%
}%
}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{add pre-end hook}
+%Apply the pre-end hook.
+% \begin{macrocode}
+ \printunsrtglossarypreend{\@glsxtr@doglossary}%
\appto\@glsxtr@doglossary{\end{theglossary}}%
\printunsrtglossarypredoglossary
\@glsxtr@doglossary
@@ -14829,13 +14944,26 @@ Dickimaw Books\\
}%
\fi
% \end{macrocode}
+%\changes{1.50}{2022-11-08}{add pre-entry hook}
+%Apply the post-entry hook.
+% \begin{macrocode}
+ \printunsrtglossarypreentryprocesshook{\@glsxtr@doglossary}%
+% \end{macrocode}
%\changes{1.46}{2021-09-20}{changed \cs{eappto} to \cs{protected@eappto}}
% \begin{macrocode}
\protected@eappto\@glsxtr@doglossary{%
\noexpand\@printunsrt@glossary@handler{\glscurrententrylabel}}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{add post-entry hook}
+%Apply the post-entry hook.
+% \begin{macrocode}
+ \printunsrtglossarypostentryprocesshook{\@glsxtr@doglossary}%
}%
}%
}%
+% \end{macrocode}
+%\cs{printunsrtglossarypreend} not used.
+% \begin{macrocode}
\printunsrtglossarypredoglossary
\@glsxtr@doglossary
}%
@@ -14872,6 +15000,41 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\printunsrtglossarypreentryprocesshook}
+%\changes{1.50}{2022-11-08}{new}
+%This hook is performed before the entry line has been added to
+%\cs{@glsxtr@do@glossary}. The argument will be
+%\cs{@glsxtr@do@glossary} so that content can be appended to it.
+%The current entry can be referenced with \cs{glscurrententrylabel}.
+%The current level can be referenced with \cs{glscurrententrylevel},
+%etc.
+% \begin{macrocode}
+\newcommand*{\printunsrtglossarypreentryprocesshook}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\printunsrtglossarypostentryprocesshook}
+%\changes{1.50}{2022-11-08}{new}
+%This hook is performed after the entry line has been added to
+%\cs{@glsxtr@do@glossary}. The argument will be
+%\cs{@glsxtr@do@glossary} so that content can be appended to it.
+%The current entry can be referenced with \cs{glscurrententrylabel}.
+%The current level can be referenced with \cs{glscurrententrylevel},
+%etc.
+% \begin{macrocode}
+\newcommand*{\printunsrtglossarypostentryprocesshook}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\printunsrtglossarygrouphook}
+%\changes{1.50}{2022-11-08}{new}
+%Similar hook used when the group heading added. In this case the
+%argument will be \cs{@glsxtr@groupheading}.
+% \begin{macrocode}
+\newcommand*{\printunsrtglossarygrouphook}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\printunsrtglossaryskipentry}
%\changes{1.21}{2017-11-03}{new}
% \begin{macrocode}
@@ -14898,6 +15061,20 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\printunsrtglossarypreend}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand*{\printunsrtglossarypreend}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\printunsrtglossarypostbegin}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand*{\printunsrtglossarypostbegin}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\@printunsrt@glossary@handler}
%\changes{1.16}{2017-06-15}{new}
%\changes{1.46}{2021-09-20}{changed \cs{xdef} to \cs{protected@xdef}}
@@ -15068,6 +15245,9 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
\ifdefempty\@glo@thislettergrp
{}%
{%
+% \end{macrocode}
+%Check the hierarchical level.
+% \begin{macrocode}
\ifnum\glscurrententrylevel>0\relax
\protected@eappto\@glsxtr@groupheading{%
\noexpand\glssubgroupheading
@@ -15078,7 +15258,14 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
\else
\ifdefempty{\@gls@currentlettergroup}{}%
{%
- \def\@glsxtr@groupheading{\glsgroupskip}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{check nogroupskip setting}
+%Don't add \cs{glsgroupskip} if nogroupskip setting is on.
+% \begin{macrocode}
+ \ifglsnogroupskip
+ \else
+ \def\@glsxtr@groupheading{\glsgroupskip}%
+ \fi
}%
\protected@eappto\@glsxtr@groupheading{%
\noexpand\glsgroupheading{\expandonce\@glo@thislettergrp}%
@@ -15086,6 +15273,10 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}%
\fi
\let\@gls@currentlettergroup@level\glscurrententrylevel
\cslet{@gls@currentlettergroup\romannumeral\glscurrententrylevel}\@glo@thislettergrp
+% \end{macrocode}
+%Perform the group hook, which can be used to add content.
+% \begin{macrocode}
+ \printunsrtglossarygrouphook{\@glsxtr@groupheading}%
}%
}%
}
@@ -28716,14 +28907,14 @@ defined}{}%
{\glsgetattribute{##1}{combinedsep}}%
{%
\ifglshasshort{##1}%
- {\settowidth{\dimen@}{\glsentryshort{##1}}}%
- {\settowidth{\dimen@}{\glsentrytext{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryshort{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrytext{##1}}}%
\ifdim\dimen@<#1\relax
#2%
\else
\ifglshasshort{##2}%
- {\settowidth{\dimen@}{\glsentryshort{##2}}}%
- {\settowidth{\dimen@}{\glsentrytext{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryshort{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrytext{##2}}}%
\ifdim\dimen@<#1\relax
#2%
\else
@@ -28737,14 +28928,14 @@ defined}{}%
{\glsgetattribute{##1}{combinedsepfirst}}%
{%
\ifglshasshort{##1}%
- {\settowidth{\dimen@}{\glsentryshort{##1}}}%
- {\settowidth{\dimen@}{\glsentrytext{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryshort{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrytext{##1}}}%
\ifdim\dimen@<#1\relax
#2%
\else
\ifhaslong{##2}%
- {\settowidth{\dimen@}{\glsentrylong{##2}}}%
- {\settowidth{\dimen@}{\glsentryfirst{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrylong{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryfirst{##2}}}%
\ifdim\dimen@<#1\relax
#2%
\else
@@ -28758,14 +28949,14 @@ defined}{}%
{\glsgetattribute{##1}{combinedfirstsep}}%
{%
\ifhaslong{##1}%
- {\settowidth{\dimen@}{\glsentrylong{##1}}}%
- {\settowidth{\dimen@}{\glsentryfirst{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrylong{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryfirst{##1}}}%
\ifdim\dimen@<#1\relax
#2%
\else
\ifglshasshort{##2}%
- {\settowidth{\dimen@}{\glsentryshort{##2}}}%
- {\settowidth{\dimen@}{\glsentrytext{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryshort{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrytext{##2}}}%
\ifdim\dimen@<#1\relax
#2%
\else
@@ -28779,14 +28970,14 @@ defined}{}%
{\glsgetattribute{##1}{combinedfirstsepfirst}}%
{%
\ifhaslong{##1}%
- {\settowidth{\dimen@}{\glsentrylong{##1}}}%
- {\settowidth{\dimen@}{\glsentryfirst{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrylong{##1}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryfirst{##1}}}%
\ifdim\dimen@<#1\relax
#2%
\else
\ifhaslong{##2}%
- {\settowidth{\dimen@}{\glsentrylong{##2}}}%
- {\settowidth{\dimen@}{\glsentryfirst{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentrylong{##2}}}%
+ {\glsmeasurewidth{\dimen@}{\glsentryfirst{##2}}}%
\ifdim\dimen@<#1\relax
#2%
\else
@@ -29664,6 +29855,14 @@ defined}{}%
% Add the facility to load language modules, if they are installed,
% but none are provided with this package.
%
+%\begin{macro}{\glsxtrcontinuedname}
+%\changes{1.50}{2022-11-08}{new}
+%Provide for use in \cs{printunsrttable}.
+% \begin{macrocode}
+\providecommand{\glsxtrcontinuedname}{continued}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\RequireGlossariesExtraLang}
%\changes{0.5.3}{2015-12-09}{new}
% \begin{macrocode}
@@ -39554,11 +39753,11 @@ defined}{}%
% Rollback releases:
% \begin{macrocode}
\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-bib2gls-2021-11-22.sty}
-\DeclareCurrentRelease{v1.49}{2022-10-14}
+\DeclareCurrentRelease{v1.50}{2022-11-08}
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossaries-extra-bib2gls}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossaries-extra-bib2gls}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
%Provide convenient shortcut commands for predefined glossary types.
%\begin{macro}{\printunsrtacronyms}
@@ -43745,11 +43944,11 @@ defined}{}%
% Rollback releases:
% \begin{macrocode}
\DeclareRelease{v1.48}{2021-11-22}{glossaries-extra-stylemods-2021-11-22.sty}
-\DeclareCurrentRelease{v1.49}{2022-10-14}
+\DeclareCurrentRelease{v1.50}{2022-11-08}
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossaries-extra-stylemods}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossaries-extra-stylemods}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
% Provide package options to automatically load required predefined
% styles. The simplest method is to just test for the existence of
@@ -43766,6 +43965,7 @@ defined}{}%
%\changes{1.21}{2017-11-03}{new}
%\changes{1.38}{2018-12-01}{added \sty{glossary-longextra}}
%\changes{1.40}{2019-03-22}{added \sty{glossary-topic}}
+%\changes{1.50}{2022-11-08}{added \sty{glossary-table}}
%Provide all known styles.
% \begin{macrocode}
\DeclareOption{all}{%
@@ -43782,6 +43982,7 @@ defined}{}%
\RequirePackage{glossary-bookindex}%
\RequirePackage{glossary-longextra}%
\RequirePackage{glossary-topic}%
+ \RequirePackage{glossary-table}%
}
}
% \end{macrocode}
@@ -45335,7 +45536,7 @@ defined}{}%
% User-level initialisation for the \glostyle{alttree} style.
% \begin{macrocode}
\newcommand*{\glsxtralttreeInit}{%
- \settowidth{\glsxtrtreetopindent}{\glstreenamefmt{\glsgetwidestname\space}}%
+ \glsmeasurewidth{\glsxtrtreetopindent}{\glstreenamefmt{\glsgetwidestname\space}}%
\glsxtrAltTreeIndent=\parindent
}
% \end{macrocode}
@@ -45381,8 +45582,8 @@ defined}{}%
\ifcsundef{@glswidestname\romannumeral#1}%
{\csdef{@glswidestname\romannumeral#1}{#2}}%
{%
- \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
- \settowidth{\dimen@ii}{#2}%
+ \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
+ \glsmeasurewidth{\dimen@ii}{#2}%
\ifdim\dimen@ii>\dimen@
\csdef{@glswidestname\romannumeral#1}{#2}%
\fi
@@ -45399,8 +45600,8 @@ defined}{}%
\ifcsundef{@glswidestname\romannumeral#1}%
{\csgdef{@glswidestname\romannumeral#1}{#2}}%
{%
- \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
- \settowidth{\dimen@ii}{#2}%
+ \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
+ \glsmeasurewidth{\dimen@ii}{#2}%
\ifdim\dimen@ii>\dimen@
\csgdef{@glswidestname\romannumeral#1}{#2}%
\fi
@@ -45417,8 +45618,8 @@ defined}{}%
\ifcsundef{@glswidestname\romannumeral#1}%
{\protected@csedef{@glswidestname\romannumeral#1}{#2}}%
{%
- \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
- \settowidth{\dimen@ii}{#2}%
+ \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
+ \glsmeasurewidth{\dimen@ii}{#2}%
\ifdim\dimen@ii>\dimen@
\protected@csedef{@glswidestname\romannumeral#1}{#2}%
\fi
@@ -45435,8 +45636,8 @@ defined}{}%
\ifcsundef{@glswidestname\romannumeral#1}%
{\protected@csxdef{@glswidestname\romannumeral#1}{#2}}%
{%
- \settowidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
- \settowidth{\dimen@ii}{#2}%
+ \glsmeasurewidth{\dimen@}{\csuse{@glswidestname\romannumeral#1}}%
+ \glsmeasurewidth{\dimen@ii}{#2}%
\ifdim\dimen@ii>\dimen@
\protected@csxdef{@glswidestname\romannumeral#1}{#2}%
\fi
@@ -45493,7 +45694,7 @@ defined}{}%
\ifglshasparent{\@glo@label}%
{}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
@@ -45522,7 +45723,7 @@ defined}{}%
{%
\ifglsused{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
@@ -45547,7 +45748,7 @@ defined}{}%
{%
\forglsentries[\@gls@type]{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
@@ -45587,7 +45788,7 @@ defined}{}%
\ifglshasparent{\@glo@parent}%
{}%
{%
- \settowidth{\gls@tmplen}%
+ \glsmeasurewidth{\gls@tmplen}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\gls@tmplen>\dimen@ii
\dimen@ii=\gls@tmplen
@@ -45596,7 +45797,7 @@ defined}{}%
}%
}%
{%
- \settowidth{\gls@tmplen}%
+ \glsmeasurewidth{\gls@tmplen}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\gls@tmplen>\dimen@i
\dimen@i=\gls@tmplen
@@ -45605,7 +45806,7 @@ defined}{}%
}%
}%
{%
- \settowidth{\gls@tmplen}%
+ \glsmeasurewidth{\gls@tmplen}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\gls@tmplen>\dimen@
\dimen@=\gls@tmplen
@@ -45645,7 +45846,7 @@ defined}{}%
\ifglshasparent{\@glo@parent}%
{}%
{%
- \settowidth{\gls@tmplen}%
+ \glsmeasurewidth{\gls@tmplen}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\gls@tmplen>\dimen@ii
\dimen@ii=\gls@tmplen
@@ -45654,7 +45855,7 @@ defined}{}%
}%
}%
{%
- \settowidth{\gls@tmplen}%
+ \glsmeasurewidth{\gls@tmplen}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\gls@tmplen>\dimen@i
\dimen@i=\gls@tmplen
@@ -45663,7 +45864,7 @@ defined}{}%
}%
}%
{%
- \settowidth{\gls@tmplen}%
+ \glsmeasurewidth{\gls@tmplen}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\gls@tmplen>\dimen@
\dimen@=\gls@tmplen
@@ -45692,13 +45893,13 @@ defined}{}%
{%
\ifglsused{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\eglssetwidest{\glsentryname{\@glo@label}}%
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glsentrysymbol{\@glo@label}}%
\ifdim\dimen@>#2\relax
#2=\dimen@
@@ -45723,13 +45924,13 @@ defined}{}%
{%
\forglsentries[\@gls@type]{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\eglssetwidest{\glsentryname{\@glo@label}}%
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glsentrysymbol{\@glo@label}}%
\ifdim\dimen@>#2\relax
#2=\dimen@
@@ -45760,18 +45961,18 @@ defined}{}%
{%
\ifglsused{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\eglssetwidest{\glsentryname{\@glo@label}}%
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glsentrysymbol{\@glo@label}}%
\ifdim\dimen@>#2\relax
#2=\dimen@
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}%
\ifdim\dimen@>#3\relax
#3=\dimen@
@@ -45798,18 +45999,18 @@ defined}{}%
{%
\forglsentries[\@gls@type]{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\eglssetwidest{\glsentryname{\@glo@label}}%
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glsentrysymbol{\@glo@label}}%
\ifdim\dimen@>#2\relax
#2=\dimen@
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}%
\ifdim\dimen@>#3\relax
#3=\dimen@
@@ -45837,13 +46038,13 @@ defined}{}%
{%
\ifglsused{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\eglssetwidest{\glsentryname{\@glo@label}}%
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}%
\ifdim\dimen@>#2\relax
#2=\dimen@
@@ -45869,13 +46070,13 @@ defined}{}%
{%
\forglsentries[\@gls@type]{\@glo@label}%
{%
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\glstreenamefmt{\glsentryname{\@glo@label}}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\eglssetwidest{\glsentryname{\@glo@label}}%
\fi
- \settowidth{\dimen@}%
+ \glsmeasurewidth{\dimen@}%
{\GlsXtrFormatLocationList{\glsentrynumberlist{\@glo@label}}}%
\ifdim\dimen@>#2\relax
#2=\dimen@
@@ -45911,10 +46112,10 @@ defined}{}%
\newcommand*{\glsxtrComputeTreeSubIndent}[3]{%
\ifcsundef{@glswidestname\romannumeral#1}%
{%
- \settowidth{#3}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{#3}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{#3}{\glstreenamefmt{%
+ \glsmeasurewidth{#3}{\glstreenamefmt{%
\csname @glswidestname\romannumeral#1\endcsname\space}}%
}%
}
@@ -46057,10 +46258,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\ifnum\@gls@prevlevel<##2\relax
@@ -46073,10 +46274,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\fi
@@ -46142,10 +46343,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\ifnum\@gls@prevlevel<##2\relax
@@ -46158,10 +46359,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\fi
@@ -46531,10 +46732,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\ifnum\@gls@prevlevel<##2\relax
@@ -46547,10 +46748,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\fi
@@ -46608,10 +46809,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\ifnum\@gls@prevlevel<##2\relax
@@ -46624,10 +46825,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\fi
@@ -46686,10 +46887,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\gls@tmplen}{\glstreenamefmt{%
+ \glsmeasurewidth{\gls@tmplen}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\ifnum\@gls@prevlevel<##2\relax
@@ -46702,10 +46903,10 @@ defined}{}%
\else
\ifcsundef{@glswidestname\romannumeral##2}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{\@glswidestname\space}}%
}%
{%
- \settowidth{\glstreeindent}{\glstreenamefmt{%
+ \glsmeasurewidth{\glstreeindent}{\glstreenamefmt{%
\csname @glswidestname\romannumeral##2\endcsname\space}}%
}%
\fi
@@ -46750,11 +46951,11 @@ defined}{}%
% Rollback releases:
% \begin{macrocode}
\DeclareRelease{v1.48}{2021-11-22}{glossary-bookindex-2021-11-22.sty}
-\DeclareCurrentRelease{v1.49}{2022-10-14}
+\DeclareCurrentRelease{v1.50}{2022-11-08}
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossary-bookindex}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossary-bookindex}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
%Load required packages.
% \begin{macrocode}
@@ -47366,11 +47567,11 @@ defined}{}%
% Rollback releases:
% \begin{macrocode}
\DeclareRelease{v1.48}{2021-11-22}{glossary-longextra-2021-11-22.sty}
-\DeclareCurrentRelease{v1.49}{2022-10-14}
+\DeclareCurrentRelease{v1.50}{2022-11-08}
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossary-longextra}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossary-longextra}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
%Load required packages.
% \begin{macrocode}
@@ -47719,8 +47920,8 @@ defined}{}%
\ifundef\@glslongextrawidestname
{\def\@glslongextrawidestname{#1}}%
{%
- \settowidth{\dimen@}{\@glslongextrawidestname}%
- \settowidth{\dimen@ii}{#1}%
+ \glsmeasurewidth{\dimen@}{\@glslongextrawidestname}%
+ \glsmeasurewidth{\dimen@ii}{#1}%
\ifdim\dimen@ii>\dimen@
\def\@glslongextrawidestname{#1}%
\fi
@@ -47750,11 +47951,11 @@ defined}{}%
% have name and description columns.
% \begin{macrocode}
\newcommand{\glslongextraSetDescWidth}{%
- \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\entryname}%
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\entryname}%
% \end{macrocode}
% Has the widest name been set.
% \begin{macrocode}
- \settowidth{\dimen@}{\glsnamefont{\@glslongextrawidestname}}%
+ \glsmeasurewidth{\dimen@}{\glsnamefont{\@glslongextrawidestname}}%
\ifdim\dimen@>\gls@tmplen
\gls@tmplen=\dimen@
\fi
@@ -47781,7 +47982,7 @@ defined}{}%
% Now work out the symbol column width. This is assuming that the
% column title will be the widest text in the column.
% \begin{macrocode}
- \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}%
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}%
% \end{macrocode}
% Subtract 2\cs{tabcolsep} and the symbol header width.
% \begin{macrocode}
@@ -47800,7 +48001,7 @@ defined}{}%
% Now work out the symbol column width. This is assuming that the
% column title will be the widest text in the column.
% \begin{macrocode}
- \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}%
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\symbolname}%
% \end{macrocode}
% Subtract 4\cs{tabcolsep} and the symbol header width.
% \begin{macrocode}
@@ -47856,7 +48057,7 @@ defined}{}%
% Now work out the short column width. This is assuming that the
% column title will be the widest text in the column.
% \begin{macrocode}
- \settowidth{\gls@tmplen}{\glslongextraHeaderFmt\glslongextraShortHeader}%
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\glslongextraShortHeader}%
% \end{macrocode}
% Subtract 4\cs{tabcolsep} and the above header width.
% \begin{macrocode}
@@ -49424,6 +49625,1247 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glslongextraCustomIField}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIField}{useri}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIHeader}{%
+ \MFUsentencecase{\glslongextraCustomIField}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIFmt}[1]{%
+ \glsxtrusefield{#1}{\glslongextraCustomIField}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraSubCustomIFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraSubCustomIFmt}[2]{%
+ \glslongextraCustomIFmt{#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIField}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIField}{userii}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIHeader}{%
+ \MFUsentencecase{\glslongextraCustomIIField}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIFmt}[1]{%
+ \glsxtrusefield{#1}{\glslongextraCustomIIField}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraSubCustomIIFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraSubCustomIIFmt}[2]{%
+ \glslongextraCustomIIFmt{#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIIField}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIIField}{useriii}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIIHeader}{%
+ \MFUsentencecase{\glslongextraCustomIIIField}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIIFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIIFmt}[1]{%
+ \glsxtrusefield{#1}{\glslongextraCustomIIIField}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraSubCustomIIIFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraSubCustomIIIFmt}[2]{%
+ \glslongextraCustomIIIFmt{#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIAlign}
+%\changes{1.50}{2022-11-08}{new}
+%Alignment for the custom1 column.
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIAlign}{l}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIAlign}
+%\changes{1.50}{2022-11-08}{new}
+%Alignment for the custom2 column.
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIAlign}{l}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIIAlign}
+%\changes{1.50}{2022-11-08}{new}
+%Alignment for the custom3 column.
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIIAlign}{l}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomTabularFooter}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomTabularFooter}{%
+ \bottomrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIHeader}{%
+ \glslongextraNameCustomITabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomITabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomITabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\entryname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader}%
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomINameHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomINameHeader}{%
+ \glslongextraCustomINameTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomINameTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomINameTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt\entryname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIHeader}{%
+ \glslongextraNameCustomIITabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIITabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIITabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\entryname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader}%
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIINameHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIINameHeader}{%
+ \glslongextraCustomIINameTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIINameTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIINameTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt\entryname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIIHeader}{%
+ \glslongextraNameCustomIIITabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIITabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIITabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\entryname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIIHeader}%
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomNameIIIHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIINameHeader}{%
+ \glslongextraCustomIIINameTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIINameTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIINameTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIIHeader} &
+ \glslongextraHeaderFmt\entryname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{style}{long-name-custom1}
+%\changes{1.50}{2022-11-08}{new}
+%Two column style with custom 1 field in the second column.
+% \begin{macrocode}
+\newglossarystyle{long-name-custom1}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomITabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{2}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{2}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraNameFmt{##1} &
+ \glslongextraCustomIFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubNameFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-custom1-name}
+%\changes{1.50}{2022-11-08}{new}
+%Two column style with custom 1 field in the first column.
+% \begin{macrocode}
+\newglossarystyle{long-custom1-name}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraCustomINameTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraCustomINameHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{2}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{2}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraCustomIFmt{##1} &
+ \glslongextraNameFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubCustomIFmt{##1}{##2} &
+ \glslongextraSubNameFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-name-custom2}
+%\changes{1.50}{2022-11-08}{new}
+%Three column style with custom 1 field in the second column and
+%custom 2 field in the third column.
+% \begin{macrocode}
+\newglossarystyle{long-name-custom2}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIITabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraNameFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubNameFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2} &
+ \glslongextraSubCustomIIFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-custom2-name}
+%\changes{1.50}{2022-11-08}{new}
+%As long-name-custom2 but with the name column at the end.
+% \begin{macrocode}
+\newglossarystyle{long-custom2-name}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraCustomIINameTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraCustomIINameHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1} &
+ \glslongextraNameFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubCustomIFmt{##1}{##2} &
+ \glslongextraSubCustomIIFmt{##1}{##2} &
+ \glslongextraSubNameFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-name-custom3}
+%\changes{1.50}{2022-11-08}{new}
+%Four column style with custom 1 field in the second column,
+%custom 2 field in the third column and custom 3 field in the fourth
+%column.
+% \begin{macrocode}
+\newglossarystyle{long-name-custom3}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIITabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIIAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIIHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraNameFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}&
+ \glslongextraCustomIIIFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubNameFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2} &
+ \glslongextraSubCustomIIFmt{##1}{##2} &
+ \glslongextraSubCustomIIIFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-custom3-name}
+%\changes{1.50}{2022-11-08}{new}
+%As long-name-custom3 but with the name in the end column.
+% \begin{macrocode}
+\newglossarystyle{long-custom3-name}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraCustomIIINameTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraCustomIIINameHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}&
+ \glslongextraCustomIIIFmt{##1} &
+ \glslongextraNameFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubCustomIFmt{##1}{##2} &
+ \glslongextraSubCustomIIFmt{##1}{##2} &
+ \glslongextraSubCustomIIIFmt{##1}{##2} &
+ \glslongextraSubNameFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{macro}{\glslongextraCustomISetDescWidth}
+%\changes{1.50}{2022-11-08}{new}
+% Computes the value of \cs{glsdescwidth} for the styles that
+% have name, custom1 and description columns.
+% \begin{macrocode}
+\newcommand{\glslongextraCustomISetDescWidth}{%
+% \end{macrocode}
+% Work out the size for just the name and description style.
+% \begin{macrocode}
+ \glslongextraSetDescWidth
+% \end{macrocode}
+% Now work out the custom1 column width. This is assuming that the
+% column title will be the widest text in the column.
+% \begin{macrocode}
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\glslongextraCustomIHeader}%
+% \end{macrocode}
+% Subtract 2\cs{tabcolsep} and the custom1 header width.
+% \begin{macrocode}
+ \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\gls@tmplen}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIISetDescWidth}
+%\changes{1.50}{2022-11-08}{new}
+% Computes the value of \cs{glsdescwidth} for the styles that
+% have name, custom1, custom2 and description columns.
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIISetDescWidth}{%
+ \glslongextraCustomISetDescWidth
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\glslongextraCustomIIHeader}%
+ \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\gls@tmplen}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraCustomIIISetDescWidth}
+%\changes{1.50}{2022-11-08}{new}
+% Computes the value of \cs{glsdescwidth} for the styles that
+% have name, custom1, custom2 and description columns.
+% \begin{macrocode}
+\newcommand{\glslongextraCustomIIISetDescWidth}{%
+ \glslongextraCustomIISetDescWidth
+ \glsmeasurewidth{\gls@tmplen}{\glslongextraHeaderFmt\glslongextraCustomIIIHeader}%
+ \setlength{\glsdescwidth}{\dimexpr\glsdescwidth-2\tabcolsep-\gls@tmplen}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIDescHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIDescHeader}{%
+ \glslongextraNameCustomIDescTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIDescTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIDescTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\entryname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt\descriptionname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIDescHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIDescHeader}{%
+ \glslongextraNameCustomIIDescTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIDescTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIDescTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\entryname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt\descriptionname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIIDescHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIIDescHeader}{%
+ \glslongextraNameCustomIIIDescTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraNameCustomIIIDescTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraNameCustomIIIDescTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\entryname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIIHeader} &
+ \glslongextraHeaderFmt\descriptionname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{style}{long-name-custom1-desc}
+%\changes{1.50}{2022-11-08}{new}
+%Three column style with custom 1 field in the second column and the
+%description in the third.
+% \begin{macrocode}
+\newglossarystyle{long-name-custom1-desc}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \glslongextraCustomISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraDescAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIDescTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \glslongextraCustomISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraDescAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIDescHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraNameFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraDescFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubNameFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}&
+ \glslongextraSubDescFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-name-custom2-desc}
+%\changes{1.50}{2022-11-08}{new}
+%Four column style with custom 1 field in the second column, custom
+%2 field in the third column and the description in the fourth.
+% \begin{macrocode}
+\newglossarystyle{long-name-custom2-desc}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \glslongextraCustomIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraDescAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIDescTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \glslongextraCustomIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraDescAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIDescHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraNameFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}&
+ \glslongextraDescFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubNameFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}&
+ \glslongextraSubCustomIIFmt{##1}{##2}&
+ \glslongextraSubDescFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-name-custom3-desc}
+%\changes{1.50}{2022-11-08}{new}
+%Five column style with custom 1 field in the second column, custom
+%2 field in the third column, custom 3 field in the fourth column,
+%and the description in the fifth.
+% \begin{macrocode}
+\newglossarystyle{long-name-custom3-desc}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \glslongextraCustomIIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIIAlign
+ \expandonce\glslongextraDescAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIIDescTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \glslongextraCustomIIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraNameAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIIAlign
+ \expandonce\glslongextraDescAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraNameCustomIIIDescHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{5}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{5}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraNameFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}&
+ \glslongextraCustomIIIFmt{##1}&
+ \glslongextraDescFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubNameFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}&
+ \glslongextraSubCustomIIFmt{##1}{##2}&
+ \glslongextraSubCustomIIIFmt{##1}{##2}&
+ \glslongextraSubDescFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{macro}{\glslongextraDescCustomINameHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraDescCustomINameHeader}{%
+ \glslongextraDescCustomINameTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraDescCustomINameTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraDescCustomINameTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\descriptionname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt\entryname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraDescCustomIINameHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraDescCustomIINameHeader}{%
+ \glslongextraDescCustomIINameTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraDescCustomIINameTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraDescCustomIINameTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\descriptionname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt\entryname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraDescCustomIIINameHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraDescCustomIIINameHeader}{%
+ \glslongextraDescCustomIIINameTabularHeader\endhead
+ \glslongextraCustomTabularFooter\endfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glslongextraDescCustomIIINameTabularHeader}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glslongextraDescCustomIIINameTabularHeader}{%
+ \toprule
+ \glslongextraHeaderFmt\descriptionname &
+ \glslongextraHeaderFmt{\glslongextraCustomIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIHeader} &
+ \glslongextraHeaderFmt{\glslongextraCustomIIIHeader} &
+ \glslongextraHeaderFmt\entryname
+ \tabularnewline\midrule
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{style}{long-desc-custom1-name}
+%\changes{1.50}{2022-11-08}{new}
+%As long-name-custom1-desc but with the name and description columns
+%the other way around.
+% \begin{macrocode}
+\newglossarystyle{long-desc-custom1-name}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \glslongextraCustomISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraDescAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraDescCustomINameTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \glslongextraCustomISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraDescAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraDescCustomINameHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{3}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{3}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraDescFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraNameFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubDescFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}&
+ \glslongextraSubNameFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-desc-custom2-name}
+%\changes{1.50}{2022-11-08}{new}
+%As long-name-custom2-desc but with the name and description columns
+%the other way around.
+% \begin{macrocode}
+\newglossarystyle{long-desc-custom2-name}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \glslongextraCustomIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraDescAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraDescCustomIINameTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \glslongextraCustomIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraDescAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraDescCustomIINameHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{4}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{4}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraDescFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}&
+ \glslongextraNameFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubDescFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}&
+ \glslongextraSubCustomIIFmt{##1}{##2}&
+ \glslongextraSubNameFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
+%\begin{style}{long-desc-custom3-name}
+%\changes{1.50}{2022-11-08}{new}
+%As long-name-custom-desc but with the name and description columns
+%switched.
+% \begin{macrocode}
+\newglossarystyle{long-desc-custom3-name}%
+{%
+ \ifGlsLongExtraUseTabular
+ \renewenvironment{theglossary}%
+ {%
+ \glslongextraCustomIIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{tabular}[\glslongextraTabularVAlign]{%
+ \expandonce\glslongextraDescAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {%
+ \glslongextraCustomTabularFooter
+ \end{tabular}%
+ }%
+ \renewcommand*{\glossaryheader}{\glslongextraDescCustomIIINameTabularHeader}%
+ \else
+ \renewenvironment{theglossary}%
+ {%
+ \glspatchLToutput
+ \glslongextraCustomIIISetDescWidth
+ \edef\@glslongextra@begintab{%
+ \noexpand\begin{longtable}{%
+ \expandonce\glslongextraDescAlign
+ \expandonce\glslongextraCustomIAlign
+ \expandonce\glslongextraCustomIIAlign
+ \expandonce\glslongextraCustomIIIAlign
+ \expandonce\glslongextraNameAlign
+ }}%
+ \@glslongextra@begintab
+ }%
+ {\end{longtable}}%
+ \renewcommand*{\glossaryheader}{\glslongextraDescCustomIIINameHeader}%
+ \fi
+ \renewcommand*{\glsgroupheading}[1]{\glslongextraGroupHeading{5}{##1}}%
+% \end{macrocode}
+% Sub-groups are only supported with \cs{printunsrtglossary}.
+% \begin{macrocode}
+ \renewcommand*{\glssubgroupheading}{\glslongextraSubGroupHeading{5}}%
+ \renewcommand{\glossentry}[2]{%
+ \glslongextraDescFmt{##1} &
+ \glslongextraCustomIFmt{##1}&
+ \glslongextraCustomIIFmt{##1}&
+ \glslongextraCustomIIIFmt{##1}&
+ \glslongextraNameFmt{##1}\tabularnewline
+ }%
+ \renewcommand{\subglossentry}[3]{%
+ \glslongextraSubDescFmt{##1}{##2} &
+ \glslongextraSubCustomIFmt{##1}{##2}&
+ \glslongextraSubCustomIIFmt{##1}{##2}&
+ \glslongextraSubCustomIIIFmt{##1}{##2}&
+ \glslongextraSubNameFmt{##1}{##2}\tabularnewline
+ }%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
+}
+% \end{macrocode}
+%\end{style}
+%
%\iffalse
% \begin{macrocode}
%</glossary-longextra.sty>
@@ -49444,11 +50886,11 @@ defined}{}%
% Rollback releases:
% \begin{macrocode}
\DeclareRelease{v1.48}{2021-11-22}{glossary-topic-2021-11-22.sty}
-\DeclareCurrentRelease{v1.49}{2022-10-14}
+\DeclareCurrentRelease{v1.50}{2022-11-08}
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossary-topic}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossary-topic}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
%Load required package.
% \begin{macrocode}
@@ -49686,7 +51128,7 @@ defined}{}%
{%
\ifcsdef{@glswidestname\romannumeral#1}%
{%
- \settowidth{\glstopicwidest}{%
+ \glsmeasurewidth{\glstopicwidest}{%
\glstopicSubNameFont{\csuse{@glswidestname\romannumeral#1}}%
\glstopicSubItemSep
}%
@@ -49876,11 +51318,24 @@ defined}{}%
% \end{macrocode}
% Declare package:
% \begin{macrocode}
-\ProvidesPackage{glossary-table}[2022/10/14 v1.49 (NLCT)]
+\ProvidesPackage{glossary-table}[2022/11/08 v1.50 (NLCT)]
% \end{macrocode}
%Load required packages.
% \begin{macrocode}
-\RequirePackage{glossary-longbooktabs}
+\RequirePackage{longtable}
+\RequirePackage{array}
+\RequirePackage{booktabs}
+% \end{macrocode}
+%Check if \cs{gls@start@measuring} has been defined (introduced to
+%\sty{glossaries} v4.51). This package also requires \cs{ifglsfieldvoid}
+%which was added to \sty{glossaries} v4.50.
+% \begin{macrocode}
+\ifdef\gls@start@measuring
+{}
+{\PackageError{glossary-table}%
+ {glossaries.sty v4.51+ required. Please update glossaries.sty}
+ {Your version of glossaries.sty is too old. Minimum version 4.51 required}
+}
% \end{macrocode}
%\begin{macro}{\glstableblockperrowcount}
%\changes{1.49}{2022-10-14}{new}
@@ -49954,6 +51409,12 @@ defined}{}%
\KV@printglosstable@rulestrue
% \end{macrocode}
%
+%Provide boolean option to suppress caption.
+% \begin{macrocode}
+\define@boolkey{printglosstable}{caption}[true]{}
+\KV@printglosstable@captiontrue
+% \end{macrocode}
+%
% \begin{macrocode}
\define@key{printglosstable}{blocksep}{\renewcommand{\glstable@blockalignsep}{#1}}
% \end{macrocode}
@@ -49966,10 +51427,31 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstablesubentryalign}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstablesubentryalign}{%
+ \glstableleftalign{\dimexpr\glstablesubentrywidth-\tabcolsep}@{}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstablesubentrywidth}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstablesubentrywidth}{\glstabledescwidth}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{environment}{glstablesubentries}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newenvironment{glstablesubentries}{\begin{tabular}[t]{l}}{\end{tabular}}
+\newenvironment{glstablesubentries}%
+ {%
+ \protected@edef\@gls@dotabular{%
+ \noexpand\begin{tabular}[t]{\glstablesubentryalign}}%
+ \@gls@dotabular
+ }%
+ {\end{tabular}}
% \end{macrocode}
%\end{environment}
%
@@ -49983,7 +51465,7 @@ defined}{}%
%\begin{macro}{\glstableblocksubentrysep}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableblocksubentrysep}{\\}
+\newcommand{\glstableblocksubentrysep}{\glstablenewline}
% \end{macrocode}
%\end{macro}
%
@@ -50060,6 +51542,14 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableothercolalign}
+%\changes{1.50}{2022-11-08}{new}
+%The alignment for the description column.
+% \begin{macrocode}
+\newcommand{\glstableothercolalign}{\glstableleftalign{\glstableotherwidth}}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstablesymbolcolalign}
%\changes{1.49}{2022-10-14}{new}
%The alignment for the symbol column.
@@ -50072,25 +51562,35 @@ defined}{}%
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableNameTarget}[1]{%
- \glstarget{#1}{\glstableNameFmt{#1}}%
+ \glstarget{#1}{\glstableName{#1}}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\glstableNameFmt}
%\changes{1.49}{2022-10-14}{new}
+% \begin{macrocode}
+\newcommand{\glstableNameFmt}[1]{#1}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableName}
+%\changes{1.50}{2022-11-08}{new}
%Entry item needs to be included in measuring to ensure there's
%enough room for it as well.
% \begin{macrocode}
-\newcommand{\glstableNameFmt}[1]{\glsentryitem{#1}\glossentryname{#1}}
+\newcommand{\glstableName}[1]{%
+ \glsentryitem{#1}%
+ \glstableNameFmt{\glossentryname{#1}}}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\glstableSubNameTarget}
%\changes{1.49}{2022-10-14}{new}
+%\changes{1.50}{move}{moved \cs{glssubentryitem}}
% \begin{macrocode}
\newcommand{\glstableSubNameTarget}[1]{%
- \glstarget{#1}{\glstableSubNameFmt{#1}}%
+ \glstarget{#1}{\glstableSubName{#1}}%
}
% \end{macrocode}
%\end{macro}
@@ -50098,8 +51598,16 @@ defined}{}%
%\begin{macro}{\glstableSubNameFmt}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableSubNameFmt}[1]{%
+\newcommand{\glstableSubNameFmt}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubName}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubName}[1]{%
\glssubentryitem{#1}%
+ \glstableSubNameFmt{\glossentryname{#1}}%
}
% \end{macrocode}
%\end{macro}
@@ -50111,6 +51619,19 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableifhasotherfield}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableifhasotherfield}[3]{%
+ \ifdefvoid\glstableotherfield
+ {#3}%
+ {%
+ \ifglsfieldvoid{\glstableotherfield}{#1}{#3}{#2}%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
%Add an extra key to allow this value to be changed.
% \begin{macrocode}
\define@key{printglosstable}{other}{\renewcommand{\glstableotherfield}{#1}}
@@ -50120,7 +51641,43 @@ defined}{}%
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableOther}[1]{%
- \glsxtrusefield{#1}{\glstableotherfield}}
+ \glstableOtherFmt{\glsxtrusefield{#1}{\glstableotherfield}}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableOtherFmt}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableOtherFmt}[1]{#1}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubOther}
+%\changes{1.49}{2022-10-14}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubOther}[1]{\glstableOther{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableOtherWithSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableOtherWithSep}[3]{%
+ \glstableifhasotherfield{#2}%
+ {#1\glstableOther{#2}#3}%
+ {}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubOtherWithSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubOtherWithSep}[3]{%
+ \glstableifhasotherfield{#2}%
+ {#1\glstableSubOther{#2}#3}%
+ {}%
+}
% \end{macrocode}
%\end{macro}
%
@@ -50128,43 +51685,72 @@ defined}{}%
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableNameSingleFmt}[1]{%
- \glstableNameTarget{#1}%
- \ifglshasdesc{#1}%
- {%
- \glstableNameSinglePostName
- \glstableNameSingleSuppl
- {%
- \ifglshassymbol{#1}%
- {\glstableSymbolFmt{#1}\glstableNameSingleSymSep}%
+ \glstableNameTarget{#1}%
+ \ifglshasdesc{#1}%
+ {%
+% \end{macrocode}
+%Has description.
+% \begin{macrocode}
+ \glstableNameSinglePostName
+ \glstableNameSingleSuppl
+ {%
+ \ifglshassymbol{#1}%
+ {\glstableSymbol{#1}\glstableNameSingleSymSep}%
{}%
- \ifdefempty\glstableotherfield{}%
- {%
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableOther{#1}\glstableOtherSep}%
- }%
- \glstableDescFmt{#1}%
- }%
- }%
- {%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{changed \cs{GlsXtrIfFieldUndef} to
+%\cs{ifglsfieldvoid}}
+% \begin{macrocode}
+ \glstableOtherWithSep{}{#1}{\glstableOtherSep}%
+ \glstableDesc{#1}%
+ }%
+ }%
+ {%
+% \end{macrocode}
+%No description.
+% \begin{macrocode}
\ifglshassymbol{#1}%
- {%
+ {%
+% \end{macrocode}
+%Has symbol
+% \begin{macrocode}
\glstableNameSinglePostName
- \glstableNameSingleSuppl{\glstableSymbolFmt{#1}}%
- \ifdefempty\glstableotherfield{}%
+ \glstableNameSingleSuppl
{%
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableNameSingleSymSep\glstableOther{#1}}%
+ \glstableSymbol{#1}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{moved other field inside \cs{glstableNameSingleSuppl}}
+% \begin{macrocode}
+ \glstableifhasotherfield{#1}%
+ {%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{changed \cs{GlsXtrIfFieldUndef} to
+%\cs{ifglsfieldvoid}}
+% \begin{macrocode}
+ \glstableNameSingleSymSep\glstableOther{#1}%
+ }%
+ {}%
}%
- }%
- {%
- \ifdefempty\glstableotherfield{}%
+ }%
+ {%
+% \end{macrocode}
+%No description or symbol.
+% \begin{macrocode}
+ \glstableifhasotherfield{#1}%
{%
+% \end{macrocode}
+%Has other but no description or symbol
+% \begin{macrocode}
\glstableNameSinglePostName
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableOther{#1}}%
+ \glstableNameSingleSuppl{\glstableOther{#1}}%
+ }%
+ {%
+% \end{macrocode}
+%No description, symbol or other.
+% \begin{macrocode}
}%
}%
- }%
+ }%
}
% \end{macrocode}
%\end{macro}
@@ -50197,26 +51783,120 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableSubOtherSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubOtherSep}{\glstableOtherSep}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubDescSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubDescSep}{\glstableSubOtherSep}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstableSubNameSingleFmt}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableSubNameSingleFmt}[1]{%
\glstableSubNameTarget{#1}%
- \GlsXtrIfFieldUndef{desc}{#1}{}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{changed \cs{GlsXtrIfFieldUndef} to
+%\cs{ifglshasdesc}}
+% \begin{macrocode}
+ \ifglshasdesc{#1}%
{%
- \GlsXtrIfFieldUndef{symbol}{#1}{}{}%
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{changed \cs{GlsXtrIfFieldUndef} to
+%\cs{ifglshassymbol}}
+% \begin{macrocode}
+ \ifglshassymbol{#1}%
+ {%
+ \glstableifhasotherfield{#1}%
+ {%
+% \end{macrocode}
+%Description, symbol and other
+% \begin{macrocode}
+ \glstableNameSinglePostSubName
+ \glstableNameSingleSubSuppl
+ {%
+ \glstableSubSymbol{#1}%
+ \glstableNameSingleSymSep
+ \glstableSubOtherWithSep{}{#1}{\glstableSubOtherSep}%
+ \glstableSubDesc{#1}%
+ }%
+ }%
+ {%
+% \end{macrocode}
+%Description and symbol but no other.
+% \begin{macrocode}
+ \glstableNameSinglePostSubName
+ \glstableNameSingleSubSuppl
+ {%
+ \glstableSubSymbol{#1}%
+ \glstableNameSingleSymSep
+ \glstableSubDesc{#1}%
+ }%
+ }%
+ }%
{%
+% \end{macrocode}
+%Description but no symbol.
+% \begin{macrocode}
\glstableNameSinglePostSubName
- \glstableNameSingleSubSuppl{\glstableSubSymbolFmt{#1}}%
+ \glstableNameSingleSubSuppl
+ {%
+ \glstableSubOtherWithSep{}{#1}{\glstableSubOtherSep}%
+ \glstableSubDesc{#1}%
+ }%
}%
}%
{%
- \glstableNameSinglePostSubName
- \glstableNameSingleSubSuppl
+% \end{macrocode}
+%No description.
+%\changes{1.50}{2022-11-08}{changed \cs{GlsXtrIfFieldUndef} to
+%\cs{ifglshassymbol}}
+% \begin{macrocode}
+ \ifglshassymbol{#1}%
{%
- \GlsXtrIfFieldUndef{symbol}{#1}{}%
- {\glstableSubSymbolFmt{#1}\glstableNameSingleSymSep}%
- \glstableSubDescFmt{#1}%
+% \end{macrocode}
+%No description but has symbol.
+% \begin{macrocode}
+ \glstableNameSinglePostSubName
+ \glstableNameSingleSubSuppl
+ {%
+ \glstableifhasotherfield{#1}%
+ {%
+% \end{macrocode}
+%No description, but has symbol and other.
+% \begin{macrocode}
+ \glstableSubSymbol{#1}\glstableNameSingleSymSep
+ \glstableSubOther{#1}%
+ }%
+ {%
+% \end{macrocode}
+%No description or other but has symbol.
+% \begin{macrocode}
+ \glstableSubSymbol{#1}%
+ }%
+ }%
+ }%
+ {%
+ \glstableifhasotherfield{#1}%
+ {%
+% \end{macrocode}
+%No description or symbol but has other.
+% \begin{macrocode}
+ \glstableNameSinglePostSubName
+ \glstableNameSingleSubSuppl{\glstableSubOther{#1}}%
+ }%
+ {%
+% \end{macrocode}
+%No description, symbol or other.
+% \begin{macrocode}
+ }%
}%
}%
}
@@ -50237,29 +51917,58 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableSubSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubSep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubNameSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubNameSep}{}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstableNameNoDesc}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableNameNoDesc}[1]{%
\glstableNameTarget{#1}%
- \ifdefempty\glstableotherfield{}%
- {%
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableOtherSep\glstableOther{#1}}%
- }%
+ \glstableOtherWithSep{\glstableSubNameSep}{##1}{}%
}
% \end{macrocode}
%\end{macro}
%
%\begin{macro}{\glstableSubNameNoDesc}
%\changes{1.49}{2022-10-14}{new}
+%\changes{1.50}{2022-11-08}{changed \cs{glstableOther} to
+%\cs{glstableSubOtherWithSep}}
% \begin{macrocode}
\newcommand{\glstableSubNameNoDesc}[1]{%
\glstableSubNameTarget{#1}%
- \ifdefempty\glstableotherfield{}%
+ \glstableSubOtherWithSep{\glstableSubNameSep}{#1}{}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubNameSymbolNoDesc}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubNameSymbolNoDesc}[1]{%
+ \glstableSubNameTarget{#1}%
+ \glstableifhasotherfield{#1}%
{%
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableOtherSep\glstableOther{#1}}%
+ \glstableSubOther{#1}%
+ \ifglshassymbol{#1}%
+ {\glstableSubOtherSep\glstableSubSymbol{#1}}%
+ {}%
+ }%
+ {%
+ \ifglshassymbol{#1}%
+ {\glstableSubSymbol{#1}}%
+ {}%
}%
}
% \end{macrocode}
@@ -50268,7 +51977,14 @@ defined}{}%
%\begin{macro}{\glstableSymbolFmt}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableSymbolFmt}[1]{\glossentrysymbol{#1}}
+\newcommand{\glstableSymbolFmt}[1]{#1}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSymbol}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSymbol}[1]{\glstableSymbolFmt{\glossentrysymbol{#1}}}
% \end{macrocode}
%\end{macro}
%
@@ -50279,12 +51995,30 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableSubSymbol}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubSymbol}[1]{\glstableSubSymbolFmt{\glossentrysymbol{#1}}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubSymbolWithSep}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubSymbolWithSep}[3]{%
+ \ifglshassymbol{#2}%
+ {#1\glstableSubSymbol{#2}#3}%
+ {}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstableSymbolNameTarget}
%\changes{1.49}{2022-10-14}{new}
%Where the symbol takes place of the name.
% \begin{macrocode}
\newcommand{\glstableSymbolNameTarget}[1]{%
- \glstarget{#1}{\glstableSymbolNameFmt{#1}}%
+ \glstarget{#1}{\glstableSymbolName{#1}}%
}
% \end{macrocode}
%\end{macro}
@@ -50292,7 +52026,18 @@ defined}{}%
%\begin{macro}{\glstableSymbolNameFmt}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableSymbolNameFmt}[1]{\glsentryitem{#1}\glossentrysymbol{#1}}
+\newcommand{\glstableSymbolNameFmt}[1]{%
+ \glstableSymbolFmt{#1}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSymbolName}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSymbolName}[1]{%
+ \glsentryitem{#1}\glstableSymbolNameFmt{\glossentrysymbol{#1}}%
+}
% \end{macrocode}
%\end{macro}
%
@@ -50301,7 +52046,7 @@ defined}{}%
%Where the symbol takes place of the name.
% \begin{macrocode}
\newcommand{\glstableSubSymbolNameTarget}[1]{%
- \glstarget{#1}{\glstableSubSymbolNameFmt{#1}}%
+ \glstarget{#1}{\glstableSubSymbolName{#1}}%
}
% \end{macrocode}
%\end{macro}
@@ -50309,7 +52054,16 @@ defined}{}%
%\begin{macro}{\glstableSubSymbolNameFmt}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableSubSymbolNameFmt}[1]{\glssubentryitem{#1}}
+\newcommand{\glstableSubSymbolNameFmt}[1]{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubSymbolName}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubSymbolName}[1]{%
+ \glssubentryitem{#1}\glstableSubSymbolNameFmt{\glossentrysymbol{#1}}%
+}
% \end{macrocode}
%\end{macro}
%
@@ -50317,12 +52071,7 @@ defined}{}%
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableDesc}[1]{%
- \ifdefempty\glstableotherfield{}%
- {%
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableOther{#1}\ifglshasdesc{#1}{\glstableOtherSep}{}}%
- }%
- \glstableDescFmt{#1}%
+ \glstableDescFmt{\glossentrydesc{#1}\glspostdescription}%
}
% \end{macrocode}
%\end{macro}
@@ -50330,14 +52079,24 @@ defined}{}%
%\begin{macro}{\glstableDescFmt}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableDescFmt}[1]{\glossentrydesc{#1}\glspostdescription}
+\newcommand{\glstableDescFmt}[1]{#1}
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\glstableSubDesc}
+%\begin{macro}{\glstableDescWithOther}
%\changes{1.49}{2022-10-14}{new}
+%\changes{1.50}{2022-11-08}{new}
% \begin{macrocode}
-\newcommand{\glstableSubDesc}[1]{\glstableDesc{#1}}
+\newcommand{\glstableDescWithOther}[1]{%
+ \glstableifhasotherfield{#1}%
+ {%
+ \glstableOther{#1}%
+ \ifglshasdesc{#1}{\glstableOtherSep\glstableDesc{#1}}{}%
+ }%
+ {%
+ \ifglshasdesc{#1}{\glstableDesc{#1}}{}%
+ }%
+}
% \end{macrocode}
%\end{macro}
%
@@ -50348,25 +52107,80 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\glstableOtherNoDesc}
+%\begin{macro}{\glstableSubDesc}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstableOtherNoDesc}[1]{%
- \ifdefempty\glstableotherfield{}%
+\newcommand{\glstableSubDesc}[1]{%
+ \glstableSubDescFmt{\glossentrydesc{#1}\glspostdescription}%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glstableSubDescWithOther}
+%\changes{1.49}{2022-10-14}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubDescWithOther}[1]{\glstableDescWithOther{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableSubDescSymbolOther}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubDescSymbolOther}[1]{%
+ \ifglshasdesc{#1}%
+ {%
+ \glstableSubDesc{#1}%
+ \ifglshassymbol{#1}%
+ {%
+ \glstableSubDescSep
+ \glstableSubSymbol{#1}%
+ \glstableSubOtherWithSep{\glstableSubSep}{#1}{}%
+ }%
+ {%
+ \glstableSubOtherWithSep{\glstableSubOtherSep}{#1}{}%
+ }%
+ }%
{%
- \GlsXtrIfFieldUndef{\glstableotherfield}{#1}{}%
- {\glstableOther{#1}}%
+ \ifglshassymbol{#1}%
+ {%
+ \glstableSubSymbol{#1}%
+ \glstableSubOtherWithSep{\glstableSubSep}{#1}{}%
+ }%
+ {\glstableSubOther{#1}}%
}%
}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableOtherNoDesc}
+%\changes{1.49}{2022-10-14}{new}
+\newcommand{\glstableOtherNoDesc}[1]{%
+ \glstableOtherIfSet{#1}%
+}
+% \begin{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableOtherIfSet}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableOtherIfSet}[1]{%
+ \glstableifhasotherfield{#1}{\glstableOther{#1}}{}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstableSubOtherNoDesc}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstableSubOtherNoDesc}[1]{%
\glstableOtherNoDesc{#1}%
}
+%\end{macro}
+%\begin{macro}{\glstableSubOtherIfSet}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableSubOtherIfSet}[1]{%
+ \glstableOtherIfSet{#1}%
+}
% \end{macrocode}
%\end{macro}
%
@@ -50402,8 +52216,7 @@ defined}{}%
%\end{macro}
%\begin{macro}{\glstableblockalign}
%\changes{1.49}{2022-10-14}{new}
-%The column alignment.
-%The default assumes two columns per entry (name and description)
+%The column alignment specs for the block.
%Redefined by the block style.
% \begin{macrocode}
\newcommand{\glstableblockalign}{}
@@ -50421,7 +52234,7 @@ defined}{}%
%
%\begin{macro}{\glstableblocksubentry}
%\changes{1.49}{2022-10-14}{new}
-%The sub-entry is in the final column of the block (requires children to be saved)
+%The sub-entry is in a single column of the block (requires children to be saved)
%Redefined by block style.
% \begin{macrocode}
\newcommand{\glstableblocksubentry}[1]{}
@@ -50476,6 +52289,8 @@ defined}{}%
%\end{macro}
%
%Provide some common layouts.
+%\begin{blockstyle}{name-desc}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{name-desc}{%
% \end{macrocode}
@@ -50488,7 +52303,7 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablenamewidth}%
+ \glsmeasurewidth{\glstablenamewidth}%
{\glstableHeaderFmt\glstablenameheader}%
\else
\setlength{\glstablenamewidth}{0pt}%
@@ -50499,7 +52314,7 @@ defined}{}%
% Update width in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
}%
% \end{macrocode}
% Finally set the description width to the remaining available.
@@ -50516,12 +52331,21 @@ defined}{}%
% How to format the top-level entry in the block.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableNameTarget{##1} & \glstableDesc{##1}}%
+ \glstableNameTarget{##1} &
+ \glstableDescWithOther{##1}%
+ \glstableChildEntries{##1}%
+ }%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubNameTarget{##1} & \glstableSubDesc{##1}}%
+ \glstableSubNameTarget{##1}\glstableSubNameSep
+ \glstableSubDescWithOther{##1}%
+ }%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstabledescwidth}
% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
@@ -50534,11 +52358,14 @@ defined}{}%
\renewcommand{\glstableblockalign}{\glstablenamecolalign\glstabledesccolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%Set the default style.
% \begin{macrocode}
\glstablesetstyle{name-desc}
% \end{macrocode}
%
+%\begin{blockstyle}{name}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{name}{%
% \end{macrocode}
@@ -50564,13 +52391,19 @@ defined}{}%
% How to format the top-level entry in the block.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableNameSingleFmt{##1}}%
+ \glstableNameSingleFmt{##1}%
+ \glstableChildEntries{##1}%
+}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
\glstableSubNameSingleFmt{##1}}%
% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstableblockwidth}
+% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
\renewcommand{\glstableblockheader}{%
@@ -50581,7 +52414,10 @@ defined}{}%
\renewcommand{\glstableblockalign}{\glstablenamecolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{name-symbol}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{name-symbol}{%
% \end{macrocode}
@@ -50595,7 +52431,7 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablesymbolwidth}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
{\glstableHeaderFmt\glstablesymbolheader}%
\else
\setlength{\glstablesymbolwidth}{0pt}%
@@ -50606,7 +52442,7 @@ defined}{}%
% Update widths in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbol{##1}}%
}%
% \end{macrocode}
% Finally set the name width to the remaining available.
@@ -50621,14 +52457,21 @@ defined}{}%
}%
% \end{macrocode}
% How to format the top-level entry in the block.
+%v1.50 child entries now in name column.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableNameNoDesc{##1} & \glstableSymbolFmt{##1}}%
+ \glstableNameNoDesc{##1}%
+ \glstableChildEntries{##1}%
+ & \glstableSymbol{##1}}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubNameNoDesc{##1} & \glstableSubSymbolFmt{##1}}%
+ \glstableSubNameSymbolNoDesc{##1}}%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstablenamewidth}
% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
@@ -50641,7 +52484,10 @@ defined}{}%
\renewcommand{\glstableblockalign}{\glstablenamecolalign\glstablesymbolcolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{desc-name}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{desc-name}{%
% \end{macrocode}
@@ -50654,7 +52500,7 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablenamewidth}%
+ \glsmeasurewidth{\glstablenamewidth}%
{\glstableHeaderFmt\glstablenameheader}%
\else
\setlength{\glstablenamewidth}{0pt}%
@@ -50665,7 +52511,7 @@ defined}{}%
% Update width in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
}%
% \end{macrocode}
% Finally set the description width to the remaining available.
@@ -50680,19 +52526,26 @@ defined}{}%
}%
% \end{macrocode}
% How to format the top-level entry in the block.
+%v1.50 child entries now in description column
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableDesc{##1} &
+ \glstableDescWithOther{##1}%
+ \glstableChildEntries{##1}%
+ &
\glstableNameTarget{##1}%
}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubDesc{##1} &
+ \glstableSubDescWithOther{##1}\glstableSubNameSep
\glstableSubNameTarget{##1}%
}%
% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstabledescwidth}
+% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
\renewcommand{\glstableblockheader}{%
@@ -50705,7 +52558,10 @@ defined}{}%
\renewcommand{\glstableblockalign}{\glstabledesccolalign\glstablenamecolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{symbol-name}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{symbol-name}{%
% \end{macrocode}
@@ -50718,7 +52574,7 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablesymbolwidth}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
{\glstableHeaderFmt\glstablesymbolheader}%
\else
\setlength{\glstablesymbolwidth}{0pt}%
@@ -50729,7 +52585,7 @@ defined}{}%
% Update widths in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbol{##1}}%
}%
% \end{macrocode}
% Finally set the name width to the remaining available.
@@ -50746,17 +52602,23 @@ defined}{}%
% How to format the top-level entry in the block.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableSymbolFmt{##1} &
+ \glstableSymbol{##1} &
\glstableNameNoDesc{##1}%
+ \glstableChildEntries{##1}%
+%
}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubSymbolFmt{##1} &
+ \glstableSubSymbolWithSep{}{##1}{\glstableSubSep}%
\glstableSubNameNoDesc{##1}%
}%
% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstablenamewidth}
+% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
\renewcommand{\glstableblockheader}{%
@@ -50769,7 +52631,10 @@ defined}{}%
\renewcommand{\glstableblockalign}{\glstablesymbolcolalign\glstablenamecolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{name-symbol-desc}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{name-symbol-desc}{%
% \end{macrocode}
@@ -50782,9 +52647,9 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablenamewidth}%
+ \glsmeasurewidth{\glstablenamewidth}%
{\glstableHeaderFmt\glstablenameheader}%
- \settowidth{\glstablesymbolwidth}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
{\glstableHeaderFmt\glstablesymbolheader}%
\else
\setlength{\glstablenamewidth}{0pt}%
@@ -50796,8 +52661,8 @@ defined}{}%
% Update widths in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}%
- \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbol{##1}}%
}%
% \end{macrocode}
% Finally set the description width to the remaining available.
@@ -50816,15 +52681,22 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
\glstableNameTarget{##1} &
- \glstableSymbolFmt{##1} &
- \glstableDesc{##1}}%
+ \glstableSymbol{##1} &
+ \glstableDescWithOther{##1}%
+ \glstableChildEntries{##1}%
+}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubNameTarget{##1} &
- \glstableSubSymbolFmt{##1} &
- \glstableSubDesc{##1}}%
+ \glstableSubNameTarget{##1}\glstableSubNameSep
+ \glstableSubSymbolWithSep{}{##1}{\glstableSubSep}%
+ \glstableSubDescWithOther{##1}%
+ }%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstabledescwidth}
% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
@@ -50839,7 +52711,226 @@ defined}{}%
\glstablenamecolalign\glstablesymbolcolalign\glstabledesccolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
+%
+%\begin{blockstyle}{name-other-desc}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\glstablenewstyle{name-other-desc}{%
+% \end{macrocode}
+% 3 columns per block (name, other, description).
+% \begin{macrocode}
+ \glstablecolsperblock=3\relax
+% \end{macrocode}
+% Initialise length registers (need to calculate max name and other
+% widths if par align).
+% \begin{macrocode}
+ \renewcommand{\glstableinitlengthupdates}{%
+ \ifKV@printglosstable@header
+ \glsmeasurewidth{\glstablenamewidth}%
+ {\glstableHeaderFmt\glstablenameheader}%
+ \glsmeasurewidth{\glstableotherwidth}%
+ {\glstableHeaderFmt\glstableotherheader}%
+ \else
+ \setlength{\glstablenamewidth}{0pt}%
+ \setlength{\glstableotherwidth}{0pt}%
+ \fi
+ \setlength{\glstabledescwidth}{0pt}%
+ }%
+% \end{macrocode}
+% Update widths in unsrt hook.
+% \begin{macrocode}
+ \renewcommand{\glstablelengthupdate}[1]{%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
+ \glstablemeasureandupdate{\glstableotherwidth}{\glstableOther{##1}}%
+ }%
+% \end{macrocode}
+% Finally set the description width to the remaining available.
+% \begin{macrocode}
+ \renewcommand{\glstablefinishlengthupdates}{%
+ \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth
+ - \glstableotherwidth - \glstablenamewidth}%
+ \ifdim\glstabledescwidth<0pt\relax
+ \setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth
+ - 0.5\glstableotherwidth}%
+ \setlength{\glstabledescwidth}{\glstablenamewidth}%
+ \fi
+ }%
+% \end{macrocode}
+% How to format the top-level entry in the block.
+% \begin{macrocode}
+ \renewcommand{\glstableblockentry}[1]{%
+ \glstableNameTarget{##1} &
+ \glstableOther{##1} &
+ \glstableDesc{##1}%
+ \glstableChildEntries{##1}%
+}%
+% \end{macrocode}
+% How to format the entry's children.
+% \begin{macrocode}
+ \renewcommand{\glstableblocksubentry}[1]{%
+ \glstableSubNameTarget{##1}\glstableSubNameSep
+ \glstableSubOtherWithSep{}{##1}{\glstableSubOtherSep}%
+ \glstableSubDesc{##1}}%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstabledescwidth}
+% \end{macrocode}
+% How to format the block's header row, if required.
+% \begin{macrocode}
+ \renewcommand{\glstableblockheader}{%
+ \glstableHeaderFmt\glstablenameheader &
+ \glstableHeaderFmt\glstableotherheader &
+ \glstableHeaderFmt\glstabledescheader}%
+% \end{macrocode}
+% Set the block's column alignments.
+% \begin{macrocode}
+ \renewcommand{\glstableblockalign}{%
+ \glstablenamecolalign\glstableothercolalign\glstabledesccolalign}%
+}
+% \end{macrocode}
+%\end{blockstyle}
+%
+%\begin{blockstyle}{desc-other-name}
+%\changes{1.50}{2022-11-08}{new}
+%As name-other-desc but with the end columns switched.
+% \begin{macrocode}
+\glstablenewstyle{desc-other-name}{%
+ \glstablesetstyle{name-other-desc}%
+% \end{macrocode}
+% How to format the top-level entry in the block.
+% \begin{macrocode}
+ \renewcommand{\glstableblockentry}[1]{%
+ \glstableDesc{##1}%
+ \glstableChildEntries{##1} &
+ \glstableOther{##1} &
+ \glstableNameTarget{##1}%
+ }%
+% \end{macrocode}
+% How to format the entry's children.
+% \begin{macrocode}
+ \renewcommand{\glstableblocksubentry}[1]{%
+ \glstableSubDesc{##1}%
+ \glstableSubOtherWithSep{\glstableSubOtherSep}{##1}{}%
+ \glstableSubNameSep
+ \glstableSubNameTarget{##1}%
+ }%
+% \end{macrocode}
+% How to format the block's header row, if required.
+% \begin{macrocode}
+ \renewcommand{\glstableblockheader}{%
+ \glstableHeaderFmt\glstabledescheader &
+ \glstableHeaderFmt\glstableotherheader &
+ \glstableHeaderFmt\glstablenameheader
+ }%
+% \end{macrocode}
+% Set the block's column alignments.
+% \begin{macrocode}
+ \renewcommand{\glstableblockalign}{%
+ \glstabledesccolalign
+ \glstableothercolalign
+ \glstablenamecolalign
+ }%
+}
+% \end{macrocode}
+%\end{blockstyle}
+%
+%\begin{blockstyle}{name-symbol-other-desc}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\glstablenewstyle{name-symbol-other-desc}{%
+% \end{macrocode}
+% 4 columns per block (name, symbol, other, description).
+% \begin{macrocode}
+ \glstablecolsperblock=4\relax
+% \end{macrocode}
+% Initialise length registers (need to calculate max name, symbol
+% and other widths if par align).
+% \begin{macrocode}
+ \renewcommand{\glstableinitlengthupdates}{%
+ \ifKV@printglosstable@header
+ \glsmeasurewidth{\glstablenamewidth}%
+ {\glstableHeaderFmt\glstablenameheader}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
+ {\glstableHeaderFmt\glstablesymbolheader}%
+ \glsmeasurewidth{\glstableotherwidth}%
+ {\glstableHeaderFmt\glstableotherheader}%
+ \else
+ \setlength{\glstablenamewidth}{0pt}%
+ \setlength{\glstablesymbolwidth}{0pt}%
+ \setlength{\glstableotherwidth}{0pt}%
+ \fi
+ \setlength{\glstabledescwidth}{0pt}%
+ }%
+% \end{macrocode}
+% Update widths in unsrt hook.
+% \begin{macrocode}
+ \renewcommand{\glstablelengthupdate}[1]{%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbol{##1}}%
+ \glstablemeasureandupdate{\glstableotherwidth}{\glstableOther{##1}}%
+ }%
+% \end{macrocode}
+% Finally set the description width to the remaining available.
+% \begin{macrocode}
+ \renewcommand{\glstablefinishlengthupdates}{%
+ \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth
+ - \glstablesymbolwidth - \glstablenamewidth - \glstableotherwidth}%
+ \ifdim\glstabledescwidth<0pt\relax
+% \end{macrocode}
+% Not enough room so balance them out evenly.
+% \begin{macrocode}
+ \setlength{\glstablenamewidth}{\dimexpr0.25\glstableblockwidth}%
+ \setlength{\glstablesymbolwidth}{\glstablenamewidth}%
+ \setlength{\glstableotherwidth}{\glstablenamewidth}%
+ \setlength{\glstabledescwidth}{\glstablenamewidth}%
+ \fi
+ }%
+% \end{macrocode}
+% How to format the top-level entry in the block.
+% \begin{macrocode}
+ \renewcommand{\glstableblockentry}[1]{%
+ \glstableNameTarget{##1} &
+ \glstableSymbol{##1} &
+ \glstableOther{##1} &
+ \glstableDesc{##1}%
+ \glstableChildEntries{##1}%
+}%
+% \end{macrocode}
+% How to format the entry's children.
+% \begin{macrocode}
+ \renewcommand{\glstableblocksubentry}[1]{%
+ \glstableSubNameTarget{##1}\glstableSubNameSep
+ \glstableSubSymbolWithSep{}{##1}{\glstableSubSep}%
+ \glstableSubOtherWithSep{}{##1}{\glstableSubOtherSep}%
+ \glstableSubDesc{##1}}%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstabledescwidth}
+% \end{macrocode}
+% How to format the block's header row, if required.
+% \begin{macrocode}
+ \renewcommand{\glstableblockheader}{%
+ \glstableHeaderFmt\glstablenameheader &
+ \glstableHeaderFmt\glstablesymbolheader &
+ \glstableHeaderFmt\glstableotherheader &
+ \glstableHeaderFmt\glstabledescheader}%
+% \end{macrocode}
+% Set the block's column alignments.
+% \begin{macrocode}
+ \renewcommand{\glstableblockalign}{%
+ \glstablenamecolalign
+ \glstablesymbolcolalign
+ \glstableothercolalign
+ \glstabledesccolalign}%
+}
+% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{name-desc-symbol}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{name-desc-symbol}{%
% \end{macrocode}
@@ -50852,9 +52943,9 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablenamewidth}%
+ \glsmeasurewidth{\glstablenamewidth}%
{\glstableHeaderFmt\glstablenameheader}%
- \settowidth{\glstablesymbolwidth}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
{\glstableHeaderFmt\glstablesymbolheader}%
\else
\setlength{\glstablenamewidth}{0pt}%
@@ -50866,8 +52957,8 @@ defined}{}%
% Update widths in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}%
- \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolFmt{##1}}%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbol{##1}}%
}%
% \end{macrocode}
% Finally set the description width to the remaining available.
@@ -50883,21 +52974,28 @@ defined}{}%
}%
% \end{macrocode}
% How to format the top-level entry in the block.
+%v1.50 child entries in description column.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
\glstableNameTarget{##1} &
- \glstableDesc{##1} &
- \glstableSymbolFmt{##1}%
+ \glstableDescWithOther{##1}%
+ \glstableChildEntries{##1}%
+ &
+ \glstableSymbol{##1}%
}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubNameTarget{##1} &
- \glstableSubDesc{##1} &
- \glstableSubSymbolFmt{##1}%
+ \glstableSubNameTarget{##1}\glstableSubNameSep
+ \glstableSubDescWithOther{##1}%
+ \glstableSubSymbolWithSep{\glstableSubSep}{##1}{}%
}%
% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstabledescwidth}
+% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
\renewcommand{\glstableblockheader}{%
@@ -50912,7 +53010,154 @@ defined}{}%
\glstablenamecolalign\glstabledesccolalign\glstablesymbolcolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
+%
+%\begin{blockstyle}{desc-symbol-other-name}
+%\changes{1.50}{2022-11-08}{new}
+%As name-symbol-other-desc but with the end columns switched.
+% \begin{macrocode}
+\glstablenewstyle{desc-symbol-other-name}{%
+ \glstablesetstyle{name-symbol-other-desc}%
+% \end{macrocode}
+% How to format the top-level entry in the block.
+% \begin{macrocode}
+ \renewcommand{\glstableblockentry}[1]{%
+ \glstableDesc{##1}%
+ \glstableChildEntries{##1} &
+ \glstableSymbol{##1} &
+ \glstableOther{##1} &
+ \glstableNameTarget{##1}%
+ }%
+% \end{macrocode}
+% How to format the entry's children.
+% \begin{macrocode}
+ \renewcommand{\glstableblocksubentry}[1]{%
+ \glstableSubDescSymbolOther{##1}%
+ \glstableSubNameSep
+ \glstableSubNameTarget{##1}%
+ }%
+% \end{macrocode}
+% How to format the block's header row, if required.
+% \begin{macrocode}
+ \renewcommand{\glstableblockheader}{%
+ \glstableHeaderFmt\glstabledescheader &
+ \glstableHeaderFmt\glstablesymbolheader &
+ \glstableHeaderFmt\glstableotherheader &
+ \glstableHeaderFmt\glstablenameheader
+ }%
+% \end{macrocode}
+% Set the block's column alignments.
+% \begin{macrocode}
+ \renewcommand{\glstableblockalign}{%
+ \glstabledesccolalign
+ \glstablesymbolcolalign
+ \glstableothercolalign
+ \glstablenamecolalign
+ }%
+}
+% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{desc-other-symbol-name}
+%\changes{1.50}{2022-11-08}{new}
+%As name-symbol-other-desc but column order is description, other, symbol
+%and name.
+% \begin{macrocode}
+\glstablenewstyle{desc-other-symbol-name}{%
+ \glstablesetstyle{name-symbol-other-desc}%
+% \end{macrocode}
+% How to format the top-level entry in the block.
+% \begin{macrocode}
+ \renewcommand{\glstableblockentry}[1]{%
+ \glstableDesc{##1}%
+ \glstableChildEntries{##1} &
+ \glstableOther{##1} &
+ \glstableSymbol{##1} &
+ \glstableNameTarget{##1}%
+ }%
+% \end{macrocode}
+% How to format the entry's children.
+% \begin{macrocode}
+ \renewcommand{\glstableblocksubentry}[1]{%
+ \glstableSubDesc{##1}%
+ \glstableSubOtherWithSep{\glstableSubOtherSep}{##1}{}%
+ \glstableSubSymbolWithSep{\glstableSubSep}{##1}{}%
+ \glstableSubNameSep
+ \glstableSubNameTarget{##1}%
+ }%
+% \end{macrocode}
+% How to format the block's header row, if required.
+% \begin{macrocode}
+ \renewcommand{\glstableblockheader}{%
+ \glstableHeaderFmt\glstabledescheader &
+ \glstableHeaderFmt\glstableotherheader &
+ \glstableHeaderFmt\glstablesymbolheader &
+ \glstableHeaderFmt\glstablenameheader
+ }%
+% \end{macrocode}
+% Set the block's column alignments.
+% \begin{macrocode}
+ \renewcommand{\glstableblockalign}{%
+ \glstabledesccolalign
+ \glstableothercolalign
+ \glstablesymbolcolalign
+ \glstablenamecolalign
+ }%
+}
+% \end{macrocode}
+%\end{blockstyle}
+%
+%\begin{blockstyle}{name-other-symbol-desc}
+%\changes{1.50}{2022-11-08}{new}
+%As name-symbol-other-desc but column order is name, other, symbol
+%and description.
+% \begin{macrocode}
+\glstablenewstyle{name-other-symbol-desc}{%
+ \glstablesetstyle{name-symbol-other-desc}%
+% \end{macrocode}
+% How to format the top-level entry in the block.
+% \begin{macrocode}
+ \renewcommand{\glstableblockentry}[1]{%
+ \glstableNameTarget{##1} &
+ \glstableOther{##1} &
+ \glstableSymbol{##1} &
+ \glstableDesc{##1}%
+ \glstableChildEntries{##1}%
+ }%
+% \end{macrocode}
+% How to format the entry's children.
+% \begin{macrocode}
+ \renewcommand{\glstableblocksubentry}[1]{%
+ \glstableSubNameTarget{##1}\glstableSubNameSep
+ \glstableSubOtherWithSep{}{##1}{\glstableSubOtherSep}%
+ \glstableSubSymbolWithSep{}{##1}{\glstableSubSep}%
+ \glstableSubDesc{##1}%
+ }%
+% \end{macrocode}
+% How to format the block's header row, if required.
+% \begin{macrocode}
+ \renewcommand{\glstableblockheader}{%
+ \glstableHeaderFmt\glstablenameheader &
+ \glstableHeaderFmt\glstableotherheader &
+ \glstableHeaderFmt\glstablesymbolheader &
+ \glstableHeaderFmt\glstabledescheader
+ }%
+% \end{macrocode}
+% Set the block's column alignments.
+% \begin{macrocode}
+ \renewcommand{\glstableblockalign}{%
+ \glstablenamecolalign
+ \glstableothercolalign
+ \glstablesymbolcolalign
+ \glstabledesccolalign
+ }%
+}
+% \end{macrocode}
+%\end{blockstyle}
+%
+%
+%\begin{blockstyle}{name-other}
+%\changes{1.49}{2022-10-14}{new}
%As name-desc but the other field is put in the description column.
% \begin{macrocode}
\glstablenewstyle{name-other}{%
@@ -50926,40 +53171,46 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablenamewidth}%
+ \glsmeasurewidth{\glstablenamewidth}%
{\glstableHeaderFmt\glstablenameheader}%
\else
\setlength{\glstablenamewidth}{0pt}%
\fi
- \setlength{\glstabledescwidth}{0pt}%
+ \setlength{\glstableotherwidth}{0pt}%
}%
% \end{macrocode}
% Update width in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
}%
% \end{macrocode}
-% Finally set the description width to the remaining available.
+% Finally set the other width to the remaining available.
% \begin{macrocode}
\renewcommand{\glstablefinishlengthupdates}{%
- \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth
+ \setlength{\glstableotherwidth}{\dimexpr\glstableblockwidth
- \glstablenamewidth}%
- \ifdim\glstabledescwidth<0pt\relax
+ \ifdim\glstableotherwidth<0pt\relax
\setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}%
- \setlength{\glstabledescwidth}{\glstablenamewidth}%
+ \setlength{\glstableotherwidth}{\glstablenamewidth}%
\fi
}%
% \end{macrocode}
% How to format the top-level entry in the block.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableNameTarget{##1} & \glstableOtherNoDesc{##1}}%
+ \glstableNameTarget{##1} & \glstableOtherNoDesc{##1}%
+ \glstableChildEntries{##1}%
+}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubNameTarget{##1} & \glstableSubOtherNoDesc{##1}}%
+ \glstableSubNameTarget{##1}\glstableSubNameSep \glstableSubOtherNoDesc{##1}}%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstableotherwidth}
% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
@@ -50969,10 +53220,13 @@ defined}{}%
% \end{macrocode}
% Set the block's column alignments.
% \begin{macrocode}
- \renewcommand{\glstableblockalign}{\glstablenamecolalign\glstabledesccolalign}%
+ \renewcommand{\glstableblockalign}{\glstablenamecolalign\glstableothercolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{other-name}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{other-name}{%
% \end{macrocode}
@@ -50985,43 +53239,50 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablenamewidth}%
+ \glsmeasurewidth{\glstablenamewidth}%
{\glstableHeaderFmt\glstablenameheader}%
\else
\setlength{\glstablenamewidth}{0pt}%
\fi
- \setlength{\glstabledescwidth}{0pt}%
+ \setlength{\glstableotherwidth}{0pt}%
}%
% \end{macrocode}
% Update width in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablenamewidth}{\glstableNameFmt{##1}}%
+ \glstablemeasureandupdate{\glstablenamewidth}{\glstableName{##1}}%
}%
% \end{macrocode}
-% Finally set the description width to the remaining available.
+% Finally set the other width to the remaining available.
% \begin{macrocode}
\renewcommand{\glstablefinishlengthupdates}{%
- \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth
+ \setlength{\glstableotherwidth}{\dimexpr\glstableblockwidth
- \glstablenamewidth}%
- \ifdim\glstabledescwidth<0pt\relax
+ \ifdim\glstableotherwidth<0pt\relax
\setlength{\glstablenamewidth}{\dimexpr0.5\glstableblockwidth}%
- \setlength{\glstabledescwidth}{\glstablenamewidth}%
+ \setlength{\glstableotherwidth}{\glstablenamewidth}%
\fi
}%
% \end{macrocode}
% How to format the top-level entry in the block.
+%v1.50 child entries in other column.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableOtherNoDesc{##1} &
+ \glstableOtherNoDesc{##1}%
+ \glstableChildEntries{##1}%
+ &
\glstableNameTarget{##1}}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubOtherNoDesc{##1} &
+ \glstableSubOtherNoDesc{##1}\glstableSubNameSep
\glstableSubNameTarget{##1}}%
% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstableotherwidth}
+% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
\renewcommand{\glstableblockheader}{%
@@ -51030,10 +53291,13 @@ defined}{}%
% \end{macrocode}
% Set the block's column alignments.
% \begin{macrocode}
- \renewcommand{\glstableblockalign}{\glstabledesccolalign\glstablenamecolalign}%
+ \renewcommand{\glstableblockalign}{\glstableothercolalign\glstablenamecolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{symbol-other}
+%\changes{1.49}{2022-10-14}{new}
%As name-other but the use the symbol in place of the name.
% \begin{macrocode}
\glstablenewstyle{symbol-other}{%
@@ -51047,40 +53311,47 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablesymbolwidth}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
{\glstableHeaderFmt\glstablesymbolheader}%
\else
\setlength{\glstablesymbolwidth}{0pt}%
\fi
- \setlength{\glstabledescwidth}{0pt}%
+ \setlength{\glstableotherwidth}{0pt}%
}%
% \end{macrocode}
% Update width in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolNameFmt{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolName{##1}}%
}%
% \end{macrocode}
-% Finally set the description width to the remaining available.
+% Finally set the other width to the remaining available.
% \begin{macrocode}
\renewcommand{\glstablefinishlengthupdates}{%
- \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth
+ \setlength{\glstableotherwidth}{\dimexpr\glstableblockwidth
- \glstablesymbolwidth}%
- \ifdim\glstabledescwidth<0pt\relax
+ \ifdim\glstableotherwidth<0pt\relax
\setlength{\glstablesymbolwidth}{\dimexpr0.5\glstableblockwidth}%
- \setlength{\glstabledescwidth}{\glstablesymbolwidth}%
+ \setlength{\glstableotherwidth}{\glstablesymbolwidth}%
\fi
}%
% \end{macrocode}
% How to format the top-level entry in the block.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableSymbolNameTarget{##1} & \glstableOtherNoDesc{##1}}%
+ \glstableSymbolNameTarget{##1} & \glstableOtherNoDesc{##1}%
+ \glstableChildEntries{##1}%
+}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubSymbolNameTarget{##1} & \glstableSubOtherNoDesc{##1}}%
+ \glstableSubSymbolNameTarget{##1}\glstableSubNameSep
+ \glstableSubOtherNoDesc{##1}}%
+% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstableotherwidth}
% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
@@ -51090,10 +53361,13 @@ defined}{}%
% \end{macrocode}
% Set the block's column alignments.
% \begin{macrocode}
- \renewcommand{\glstableblockalign}{\glstablesymbolcolalign\glstabledesccolalign}%
+ \renewcommand{\glstableblockalign}{\glstablesymbolcolalign\glstableothercolalign}%
}
% \end{macrocode}
+%\end{blockstyle}
%
+%\begin{blockstyle}{other-symbol}
+%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\glstablenewstyle{other-symbol}{%
% \end{macrocode}
@@ -51106,42 +53380,51 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glstableinitlengthupdates}{%
\ifKV@printglosstable@header
- \settowidth{\glstablesymbolwidth}%
+ \glsmeasurewidth{\glstablesymbolwidth}%
{\glstableHeaderFmt\glstablesymbolheader}%
\else
\setlength{\glstablesymbolwidth}{0pt}%
\fi
- \setlength{\glstabledescwidth}{0pt}%
+ \setlength{\glstableotherwidth}{0pt}%
}%
% \end{macrocode}
% Update width in unsrt hook.
% \begin{macrocode}
\renewcommand{\glstablelengthupdate}[1]{%
- \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolNameFmt{##1}}%
+ \glstablemeasureandupdate{\glstablesymbolwidth}{\glstableSymbolName{##1}}%
}%
% \end{macrocode}
-% Finally set the description width to the remaining available.
+% Finally set the other width to the remaining available.
% \begin{macrocode}
\renewcommand{\glstablefinishlengthupdates}{%
- \setlength{\glstabledescwidth}{\dimexpr\glstableblockwidth
+ \setlength{\glstableotherwidth}{\dimexpr\glstableblockwidth
- \glstablesymbolwidth}%
- \ifdim\glstabledescwidth<0pt\relax
+ \ifdim\glstableotherwidth<0pt\relax
\setlength{\glstablesymbolwidth}{\dimexpr0.5\glstableblockwidth}%
- \setlength{\glstabledescwidth}{\glstablesymbolwidth}%
+ \setlength{\glstableotherwidth}{\glstablesymbolwidth}%
\fi
}%
% \end{macrocode}
% How to format the top-level entry in the block.
+%v1.50 child entries in other column.
% \begin{macrocode}
\renewcommand{\glstableblockentry}[1]{%
- \glstableOtherNoDesc{##1} & \glstableSymbolNameTarget{##1}}%
+ \glstableOtherNoDesc{##1}%
+ \glstableChildEntries{##1}%
+ & \glstableSymbolNameTarget{##1}}%
% \end{macrocode}
% How to format the entry's children.
% \begin{macrocode}
\renewcommand{\glstableblocksubentry}[1]{%
- \glstableSubOtherNoDesc{##1} &
+ \glstableSubOtherWithSep{}{##1}{\glstableSubSep}%
+ \glstableSubSymbol{##1}%
+ \glstableSubNameSep
\glstableSubSymbolNameTarget{##1}}%
% \end{macrocode}
+%Available width for child entries.
+% \begin{macrocode}
+ \renewcommand{\glstablesubentrywidth}{\glstableotherwidth}
+% \end{macrocode}
% How to format the block's header row, if required.
% \begin{macrocode}
\renewcommand{\glstableblockheader}{%
@@ -51150,16 +53433,17 @@ defined}{}%
% \end{macrocode}
% Set the block's column alignments.
% \begin{macrocode}
- \renewcommand{\glstableblockalign}{\glstabledesccolalign\glstablesymbolcolalign}%
+ \renewcommand{\glstableblockalign}{\glstableothercolalign\glstablesymbolcolalign}%
}
% \end{macrocode}
-%
+%\end{blockstyle}
%
%\begin{macro}{\glstablecaption}
%\changes{1.49}{2022-10-14}{new}
%\begin{definition}
-%\cs{glstablecaption}\marg{toc title}\marg{title}\marg{label}
+%\cs{glstablecaption}\marg{toc title}\marg{title}\marg{label code}
%\end{definition}
+%The \meta{label code} will be \cs{@@glossaryseclabel}.
% \begin{macrocode}
\newcommand{\glstablecaption}[3]{%
\caption[#1]{#3#2}%
@@ -51170,7 +53454,7 @@ defined}{}%
%\begin{macro}{\glstablepostnextcaption}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newcommand{\glstablepostnextcaption}{ Cont./}
+\newcommand{\glstablepostnextcaption}{ (\MFUsentencecase{\glsxtrcontinuedname})}
% \end{macrocode}
%\end{macro}
%
@@ -51226,6 +53510,31 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstablepostpreambleskip}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newlength\glstablepostpreambleskip
+\setlength\glstablepostpreambleskip{5pt}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstableprepostambleskip}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newlength\glstableprepostambleskip
+\setlength\glstableprepostambleskip{5pt}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstablefootstrut}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstablefootstrut}{%
+ \rule{0pt}{\dimexpr\baselineskip+\glstableprepostambleskip}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstablerowspan}
%\changes{1.49}{2022-10-14}{new}
%\begin{definition}
@@ -51233,11 +53542,21 @@ defined}{}%
%\end{definition}
% \begin{macrocode}
\newcommand{\glstablerowspan}[1]{%
- \multicolumn{\glstabletotalcols}{c}{\parbox{\LTcapwidth}{#1}}%
+ \multicolumn{\glstabletotalcols}{c}{\parbox{\glstablespanwidth}{#1}}%
}
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstablespanwidth}
+%\changes{1.50}{2022-11-08}{new}
+%This will be updated if column widths are measured. This width
+%doesn't include \cs{tabcolsep} on either side. The default is to
+%use \cs{LTcapwidth}, which may not be the same size as the table.
+% \begin{macrocode}
+\newcommand{\glstablespanwidth}{\LTcapwidth}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstable@begin}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
@@ -51260,7 +53579,7 @@ defined}{}%
\glstableiffilter{#1}%
{\printunsrtglossaryskipentry}%
{%
- \glstableifpar{\glstablelengthupdate{#1}}%
+ \glstable@calclengths{\glstablelengthupdate{#1}}%
}%
\fi
}
@@ -51303,6 +53622,13 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableotherwidth}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newlength\glstableotherwidth
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstableifmeasuring}
%\changes{1.49}{2022-10-14}{new}
%\begin{definition}
@@ -51342,47 +53668,16 @@ defined}{}%
%\end{definition}
% \begin{macrocode}
\newcommand{\glstablemeasureandupdate}[2]{%
- \let\glstableifmeasuring\@firstoftwo
-% \end{macrocode}
-%Disable unset and indexing
-% \begin{macrocode}
- \let\@glsunset\@glsxtrbuffer@unset
- \let\@gls@org@noindex\ifKV@glslink@noindex
- \KV@glslink@noindextrue
-% \end{macrocode}
-%Disable targets and links
-% \begin{macrocode}
- \let\@glstable@org@target\glstarget
- \let\glstarget\@secondoftwo
- \let\@glstable@org@link\@glslink
- \let\@glslink\@secondoftwo
-% \end{macrocode}
-%Disable ref step and label
-% \begin{macrocode}
- \let\glstable@org@stepentry\glsstepentry
- \let\glsstepentry\glstable@stepentry
- \let\glstable@org@stepsubentry\glsstepsubentry
- \let\glsstepsubentry\glstable@stepsubentry
% \end{macrocode}
%Measure.
% \begin{macrocode}
- \settowidth{\dimen@}{#2}%
+ \glsmeasurewidth{\dimen@}{#2}%
% \end{macrocode}
%Update if wider.
% \begin{macrocode}
\ifdim\dimen@>#1\relax
\setlength{#1}{\dimen@}%
\fi
-% \end{macrocode}
-%Restore
-% \begin{macrocode}
- \let\ifKV@glslink@noindex\@gls@org@noindex
- \let\@glsunset\@glsxtr@unset
- \let\glstarget\@glstable@org@target
- \let\@glslink\@glstable@org@link
- \let\glsstepentry\glstable@org@stepentry
- \let\glsstepsubentry\glstable@org@stepsubentry
- \let\glstableifmeasuring\@secondoftwo
}
% \end{macrocode}
%\end{macro}
@@ -51419,7 +53714,7 @@ defined}{}%
% \end{macrocode}
%\end{macro}
% \begin{macrocode}
-\define@key{printglosstable}{init}{\renewcommand{\glstable@init}{#1}}
+\define@cmdkey{printglosstable}[glstable@]{init}{}
% \end{macrocode}
%
%The default setting is groups=false, unlike the usual default for
@@ -51428,14 +53723,22 @@ defined}{}%
% \begin{macrocode}
\define@choicekey{printglosstable}{groups}
[\@glstable@groups@val\@glstable@groups@n]
-{false,true}[true]%
+{false,true,noskip,addskip}[true]%
{%
- \ifnum\@glstable@groups@n=0\relax
+ \ifcase\@glstable@groups@n\relax
\let\glstable@groupheading\@gobble
\glsxtr@printgloss@groupsfalse
- \else
+ \or
\let\glstable@groupheading\glstablegroupheading
\glsxtr@printgloss@groupstrue
+ \or
+ \let\glstable@groupheading\glstablegroupheading
+ \glsxtr@printgloss@groupstrue
+ \glsnogroupskiptrue
+ \or
+ \let\glstable@groupheading\glstablegroupheading
+ \glsxtr@printgloss@groupstrue
+ \glsnogroupskipfalse
\fi
}
% \end{macrocode}
@@ -51453,19 +53756,19 @@ defined}{}%
%occurs at the start of a new row.
% \begin{macrocode}
\newcommand{\glstablegroupheading}[1]{%
- \glstablefinishrow
\multicolumn{\glstabletotalcols}{c}{%
\glsxtrgetgrouptitle{#1}{\glsxtrcurrentgrptitle}%
\glstableGroupHeaderFmt\glsxtrcurrentgrptitle
}%
- \\*%
+ \glstablePostGroupNewLine
}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\@glstable@defaultpreamble}
-%\changes{1.49}{2022-10-14}{new}
+%
+%\begin{macro}{\glstablePostGroupNewLine}
+%\changes{1.50}{2022-11-08}{new}
% \begin{macrocode}
-\let\@glstable@defaultpreamble\glossarypreamble
+\newcommand{\glstablePostGroupNewLine}{\glstablenewline*}
% \end{macrocode}
%\end{macro}
%
@@ -51476,10 +53779,136 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstable@preentryhook}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstable@preentryhook}[1]{%
+ \if@glstable@afterheading
+ \else
+ \advance\glstablecurrentblockindex by 1\relax
+ \ifnum\glstablecurrentblockindex<\glstableblockperrowcount
+ \appto#1{&}%
+ \else
+ \appto#1{\glstablenewline}%
+ \fi
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstablenewline}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstablenewline}{\tabularnewline}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstable@postentryhook}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstable@postentryhook}[1]{%
+ \ifnum\glstableblockperrowcount=\glstablecurrentblockindex
+ \glstablecurrentblockindex=0\relax
+ \fi
+ \@glstable@afterheadingfalse
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstable@grouphook}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstable@grouphook}[1]{%
+ \if@glstable@afterheading
+ \else
+ \preto#1{\glstablenewline}%
+ \advance\glstablecurrentblockindex by 1\relax
+ \ifnum\glstablecurrentblockindex<\glstableblockperrowcount\relax
+ \expandafter\glstable@n@to@amps\expandafter
+ {\numexpr\glstableblockperrowcount-\glstablecurrentblockindex}%
+ {\preto}{#1}%
+ \fi
+ \fi
+ \glstablecurrentblockindex=0\relax
+ \@glstable@afterheadingtrue
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glstable@finish}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstable@finish}[1]{%
+ \if@glstable@afterheading
+ \else
+ \advance\glstablecurrentblockindex by 1\relax
+ \ifnum\glstablecurrentblockindex<\glstableblockperrowcount\relax
+ \expandafter\glstable@n@to@amps\expandafter
+ {\numexpr\glstableblockperrowcount-\glstablecurrentblockindex}%
+ {\appto}{#1}%
+ \fi
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glstable@defaultpreamble}
+%\changes{1.49}{2022-10-14}{new}
+% \begin{macrocode}
+\let\@glstable@defaultpreamble\glossarypreamble
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glstable@clearpage}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\@glstable@clearpage}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glstable@clearpage@iflt}
+%\changes{1.50}{2022-11-08}{new}
+%Clear page if less than given length available.
+% \begin{macrocode}
+\newcommand{\@glstable@clearpage@iflt}[1]{%
+ \par
+ \ifdim #1>\dimexr\pagegoal-\pagetotal\relax
+ \clearpage
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+% Allow \cs{clearpage} to be inserted.
+% \begin{macrocode}
+\define@key{printglosstable}{clearpage}[true]{%
+ \ifstrequal{#1}{true}%
+ {%
+ \renewcommand{\@glstable@clearpage}{\clearpage}%
+ }%
+ {%
+ \ifstrequal{#1}{false}%
+ {%
+ \renewcommand{\@glstable@clearpage}{}%
+ }%
+ {%
+ \renewcommand{\@glstable@clearpage}{\@glstable@clearpage@iflt{#1}}%
+ }%
+ }%
+}
+% \end{macrocode}
+%
+%\begin{macro}{\if@glstable@afterheading}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newif\if@glstable@afterheading
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\printunsrttable}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
-\newrobustcmd*{\printunsrttable}[1][]{%
+\NewDocumentCommand\printunsrttable{O{}}{%
\bgroup
% \end{macrocode}
%Initialise glossary type.
@@ -51499,9 +53928,52 @@ defined}{}%
% \begin{macrocode}
\let\glossarypreamble\@glstable@defaultpreamble
% \end{macrocode}
+%Initialise groups=false.
+% \begin{macrocode}
+ \glsxtr@printgloss@groupsfalse
+% \end{macrocode}
+%Initialise nogroupskip=true.
+% \begin{macrocode}
+ \glsnogroupskiptrue
+% \end{macrocode}
%Set table keys.
% \begin{macrocode}
\setkeys*{printglosstable}{#1}%
+%\changes{1.50}{2022-11-08}{added check for caption and floats options}
+% \end{macrocode}
+%If this table should have a caption, check the floats package
+%option to determine whether or not to switch counter. Can be
+%counteracted by redefining \cs{glscounter} in init code.
+% \begin{macrocode}
+ \ifKV@printglosstable@caption
+ \if@glsxtr@floats
+ \renewcommand{\glscounter}{table}%
+ \fi
+ \fi
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{moved init hook just after keys set}
+%Initialisation hook.
+% \begin{macrocode}
+ \glstable@init
+% \end{macrocode}
+%Should lengths be calculated?
+% \begin{macrocode}
+ \let\glstable@calclengths\glstableifpar
+% \end{macrocode}
+%Has nogroupskip=false been used?
+% \begin{macrocode}
+ \ifglsnogroupskip
+ \else
+ \ifundef\glspenaltygroupskip
+ {%
+ \PackageError{glossary-table}{\string\printunsrttable[nogroupskip=false]
+ requires glossary-longbooktabs.sty}%
+ {You need to load glossary-longbooktabs.sty in addition to
+ loading glossary-table.sty if you want the group skip}%
+ \glsnogroupskiptrue
+ }%
+ {\glspatchLToutput}%
+ \fi
\let\currentglossary\@glo@type
\protected@edef\glstable@opts{type=\@glo@type,style=table}%
\ifdefempty\XKV@rm{}{\epreto\glstable@opts{\expandonce\XKV@rm,}}%
@@ -51511,20 +53983,19 @@ defined}{}%
\glstabletotalcols=\numexpr\glstablecolsperblock*\glstableblockperrowcount\relax
% \end{macrocode}
%If the widest name is non-void, calculate the remaining width
-%available for the blocks.
+%available for the blocks. 1pt is subtracted to allow for rounding
+%errors.
% \begin{macrocode}
- \glstableifpar
+ \glstable@calclengths
{%
- \glstableblockwidth=\dimexpr\linewidth/\glstableblockperrowcount
- -\glstablecolsperblock\tabcolsep\relax
+ \edef\glstablespanwidth{\dimexpr\linewidth-2\tabcolsep-1pt}%
+ \glstableblockwidth=\dimexpr
+ (\linewidth-\glstabletotalcols\tabcolsep-\glstabletotalcols\tabcolsep)
+ /\glstableblockperrowcount-1pt
+ \relax
\glstableinitlengthupdates
}%
% \end{macrocode}
-%If no vertical line required between blocks, \cs{glstablefinishrow}
-%can simply do a new line.
-% \begin{macrocode}
- \ifdefempty\glstable@blockalignsep{\def\glstable@finishrow{}}{}%
-% \end{macrocode}
%Build the header row.
% \begin{macrocode}
\def\glstable@alignment{}%
@@ -51561,43 +54032,68 @@ defined}{}%
% \end{macrocode}
%Append cr to header.
% \begin{macrocode}
- \appto\glstable@header{\tabularnewline}%
+ \appto\glstable@header{\glstablenewline}%
\ifKV@printglosstable@rules
\appto\glstable@header{\midrule}%
\fi
\fi
\protected@edef\glstable@begin{%
\noexpand\begin{longtable}{\expandonce\glstable@alignment}%
- \noexpand\glstablecaption
- {\noexpand\glossarytoctitle}{\noexpand\glossarytitle}%
- {\noexpand\@@glossaryseclabel}%
- \noexpand\tabularnewline
}%
% \end{macrocode}
+%\changes{1.50}{2022-11-08}{added expandafter}
+%Use \cs{expandafter} after to allow an empty \cs{glossarytoctitle}
+%to prevent the caption from being added to the table of contents.
+% \begin{macrocode}
+ \ifKV@printglosstable@caption
+ \appto\glstable@begin{%
+ \expandafter\glstablecaption\expandafter
+ {\glossarytoctitle}{\glossarytitle}%
+ {\@@glossaryseclabel}%
+ \glstablenewline
+ }%
+ \fi
+% \end{macrocode}
%Add preamble if set.
% \begin{macrocode}
\glstable@ifhaspreamble
{%
- \eappto\glstable@begin{\noexpand\glstablefirsthead
- {\expandonce\glossarypreamble}%
- \noexpand\tabularnewline
+ \eappto\glstable@begin{%
+ \noexpand\glstablefirsthead
+ {\expandonce\glossarypreamble}%
+ \noexpand\glstablenewline[\glstablepostpreambleskip]%
\expandonce\glstable@header
\noexpand\endfirsthead
- \noexpand\glstablenextcaption
- {\noexpand\glossarytoctitle}{\noexpand\glossarytitle}%
- {\expandonce\glossarypreamble}%
}%
+ \ifKV@printglosstable@caption
+ \appto\glstable@begin{%
+ \expandafter\glstablenextcaption\expandafter
+ {\glossarytoctitle}{\glossarytitle}%
+ \glstablenewline
+ }%
+ \fi
+ \ifx\glstablehead\@gobble
+ \else
+ \eappto\glstable@begin{%
+ \noexpand\glstablehead{\expandonce\glossarypreamble}%
+ \noexpand\glstablenewline[\glstablepostpreambleskip]%
+ }%
+ \fi
}%
{%
\eappto\glstable@begin{%
\expandonce\glstable@header
\noexpand\endfirsthead
- \noexpand\glstablenextcaption
- {\noexpand\glossarytoctitle}{\noexpand\glossarytitle}%
}%
+ \ifKV@printglosstable@caption
+ \appto\glstable@begin{%
+ \expandafter\glstablenextcaption\expandafter
+ {\glossarytoctitle}{\glossarytitle}%
+ \glstablenewline
+ }%
+ \fi
}%
\eappto\glstable@begin{%
- \noexpand\tabularnewline
\expandonce\glstable@header
\noexpand\endhead
}%
@@ -51617,34 +54113,48 @@ defined}{}%
\ifKV@printglosstable@rules
\eappto\glstable@begin{%
\noexpand\bottomrule
- \noexpand\glstablefoot{\expandonce\glossarypostamble}%
- \noexpand\tabularnewline
+ \noexpand\glstablefoot
+ {\noexpand\glstablefootstrut\expandonce\glossarypostamble}%
+ \noexpand\glstablenewline
\noexpand\endfoot
\noexpand\bottomrule
- \noexpand\glstablelastfoot{\expandonce\glossarypostamble}%
- \noexpand\tabularnewline
+ \noexpand\glstablelastfoot
+ {\noexpand\glstablefootstrut\expandonce\glossarypostamble}%
+ \noexpand\glstablenewline
\noexpand\endlastfoot
}%
\else
\eappto\glstable@begin{%
\noexpand\glstablefoot{\expandonce\glossarypostamble}%
- \noexpand\tabularnewline
+ \noexpand\glstablenewline[\glstableprepostambleskip]%
\noexpand\endfoot
\noexpand\glstablelastfoot{\expandonce\glossarypostamble}%
- \noexpand\tabularnewline
+ \noexpand\glstablenewline[\glstableprepostambleskip]%
\noexpand\endlastfoot
}%
\fi
}%
% \end{macrocode}
-%Initialisation hook.
-% \begin{macrocode}
- \glstable@init
-% \end{macrocode}
%Set up filtering.
% \begin{macrocode}
\let\printunsrtglossaryentryprocesshook\glstable@filter
% \end{macrocode}
+%Use the hooks to add tab and new
+%lines to avoid awkward conditionals within \env{longtable}.
+% \begin{macrocode}
+ \renewcommand{\printunsrtglossarypreentryprocesshook}{%
+ \glstable@preentryhook
+ }%
+ \renewcommand{\printunsrtglossarypostentryprocesshook}{%
+ \glstable@postentryhook
+ }%
+ \renewcommand{\printunsrtglossarygrouphook}{%
+ \glstable@grouphook
+ }%
+ \renewcommand{\printunsrtglossarypreend}{%
+ \glstable@finish
+ }%
+% \end{macrocode}
%Disable preamble and postamble commands as their content has
%already been added to the table specs.
% \begin{macrocode}
@@ -51656,6 +54166,24 @@ defined}{}%
% \begin{macrocode}
\renewcommand{\glossarysection}[2][]{}%
% \end{macrocode}
+%Used in hooks.
+% \begin{macrocode}
+ \glstablecurrentblockindex=0\relax
+ \@glstable@afterheadingtrue
+% \end{macrocode}
+%Clear page if required.
+% \begin{macrocode}
+ \@glstable@clearpage
+% \end{macrocode}
+%Finish updating lengths in hook.
+% \begin{macrocode}
+ \let\glstable@org@predoglossary\printunsrtglossarypredoglossary
+ \renewcommand{\printunsrtglossarypredoglossary}
+ {%
+ \glstable@calclengths{\glstablefinishlengthupdates}%
+ \glstable@org@predoglossary
+ }%
+% \end{macrocode}
%The glossary will be empty on the first \LaTeX\ run as the entries
%won't be defined until \app{bib2gls} has selected them.
% \begin{macrocode}
@@ -51668,10 +54196,7 @@ defined}{}%
% \begin{macrocode}
\edef\@glsxtr@tmp{\noexpand\setkeys{printgloss}{\expandonce\glstable@opts}}%
\@glsxtr@tmp
- \glstableifpar{\glstablefinishlengthupdates}%
- \global\glstablecurrentblockindex=0\relax
- \glstable@begin
- \glstablefinishrow
+ \glstable@begin% \begin{longtable}{specs}
\end{longtable}%
}%
{%
@@ -51682,13 +54207,23 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glstableiffilterchild}
+%\changes{1.50}{2022-11-08}{new}
+% \begin{macrocode}
+\newcommand{\glstableiffilterchild}[3]{#3}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glstable@child}
%\changes{1.49}{2022-10-14}{new}
% \begin{macrocode}
\newcommand{\glstable@child}[1]{%
- \ifdefempty\glstable@dochildren{}%
- {\appto\glstable@dochildren{\glstableblocksubentrysep}}%
- \appto\glstable@dochildren{\glstableblocksubentry{#1}}%
+ \glstableiffilterchild{#1}{}%
+ {%
+ \ifdefempty\glstable@dochildren{}%
+ {\appto\glstable@dochildren{\glstableblocksubentrysep}}%
+ \appto\glstable@dochildren{\glstableblocksubentry{#1}}%
+ }%
}
% \end{macrocode}
%\end{macro}
@@ -51698,14 +54233,18 @@ defined}{}%
% \begin{macrocode}
\newcommand{\glstableChildEntries}[1]{%
\def\glstable@dochildren{}%
- \GlsXtrIfHasNonZeroChildCount*{#1}%
+ \GlsXtrIfFieldNonZero*{childcount}{#1}%
{%
\glsxtrfieldforlistloop{#1}{childlist}{\glstable@child}%
- \preto\glstable@dochildren{%
- \glstablePreChildren
- \begin{glstablesubentries}%
+ \ifdefempty\glstable@dochildren
+ {}%
+ {%
+ \preto\glstable@dochildren{%
+ \glstablePreChildren
+ \begin{glstablesubentries}%
+ }%
+ \appto\glstable@dochildren{\end{glstablesubentries}}%
}%
- \appto\glstable@dochildren{\end{glstablesubentries}}%
}%
{}%
\glstable@dochildren
@@ -51715,13 +54254,18 @@ defined}{}%
%
%\begin{macro}{\glstable@n@amps}
%\changes{1.49}{2022-10-14}{new}
+%\changes{1.50}{removed}{new}
+%Removed.
+%\end{macro}
+%\begin{macro}{\glstable@n@to@amps}
+%\changes{1.50}{2022-11-08}{new}
% \begin{macrocode}
-\newcommand{\glstable@n@amps}[1]{%
+\newcommand{\glstable@n@to@amps}[3]{%
\ifnum#1>0\relax
\count@=0\relax
\loop
\advance\count@ by 1\relax
- \appto\glstable@endblock{&}%
+ #2#3{&}%
\ifnum\count@<#1
\repeat
\fi
@@ -51729,46 +54273,10 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
-%TODO: this needs to do nothing if it occurs are the start of a new
-%row. The position of \cs{tabularnewline} may need changing within
-%\cs{printunsrttable} and the table style.
%\begin{macro}{\glstablefinishrow}
%\changes{1.49}{2022-10-14}{new}
-% \begin{macrocode}
-\newcommand{\glstablefinishrow}{%
- \glstable@finishrow
- \tabularnewline
-}
-% \end{macrocode}
-%\end{macro}
-%
-%\begin{macro}{\glstable@finishrow}
-%\changes{1.49}{2022-10-14}{new}
-% \begin{macrocode}
-\newcommand{\glstable@finishrow}{%
- \def\glstable@endblock{}%
- \@glstable@finishrow
- \glstable@endblock
-}
-% \end{macrocode}
-%\end{macro}
-%
-%\begin{macro}{\@glstable@finishrow}
-%\changes{1.49}{2022-10-14}{new}
-% \begin{macrocode}
-\newcommand{\@glstable@finishrow}{%
- \ifnum\glstablecurrentblockindex>0
- \ifnum\glstablecurrentblockindex<\glstableblockperrowcount
- \expandafter\glstable@n@amps\expandafter{%
- \numexpr
- (\glstableblockperrowcount-\glstablecurrentblockindex)
- * (\glstablecolsperblock -1)
- }%
- \fi
- \global\glstablecurrentblockindex=0
- \fi
-}
-% \end{macrocode}
+%\changes{1.50}{2022-10-14}{new}
+%Removed in v1.50.
%\end{macro}
%
%\begin{style}{table}
@@ -51778,31 +54286,26 @@ defined}{}%
{%
\renewenvironment{theglossary}%
{%
- \glstableifpar{\glstablefinishlengthupdates}%
- \global\glstablecurrentblockindex=0\relax
\glstable@begin
}
{%
- \glstablefinishrow
\end{longtable}%
}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{\glstable@groupheading{##1}}%
\renewcommand*{\glssubgroupheading}[4]{}%
- \renewcommand*{\glsgroupskip}{}%
+ \ifglsnogroupskip
+ \renewcommand*{\glsgroupskip}{}%
+ \else
+ \renewcommand*{\glsgroupskip}{\glspenaltygroupskip}%
+ \fi
\renewcommand{\glossentry}[2]{%
- \global\advance\glstablecurrentblockindex by 1\relax
- \ifnum\glstableblockperrowcount=\glstablecurrentblockindex
- \gdef\glstable@endblock{%
- \global\glstablecurrentblockindex=0\relax
- \tabularnewline
- }%
- \else
- \gdef\glstable@endblock{&}%
- \fi
\glstableblockentry{##1}%
- \glstableChildEntries{##1}%
- \glstable@endblock
+% \end{macrocode}
+%\changes{1.50}{2022-11-08}{\cs{glstableChildEntries} moved to block style}
+%v1.50: \cs{glstableChildEntries} moved to block style and
+%conditionals moved to processing hooks.
+% \begin{macrocode}
}%
\renewcommand{\subglossentry}[3]{}%
}
@@ -54401,6 +56904,1116 @@ amet, libero}
%\fi
%\iffalse
% \begin{macrocode}
+%<*example-glossaries-user.bib>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<<COMMENT
+% Encoding: UTF-8
+%COMMENT
+@entry{sample-a,
+ user1 = {A},
+ symbol = {\ensuremath{\alpha}},
+ user2 = {1},
+ name = {a name},
+ description = {a description},
+ user5 = {25.2020788573521},
+ user6 = {1585-11-06},
+ user3 = {i},
+ user4 = {A-i}
+}
+
+@entry{sample-b,
+ user1 = {B},
+ symbol = {\ensuremath{\beta}},
+ user2 = {2},
+ name = {b name},
+ description = {b description},
+ user5 = {45.5028357391029},
+ user6 = {1412-06-16},
+ user3 = {ii},
+ user4 = {B-II}
+}
+
+@entry{sample-b-0,
+ parent = {sample-b},
+ symbol = {\ensuremath{\sigma}},
+ user2 = {0},
+ name = {b/0 name},
+ description = {child 0 of b},
+ user4 = {a-i}
+}
+
+@entry{sample-b-1,
+ parent = {sample-b},
+ symbol = {\ensuremath{\eta}},
+ user2 = {1},
+ name = {b/1 name},
+ description = {child 1 of b},
+ user5 = {-0.902193400956222},
+ user3 = {ix}
+}
+
+@entry{sample-b-2,
+ parent = {sample-b},
+ symbol = {\ensuremath{\partial}},
+ name = {b/2 name},
+ description = {child 2 of b},
+ user6 = {1857-01-23},
+ user3 = {vii},
+ user4 = {c-ix}
+}
+
+@entry{sample-c,
+ user1 = {C},
+ symbol = {\ensuremath{\gamma}},
+ user2 = {3},
+ name = {c name},
+ description = {c description},
+ user5 = {-38.3848347255729},
+ user6 = {1277-04-20},
+ user3 = {iii},
+ user4 = {c-III}
+}
+
+@entry{sample-c-0,
+ user1 = {F},
+ parent = {sample-c},
+ symbol = {\ensuremath{\iota}},
+ user2 = {0},
+ name = {c/0 name},
+ description = {child 0 of c},
+ user4 = {a-V}
+}
+
+@entry{sample-c-1,
+ parent = {sample-c},
+ symbol = {\ensuremath{\sigma_{0}}},
+ name = {c/1 name},
+ description = {child 1 of c},
+ user3 = {vi},
+ user4 = {B-I}
+}
+
+@entry{sample-c-2,
+ parent = {sample-c},
+ symbol = {\ensuremath{\psi}},
+ name = {c/2 name},
+ description = {child 2 of c},
+ user4 = {C-ii}
+}
+
+@entry{sample-c-3,
+ user1 = {U},
+ parent = {sample-c},
+ symbol = {\ensuremath{\upsilon}},
+ user2 = {3},
+ name = {c/3 name},
+ description = {child 3 of c},
+ user3 = {xx},
+ user4 = {D-VI}
+}
+
+@entry{sample-d,
+ user1 = {D},
+ symbol = {\ensuremath{\delta}},
+ user2 = {4},
+ name = {d name},
+ description = {d description},
+ user5 = {-19.9143632163562},
+ user6 = {1205-02-04},
+ user3 = {iv},
+ user4 = {d-IV}
+}
+
+@entry{sample-d-0,
+ user1 = {D},
+ parent = {sample-d},
+ symbol = {\ensuremath{\alpha}},
+ user2 = {0},
+ name = {d/0 name},
+ description = {child 0 of d},
+ user3 = {ii}
+}
+
+@entry{sample-d-1,
+ user1 = {A},
+ parent = {sample-d},
+ symbol = {\ensuremath{\delta}},
+ user2 = {1},
+ name = {d/1 name},
+ description = {child 1 of d},
+ user3 = {ii}
+}
+
+@entry{sample-d-2,
+ user1 = {W},
+ parent = {sample-d},
+ symbol = {\ensuremath{\lambda_{3}}},
+ user2 = {2},
+ name = {d/2 name},
+ description = {child 2 of d},
+ user5 = {-0.607749542989112},
+ user4 = {c-x}
+}
+
+@entry{sample-d-3,
+ parent = {sample-d},
+ symbol = {\ensuremath{\theta}},
+ user2 = {3},
+ name = {d/3 name},
+ description = {child 3 of d}
+}
+
+@entry{sample-d-4,
+ parent = {sample-d},
+ symbol = {\ensuremath{\vartheta}},
+ user2 = {4},
+ name = {d/4 name},
+ description = {child 4 of d},
+ user5 = {0.837394196049765},
+ user3 = {ii},
+ user4 = {E-vi}
+}
+
+@entry{sample-e,
+ user1 = {E},
+ symbol = {\ensuremath{\epsilon}},
+ user2 = {5},
+ name = {e name},
+ description = {e description},
+ user5 = {33.9955092348848},
+ user6 = {1911-11-30},
+ user3 = {v},
+ user4 = {e-V}
+}
+
+@entry{sample-e-0,
+ parent = {sample-e},
+ symbol = {\ensuremath{\rho_{1}}},
+ name = {e/0 name},
+ description = {child 0 of e}
+}
+
+@entry{sample-e-1,
+ parent = {sample-e},
+ symbol = {\ensuremath{\epsilon}},
+ user2 = {1},
+ name = {e/1 name},
+ description = {child 1 of e},
+ user3 = {vi}
+}
+
+@entry{sample-e-2,
+ parent = {sample-e},
+ symbol = {\ensuremath{\alpha_{1}}},
+ name = {e/2 name},
+ description = {child 2 of e},
+ user5 = {0.443471941832193},
+ user6 = {1478-02-27},
+ user3 = {viii},
+ user4 = {C-IX}
+}
+
+@entry{sample-e-3,
+ parent = {sample-e},
+ symbol = {\ensuremath{\mu^{3}}},
+ user2 = {3},
+ name = {e/3 name},
+ description = {child 3 of e},
+ user5 = {0.48628623899576},
+ user3 = {xx}
+}
+
+@entry{sample-f,
+ user1 = {F},
+ symbol = {\ensuremath{\zeta}},
+ user2 = {6},
+ name = {f name},
+ description = {f description},
+ user5 = {10.2604280725252},
+ user6 = {1593-03-08},
+ user3 = {vi},
+ user4 = {F-VI}
+}
+
+@entry{sample-f-0,
+ user1 = {J},
+ parent = {sample-f},
+ symbol = {\ensuremath{\vartheta_{1}}},
+ name = {f/0 name},
+ description = {child 0 of f},
+ user3 = {ii}
+}
+
+@entry{sample-f-1,
+ user1 = {I},
+ parent = {sample-f},
+ symbol = {\ensuremath{\partial_{2}}},
+ name = {f/1 name},
+ description = {child 1 of f},
+ user3 = {viii},
+ user4 = {b-iv}
+}
+
+@entry{sample-f-2,
+ parent = {sample-f},
+ symbol = {\ensuremath{\gamma}},
+ user2 = {2},
+ name = {f/2 name},
+ description = {child 2 of f},
+ user4 = {C-VIII}
+}
+
+@entry{sample-f-3,
+ parent = {sample-f},
+ symbol = {\ensuremath{\zeta}},
+ user2 = {3},
+ name = {f/3 name},
+ description = {child 3 of f},
+ user5 = {-0.729404747551726}
+}
+
+@entry{sample-g,
+ user1 = {G},
+ symbol = {\ensuremath{\eta}},
+ user2 = {7},
+ name = {g name},
+ description = {g description},
+ user5 = {-6.0636327107396},
+ user6 = {1432-09-18},
+ user3 = {vii},
+ user4 = {G-VII}
+}
+
+@entry{sample-g-0,
+ parent = {sample-g},
+ symbol = {\ensuremath{\psi}},
+ user2 = {0},
+ name = {g/0 name},
+ description = {child 0 of g}
+}
+
+@entry{sample-g-1,
+ parent = {sample-g},
+ name = {g/1 name},
+ description = {child 1 of g},
+ user4 = {B-v}
+}
+
+@entry{sample-g-2,
+ parent = {sample-g},
+ symbol = {\ensuremath{\nabla_{3}^{2}}},
+ user2 = {2},
+ name = {g/2 name},
+ description = {child 2 of g},
+ user6 = {1718-05-25}
+}
+
+@entry{sample-g-3,
+ user1 = {E},
+ parent = {sample-g},
+ symbol = {\ensuremath{\phi}},
+ name = {g/3 name},
+ description = {child 3 of g},
+ user6 = {1336-07-06},
+ user4 = {d-I}
+}
+
+@entry{sample-h,
+ user1 = {H},
+ symbol = {\ensuremath{\theta}},
+ user2 = {8},
+ name = {h name},
+ description = {h description},
+ user5 = {1.16736490031784},
+ user6 = {1576-09-11},
+ user3 = {viii},
+ user4 = {H-VIII}
+}
+
+@entry{sample-h-0,
+ user1 = {K},
+ parent = {sample-h},
+ symbol = {\ensuremath{\theta_{1}}},
+ user2 = {0},
+ name = {h/0 name},
+ description = {child 0 of h},
+ user3 = {iv},
+ user4 = {A-v}
+}
+
+@entry{sample-h-1,
+ parent = {sample-h},
+ symbol = {\ensuremath{o_{3}^{1}}},
+ user2 = {1},
+ name = {h/1 name},
+ description = {child 1 of h}
+}
+
+@entry{sample-h-2,
+ parent = {sample-h},
+ symbol = {\ensuremath{\varsigma}},
+ user2 = {2},
+ name = {h/2 name},
+ description = {child 2 of h},
+ user6 = {1794-02-11}
+}
+
+@entry{sample-h-3,
+ parent = {sample-h},
+ symbol = {\ensuremath{\iota}},
+ user2 = {3},
+ name = {h/3 name},
+ description = {child 3 of h},
+ user3 = {v},
+ user4 = {d-II}
+}
+
+@entry{sample-i,
+ user1 = {I},
+ symbol = {\ensuremath{\iota}},
+ user2 = {9},
+ name = {i name},
+ description = {i description},
+ user5 = {-11.3537684013693},
+ user6 = {1950-08-02},
+ user3 = {ix},
+ user4 = {i-IX}
+}
+
+@entry{sample-i-0,
+ parent = {sample-i},
+ symbol = {\ensuremath{\gamma}},
+ user2 = {0},
+ name = {i/0 name},
+ description = {child 0 of i},
+ user6 = {1345-03-21},
+ user3 = {vi}
+}
+
+@entry{sample-i-1,
+ parent = {sample-i},
+ symbol = {\ensuremath{\kappa_{1}}},
+ user2 = {1},
+ name = {i/1 name},
+ description = {child 1 of i},
+ user5 = {-0.590962984569657},
+ user4 = {b-ix}
+}
+
+@entry{sample-i-2,
+ parent = {sample-i},
+ user2 = {2},
+ name = {i/2 name},
+ description = {child 2 of i},
+ user4 = {C-IX}
+}
+
+@entry{sample-j,
+ user1 = {J},
+ symbol = {\ensuremath{\kappa}},
+ user2 = {10},
+ name = {j name},
+ description = {j description},
+ user5 = {-37.172898553375},
+ user6 = {1987-02-07},
+ user3 = {x},
+ user4 = {j-X}
+}
+
+@entry{sample-j-0,
+ parent = {sample-j},
+ symbol = {\ensuremath{\rho_{0}^{4}}},
+ user2 = {0},
+ name = {j/0 name},
+ description = {child 0 of j},
+ user6 = {1707-06-02},
+ user3 = {vi},
+ user4 = {a-V}
+}
+
+@entry{sample-j-1,
+ user1 = {A},
+ parent = {sample-j},
+ symbol = {\ensuremath{\partial_{2}}},
+ name = {j/1 name},
+ description = {child 1 of j},
+ user5 = {0.87706480362074},
+ user3 = {i}
+}
+
+@entry{sample-j-2,
+ parent = {sample-j},
+ symbol = {\ensuremath{\omega^{1}}},
+ user2 = {2},
+ name = {j/2 name},
+ description = {child 2 of j},
+ user3 = {ii}
+}
+
+@entry{sample-k,
+ user1 = {K},
+ symbol = {\ensuremath{\lambda}},
+ user2 = {11},
+ name = {k name},
+ description = {k description},
+ user5 = {-5.42398189163826},
+ user6 = {2047-05-26},
+ user3 = {i},
+ user4 = {k-I}
+}
+
+@entry{sample-k-0,
+ parent = {sample-k},
+ symbol = {\ensuremath{o_{3}}},
+ user2 = {0},
+ name = {k/0 name},
+ description = {child 0 of k},
+ user3 = {i},
+ user4 = {A-IV}
+}
+
+@entry{sample-k-1,
+ parent = {sample-k},
+ symbol = {\ensuremath{\beta_{3}}},
+ name = {k/1 name},
+ description = {child 1 of k},
+ user5 = {0.232380361266316}
+}
+
+@entry{sample-k-2,
+ user1 = {B},
+ parent = {sample-k},
+ symbol = {\ensuremath{\epsilon_{0}}},
+ user2 = {2},
+ name = {k/2 name},
+ description = {child 2 of k},
+ user5 = {0.591482454759571},
+ user6 = {1105-01-04},
+ user3 = {ix}
+}
+
+@entry{sample-k-3,
+ user1 = {Q},
+ parent = {sample-k},
+ symbol = {\ensuremath{\varphi_{3}}},
+ name = {k/3 name},
+ description = {child 3 of k},
+ user5 = {-0.0648351546627168},
+ user4 = {d-i}
+}
+
+@entry{sample-l,
+ user1 = {L},
+ symbol = {\ensuremath{\lambda}},
+ user2 = {12},
+ name = {l name},
+ description = {l description},
+ user5 = {-32.3944783154431},
+ user6 = {1167-02-28},
+ user3 = {ii},
+ user4 = {l-II}
+}
+
+@entry{sample-l-0,
+ user1 = {M},
+ parent = {sample-l},
+ symbol = {\ensuremath{\kappa}},
+ name = {l/0 name},
+ description = {child 0 of l}
+}
+
+@entry{sample-l-1,
+ user1 = {R},
+ parent = {sample-l},
+ symbol = {\ensuremath{\upsilon_{2}}},
+ name = {l/1 name},
+ description = {child 1 of l},
+ user5 = {0.17815330584132},
+ user6 = {1373-11-27},
+ user3 = {iv}
+}
+
+@entry{sample-l-2,
+ user1 = {I},
+ parent = {sample-l},
+ symbol = {\ensuremath{\eta_{1}}},
+ user2 = {2},
+ name = {l/2 name},
+ description = {child 2 of l},
+ user5 = {0.697423736255566},
+ user6 = {1274-01-03},
+ user3 = {i},
+ user4 = {c-VII}
+}
+
+@entry{sample-m,
+ user1 = {M},
+ symbol = {\ensuremath{\mu}},
+ user2 = {13},
+ name = {m name},
+ description = {m description},
+ user5 = {10.7510593632355},
+ user6 = {1000-11-20},
+ user3 = {iii},
+ user4 = {m-iii}
+}
+
+@entry{sample-n,
+ user1 = {N},
+ symbol = {\ensuremath{\nu}},
+ user2 = {14},
+ name = {n name},
+ description = {n description},
+ user5 = {-27.709506256878},
+ user6 = {1051-06-01},
+ user3 = {iv},
+ user4 = {N-iv}
+}
+
+@entry{sample-n-0,
+ parent = {sample-n},
+ symbol = {\ensuremath{\epsilon_{4}}},
+ user2 = {0},
+ name = {n/0 name},
+ description = {child 0 of n},
+ user5 = {0.154020875680295},
+ user6 = {1441-02-03},
+ user3 = {iv},
+ user4 = {A-VI}
+}
+
+@entry{sample-n-1,
+ user1 = {E},
+ parent = {sample-n},
+ symbol = {\ensuremath{\nabla_{3}}},
+ name = {n/1 name},
+ description = {child 1 of n}
+}
+
+@entry{sample-n-2,
+ user1 = {E},
+ parent = {sample-n},
+ symbol = {\ensuremath{\upsilon}},
+ user2 = {2},
+ name = {n/2 name},
+ description = {child 2 of n},
+ user5 = {0.569781389654416},
+ user3 = {ii}
+}
+
+@entry{sample-n-3,
+ user1 = {J},
+ parent = {sample-n},
+ symbol = {\ensuremath{\alpha^{4}}},
+ user2 = {3},
+ name = {n/3 name},
+ description = {child 3 of n}
+}
+
+@entry{sample-n-4,
+ parent = {sample-n},
+ symbol = {\ensuremath{\lambda_{3}}},
+ name = {n/4 name},
+ description = {child 4 of n},
+ user5 = {0.789876283212593},
+ user3 = {ii}
+}
+
+@entry{sample-o,
+ user1 = {O},
+ symbol = {\ensuremath{\xi}},
+ user2 = {15},
+ name = {o name},
+ description = {o description},
+ user5 = {-2.19251796377407},
+ user6 = {1471-05-19},
+ user3 = {v},
+ user4 = {O-V}
+}
+
+@entry{sample-o-0,
+ parent = {sample-o},
+ symbol = {\ensuremath{\varepsilon_{1}}},
+ name = {o/0 name},
+ description = {child 0 of o},
+ user3 = {i},
+ user4 = {A-I}
+}
+
+@entry{sample-o-1,
+ parent = {sample-o},
+ user2 = {1},
+ name = {o/1 name},
+ description = {child 1 of o},
+ user5 = {0.0347678723268814},
+ user3 = {ix}
+}
+
+@entry{sample-o-2,
+ parent = {sample-o},
+ symbol = {\ensuremath{\delta_{1}}},
+ user2 = {2},
+ name = {o/2 name},
+ description = {child 2 of o},
+ user5 = {-0.240470091193039}
+}
+
+@entry{sample-o-3,
+ user1 = {F},
+ parent = {sample-o},
+ symbol = {\ensuremath{\nu_{0}}},
+ name = {o/3 name},
+ description = {child 3 of o},
+ user6 = {1792-07-01}
+}
+
+@entry{sample-p,
+ user1 = {P},
+ symbol = {\ensuremath{o}},
+ user2 = {16},
+ name = {p name},
+ description = {p description},
+ user5 = {35.2360917818377},
+ user6 = {1664-09-11},
+ user3 = {vi},
+ user4 = {p-VI}
+}
+
+@entry{sample-q,
+ user1 = {Q},
+ symbol = {\ensuremath{\pi}},
+ user2 = {17},
+ name = {q name},
+ description = {q description},
+ user5 = {-48.2583741579603},
+ user6 = {1369-11-13},
+ user3 = {vii},
+ user4 = {Q-vii}
+}
+
+@entry{sample-q-0,
+ parent = {sample-q},
+ symbol = {\ensuremath{\beta_{0}}},
+ user2 = {0},
+ name = {q/0 name},
+ description = {child 0 of q},
+ user3 = {vi}
+}
+
+@entry{sample-q-1,
+ parent = {sample-q},
+ symbol = {\ensuremath{\alpha_{0}^{1}}},
+ user2 = {1},
+ name = {q/1 name},
+ description = {child 1 of q},
+ user5 = {0.148247715337767},
+ user4 = {B-X}
+}
+
+@entry{sample-r,
+ user1 = {R},
+ symbol = {\ensuremath{\rho}},
+ user2 = {18},
+ name = {r name},
+ description = {r description},
+ user5 = {40.2853631117384},
+ user6 = {1286-05-07},
+ user3 = {viii},
+ user4 = {r-viii}
+}
+
+@entry{sample-r-0,
+ user1 = {D},
+ parent = {sample-r},
+ symbol = {\ensuremath{\lambda^{2}}},
+ name = {r/0 name},
+ description = {child 0 of r},
+ user3 = {v}
+}
+
+@entry{sample-r-1,
+ parent = {sample-r},
+ symbol = {\ensuremath{\kappa}},
+ user2 = {1},
+ name = {r/1 name},
+ description = {child 1 of r},
+ user4 = {b-II}
+}
+
+@entry{sample-r-2,
+ parent = {sample-r},
+ symbol = {\ensuremath{\tau_{3}}},
+ user2 = {2},
+ name = {r/2 name},
+ description = {child 2 of r},
+ user3 = {iv},
+ user4 = {C-x}
+}
+
+@entry{sample-r-3,
+ user1 = {G},
+ parent = {sample-r},
+ symbol = {\ensuremath{\varphi_{2}^{3}}},
+ user2 = {3},
+ name = {r/3 name},
+ description = {child 3 of r},
+ user5 = {0.277707140049884},
+ user6 = {1343-07-04},
+ user4 = {D-iii}
+}
+
+@entry{sample-s,
+ user1 = {S},
+ symbol = {\ensuremath{\varsigma}},
+ user2 = {19},
+ name = {s name},
+ description = {s description},
+ user5 = {37.6010311283697},
+ user6 = {1748-05-28},
+ user3 = {ix},
+ user4 = {S-IX}
+}
+
+@entry{sample-s-0,
+ parent = {sample-s},
+ symbol = {\ensuremath{\psi_{2}}},
+ user2 = {0},
+ name = {s/0 name},
+ description = {child 0 of s},
+ user6 = {1338-03-25}
+}
+
+@entry{sample-s-1,
+ parent = {sample-s},
+ symbol = {\ensuremath{\vartheta^{4}}},
+ name = {s/1 name},
+ description = {child 1 of s},
+ user3 = {iii},
+ user4 = {B-vi}
+}
+
+@entry{sample-s-2,
+ user1 = {S},
+ parent = {sample-s},
+ symbol = {\ensuremath{\zeta}},
+ name = {s/2 name},
+ description = {child 2 of s},
+ user6 = {1019-07-22},
+ user3 = {vi}
+}
+
+@entry{sample-s-3,
+ parent = {sample-s},
+ symbol = {\ensuremath{\psi}},
+ name = {s/3 name},
+ description = {child 3 of s},
+ user5 = {-0.553040742885635},
+ user3 = {i},
+ user4 = {d-V}
+}
+
+@entry{sample-t,
+ user1 = {T},
+ symbol = {\ensuremath{\sigma}},
+ user2 = {20},
+ name = {t name},
+ description = {t description},
+ user5 = {-20.1734366193154},
+ user6 = {1899-03-23},
+ user3 = {xx},
+ user4 = {T-xx}
+}
+
+@entry{sample-t-0,
+ user1 = {V},
+ parent = {sample-t},
+ symbol = {\ensuremath{\lambda_{3}^{2}}},
+ user2 = {0},
+ name = {t/0 name},
+ description = {child 0 of t},
+ user5 = {-0.391532621914315}
+}
+
+@entry{sample-t-1,
+ user1 = {F},
+ parent = {sample-t},
+ symbol = {\ensuremath{\kappa_{0}^{4}}},
+ user2 = {1},
+ name = {t/1 name},
+ description = {child 1 of t},
+ user6 = {1374-02-10}
+}
+
+@entry{sample-t-2,
+ user1 = {Q},
+ parent = {sample-t},
+ symbol = {\ensuremath{\psi}},
+ name = {t/2 name},
+ description = {child 2 of t},
+ user3 = {viii},
+ user4 = {c-III}
+}
+
+@entry{sample-t-3,
+ user1 = {E},
+ parent = {sample-t},
+ symbol = {\ensuremath{\lambda^{2}}},
+ user2 = {3},
+ name = {t/3 name},
+ description = {child 3 of t},
+ user4 = {D-II}
+}
+
+@entry{sample-t-4,
+ user1 = {M},
+ parent = {sample-t},
+ symbol = {\ensuremath{\alpha_{4}}},
+ name = {t/4 name},
+ description = {child 4 of t},
+ user5 = {-0.793735400177958},
+ user3 = {vi}
+}
+
+@entry{sample-u,
+ user1 = {U},
+ symbol = {\ensuremath{\tau}},
+ user2 = {21},
+ name = {u name},
+ description = {u description},
+ user5 = {-25.6972113945611},
+ user6 = {2085-03-10},
+ user3 = {i},
+ user4 = {u-I}
+}
+
+@entry{sample-u-0,
+ parent = {sample-u},
+ symbol = {\ensuremath{\vartheta}},
+ name = {u/0 name},
+ description = {child 0 of u},
+ user4 = {A-IX}
+}
+
+@entry{sample-u-1,
+ user1 = {Y},
+ parent = {sample-u},
+ symbol = {\ensuremath{\varphi}},
+ name = {u/1 name},
+ description = {child 1 of u},
+ user5 = {0.777529065501923},
+ user6 = {1615-02-09},
+ user3 = {vi}
+}
+
+@entry{sample-v,
+ user1 = {V},
+ symbol = {\ensuremath{\upsilon}},
+ user2 = {22},
+ name = {v name},
+ description = {v description},
+ user5 = {1.13418559211489},
+ user6 = {1228-10-11},
+ user3 = {ii},
+ user4 = {V-ii}
+}
+
+@entry{sample-v-0,
+ parent = {sample-v},
+ symbol = {\ensuremath{\varphi_{2}}},
+ name = {v/0 name},
+ description = {child 0 of v},
+ user3 = {i}
+}
+
+@entry{sample-v-1,
+ user1 = {W},
+ parent = {sample-v},
+ symbol = {\ensuremath{\tau}},
+ name = {v/1 name},
+ description = {child 1 of v},
+ user4 = {B-ii}
+}
+
+@entry{sample-v-2,
+ parent = {sample-v},
+ symbol = {\ensuremath{\varepsilon_{1}}},
+ name = {v/2 name},
+ description = {child 2 of v},
+ user3 = {ii},
+ user4 = {c-IX}
+}
+
+@entry{sample-w,
+ user1 = {W},
+ symbol = {\ensuremath{\phi}},
+ user2 = {23},
+ name = {w name},
+ description = {w description},
+ user5 = {26.2263343281809},
+ user6 = {1767-03-23},
+ user3 = {iii},
+ user4 = {W-III}
+}
+
+@entry{sample-w-0,
+ parent = {sample-w},
+ symbol = {\ensuremath{\rho_{2}}},
+ name = {w/0 name},
+ description = {child 0 of w},
+ user3 = {iii}
+}
+
+@entry{sample-w-1,
+ parent = {sample-w},
+ symbol = {\ensuremath{\phi}},
+ user2 = {1},
+ name = {w/1 name},
+ description = {child 1 of w},
+ user5 = {0.0183220676669222},
+ user3 = {ii}
+}
+
+@entry{sample-w-2,
+ parent = {sample-w},
+ symbol = {\ensuremath{\chi_{0}}},
+ name = {w/2 name},
+ description = {child 2 of w},
+ user4 = {c-i}
+}
+
+@entry{sample-x,
+ user1 = {X},
+ symbol = {\ensuremath{\chi}},
+ user2 = {24},
+ name = {x name},
+ description = {x description},
+ user5 = {40.3451424964658},
+ user6 = {1923-04-25},
+ user3 = {iv},
+ user4 = {X-IV}
+}
+
+@entry{sample-x-0,
+ user1 = {E},
+ parent = {sample-x},
+ symbol = {\ensuremath{\zeta_{0}^{3}}},
+ name = {x/0 name},
+ description = {child 0 of x},
+ user4 = {a-iii}
+}
+
+@entry{sample-x-1,
+ user1 = {P},
+ parent = {sample-x},
+ symbol = {\ensuremath{\varepsilon_{0}}},
+ user2 = {1},
+ name = {x/1 name},
+ description = {child 1 of x},
+ user6 = {1534-02-09},
+ user3 = {iii},
+ user4 = {B-iv}
+}
+
+@entry{sample-x-2,
+ user1 = {B},
+ parent = {sample-x},
+ symbol = {\ensuremath{\delta_{0}}},
+ name = {x/2 name},
+ description = {child 2 of x},
+ user3 = {ii}
+}
+
+@entry{sample-y,
+ user1 = {Y},
+ symbol = {\ensuremath{\psi}},
+ user2 = {25},
+ name = {y name},
+ description = {y description},
+ user5 = {-23.7637920103467},
+ user6 = {2039-01-15},
+ user3 = {v},
+ user4 = {Y-V}
+}
+
+@entry{sample-y-0,
+ parent = {sample-y},
+ symbol = {\ensuremath{\beta_{0}}},
+ user2 = {0},
+ name = {y/0 name},
+ description = {child 0 of y}
+}
+
+@entry{sample-y-1,
+ parent = {sample-y},
+ symbol = {\ensuremath{\upsilon_{4}}},
+ name = {y/1 name},
+ description = {child 1 of y},
+ user5 = {0.926300787977134},
+ user6 = {2037-10-25},
+ user4 = {b-iii}
+}
+
+@entry{sample-y-2,
+ parent = {sample-y},
+ symbol = {\ensuremath{\zeta}},
+ user2 = {2},
+ name = {y/2 name},
+ description = {child 2 of y},
+ user4 = {c-VIII}
+}
+
+@entry{sample-y-3,
+ user1 = {Q},
+ parent = {sample-y},
+ symbol = {\ensuremath{\nu}},
+ name = {y/3 name},
+ description = {child 3 of y}
+}
+
+@entry{sample-y-4,
+ user1 = {Q},
+ parent = {sample-y},
+ symbol = {\ensuremath{\delta_{3}}},
+ user2 = {4},
+ name = {y/4 name},
+ description = {child 4 of y},
+ user5 = {0.371448215019761},
+ user4 = {E-ii}
+}
+
+@entry{sample-z,
+ user1 = {Z},
+ symbol = {\ensuremath{\omega}},
+ user2 = {26},
+ name = {z name},
+ description = {z description},
+ user5 = {16.4806453642409},
+ user6 = {1005-06-21},
+ user3 = {vi},
+ user4 = {Z-vi}
+}
+
+@entry{sample-z-0,
+ user1 = {U},
+ parent = {sample-z},
+ symbol = {\ensuremath{\iota_{0}}},
+ user2 = {0},
+ name = {z/0 name},
+ description = {child 0 of z}
+}
+
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</example-glossaries-user.bib>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*example-glossaries-xr.bib>
% \end{macrocode}
%\fi
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 de3e13d48b8..84b00945621 100644
--- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins
+++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins
@@ -1,4 +1,4 @@
-% glossaries-extra.ins generated using makedtx version 1.2 2022/10/19 17:47
+% glossaries-extra.ins generated using makedtx version 1.2 2022/11/8 19:11
\input docstrip
\preamble
@@ -18,7 +18,7 @@
The Current Maintainer of this work is Nicola Talbot.
- This work consists of the files glossaries-extra.dtx and glossaries-extra.ins and the derived files glossaries-extra.sty, glossaries-extra-abbrstyles.def, glossaries-extra-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.sty, glossary-table.sty, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childmultipar.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-longchild.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbolnames.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib, glossaries-extra-2021-11-22.sty, glossaries-extra-bib2gls-2021-11-22.sty, glossaries-extra-stylemods-2021-11-22.sty, glossary-bookindex-2021-11-22.sty, glossary-longextra-2021-11-22.sty, glossary-topic-2021-11-22.sty.
+ This work consists of the files glossaries-extra.dtx and glossaries-extra.ins and the derived files glossaries-extra.sty, glossaries-extra-abbrstyles.def, glossaries-extra-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.sty, glossary-table.sty, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childmultipar.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-longchild.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbolnames.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-user.bib, example-glossaries-xr.bib, glossaries-extra-2021-11-22.sty, glossaries-extra-bib2gls-2021-11-22.sty, glossaries-extra-stylemods-2021-11-22.sty, glossary-bookindex-2021-11-22.sty, glossary-longextra-2021-11-22.sty, glossary-topic-2021-11-22.sty.
\endpreamble
@@ -57,6 +57,7 @@
\file{example-glossaries-symbolnames.bib}{\nopreamble\nopostamble\from{glossaries-extra.dtx}{example-glossaries-symbolnames.bib}}
\file{example-glossaries-symbols.bib}{\nopreamble\nopostamble\from{glossaries-extra.dtx}{example-glossaries-symbols.bib}}
\file{example-glossaries-url.bib}{\nopreamble\nopostamble\from{glossaries-extra.dtx}{example-glossaries-url.bib}}
+\file{example-glossaries-user.bib}{\nopreamble\nopostamble\from{glossaries-extra.dtx}{example-glossaries-user.bib}}
\file{example-glossaries-xr.bib}{\nopreamble\nopostamble\from{glossaries-extra.dtx}{example-glossaries-xr.bib}}
\file{glossaries-extra-2021-11-22.sty}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{glossaries-extra.dtx}{glossaries-extra-2021-11-22.sty,package}}