summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-05 22:08:19 +0000
committerKarl Berry <karl@freefriends.org>2020-03-05 22:08:19 +0000
commitd379da24c3c8619aae41ef32e82cd06a72154d86 (patch)
treef666b8232edb45f0246a7a73eea8aee0e9342763 /Master/texmf-dist/tex
parent938d0017220d59681ce920e3593cb9cdef66341e (diff)
acronym (5mar20)
git-svn-id: svn://tug.org/texlive/trunk@54112 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/acronym/acronym.sty127
1 files changed, 95 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/latex/acronym/acronym.sty b/Master/texmf-dist/tex/latex/acronym/acronym.sty
index c582d6e9b9c..ebd2a86d946 100644
--- a/Master/texmf-dist/tex/latex/acronym/acronym.sty
+++ b/Master/texmf-dist/tex/latex/acronym/acronym.sty
@@ -5,7 +5,7 @@
%% The original source files were:
%%
%% acronym.dtx (with options: `acronym')
-%% Copyright 1995--2009 by Tobias Oetiker (tobi@oetiker.ch)
+%% Copyright 1995--2020 by Tobias Oetiker (tobi@oetiker.ch)
%% and individual authors listed elsewhere.
%% All rights reserved.
%%
@@ -40,8 +40,8 @@
%%
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{acronym}[2019/11/11
- v1.42
+\ProvidesPackage{acronym}[2020/02/07
+ v1.44
Support for acronyms (Tobias Oetiker)]
\RequirePackage{suffix,xstring}
\newif\ifAC@footnote
@@ -50,9 +50,15 @@
\newif\ifAC@nohyperlinks
\AC@nohyperlinksfalse
\DeclareOption{nohyperlinks}{\AC@nohyperlinkstrue}
+\newif\ifAC@noacroprefix
+\AC@noacroprefixfalse
+\DeclareOption{noacroprefix}{\AC@noacroprefixtrue}
\newif\ifAC@printonlyused
\AC@printonlyusedfalse
\DeclareOption{printonlyused}{\AC@printonlyusedtrue}
+\newif\ifAC@printonlyreused
+\AC@printonlyreusedfalse
+\DeclareOption{printonlyreused}{\AC@printonlyreusedtrue}
\newif\ifAC@withpage
\AC@withpagefalse
\DeclareOption{withpage}{\AC@withpagetrue}
@@ -83,6 +89,7 @@
\def\AC@linebreakpenalty{3}
\fi
\def\AC@hyperlink#1#2{#2}
+\def\AC@hyperref[#1]#2{#2}
\def\AC@hypertarget#1#2{#2}
\def\AC@phantomsection{}
\ifAC@nohyperlinks
@@ -90,6 +97,7 @@
\AtBeginDocument{%
\@ifpackageloaded{hyperref}
{\let\AC@hyperlink=\hyperlink
+ \let\AC@hyperref=\hyperref
\newcommand*\AC@raisedhypertarget[2]{%
\Hy@raisedlink{\hypertarget{#1}{}}#2}%
\let\AC@hypertarget=\AC@raisedhypertarget
@@ -103,6 +111,13 @@
}{}}%
\fi
\AtBeginDocument{%
+ \@ifpackageloaded{hyperref}{%
+ \let\AC@pageref=\@pagerefstar%
+ }{%
+ \let\AC@pageref=\pageref%
+ }%
+}
+\AtBeginDocument{%
\providecommand\texorpdfstring[2]{#1}%
\providecommand\pdfstringdefDisableCommands[1]{}%
\pdfstringdefDisableCommands{%
@@ -152,7 +167,7 @@
}
\newcommand*\acresetall{\the\AC@clearlist\AC@clearlist={}}
\def\AC@reset#1{%
- \global\expandafter\let\csname AC@#1\endcsname\relax
+ \global\expandafter\let\csname AC@\AC@prefix#1\endcsname\relax
}
\newcommand*\AC@used{@<>@<>@}
\newcommand{\AC@populated}{}
@@ -167,17 +182,32 @@
}%
}
\newcommand*{\acronymused}[1]{%
- \expandafter\ifx\csname acused@#1\endcsname\AC@used
- \relax
- \else
- \global\expandafter\let\csname acused@#1\endcsname\AC@used
- \global\let\AC@populated\AC@used
- \fi}
+ \expandafter\ifx\csname acused@#1@once\endcsname\AC@used%
+ \expandafter\ifx\csname acused@#1@twice\endcsname\AC@used%
+ \relax%
+ \else%
+ \global\expandafter\let\csname acused@#1@twice\endcsname\AC@used%
+ \global\let\AC@populated\AC@used%
+ \fi%
+ \else%
+ \global\expandafter\let\csname acused@#1@once\endcsname\AC@used%
+ \ifAC@printonlyreused%
+ \relax%
+ \else%
+ \global\let\AC@populated\AC@used%
+ \fi%
+ \fi%
+}
\newcommand{\@firstupper}[1]{%
\StrLeft{#1}{1}[\firstletter]%
\StrGobbleLeft{#1}{1}[\remainder]%
\MakeUppercase\firstletter\remainder%
}
+\ifAC@noacroprefix
+ \newcommand*\AC@prefix{}
+\else
+ \newcommand*\AC@prefix{acronyms@}
+\fi
\newcommand*\newacro[1]{%
\@ifnextchar[{\AC@newacro{#1}}{\AC@newacro{#1}[#1]}}
\newcommand\AC@newacro{}
@@ -239,33 +269,66 @@
\end{AC@deflist}%
\fi}%
\newcommand*\AC@acro[1]{%
- \@ifnextchar[{\AC@@acro{#1}}{\AC@@acro{#1}[#1]}}
-\newcommand\AC@@acro{}
-\def\AC@@acro#1[#2]#3{%
+ \@ifnextchar[{%
+ \csname AC@\AC@prefix{}@acro\endcsname{#1}%
+ }{%
+ \csname AC@\AC@prefix{}@acro\endcsname{#1}[#1]%
+ }%
+}
+\expandafter\newcommand\csname AC@\AC@prefix{}@acro\endcsname{}
+\expandafter\def\csname AC@\AC@prefix{}@acro\endcsname#1[#2]#3{%
\ifAC@nolist%
\else%
- \ifAC@printonlyused%
- \expandafter\ifx\csname acused@#1\endcsname\AC@used%
- \item[\protect\AC@hypertarget{#1}{\aclabelfont{#2}}] #3%
+ \ifnum%
+ \ifAC@printonlyused 1%
+ \else\ifAC@printonlyreused 1%
+ \else 0\fi\fi%
+ =1%
+ \ifnum%
+ \ifAC@printonlyused%
+ \expandafter\ifx\csname acused@#1@once\endcsname\AC@used 1 \else 0 \fi%
+ \else\ifAC@printonlyreused%
+ \expandafter\ifx\csname acused@#1@twice\endcsname\AC@used 1 \else 0 \fi%
+ \else 0 \fi\fi%
+ =1%
+ \item[\protect\AC@hypertarget{#1}{%
+ \AC@hyperref[acro:#1]{\aclabelfont{#2}\hfill}%
+ }]\AC@hyperref[acro:#1]{#3}%
\ifAC@withpage%
\expandafter\ifx\csname r@acro:#1\endcsname\relax%
\PackageInfo{acronym}{%
Acronym #1 used in text but not spelled out in
full in text}%
\else%
- \dotfill\pageref{acro:#1}%
+ \nobreak\leaders\hbox{$\m@th\mkern\@dotsep mu\hbox{.}\mkern\@dotsep mu$}\hfill%
+ \nobreak\hb@xt@\@pnumwidth{%
+ \hfil\normalfont\normalcolor\AC@pageref{acro:#1}%
+ }%
\fi%
\fi\\%
\fi%
- \else%
- \item[\protect\AC@hypertarget{#1}{\aclabelfont{#2}}] #3%
- \fi%
- \fi%
- \begingroup
+ \else%
+ \item[\protect\AC@hypertarget{#1}{\AC@hyperref[acro:#1]{\aclabelfont{#2}\hfill}}]\AC@hyperref[acro:#1]{#3}%
+ \fi%
+ \fi%
+ \begingroup
\def\acroextra##1{}%
\@bsphack
- \protected@write\@auxout{}%
- {\string\newacro{#1}[\string\AC@hyperlink{#1}{#2}]{#3}}%
+ \ifAC@printonlyreused%
+ \protected@write\@auxout{}{%
+ \string\newacro{#1}[%
+ \expandafter\ifx\csname acused@#1@twice\endcsname\AC@used%
+ \string\AC@hyperlink{#1}{#2}%
+ \else%
+ {#2}%
+ \fi%
+ ]{#3}%
+ }%
+ \else%
+ \protected@write\@auxout{}{%
+ \string\newacro{#1}[\string\AC@hyperlink{#1}{#2}]{#3}%
+ }%
+ \fi%
\@esphack
\endgroup
\ignorespaces}
@@ -448,11 +511,11 @@
\fi
}%
\newcommand*\AC@placelabel[1]{%
- \expandafter\ifx\csname AC@#1\endcsname\AC@used
+ \expandafter\ifx\csname AC@\AC@prefix#1\endcsname\AC@used
\else
{\AC@phantomsection\@verridelabel{acro:#1}}%
\ifAC@starred\else%
- \global\expandafter\let\csname AC@#1\endcsname\AC@used
+ \global\expandafter\let\csname AC@\AC@prefix#1\endcsname\AC@used
\fi%
\AC@addtoAC@clearlist{#1}%
\fi
@@ -497,7 +560,7 @@
\ifAC@dua
\ifAC@starred\acl*{#2}\else\acl{#2}\fi%
\else
- \expandafter\ifx\csname AC@#2\endcsname\AC@used%
+ \expandafter\ifx\csname AC@\AC@prefix#2\endcsname\AC@used%
\ifAC@starred\acs*{#2}\else\acs{#2}\fi%
\else
\ifAC@starred\acf*[#1]{#2}\else\acf[#1]{#2}\fi%
@@ -507,7 +570,7 @@
\ifAC@dua
\ifAC@starred\Acl*{#2}\else\Acl{#2}\fi%
\else
- \expandafter\ifx\csname AC@#2\endcsname\AC@used%
+ \expandafter\ifx\csname AC@\AC@prefix#2\endcsname\AC@used%
\ifAC@starred\acs*{#2}\else\acs{#2}\fi%
\else
\ifAC@starred\Acf*[#1]{#2}\else\Acf[#1]{#2}\fi%
@@ -522,7 +585,7 @@
\ifAC@dua
\csname fn@#1@IL\endcsname%
\else
- \expandafter\ifx\csname AC@#1\endcsname\AC@used%
+ \expandafter\ifx\csname AC@\AC@prefix#1\endcsname\AC@used%
\csname fn@#1@IS\endcsname%
\else
\csname fn@#1@IL\endcsname%
@@ -595,7 +658,7 @@
\ifAC@dua
\ifAC@starred\aclp*{#2}\else\aclp{#2}\fi%
\else
- \expandafter\ifx\csname AC@#2\endcsname\AC@used
+ \expandafter\ifx\csname AC@\AC@prefix#2\endcsname\AC@used
\ifAC@starred\acsp*{#2}\else\acsp{#2}\fi%
\else
\ifAC@starred\acfp*[#1]{#2}\else\acfp[#1]{#2}\fi%
@@ -605,7 +668,7 @@
\ifAC@dua
\ifAC@starred\Aclp*{#2}\else\Aclp{#2}\fi%
\else
- \expandafter\ifx\csname AC@#2\endcsname\AC@used
+ \expandafter\ifx\csname AC@\AC@prefix#2\endcsname\AC@used
\ifAC@starred\acsp*{#2}\else\acsp{#2}\fi%
\else
\ifAC@starred\Acfp*[#1]{#2}\else\Acfp[#1]{#2}\fi%
@@ -634,7 +697,7 @@
}%
\ifAC@starred\else\AC@logged{#2}\fi}
\newcommand{\acused}[1]{%
-\global\expandafter\let\csname AC@#1\endcsname\AC@used%
+\global\expandafter\let\csname AC@\AC@prefix#1\endcsname\AC@used%
\AC@addtoAC@clearlist{#1}}
\newcommand*{\acsu}{\AC@starredfalse\protect\acsua}%
\WithSuffix\newcommand\acsu*{\AC@starredtrue\protect\acsua}%