From 8eaa9a04c65e9be9a95c628900ee62eb9db112eb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 23 Jul 2019 20:57:56 +0000 Subject: kantlipsum (23jul19) git-svn-id: svn://tug.org/texlive/trunk@51710 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/kantlipsum/kantlipsum.sty | 84 ++++++++++++++++------ 1 file changed, 63 insertions(+), 21 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/kantlipsum/kantlipsum.sty b/Master/texmf-dist/tex/latex/kantlipsum/kantlipsum.sty index 0cf8247ca35..f58e0243f32 100644 --- a/Master/texmf-dist/tex/latex/kantlipsum/kantlipsum.sty +++ b/Master/texmf-dist/tex/latex/kantlipsum/kantlipsum.sty @@ -6,20 +6,20 @@ %% %% kantlipsum.dtx (with options: `package') %% --------------------------------------------------------------- -%% The kantlipsum package --- Generate text in Kant's style +%% The kantlipsum package --- Generate text in Kantian style %% Maintained by Enrico Gregorio %% E-mail: enrico DOT gregorio AT univr DOT it %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- -\RequirePackage{expl3}[2017/11/14] +\RequirePackage{expl3}[2019/07/01] \RequirePackage{xparse} \ProvidesExplPackage {kantlipsum} - {2017/11/16} - {0.7} + {2019/07/23} + {0.8} {Generate text in Kantian style} -\@ifpackagelater { expl3 } { 2017/11/14 } +\@ifpackagelater { expl3 } { 2019/07/01 } { } { \PackageError { kantlipsum } { Support~package~expl3~too~old } @@ -43,7 +43,12 @@ } \DeclareOption{ numbers } - { \cs_set_protected:Nn \__kgl_number:n { #1\nobreak\enspace\textbullet\nobreak\enspace } } + { + \cs_set_protected:Nn \__kgl_number:n + { + #1\nobreak\enspace\textbullet\nobreak\enspace + } + } \bool_new:N \g__kgl_makeindex_bool \bool_gset_false:N \g__kgl_makeindex_bool @@ -64,29 +69,31 @@ \int_new:N \l__kgl_end_int \seq_new:N \g__kgl_pars_seq \seq_new:N \g__kgl_words_seq -\NewDocumentCommand{\kant}{s>{\SplitArgument{1}{-}}O{1-7}} +\seq_new:N \l__kgl_sentences_seq +\NewDocumentCommand{\kant} + { + s + >{\SplitArgument{1}{-}}O{1-7} + >{\SplitArgument{1}{-}}o} { \group_begin: \IfBooleanTF{#1} { \cs_set_eq:NN \__kgl_par: \__kgl_star: } { \cs_set_eq:NN \__kgl_par: \__kgl_nostar: } - \__kgl_process:nn #2 - \__kgl_print: + \IfNoValueTF{#3} + { \__kgl_process:nn #2 \__kgl_print: } + { \__kgl_process:nnnn #2 #3 \tl_use:N \l_tmpa_tl } \group_end: } -\NewDocumentCommand{\kantdef}{mm} +\NewDocumentCommand{\kantdef} + { + m + m + >{\SplitArgument{1}{-}}O{1-50} + } { \group_begin: - \cs_set_eq:NN \__kgl_number:n \use_none:n - \cs_set_eq:NN \__kgl_par: \prg_do_nothing: - \cs_if_exist:NTF #1 - { - \msg_error:nnn {kantlipsum} {already-defined} {#1} - } - { - \tl_set:Nx \l_tmpa_tl { \seq_item:Nn \g__kgl_pars_seq {#2} } - \cs_new:Npx #1 { \l_tmpa_tl } - } + \__kgl_define:nnnn {#1} {#2} #3 \group_end: } \cs_new_protected:Nn \__kgl_process:nn @@ -96,6 +103,13 @@ { \int_set:Nn \l__kgl_end_int {#1} } { \int_set:Nn \l__kgl_end_int {#2} } } +\cs_new_protected:Nn \__kgl_process:nnnn + { + \tl_set:Nx \l_tmpa_tl { \seq_item:Nn \g__kgl_pars_seq {#1} } + \tl_if_novalue:nTF {#4} + { \__kgl_extract:nnV {#3} {#3} \l_tmpa_tl } + { \__kgl_extract:nnV {#3} {#4} \l_tmpa_tl } + } \cs_new_protected:Nn \__kgl_print: { \int_step_function:nnnN @@ -115,6 +129,34 @@ { \seq_gput_right:Nn \g__kgl_pars_seq {#1\__kgl_par:} } \cs_new_protected:Nn \__kgl_newword:n { \seq_gput_right:Nn \g__kgl_words_seq {#1} } +\cs_new_protected:Nn \__kgl_define:nnnn + { + \cs_set_eq:NN \__kgl_number:n \use_none:n + \cs_set_eq:NN \__kgl_par: \prg_do_nothing: + \cs_if_exist:NTF #1 + { + \msg_error:nnn {kantlipsum} {already-defined} {#1} + } + { + \tl_set:Nx \l_tmpa_tl { \seq_item:Nn \g__kgl_pars_seq {#2} } + \tl_if_novalue:nTF {#4} + { \__kgl_extract:nnV {#3} {#3} \l_tmpa_tl } + { \__kgl_extract:nnV {#3} {#4} \l_tmpa_tl } + \cs_new:Npx #1 { \l_tmpa_tl } + } + } +\cs_new_protected:Nn \__kgl_extract:nnn + { + \seq_set_split:Nnn \l__kgl_sentences_seq { . } {#3} + \seq_clear:N \l_tmpa_seq + \seq_indexed_map_inline:Nn \l__kgl_sentences_seq + { + \int_compare:nT { #1 <= ##1 <= #2 } + {\seq_put_right:Nn \l_tmpa_seq { ##2 } } + } + \tl_set:Nx \l_tmpa_tl { \seq_use:Nn \l_tmpa_seq { .~ }. } + } +\cs_generate_variant:Nn \__kgl_extract:nnn { nnV } \group_begin: \char_set_catcode_space:n {`\ } \__kgl_newpara:n {As any dedicated reader can clearly see, the Ideal of @@ -3191,7 +3233,7 @@ whole content of philosophy.} \group_end: \msg_info:nnx {kantlipsum} {how-many} { \int_eval:n {\seq_count:N \g__kgl_pars_seq} } -%% Copyright (C) 2011-2017 by +%% Copyright (C) 2011-2019 by %% Enrico Gregorio %% enrico DOT gregorio AT univr DOT it %% -- cgit v1.2.3