From dd02844267c39aa49c67dacdc60962f7d46a8644 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Nov 2021 22:03:28 +0000 Subject: glossaries-extra (5nov21) git-svn-id: svn://tug.org/texlive/trunk@60962 c570f23f-e606-0410-a88d-b1316a301751 --- .../glossaries-extra/glossaries-extra-bib2gls.sty | 12 ++- .../glossaries-extra-stylemods.sty | 66 +++++++++++---- .../latex/glossaries-extra/glossaries-extra.sty | 97 ++++++++++++++++++++-- .../latex/glossaries-extra/glossary-bookindex.sty | 2 +- .../latex/glossaries-extra/glossary-longextra.sty | 2 +- .../tex/latex/glossaries-extra/glossary-topic.sty | 2 +- 6 files changed, 151 insertions(+), 30 deletions(-) (limited to 'Master/texmf-dist/tex/latex/glossaries-extra') diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty index 0bb6af8411c..48aea62fb2a 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-bib2gls.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-bib2gls}[2021/09/20 v1.46 (NLCT)] +\ProvidesPackage{glossaries-extra-bib2gls}[2021/11/04 v1.47 (NLCT)] \ifglsacronym \providecommand*{\printunsrtacronyms}[1][]{% \printunsrtglossary[type=\acronymtype,#1]}% @@ -77,8 +77,14 @@ \renewcommand*{\glsentrynumberlist}[1]{\glsxtrusefield{#1}{location}} \newcommand*{\glshex}{\string\u} \newcommand*{\glscapturedgroup}{\string\$} -\newcommand*{\GlsXtrIfHasNonZeroChildCount}[3]{% - \GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}% +\newcommand*{\GlsXtrIfHasNonZeroChildCount}{% + \@ifstar\s@GlsXtrIfHasNonZeroChildCount\@GlsXtrIfHasNonZeroChildCount +} +\newcommand*{\@GlsXtrIfHasNonZeroChildCount}[3]{% + \@GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}% +} +\newcommand*{\s@GlsXtrIfHasNonZeroChildCount}[3]{% + \s@GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}% } \newcommand*{\glsxtrprovidecommand}{\providecommand} \newcommand*{\glsrenewcommand}{\@star@or@long\glsxtr@renewcommand} diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty index 483f01b3752..b13f8ff3193 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2021/09/20 v1.46 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2021/11/04 v1.47 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption{all}{% \appto\@glsxtr@loadstyles{% @@ -106,15 +106,38 @@ \newcommand{\glslistchildpostlocation}{.} \newcommand{\glslistdesc}[1]{\glossentrydesc{#1}\glspostdescription} \newcommand{\glslistgroupskip}{\nobreak\indexspace\nobreak} + \newcommand{\glslistitem}[1]{% + \item[\glsentryitem{#1}% + \glstarget{#1}{\glossentryname{#1}}]% + } + \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 + }% + }% + {}% + } + \providecommand{\glslistexpandedname}[1]{% + \ifcsname glo@\glsdetoklabel{#1}@name\endcsname + \expandafter\expandonce\csname glo@\glsdetoklabel{#1}@name\expandafter\endcsname + \fi + } \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 @@ -126,12 +149,14 @@ {} \ifdef{\@glsstyle@altlist} {% + \newcommand{\glsaltlistitem}[1]{% + \glslistitem{#1}% + \mbox{}\par\nobreak\@afterheading + } \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 @@ -143,11 +168,15 @@ {} \ifdef{\@glsstyle@listgroup} {% + \newcommand{\glslistgroupheaderitem}[2]{\item[{#2}]} + \newcommand{\glslistgroupafterheader}{% + \mbox{}\par\nobreak\@afterheading + } \renewglossarystyle{listgroup}{% \setglossarystyle{list}% \renewcommand*{\glsgroupheading}[1]{% - \item[\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}]% - \mbox{}\par\nobreak\@afterheading + \glslistgroupheaderitem{##1}{\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}}% + \glslistgroupafterheader }% } } @@ -159,9 +188,9 @@ \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 }% } } @@ -171,8 +200,9 @@ \renewglossarystyle{altlistgroup}{% \setglossarystyle{altlist}% \renewcommand*{\glsgroupheading}[1]{% - \item[\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}]% - \mbox{}\par\nobreak\@afterheading + \glslistgroupheaderitem{##1}% + {\glslistgroupheaderfmt{\glsgetgrouptitle{##1}}}% + \glslistgroupafterheader }% } } @@ -184,9 +214,9 @@ \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 }% } } diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty index 4a465675d14..38731cfa89e 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2021/09/20 v1.46 (NLCT)] +\ProvidesPackage{glossaries-extra}[2021/11/04 v1.47 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} \@ifpackageloaded{glossaries} @@ -1105,7 +1105,10 @@ \newcommand*{\glsxtrfieldxifinlist}[5]{% \xifinlistcs{#3}{glo@\glsdetoklabel{#1}@#2}{#4}{#5}% } -\newcommand*{\glsxtrforcsvfield}[3]{% +\newcommand*{\glsxtrforcsvfield}{% + \@ifstar\s@glsxtrforcsvfield\@glsxtrforcsvfield +} +\newcommand*{\@glsxtrforcsvfield}[3]{% \@glsxtrifhasfield{#2}{#1}% {% \let\glsxtrendfor\@endfortrue @@ -1113,6 +1116,14 @@ {\expandafter#3\expandafter{\@glsxtr@label}}}% {}% } +\newcommand*{\s@glsxtrforcsvfield}[3]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \let\glsxtrendfor\@endfortrue + \@for\@glsxtr@label:=\glscurrentfieldvalue\do + {\expandafter#3\expandafter{\@glsxtr@label}}}% + {}% +} \newrobustcmd*{\glsxtrfieldformatcsvlist}[2]{% \@glsxtrifhasfield{#2}{#1}% {\@dtlformatlist\glscurrentfieldvalue}% @@ -1137,6 +1148,42 @@ }% {#5}% } +\newcommand*{\GlsXtrIfValueInFieldCsvList}{% + \@ifstar\s@GlsXtrIfValueInFieldCsvList\@GlsXtrIfValueInFieldCsvList +} +\newcommand*{\@GlsXtrIfValueInFieldCsvList}[5]{% + \@glsxtrifhasfield{#2}{#1}% + {% + \DTLifinlist{#3}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\s@GlsXtrIfValueInFieldCsvList}[5]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \DTLifinlist{#3}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\xGlsXtrIfValueInFieldCsvList}{% + \@ifstar\s@xGlsXtrIfValueInFieldCsvList\@xGlsXtrIfValueInFieldCsvList +} +\newcommand*{\@xGlsXtrIfValueInFieldCsvList}[5]{% + \@glsxtrifhasfield{#2}{#1}% + {% + \protected@edef\@gls@tmp{#3}% + \expandafter\DTLifinlist\expandafter{\@gls@tmp}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} +\newcommand*{\s@xGlsXtrIfValueInFieldCsvList}[5]{% + \s@glsxtrifhasfield{#2}{#1}% + {% + \protected@edef\@gls@tmp{#3}% + \expandafter\DTLifinlist\expandafter{\@gls@tmp}{\glscurrentfieldvalue}{#4}{#5}% + }% + {#5}% +} \newrobustcmd{\glsxtrifhasfield}{% \@ifstar{\s@glsxtrifhasfield}{\@glsxtrifhasfield}% } @@ -1157,6 +1204,9 @@ \newcommand{\@GlsXtrIfFieldNonZero}[4]{% \@GlsXtrIfFieldCmpNum{#1}{#2}{=}{0}{#4}{#3}% } +\newcommand{\s@GlsXtrIfFieldNonZero}[4]{% + \s@GlsXtrIfFieldCmpNum{#1}{#2}{=}{0}{#4}{#3}% +} \newcommand{\GlsXtrIfFieldEqNum}{% \@ifstar\s@GlsXtrIfFieldEqNum\@GlsXtrIfFieldEqNum } @@ -1232,6 +1282,11 @@ } \newcommand*{\glsxtrdeffield}[2]{\csdef{glo@\glsdetoklabel{#1}@#2}} \newcommand*{\glsxtredeffield}[2]{\protected@csedef{glo@\glsdetoklabel{#1}@#2}} +\newcommand*{\glsxtrapptocsvfield}[3]{% + \ifcsdef{glo@\glsdetoklabel{#1}@#2}% + {\csappto{glo@\glsdetoklabel{#1}@#2}{,#3}}% + {\csdef{glo@\glsdetoklabel{#1}@#2}{#3}}% +} \newcommand*{\glsxtrsetfieldifexists}[3]{\glsdoifexists{#1}{#3}} \newrobustcmd*{\GlsXtrSetField}[3]{% \glsxtrsetfieldifexists{#1}{#2}% @@ -1617,7 +1672,7 @@ {% \ifcsdef{glolist@#2} {% - \cseappto{glolist@#2}{#1,}% + \protected@cseappto{glolist@#2}{#1,}% }% {% \glsxtrundefaction{Glossary type `#2' doesn't exist}{}% @@ -1797,6 +1852,26 @@ \newrobustcmd{\glsxtrseelist}[1]{% \protected@edef\@glo@tmp{\noexpand\glsseelist{#1}}\@glo@tmp } +\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 + }% +} +\newcommand*{\glsseefirstitem}{\glsseeitem} +\newcommand*{\glsseelastoxfordsep}{\glsseelastsep} \ifdef\alsoname {\providecommand{\seealsoname}{\alsoname}} {\providecommand{\seealsoname}{see also}} @@ -3206,13 +3281,13 @@ \KV@glslink@noindextrue } \newcommand*{\@glsxtrsetaliasnoindex}{% - \s@glsxtrifhasfield{alias}{\glslabel}% + \ifcsvoid{glo@\glsdetoklabel{\glslabel}@alias}% + {}% {% \let\glsxtrindexaliased\@glsxtrindexaliased \glsxtrsetaliasnoindex \let\glsxtrindexaliased\@no@glsxtrindexaliased }% - {}% } \newcommand{\@glsxtrindexaliased}{% \ifKV@glslink@noindex @@ -6553,6 +6628,9 @@ defined}{}% \newcommand*{\glsgetcategoryattribute}[2]{% \csuse{@glsxtr@categoryattr@@#1@#2}% } +\newcommand*{\glsunsetcategoryattribute}[2]{% + \csundef{@glsxtr@categoryattr@@#1@#2}% +} \newcommand*{\glshascategoryattribute}[4]{% \ifcsvoid{@glsxtr@categoryattr@@#1@#2}{#4}{#3}% } @@ -6660,7 +6738,14 @@ defined}{}% \expandafter\glsxtrfieldtitlecasecs\expandafter {\csname glo@\glsdetoklabel{#1}@#2\endcsname}% } -\newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisewords{#1}} +\ifdef\glscapitalisewords +{ + \newcommand*{\glsxtrfieldtitlecasecs}[1]{% + \expandafter\glscapitalisewords\expandafter{#1}} +} +{ + \newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisewords{#1}} +} \@ifpackageloaded{glossaries-accsupp} { \renewcommand*{\glossentrydesc}[1]{% diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty index f121012709c..a3be5f297b2 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-bookindex}[2021/09/20 v1.46 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2021/11/04 v1.47 (NLCT)] \RequirePackage{multicol} \RequirePackage{glossary-tree} \newcommand{\glsxtrbookindexcols}{2} diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty index 05d82587e14..98233b2c467 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-longextra.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-longextra}[2021/09/20 v1.46 (NLCT)] +\ProvidesPackage{glossary-longextra}[2021/11/04 v1.47 (NLCT)] \RequirePackage{glossary-longbooktabs} \newcommand{\glslongextraNameFmt}[1]{% \glsentryitem{#1}\glstarget{#1}{\glossentryname{#1}}% diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty index 19c88da5d3a..582c188353a 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-topic.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-topic}[2021/09/20 v1.46 (NLCT)] +\ProvidesPackage{glossary-topic}[2021/11/04 v1.47 (NLCT)] \RequirePackage{multicol} \newglossarystyle{topic}{% \renewenvironment{theglossary}% -- cgit v1.2.3