diff options
author | Karl Berry <karl@freefriends.org> | 2022-11-09 21:05:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-11-09 21:05:47 +0000 |
commit | 4412bf07bbf53310304b053bc16676a8ca58c690 (patch) | |
tree | a2bbf78b9a6fd7307e3f6a7239674a09e94a14ea /Master/texmf-dist/source/latex/glossaries-extra | |
parent | 2ede9a82d25473f012b41aa0153ae69d89a3e168 (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.dtx | 4475 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins | 5 |
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}} |