summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/glossaries-extra
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-04-29 23:02:25 +0000
committerKarl Berry <karl@freefriends.org>2018-04-29 23:02:25 +0000
commitf8834f35084ceda8688cd138ef75fc19828c23f8 (patch)
tree7243deeaadd02abf5616bdb9b9eac279a29a9751 /Master/texmf-dist/source/latex/glossaries-extra
parenta78005dad61adadbbd507e880a18b983baf7c90a (diff)
glossaries-extra (25apr18)
git-svn-id: svn://tug.org/texlive/trunk@47494 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/glossaries-extra')
-rw-r--r--Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx481
-rw-r--r--Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins2
2 files changed, 417 insertions, 66 deletions
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 8060d834636..429217ad269 100644
--- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
+++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx
@@ -1,23 +1,23 @@
%\iffalse
% glossaries-extra.dtx generated using makedtx version 1.2 (c) Nicola Talbot
% Command line args:
-% -setambles ".*\.bib=>\nopreamble\nopostamble"
+% -section "chapter"
+% -macrocode ".*\.tex"
+% -macrocode ".*\.bib"
% -author "Nicola Talbot"
-% -doc "glossaries-extra-codedoc.tex"
+% -setambles ".*\.bib=>\nopreamble\nopostamble"
% -comment ".*\.tex"
% -comment ".*\.bib"
+% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})"
% -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"
% -src "glossary-bookindex.sty\Z=>glossary-bookindex.sty"
% -src "(example-glossaries-.+\.tex)\Z=>\1"
% -src "(example-glossaries-.+\.bib)\Z=>\1"
-% -macrocode ".*\.tex"
-% -macrocode ".*\.bib"
-% -section "chapter"
-% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})"
+% -doc "glossaries-extra-codedoc.tex"
% glossaries-extra
-% Created on 2018/4/9 19:20
+% Created on 2018/4/25 15:12
%\fi
%\iffalse
%<*package>
@@ -127,7 +127,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
\setcounter{IndexColumns}{2}
-\CheckSum{22659}
+\CheckSum{22769}
\newcommand*{\ifirstuse}{\iterm{first use}}
\newcommand*{\firstuse}{\gls{firstuse}}
@@ -167,13 +167,13 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of
\raggedright
}
-\title{glossaries-extra.sty v1.29:
+\title{glossaries-extra.sty v1.30:
documented code}
\author{Nicola L.C. Talbot\\[10pt]
Dickimaw Books\\
\url{http://www.dickimaw-books.com/}}
-\date{2018-04-09}
+\date{2018-04-25}
\begin{document}
\DocInput{glossaries-extra.dtx}
@@ -218,7 +218,7 @@ Dickimaw Books\\
%\section{Package Initialisation and Options}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra}[2018/04/09 v1.29 (NLCT)]
+\ProvidesPackage{glossaries-extra}[2018/04/25 v1.30 (NLCT)]
% \end{macrocode}
% Requires \sty{xkeyval} to define package options.
% \begin{macrocode}
@@ -497,10 +497,6 @@ Dickimaw Books\\
\ifglsentryexists{#2}{}%
{%
\@@glsxtrwrglossmark
-% \end{macrocode}
-%Increment associated counter.
-% \begin{macrocode}
- \glsxtr@inc@wrglossaryctr{#2}%
\begingroup
% \end{macrocode}
%Save the label in case it's needed.
@@ -521,7 +517,27 @@ Dickimaw Books\\
%\changes{1.21}{2017-11-03}{added check for default options}
% \begin{macrocode}
\@gls@setdefault@glslink@opts
+% \end{macrocode}
+%Implement any pre-key settings.
+%\changes{1.30}{2018-04-25}{added check for pre-key hook}
+% \begin{macrocode}
+ \csuse{@glsxtr@#3@prekeys}%
+% \end{macrocode}
+%Assign keys.
+% \begin{macrocode}
\setkeys{#3}{#1}%
+% \end{macrocode}
+%Implement any post-key settings.
+%\changes{1.30}{2018-04-25}{added check for post-key hook}
+% \begin{macrocode}
+ \csuse{@glsxtr@#3@postkeys}%
+% \end{macrocode}
+%Increment associated counter.
+% \begin{macrocode}
+ \glsxtr@inc@wrglossaryctr{#2}%
+% \end{macrocode}
+%Check if \gloskey[glslink]{noindex} option has been used.
+% \begin{macrocode}
\ifKV@glslink@noindex
\else
\glswriteentry{#2}%
@@ -576,6 +592,35 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\@glsxtr@glslink@prekeys}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand{\@glsxtr@glslink@prekeys}{\glslinkpresetkeys}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtr@glslink@postkeys}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand{\@glsxtr@glslink@postkeys}{\glslinkpostsetkeys}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtr@glossadd@prekeys}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand{\@glsxtr@glossadd@prekeys}{\glsaddpresetkeys}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtr@glossadd@postkeys}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand{\@glsxtr@glossadd@postkeys}{\glsaddpostsetkeys}
+% \end{macrocode}
+%\end{macro}
+%
+%
%\begin{macro}{\@glsxtr@dorecord}
%\changes{1.08}{2016-12-13}{new}
%\changes{1.15}{2017-05-10}{corrected premature expansion of \cs{@glslocref}}
@@ -594,24 +639,18 @@ Dickimaw Books\\
}%
\@do@gls@getcounterprefix
\fi
- \ifdefstring\@gls@counter{page}%
- {%
-% \end{macrocode}
-%\changes{1.29}{2018-04-09}{check for page counter}
-%Protect the location from premature expansion.
-% \begin{macrocode}
- \protected@write\@auxout{\let\@glsrecordlocref\relax}{\string\glsxtr@record
- {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}%
- {\@glsrecordlocref}}%
- }%
- {%
% \end{macrocode}
-%Don't protect the location from premature expansion.
-% \begin{macrocode}
- \protected@write\@auxout{}{\string\glsxtr@record
- {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}%
- {\@glsrecordlocref}}%
- }%
+%\changes{1.30}{2018-04-25}{don't suppress expansion of \cs{@glsrecordlocref}}
+%\changes{1.29}{2018-04-09}{don't suppress expansion of
+%\cs{@glsrecordlocref} if counter isn't page}
+%Don't protect the \cs{@glsrecordlocref} from premature expansion.
+%If the counter isn't \counter{page} then it needs expanding. If the
+%location includes \cs{thepage} then \cs{protected@write} will
+%automatically deal with it.
+% \begin{macrocode}
+ \protected@write\@auxout{}{\string\glsxtr@record
+ {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}%
+ {\@glsrecordlocref}}%
\@glsxtr@counterrecordhook
\let\@glo@counterprefix\@glsxtr@orgprefix
}
@@ -1490,6 +1529,12 @@ Dickimaw Books\\
%for use with \app{bib2gls} v1.4+. It can work with the other indexing
%methods but it will interfere with the number list collation.
%This option automatically implements \pkgopt[wrglossary]{counter}.
+%
+%Since \styfmt{glossaries} automatically loads \sty{amsmath}, there
+%may be a problem if the indexing occurs in the \env{equation}
+%environment, because only one \cs{label} is allowed in each
+%instance of that environment. It's best to change the counter when
+%in maths mode.
% \begin{macrocode}
\@glsxtr@declareoption{indexcounter}{%
\glsxtr@dooption{counter=wrglossary}%
@@ -1500,8 +1545,16 @@ Dickimaw Books\\
}%
{}%
\renewcommand*{\glsxtr@inc@wrglossaryctr}[1]{%
- \refstepcounter{wrglossary}%
- \label{wrglossary.\thewrglossary}%
+% \end{macrocode}
+%Only increment if the current counter is \ctr{wrglossary}.
+%\changes{1.30}{2018-04-25}{added check for \ctrfmt{wrglossary} counter}
+% \begin{macrocode}
+ \ifdefstring\@gls@counter{wrglossary}%
+ {%
+ \refstepcounter{wrglossary}%
+ \label{wrglossary.\thewrglossary}%
+ }%
+ {}%
}%
\renewcommand*{\GlsXtrInternalLocationHyperlink}[3]{%
\ifdefstring\glsentrycounter{wrglossary}%
@@ -1513,7 +1566,7 @@ Dickimaw Books\\
}
% \end{macrocode}
%\end{option}
-
+%
%\begin{macro}{\@glsxtrwrglossmark}
%\changes{1.21}{2017-11-03}{new}
%Marks the place where indexing occurs.
@@ -2333,6 +2386,7 @@ Dickimaw Books\\
%\end{macro}
%
%\begin{macro}{\glsxtrpageref}
+%\changes{1.11}{2017-01-19}{new}
% Like \cs{glsrefentry} but references the page number instead (if
% entry counting is on).
% \begin{macrocode}
@@ -3830,7 +3884,7 @@ Dickimaw Books\\
{\glsxtrregularfont{\glsgenentryfmt}}%
{%
\ifglshasshort{\glslabel}%
- {\glsxtrgenabbrvfmt}%
+ {\glsxtrabbreviationfont{\glsxtrgenabbrvfmt}}%
{\glsxtrregularfont{\glsgenentryfmt}}%
}%
}
@@ -3845,6 +3899,14 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\glsxtrabbreviationfont}
+%\changes{1.30}{2018-04-25}{new}
+% Font used for abbreviation entries.
+% \begin{macrocode}
+\newcommand*{\glsxtrabbreviationfont}[1]{#1}
+% \end{macrocode}
+%\end{macro}
+%
% Commands like \cs{glsifplural} are only used by the \cs{gls}-like
% commands in the \styfmt{glossaries} package, but it might be useful
% for the postlink hook to know if the user has used, say,
@@ -3966,7 +4028,7 @@ Dickimaw Books\\
%\begin{macro}{\@glsdisp}
%\changes{1.08}{2016-12-13}{added \cs{@glsxtr@record}}
%\changes{1.13}{2017-02-07}{removed \cs{@glsxtr@org@glsdisp}}
-%Save the original definition and redefine.
+%This is redefined to allow the recording on the first run.
%Can't save and restore \cs{@glsdisp} since it has an optional
%argument.
% \begin{macrocode}
@@ -4071,6 +4133,22 @@ Dickimaw Books\\
%
%\end{macro}
%
+%\begin{macro}{\@glsxtr@local@textformat}
+%\changes{1.30}{2018-04-25}{new}
+%Provide a key to locally change the text format.
+% \begin{macrocode}
+\define@key{glslink}{textformat}{%
+ \ifcsdef{#1}
+ {%
+ \letcs{\@glsxtr@local@textformat}{#1}%
+ }%
+ {%
+ \PackageError{glossaries-extra}{Unknown control sequence name `#1'}{}%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsxtrinithyperoutside}
%\changes{1.21}{2017-11-03}{new}
%Set the default if the \gloskey[glslink]{hyperoutside} is omitted.
@@ -4104,6 +4182,19 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GlsXtrExpandedFmt}
+%\changes{1.30}{2018-04-25}{new}
+%Helper command that (protected) fully expands second argument and
+%then applies it to the first, which must be a command that takes a
+%single argument.
+% \begin{macrocode}
+\newrobustcmd*{\GlsXtrExpandedFmt}[2]{%
+ \protected@edef\@glsxtr@tmp{#2}%
+ \expandafter#1\expandafter{\@glsxtr@tmp}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\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
@@ -4122,6 +4213,10 @@ Dickimaw Books\\
\edef\glstype{\csname glo@\glslabel @type\endcsname}%
\let\org@ifKV@glslink@hyper\ifKV@glslink@hyper
% \end{macrocode}
+%Initialise \cs{@glsxtr@local@textformat}
+% \begin{macrocode}
+ \let\@glsxtr@local@textformat\relax
+% \end{macrocode}
% Initialise thevalue and theHvalue (v1.19).
% \begin{macrocode}
\def\@glsxtr@thevalue{}%
@@ -4175,25 +4270,32 @@ Dickimaw Books\\
}%
\@gls@setsort{\glslabel}%
% \end{macrocode}
+%Check if the \gloskey[glslink]{textformat} key has been used.
+% \begin{macrocode}
+ \ifx\@glsxtr@local@textformat\relax
+% \end{macrocode}
% Check \catattr{textformat} attribute (new to v1.21).
% \begin{macrocode}
- \glshasattribute{\glslabel}{textformat}%
- {%
- \edef\@glsxtr@attrval{\glsgetattribute{\glslabel}{textformat}}%
- \ifcsdef{\@glsxtr@attrval}%
+ \glshasattribute{\glslabel}{textformat}%
{%
- \letcs{\@glsxtr@textformat}{\@glsxtr@attrval}%
+ \edef\@glsxtr@attrval{\glsgetattribute{\glslabel}{textformat}}%
+ \ifcsdef{\@glsxtr@attrval}%
+ {%
+ \letcs{\@glsxtr@textformat}{\@glsxtr@attrval}%
+ }%
+ {%
+ \GlossariesExtraWarning{Unknown control sequence name
+ `\@glsxtr@attrval' supplied in textformat attribute
+ for entry `\glslabel'. Reverting to default \string\glstextformat}%
+ \let\@glsxtr@textformat\glstextformat
+ }%
}%
{%
- \GlossariesExtraWarning{Unknown control sequence name
- `\@glsxtr@attrval' supplied in textformat attribute
- for entry `\glslabel'. Reverting to default \string\glstextformat}%
\let\@glsxtr@textformat\glstextformat
}%
- }%
- {%
- \let\@glsxtr@textformat\glstextformat
- }%
+ \else
+ \let\@glsxtr@textformat\@glsxtr@local@textformat
+ \fi
% \end{macrocode}
% Do write if it should occur before the link text:
% \begin{macrocode}
@@ -4241,6 +4343,20 @@ Dickimaw Books\\
\define@key{glossadd}{theHvalue}{\def\@glsxtr@theHvalue{#1}}
% \end{macrocode}
%
+%\begin{macro}{\glsaddpresetkeys}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand*{\glsaddpresetkeys}{}
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{\glsaddpostsetkeys}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand*{\glsaddpostsetkeys}{}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\glsadd}
%\changes{1.08}{2016-12-13}{added \cs{@glsxtr@record}}
%Redefine to include \cs{@glsxtr@record} and suppress in headings
@@ -4257,7 +4373,17 @@ Dickimaw Books\\
\edef\@gls@counter{\csname glo@\glsdetoklabel{#2}@counter\endcsname}%
\def\@glsxtr@thevalue{}%
\def\@glsxtr@theHvalue{\@glsxtr@thevalue}%
+% \end{macrocode}
+%Implement any default settings (before options are set)
+%\changes{1.30}{2018-04-25}{added \cs{glsaddpresetkeys}}
+% \begin{macrocode}
+ \glsaddpresetkeys
\setkeys{glossadd}{#1}%
+% \end{macrocode}
+%Implement any default settings (after options are set)
+%\changes{1.30}{2018-04-25}{added \cs{glsaddpostsetkeys}}
+% \begin{macrocode}
+ \glsaddpostsetkeys
\ifdefempty{\@glsxtr@thevalue}%
{%
\@gls@saveentrycounter
@@ -6428,17 +6554,32 @@ Dickimaw Books\\
% \sectionref{sec:linkcount}.
%
% First adjust definitions of the unset and reset commands to
-% provide a hook.
-%
-%\begin{macro}{\@glsunset}
+% provide a hook, but changing the flag can cause problems in
+% certain situations, so to allow the normal unsetting to be
+% temporarily disabled, \cs{@glsunset} is let to
+% \cs{@glsxtr@unset}, which performs the actual unsetting through
+% \cs{@@glsunset} and then does the hook. This means that the
+% unsetting (and the hook) can switched off by redefining \cs{@glsunset}
+% and then switched back on again by changing the definition back to
+% \cs{@glsxtr@unset}.
+%
+%\begin{macro}{\@glsxtr@unset}
+%\changes{1.30}{2018-04-25}{new}
% Global unset.
% \begin{macrocode}
-\renewcommand*{\@glsunset}[1]{%
+\newcommand*{\@glsxtr@unset}[1]{%
\@@glsunset{#1}%
\glsxtrpostunset{#1}%
}%
% \end{macrocode}
%\end{macro}
+%
+%\begin{macro}{\@glsunset}
+% Global unset.
+% \begin{macrocode}
+\let\@glsunset\@glsxtr@unset
+% \end{macrocode}
+%\end{macro}
%\begin{macro}{\glsxtrpostunset}
%\changes{0.5.4}{2015-12-15}{new}
% \begin{macrocode}
@@ -6446,13 +6587,69 @@ Dickimaw Books\\
% \end{macrocode}
%\end{macro}
%
+%Provide a command to store a list of labels that will need
+%unsetting.
+%\begin{macro}{\GlsXtrStartUnsetBuffering}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand*{\GlsXtrStartUnsetBuffering}{%
+ \let\@glsxtr@org@unset@buffer\@glsxtr@unset@buffer
+ \def\@glsxtr@unset@buffer{}%
+ \let\@glsunset\@glsxtrbuffer@unset
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@glsxtrbuffer@unset}
+%\changes{1.30}{2018-04-25}{new}
+%This must use a global change since \cs{gls} may have to be placed
+%inside \cs{mbox} (for example, with \sty{soul} commands).
+% \begin{macrocode}
+\newcommand*{\@glsxtrbuffer@unset}[1]{%
+ \listxadd\@glsxtr@unset@buffer{#1}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\GlsXtrStopUnsetBuffering}
+%\changes{1.30}{2018-04-25}{new}
+% \begin{macrocode}
+\newcommand*{\GlsXtrStopUnsetBuffering}{%
+ \@ifstar\s@GlsXtrStopUnsetBuffering\@GlsXtrStopUnsetBuffering
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@GlsXtrStopUnsetBuffering}
+%\changes{1.30}{2018-04-25}{new}
+%Unstarred form (global unset).
+% \begin{macrocode}
+\newcommand*{\@GlsXtrStopUnsetBuffering}{%
+ \let\@glsunset\@glsxtr@unset
+ \forlistloop\@glsunset\@glsxtr@unset@buffer
+ \let\@glsxtr@unset@buffer\@glsxtr@org@unset@buffer
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\s@GlsXtrStopUnsetBuffering}
+%\changes{1.30}{2018-04-25}{new}
+%Starred form (local unset).
+% \begin{macrocode}
+\newcommand*{\s@GlsXtrStopUnsetBuffering}{%
+ \forlistloop\@glslocalunset\@glsxtr@unset@buffer
+ \let\@glsunset\@glsxtr@unset
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\@glslocalunset}
% Local unset.
% \begin{macrocode}
- \renewcommand*{\@glslocalunset}[1]{%
- \@@glslocalunset{#1}%
- \glsxtrpostlocalunset{#1}%
- }%
+\renewcommand*{\@glslocalunset}[1]{%
+ \@@glslocalunset{#1}%
+ \glsxtrpostlocalunset{#1}%
+}%
% \end{macrocode}
%\end{macro}
%\begin{macro}{\glsxtrpostlocalunset}
@@ -13171,6 +13368,13 @@ defined}{}%
% Low-level macro:
% \begin{macrocode}
\def\@glsxtr@full#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13277,6 +13481,13 @@ defined}{}%
% Low-level macro:
% \begin{macrocode}
\def\@glsxtr@fullpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13307,6 +13518,13 @@ defined}{}%
% Low-level macro:
% \begin{macrocode}
\def\@Glsxtr@fullpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13337,6 +13555,13 @@ defined}{}%
% Low-level macro:
% \begin{macrocode}
\def\@GLSxtr@fullpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -13368,6 +13593,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@glsxtrshort#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
% \end{macrocode}
@@ -13404,6 +13636,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@Glsxtrshort#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13437,6 +13676,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@GLSxtrshort#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13472,6 +13718,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@glsxtrlong#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -13504,6 +13757,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@Glsxtrlong#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -13536,6 +13796,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@GLSxtrlong#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -13572,6 +13839,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@glsxtrshortpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13606,6 +13880,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@Glsxtrshortpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13640,6 +13921,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@GLSxtrshortpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\glssetabbrvfmt{\glscategory{#2}}%
@@ -13677,6 +13965,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@glsxtrlongpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -13710,6 +14005,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@Glsxtrlongpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -13743,6 +14045,13 @@ defined}{}%
% Read in the final optional argument:
% \begin{macrocode}
\def\@GLSxtrlongpl#1#2[#3]{%
+% \end{macrocode}
+%If the \pkgopt{record} option has been used, the information needs
+%to be written to the aux file regardless of whether the entry
+%exists (unless indexing has been switched off).
+%\changes{1.30}{2018-04-25}{added \cs{@glsxtr@record}}
+% \begin{macrocode}
+ \@glsxtr@record{#1}{#2}{glslink}%
\glsdoifexists{#2}%
{%
\let\do@gls@link@checkfirsthyper\@gls@link@nocheckfirsthyper
@@ -18313,6 +18622,16 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+% Description encapsulator.
+%\begin{macro}{\glsuserdescription}
+%\changes{1.30}{2018-04-25}{new}
+%The first argument is the description. The second argument is the
+%label.
+% \begin{macrocode}
+\newcommand*{\glsuserdescription}[2]{\glslonguserfont{#1}}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{abbrvstyle}{long-short-user}
%\changes{1.04}{2016-05-02}{new}
% \begin{macrocode}
@@ -18331,7 +18650,8 @@ defined}{}%
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},%
- description={\protect\glslonguserfont{\the\glslongtok}}}%
+ description={\protect\glsuserdescription{\the\glslongtok}%
+ {\the\glslabeltok}}}%
% \end{macrocode}
% Unset the \catattr{regular} attribute if it has been set.
% \begin{macrocode}
@@ -18397,7 +18717,8 @@ defined}{}%
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},%
- description={\protect\glslonguserfont{\the\glslongtok}}}%
+ description={\protect\glsuserdescription{\the\glslongtok}%
+ {\the\glslabeltok}}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
\csdef{glsxtrpostlink\glscategorylabel}{%
\glsxtrifwasfirstuse
@@ -18539,7 +18860,8 @@ defined}{}%
%\changes{1.15}{2017-05-10}{fixed spelling of \cs{glsabbrvfont}}
% \begin{macrocode}
plural={\protect\glsabbrvuserfont{\the\glsshortpltok}},%
- description={\protect\glslonguserfont{\the\glslongtok}}}%
+ description={\protect\glsuserdescription{\the\glslongtok}%
+ {\the\glslabeltok}}}%
\renewcommand*{\GlsXtrPostNewAbbreviation}{%
\csdef{glsxtrpostlink\glscategorylabel}{%
\glsxtrifwasfirstuse
@@ -18710,12 +19032,13 @@ defined}{}%
{%
% \end{macrocode}
%\cs{glslonguserfont} is used in the description since \cs{glsdesc}
-%doesn't set the style.
+%doesn't set the style. (Now in \cs{glsuserdescription}.)
% \begin{macrocode}
\renewcommand*{\CustomAbbreviationFields}{%
name={\glsxtrshortlongname},
sort={\the\glsshorttok},
- description={\protect\glslonguserfont{\the\glslongtok}},%
+ description={\protect\glsuserdescription{\the\glslongtok}%
+ {\the\glslabeltok}},%
first={\protect\glsfirstabbrvuserfont{\the\glsshorttok}%
\protect\glsxtruserparen{\protect\glsfirstlonguserfont{\the\glslongtok}}%
{\the\glslabeltok}},%
@@ -21273,7 +21596,7 @@ defined}{}%
%automatically loaded by the record option.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-bib2gls}[2018/04/09 v1.29 (NLCT)]
+\ProvidesPackage{glossaries-extra-bib2gls}[2018/04/25 v1.30 (NLCT)]
% \end{macrocode}
%
%These are some convenient macros for use with custom rules.
@@ -21323,6 +21646,34 @@ defined}{}%
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\GlsXtrDualField}
+%\changes{1.30}{2018-04-25}{new}
+%\begin{definition}
+%\cs{GlsXtrDualField}
+%\end{definition}
+%The internal field used to store the dual label. The
+%\texttt{dual-field} defaults to \texttt{dual} if no value is
+%supplied so that's used as the default.
+% \begin{macrocode}
+\newcommand*{\GlsXtrDualField}{dual}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\GlsXtrDualBackLink}
+%\changes{1.30}{2018-04-25}{new}
+%\begin{definition}
+%\cs{GlsXtrDualBackLink}\marg{text}\marg{label}
+%\end{definition}
+%Adds a hyperlink to the dual entry.
+% \begin{macrocode}
+\newcommand*{\GlsXtrDualBackLink}[2]{%
+ \glsxtrifhasfield{\GlsXtrDualField}{#2}%
+ {\glshyperlink[#1]{\glscurrentfieldvalue}}%
+ {#2}%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\GlsXtrBibTeXEntryAliases}
%\changes{1.29}{2018-04-09}{new}
%Convenient shortcut for use with \texttt{entry-type-aliases} to
@@ -23605,7 +23956,7 @@ defined}{}%
% First identify package:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossaries-extra-stylemods}[2018/04/09 v1.29 (NLCT)]
+\ProvidesPackage{glossaries-extra-stylemods}[2018/04/25 v1.30 (NLCT)]
% \end{macrocode}
% Provide package options to automatically load required predefined
% styles. The simplest method is to just test for the existence of
@@ -25662,7 +26013,7 @@ defined}{}%
%\section{Package Initialisation and Options}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{glossary-bookindex}[2018/04/09 v1.29 (NLCT)]
+\ProvidesPackage{glossary-bookindex}[2018/04/25 v1.30 (NLCT)]
% \end{macrocode}
%Load required packages.
% \begin{macrocode}
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 9611c082af4..870152f26c4 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 2018/4/9 19:20
+% glossaries-extra.ins generated using makedtx version 1.2 2018/4/25 15:12
\input docstrip
\preamble