summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/lipsum
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-28 20:46:50 +0000
committerKarl Berry <karl@freefriends.org>2021-07-28 20:46:50 +0000
commit3852dfa87b96bfd1be37ecbcbd5441d0f1ed34e0 (patch)
treea263ee371cf5f89cdc4775dbc7cd692d095b9646 /Master/texmf-dist/tex/latex/lipsum
parent0f5bd79518a904915f525ae67748373aa4822852 (diff)
lipsum (28jul21)
git-svn-id: svn://tug.org/texlive/trunk@60101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/lipsum')
-rw-r--r--Master/texmf-dist/tex/latex/lipsum/lipsum.sty87
1 files changed, 66 insertions, 21 deletions
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'.