From c628b1aa9cf528de739c1de45acf3739561619ed Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 5 Nov 2021 03:01:04 +0000
Subject: CTAN sync 202111050301

---
 .../contrib/glossaries-extra/glossaries-extra.dtx  | 373 ++++++++++++++++++---
 1 file changed, 331 insertions(+), 42 deletions(-)

(limited to 'macros/latex/contrib/glossaries-extra/glossaries-extra.dtx')

diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx b/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx
index da86005507..ab396b83e7 100644
--- a/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx
+++ b/macros/latex/contrib/glossaries-extra/glossaries-extra.dtx
@@ -1,10 +1,12 @@
 %\iffalse
 % glossaries-extra.dtx generated using makedtx version 1.2 (c) Nicola Talbot
 % Command line args:
-%   -macrocode ".*\.tex"
-%   -macrocode ".*\.bib"
-%   -setambles ".*\.bib=>\nopreamble\nopostamble"
+%   -comment ".*\.tex"
+%   -comment ".*\.bib"
+%   -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})"
+%   -doc "glossaries-extra-codedoc.tex"
 %   -section "chapter"
+%   -setambles ".*\.bib=>\nopreamble\nopostamble"
 %   -src "glossaries-extra.sty\Z=>glossaries-extra.sty"
 %   -src "glossaries-extra-bib2gls.sty\Z=>glossaries-extra-bib2gls.sty"
 %   -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty"
@@ -13,13 +15,11 @@
 %   -src "glossary-topic.sty\Z=>glossary-topic.sty"
 %   -src "(example-glossaries-.+\.tex)\Z=>\1"
 %   -src "(example-glossaries-.+\.bib)\Z=>\1"
-%   -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})"
+%   -macrocode ".*\.tex"
+%   -macrocode ".*\.bib"
 %   -author "Nicola Talbot"
-%   -doc "glossaries-extra-codedoc.tex"
-%   -comment ".*\.tex"
-%   -comment ".*\.bib"
 %   glossaries-extra
-% Created on 2021/9/22 14:44
+% Created on 2021/11/4 19:26
 %\fi
 %\iffalse
 %<*package>
@@ -142,7 +142,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
 
 \setcounter{IndexColumns}{2}
 
-\CheckSum{27294}
+\CheckSum{27468}
 
 \newcommand*{\ifirstuse}{\iterm{first use}}
 \newcommand*{\firstuse}{\gls{firstuse}}
@@ -182,13 +182,13 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
  \raggedright
 }
 
-\title{glossaries-extra.sty v1.46:
+\title{glossaries-extra.sty v1.47:
  documented code}
 \author{Nicola L.C. Talbot\\[10pt]
 Dickimaw Books\\
 \url{http://www.dickimaw-books.com/}}
 
-\date{2021-09-20}
+\date{2021-11-04}
 
 \begin{document}
 \DocInput{glossaries-extra.dtx}
@@ -233,7 +233,7 @@ Dickimaw Books\\
 %\section{Package Initialisation and Options}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra}[2021/09/20 v1.46 (NLCT)]
+\ProvidesPackage{glossaries-extra}[2021/11/04 v1.47 (NLCT)]
 %    \end{macrocode}
 % Requires \sty{xkeyval} to define package options.
 %    \begin{macrocode}
@@ -2645,7 +2645,17 @@ Dickimaw Books\\
 %\cs{glsxtrforcsvfield}\marg{label}\marg{field}\marg{cs handler}
 %\end{definition}
 %    \begin{macrocode}
-\newcommand*{\glsxtrforcsvfield}[3]{%
+\newcommand*{\glsxtrforcsvfield}{%
+  \@ifstar\s@glsxtrforcsvfield\@glsxtrforcsvfield
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtrforcsvfield}
+%\changes{1.47}{2017-11-14}{new}
+%Unstarred version.
+%    \begin{macrocode}
+\newcommand*{\@glsxtrforcsvfield}[3]{%
  \@glsxtrifhasfield{#2}{#1}%
  {%
    \let\glsxtrendfor\@endfortrue
@@ -2656,6 +2666,21 @@ Dickimaw Books\\
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\s@glsxtrforcsvfield}
+%\changes{1.47}{2017-11-14}{new}
+%Starred version.
+%    \begin{macrocode}
+\newcommand*{\s@glsxtrforcsvfield}[3]{%
+ \s@glsxtrifhasfield{#2}{#1}%
+ {%
+   \let\glsxtrendfor\@endfortrue
+   \@for\@glsxtr@label:=\glscurrentfieldvalue\do
+   {\expandafter#3\expandafter{\@glsxtr@label}}}%
+ {}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\glsxtrfieldformatcsvlist}
 %\changes{1.42}{2020-02-03}{new}
 %    \begin{macrocode}
@@ -2711,6 +2736,91 @@ Dickimaw Books\\
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\GlsXtrIfValueInFieldCsvList}
+%\changes{1.47}{2021-11-04}{new}
+%\begin{definition}
+%\cs{GlsXtrIfValueInFieldCsvList}\marg{label}\marg{field}\marg{value}\marg{true}\marg{false}
+%\end{definition}
+%Essentially the reverse. Tests if the given value is in the given
+%field which should contain a comma-separated list.
+%    \begin{macrocode}
+\newcommand*{\GlsXtrIfValueInFieldCsvList}{%
+  \@ifstar\s@GlsXtrIfValueInFieldCsvList\@GlsXtrIfValueInFieldCsvList
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@GlsXtrIfValueInFieldCsvList}
+%\changes{1.47}{}{new}
+%Unstarred version.
+%    \begin{macrocode}
+\newcommand*{\@GlsXtrIfValueInFieldCsvList}[5]{%
+ \@glsxtrifhasfield{#2}{#1}%
+ {%
+   \DTLifinlist{#3}{\glscurrentfieldvalue}{#4}{#5}%
+ }%
+ {#5}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\s@GlsXtrIfValueInFieldCsvList}
+%\changes{1.47}{}{new}
+%Unstarred version.
+%    \begin{macrocode}
+\newcommand*{\s@GlsXtrIfValueInFieldCsvList}[5]{%
+ \s@glsxtrifhasfield{#2}{#1}%
+ {%
+   \DTLifinlist{#3}{\glscurrentfieldvalue}{#4}{#5}%
+ }%
+ {#5}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\xGlsXtrIfValueInFieldCsvList}
+%\changes{1.47}{2021-11-04}{new}
+%\begin{definition}
+%\cs{xGlsXtrIfValueInFieldCsvList}\marg{label}\marg{field}\marg{value}\marg{true}\marg{false}
+%\end{definition}
+%As above but fully expand \meta{value}.
+%    \begin{macrocode}
+\newcommand*{\xGlsXtrIfValueInFieldCsvList}{%
+  \@ifstar\s@xGlsXtrIfValueInFieldCsvList\@xGlsXtrIfValueInFieldCsvList
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@xGlsXtrIfValueInFieldCsvList}
+%\changes{1.47}{}{new}
+%Unstarred version.
+%    \begin{macrocode}
+\newcommand*{\@xGlsXtrIfValueInFieldCsvList}[5]{%
+ \@glsxtrifhasfield{#2}{#1}%
+ {%
+   \protected@edef\@gls@tmp{#3}%
+   \expandafter\DTLifinlist\expandafter{\@gls@tmp}{\glscurrentfieldvalue}{#4}{#5}%
+ }%
+ {#5}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\s@xGlsXtrIfValueInFieldCsvList}
+%\changes{1.47}{}{new}
+%Unstarred version.
+%    \begin{macrocode}
+\newcommand*{\s@xGlsXtrIfValueInFieldCsvList}[5]{%
+ \s@glsxtrifhasfield{#2}{#1}%
+ {%
+   \protected@edef\@gls@tmp{#3}%
+   \expandafter\DTLifinlist\expandafter{\@gls@tmp}{\glscurrentfieldvalue}{#4}{#5}%
+ }%
+ {#5}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %
 %\begin{macro}{\glsxtrifhasfield}
 %\changes{1.19}{2017-09-09}{new}
@@ -2770,6 +2880,15 @@ Dickimaw Books\\
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\s@GlsXtrIfFieldNonZero}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+\newcommand{\s@GlsXtrIfFieldNonZero}[4]{%
+  \s@GlsXtrIfFieldCmpNum{#1}{#2}{=}{0}{#4}{#3}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\GlsXtrIfFieldEqNum}
 %\changes{1.31}{2018-05-09}{new}
 %\begin{definition}
@@ -2948,6 +3067,23 @@ Dickimaw Books\\
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\glsxtrapptocsvfield}
+%\changes{1.47}{2021-11-04}{new}
+% Similar to the above but will append value with a leading comma if
+% the field is already defined. This is used by \gls{bib2gls}.
+% There's no check if the entry has been defined. (Because of the
+% way that bib2gls's save-from-alias etc options are
+% implemented, the entry may not have yet been written to the glstex
+% file when this command is used.)
+%    \begin{macrocode}
+\newcommand*{\glsxtrapptocsvfield}[3]{%
+ \ifcsdef{glo@\glsdetoklabel{#1}@#2}%
+ {\csappto{glo@\glsdetoklabel{#1}@#2}{,#3}}%
+ {\csdef{glo@\glsdetoklabel{#1}@#2}{#3}}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\glsxtrsetfieldifexists}
 %\changes{1.12}{2017-02-03}{new}
 %    \begin{macrocode}
@@ -3687,7 +3823,10 @@ Dickimaw Books\\
   {%
     \ifcsdef{glolist@#2}
     {%
-      \cseappto{glolist@#2}{#1,}%
+%    \end{macrocode}
+%\changes{1.47}{2021-11-04}{replaced \cs{cseappto} with \cs{protected@cseappto}}
+%    \begin{macrocode}
+      \protected@cseappto{glolist@#2}{#1,}%
     }%
     {%
       \glsxtrundefaction{Glossary type `#2' doesn't exist}{}%
@@ -4082,6 +4221,45 @@ Dickimaw Books\\
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\glsseelist}
+%\changes{1.47}{2021-11-04}{redefined}
+%Redefine to make \cs{glsseelist} more flexible.
+%    \begin{macrocode}
+\renewrobustcmd*{\glsseelist}[1]{%
+  \let\@gls@dolast\relax
+  \let\@gls@donext\relax
+  \let\@glsseeitem\glsseefirstitem
+  \let\@glsseelastsep\glsseelastsep
+  \@for\@gls@thislabel:=#1\do{%
+    \ifx\@xfor@nextelement\@nnil
+      \@gls@dolast
+    \else
+      \@gls@donext
+    \fi
+    \expandafter\@glsseeitem\expandafter{\@gls@thislabel}%
+    \let\@gls@dolast\@glsseelastsep
+    \let\@gls@donext\glsseesep
+    \let\@glsseeitem\glsseeitem
+    \let\@glsseelastsep\glsseelastoxfordsep
+  }%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsseefirstitem}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+\newcommand*{\glsseefirstitem}{\glsseeitem}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\glsseelastoxfordsep}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+\newcommand*{\glsseelastoxfordsep}{\glsseelastsep}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\seealsoname}
 %\changes{1.16}{2017-06-15}{new}
 %\changes{1.42}{2020-02-03}{add check for \cs{alsoname}}
@@ -6975,15 +7153,19 @@ Dickimaw Books\\
 %\cs{ifglshasfield}}
 %\changes{1.46}{2021-09-18}{changed to use starred version of
 %\cs{glsxtrifhasfield}}
+%\changes{1.47}{2021-11-04}{changed to use \cs{ifcsvoid}}
+%The change made in v1.46 to remove the grouping has had the
+%knock-on effect of redefining \cs{glscurrentfieldvalue}, which may
+%be a problem, so v1.47 has changed this to use \cs{ifcsvoid}.
 %    \begin{macrocode}
 \newcommand*{\@glsxtrsetaliasnoindex}{%
- \s@glsxtrifhasfield{alias}{\glslabel}%
+ \ifcsvoid{glo@\glsdetoklabel{\glslabel}@alias}%
+ {}%
  {%
    \let\glsxtrindexaliased\@glsxtrindexaliased
    \glsxtrsetaliasnoindex
    \let\glsxtrindexaliased\@no@glsxtrindexaliased
  }%
- {}%
 }
 %    \end{macrocode}
 %\end{macro}
@@ -13915,6 +14097,19 @@ defined}{}%
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\glsunsetcategoryattribute}
+%\begin{definition}
+%\cs{glsunsetcategoryattribute}\marg{category}\marg{attribute-label}
+%\end{definition}
+%Unsets the given attribute for the given category.
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+\newcommand*{\glsunsetcategoryattribute}[2]{%
+  \csundef{@glsxtr@categoryattr@@#1@#2}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\glshascategoryattribute}
 %\begin{definition}
 %\cs{glshascategoryattribute}\marg{category}\marg{attribute-label}\marg{true}\marg{false}
@@ -14261,10 +14456,19 @@ defined}{}%
 %\begin{macro}{\glsxtrfieldtitlecasecs}
 %The command used by \cs{glsxtrfieldtitlecase}. May be
 %redefined to use a different command, for example,
-%\cs{xcapitalisefmtwords}.
+%\cs{xcapitalisefmtwords}. Check for \cs{glscapitalisewords}, which
+%was added to \sty{glossaries} v4.48.
 %\changes{1.07}{2016-08-15}{new}
+%\changes{1.47}{2021-11-04}{added check for \cs{glscapitalisewords}}
 %    \begin{macrocode}
-\newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisewords{#1}}
+\ifdef\glscapitalisewords
+{
+ \newcommand*{\glsxtrfieldtitlecasecs}[1]{%
+  \expandafter\glscapitalisewords\expandafter{#1}}
+}
+{
+ \newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisewords{#1}}
+}
 %    \end{macrocode}
 %\end{macro}
 %
@@ -25858,7 +26062,7 @@ defined}{}%
 %automatically loaded by the record option.
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-bib2gls}[2021/09/20 v1.46 (NLCT)]
+\ProvidesPackage{glossaries-extra-bib2gls}[2021/11/04 v1.47 (NLCT)]
 %    \end{macrocode}
 %Provide convenient shortcut commands for predefined glossary types.
 %\begin{macro}{\printunsrtacronyms}
@@ -25956,10 +26160,29 @@ defined}{}%
 %
 %\begin{macro}{\GlsXtrIfHasNonZeroChildCount}
 %\changes{1.31}{2018-05-09}{new}
+%\changes{1.47}{2021-11-04}{added starred version}
 %For use with \app{bib2gls}'s \texttt{save-child-count} resource option.
 %    \begin{macrocode}
-\newcommand*{\GlsXtrIfHasNonZeroChildCount}[3]{%
-  \GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}%
+\newcommand*{\GlsXtrIfHasNonZeroChildCount}{%
+  \@ifstar\s@GlsXtrIfHasNonZeroChildCount\@GlsXtrIfHasNonZeroChildCount
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@GlsXtrIfHasNonZeroChildCount}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+\newcommand*{\@GlsXtrIfHasNonZeroChildCount}[3]{%
+  \@GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\s@GlsXtrIfHasNonZeroChildCount}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+\newcommand*{\s@GlsXtrIfHasNonZeroChildCount}[3]{%
+  \s@GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}%
 }
 %    \end{macrocode}
 %\end{macro}
@@ -28950,7 +29173,7 @@ defined}{}%
 % First identify package:
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-stylemods}[2021/09/20 v1.46 (NLCT)]
+\ProvidesPackage{glossaries-extra-stylemods}[2021/11/04 v1.47 (NLCT)]
 %    \end{macrocode}
 % Provide package options to automatically load required predefined
 % styles. The simplest method is to just test for the existence of
@@ -29108,17 +29331,62 @@ defined}{}%
   \newcommand{\glslistgroupskip}{\nobreak\indexspace\nobreak}
 %    \end{macrocode}
 %\end{macro}
+%\begin{macro}{\glslistitem}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+  \newcommand{\glslistitem}[1]{%
+    \item[\glsentryitem{#1}%
+          \glstarget{#1}{\glossentryname{#1}}]%
+  }
+%    \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glslistinit}
+%\changes{1.47}{2021-11-04}{new}
+%This command was only added to \sty{glossary-list} v4.48 so provide
+%it if it hasn't been defined:
+%    \begin{macrocode}
+  \providecommand{\glslistinit}{%
+    \ifdef\GetTitleStringDisableCommands
+    {%
+      \GetTitleStringSetup{expand}%
+      \GetTitleStringDisableCommands{%
+        \let\glsentryitem\@gobble
+        \let\glstarget\@secondoftwo
+        \let\glossentryname\glslistexpandedname
+        \let\glslistgroupheaderfmt\@firstofone
+        \let\glsgetgrouptitle\@firstofone
+        \let\glsnavhypertarget\@secondoftwo
+        \let\glsnavigation\relax
+      }%
+    }%
+    {}%
+  }
+%    \end{macrocode}
+%\end{macro}
+%\begin{macro}{\glslistexpandedname}
+%\changes{1.47}{2021-11-04}{new}
+%This command was only added to \sty{glossary-list} v4.48 so provide
+%it if it hasn't been defined. The original definition uses 
+%\cs{glsunexpandedfieldvalue} which
+%was added to \sty{glossaries} v4.48 (so if \cs{glslistexpandedname}
+%hasn't been defined then neither will \cs{glsunexpandedfieldvalue}).
+%    \begin{macrocode}
+  \providecommand{\glslistexpandedname}[1]{%
+    \ifcsname glo@\glsdetoklabel{#1}@name\endcsname
+     \expandafter\expandonce\csname glo@\glsdetoklabel{#1}@name\expandafter\endcsname
+    \fi
+  }
+%    \end{macrocode}
+%\end{macro}
 %Redefine \glostyle{list} to use these commands.
 %    \begin{macrocode}
   \renewglossarystyle{list}{%
     \renewenvironment{theglossary}%
-      {\begin{description}}{\end{description}}%
+      {\glslistinit\begin{description}}{\end{description}}%
     \renewcommand*{\glossaryheader}{}%
     \renewcommand*{\glsgroupheading}[1]{}%
     \renewcommand*{\glossentry}[2]{%
-      \item[\glsentryitem{##1}%
-            \glstarget{##1}{\glossentryname{##1}}]
-        \glslistdesc{##1}\glslistprelocation ##2}%
+      \glslistitem{##1}\glslistdesc{##1}\glslistprelocation ##2}%
     \renewcommand*{\subglossentry}[3]{%
       \glssubentryitem{##2}%
       \glstarget{##2}{\strut}\space
@@ -29134,12 +29402,21 @@ defined}{}%
 %    \begin{macrocode}
 \ifdef{\@glsstyle@altlist}
 {%
+%    \end{macrocode}
+%\begin{macro}{\glsaltlistitem}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+  \newcommand{\glsaltlistitem}[1]{%
+    \glslistitem{#1}%
+    \mbox{}\par\nobreak\@afterheading
+  }
+%    \end{macrocode}
+%\end{macro}
+%    \begin{macrocode}
   \renewglossarystyle{altlist}{%
     \setglossarystyle{list}%
     \renewcommand*{\glossentry}[2]{%
-      \item[\glsentryitem{##1}%
-        \glstarget{##1}{\glossentryname{##1}}]%
-      \mbox{}\par\nobreak\@afterheading
+      \glsaltlistitem{##1}%
       \glslistdesc{##1}\glslistprelocation ##2}%
     \renewcommand{\subglossentry}[3]{%
       \par
@@ -29157,11 +29434,22 @@ defined}{}%
 %    \begin{macrocode}
 \ifdef{\@glsstyle@listgroup}
 {%
+%    \end{macrocode}
+%\begin{macro}{\glslistgroupafterheader}
+%\changes{1.47}{2021-11-04}{new}
+%    \begin{macrocode}
+  \newcommand{\glslistgroupheaderitem}[2]{\item[{#2}]}
+  \newcommand{\glslistgroupafterheader}{%
+      \mbox{}\par\nobreak\@afterheading
+  }
+%    \end{macrocode}
+%\end{macro}
+%    \begin{macrocode}
   \renewglossarystyle{listgroup}{%
     \setglossarystyle{list}%
     \renewcommand*{\glsgroupheading}[1]{%
-      \item[\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}]%
-      \mbox{}\par\nobreak\@afterheading
+      \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}}%
+      \glslistgroupafterheader
     }%
   }
 }
@@ -29178,9 +29466,9 @@ defined}{}%
     \renewcommand*{\glossaryheader}{%
       \glslistnavigationitem{\glsnavigation}}%
     \renewcommand*{\glsgroupheading}[1]{%
-      \item[\glslistgroupheaderfmt
-            {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}]%
-      \mbox{}\par\nobreak\@afterheading
+      \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt
+         {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}}%
+      \glslistgroupafterheader
     }%
   }
 }
@@ -29195,8 +29483,9 @@ defined}{}%
   \renewglossarystyle{altlistgroup}{%
     \setglossarystyle{altlist}%
     \renewcommand*{\glsgroupheading}[1]{%
-      \item[\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}]%
-      \mbox{}\par\nobreak\@afterheading
+      \glslistgroupheaderitem{##1}%
+        {\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}}%
+      \glslistgroupafterheader
     }%
   }
 }
@@ -29213,9 +29502,9 @@ defined}{}%
     \renewcommand*{\glossaryheader}{%
       \glslistnavigationitem{\glsnavigation}}%
     \renewcommand*{\glsgroupheading}[1]{%
-      \item[\glslistgroupheaderfmt
-        {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}]%
-      \mbox{}\par\nobreak\@afterheading
+      \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt
+        {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}}%
+      \glslistgroupafterheader
     }%
   }
 }
@@ -31313,7 +31602,7 @@ defined}{}%
 %\section{Package Initialisation and Options}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-bookindex}[2021/09/20 v1.46 (NLCT)]
+\ProvidesPackage{glossary-bookindex}[2021/11/04 v1.47 (NLCT)]
 %    \end{macrocode}
 %Load required packages.
 %    \begin{macrocode}
@@ -31809,7 +32098,7 @@ defined}{}%
 %Provides additional long styles.
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-longextra}[2021/09/20 v1.46 (NLCT)]
+\ProvidesPackage{glossary-longextra}[2021/11/04 v1.47 (NLCT)]
 %    \end{macrocode}
 %Load required packages.
 %    \begin{macrocode}
@@ -33238,7 +33527,7 @@ defined}{}%
 %topic.
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-topic}[2021/09/20 v1.46 (NLCT)]
+\ProvidesPackage{glossary-topic}[2021/11/04 v1.47 (NLCT)]
 %    \end{macrocode}
 %Load required package.
 %    \begin{macrocode}
-- 
cgit v1.2.3

