texlive[57226] Master/texmf-dist: acro (25dec20)

commits+karl at tug.org commits+karl at tug.org
Fri Dec 25 23:04:08 CET 2020


Revision: 57226
          http://tug.org/svn/texlive?view=revision&revision=57226
Author:   karl
Date:     2020-12-25 23:04:08 +0100 (Fri, 25 Dec 2020)
Log Message:
-----------
acro (25dec20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/acro/README
    trunk/Master/texmf-dist/doc/latex/acro/acro-manual.pdf
    trunk/Master/texmf-dist/doc/latex/acro/acro-manual.tex
    trunk/Master/texmf-dist/tex/latex/acro/acro.sty

Modified: trunk/Master/texmf-dist/doc/latex/acro/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acro/README	2020-12-25 22:03:53 UTC (rev 57225)
+++ trunk/Master/texmf-dist/doc/latex/acro/README	2020-12-25 22:04:08 UTC (rev 57226)
@@ -1,5 +1,5 @@
 --------------------------------------------------------------------------
-the ACRO package v3.3 2020/11/21
+the ACRO package v3.4 2020/12/25
 
   Typeset Acronyms
 

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

Modified: trunk/Master/texmf-dist/doc/latex/acro/acro-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acro/acro-manual.tex	2020-12-25 22:03:53 UTC (rev 57225)
+++ trunk/Master/texmf-dist/doc/latex/acro/acro-manual.tex	2020-12-25 22:04:08 UTC (rev 57226)
@@ -328,11 +328,11 @@
 All of the above is probably clear from an example (using real options):
 \begin{sourcecode}
   \acsetup{
-    make-links = true , % boolean
-    index ,             % boolean
-    format = \emph ,    % standard
-    list / local ,      % boolean option of the list module
-    list/display = all  % choice option of the list module
+    make-links = true ,   % boolean
+    index ,               % boolean
+    format = \emph ,      % standard
+    list / local ,        % boolean option of the list module
+    list / display = all  % choice option of the list module
   }
 \end{sourcecode}
 
@@ -511,6 +511,10 @@
   \propchoice{first-style}{long-short,short-long,short,long,footnote}\Default
     The style of the first appearance of the acronym, see also
     section~\vref{sec:first-or-full}.
+  %% first-style
+  \propchoice{subsequent-style}{long-short,short-long,short,long,footnote}\Default
+    \sinceversion{3.4}The style of the appearance of the acronym after the
+    first time.
   %% single-style
   \propchoice{single-style}{long-short,short-long,short,long,footnote}\Default
     The style of a single appearance of the acronym, see also
@@ -701,6 +705,12 @@
     appearance for all acronyms.  Available options in reality are the names
     of all defined templates of the type \code{acronym}. All pre-defined
     templates can be found in section~\vref{sec:pre-defin-templ}.
+  \keychoice{subsequent-style}{long-short,short-long,short,long,footnote}\Default{short}
+    \sinceversion{3.4}The style of the appearance of the acronym after the
+    first time. This options sets the appearance for all acronyms.  Available
+    options in reality are the names of all defined templates of the type
+    \code{acronym}. All pre-defined templates can be found in
+    section~\vref{sec:pre-defin-templ}.
 \end{options}
 It might be desirable to set the first appearance of an acronym
 individually. This is possible by setting the corresponding property:
@@ -816,8 +826,11 @@
     Set a list of tags to exclude from the list.  Only acronyms not
     belonging to one of these tags will be included.
   \keyval{include}{csv list of tags}\Module{list}\Default
-    Set a list of tags to include in  the list.  Only acronyms belonging to
+    Set a list of tags to include in the list.  Only acronyms belonging to
     one of these tags will be included.
+  \keybool{add}\Module{list}\Default
+    \sinceversion{3.4}Set a list of tags to include in the list.  These
+    acronyms will be included in any case.
   \keychoice{heading}{none,section,section*,chapter,chapter*}\Module{list}
     Choose the heading template for the list of acronyms.
 
@@ -1472,7 +1485,7 @@
   is used by default for the first appearance.} uses \cs{acspace} at the
 appropriate place and the manual setup does
 \begin{sourcecode}
-  \acsetup{activate-trailing-tokens = dash}
+  \acsetup{trailing/activate = dash}
 \end{sourcecode}
 \cs{acspace} looks ahead for a trailing dash and adds a space it it doesn't
 find it.
@@ -1922,7 +1935,7 @@
 \subsection{Commands to be used in template definitions}
 
 \acro\ provides and uses a large number of commands that are meant to be used
-in temmplate definitions and that often are useless or will raise errors if
+in template definitions and that often are useless or will raise errors if
 used outside.  Depending on their purpose the commands can be used in
 different types of templates or only in certain types of templates.
 
@@ -2011,6 +2024,9 @@
   \command{acronopagerange}
     This disables page ranges.  Used in the \template{toc} and \template{lof}
     templates.
+  \command{acroneedpages}
+    \sinceversion{3.4}This enables the page number displayed.  Used in the
+    \template{toc} and \template{lof} templates. 
   \command{acropagefill}
     If \cs{acroifpages\TF} would be \meta{false} this would do
     nothing. Otherwise it prints whatever is set by
@@ -2100,7 +2116,7 @@
   }
 \end{sourcecode}
 
-The following shows how to define templates using tome kind of table
+The following shows how to define templates using some kind of table
 environment.  Special care is necessary due to the way \LaTeX\ tables work:
 first the table body is built and only then the table itself is printed:
 \begin{sourcecode}

Modified: trunk/Master/texmf-dist/tex/latex/acro/acro.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/acro/acro.sty	2020-12-25 22:03:53 UTC (rev 57225)
+++ trunk/Master/texmf-dist/tex/latex/acro/acro.sty	2020-12-25 22:04:08 UTC (rev 57226)
@@ -22,14 +22,14 @@
 % 
 % The Current Maintainer of this work is Clemens Niederberger.
 % --------------------------------------------------------------------------
-\RequirePackage{expl3,xparse,l3keys2e}
+\RequirePackage{l3keys2e}
 \ExplSyntaxOn
 
 % setup package:
 \tl_const:Nn \c_acro_package_name_tl {acro}
-\tl_const:Nn \c_acro_date_tl {2020/11/21}
+\tl_const:Nn \c_acro_date_tl {2020/12/25}
 \tl_const:Nn \c_acro_version_major_number_tl {3}
-\tl_const:Nn \c_acro_version_minor_number_tl {3}
+\tl_const:Nn \c_acro_version_minor_number_tl {4}
 \tl_const:Nn \c_acro_version_subrelease_tl   {}
 \tl_const:Nx \c_acro_version_number_tl
   {
@@ -54,8 +54,8 @@
 \tl_new:N \g_acro_end_document_hook_tl
 \tl_new:N \g_acro_begin_document_hook_tl
 
-\AtBeginDocument { \tl_use:N \g_acro_begin_document_hook_tl }
-\AtEndDocument   { \tl_use:N \g_acro_end_document_hook_tl }
+\hook_gput_code:nnn {begindocument} {acro} { \tl_use:N \g_acro_begin_document_hook_tl }
+\hook_gput_code:nnn {enddocument}   {acro} { \tl_use:N \g_acro_end_document_hook_tl }
 
 \cs_new_protected:Npn \acro_at_begin_document:n #1
   { \tl_gput_right:Nn \g_acro_begin_document_hook_tl {#1} }
@@ -923,6 +923,9 @@
 \NewDocumentCommand \acronopagerange {}
   { \acro_no_page_ranges:e { \AcroTemplateName } }
 
+\NewDocumentCommand \acroneedpages {}
+  { \acro_need_pages: }
+
 \NewDocumentCommand \acropagefill {}
   { \acro_if_pages:eT  { \AcronymID } { \tl_use:N \l__acro_pages_fill_tl } }
 
@@ -1725,6 +1728,7 @@
 \DeclareAcroProperty {post}
 \DeclareAcroProperty {long-post}
 \DeclareAcroProperty {first-style}
+\DeclareAcroProperty {subsequent-style}
 \DeclareAcroProperty {single-style}
 
 % formatting:
@@ -1775,8 +1779,10 @@
 
 \keys_define:nn {acro}
   {
-    first-style .tl_set:N  = \l__acro_first_style_tl ,
-    first-style .initial:n = long-short
+    first-style      .tl_set:N  = \l__acro_first_style_tl ,
+    first-style      .initial:n = long-short ,
+    subsequent-style .tl_set:N  = \l__acro_subsequent_tl ,
+    subsequent-style .initial:n = short
   }
 
 \cs_new_protected:Npn \acro_declare_acronym:nn #1#2
@@ -1852,6 +1858,7 @@
       {
         \acro_property_set:nnn {#1} {used} {true}
         \acro_step:n {#1}
+        \acro_record_barrier:n {#1}
       }
   }
 
@@ -2146,6 +2153,15 @@
       }
   }
 
+\cs_new_protected:Npn \acro_disable_endings:
+  {
+    \tl_map_tokens:Nn \l__acro_endings_tl
+      { \__acro_disable_ending:n }
+  }
+
+\cs_new_protected:Npn \__acro_disable_ending:n #1
+  { \bool_set_false:c {l__acro_ending_#1_bool} }
+
 % #1: id
 % #2: short|long
 \cs_new_protected:Npn \__acro_set_endings:nn #1#2
@@ -2229,7 +2245,13 @@
   {
     \int_compare:nNnTF
       {
-        \bool_if:NTF \l__acro_usage_local_bool
+        \bool_lazy_or:nnTF
+          { \l__acro_usage_local_bool }
+          {
+            \bool_lazy_and_p:nn
+              { \l__acro_list_bool }
+              { \l__acro_list_local_bool }
+          }
           { \acro_barrier_usage:n {#1} }
           { \acro_property_get:nn {#1} {usage} }
       }
@@ -2578,9 +2600,24 @@
       }
   }
 
+\int_new:N \l__acro_nest_int
+\bool_new:N \g__acro_nested_bool
+
+\prg_new_conditional:Npnn \acro_if_nested: {p,T,F,TF}
+  {
+    \bool_lazy_and:nnTF
+      { \int_compare_p:n { \l__acro_nest_int = 1 } }
+      { \g__acro_nested_bool }
+      { \prg_return_true: }
+      { \prg_return_false: }
+  }
+
 \cs_new_protected:Npn \acro_begin:
   {
     \group_begin:
+      \int_compare:nNnT \l__acro_nest_int > 0
+        { \bool_gset_true:N \g__acro_nested_bool }
+      \int_incr:N \l__acro_nest_int
     \__acro_check_after_end:w
   }
 
@@ -2599,6 +2636,7 @@
 
 \cs_new_protected:Npn \acro_end:
   {
+    \acro_if_nested:T { \bool_gset_false:N \g__acro_nested_bool }
     \bool_if:NT \g__acro_gobble_trail_bool
       {
         \bool_gset_false:N \g__acro_gobble_trail_bool
@@ -2990,7 +3028,9 @@
               \acro_locale:nnn {#1} {#2}
                 {
                   \__acro_write:nn {#1} {#2}
-                  \bool_if:NT \l__acro_include_endings_bool
+                  \bool_lazy_and:nnT
+                    { !\acro_if_nested_p: }
+                    { \l__acro_include_endings_bool }
                     {
                       \acro_if_ending_form:nnF {#1} {#2}
                         { \__acro_ending:nn {#1} {#2} }
@@ -2998,9 +3038,11 @@
                 }
             }
         \group_end:
-        \acro_if_ending_form:nnF {#1} {#2}
+        \bool_lazy_or:nnF
+          { \acro_if_nested_p: }
+          { \l__acro_include_endings_bool }
           {
-            \bool_if:NF \l__acro_include_endings_bool
+            \acro_if_ending_form:nnF {#1} {#2}
               { \__acro_ending:nn {#1} {#2} }
           }
         \acro_property_if_eq:nnT {#2} {long}
@@ -3050,7 +3092,7 @@
       {
         \acro_use:n {#2}
         \acro_record_page:n {#2}
-        \acro_record_barrier:n {#2}
+        % \acro_record_barrier:n {#2}
         \acro_index:n {#2}
       }
   }
@@ -3268,7 +3310,7 @@
 \cs_new_protected:Npn \__acro_template_stop:nn #1#2
   { \group_end: \__acro_clear_template_setup:nn {#1} {#2} }
 
-% typesetting the first appearance of acronym: pseude template `first'
+% typesetting the first appearance of acronym: pseudo template `first'
 
 % #1: parameter number
 % #2: template type
@@ -3314,7 +3356,14 @@
                     }
                     { \tl_set_eq:NN \l__acro_tmpa_tl \l__acro_first_style_tl }
                 }
-                { \tl_set:Nn \l__acro_tmpa_tl {short} }
+                {
+                  \acro_property_if_set:VnTF \l_acro_id_tl {subsequent-style}
+                    {
+                      \tl_set:Ne \l__acro_tmpa_tl
+                        { \acro_property_get:Vn \l_acro_id_tl {subsequent-style} }
+                    }
+                    { \tl_set_eq:NN \l__acro_tmpa_tl \l__acro_subsequent_tl }
+                }
             }
         }
         {single} {
@@ -3457,6 +3506,7 @@
 
 \clist_new:N \l__acro_tag_include_clist
 \clist_new:N \l__acro_tag_exclude_clist
+\clist_new:N \l__acro_tag_add_clist
 
 \cs_new_protected:Npn \acro_list_choose_set:
   {
@@ -3466,7 +3516,19 @@
         \seq_gclear:N \g__acro_list_seq
         \seq_map_inline:Nn \g__acro_acronyms_seq
           {
-            \acro_if_single:nF {##1}
+            \acro_if_single:nTF {##1}
+              {
+                \clist_set:Ne \l__acro_tmpa_clist
+                  { \acro_property_get:nn {##1} {tag} }
+                \clist_map_inline:Nn \l__acro_tmpa_clist
+                  {
+                    \clist_if_in:NnT \l__acro_tag_add_clist {####1}
+                      {% acronym is included
+                        \seq_gput_right:Nn \g__acro_list_seq {##1}
+                        \clist_map_break:
+                      }
+                  }
+              }
               { \seq_gput_right:Nn \g__acro_list_seq {##1} }
           }
       }
@@ -3488,7 +3550,7 @@
           { \l__acro_list_local_bool }
           {
             \int_compare_p:nNn
-            { \intarray_count:c {g__acro_##1_barriers_intarray} } > 0
+              { \intarray_count:c {g__acro_##1_barriers_intarray} } > 0
           }
           {
             \bool_set_false:N \l__acro_tmpb_bool
@@ -3596,6 +3658,7 @@
     display      .initial:n   = used ,
     include      .clist_set:N = \l__acro_tag_include_clist ,
     exclude      .clist_set:N = \l__acro_tag_exclude_clist ,
+    add          .clist_set:N = \l__acro_tag_add_clist ,
     local        .bool_set:N  = \l__acro_list_local_bool ,
     heading      .tl_set:N  = \l__acro_heading_tl ,
     preamble     .tl_set:N  = \l__acro_preamble_tl ,
@@ -3626,8 +3689,10 @@
 % record page numbers:
 \RequirePackage {zref-abspage}
 
-\msg_new:nnn {acro} {label}
-  { The~ list~ template~ `#1'~ needs~ the~ option~ `labels'~ activated. }
+\msg_new:nnn {acro} {no-page-range}
+  {
+    The~ list~ template~ `#1'~ cannot~ display~ a~ page~ range.
+  }
 
 \msg_new:nnn {acro} {threshold}
   { The~ sequentes~ threshold~ needs~ to~ be~ at~ least~ 3. }
@@ -3863,23 +3928,18 @@
   }
 \prg_generate_conditional_variant:Nnn \acro_if_pages:n {e} {p,T,F,TF}
 
-% \acro_at_begin_document:n
-%   {
-%     \bool_lazy_and:nnT
-%       { \l__acro_pages_display_bool }
-%       { !\l__acro_pages_all_bool }
-%       { \bool_set_true:N \l__acro_label_bool }
-%   }
-
 % #1: style name
 \cs_new_protected:Npn \acro_no_page_ranges:n #1
   {
-    \bool_if:NF \l__acro_label_bool
-      { \msg_warning:nnn {acro} {label} {#1} }
+    \bool_if:NT \l__acro_pages_all_bool
+      { \msg_warning:nnn {acro} {no-page-range} {#1} }
     \bool_set_false:N \l__acro_pages_all_bool
   }
 \cs_generate_variant:Nn \acro_no_page_ranges:n {e}
 
+\cs_new_protected:Npn \acro_need_pages:
+  { \bool_set_true:N \l__acro_pages_display_bool }
+
 \tl_new:N \l__acro_pages_fill_tl
 \tl_new:N \l__acro_pages_sep_tl
 \tl_new:N \l__acro_pages_seq_pre_tl
@@ -5179,6 +5239,8 @@
       \AcronymTable
     \end {supertabular}
   }
+
+\let\l at acro\l at figure
   
 \NewAcroTemplate [list] {lof}
   {
@@ -5185,7 +5247,7 @@
     \acroheading
     \acropreamble
     \acronopagerange
-    \let\l at acro\l at figure
+    \acroneedpages
     \acronymsmapF
       {
         \contentsline {acro}
@@ -5212,6 +5274,7 @@
     \acroheading
     \acropreamble
     \acronopagerange
+    \acroneedpages
     \acronymsmapF
       {
         \contentsline { \acroifchapterTF {chapter} {section} }
@@ -5596,6 +5659,7 @@
     first-long-format .code:n =
       \acro_deprecate_option:nn {format/first-long} {#1} ,
     list-short-format .code:n = \acro_remove_option: ,
+    list-short-width  .code:n = \acro_remove_option: ,
     list-long-format .code:n =
       \acro_deprecate_option:nn {format/list} {#1} ,
     list-foreign-format .code:n = \acro_remove_option: ,



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