From 00032f2a7ba0b85507599fdb600f39d6af5483fa Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 5 May 2019 18:05:32 +0000 Subject: glossaries-extra (10apr19) git-svn-id: svn://tug.org/texlive/trunk@51006 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/glossaries-extra/glossaries-extra.dtx | 342 +++++++++++++++------ .../latex/glossaries-extra/glossaries-extra.ins | 2 +- 2 files changed, 243 insertions(+), 101 deletions(-) (limited to 'Master/texmf-dist/source/latex/glossaries-extra') 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 614c383121a..3d37899d9b0 100644 --- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx +++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx @@ -1,11 +1,6 @@ %\iffalse % glossaries-extra.dtx generated using makedtx version 1.2 (c) Nicola Talbot % Command line args: -% -doc "glossaries-extra-codedoc.tex" -% -comment ".*\.tex" -% -comment ".*\.bib" -% -macrocode ".*\.tex" -% -macrocode ".*\.bib" % -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" @@ -14,12 +9,17 @@ % -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})" -% -setambles ".*\.bib=>\nopreamble\nopostamble" -% -section "chapter" % -author "Nicola Talbot" +% -doc "glossaries-extra-codedoc.tex" +% -macrocode ".*\.tex" +% -macrocode ".*\.bib" +% -section "chapter" +% -setambles ".*\.bib=>\nopreamble\nopostamble" +% -comment ".*\.tex" +% -comment ".*\.bib" +% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})" % glossaries-extra -% Created on 2019/3/31 16:53 +% Created on 2019/4/9 21:59 %\fi %\iffalse %<*package> @@ -182,13 +182,13 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \raggedright } -\title{glossaries-extra.sty v1.40: +\title{glossaries-extra.sty v1.41: documented code} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} -\date{2019-03-31} +\date{2019-04-09} \begin{document} \DocInput{glossaries-extra.dtx} @@ -233,7 +233,7 @@ Dickimaw Books\\ %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2019/03/31 v1.40 (NLCT)] +\ProvidesPackage{glossaries-extra}[2019/04/09 v1.41 (NLCT)] % \end{macrocode} % Requires \sty{xkeyval} to define package options. % \begin{macrocode} @@ -23180,7 +23180,7 @@ defined}{}% %automatically loaded by the record option. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-bib2gls}[2019/03/31 v1.40 (NLCT)] +\ProvidesPackage{glossaries-extra-bib2gls}[2019/04/09 v1.41 (NLCT)] % \end{macrocode} %Provide convenient shortcut commands for predefined glossary types. %\begin{macro}{\printunsrtacronyms} @@ -26227,7 +26227,7 @@ defined}{}% % First identify package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2019/03/31 v1.40 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2019/04/09 v1.41 (NLCT)] % \end{macrocode} % Provide package options to automatically load required predefined % styles. The simplest method is to just test for the existence of @@ -26379,6 +26379,12 @@ defined}{}% \newcommand{\glslistdesc}[1]{\glossentrydesc{#1}\glspostdescription} % \end{macrocode} %\end{macro} +%\begin{macro}{\glslistgroupskip} +%\changes{1.41}{2019-04-09}{new} +% \begin{macrocode} + \newcommand{\glslistgroupskip}{\nobreak\indexspace\nobreak} +% \end{macrocode} +%\end{macro} %Redefine \glostyle{list} to use these commands. % \begin{macrocode} \renewglossarystyle{list}{% @@ -26395,7 +26401,7 @@ defined}{}% \glstarget{##2}{\strut}\space \glslistdesc{##2}% \glslistchildprelocation ##3\glslistchildpostlocation}% - \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% + \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glslistgroupskip\fi}% } } {} @@ -26976,6 +26982,14 @@ defined}{}% \def\glstreenavigationfmt#1{\glstreedefaultnamefmt{#1}} % \end{macrocode} %\end{macro} +%\begin{macro}{\glstreePreHeader} +%\changes{1.41}{2019-04-09}{new} +%Takes the label as the first argument and title as the second +%argument so this can be modified to add a bookmark. +% \begin{macrocode} + \newcommand{\glstreePreHeader}[2]{} +% \end{macrocode} +%\end{macro} % \begin{macrocode} } {} @@ -27003,6 +27017,12 @@ defined}{}% \newcommand*{\glstreechildprelocation}{\glstreeprelocation} % \end{macrocode} %\end{macro} +%\begin{macro}{\glstreegroupskip} +%\changes{1.41}{2019-04-09}{new} +% \begin{macrocode} + \newcommand{\glstreegroupskip}{\nopagebreak\indexspace\nobreak} +% \end{macrocode} +%\end{macro} %Modify the \glostyle{index} style. % \begin{macrocode} \renewglossarystyle{index}{% @@ -27020,8 +27040,7 @@ defined}{}% \item\glsentryitem{##1}% \glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \glstreesymbol{##1}% - \glstreedesc{##1}% - \glstreeprelocation ##2% + \glstreeDescLoc{##1}{##2}% }% \renewcommand{\subglossentry}[3]{% \ifcase##1\relax @@ -27034,10 +27053,9 @@ defined}{}% \fi \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}% \glstreechildsymbol{##2}% - \glstreechilddesc{##2}% - \glstreechildprelocation ##3% + \glstreeChildDescLoc{##2}{##3}% }% - \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% + \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% } } {} @@ -27053,9 +27071,10 @@ defined}{}% \renewglossarystyle{indexgroup}{% \setglossarystyle{index}% \renewcommand*{\glsgroupheading}[1]{% - \item\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace - \nobreak\@afterheading + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \item\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip\@afterheading }% } } @@ -27072,12 +27091,13 @@ defined}{}% \setglossarystyle{index}% \renewcommand*{\glossaryheader}{% \item\glstreenavigationfmt{\glsnavigation}% - \nobreak\@afterheading\indexspace}% + \glstreegroupskip\@afterheading}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt - {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace - \nobreak\@afterheading}% + {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading}% }% } {} @@ -27100,6 +27120,23 @@ defined}{}% } % \end{macrocode} %\end{macro} +%\begin{macro}{\glstreeDescLoc} +%\changes{1.41}{2019-04-09}{new} +%\begin{definition} +%\cs{glstreeDescLoc}\marg{label}\marg{location} +%\end{definition} +%This checks for the description and symbol. If both are missing, +%don't want a space at the start of the location list. (For example, +%the entry may just have a cross-reference.) +% \begin{macrocode} + \newcommand{\glstreeDescLoc}[2]{% + \ifglshasdesc{#1}% + {\glstreedesc{#1}\glstreeprelocation}% + {\ifglshassymbol{#1}{\glstreeprelocation}{}}% + #2% + } +% \end{macrocode} +%\end{macro} %Similarly for the symbol. %\begin{macro}{\glstreesymbol} %\changes{1.31}{2018-05-09}{new} @@ -27118,6 +27155,17 @@ defined}{}% }% % \end{macrocode} %\end{macro} +%\begin{macro}{\glstreeChildDescLoc} +%\changes{1.41}{2019-04-09}{new} +% \begin{macrocode} + \newcommand{\glstreeChildDescLoc}[2]{% + \ifglshasdesc{#1}% + {\glstreechilddesc{#1}\glstreechildprelocation}% + {\ifglshassymbol{#1}{\glstreechildprelocation}{}}% + #2% + }% +% \end{macrocode} +%\end{macro} %\begin{macro}{\glstreechildsymbol} %\changes{1.31}{2018-05-09}{new} %This just behaves in the same way as the top-level. @@ -27140,8 +27188,7 @@ defined}{}% \parindent0pt\relax \glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}% \glstreesymbol{##1}% - \glstreedesc{##1}% - \glstreeprelocation##2\par + \glstreeDescLoc{##1}{##2}\par }% \renewcommand{\subglossentry}[3]{% \hangindent##1\glstreeindent\relax @@ -27151,10 +27198,9 @@ defined}{}% \fi \glstreenamefmt{\glstarget{##2}{\glossentryname{##2}}}% \glstreechildsymbol{##2}% - \glstreechilddesc{##2}% - \glstreechildprelocation ##3\par + \glstreeChildDescLoc{##2}{##3}\par }% - \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% + \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% }% } {} @@ -27169,9 +27215,11 @@ defined}{}% {% \renewglossarystyle{treegroup}{% \setglossarystyle{tree}% - \renewcommand{\glsgroupheading}[1]{\par - \noindent\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}\par - \nopagebreak\indexspace\nobreak\@afterheading}% + \renewcommand{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip\@afterheading}% } } {} @@ -27186,13 +27234,15 @@ defined}{}% \renewglossarystyle{treehypergroup}{% \setglossarystyle{tree}% \renewcommand*{\glossaryheader}{% - \par\noindent\glstreenavigationfmt{\glsnavigation}\par - \nobreak\@afterheading\indexspace}% + \par\noindent\glstreenavigationfmt{\glsnavigation}% + \glstreegroupskip\@afterheading}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent \glstreegroupheaderfmt - {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par - \nopagebreak\indexspace\nobreak\@afterheading}% + {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading}% } } {} @@ -27260,7 +27310,7 @@ defined}{}% \glstreenonamechilddesc{##2}% \glstreechildprelocation##3\par }% - \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% + \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% } } {} @@ -27275,10 +27325,11 @@ defined}{}% {% \renewglossarystyle{treenonamegroup}{% \setglossarystyle{treenoname}% - \renewcommand{\glsgroupheading}[1]{\par - \noindent\glstreegroupheaderfmt - {\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace\nobreak\@afterheading + \renewcommand{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip\@afterheading }% } } @@ -27294,13 +27345,14 @@ defined}{}% \renewglossarystyle{treenonamehypergroup}{% \setglossarystyle{treenoname}% \renewcommand*{\glossaryheader}{% - \par\noindent\glstreenavigationfmt{\glsnavigation}\par - \nobreak\@afterheading\indexspace}% + \par\noindent\glstreenavigationfmt{\glsnavigation}% + \glstreegroupskip\@afterheading}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent - \glstreegroupheaderfmt - {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading}% + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading}% } } {} @@ -27326,7 +27378,12 @@ defined}{}% {% \let\par\glsxtrAltTreePar \ifglshassymbol{#1}{(\glossentrysymbol{#1})\space}{}% - \glossentrydesc{#1}\glspostdescription\glstreeprelocation #2\par +% \end{macrocode} +%\changes{1.41}{2019-04-09}{added check for description} +% \begin{macrocode} + \ifglshasdesc{#1}% + {\glossentrydesc{#1}\glspostdescription\glstreeprelocation}{}% + #2\par }% } % \end{macrocode} @@ -28035,7 +28092,7 @@ defined}{}% \glsxtralttreeSubSymbolDescLocation{##1}{##2}{##3}% \def\@gls@prevlevel{##1}% }% - \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\indexspace\fi}% + \renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else\glstreegroupskip\fi}% } }% {% @@ -28056,8 +28113,10 @@ defined}{}% \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax - \glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace\nopagebreak + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip }% }% }% @@ -28077,16 +28136,18 @@ defined}{}% \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax - \glstreenavigationfmt{\glsnavigation}\par\indexspace + \glstreenavigationfmt{\glsnavigation}% + \glstreegroupskip }% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax - \glstreegroupheaderfmt - {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par - \nopagebreak\indexspace\nopagebreak + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip }% } }% @@ -28105,8 +28166,10 @@ defined}{}% \renewglossarystyle{mcolindexgroup}{% \setglossarystyle{mcolindex}% \renewcommand*{\glsgroupheading}[1]{% - \item\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace\nobreak\@afterheading + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \item\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip\@afterheading }% } }% @@ -28123,12 +28186,14 @@ defined}{}% \setglossarystyle{mcolindex}% \renewcommand*{\glossaryheader}{% \item\glstreenavigationfmt{\glsnavigation}% - \indexspace + \glstreegroupskip }% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt - {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading + {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading }% } }% @@ -28151,9 +28216,11 @@ defined}{}% \let\item\glstreeitem}% {\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \item\glstreegroupheaderfmt - {\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading + {\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading }% } }% @@ -28168,9 +28235,11 @@ defined}{}% {% \renewglossarystyle{mcoltreegroup}{% \setglossarystyle{mcoltree}% - \renewcommand{\glsgroupheading}[1]{\par - \noindent\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace\nobreak\@afterheading + \renewcommand{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip\@afterheading }% } }% @@ -28186,12 +28255,15 @@ defined}{}% \renewglossarystyle{mcoltreehypergroup}{% \setglossarystyle{mcoltree}% \renewcommand*{\glossaryheader}{% - \par\noindent\glstreenavigationfmt{\glsnavigation}\par\indexspace + \par\noindent\glstreenavigationfmt{\glsnavigation}% + \glstreegroupskip }% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent - \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading }% } }% @@ -28215,9 +28287,11 @@ defined}{}% }% {\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent - \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading }% } }% @@ -28232,9 +28306,11 @@ defined}{}% {% \renewglossarystyle{mcoltreenonamegroup}{% \setglossarystyle{mcoltreenoname}% - \renewcommand{\glsgroupheading}[1]{\par - \noindent\glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace\nobreak\@afterheading + \renewcommand{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \par\noindent\glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip\@afterheading }% } }% @@ -28250,11 +28326,15 @@ defined}{}% \renewglossarystyle{mcoltreenonamehypergroup}{% \setglossarystyle{mcoltreenoname}% \renewcommand*{\glossaryheader}{% - \par\noindent\glstreenavigationfmt{\glsnavigation}\par\indexspace}% + \par\noindent\glstreenavigationfmt{\glsnavigation}% + \glstreegroupskip + }% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent - \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading}% + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading}% } }% {% @@ -28277,9 +28357,11 @@ defined}{}% }% {\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par\noindent - \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nobreak\@afterheading}% + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip\@afterheading}% } }% {% @@ -28315,12 +28397,15 @@ defined}{}% {% \renewglossarystyle{mcolalttreegroup}{% \setglossarystyle{mcolalttree}% - \renewcommand{\glsgroupheading}[1]{\par + \renewcommand{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% + \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax - \glstreegroupheaderfmt{\glsgetgrouptitle{##1}}% - \nopagebreak\indexspace\nopagebreak + \glstreegroupheaderfmt{\glsxtr@grptitle}% + \glstreegroupskip }% } }% @@ -28341,15 +28426,17 @@ defined}{}% \hangindent0pt\relax \parindent0pt\relax \glstreenavigationfmt{\glsnavigation}% - \par\indexspace + \glstreegroupskip }% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax - \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nopagebreak + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip }% } }% @@ -28373,12 +28460,14 @@ defined}{}% }% {\par\end{multicols}}% \renewcommand*{\glsgroupheading}[1]{% + \glsxtrgetgrouptitle{##1}{\glsxtr@grptitle}% + \glstreePreHeader{##1}{\glsxtr@grptitle}% \par \def\@gls@prevlevel{-1}% \hangindent0pt\relax \parindent0pt\relax - \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}% - \nopagebreak\indexspace\nopagebreak + \glstreegroupheaderfmt{\glsnavhypertarget{##1}{\glsxtr@grptitle}}% + \glstreegroupskip }% } }% @@ -28408,7 +28497,7 @@ defined}{}% %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-bookindex}[2019/03/31 v1.40 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2019/04/09 v1.41 (NLCT)] % \end{macrocode} %Load required packages. % \begin{macrocode} @@ -28781,16 +28870,18 @@ defined}{}% \let\@glsxtr@bookindex@subsubatendgroup\relax % \end{macrocode} % Fetch the group title from the label supplied in \verb|#1|. +%\changes{1.41}{2019-04-09}{changed \cs{thisgrptitle} to +%\cs{glsxtrcurrentgrptitle}}% % \begin{macrocode} - \glsxtrgetgrouptitle{##1}{\thisgrptitle}% + \glsxtrgetgrouptitle{##1}{\glsxtrcurrentgrptitle}% % \end{macrocode} % Do the PDF bookmark if supported. % \begin{macrocode} - \glsxtrbookindexbookmark{\thisgrptitle}{index.##1}% + \glsxtrbookindexbookmark{\glsxtrcurrentgrptitle}{index.##1}% % \end{macrocode} % Format the group title. % \begin{macrocode} - \glsxtrbookindexformatheader{\thisgrptitle}% + \glsxtrbookindexformatheader{\glsxtrcurrentgrptitle}% \nopagebreak\indexspace\nopagebreak\@afterheading }% } @@ -28893,7 +28984,7 @@ defined}{}% %Provides additional long styles. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-longextra}[2019/03/31 v1.40 (NLCT)] +\ProvidesPackage{glossary-longextra}[2019/04/09 v1.41 (NLCT)] % \end{macrocode} %Load required packages. % \begin{macrocode} @@ -30322,7 +30413,7 @@ defined}{}% %topic. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-topic}[2019/03/31 v1.40 (NLCT)] +\ProvidesPackage{glossary-topic}[2019/04/09 v1.41 (NLCT)] % \end{macrocode} %Load required package. % \begin{macrocode} @@ -30334,15 +30425,37 @@ defined}{}% %\changes{1.40}{2019-03-22}{new} % \begin{macrocode} \newglossarystyle{topic}{% - \renewenvironment{theglossary}{\glstopicInit}{\par}% + \renewenvironment{theglossary}% + {% + \glstopicInit + \def\glstopic@prechildren{}% + \def\glstopic@prevlevel{-1}% + }% + {\par}% \renewcommand*{\glossaryheader}{}% - \renewcommand*{\glsgroupheading}[1]{\glstopicGroupHeading{##1}}% + \renewcommand*{\glsgroupheading}[1]{% + \def\glstopic@prevlevel{-1}% + \glstopicGroupHeading{##1}% + }% \renewcommand{\glossentry}[2]{% \hangindent0pt\relax \parindent\glstopicParIndent\relax \glstopicItem{##1}{##2}% +% \end{macrocode} +%\changes{1.41}{2019-04-09}{added penalty if no description} +%If there isn't a description, penalise a page break. +% \begin{macrocode} + \ifglshasdesc{##1}% + {% + \def\glstopic@prechildren{}% + }% + {% + \def\glstopic@prechildren{\nopagebreak}% + }% }% \renewcommand{\subglossentry}[3]{% + \ifnum\glstopic@prevlevel=0\relax\glstopic@prechildren\fi + \def\glstopic@prevlevel{##1}% \glstopicAssignSubIndent{##1}% \glstopicSubItem{##1}{##2}{##3}% }% @@ -30449,6 +30562,10 @@ defined}{}% %Used to set the indentation for sub-levels. % \begin{macrocode} \newcommand*{\glstopicAssignSubIndent}[1]{% +% \end{macrocode} +%\changes{1.41}{2019-04-09}{moved \cs{par} from \cs{glstopicSubItem}} +% \begin{macrocode} + \par \parindent\dimexpr#1\glstopicSubIndent-\glstopicSubIndent\relax \glstopicAssignWidest{#1}% \hangindent\dimexpr\parindent+\glstopicwidest\relax @@ -30519,13 +30636,19 @@ defined}{}% %\end{definition} % \begin{macrocode} \newcommand*{\glstopicSubItem}[3]{% - \par +% \end{macrocode} +%\changes{1.41}{2019-04-09}{moved \cs{par} to \cs{glstopicAssignSubIndent}} +% \begin{macrocode} \glstopicSubItemBox{#1}{\glstopicSubNameFont{\glsentryitem{#2}% \glstarget{#2}{\glossentryname{#2}}}% \glstopicSubItemSep }% \ifglshassymbol{#2}{(\glossentrysymbol{#2})\space}{}% - \glossentrydesc{#2}\glspostdescription +% \end{macrocode} +%\changes{1.41}{2019-04-09}{added check for description} +% \begin{macrocode} + \ifglshasdesc{#2}% + {\glossentrydesc{#2}\glspostdescription\glstopicSubPreLocSep}{}% \glstopicSubLoc{#2}{#3}% } % \end{macrocode} @@ -30553,10 +30676,16 @@ defined}{}% \newcommand*{\glstopicSubNameFont}[1]{\textbf{#1}} % \end{macrocode} %\end{macro} +%\changes{1.41}{2019-04-09}{new} +% \begin{macrocode} +\newcommand*{\glstopicSubPreLocSep}{\space} +% \end{macrocode} +%\end{macro} %\begin{macro}{\glstopicSubLoc} %\changes{1.40}{2019-03-22}{new} +%\changes{1.41}{2019-04-09}{moved \cs{space} to \cs{glstopicSubPreLocSep}} % \begin{macrocode} -\newcommand*{\glstopicSubLoc}[2]{\space#2} +\newcommand*{\glstopicSubLoc}[2]{#2} % \end{macrocode} %\end{macro} % @@ -30602,7 +30731,20 @@ defined}{}% \parindent\glstopicParIndent\relax \glstopicItem{##1}{##2}% \ifnum\glstopicCols>1\relax - \edef\glstopic@prechildren{\noexpand\begin{\glstopicColsEnv}{\glstopicCols}}% +% \end{macrocode} +%\changes{1.41}{2019-04-09}{added penalty if no description} +%If there isn't a description, penalise a page break. +% \begin{macrocode} + \ifglshasdesc{##1}% + {% + \edef\glstopic@prechildren{% + \noexpand\begin{\glstopicColsEnv}{\glstopicCols}}% + }% + {% + \edef\glstopic@prechildren{% + \noexpand\nopagebreak + \noexpand\begin{\glstopicColsEnv}{\glstopicCols}}% + }% \edef\glstopic@postchildren{\noexpand\end{\glstopicColsEnv}}% \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 3d12a504bf3..e8bd0d99dba 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 2019/3/31 16:53 +% glossaries-extra.ins generated using makedtx version 1.2 2019/4/9 21:59 \input docstrip \preamble -- cgit v1.2.3