From ee01d8b66a1d32730498aea492299e5caa008e1b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 17 Oct 2012 00:55:01 +0000 Subject: acro (16oct12) git-svn-id: svn://tug.org/texlive/trunk@27988 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/acro/acro.sty | 36 +++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 11 deletions(-) (limited to 'Master/texmf-dist/tex/latex/acro/acro.sty') diff --git a/Master/texmf-dist/tex/latex/acro/acro.sty b/Master/texmf-dist/tex/latex/acro/acro.sty index c02e687939d..7bac91c42d3 100644 --- a/Master/texmf-dist/tex/latex/acro/acro.sty +++ b/Master/texmf-dist/tex/latex/acro/acro.sty @@ -31,8 +31,8 @@ \RequirePackage{expl3,xparse,l3keys2e,xtemplate} \ProvidesExplPackage {acro} - {2012/09/29} - {0.4} + {2012/10/07} + {0.4a} {Typeset Acronyms} % error messages: @@ -70,6 +70,7 @@ % tokenlist variables: \tl_new:N \l__acro_short_format_tl \tl_new:N \l__acro_long_format_tl +\tl_new:N \l__acro_list_long_format_tl \tl_new:N \l__acro_extra_format_tl \tl_new:N \l__acro_first_instance_tl \tl_set:Nn \l__acro_first_instance_tl { default } @@ -119,6 +120,11 @@ \cs_new:Npn \__acro_citation_cmd:w { \cite } \cs_new:Npn \__acro_no_break: { \tex_penalty:D \c_ten_thousand } +\cs_new:Npn \__acro_first_upper_case:n #1 + { \tl_expandable_uppercase:n { \tl_head:n { #1 } } \tl_tail:n { #1 } } + +\cs_new_eq:NN \acro_first_upper_case:n \__acro_first_upper_case:n + % options: \keys_define:nn { acro } { @@ -126,7 +132,10 @@ strict .bool_set:N = \l__acro_strict_bool , sort .bool_set:N = \l__acro_sort_bool , short-format .tl_set:N = \l__acro_short_format_tl , - long-format .tl_set:N = \l__acro_long_format_tl , + long-format .code:n = + \tl_set:Nn \l__acro_long_format_tl { #1 } + \tl_set:Nn \l__acro_list_long_format_tl { #1 } , + list-long-format .tl_set:N = \l__acro_list_long_format_tl , extra-format .tl_set:N = \l__acro_extra_format_tl , single .bool_set:N = \l__acro_use_single_bool , first-style .tl_set:N = \l__acro_first_instance_tl , @@ -155,7 +164,9 @@ cite-all .default:n = all , cite-cmd .code:n = \cs_set:Npn \__acro_citation_cmd:w { #1 } , - cite-space .tl_set:N = \l__acro_citation_space_tl + cite-space .tl_set:N = \l__acro_citation_space_tl , + uc-cmd .code:n = + \cs_set_eq:NN \__acro_first_upper_case:n #1 } % setup command: @@ -226,10 +237,12 @@ { \mode_if_horizontal:F { \leavevmode } \group_begin: - \tl_use:N #1 - \bool_if:NTF \l__acro_first_upper_bool - { \tl_to_uppercase:n { \tl_head:n { #2 } } \tl_tail:n { #2 } } - { #2 } + \exp_args:Nx #1 + { + \bool_if:NTF \l__acro_first_upper_bool + { \exp_not:N \__acro_first_upper_case:n { \exp_not:n { #2 } } } + { \exp_not:n { #2 } } + } \group_end: } \cs_generate_variant:Nn \__acro_write_long:Nn { NV,No,Nf } @@ -589,7 +602,7 @@ { \item [ \acro_hyper_target:nn { ##1 } { \__acro_write_short:n { ##2 } } ] } \cs_set:Npn \acro_print_list_long:n ##1 { - \__acro_write_long:Nf \l__acro_long_format_tl + \__acro_write_long:Nf \l__acro_list_long_format_tl { \prop_get:Nn \l__acro_long_prop { ##1 } } \__acro_cite_if:Nn \l__acro_citation_all_bool { ##1 } } @@ -633,7 +646,7 @@ { \acro_hyper_target:nn { ##1 } { \__acro_write_short:n { ##2 } } & } \cs_set:Npn \acro_print_list_long:n ##1 { - \__acro_write_long:Nf \l__acro_long_format_tl + \__acro_write_long:Nf \l__acro_list_long_format_tl { \prop_get:Nn \l__acro_long_prop { ##1 } } \__acro_cite_if:Nn \l__acro_citation_all_bool { ##1 } } @@ -675,7 +688,7 @@ { \acro_hyper_target:nn { ##1 } { \__acro_write_short:n { ##2 } } & } \cs_set:Npn \acro_print_list_long:n ##1 { - \__acro_write_long:Nf \l__acro_long_format_tl + \__acro_write_long:Nf \l__acro_list_long_format_tl { \prop_get:Nn \l__acro_long_prop { ##1 } } \__acro_cite_if:Nn \l__acro_citation_all_bool { ##1 } & @@ -1220,6 +1233,7 @@ 2012/07/23 v0.3d - first CTAN version 2012/07/24 v0.3e - adapted to updated l3kernel 2012/09/28 v0.4 - added means to add citations to acronyms +2012/10/07 v0.4a - new options: "uc-cmd", "list-long-format" % -------------------------------------------------------------------------- % TODO: -- cgit v1.2.3