texlive[72324] Master/texmf-dist: acronym (19sep24)

commits+karl at tug.org commits+karl at tug.org
Thu Sep 19 22:14:49 CEST 2024


Revision: 72324
          https://tug.org/svn/texlive?view=revision&revision=72324
Author:   karl
Date:     2024-09-19 22:14:49 +0200 (Thu, 19 Sep 2024)
Log Message:
-----------
acronym (19sep24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/acronym/CHANGES
    trunk/Master/texmf-dist/doc/latex/acronym/acronym.pdf
    trunk/Master/texmf-dist/source/latex/acronym/acronym.dtx
    trunk/Master/texmf-dist/source/latex/acronym/acronym.ins
    trunk/Master/texmf-dist/tex/latex/acronym/acronym.sty

Modified: trunk/Master/texmf-dist/doc/latex/acronym/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acronym/CHANGES	2024-09-19 10:31:45 UTC (rev 72323)
+++ trunk/Master/texmf-dist/doc/latex/acronym/CHANGES	2024-09-19 20:14:49 UTC (rev 72324)
@@ -1,3 +1,15 @@
+Version 1.49 (Mar 2024)
+
+- Adds noforwardlinks option
+-- Chris Landis
+- Fixes targets for forward links to acs/acl/etc.-only use
+-- Chris Landis
+
+Version 1.48 (Oct 2021)
+
+- corrected capitalization of acronyms with a custom plural form
+-- Bruno Le Floch
+
 Version 1.47 (Apr 2020)
 
 - Fixed \Iac macro expansion bug

Modified: trunk/Master/texmf-dist/doc/latex/acronym/acronym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/acronym/acronym.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/acronym/acronym.dtx	2024-09-19 10:31:45 UTC (rev 72323)
+++ trunk/Master/texmf-dist/source/latex/acronym/acronym.dtx	2024-09-19 20:14:49 UTC (rev 72324)
@@ -2,7 +2,7 @@
 %
 % Doc-Source file to use with LaTeX2e
 %
-% Copyright 1994-2020 by Tobias Oetiker (tobi at oetiker.ch) and many Contributors.
+% Copyright 1994-2024 by Tobias Oetiker (tobi at oetiker.ch) and many Contributors.
 % All rights reserved.
 %
 % This work may be distributed and/or modified under the conditions of
@@ -35,7 +35,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{1526}
+% \CheckSum{1634}
 %
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -82,6 +82,8 @@
 % \DoNotIndex{\textbf, \textsf, \textsmaller, \textsuperscript, \the}
 % \DoNotIndex{\usepackage}
 %
+%  \changes{v1.49}{2024/03/30}{Chris Landis adds noforwardlinks option and fixes targets for forward links to acs/acl/etc.-only use}
+%  \changes{v1.48}{2021/10/09}{Bruno Le Floch corrected capitalization of acronyms with a custom plural form.}
 %  \changes{v1.47}{2020/04/10}{Tobi Oetiker and Marcus Meeßen \cmd{hskip} Fixed several bugs in macros that use capitalisation, a bug were the output depends on the position of the list of acronyms, and a bug were nested hyperlinks could cause errors.}
 %  \changes{v1.46}{2020/03/13}{Tobi Oetiker \cmd{hskip} Fixed miss merge}
 %  \changes{v1.45}{2020/03/13}{Marcus Meeßen \cmd{hskip} Fixed hyperref and "missing aux" regressions.}
@@ -265,7 +267,7 @@
 %
 %    \DescribeMacro{\acsp}
 %    Works in the same way as \cmd{\acs}, but makes the short
-%    form into a plural. 
+%    form into a plural.
 %
 %    \DescribeMacro{\aclp}
 %    Works in the same way as \cmd{\acl}, but makes the long form
@@ -284,6 +286,14 @@
 %    Works in the same way as \cmd{\acfi}, but starts the long form with an
 %    upper case letter.
 %
+%    \DescribeMacro{\acfip}
+%    Works in the same way as \cmd{\acfi}, but makes the short and long
+%    forms into plurals.
+%
+%    \DescribeMacro{\Acfip}
+%    Works in the same way as \cmd{\acfip}, but starts the long form with
+%    an upper case letter.
+%
 %    \DescribeMacro{\acused}
 %    Marks an acronym as used, as if it had been called with \cmd{\ac},
 %    but without printing anything. This means that in the future only the
@@ -302,11 +312,11 @@
 %    Example: |\acl{lox}/\acl{lh2} (\acsu{lox}/\acsu{lh2})|
 %
 %    \DescribeMacro{\iac}
-%    Works in the same way as the \cmd{\ac} command but prefixes it with 
+%    Works in the same way as the \cmd{\ac} command but prefixes it with
 %    an appropriate indefinite article.
 %
 %    \DescribeMacro{\Iac}
-%    Works in the same way as the \cmd{\ac} command but prefixes it with 
+%    Works in the same way as the \cmd{\ac} command but prefixes it with
 %    an appropriate upper case indefinite article.
 %
 %    \DescribeMacro{\...*}
@@ -316,8 +326,9 @@
 %    not show up.\\
 %    \cmd{\ac*}, \cmd{\Ac*}, \cmd{\acs*}, \cmd{\acl*}, \cmd{\Acl*}, \cmd{\acf*},
 %    \cmd{\Acf*}, \cmd{\acp*}, \cmd{\Acp*}, \cmd{\acsp*}, \cmd{\aclp*}, \cmd{\Aclp*},
-%    \cmd{\acfp*}, \cmd{\Acfp*}, \cmd{\acfi*}, \cmd{\Acfi*}, \cmd{\acsu*},
-%    \cmd{\aclu*}, \cmd{\Aclu*}, \cmd{\iac*} and \cmd{\Iac*}.
+%    \cmd{\acfp*}, \cmd{\Acfp*}, \cmd{\acfi*}, \cmd{\Acfi*}, \cmd{\acfip*},
+%    \cmd{\Acfip*}, \cmd{\acsu*}, \cmd{\aclu*}, \cmd{\Aclu*}, \cmd{\iac*},
+%    and \cmd{\Iac*}.
 %
 % \subsection{Customization}
 %
@@ -451,7 +462,7 @@
 %    that the latter makes the acronym definition stored in the |.aux|
 %    file. Therefore, the acronym becomes available from start-up in
 %    the next run.
-%    
+%
 %    Note that all the acronym definitions made by \cmd{\acro} in the
 %    |acronym| environment are also similarly added to the |.aux|
 %    file.
@@ -459,8 +470,8 @@
 %    \subsubsection{Non standard indefinite articles}
 %
 %    Sometimes the indefinite article of an acronym differs between its
-%    short form and its long form, for example ``a Federal Bureau of 
-%    Investigation (FBI) agent'' and ``an FBI agent''. To deal with this, 
+%    short form and its long form, for example ``a Federal Bureau of
+%    Investigation (FBI) agent'' and ``an FBI agent''. To deal with this,
 %    the package provides the following three commands
 %    \DescribeMacro{\newacroindefinite}
 %    \DescribeMacro{\acrodefindefinite}
@@ -479,7 +490,7 @@
 %    the acronym definition in the |.aux| file, so that the acronym
 %    exception is available at the next run from start-up.
 %
-%    When using \cmd{\iac} and \cmd{\Iac} without first defining an 
+%    When using \cmd{\iac} and \cmd{\Iac} without first defining an
 %    article, the default article is ``a''.
 %
 %    \subsubsection{Non standard and foreign plural forms}
@@ -538,7 +549,7 @@
 %    exception is available at the next run from start-up. When the
 %    optional short form is not provided, the acronym name plus an `s'
 %    is used.
-% 
+%
 %    Plural exceptions are never reported in tables of acronyms.
 %
 %
@@ -682,8 +693,8 @@
 %    First we test that we got the right format and name the package.
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{acronym}[2020/04/17
-                          v1.47
+\ProvidesPackage{acronym}[2024/03/30
+                          v1.49
                           Support for acronyms (Tobias Oetiker)]
 \RequirePackage{suffix,xstring}
 %    \end{macrocode}
@@ -706,7 +717,7 @@
 %    \end{macro}
 %
 %    \begin{macro}{\ifAC at nohyperlinks}
-%    If hyperref is loaded, all acronyms will link to their glossary entry.
+%    If hyperref is loaded, all acronyms will link to their glossary entry and the glossary entries to the first in-text use.
 %    With the option |nohyperlinks| these links can be suppressed.
 %    \begin{macrocode}
 \newif\ifAC at nohyperlinks
@@ -717,6 +728,18 @@
 %    \end{macrocode}
 %    \end{macro}
 %
+%    \begin{macro}{\ifAC at noforwardlinks}
+%    If hyperref is loaded and the |nohyperlinks| option is not selected,
+%    the option |noforwardlinks| suppresses the links from the glossary entries to the in-text use.
+%    \begin{macrocode}
+\newif\ifAC at noforwardlinks
+\AC at noforwardlinksfalse
+%    \end{macrocode}
+%    \begin{macrocode}
+\DeclareOption{noforwardlinks}{\AC at noforwardlinkstrue}
+%    \end{macrocode}
+%    \end{macro}
+%
 %    \begin{macro}{\ifAC at noacroprefix}
 %    With the |noacroprefix| option the acronym commands are not prefixed. This
 %    reproduces the old behavior of version <1.43, but can cause collisions
@@ -852,7 +875,7 @@
 %    is being set to the maximum. Otherwise, the default penalty is one level below
 %    the maximum, meaning that most of the times, by default, the line will not get
 %    broken.
-%    
+%
 %    \begin{macrocode}
 \ifAC at nolinebreak
   \def\AC at linebreakpenalty{4}
@@ -889,7 +912,7 @@
    \AtBeginDocument{%
       \@ifpackageloaded{hyperref}
          {\let\AC at hyperlink=\hyperlink
-          \let\AC at hyperref=\hyperref
+          \ifAC at noforwardlinks\else\let\AC at hyperref=\hyperref\fi
           \newcommand*\AC at raisedhypertarget[2]{%
              \Hy at raisedlink{\hypertarget{#1}{}}#2}%
           \let\AC at hypertarget=\AC at raisedhypertarget
@@ -959,6 +982,8 @@
       \def\Acp#1{\AChy at call{#1}\@Acp}%
       \def\acfi#1{\AChy at call{#1}\AChy at acf}%
       \def\Acfi#1{\AChy at call{#1}\AChy at Acf}%
+      \def\acfip#1{\AChy at call{#1}\AChy at acfp}%
+      \def\Acfip#1{\AChy at call{#1}\AChy at Acfp}%
       \let\acsu\acs
       \let\aclu\acl
       \let\Aclu\Acl
@@ -1078,7 +1103,7 @@
 %    \end{macro}
 %    \end{macro}
 %
-%    \begin{macro}{\@firstupper}
+%    \begin{macro}{\@firstupper,\@firstupper at maybe}
 %    Internal commands for making a first letter upper case.
 %    \begin{macrocode}
 \newcommand{\@firstupper}[1]{%
@@ -1085,6 +1110,13 @@
   \StrSplit{#1}{1}{\head}{\tail}%
   \MakeUppercase\head\tail%
 }
+\newcommand{\@firstupper at maybe}{%
+  \ifAC at upper
+    \expandafter\@firstupper
+  \else
+    \expandafter\@firstofone
+  \fi
+}
 %    \end{macrocode}
 %    \end{macro}
 %
@@ -1153,7 +1185,7 @@
 %
 %
 %    \begin{environment}{AC at deflist}
-%    In standard mode, the acronym - list is formatted with a description
+%    In standard mode, the acronym list is formatted with a description
 %    environment. If an optional argument is passed to the acronym
 %    environment, the list is formatted as a AC at deflist, which needs the
 %    longest appearing acronym as parameter. If the option 'nolist' is selected
@@ -1198,7 +1230,7 @@
 %
 %    \begin{macro}{\acro}
 %    Acronyms can be defined with the user command \cmd{\acro}
-%    in side the  |acronym| environment.
+%    inside the |acronym| environment.
 %
 %    \begin{macrocode}
 \newenvironment{acronym}[1][1]{%
@@ -1390,7 +1422,7 @@
   \@bsphack
   \protected at write\@auxout{}{\string\newacroplural{#1}{#2}}%
   \@esphack
-}  
+}
 %    \end{macrocode}
 %    \end{macro}
 %    \end{macro}
@@ -1419,12 +1451,12 @@
     {\string\newacroplural{#1}[\string\AC at hyperlink{#1}{\AC at acs{#1}}]{#2}}%
   \@esphack
 }
-%    \end{macrocode}   
+%    \end{macrocode}
 %    \end{macro}
 %    \end{macro}
 %    \end{macro}
-% 
 %
+%
 %    \begin{macro}{\AC at aclp}
 %    \begin{macro}{\AC at Aclp}
 %    \begin{macro}{\AC at acsp}
@@ -1433,7 +1465,7 @@
 %   \begin{macrocode}
 \newcommand*\AC at aclp[1]{%
   \ifcsname fn@#1 at PL\endcsname
-  \csname fn@#1 at PL\endcsname
+    \@firstupper at maybe{\csname fn@#1 at PL\endcsname}%
   \else
   \AC at acl{#1}s%
   \fi
@@ -1492,11 +1524,7 @@
     \PackageWarning{acronym}{Acronym `#3' is not defined}%
     \textbf{#3!}%
   \else
-    \ifAC at upper
-      \@firstupper{\expandafter#2#1}%
-    \else
-      \expandafter#2#1%
-    \fi
+    \@firstupper at maybe{\expandafter#2#1}%
   \fi
 }
 %    \end{macrocode}
@@ -1542,7 +1570,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand*{\@acs}[1]{%
-   \acsfont{\AC at acs{#1}}%
+   \acsfont{\AC at placelabel@part{#1}\AC at acs{#1}}%
 %% having a footnote on acs sort of defeats the purpose
 %%   \ifAC at footnote
 %%      \footnote{\AC at acl{#1}{}}%
@@ -1569,12 +1597,12 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand*{\@acl}[1]{%
-   \AC at acl{#1}%
+   \AC at placelabel@part{#1}\AC at acl{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand*{\@Acl}[1]{%
-   \AC at Acl{#1}%
+   \AC at placelabel@part{#1}\AC at Acl{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 %    \end{macrocode}
 %    \end{macro}
@@ -1657,6 +1685,12 @@
     \let\AC at undonewlabel\@gobble
   \fi
 }%
+\newcommand*\AC at placelabel@part[1]{%
+  \expandafter\ifx\csname AC@\AC at prefix#1\endcsname\AC at used
+  \else
+    {\AC at phantomsection\@verridelabel{acro:#1}}%
+  \fi
+}%
 \newcommand*\AC at placelabel[1]{%
   \expandafter\ifx\csname AC@\AC at prefix#1\endcsname\AC at used
   \else
@@ -1802,12 +1836,12 @@
 \newcommand*{\@iaci}[1]{%
   \ifcsname fn@#1 at IL\endcsname
     \ifAC at dua
-      \csname fn@#1 at IL\endcsname%
+      \@firstupper at maybe{\csname fn@#1 at IL\endcsname}%
     \else
       \expandafter\ifx\csname AC@\AC at prefix#1\endcsname\AC at used%
         \csname fn@#1 at IS\endcsname%
       \else
-        \csname fn@#1 at IL\endcsname%
+        \@firstupper at maybe{\csname fn@#1 at IL\endcsname}%
       \fi
     \fi
   \else
@@ -1846,7 +1880,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand*{\@acsp}[1]{%
-   \acsfont{\AC at acsp{#1}}%
+   \acsfont{\AC at placelabel@part{#1}\AC at acsp{#1}}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 %    \end{macrocode}
 %    \end{macro}
@@ -1869,12 +1903,12 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand*{\@aclp}[1]{%
-   \AC at aclp{#1}%
+   \AC at placelabel@part{#1}\AC at aclp{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 %    \end{macrocode}
 %    \begin{macrocode}
 \newcommand*{\@Aclp}[1]{%
-   \AC at Aclp{#1}%
+   \AC at placelabel@part{#1}\AC at Aclp{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 %    \end{macrocode}
 %    \end{macro}
@@ -2038,6 +2072,53 @@
 %    \end{macro}
 %    \end{macro}
 %
+%
+%    \begin{macro}{\acfip}
+%    \begin{macro}{\acfipa}
+%    \begin{macro}{\Acfip}
+%    \begin{macro}{\Acfipa}
+%    The plural of the full name is printed in italics and the plural of
+%    the acronym is printed in upshape.
+%    The optional variable determines the penalty for a line break.
+%    \begin{macrocode}
+\newcommand*{\acfip}{\AC at starredfalse\protect\acfipa}%
+\WithSuffix\newcommand\acfip*{\AC at starredtrue\protect\acfipa}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\newcommand*{\Acfip}{\AC at starredfalse\protect\Acfipa}%
+\WithSuffix\newcommand\Acfip*{\AC at starredtrue\protect\Acfipa}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\newcommand{\acfipa}[2][\AC at linebreakpenalty]{%
+  \texorpdfstring{\protect\@acfip[#1]{#2}}{{\AC at aclp{#2}} (#2)}}
+%    \end{macrocode}
+%    \begin{macrocode}
+\newcommand{\Acfipa}[2][\AC at linebreakpenalty]{%
+   \texorpdfstring{\protect\@Acfip[#1]{#2}}{{\AC at Aclp{#2}} (#2)}}
+%    \end{macrocode}
+%    \begin{macrocode}
+\newcommand*{\@acfip}[2][\AC at linebreakpenalty]{%
+     \acffont{%
+         \AC at placelabel{#2}{\itshape\AC at aclp{#2}}%
+         \nolinebreak[#1] %
+         \acfsfont{(\acsfont{\AC at acsp{#2}})}%
+     }%
+     \ifAC at starred\else\AC at logged{#2}\fi}
+%    \end{macrocode}
+%    \begin{macrocode}
+\newcommand*{\@Acfip}[2][\AC at linebreakpenalty]{%
+     \acffont{%
+         \AC at placelabel{#2}{\itshape\AC at Aclp{#2}}%
+         \nolinebreak[#1] %
+         \acfsfont{(\acsfont{\AC at acsp{#2}})}%
+     }%
+     \ifAC at starred\else\AC at logged{#2}\fi}
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%    \end{macro}
+%    \end{macro}
+%
 %    \begin{macro}{\acused}
 %    Marks the acronym as used. Don't confuse this with
 %    \cmd{\acronymused}!

Modified: trunk/Master/texmf-dist/source/latex/acronym/acronym.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/acronym/acronym.ins	2024-09-19 10:31:45 UTC (rev 72323)
+++ trunk/Master/texmf-dist/source/latex/acronym/acronym.ins	2024-09-19 20:14:49 UTC (rev 72324)
@@ -4,7 +4,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright 1995--2020  by Tobias Oetiker (tobi at oetiker.ch)
+%% Copyright 1995--2021  by Tobias Oetiker (tobi at oetiker.ch)
 %%                       and individual authors listed elsewhere
 %%                       in this file.
 %% All rights reserved.
@@ -31,7 +31,7 @@
 \keepsilent
 
 \preamble
- Copyright 1995--2020  by Tobias Oetiker (tobi at oetiker.ch)
+ Copyright 1995--2021  by Tobias Oetiker (tobi at oetiker.ch)
                        and individual authors listed elsewhere.
  All rights reserved.
 

Modified: trunk/Master/texmf-dist/tex/latex/acronym/acronym.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/acronym/acronym.sty	2024-09-19 10:31:45 UTC (rev 72323)
+++ trunk/Master/texmf-dist/tex/latex/acronym/acronym.sty	2024-09-19 20:14:49 UTC (rev 72324)
@@ -5,7 +5,7 @@
 %% The original source files were:
 %%
 %% acronym.dtx  (with options: `acronym')
-%%  Copyright 1995--2020  by Tobias Oetiker (tobi at oetiker.ch)
+%%  Copyright 1995--2021  by Tobias Oetiker (tobi at oetiker.ch)
 %%                        and individual authors listed elsewhere.
 %%  All rights reserved.
 %% 
@@ -40,8 +40,8 @@
 %%
 %%
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{acronym}[2020/04/17
-                          v1.47
+\ProvidesPackage{acronym}[2024/03/30
+                          v1.49
                           Support for acronyms (Tobias Oetiker)]
 \RequirePackage{suffix,xstring}
 \newif\ifAC at footnote
@@ -50,6 +50,9 @@
 \newif\ifAC at nohyperlinks
 \AC at nohyperlinksfalse
 \DeclareOption{nohyperlinks}{\AC at nohyperlinkstrue}
+\newif\ifAC at noforwardlinks
+\AC at noforwardlinksfalse
+\DeclareOption{noforwardlinks}{\AC at noforwardlinkstrue}
 \newif\ifAC at noacroprefix
 \AC at noacroprefixfalse
 \DeclareOption{noacroprefix}{\AC at noacroprefixtrue}
@@ -97,7 +100,7 @@
    \AtBeginDocument{%
       \@ifpackageloaded{hyperref}
          {\let\AC at hyperlink=\hyperlink
-          \let\AC at hyperref=\hyperref
+          \ifAC at noforwardlinks\else\let\AC at hyperref=\hyperref\fi
           \newcommand*\AC at raisedhypertarget[2]{%
              \Hy at raisedlink{\hypertarget{#1}{}}#2}%
           \let\AC at hypertarget=\AC at raisedhypertarget
@@ -152,6 +155,8 @@
       \def\Acp#1{\AChy at call{#1}\@Acp}%
       \def\acfi#1{\AChy at call{#1}\AChy at acf}%
       \def\Acfi#1{\AChy at call{#1}\AChy at Acf}%
+      \def\acfip#1{\AChy at call{#1}\AChy at acfp}%
+      \def\Acfip#1{\AChy at call{#1}\AChy at Acfp}%
       \let\acsu\acs
       \let\aclu\acl
       \let\Aclu\Acl
@@ -201,6 +206,13 @@
   \StrSplit{#1}{1}{\head}{\tail}%
   \MakeUppercase\head\tail%
 }
+\newcommand{\@firstupper at maybe}{%
+  \ifAC at upper
+    \expandafter\@firstupper
+  \else
+    \expandafter\@firstofone
+  \fi
+}
 \ifAC at noacroprefix
   \newcommand*\AC at prefix{}
 \else
@@ -391,7 +403,7 @@
 }
 \newcommand*\AC at aclp[1]{%
   \ifcsname fn@#1 at PL\endcsname
-  \csname fn@#1 at PL\endcsname
+    \@firstupper at maybe{\csname fn@#1 at PL\endcsname}%
   \else
   \AC at acl{#1}s%
   \fi
@@ -415,11 +427,7 @@
     \PackageWarning{acronym}{Acronym `#3' is not defined}%
     \textbf{#3!}%
   \else
-    \ifAC at upper
-      \@firstupper{\expandafter#2#1}%
-    \else
-      \expandafter#2#1%
-    \fi
+    \@firstupper at maybe{\expandafter#2#1}%
   \fi
 }
 \newcommand*\AC at acs[1]{%
@@ -436,7 +444,7 @@
 \newcommand*{\acsa}[1]{%
    \texorpdfstring{\protect\@acs{#1}}{#1}}
 \newcommand*{\@acs}[1]{%
-   \acsfont{\AC at acs{#1}}%
+   \acsfont{\AC at placelabel@part{#1}\AC at acs{#1}}%
 %% having a footnote on acs sort of defeats the purpose
 %%   \ifAC at footnote
 %%      \footnote{\AC at acl{#1}{}}%
@@ -447,10 +455,10 @@
 \newcommand*{\Acl}{\AC at starredfalse\protect\@Acl}%
 \WithSuffix\newcommand\Acl*{\AC at starredtrue\protect\@Acl}%
 \newcommand*{\@acl}[1]{%
-   \AC at acl{#1}%
+   \AC at placelabel@part{#1}\AC at acl{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 \newcommand*{\@Acl}[1]{%
-   \AC at Acl{#1}%
+   \AC at placelabel@part{#1}\AC at Acl{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 \newcommand*\@verridelabel[1]{%
   \@bsphack
@@ -518,6 +526,12 @@
     \let\AC at undonewlabel\@gobble
   \fi
 }%
+\newcommand*\AC at placelabel@part[1]{%
+  \expandafter\ifx\csname AC@\AC at prefix#1\endcsname\AC at used
+  \else
+    {\AC at phantomsection\@verridelabel{acro:#1}}%
+  \fi
+}%
 \newcommand*\AC at placelabel[1]{%
   \expandafter\ifx\csname AC@\AC at prefix#1\endcsname\AC at used
   \else
@@ -591,12 +605,12 @@
 \newcommand*{\@iaci}[1]{%
   \ifcsname fn@#1 at IL\endcsname
     \ifAC at dua
-      \csname fn@#1 at IL\endcsname%
+      \@firstupper at maybe{\csname fn@#1 at IL\endcsname}%
     \else
       \expandafter\ifx\csname AC@\AC at prefix#1\endcsname\AC at used%
         \csname fn@#1 at IS\endcsname%
       \else
-        \csname fn@#1 at IL\endcsname%
+        \@firstupper at maybe{\csname fn@#1 at IL\endcsname}%
       \fi
     \fi
   \else
@@ -615,7 +629,7 @@
 \newcommand*{\acspa}[1]{%
    \texorpdfstring{\protect\@acsp{#1}}{\AC at acsp{#1}}}
 \newcommand*{\@acsp}[1]{%
-   \acsfont{\AC at acsp{#1}}%
+   \acsfont{\AC at placelabel@part{#1}\AC at acsp{#1}}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 \newcommand*{\aclp}{\AC at starredfalse\protect\@aclp}%
 \WithSuffix\newcommand\aclp*{\AC at starredtrue\protect\@aclp}%
@@ -622,10 +636,10 @@
 \newcommand*{\Aclp}{\AC at starredfalse\protect\@Aclp}%
 \WithSuffix\newcommand\Aclp*{\AC at starredtrue\protect\@Aclp}%
 \newcommand*{\@aclp}[1]{%
-   \AC at aclp{#1}%
+   \AC at placelabel@part{#1}\AC at aclp{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 \newcommand*{\@Aclp}[1]{%
-   \AC at Aclp{#1}%
+   \AC at placelabel@part{#1}\AC at Aclp{#1}%
    \ifAC at starred\else\AC at logged{#1}\fi}
 \newcommand*{\acfp}{\AC at starredfalse\protect\acfpa}%
 \WithSuffix\newcommand\acfp*{\AC at starredtrue\protect\acfpa}%
@@ -705,6 +719,28 @@
          \acfsfont{(\acsfont{\AC at acs{#2}})}%
      }%
      \ifAC at starred\else\AC at logged{#2}\fi}
+\newcommand*{\acfip}{\AC at starredfalse\protect\acfipa}%
+\WithSuffix\newcommand\acfip*{\AC at starredtrue\protect\acfipa}%
+\newcommand*{\Acfip}{\AC at starredfalse\protect\Acfipa}%
+\WithSuffix\newcommand\Acfip*{\AC at starredtrue\protect\Acfipa}%
+\newcommand{\acfipa}[2][\AC at linebreakpenalty]{%
+  \texorpdfstring{\protect\@acfip[#1]{#2}}{{\AC at aclp{#2}} (#2)}}
+\newcommand{\Acfipa}[2][\AC at linebreakpenalty]{%
+   \texorpdfstring{\protect\@Acfip[#1]{#2}}{{\AC at Aclp{#2}} (#2)}}
+\newcommand*{\@acfip}[2][\AC at linebreakpenalty]{%
+     \acffont{%
+         \AC at placelabel{#2}{\itshape\AC at aclp{#2}}%
+         \nolinebreak[#1] %
+         \acfsfont{(\acsfont{\AC at acsp{#2}})}%
+     }%
+     \ifAC at starred\else\AC at logged{#2}\fi}
+\newcommand*{\@Acfip}[2][\AC at linebreakpenalty]{%
+     \acffont{%
+         \AC at placelabel{#2}{\itshape\AC at Aclp{#2}}%
+         \nolinebreak[#1] %
+         \acfsfont{(\acsfont{\AC at acsp{#2}})}%
+     }%
+     \ifAC at starred\else\AC at logged{#2}\fi}
 \newcommand{\acused}[1]{%
 \global\expandafter\let\csname AC@\AC at prefix#1\endcsname\AC at used%
 \AC at addtoAC@clearlist{#1}}



More information about the tex-live-commits mailing list.