summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty')
-rw-r--r--Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty126
1 files changed, 97 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
index 9f497f7d79d..548f5351512 100644
--- a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
+++ b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
@@ -6,7 +6,7 @@
%%
%% zhlipsum.dtx (with options: `package')
%%
-%% Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
+%% Copyright (C) 2017, 2018 by Xiangdong Zeng <pssysrq@163.com>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -25,23 +25,40 @@
%% This work consists of the file zhlipsum.dtx,
%% and the derived files zhlipsum.ins,
%% zhlipsum.sty,
-%% zhlipsum-zh-cn-utf8.def,
-%% zhlipsum-zh-cn-gbk.def,
+%% zhlipsum-utf8.def,
+%% zhlipsum-gbk.def,
+%% zhlipsum-big5.def,
%% zhlipsum-example-utf8.tex,
%% zhlipsum-example-gbk.tex,
+%% zhlipsum-example-big5.tex,
+%% zhlipsum-en.tex,
%% zhlipsum.pdf,
+%% zhlipsum-en.pdf,
%% and README.md.
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo $Id: zhlipsum.dtx 0.4 2017-09-16 12:00:00Z Xiangdong Zeng <pssysrq@163.com> $
+\GetIdInfo $Id: zhlipsum.dtx 0.5 2018-01-06 12:00:00Z Xiangdong Zeng <pssysrq@163.com> $
{Chinese dummy text}
\ProvidesExplPackage{\ExplFileName}
{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\RequirePackage { xparse, l3keys2e }
+\msg_new:nnn { zhlipsum } { l3-too-old }
+ {
+ Package~ "#1"~ is~ too~ old. \\\\
+ Please~ update~ an~ up-to-date~ version~ of~ the~ bundles \\
+ "l3kernel"~ and~ "l3packages"~ using~ your~ TeX~ package \\
+ manager~ or~ from~ CTAN.
+ }
+\clist_map_inline:nn { expl3, xparse, l3keys2e }
+ {
+ \@ifpackagelater {#1} { 2017/12/16 }
+ { } { \msg_error:nnn { zhlipsum } { l3-too-old } {#1} }
+ }
\str_new:N \l__zhlipsum_tmpa_str
\tl_new:N \g__zhlipsum_encoding_tl
\int_const:Nn \c__zhlipsum_max_par_number_int { 50 }
+\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { Vn } { T, TF }
\bool_lazy_any:nTF
{
{ \sys_if_engine_xetex_p: }
@@ -50,58 +67,108 @@
}
{ \cs_new_eq:NN \__zhlipsum_if_unicode_engine:TF \use_i:nn }
{ \cs_new_eq:NN \__zhlipsum_if_unicode_engine:TF \use_ii:nn }
-\cs_new:Npn \__zhlipsum_input_def_file:N #1
- { \exp_args:Nx \file_input:n { zhlipsum-zh-cn- #1 .def } }
+\cs_new:Npn \__zhlipsum_input_def_file:n #1
+ { \file_input:n { zhlipsum- #1 .def } }
+\cs_generate_variant:Nn \__zhlipsum_input_def_file:n { V }
+\cs_new_eq:NN \__zhlipsum_par: \tex_par:D
\keys_define:nn { zhlipsum / option }
{
encoding .choice:,
- encoding / UTF8 .code:n =
+ encoding / utf8 .code:n =
{ \tl_set:Nn \g__zhlipsum_encoding_tl { utf8 } },
- encoding / GBK .code:n =
+ encoding / gbk .code:n =
{
\__zhlipsum_if_unicode_engine:TF
{
\tl_set:Nn \g__zhlipsum_encoding_tl { utf8 }
- \msg_warning:nn { zhlipsum } { unicode-engine }
+ \msg_warning:nnn { zhlipsum } { unicode-engine } { gbk }
}
- { \tl_set:Nn \g__zhlipsum_encoding_tl { gbk } }
+ { \tl_set:Nn \g__zhlipsum_encoding_tl { gbk } }
+ },
+ encoding / big5 .code:n =
+ {
+ \__zhlipsum_if_unicode_engine:TF
+ {
+ \tl_set:Nn \g__zhlipsum_encoding_tl { utf8 }
+ \msg_warning:nnn { zhlipsum } { unicode-engine } { big5 }
+ }
+ { \tl_set:Nn \g__zhlipsum_encoding_tl { big5 } }
},
encoding / unknown .code:n =
{ \msg_error:nnn { zhlipsum } { encoding-invalid } {#1} },
encoding .value_required:n = true,
- encoding .initial:n = { UTF8 },
+ encoding .initial:n = { utf8 },
unknown .code:n =
{ \msg_error:nn { zhlipsum } { unknown-option } }
}
\msg_new:nnn { zhlipsum } { unicode-engine }
{
You~ are~ now~ using~ Unicode~ engine~ \c_sys_engine_str. \\
- Encoding~ "GBK"~ is~ invalid.~ Changed~ into~ UTF8.
+ Encoding~ "#1"~ is~ invalid.~ Changed~ into~ "utf8".
}
\msg_new:nnn { zhlipsum } { encoding-invalid }
{
Encoding~ "#1"~ is~ invalid. \\
- Available~ encodings~ are~ "UTF8"~ and~ "GBK".
+ Available~ encodings~ are~ "utf8",~ "gbk"~ and~ "big5".
}
\msg_new:nnn { zhlipsum } { unknown-option }
{ Package~ option~ "\l_keys_key_tl"~ is~ unknown. }
\ProcessKeysOptions { zhlipsum / option }
-\__zhlipsum_input_def_file:N \g__zhlipsum_encoding_tl
-\NewDocumentCommand \zhlipsum
- { s >{ \SplitArgument { 1 } { - } } O{ 1 - 3 } }
+\__zhlipsum_input_def_file:V \g__zhlipsum_encoding_tl
+\str_new:N \l__zhlipsum_script_str
+\keys_define:nn { zhlipsum }
{
- \__zhlipsum_process_par_number:nn #2
- \par
- \IfBooleanTF {#1}
+ script .choice:,
+ script / simp .code:n =
{
- \zhlipsum_print_multi_no_par:VVV
- \l__zhlipsum_begin_int \l__zhlipsum_step_int \l__zhlipsum_end_int
- \par
- }
- {
- \zhlipsum_print_multi:VVV
- \l__zhlipsum_begin_int \l__zhlipsum_step_int \l__zhlipsum_end_int
- }
+ \str_set:Nn \l__zhlipsum_script_str { simp }
+ \tl_if_eq:VnT \g__zhlipsum_encoding_tl { big5 }
+ {
+ \str_set:Nn \l__zhlipsum_script_str { trad }
+ \msg_warning:nn { zhlipsum } { big5-require-trad }
+ }
+ },
+ script / trad .code:n =
+ { \str_set:Nn \l__zhlipsum_script_str { trad } },
+ script / unknown .code:n =
+ { \msg_error:nnn { zhlipsum } { script-invalid } {#1} },
+ script .value_required:n = true
+ }
+\msg_new:nnn { zhlipsum } { big5-require-trad }
+ {
+ "script=simp"~ is~ not~ available~ in~ "BIG5"~ encoding.\\
+ Changed~ into~ "script=trad".
+ }
+\msg_new:nnn { zhlipsum } { script-invalid }
+ {
+ Script~ "#1"~ is~ unknown. \\
+ Available~ scripts~ are~ "simp"~ and~ "trad".
+ }
+\tl_if_eq:VnTF \g__zhlipsum_encoding_tl { big5 }
+ { \keys_set:nn { zhlipsum } { script = trad } }
+ { \keys_set:nn { zhlipsum } { script = simp } }
+\NewDocumentCommand \zhlipsum
+ { s >{ \SplitArgument { 1 } { - } } O{ 1 - 3 } o }
+ {
+ \group_begin:
+ \__zhlipsum_process_par_number:nn #2
+ \IfValueT {#3} { \keys_set:nn { zhlipsum } {#3} }
+ \__zhlipsum_par:
+ \IfBooleanTF {#1}
+ {
+ \zhlipsum_print_multi_no_par:VVV
+ \l__zhlipsum_begin_int
+ \l__zhlipsum_step_int
+ \l__zhlipsum_end_int
+ \__zhlipsum_par:
+ }
+ {
+ \zhlipsum_print_multi:VVV
+ \l__zhlipsum_begin_int
+ \l__zhlipsum_step_int
+ \l__zhlipsum_end_int
+ }
+ \group_end:
}
\int_new:N \l__zhlipsum_begin_int
\int_new:N \l__zhlipsum_end_int
@@ -126,7 +193,7 @@
\cs_new:Npn \zhlipsum_print_multi:nnn #1#2#3
{
\int_step_inline:nnnn {#1} {#2} {#3}
- { \__zhlipsum_print_single:n {##1} \par }
+ { \__zhlipsum_print_single:n {##1} \__zhlipsum_par: }
}
\cs_generate_variant:Nn \zhlipsum_print_multi:nnn { VVV }
\cs_new:Npn \zhlipsum_print_multi_no_par:nnn #1#2#3
@@ -138,7 +205,8 @@
\cs_new:Npn \__zhlipsum_print_single:n #1
{
\str_set:Nx \l__zhlipsum_tmpa_str { \int_to_roman:n {#1} }
- \str_put_left:Nn \l__zhlipsum_tmpa_str { c__zhlipsum_text_zh_cn_ }
+ \str_put_left:Nx \l__zhlipsum_tmpa_str
+ { c__zhlipsum_text_ \l__zhlipsum_script_str _ }
\str_put_right:Nn \l__zhlipsum_tmpa_str { _tl }
\use:c { \str_use:N \l__zhlipsum_tmpa_str }
}