From 9bcbefe37246cfab0f678bc2e46c86fcb11eddd7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 24 Mar 2020 20:52:40 +0000 Subject: glossaries-extra (24mar20) git-svn-id: svn://tug.org/texlive/trunk@54521 c570f23f-e606-0410-a88d-b1316a301751 --- .../glossaries-extra/glossaries-extra-bib2gls.sty | 2 +- .../glossaries-extra-stylemods.sty | 3 +- .../latex/glossaries-extra/glossaries-extra.sty | 203 ++++++++++++++++++--- .../latex/glossaries-extra/glossary-bookindex.sty | 2 +- .../latex/glossaries-extra/glossary-longextra.sty | 2 +- .../tex/latex/glossaries-extra/glossary-topic.sty | 8 +- 6 files changed, 189 insertions(+), 31 deletions(-) (limited to 'Master/texmf-dist/tex') 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 3b60e5f32c4..eb6fcda06d5 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}[2020/02/28 v1.43 (NLCT)] +\ProvidesPackage{glossaries-extra-bib2gls}[2020/03/23 v1.44 (NLCT)] \ifglsacronym \providecommand*{\printunsrtacronyms}[1][]{% \printunsrtglossary[type=\acronymtype,#1]}% 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 6406dc40fe8..586470575fe 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}[2020/02/28 v1.43 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2020/03/23 v1.44 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption{all}{% \appto\@glsxtr@loadstyles{% @@ -772,7 +772,6 @@ {% \let\par\glsxtrAltTreePar \ifglshassymbol{#1}{(\glossentrysymbol{#1})\space}{}% - \ifglshasdesc{#1}{\glossentrydesc{#1}\glspostdescription}{}% \glstreeDescLoc{#1}{#2}\par }% } 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 7e0c7fa69b0..1b905fc93a8 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}[2020/02/28 v1.43 (NLCT)] +\ProvidesPackage{glossaries-extra}[2020/03/23 v1.44 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} \@ifpackageloaded{glossaries} @@ -920,6 +920,19 @@ {\ifbool{glo@\glsdetoklabel{#1}@flag}{#3}{#2}}% {#2}% } +\ifdef\s@ifglossaryexists +{} +{ + \renewcommand{\ifglossaryexists}{% + \@ifstar\s@ifglossaryexists\@ifglossaryexists + } + \newcommand{\@ifglossaryexists}[3]{% + \ifcsundef{@glotype@#1@out}{#3}{#2}% + } + \newcommand{\s@ifglossaryexists}[3]{% + \ifcsundef{glolist@#1}{#3}{#2}% + } +} \newcommand{\glsxtrifemptyglossary}[3]{% \ifcsdef{glolist@#1}% {% @@ -1622,7 +1635,7 @@ \ifdef\doifglossarynoexistsordo {% \renewcommand{\doifglossarynoexistsordo}[3]{% - \ifglossaryexists{#1}% + \ifglossaryexists*{#1}% {% \glsxtrundefaction{Glossary type `#1' already exists}{}% #3% @@ -1633,7 +1646,7 @@ {% \glsxtr@warnonexistsordo\doifglossarynoexistsordo \newcommand{\doifglossarynoexistsordo}[3]{% - \ifglossaryexists{#1}% + \ifglossaryexists*{#1}% {% \glsxtrundefaction{Glossary type `#1' already exists}{}% #3% @@ -3201,15 +3214,15 @@ \glsxtrifindexing {% \ifglsindexonlyfirst - \ifglsused{#1} - {\glsxtrdoautoindexname{#1}{dualindex}}% + \GlsXtrIfUnusedOrUndefined{#1} {#2}% + {\glsxtrdoautoindexname{#1}{dualindex}}% \else \glsifattribute{#1}{indexonlyfirst}{true}% {% - \ifglsused{#1}% - {\glsxtrdoautoindexname{#1}{dualindex}}% + \GlsXtrIfUnusedOrUndefined{#1}% {#2}% + {\glsxtrdoautoindexname{#1}{dualindex}}% }% {#2}% \fi @@ -4499,6 +4512,9 @@ }% }% } +\ifdef\@printgloss@checkexists +{\newcommand{\glsxtr@printgloss@checkexists}{\@printgloss@checkexists}} +{\newcommand{\glsxtr@printgloss@checkexists}[2]{#2}} \newcommand{\@glsxtr@orgprintglossary}[2]{% \def\@glo@type{\glsdefaulttype}% \def\glossarytitle{% @@ -4544,7 +4560,7 @@ \gls@org@glossarysubentryfield{##1}{##2}% }% \@gls@preglossaryhook - #2% + \glsxtr@printgloss@checkexists{\@glo@type}{#2}% \egroup \global\let\glossaryentrynumbers\@org@glossaryentrynumbers \global\let\warn@noprintglossary\relax @@ -4611,6 +4627,20 @@ \label{#1}% }% } +\newcount\@glsxtr@leveloffset +\define@key{printgloss}{leveloffset}{% + \@glsxtr@assign@leveloffset#1\relax +} +\newcommand*{\@glsxtr@assign@leveloffset}{% + \@ifnextchar+{\p@glsxtr@assign@leveloffset}{\np@glsxtr@assign@leveloffset}% +} +\newcommand*{\p@glsxtr@assign@leveloffset}[1]{% + \@ifnextchar+{\pp@glsxtr@assign@leveloffset}{\np@glsxtr@assign@leveloffset}% +} +\def\np@glsxtr@assign@leveloffset#1\relax{\@glsxtr@leveloffset=#1\relax} +\def\pp@glsxtr@assign@leveloffset#1\relax{\advance\@glsxtr@leveloffset by #1\relax} +\define@boolkey{printgloss}[glsxtr@printgloss@]{groups}[true]{} +\glsxtr@printgloss@groupstrue \let\@glsxtr@org@glsdohypertarget\glsdohypertarget \renewcommand{\glsdohypertarget}[2]{% \@glsxtr@org@glsdohypertarget{\@glsxtrhypernameprefix#1}{#2}% @@ -5002,7 +5032,7 @@ } \newcommand{\GlsXtrRecordWarning}[1]{% \texttt{\string\printglossary} doesn't work - with the \texttt{record=only} package option + with the \texttt{record=\@glsxtr@record@setting} package option use\par\texttt{\string\printunsrtglossary[type=#1]}\par instead (or change the package option).% } @@ -5072,7 +5102,7 @@ } \newcommand*{\@glsxtr@record@noglossarywarning}[1]{% \GlossariesExtraWarning{\string\printglossary\space doesn't work\MessageBreak - with record=only package option\MessageBreak(use + with record=\@glsxtr@record@setting\space package option\MessageBreak(use \string\printunsrtglossary[type=#1])\MessageBreak instead (or change the package option)}% \glossarysection[\glossarytoctitle]{\glossarytitle} @@ -5290,8 +5320,17 @@ \newcommand*{\GlsXtrStandaloneEntryOther}[2]{% \glstarget{#1}{\glossentrynameother{#1}{#2}}% } -\newcommand*{\printunsrtglossary}{% - \@ifstar\s@printunsrtglossary\@printunsrtglossary +\ifdef\@printgloss@checkexists +{ + \newcommand*{\printunsrtglossary}{% + \let\@printgloss@checkexists\@printgloss@checkexists@allowignored + \@ifstar\s@printunsrtglossary\@printunsrtglossary + } +} +{ + \newcommand*{\printunsrtglossary}{% + \@ifstar\s@printunsrtglossary\@printunsrtglossary + } } \newcommand*{\@printunsrtglossary}[1][]{% \@printglossary{type=\glsdefaulttype,#1}{\@print@unsrt@glossary}% @@ -5334,12 +5373,14 @@ \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% \glsxtr@process {% - \ifglshasparent{\glscurrententrylabel}{}% - {% - \@glsxtr@checkgroup\glscurrententrylabel - \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter - {\@glsxtr@groupheading}% - }% + \ifglsxtr@printgloss@groups + \ifglshasparent{\glscurrententrylabel}{}% + {% + \@glsxtr@checkgroup\glscurrententrylabel + \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter + {\@glsxtr@groupheading}% + }% + \fi \eappto\@glsxtr@doglossary{% \noexpand\@printunsrt@glossary@handler{\glscurrententrylabel}}% }% @@ -5351,6 +5392,116 @@ }% \glossarypostamble } +\newcommand*{\printunsrtinnerglossary}[3][]{% + \begingroup + \def\@glsxtr@printglossopts{#1}% + \def\@glo@type{\glsdefaulttype}% + \setkeys{printgloss}[title,toctitle,style,numberedsection,sort,label]{#1}% + \let\currentglossary\@glo@type + #2% + \@print@unsrt@innerglossary + #3% + \endgroup +} +\newenvironment{printunsrtglossarywrap}[1][]% +{% + \def\@glsxtr@printglossopts{#1}% + \def\@glo@type{\glsdefaulttype}% + \def\glossarytitle{\csname @glotype@\@glo@type @title\endcsname}% + \def\glossarytoctitle{\glossarytitle}% + \let\org@glossarytitle\glossarytitle + \def\@glossarystyle{% + \ifx\@glossary@default@style\relax + \GlossariesWarning{No default glossary style provided \MessageBreak + for the glossary `\@glo@type'. \MessageBreak + Using deprecated fallback. \MessageBreak + To fix this set the style with \MessageBreak + \string\setglossarystyle\space or use the \MessageBreak + style key=value option}% + \fi + }% + \def\gls@dotoctitle{\glssettoctitle{\@glo@type}}% + \let\@org@glossaryentrynumbers\glossaryentrynumbers + \@printgloss@setsort + \setkeys{printgloss}{#1}% + \ifglossaryexists*{\@glo@type}% + {% + \ifx\glossarytitle\org@glossarytitle + \else + \expandafter\let\csname @glotype@\@glo@type @title\endcsname + \glossarytitle + \fi + \let\currentglossary\@glo@type + }% + {}% + \let\org@glossaryentrynumbers\glossaryentrynumbers + \let\glsnonextpages\@glsnonextpages + \let\glsnextpages\@glsnextpages + \let\nopostdesc\@nopostdesc + \gls@dotoctitle + \@glossarystyle + \let\gls@org@glossaryentryfield\glossentry + \let\gls@org@glossarysubentryfield\subglossentry + \renewcommand{\glossentry}[1]{% + \xdef\glscurrententrylabel{\glsdetoklabel{##1}}% + \gls@org@glossaryentryfield{##1}% + }% + \renewcommand{\subglossentry}[2]{% + \xdef\glscurrententrylabel{\glsdetoklabel{##2}}% + \gls@org@glossarysubentryfield{##1}{##2}% + }% + \@gls@preglossaryhook + \glossarysection[\glossarytoctitle]{\glossarytitle}% + \glossarypreamble + \begin{theglossary}% + \glossaryheader + \glsresetentrylist +}% +{% + \end{theglossary}% + \glossarypostamble + \global\let\glossaryentrynumbers\@org@glossaryentrynumbers + \global\let\warn@noprintglossary\relax +} +\newcommand*{\@print@unsrt@innerglossary}{% + \glsxtrifemptyglossary{\@glo@type}% + {% + \GlossariesExtraWarning{No entries defined in glossary `\@glo@type'}% + }% + {% + \key@ifundefined{glossentry}{group}% + {\let\@gls@getgrouptitle\@gls@noidx@getgrouptitle}% + {\let\@gls@getgrouptitle\@glsxtr@unsrt@getgrouptitle}% + \def\@gls@currentlettergroup{}% + \def\@glsxtr@doglossary{}% + \expandafter\@for\expandafter\glscurrententrylabel\expandafter + :\expandafter=\csname glolist@\@glo@type\endcsname\do{% + \ifdefempty{\glscurrententrylabel} + {}% + {% + \let\glsxtr@process\@firstofone + \let\printunsrtglossaryskipentry + \@glsxtr@printunsrtglossaryskipentry + \printunsrtglossaryentryprocesshook{\glscurrententrylabel}% + \glsxtr@process + {% + \ifglsxtr@printgloss@groups + \ifglshasparent{\glscurrententrylabel}{}% + {% + \@glsxtr@checkgroup\glscurrententrylabel + \expandafter\appto\expandafter\@glsxtr@doglossary\expandafter + {\@glsxtr@groupheading}% + }% + \fi + \eappto\@glsxtr@doglossary{% + \noexpand\@printunsrt@glossary@handler{\glscurrententrylabel}}% + }% + }% + }% + \printunsrtglossarypredoglossary + \@glsxtr@doglossary + }% +} \newcommand*{\printunsrtglossaryentryprocesshook}[1]{} \newcommand*{\printunsrtglossaryskipentry}{% \PackageError{glossaries-extra}{\string\printunsrtglossaryskipentry\space @@ -5433,24 +5584,30 @@ can only be used within \string\printunsrtglossaryentryprocesshook}{}% {% \global\letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% \global\letcs{\@gls@location}{glo@\glsdetoklabel{#1}@\GlsXtrLocationField}% - \ifglshasparent{#1}% + \gls@level=\numexpr\csuse{glo@\glsdetoklabel{#1}@level}+\@glsxtr@leveloffset\relax + \ifnum\gls@level>0 + \let\@glsxtr@ifischild\@firstoftwo + \else + \let\@glsxtr@ifischild\@secondoftwo + \fi + \@glsxtr@ifischild {% - \gls@level=\csuse{glo@\glsdetoklabel{#1}@level}\relax \ifdefvoid{\@gls@location}% {% \ifdefvoid{\@gls@loclist}% {% - \subglossentry{\gls@level}{#1}{}% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}{}% }% {% - \subglossentry{\gls@level}{#1}% + \expandafter\subglossentry\expandafter{\number\gls@level}{#1}% {% \glossaryentrynumbers{\glsnoidxloclist{\@gls@loclist}}% }% }% }% {% - \subglossentry{\gls@level}{#1}{\glossaryentrynumbers{\@gls@location}}% + \expandafter\subglossentry\expandafter + {\number\gls@level}{#1}{\glossaryentrynumbers{\@gls@location}}% }% }% {% 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 68ba8f5987f..0349f32c57b 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}[2020/02/28 v1.43 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2020/03/23 v1.44 (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 fcec05b2836..637a2b69ed7 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}[2020/02/28 v1.43 (NLCT)] +\ProvidesPackage{glossary-longextra}[2020/03/23 v1.44 (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 da1c8918a3a..aa6c9ecc012 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}[2020/02/28 v1.43 (NLCT)] +\ProvidesPackage{glossary-topic}[2020/03/23 v1.44 (NLCT)] \RequirePackage{multicol} \newglossarystyle{topic}{% \renewenvironment{theglossary}% @@ -172,12 +172,14 @@ \ifglshasdesc{##1}% {% \edef\glstopic@prechildren{% - \noexpand\begin{\glstopicColsEnv}{\glstopicCols}}% + \noexpand\begin{\glstopicColsEnv}{\glstopicCols}% + }% }% {% \edef\glstopic@prechildren{% \noexpand\nopagebreak - \noexpand\begin{\glstopicColsEnv}{\glstopicCols}}% + \noexpand\begin{\glstopicColsEnv}{\glstopicCols}% + }% }% \edef\glstopic@postchildren{\noexpand\end{\glstopicColsEnv}}% \fi -- cgit v1.2.3