From 11bd7c1043384daa09ab391cfbbc6c9b47514c9f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Apr 2018 21:18:22 +0000 Subject: glossaries-extra (9apr18) git-svn-id: svn://tug.org/texlive/trunk@47410 c570f23f-e606-0410-a88d-b1316a301751 --- .../glossaries-extra/glossaries-extra-bib2gls.sty | 51 ++++- .../glossaries-extra-stylemods.sty | 2 +- .../latex/glossaries-extra/glossaries-extra.sty | 255 +++++++++++++-------- .../latex/glossaries-extra/glossary-bookindex.sty | 2 +- 4 files changed, 212 insertions(+), 98 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 25caee9c2f5..c6cb5b8ab6c 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,9 +39,58 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-bib2gls}[2018/03/06 v1.28 (NLCT)] +\ProvidesPackage{glossaries-extra-bib2gls}[2018/04/09 v1.29 (NLCT)] \newcommand*{\glshex}{\string\u} \newcommand*{\glsxtrprovidecommand}{\providecommand} +\newcommand*{\glsxtr@wrglossarylocation}[2]{#1} +\ifdef\hyperref +{% + \newcommand*{\GlsXtrIndexCounterLink}[2]{% + \glsxtrifhasfield{indexcounter}{#2}% + {\hyperref[wrglossary.\glscurrentfieldvalue]{#1}}% + {#1}% + } +} +{ + \newcommand*{\GlsXtrIndexCounterLink}[2]{#1} +} +\newcommand*{\GlsXtrBibTeXEntryAliases}{% + article=bibtexentry, + book=bibtexentry, + booklet=bibtexentry, + conference=bibtexentry, + inbook=bibtexentry, + incollection=bibtexentry, + inproceedings=bibtexentry, + manual=bibtexentry, + mastersthesis=bibtexentry, + misc=bibtexentry, + phdthesis=bibtexentry, + proceedings=bibtexentry, + techreport=bibtexentry, + unpublished=bibtexentry +} +\newcommand*{\GlsXtrProvideBibTeXFields}{% + \glsaddstoragekey{address}{}{\glsxtrbibaddress}% + \glsaddstoragekey{author}{}{\glsxtrbibauthor}% + \glsaddstoragekey{booktitle}{}{\glsxtrbibbooktitle}% + \glsaddstoragekey{chapter}{}{\glsxtrbibchapter}% + \glsaddstoragekey{edition}{}{\glsxtrbibedition}% + \glsaddstoragekey{howpublished}{}{\glsxtrbibhowpublished}% + \glsaddstoragekey{institution}{}{\glsxtrbibinstitution}% + \glsaddstoragekey{journal}{}{\glsxtrbibjournal}% + \glsaddstoragekey{month}{}{\glsxtrbibmonth}% + \glsaddstoragekey{note}{}{\glsxtrbibnote}% + \glsaddstoragekey{number}{}{\glsxtrbibnumber}% + \glsaddstoragekey{organization}{}{\glsxtrbiborganization}% + \glsaddstoragekey{pages}{}{\glsxtrbibpages}% + \glsaddstoragekey{publisher}{}{\glsxtrbibpublisher}% + \glsaddstoragekey{school}{}{\glsxtrbibschool}% + \glsaddstoragekey{series}{}{\glsxtrbibseries}% + \glsaddstoragekey{title}{}{\glsxtrbibtitle}% + \glsaddstoragekey{bibtextype}{}{\glsxtrbibtype}% + \glsaddstoragekey{volume}{}{\glsxtrbibvolume}% +} \providecommand*{\Alpha}{\mathrm{A}} \providecommand*{\Beta}{\mathrm{B}} \providecommand*{\Epsilon}{\mathrm{E}} 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 934ebf19961..c1d97383d9c 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}[2018/03/06 v1.28 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2018/04/09 v1.29 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption{all}{% \appto\@glsxtr@loadstyles{% 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 4e62d174a71..fcbd5394ca4 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}[2018/03/06 v1.28 (NLCT)] +\ProvidesPackage{glossaries-extra}[2018/04/09 v1.29 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} \@ifpackageloaded{glossaries} @@ -147,6 +147,7 @@ \glsxtr@@do@wrglossary{#1}% \else \@@glsxtrwrglossmark + \glsxtr@inc@wrglossaryctr{#1}% \@@do@@wrglossary \fi }% @@ -161,6 +162,7 @@ \ifglsentryexists{#2}{}% {% \@@glsxtrwrglossmark + \glsxtr@inc@wrglossaryctr{#2}% \begingroup \edef\@gls@label{\glsdetoklabel{#2}}% \let\glslabel\@gls@label @@ -168,7 +170,7 @@ \def\@glsxtr@thevalue{}% \def\@glsxtr@theHvalue{\@glsxtr@thevalue}% \let\@glsxtr@org@theHvalue\@glsxtr@theHvalue - \def\@gls@counter{page}% + \let\@gls@counter\glscounter \@gls@setdefault@glslink@opts \setkeys{#3}{#1}% \ifKV@glslink@noindex @@ -210,9 +212,17 @@ }% \@do@gls@getcounterprefix \fi - \protected@write\@auxout{\let\@glsrecordlocref\relax}{\string\glsxtr@record - {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% - {\@glsrecordlocref}}% + \ifdefstring\@gls@counter{page}% + {% + \protected@write\@auxout{\let\@glsrecordlocref\relax}{\string\glsxtr@record + {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + {\@glsrecordlocref}}% + }% + {% + \protected@write\@auxout{}{\string\glsxtr@record + {\@gls@label}{\@glo@counterprefix}{\@gls@counter}{\@glsnumberformat}% + {\@glsrecordlocref}}% + }% \@glsxtr@counterrecordhook \let\@glo@counterprefix\@glsxtr@orgprefix } @@ -625,6 +635,34 @@ \setglossarystyle{#1}% }% } +\newcommand*{\glsxtr@inc@wrglossaryctr}[1]{} +\newcommand*{\GlsXtrInternalLocationHyperlink}[3]{% + \glsxtrhyperlink{#1#2#3}{#3}% +} +\newcommand*{\@glsxtr@wrglossary@locationhyperlink}[3]{% + \pageref{wrglossary.#3}% +} +\@glsxtr@declareoption{indexcounter}{% + \glsxtr@dooption{counter=wrglossary}% + \ifundef\c@wrglossary + {% + \newcounter{wrglossary}% + \renewcommand{\thewrglossary}{\arabic{wrglossary}}% + }% + {}% + \renewcommand*{\glsxtr@inc@wrglossaryctr}[1]{% + \refstepcounter{wrglossary}% + \label{wrglossary.\thewrglossary}% + }% + \renewcommand*{\GlsXtrInternalLocationHyperlink}[3]{% + \ifdefstring\glsentrycounter{wrglossary}% + {% + \@glsxtr@wrglossary@locationhyperlink{##1}{##2}{##3}% + }% + {\glsxtrhyperlink{##1##2##3}{##3}}% + }% +} + \newcommand*{\@glsxtrwrglossmark}{} \newcommand*{\@@glsxtrwrglossmark}{} \AtBeginDocument{\renewcommand*{\@@glsxtrwrglossmark}{\@glsxtrwrglossmark}} @@ -720,6 +758,7 @@ \let\glsxtr@org@@do@wrglossary\@@do@wrglossary \newcommand*{\glsxtr@@do@wrglossary}[1]{% \@@glsxtrwrglossmark + \glsxtr@inc@wrglossaryctr{#1}% \glsxtr@org@@do@wrglossary{#1}% } \let\glsxtr@saveentrycounter\@gls@saveentrycounter @@ -850,7 +889,7 @@ \dolistcsloop{glo@\glsdetoklabel{#1}@#2}% } \newcommand*{\glsxtrfieldforlistloop}[3]{% - \forlistcsloop{glo@\glsdetoklabel{#1}@#2}{#3}% + \forlistcsloop{#3}{glo@\glsdetoklabel{#1}@#2}% } \newcommand*{\glsxtrfieldifinlist}[5]{% \ifinlistcs{#3}{glo@\glsdetoklabel{#1}@#2}{#4}{#5}% @@ -1391,6 +1430,22 @@ }% } \newcommand*{\glsxtrunusedformat}[1]{\unskip} +\ifdef\gls@begindocdefs +{% + \renewcommand*{\gls@begindocdefs}{% + \ifnum\@glsxtr@docdefval=1\relax + \@gls@enablesavenonumberlist + \edef\@gls@restoreat{% + \noexpand\catcode`\noexpand\@=\number\catcode`\@\relax}% + \makeatletter + \InputIfFileExists{\jobname.glsdefs}{}{}% + \@gls@restoreat + \undef\@gls@restoreat + \gls@defdocnewglossaryentry + \fi + } +} +{} \let\glsxtr@orgmakenoidxglossaries\makenoidxglossaries \renewcommand{\makenoidxglossaries}{% \ifdefequal\@glsxtr@record@setting\@glsxtr@record@setting@off @@ -3616,104 +3671,104 @@ \@disable@onlypremakeg \let\gls@checkseeallowed\relax \renewcommand*{\@do@seeglossary}[2]{% - \glsdoifexists{##1}% - {% - \edef\@gls@label{\glsdetoklabel{##1}}% - \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% - \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% - {\@glsxtr@org@doseeglossary{##1}{##2}}% + \glsdoifexists{##1}% {% - \@@glsxtrwrglossmark - \protected@write\@auxout{}{% - \string\@gls@reference - {\gls@type}{\@gls@label}{\string\glsseeformat##2{}}% + \edef\@gls@label{\glsdetoklabel{##1}}% + \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% + \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% + {\@glsxtr@org@doseeglossary{##1}{##2}}% + {% + \@@glsxtrwrglossmark + \protected@write\@auxout{}{% + \string\@gls@reference + {\gls@type}{\@gls@label}{\string\glsseeformat##2{}}% + }% }% }% }% - }% - \let\@glsxtr@@do@@wrglossary\@@do@@wrglossary - \def\@@do@@wrglossary{% - \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% - \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% - {\@glsxtr@@do@@wrglossary}% - {\gls@noidxglossary}% - }% - \let\warn@nomakeglossaries\relax - \def\warn@noprintglossary{% - \GlossariesWarningNoLine{No \string\printglossary\space - or \string\printglossaries\space - found.^^J(Remove \string\makeglossaries\space if you don't want - any glossaries.)^^JThis document will not have a glossary}% - }% - \renewcommand{\@gls@noref@warn}[1]{% - \edef\@gls@type{##1}% - \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% - {% - \GlossariesExtraWarning{Can't use - \string\printnoidxglossary[type={\@gls@type}] - when `\@gls@type' is listed in the optional argument of - \string\makeglossaries}% + \let\@glsxtr@@do@@wrglossary\@@do@@wrglossary + \def\@@do@@wrglossary{% + \edef\@gls@type{\csname glo@\@gls@label @type\endcsname}% + \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% + {\@glsxtr@@do@@wrglossary}% + {\gls@noidxglossary}% }% - {% - \GlossariesWarning{Empty glossary for - \string\printnoidxglossary[type={##1}]. - Rerun may be required (or you may have forgotten to use - commands like \string\gls)}% + \let\warn@nomakeglossaries\relax + \def\warn@noprintglossary{% + \GlossariesWarningNoLine{No \string\printglossary\space + or \string\printglossaries\space + found.^^J(Remove \string\makeglossaries\space if you don't want + any glossaries.)^^JThis document will not have a glossary}% }% - }% - \renewcommand*{\glsdisplaynumberlist}[1]{% - \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% - {\@glsxtr@idx@displaynumberlist{##1}}% - {\@glsxtr@noidx@displaynumberlist{##1}}% - }% - \renewcommand*{\glsentrynumberlist}[1]{% - \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% - {\@glsxtr@idx@entrynumberlist{##1}}% - {\@glsxtr@noidx@entrynumberlist{##1}}% - }% - \renewcommand*{\glsnumberlistloop}[2]{% - \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% - {% - \PackageError{glossaries-extra}{\string\glsnumberlistloop\space - not available for glossary `##1'}{}% + \renewcommand{\@gls@noref@warn}[1]{% + \edef\@gls@type{##1}% + \expandafter\DTLifinlist\expandafter{\@gls@type}{\@glsxtr@reg@glosslist}% + {% + \GlossariesExtraWarning{Can't use + \string\printnoidxglossary[type={\@gls@type}] + when `\@gls@type' is listed in the optional argument of + \string\makeglossaries}% + }% + {% + \GlossariesWarning{Empty glossary for + \string\printnoidxglossary[type={##1}]. + Rerun may be required (or you may have forgotten to use + commands like \string\gls)}% + }% }% - {\@glsxtr@noidx@numberlistloop{##1}{##2}}% - }% - \renewcommand*{\glsprestandardsort}[3]{% - \expandafter\DTLifinlist\expandafter{##2}{\@glsxtr@reg@glosslist}% - {% - \glsdosanitizesort + \renewcommand*{\glsdisplaynumberlist}[1]{% + \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% + {\@glsxtr@idx@displaynumberlist{##1}}% + {\@glsxtr@noidx@displaynumberlist{##1}}% }% - {% - \ifglssanitizesort - \@gls@noidx@sanitizesort - \else - \@gls@noidx@nosanitizesort - \fi + \renewcommand*{\glsentrynumberlist}[1]{% + \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% + {\@glsxtr@idx@entrynumberlist{##1}}% + {\@glsxtr@noidx@entrynumberlist{##1}}% }% - }% - \renewcommand*\new@glossaryentry[2]{% - \PackageError{glossaries-extra}{Glossary entries must be defined - in the preamble\MessageBreak when you use the optional argument - of \string\makeglossaries}{Either move your definitions to the - preamble or don't use the optional argument of - \string\makeglossaries}% - }% - \let\@glo@assign@sortkey\@glsxtr@mixed@assign@sortkey - \renewcommand*{\@printgloss@setsort}{% - \expandafter\@glsxtr@gettype\expandafter,\@glsxtr@printglossopts,% - type=\glsdefaulttype,\@end@glsxtr@gettype - \def\@glo@sorttype{\@glo@default@sorttype}% - }% - \ifglsautomake - \renewcommand*{\@gls@doautomake}{% - \@for\@gls@type:=\@glsxtr@reg@glosslist\do{% - \ifdefempty{\@gls@type}{}{\@gls@automake{\@gls@type}}% + \renewcommand*{\glsnumberlistloop}[2]{% + \expandafter\DTLifinlist\expandafter{##1}{\@glsxtr@reg@glosslist}% + {% + \PackageError{glossaries-extra}{\string\glsnumberlistloop\space + not available for glossary `##1'}{}% }% + {\@glsxtr@noidx@numberlistloop{##1}{##2}}% }% - \fi - \ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}% - \fi + \renewcommand*{\glsprestandardsort}[3]{% + \expandafter\DTLifinlist\expandafter{##2}{\@glsxtr@reg@glosslist}% + {% + \glsdosanitizesort + }% + {% + \ifglssanitizesort + \@gls@noidx@sanitizesort + \else + \@gls@noidx@nosanitizesort + \fi + }% + }% + \renewcommand*\new@glossaryentry[2]{% + \PackageError{glossaries-extra}{Glossary entries must be defined + in the preamble\MessageBreak when you use the optional argument + of \string\makeglossaries}{Either move your definitions to the + preamble or don't use the optional argument of + \string\makeglossaries}% + }% + \let\@glo@assign@sortkey\@glsxtr@mixed@assign@sortkey + \renewcommand*{\@printgloss@setsort}{% + \expandafter\@glsxtr@gettype\expandafter,\@glsxtr@printglossopts,% + type=\glsdefaulttype,\@end@glsxtr@gettype + \def\@glo@sorttype{\@glo@default@sorttype}% + }% + \ifglsautomake + \renewcommand*{\@gls@doautomake}{% + \@for\@gls@type:=\@glsxtr@reg@glosslist\do{% + \ifdefempty{\@gls@type}{}{\@gls@automake{\@gls@type}}% + }% + }% + \fi + \ifdef\@glo@check@sortallowed{\@glo@check@sortallowed\makeglossaries}{}% + \fi }% \fi } @@ -4032,13 +4087,23 @@ } \newcommand*{\glsxtrdisplayendlochook}[2]{} \newcommand*{\glsxtrlocrangefmt}{} +\renewcommand*{\setentrycounter}[2][]{% + \def\glsxtrcounterprefix{#1}% + \ifx\glsxtrcounterprefix\@empty + \def\@glo@counterprefix{.}% + \else + \def\@glo@counterprefix{.#1.}% + \fi + \def\glsentrycounter{#2}% +} \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@}% + \expandafter\glsxtrlocationhyperlink\expandafter + \glsentrycounter\expandafter\@glo@counterprefix\expandafter{\the\toks@}% \fi \else \@gls@ReturnAfterFi{% @@ -4049,7 +4114,7 @@ \newcommand*{\glsxtrlocationhyperlink}[3]{% \ifdefvoid\glsxtrsupplocationurl {% - \glsxtrhyperlink{#1#2#3}{#3}% + \GlsXtrInternalLocationHyperlink{#1}{#2}{#3}% }% {% \hyperref{\glsxtrsupplocationurl}{}{#1#2#3}{#3}% 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 0269a636744..8a5ff567535 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}[2018/03/06 v1.28 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2018/04/09 v1.29 (NLCT)] \RequirePackage{multicol} \RequirePackage{glossary-tree} \newcommand{\glsxtrbookindexcols}{2} -- cgit v1.2.3