From 3852dfa87b96bfd1be37ecbcbd5441d0f1ed34e0 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 28 Jul 2021 20:46:50 +0000 Subject: lipsum (28jul21) git-svn-id: svn://tug.org/texlive/trunk@60101 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/lipsum/lipsum.sty | 87 ++++++++++++++++++++------- 1 file changed, 66 insertions(+), 21 deletions(-) (limited to 'Master/texmf-dist/tex/latex/lipsum') diff --git a/Master/texmf-dist/tex/latex/lipsum/lipsum.sty b/Master/texmf-dist/tex/latex/lipsum/lipsum.sty index 0d72f0a0820..3615ac74e76 100644 --- a/Master/texmf-dist/tex/latex/lipsum/lipsum.sty +++ b/Master/texmf-dist/tex/latex/lipsum/lipsum.sty @@ -21,8 +21,8 @@ %% Please send error reports and suggestions for improvements to %% https://github.com/PhelypeOleinik/lipsum %% -\def\lipsumversion{2.4} -\def\lipsumdate{2021-06-03} +\def\lipsumversion{2.5} +\def\lipsumdate{2021-07-28} \NeedsTeXFormat{LaTeX2e} \RequirePackage{l3keys2e} \@ifundefined{NewDocumentCommand} @@ -256,25 +256,45 @@ \cs_new_protected:Npn \__lipsum_set_hyphens: { \bool_if:NTF \l__lipsum_autolang_bool - { \use:x } { \use_none:n } + { \use:n } { \use_none:n } { \cs_if_exist:NTF \hyphenrules - { - \exp_not:N \hyphenrules { \g__lipsum_language_tl } - \cs_set_protected:Npn \__lipsum_restore_hyphens: - { \exp_not:N \hyphenrules { \languagename } } - } { \cs_if_exist:cTF { l@ \g__lipsum_language_tl } - { \language \use:c { l@ \g__lipsum_language_tl } } - { \msg_error:nn { lipsum } { language-undefined } } - \cs_set_protected:Npn \__lipsum_restore_hyphens: - { \language \int_eval:n { \language } \scan_stop: } + { + \exp_args:NV \hyphenrules \g__lipsum_language_tl + \cs_set_protected:Npx \__lipsum_restore_hyphens: + { \exp_not:N \hyphenrules { \languagename } } + } + { \__lipsum_missing_language_warning: } } + { \__lipsum_set_hyphens_babel_missing: } } } \cs_new_protected:Npn \__lipsum_restore_hyphens: { \prg_do_nothing: } +\cs_new_protected:Npn \__lipsum_set_hyphens_babel_missing: + { + \msg_warning:nnn { lipsum } { missing-babel } { preamble } + \cs_gset_eq:NN \__lipsum_set_hyphens_babel_missing: \prg_do_nothing: + } +\AtBeginDocument + { + \cs_gset_protected:Npx \__lipsum_set_hyphens_babel_missing: + { + \@ifpackageloaded { babel } + { \msg_error:nnn { lipsum } { missing-babel } { impossible } } + { \msg_warning:nnn { lipsum } { missing-babel } { document } } + \setlipsum { auto-lang = false } + } + } +\cs_if_exist:NT \DeclareHookRule + { \DeclareHookRule { begindocument } { lipsum } { after } { babel } } +\cs_new_protected:Npn \__lipsum_missing_language_warning: + { + \msg_warning:nn { lipsum } { missing-language } + \tl_gset_eq:NN \g__lipsum_language_tl \languagename + } \cs_new_protected:Npn \NewLipsumPar #1 { \int_gincr:N \g__lipsum_par_int @@ -293,17 +313,17 @@ } \NewDocumentCommand \SetLipsumLanguage { m } { \tl_gset:Nn \g__lipsum_language_tl {#1} } -\cs_new_protected:Npn \__lipsum_delim_restore:nnnnn #1 #2 #3 #4 #5 +\cs_new_protected:Npn \__lipsum_delim_restore:nnn #1 #2 #3 { \keys_set:nn { lipsum } { - #1-before = , #1-begin = , #1-end = {#2}, #1-after = , - #1-before* = , #1-begin* = , #1-end* = {#3}, #1-after* = , - #1-sep = {#4}, #1-sep* = {#5} + #1-before = , #1-begin = , #1-end = , #1-after = , + #1-before* = , #1-begin* = , #1-end* = , #1-after* = , + #1-sep = {#2}, #1-sep* = {#3} } } \cs_new_protected:Nn \__lipsum_restore_sentence_list: - { \__lipsum_delim_restore:nnnnn { sentence } { } { } { ~ } { ~ } } + { \__lipsum_delim_restore:nnn { sentence } { ~ } { ~ } } \cs_new_eq:NN \__lipsum_restore_par_list: ? \cs_new_protected:Npn \LipsumRestoreParList { @@ -328,12 +348,12 @@ nopar / true .code:n = { \cs_gset_protected:Npn \__lipsum_restore_par_list: - { \__lipsum_delim_restore:nnnnn { par } { } { \par } { ~ } { } } + { \__lipsum_delim_restore:nnn { par } { ~ } { \par } } } , nopar / false .code:n = { \cs_gset_protected:Nn \__lipsum_restore_par_list: - { \__lipsum_delim_restore:nnnnn { par } { \par } { } { } { ~ } } + { \__lipsum_delim_restore:nnn { par } { \par } { ~ } } } , nopar .initial:n = false , nopar .default:n = true , @@ -369,13 +389,38 @@ \__lipsum_restore_sentence_list: \msg_new:nnn { lipsum } { invalid-range } { Invalid~number~or~range~'#1'. } -\msg_new:nnn { lipsum } { language-undefined } - { Language~'\g__lipsum_language_tl'~undefined. } \msg_new:nnn { lipsum } { cmd-deprecated } { Command~'\iow_char:N\\#1'~deprecated. \\ See~the~lipsum~documentation~for~help. } +\msg_new:nnn { lipsum } { missing-babel } + { + Hyphenation~patterns~for~'\g__lipsum_language_tl'~ + cannot~be~used~because~babel~is~not~loaded.~ + \str_case:nn {#1} + { + { preamble } + { Loading~lipsum~after~babel~should~fix~the~issue. } + { document } + { + The~default~document~language~will~be~used~ + for~hyphenation~instead. + } + { impossible } + { + Something~wrong~happened~and~the~command~ + \iow_char:N\\hyphenrules~is~not~available. \\ \\ + Please~report! + } + } + \\ \\ This~message~won't~be~shown~again. + } +\msg_new:nnn { lipsum } { missing-language } + { + Unknown~language~'\g__lipsum_language_tl'.~ + Hyphenation~patterns~for~'\languagename'~will~be~used~instead. + } %% %% %% End of file `lipsum.sty'. -- cgit v1.2.3