From 8e743c86b6872f30b7a35c72aa944455157d4b3f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 18 Apr 2017 21:31:32 +0000 Subject: glossaries-extra (18apr17) git-svn-id: svn://tug.org/texlive/trunk@43913 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/glossaries-extra/glossaries-extra.dtx | 458 +++++++++++++++++++-- .../latex/glossaries-extra/glossaries-extra.ins | 4 +- 2 files changed, 421 insertions(+), 41 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 13ee7144aca..2bf1059077f 100644 --- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx +++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx @@ -1,14 +1,14 @@ %\iffalse % glossaries-extra.dtx generated using makedtx version 1.1 (c) Nicola Talbot % Command line args: -% -src "glossaries-extra.sty\Z=>glossaries-extra.sty" -% -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty" % -author "Nicola Talbot" % -section "chapter" % -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})" +% -src "glossaries-extra.sty\Z=>glossaries-extra.sty" +% -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty" % -doc "glossaries-extra-codedoc.tex" % glossaries-extra -% Created on 2017/2/7 9:40 +% Created on 2017/4/18 11:44 %\fi %\iffalse %<*package> @@ -118,7 +118,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \setcounter{IndexColumns}{2} -\CheckSum{11419} +\CheckSum{11746} \newcommand*{\ifirstuse}{\iterm{first use}} \newcommand*{\firstuse}{\gls{firstuse}} @@ -154,13 +154,13 @@ styles (glossaries):>#1={\protect\ttfamily#1}|main}} \raggedright } -\title{glossaries-extra.sty v1.13: +\title{glossaries-extra.sty v1.14: documented code} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} -\date{2017-02-07} +\date{2017-04-18} \begin{document} \DocInput{glossaries-extra.dtx} @@ -205,7 +205,7 @@ Dickimaw Books\\ %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2017/02/07 v1.13 (NLCT)] +\ProvidesPackage{glossaries-extra}[2017/04/18 v1.14 (NLCT)] % \end{macrocode} % Requires \sty{xkeyval} to define package options. % \begin{macrocode} @@ -362,16 +362,23 @@ Dickimaw Books\\ } % \end{macrocode} % -%In the event that someone wants to develop a post-processor -%that needs to know what entries have been used in the document, -%v1.08 introduces the \pkgopt{record} option, which will write +%To assist bib2gls, v1.08 introduces the \pkgopt{record} option, which will write %information to the aux file whenever an entry needs to be indexed. % %\begin{macro}{\@glsxtr@record} %\changes{1.08}{2016-12-13}{new} +%\changes{1.14}{2017-04-18}{added third arg} +%Does nothing by default. +% \begin{macrocode} +\newcommand*{\@glsxtr@record}[3]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtr@recordsee} +%\changes{1.14}{2017-04-18}{new} %Does nothing by default. % \begin{macrocode} -\newcommand*{\@glsxtr@record}[2]{} +\newcommand*{\glsxtr@recordsee}[2]{} % \end{macrocode} %\end{macro} % @@ -380,11 +387,14 @@ Dickimaw Books\\ %This is the actual code that does the recording %The first argument is the option list (as passed in the first optional %argument to commands like \cs{gls}). This allows the \gloskey[glslink]{noindex} -%setting to be picked up. +%setting to be picked up. The third argument is the key family +%(\texttt{glslink} in most cases, \texttt{glossadd} for \cs{glsadd}). % \begin{macrocode} -\newcommand*{\@@glsxtr@record}[2]{% +\newcommand*{\@@glsxtr@record}[3]{% \begingroup \def\@glsnumberformat{glsnumberformat}% + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% \ifcsdef{glo@#2@counter}% {% \edef\@gls@counter{\csname glo@#2@counter\endcsname}% @@ -396,7 +406,7 @@ Dickimaw Books\\ % \begin{macrocode} \def\@gls@counter{page}% }% - \setkeys{glslink}{#1}% + \setkeys{#3}{#1}% \ifKV@glslink@noindex \else \glswriteentry{#2}% @@ -404,7 +414,14 @@ Dickimaw Books\\ % \end{macrocode} %Save the entry counter. % \begin{macrocode} - \glsxtr@saveentrycounter + \ifdefempty{\@glsxtr@thevalue}% + {% + \glsxtr@saveentrycounter + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \def\theHglsentrycounter{\@glsxtr@theHvalue}% + }% % \end{macrocode} %Temporarily redefine \cs{@@do@@wrglossary} so we can use %\cs{glsxtr@@do@wrglossary}. @@ -458,6 +475,18 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\@glsxtr@recordsee} +%\changes{1.14}{2017-04-18}{new} +%Deal with \cs{glssee} in record mode. +% \begin{macrocode} +\newcommand*{\@glsxtr@recordsee}[2]{% + \def\@gls@xref{#2}% + \@onelevel@sanitize\@gls@xref + \protected@write\@auxout{}{\string\glsxtr@recordsee{#1}{\@gls@xref}}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\printunsrtglossaryunit} %\changes{1.12}{2017-02-03}{new} % \begin{macrocode} @@ -551,7 +580,9 @@ Dickimaw Books\\ %Don't record. % \begin{macrocode} \def\glsxtr@setup@record{% - \renewcommand*{\@glsxtr@record}[2]{}% + \let\@glo@autosee\@glsxtr@org@gloautosee + \renewcommand*{\@do@seeglossary}{\@glsxtr@org@doseeglossary}% + \renewcommand*{\@glsxtr@record}[3]{}% \let\@@do@wrglossary\glsxtr@@do@wrglossary \let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter \let\glsxtrundefaction\@glsxtr@err@undefaction @@ -565,6 +596,8 @@ Dickimaw Books\\ %Only record (don't index). % \begin{macrocode} \def\glsxtr@setup@record{% + \ifdef\@glo@autosee{\let\@glo@autosee\relax}{}% + \let\@do@seeglossary\@glsxtr@recordsee \let\@glsxtr@record\@@glsxtr@record \let\@@do@wrglossary\@gobble \let\@gls@saveentrycounter\relax @@ -585,6 +618,8 @@ Dickimaw Books\\ %Record and index. % \begin{macrocode} \def\glsxtr@setup@record{% + \let\@glo@autosee\@glsxtr@org@gloautosee + \renewcommand*{\@do@seeglossary}{\@glsxtr@org@doseeglossary}% \let\@glsxtr@record\@@glsxtr@record \let\@@do@wrglossary\glsxtr@@do@wrglossary \let\@gls@saveentrycounter\glsxtr@indexonly@saveentrycounter @@ -1030,6 +1065,25 @@ Dickimaw Books\\ \@glsxtr@doaccsupp % \end{macrocode} % +%\begin{macro}{\@glsxtr@org@doseeglossary} +%Save original definition of \cs{@do@seeglossary} +% \begin{macrocode} +\let\@glsxtr@org@doseeglossary\@do@seeglossary +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@org@gloautosee} +%\changes{1.14}{2017-04-18}{new} +%Save and restore original definition of \cs{@glo@autosee}. +%(That command may not be defined as it was only introduced +%to \sty{glossaries} v4.30, in which case the synonym +%won't be defined either.) +% \begin{macrocode} +\let\@glsxtr@org@gloautosee\@glo@autosee +% \end{macrocode} +%\end{macro} +% +% % Define abbreviations glossaries if required. % \begin{macrocode} \@glsxtr@abbreviationsdef @@ -2712,7 +2766,7 @@ Dickimaw Books\\ %exists. %\changes{1.08}{2016-12-13}{added \cs{@glsxtr@record}} % \begin{macrocode} - \@glsxtr@record{#2}{#3}% + \@glsxtr@record{#2}{#3}{glslink}% \glsdoifexists{#3}% {% % \end{macrocode} @@ -2742,7 +2796,7 @@ Dickimaw Books\\ % \begin{macrocode} \let\@glsxtr@org@gls@\@gls@ \def\@gls@#1#2{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@gls@{#1}{#2}% }% % \end{macrocode} @@ -2754,7 +2808,7 @@ Dickimaw Books\\ % \begin{macrocode} \let\@glsxtr@org@glspl@\@glspl@ \def\@glspl@#1#2{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@glspl@{#1}{#2}% }% % \end{macrocode} @@ -2766,7 +2820,7 @@ Dickimaw Books\\ % \begin{macrocode} \let\@glsxtr@org@Gls@\@Gls@ \def\@Gls@#1#2{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@Gls@{#1}{#2}% }% % \end{macrocode} @@ -2778,7 +2832,7 @@ Dickimaw Books\\ % \begin{macrocode} \let\@glsxtr@org@Glspl@\@Glspl@ \def\@Glspl@#1#2{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@Glspl@{#1}{#2}% }% % \end{macrocode} @@ -2790,7 +2844,7 @@ Dickimaw Books\\ % \begin{macrocode} \let\@glsxtr@org@GLS@\@GLS@ \def\@GLS@#1#2{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@GLS@{#1}{#2}% }% % \end{macrocode} @@ -2803,7 +2857,7 @@ Dickimaw Books\\ % \begin{macrocode} \let\@glsxtr@org@GLSpl@\@GLSpl@ \def\@GLSpl@#1#2{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \@glsxtr@org@GLSpl@{#1}{#2}% }% % \end{macrocode} @@ -2817,7 +2871,7 @@ Dickimaw Books\\ %argument. % \begin{macrocode} \renewcommand*{\@glsdisp}[3][]{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexists{#2}{% \let\do@gls@link@checkfirsthyper\@gls@link@checkfirsthyper \let\glsifplural\@secondoftwo @@ -2842,7 +2896,7 @@ Dickimaw Books\\ %Redefine to include \cs{@glsxtr@record} % \begin{macrocode} \renewcommand*{\@gls@@link}[3][]{% - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glslink}% \glsdoifexistsordo{#2}% {% \let\do@gls@link@checkfirsthyper\relax @@ -2856,19 +2910,138 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsxtrinitwrgloss} +%\changes{1.14}{2017-04-18}{new} +%Set the default if the \gloskey[glslink]{wrgloss} is omitted. +% \begin{macrocode} +\newcommand*{\glsxtrinitwrgloss}{% + \glsifattribute{\glslabel}{wrgloss}{after}% + {% + \glsxtrinitwrglossbeforefalse + }% + {% + \glsxtrinitwrglossbeforetrue + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ifglsxtrwrglossbefore} +%\changes{1.14}{2017-04-18}{new} +%Conditional to determine if the indexing should be done before the +%link text. +% \begin{macrocode} +\newif\ifglsxtrinitwrglossbefore +\glsxtrinitwrglossbeforetrue +% \end{macrocode} +%\end{macro} +% +% Define a \gloskey[glslink]{wrgloss} key to determine whether to +% write the glossary information before or after the link text. +% \begin{macrocode} +\define@choicekey{glslink}{wrgloss}[\val\nr]{before,after}% +{% + \ifcase\nr\relax + \glsxtrinitwrglossbeforetrue + \or + \glsxtrinitwrglossbeforefalse + \fi +} +% \end{macrocode} +% +%\begin{macro}{\@gls@link} +%\changes{1.14}{2017-04-18}{added redefinition} +%Redefine to allow the indexing to be placed after the link text. By +%default this is done before the link text to prevent problems that +%can occur from the whatsit, but there may be times when the user +%would like the indexing done afterwards even though it causes a +%whatsit. +% \begin{macrocode} +\def\@gls@link[#1]#2#3{% + \leavevmode + \edef\glslabel{\glsdetoklabel{#2}}% + \def\@gls@link@opts{#1}% + \let\@gls@link@label\glslabel + \def\@glsnumberformat{glsnumberformat}% + \edef\@gls@counter{\csname glo@\glslabel @counter\endcsname}% + \edef\glstype{\csname glo@\glslabel @type\endcsname}% + \let\org@ifKV@glslink@hyper\ifKV@glslink@hyper +% \end{macrocode} +% Initialise when indexing should occur (new to v1.14). +% \begin{macrocode} + \glsxtrinitwrgloss +% \end{macrocode} +% As the original definition. Note that the default link options may +% override \cs{glsxtrinitwrgloss}. +% \begin{macrocode} + \@gls@setdefault@glslink@opts + \do@glsdisablehyperinlist + \do@gls@link@checkfirsthyper + \setkeys{glslink}{#1}% + \glslinkpostsetkeys + \@gls@saveentrycounter + \@gls@setsort{\glslabel}% +% \end{macrocode} +% Do write if it should occur before the link text: +% \begin{macrocode} + \ifglsxtrinitwrglossbefore + \@do@wrglossary{#2}% + \fi +% \end{macrocode} +% Do the link text: +% \begin{macrocode} + \ifKV@glslink@hyper + \@glslink{\glolinkprefix\glslabel}{\glstextformat{#3}}% + \else + \glsdonohyperlink{\glolinkprefix\glslabel}{\glstextformat{#3}}% + \fi +% \end{macrocode} +% Do write if it should occur after the link text: +% \begin{macrocode} + \ifglsxtrinitwrglossbefore + \else + \@do@wrglossary{#2}% + \fi +% \end{macrocode} +% As the original definition: +% \begin{macrocode} + \let\ifKV@glslink@hyper\org@ifKV@glslink@hyper +} +% \end{macrocode} +%\end{macro} +% +%\changes{1.14}{2017-04-18}{added \cs{glsadd} option \texttt{thevalue}} +% \begin{macrocode} +\define@key{glossadd}{thevalue}{\def\@glsxtr@thevalue{#1}} +% \end{macrocode} +% +%\changes{1.14}{2017-04-18}{added \cs{glsadd} option \texttt{theHvalue}} +% \begin{macrocode} +\define@key{glossadd}{theHvalue}{\def\@glsxtr@theHvalue{#1}} +% \end{macrocode} +% %\begin{macro}{\glsadd} %\changes{1.08}{2016-12-13}{added \cs{@glsxtr@record}} %Redefine to include \cs{@glsxtr@record} % \begin{macrocode} \renewrobustcmd*{\glsadd}[2][]{% \@gls@adjustmode - \@glsxtr@record{#1}{#2}% + \@glsxtr@record{#1}{#2}{glossadd}% \glsdoifexists{#2}% {% \def\@glsnumberformat{glsnumberformat}% \edef\@gls@counter{\csname glo@\glsdetoklabel{#2}@counter\endcsname}% + \def\@glsxtr@thevalue{}% + \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% \setkeys{glossadd}{#1}% - \@gls@saveentrycounter + \ifdefempty{\@glsxtr@thevalue}% + {% + \@gls@saveentrycounter + }% + {% + \let\theglsentrycounter\@glsxtr@thevalue + \def\theHglsentrycounter{\@glsxtr@theHvalue}% + }% \@@do@wrglossary{#2}% }% } @@ -4284,6 +4457,22 @@ Dickimaw Books\\ %\end{macro} % %\begin{macro}{\glsdisablehyper} +%\changes{1.14}{2017-04-18}{added redefinition} +% Redefine to set \cs{glslabel} (to allow it to be picked up by +% \cs{glsdohyperlink}). Also made it robust and added grouping to localise the +% definition of \cs{glslabel}. The original internal command +% {@glo@label} could probably be simply replaced with \cs{glslabel}, +% but it's retained in case its removal causes unexpected problems. +% \begin{macrocode} +\renewrobustcmd*{\glshyperlink}[2][\glsentrytext{\@glo@label}]{% + \def\@glo@label{#2}% + {\edef\glslabel{#2}% + \@glslink{\glolinkprefix\glslabel}{#1}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsdisablehyper} %\changes{0.5.4}{2015-12-15}{added} % Redefine in case we have an old version of \styfmt{glossaries}. % \begin{macrocode} @@ -5109,7 +5298,10 @@ Dickimaw Books\\ % \begin{macrocode} \let\@cgls@\@@cgls@ \let\@cglspl@\@@cglspl@ - \let\@cGLS@\@@cGLS@ +% \end{macrocode} +%\changes{1.14}{2017-04-18}{fixed assignment of \cs{@cGls@}} +% \begin{macrocode} + \let\@cGls@\@@cGls@ \let\@cGlspl@\@@cGlspl@ \let\@cGLS@\@@cGLS@ \let\@cGLSpl@\@@cGLSpl@ @@ -5657,7 +5849,10 @@ Dickimaw Books\\ % \begin{macrocode} \let\@cgls@\@@cgls@ \let\@cglspl@\@@cglspl@ - \let\@cGLS@\@@cGLS@ +% \end{macrocode} +%\changes{1.14}{2017-04-18}{fixed assignment of \cs{@cGls@}} +% \begin{macrocode} + \let\@cGls@\@@cGls@ \let\@cGlspl@\@@cGlspl@ \let\@cGLS@\@@cGLS@ \let\@cGLSpl@\@@cGLSpl@ @@ -6026,7 +6221,6 @@ Dickimaw Books\\ % \end{macrocode} %Adjust \cs{@do@seeglossary} % \begin{macrocode} - \let\@glsxtr@org@doseeglossary\@do@seeglossary \renewcommand*{\@do@seeglossary}[2]{% \edef\@gls@label{\glsdetoklabel{##1}}% \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% @@ -6383,6 +6577,97 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\@gls@noidx@getgrouptitle} +%\changes{1.14}{2017-04-18}{new} +%Patch. +% \begin{macrocode} +\renewcommand*{\@gls@noidx@getgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \ifcsundef{\@glsxtr@titlelabel}% + {% + \DTLifint{#1}% + {% + \ifnum#1<256\relax + \edef#2{\char#1\relax}% + \else + \edef#2{#1}% + \fi + }% + {% + \ifcsundef{#1groupname}% + {\def#2{#1}}% + {\letcs#2{#1groupname}}% + }% + }% + {% + \letcs#2{\@glsxtr@titlelabel}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtr@org@getgrouptitle} +%\changes{1.14}{2017-04-18}{new} +%Save original definition of \cs{@gls@getgrouptitle} +% \begin{macrocode} +\let\glsxtr@org@getgrouptitle\@gls@getgrouptitle +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrgetgrouptitle} +%\changes{1.14}{2017-04-18}{new} +%Provide a user-level command to fetch the group title. The first +%argument is the group label. The second argument is a control +%sequence in which to store the title. +% \begin{macrocode} +\newrobustcmd{\glsxtrgetgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \ifcsdef{\@glsxtr@titlelabel} + {\letcs{#2}{\@glsxtr@titlelabel}}% + {\glsxtr@org@getgrouptitle{#1}{#2}}% +} +\let\@gls@getgrouptitle\glsxtrgetgrouptitle +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrsetgrouptitle} +%\changes{1.14}{2017-04-18}{new} +%Sets the title for the given group label. +% \begin{macrocode} +\newcommand{\glsxtrsetgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \csxdef{\@glsxtr@titlelabel}{#2}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsnavigation} +%\changes{1.14}{2017-04-18}{new} +%Redefine to use new user-level command. +% \begin{macrocode} +\renewcommand*{\glsnavigation}{% + \def\@gls@between{}% + \ifcsundef{@gls@hypergrouplist@\@glo@type}% + {% + \def\@gls@list{}% + }% + {% + \expandafter\let\expandafter\@gls@list + \csname @gls@hypergrouplist@\@glo@type\endcsname + }% + \@for\@gls@tmp:=\@gls@list\do{% + \@gls@between + \glsxtrgetgrouptitle{\@gls@tmp}{\@gls@grptitle}% + \glsnavhyperlink{\@gls@tmp}{\@gls@grptitle}% + \let\@gls@between\glshypernavsep + }% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\@print@noidx@glossary} %\changes{1.11}{2017-01-19}{added redefinition} % \begin{macrocode} @@ -6485,14 +6770,18 @@ Dickimaw Books\\ % %\begin{macro}{\glsxtrdisplayendloc} %\changes{1.12}{2017-02-03}{new} +%\changes{1.14}{2017-04-18}{added check for empty format} %End of a location range. % \begin{macrocode} \newcommand*{\glsxtrdisplayendloc}[2]{% - \ifdefstring{\glsxtrlocrangefmt}{#1}{}% - {\GlossariesExtraWarning{Mismatched end location range - (start=\glsxtrlocrangefmt, end=#1)}% - }% - \glsxtrdisplayendlochook{#1}{#2}% + \edef\@glsxtr@tmp{#1}% + \ifdefempty{\@glsxtr@tmp}{\def\@glsxtr@tmp{glsnumberformat}}{}% + \ifx\glsxtrlocrangefmt\@glsxtr@tmp + \else + \GlossariesExtraWarning{Mismatched end location range + (start=\glsxtrlocrangefmt, end=\@glsxtr@tmp)}% + \fi + \expandafter\glsxtrdisplayendlochook\expandafter{\@glsxtr@tmp}{#2}% \expandafter\glsxtrdisplaysingleloc \expandafter{\glsxtrlocrangefmt}{#2}% \def\glsxtrlocrangefmt{}% @@ -6515,6 +6804,61 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\@gls@removespaces} +%\changes{1.14}{2017-04-18}{new} +%Redefine to allow adjustments to location hyperlink. +% \begin{macrocode} +\def\@gls@removespaces#1 #2\@nil{% + \toks@=\expandafter{\the\toks@#1}% + \ifx\\#2\\% + \edef\x{\the\toks@}% + \ifx\x\empty + \else + \glsxtrlocationhyperlink{\glsentrycounter}{\@glo@counterprefix}{\the\toks@}% + \fi + \else + \@gls@ReturnAfterFi{% + \@gls@removespaces#2\@nil + }% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrlocationhyperlink} +%\changes{1.14}{2017-04-18}{new} +% \begin{macrocode} +\newcommand*{\glsxtrlocationhyperlink}[3]{% + \ifdefvoid\glsxtrsupplocationurl + {% + \hyperlink{#1#2#3}{#3}% + }% + {% + \hyperref{\glsxtrsupplocationurl}{}{#1#2#3}{#3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrsupphypernumber} +%\changes{1.14}{2017-04-18}{new} +% \begin{macrocode} +\newcommand*{\glsxtrsupphypernumber}[1]{% + {% + \glshasattribute{\glscurrententrylabel}{externallocation}% + {% + \def\glsxtrsupplocationurl{% + \glsgetattribute{\glscurrententrylabel}{externallocation}}% + }% + {% + \def\glsxtrsupplocationurl{}% + }% + \glshypernumber{#1}% + }% +} +% \end{macrocode} +%\end{macro} +% % Give a bit of assistance to new users who are confused and don't % know how to read transcript messages. %\begin{macro}{\@print@glossary} @@ -6937,6 +7281,37 @@ Dickimaw Books\\ \AtBeginDocument {\protected@write\@auxout{}{\string\glsxtr@linkprefix{\glolinkprefix}}}% \let\glsxtr@writefields\relax +% \end{macrocode} +%If the \pkgopt{automake} option is on, try running bib2gls if +%the aux file exists. +%\changes{1.14}{2017-04-18}{added check for automake} +% \begin{macrocode} + \ifglsautomake + \IfFileExists{\jobname.aux}% + {\immediate\write18{bib2gls "\jobname"}}{}% +% \end{macrocode} +%If \cs{makeglossaries} is also used, allow makeindex/xindy to +%also be run, otherwise disable the error message about requiring +%\cs{makeglossaries} with \pkgopt[true]{automake}. +% \begin{macrocode} + \ifx\@gls@doautomake\@gls@doautomake@err + \let\@gls@doautomake\relax + \fi + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@do@automake@err} +%\changes{1.14}{2017-04-18}{new} +% \begin{macrocode} +\newcommand*{\@gls@doautomake@err}{% + \PackageError{glossaries}{You must use + \string\makeglossaries\space with automake=true} + {% + Either remove the automake=true setting or + add \string\makeglossaries\space to your document preamble.% + }% } % \end{macrocode} %\end{macro} @@ -7125,8 +7500,12 @@ Dickimaw Books\\ %\begin{macro}{\@glsxtr@unsrt@getgrouptitle} %\changes{1.11}{2017-01-19}{new} % \begin{macrocode} -\newcommand*{\@glsxtr@unsrt@getgrouptitle}[2]{% - \def#2{#1}% +\newrobustcmd*{\@glsxtr@unsrt@getgrouptitle}[2]{% + \protected@edef\@glsxtr@titlelabel{glsxtr@grouptitle@#1}% + \@onelevel@sanitize\@glsxtr@titlelabel + \ifcsdef{\@glsxtr@titlelabel} + {\letcs{#2}{\@glsxtr@titlelabel}}% + {\def#2{#1}}% } % \end{macrocode} %\end{macro} @@ -7182,7 +7561,8 @@ Dickimaw Books\\ {}% {% \ifdefempty{\@gls@currentlettergroup}{}{\glsgroupskip}% - \glsgroupheading{\@glo@thislettergrp}% + \expandafter\glsgroupheading\expandafter + {\csname glo@\glsdetoklabel{#1}@group\endcsname}% }% \let\@gls@currentlettergroup\@glo@thislettergrp \ifdefvoid{\@gls@location}% @@ -14569,7 +14949,7 @@ Dickimaw Books\\ % First identify package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2017/02/07 v1.13 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2017/04/18 v1.14 (NLCT)] % \end{macrocode} % Provide package options to automatically load required predefined % styles. The simplest method is to just test for the existence of 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 98905986c4f..5cc3435e316 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.1 2017/2/7 9:40 +% glossaries-extra.ins generated using makedtx version 1.1 2017/4/18 11:44 \input docstrip \preamble @@ -8,7 +8,7 @@ This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 - of this license of (at your option) any later version. + of this license or (at your option) any later version. The latest version of this license is in http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all distributions of LaTeX -- cgit v1.2.3