summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-09-16 20:45:41 +0000
committerKarl Berry <karl@freefriends.org>2017-09-16 20:45:41 +0000
commit1e3a3ba35d94c55dd0486d738e887d704eac7589 (patch)
treef11e960a1beab7d56538443d65467ead5464a39b
parent3d37034cd0e9282746768a103efd422d50cd46b0 (diff)
zhlipsum (16sep17)
git-svn-id: svn://tug.org/texlive/trunk@45317 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/zhlipsum/README.md14
-rw-r--r--Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-gbk.tex41
-rw-r--r--Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-utf8.tex41
-rw-r--r--Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdfbin248056 -> 259679 bytes
-rw-r--r--Master/texmf-dist/source/latex/zhlipsum/zhlipsum.dtx738
-rw-r--r--Master/texmf-dist/source/latex/zhlipsum/zhlipsum.ins100
-rw-r--r--Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-gbk.def906
-rw-r--r--Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-utf8.def (renamed from Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn.def)27
-rw-r--r--Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty165
9 files changed, 1654 insertions, 378 deletions
diff --git a/Master/texmf-dist/doc/latex/zhlipsum/README.md b/Master/texmf-dist/doc/latex/zhlipsum/README.md
index 1d641ba1c10..97bd30b98b6 100644
--- a/Master/texmf-dist/doc/latex/zhlipsum/README.md
+++ b/Master/texmf-dist/doc/latex/zhlipsum/README.md
@@ -1,17 +1,25 @@
# zhlipsum - Chinese dummy text
[![Build Status](https://travis-ci.org/Stone-Zeng/zhlipsum.svg?branch=master)](https://travis-ci.org/Stone-Zeng/zhlipsum)
+[![CTAN](https://img.shields.io/ctan/v/zhlipsum.svg)](https://www.ctan.org/pkg/zhlipsum)
[![GitHub release](https://img.shields.io/github/release/Stone-Zeng/zhlipsum/all.svg)](https://github.com/Stone-Zeng/zhlipsum/releases/latest)
-Basic usage:
+## Introduction
+
+This pack­age pro­vides an in­ter­face to dummy text in Chi­nese, which
+will be use­ful for test­ing Chi­nese doc­u­ments.
+
+`zhlipsum` supports both UTF-8 and GBK en­cod­ing.
+
+## Basic usage
```tex
\zhlipsum[3]
\zhlipsum*[1-5]
```
-More information can be found in the package documentation
-[zhlipsum.pdf](https://github.com/Stone-Zeng/zhlipsum/releases/download/v0.3/zhlipsum.pdf).
+More information can be found in the package documentation
+[zhlipsum.pdf](http://mirrors.ctan.org/macros/latex/contrib/zhlipsum/zhlipsum.pdf).
## License
diff --git a/Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-gbk.tex b/Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-gbk.tex
new file mode 100644
index 00000000000..ebf7a0cf30b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-gbk.tex
@@ -0,0 +1,41 @@
+%%
+%% This is file `zhlipsum-example-gbk.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zhlipsum.dtx (with options: `ex-gbk')
+%%
+\documentclass[GBK]{ctexart}
+\usepackage[encoding=GBK]{zhlipsum}
+\begin{document}
+\def\parcmd{\texttt{\textbackslash par}}
+
+\section{Basic}
+\zhlipsum
+
+\section{Different fonts}
+{\songti \zhlipsum[1]}
+
+{\heiti \zhlipsum[2]}
+
+{\fangsong \zhlipsum[3]}
+
+{\kaishu \zhlipsum[4]}
+
+\section{Single paragraph}
+\zhlipsum[55]
+
+\section{With `\parcmd'}
+Some text before lorem ipsum.
+\zhlipsum[0-1]
+Some text after lorem ipsum.
+
+\section{Without `\parcmd'}
+Some text before lorem ipsum.
+\zhlipsum*[0-500]
+Some text after lorem ipsum.
+\end{document}
+%%
+%%
+%% End of file `zhlipsum-example-gbk.tex'.
diff --git a/Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-utf8.tex b/Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-utf8.tex
new file mode 100644
index 00000000000..17eae9d2af2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-utf8.tex
@@ -0,0 +1,41 @@
+%%
+%% This is file `zhlipsum-example-utf8.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zhlipsum.dtx (with options: `ex-utf8')
+%%
+\documentclass[UTF8]{ctexart}
+\usepackage[encoding=UTF8]{zhlipsum}
+\begin{document}
+\def\parcmd{\texttt{\textbackslash par}}
+
+\section{Basic}
+\zhlipsum
+
+\section{Different fonts}
+{\songti \zhlipsum[1]}
+
+{\heiti \zhlipsum[2]}
+
+{\fangsong \zhlipsum[3]}
+
+{\kaishu \zhlipsum[4]}
+
+\section{Single paragraph}
+\zhlipsum[55]
+
+\section{With `\parcmd'}
+Some text before lorem ipsum.
+\zhlipsum[0-1]
+Some text after lorem ipsum.
+
+\section{Without `\parcmd'}
+Some text before lorem ipsum.
+\zhlipsum*[0-500]
+Some text after lorem ipsum.
+\end{document}
+%%
+%%
+%% End of file `zhlipsum-example-utf8.tex'.
diff --git a/Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf b/Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf
index 4c0ec8c8f44..d84856641ab 100644
--- a/Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf
+++ b/Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.dtx b/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.dtx
index 4806768438e..52de96478bd 100644
--- a/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.dtx
+++ b/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.dtx
@@ -16,23 +16,154 @@
%
% The Current Maintainer of this work is Xiangdong Zeng.
%
-% This work consists of the files zhlipsum.dtx
-% zhlipsum.ins
-% README.md
-% and the derived files zhlipsum.pdf
-% zhlipsum.sty
-% zhlipsum-zh-cn.def.
-%
-% \fi
-%
-% \iffalse
+% 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-example-utf8.tex,
+% zhlipsum-example-gbk.tex,
+% zhlipsum.pdf,
+% and README.md.
+%
+%<*internal>
+\iffalse
+%</internal>
+%
+%<*readme>
+# zhlipsum - Chinese dummy text
+
+[![Build Status](https://travis-ci.org/Stone-Zeng/zhlipsum.svg?branch=master)](https://travis-ci.org/Stone-Zeng/zhlipsum)
+[![CTAN](https://img.shields.io/ctan/v/zhlipsum.svg)](https://www.ctan.org/pkg/zhlipsum)
+[![GitHub release](https://img.shields.io/github/release/Stone-Zeng/zhlipsum/all.svg)](https://github.com/Stone-Zeng/zhlipsum/releases/latest)
+
+## Introduction
+
+This pack­age pro­vides an in­ter­face to dummy text in Chi­nese, which
+will be use­ful for test­ing Chi­nese doc­u­ments.
+
+`zhlipsum` supports both UTF-8 and GBK en­cod­ing.
+
+## Basic usage
+
+```tex
+\zhlipsum[3]
+\zhlipsum*[1-5]
+```
+
+More information can be found in the package documentation
+[zhlipsum.pdf](http://mirrors.ctan.org/macros/latex/contrib/zhlipsum/zhlipsum.pdf).
+
+## License
+
+This work may be distributed and/or modified under the conditions of
+the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
+either version 1.3c of this license or (at your option) any later
+version.
+%</readme>
+%
+%<*internal>
+\fi
+\begingroup
+ \def\NameOfLaTeXe{LaTeX2e}
+\expandafter\endgroup\ifx\NameOfLaTeXe\fmtname\else
+\csname fi\endcsname
+%</internal>
+%
+%<*install>
+\input ctxdocstrip.tex
+\keepsilent
+
+\preamble
+
+ Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Xiangdong Zeng.
+
+ 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-example-utf8.tex,
+ zhlipsum-example-gbk.tex,
+ zhlipsum.pdf,
+ and README.md.
+
+\endpreamble
+
+\generate{
+ \usedir{tex/latex/zhlipsum}
+ \file{\jobname.sty} {\from{\jobname.dtx}{package}}
+ \file{\jobname-zh-cn-utf8.def} {\from{\jobname.dtx}{zh-cn,utf8}}
+ \file{\jobname-zh-cn-gbk.def} {\from{\jobname.dtx}{zh-cn,gbk}}
+%</install>
+%<*internal>
+ \usedir{source/latex/zhlipsum}
+ \file{\jobname.ins} {\from{\jobname.dtx}{install}}
+%</internal>
+%<*install>
+ \usedir{doc/latex/zhlipsum/example}
+ \usepreamble\emptypreamble
+ \usepostamble\emptypostamble
+ \file{\jobname-example-utf8.tex} {\from{\jobname.dtx}{ex-utf8}}
+ \file{\jobname-example-gbk.tex} {\from{\jobname.dtx}{ex-gbk}}
+ \usedir{doc/latex/zhlipsum}
+ \nopreamble\nopostamble
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+}
+
+\obeyspaces
+\Msg{****************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* zhlipsum.sty *}
+\Msg{* zhlipsum-zh-cn-utf8.def *}
+\Msg{* zhlipsum-zh-cn-gbk.def *}
+\Msg{* *}
+\Msg{* The recommended directory is *}
+\Msg{* TDS:tex/latex/zhlipsum *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* zhlipsum.dtx through XeLaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{****************************************************}
+
+\endbatchfile
+%</install>
+%
+%<*internal>
+\fi
+%</internal>
%
%<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\RequirePackage{expl3,xparse}
-%<package|zh-cn>\GetIdInfo $Id: zhlipsum.dtx 0.3 2017-07-28 12:00:00Z Xiangdong Zeng $
-%<driver|package> {Chinese dummy text}
-%<zh-cn> {Simplified Chinese dummy text (for zhlipsum)}
-%
+%<package>\RequirePackage{expl3}
+%<*!(driver|install|ex-utf8|ex-gbk)>
+%<!readme>\GetIdInfo $Id: zhlipsum.dtx 0.4 2017-09-16 12:00:00Z Xiangdong Zeng <pssysrq@163.com> $
+%<package> {Chinese dummy text}
+%<package>\ProvidesExplPackage{\ExplFileName}
+%<zh-cn&utf8> {Simplified Chinese dummy text with UTF8 encoding (for zhlipsum)}
+%<zh-cn&utf8>\ProvidesExplFile{\ExplFileName-zh-cn-utf8.def}
+%<zh-cn&gbk> {Simplified Chinese dummy text with GBK encoding (for zhlipsum)}
+%<zh-cn&gbk>\ProvidesExplFile{\ExplFileName-zh-cn-gbk.def}
+%<!readme> {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+%</!(driver|install|ex-utf8|ex-gbk)>
%<*driver>
\documentclass{ctxdoc}
\sisetup{
@@ -41,15 +172,16 @@
group-digits = true,
group-minimum-digits = 4,
group-separator = \text{~},
- range-phrase = \symbol{65374},
+ range-phrase = \symbol{"FF5E},
separate-uncertainty = true
}
\hypersetup{
- pdftitle = {zhlipsum:中文乱数假文(Lorem ipsum)},
+ pdftitle = {zhlipsum: 中文乱数假文(Lorem ipsum)},
pdfauthor = {曾祥东},
bookmarksopen = true,
bookmarksnumbered = true
}
+\DoNotIndex{\\}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -63,8 +195,11 @@
% \changes{v0.2}{2017/04/14}{仿照 \pkg{kantlipsum} 宏包,实现
% 任意的段落选取。}
% \changes{v0.2}{2017/04/14}{使用名字空间。}
+% \changes{v0.4}{2017/09/16}{将安装、测试文件集成进源文件。}
+% \changes{v0.4}{2017/09/16}{新增 \opt{encoding} 选项。}
+% \changes{v0.4}{2017/09/16}{优化宏包实现。}
%
-% \CheckSum{0}
+% \CheckSum{121}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -84,15 +219,15 @@
%
% ^^A标题页页边距。
% \newgeometry{
-% left = 3.18 cm,
-% right = 3.18 cm,
-% top = 3.18 cm,
-% bottom = 3.18 cm
+% left = 1.25 in,
+% right = 1.25 in,
+% top = 1.25 in,
+% bottom = 1.00 in
% }
%
-% \title{\textbf{zhlipsum:中文乱数假文(Lorem ipsum)}}
+% \title{\textbf{zhlipsum: 中文乱数假文(Lorem ipsum)}}
% \author{曾祥东}
-% \date{2017/07/28 \quad v0.3\thanks{\url{https://github.com/Stone-Zeng/zhlipsum}.}}
+% \date{2017/09/16 \quad v0.4\thanks{\url{https://github.com/Stone-Zeng/zhlipsum}.}}
% \maketitle
%
% \begin{minipage}{0.9\textwidth}
@@ -147,31 +282,39 @@
%
% ^^A\restoregeometry
% \newgeometry{
-% left = 6.35 cm,
-% right = 2.54 cm,
-% top = 3.18 cm,
-% bottom = 2.54 cm
+% left = 2.50 in,
+% right = 1.00 in,
+% top = 1.25 in,
+% bottom = 1.00 in
% }
%
% \section{使用说明}
+% \begin{function}[added=2017-09-16]{encoding}
+% \begin{syntax}
+% encoding = <(UTF8)|GBK>
+% \end{syntax}
+% 用于指定编码的宏包选项,可以在调用宏包的时候设定,默认为
+% UTF8。对于 \XeLaTeX{}、\LuaLaTeX{} 和 \upLaTeX{} 等 Unicode
+% 引擎,GBK 编码无效,宏包将强制使用 UTF8 编码。
+% \end{function}
+%
% \begin{function}{\zhlipsum}
% \begin{syntax}
% \cs{zhlipsum}\oarg{段落}
% \end{syntax}
% 插入假文文本,每段之间会分段。
+% \end{function}
%
-% 只给定一个参数时,将输出对应序号的段落,
-% 如 |\zhlipsum[17]| 将生成第 17 段。
-% 给定两个参数并用“|-|”连接时,
-% 则会输出该范围内的段落。
-% 如 |\zhlipsum[5-34]| 将生成第 5 至第 34 段假文。
+% 只给定一个参数时,将输出对应序号的段落,如 |\zhlipsum[17]| 将
+% 生成第 17 段。给定两个参数并用“|-|”连接时,则会输出该范围内的
+% 段落。如 |\zhlipsum[5-34]| 将生成第 5 至 34 段假文。没有指定可选
+% 参数时,默认输出第 1 至 3 段假文。
%
-% 目前本宏包只提供了 50 段假文文本,
-% 超出范围的数字一律按 50 处理。
-% 如 |\zhlipsum[48-55]| 将只会输出第 48、49 和第 50 段。
+% 目前本宏包只提供了 50 段假文文本,超出范围的数字一律按 50 处理。
+% 如 |\zhlipsum[51]| 将给出第 50 段,而 |\zhlipsum[48-55]| 将只会
+% 输出第 48、49 和第 50 段。
%
-% 当前仅支持简体中文的假文,以“劳仑衣普桑”开头。
-% \end{function}
+% 当前仅支持简体中文的假文,以“劳仑衣普桑”开头。
%
% \begin{function}{\zhlipsum*}
% \begin{syntax}
@@ -181,22 +324,16 @@
% \end{function}
%
% \section{已知问题}
-% \begin{enumerate}
-% \item 本宏包中的假文文字使用 UTF-8 编码。用 \pdfLaTeX{} 编译时,
-% 必须在 \pkg{ctex} 宏包或 \cls{ctexart} 等文档类中指明
-% |UTF8| 选项,否则将无法编译。
-%
-% \item 用 |\zhlipsum*| 构建较长的单段假文文本时,可能会很慢。
-% 可能是因为 \TeX{} 的断行算法需耗费较多时间来处理长段落。
-% \end{enumerate}
+% 用 |\zhlipsum*| 构建较长的单段假文文本时,可能会很慢。
+% 可能是因为 \TeX{} 的断行算法需耗费较多时间来处理长段落。
%
% \StopEventually{
% ^^A索引部分页边距。
% \newgeometry{
-% left = 2.54 cm,
-% right = 2.54 cm,
-% top = 3.18 cm,
-% bottom = 3.18 cm
+% left = 1.00 in,
+% right = 1.00 in,
+% top = 1.25 in,
+% bottom = 1.00 in
% }
% \ctexset{section / numbering = false}
% \PrintChanges
@@ -207,113 +344,168 @@
%
% \section{实现细节}
%
-% 本宏包使用 \LaTeX3 语法编写,依赖于 \pkg{expl3} 环境。
% \begin{macrocode}
-%<package>\ProvidesExplPackage{\ExplFileName}
-%<zh-cn>\ProvidesExplFile{\ExplFileName}
-%<package|zh-cn> {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+%<*package>
+%<@@=zhlipsum>
% \end{macrocode}
%
-% \subsection{宏包主体}
-%
% \begin{macrocode}
-%<*package>
-%<@@=zhlipsum>
+\RequirePackage { xparse, l3keys2e }
% \end{macrocode}
%
-% \begin{macro}{\l_@@_tmpa_str}
+% \subsection{内部变量和函数}
+%
+% \begin{variable}[int]{\l_@@_tmpa_str}
% 临时变量。
% \begin{macrocode}
\str_new:N \l_@@_tmpa_str
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\l_@@_lang_code_str,
-% \c_@@_text_cs_prefix,\c_@@_text_cs_suffix}
-% 假文每一段的命令形如 |\c__zhlipsum_text_语言代码_段落数_tl|,
-% 其中的“段落数”用小写罗马数字表示。
-% 这几个字符串分别构成命令的几个部分。
+% \begin{variable}[int]{\g_@@_encoding_tl}
+% 存放编码信息。
% \begin{macrocode}
-\str_new:N \l_@@_lang_code_str
-\str_const:Nn \c_@@_text_cs_prefix { c__zhlipsum_text_ }
-\str_const:Nn \c_@@_text_cs_suffix { _tl }
+\tl_new:N \g_@@_encoding_tl
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_max_par_number_int}
+% \begin{variable}[int]{\c_@@_max_par_number_int}
% 假文的最大段落数。目前设为 50。
% \begin{macrocode}
\int_const:Nn \c_@@_max_par_number_int { 50 }
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\@@_print_single:N}
-% \changes{v0.3}{2017/07/28}{改为内部函数。}
-% 输出第 $n$ 段假文。
-% 方法是将段落数 $n$ 先转换成罗马数字,再组成完整命令。
-% 目前仅支持简体中文。
+% \begin{macro}[int,TF]{\@@_if_unicode_engine:}
+% 判断是否为 Unicode 引擎。来自于 \pkg{zhnumber} 宏包。
% \begin{macrocode}
-\cs_new:Npn \@@_print_single:N #1
+\bool_lazy_any:nTF
{
- \str_set:Nx \l_@@_tmpa_str
- { \int_to_roman:n { #1 } }
- \str_set:Nn \l_@@_lang_code_str
- { zh_cn_ }
- \str_put_left:Nx \l_@@_tmpa_str
- \l_@@_lang_code_str
- \str_put_left:Nx \l_@@_tmpa_str
- \c_@@_text_cs_prefix
- \str_put_right:Nx \l_@@_tmpa_str
- \c_@@_text_cs_suffix
-%% Print paragrapf number string. For debug.
-%\str_use:N \l_@@_tmpa_str
- \use:c { \str_use:N \l_@@_tmpa_str }
+ { \sys_if_engine_xetex_p: }
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_uptex_p: }
}
+ { \cs_new_eq:NN \@@_if_unicode_engine:TF \use_i:nn }
+ { \cs_new_eq:NN \@@_if_unicode_engine:TF \use_ii:nn }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\l_@@_begin_int,\l_@@_end_int,\l_@@_step_int}
-% 循环的开始、结束和步长。
+% \begin{macro}[int]{\@@_input_def_file:N}
+% 读入定义文件。
% \begin{macrocode}
-\int_new:N \l_@@_begin_int
-\int_new:N \l_@@_end_int
-\int_new:N \l_@@_step_int
+\cs_new:Npn \@@_input_def_file:N #1
+ { \exp_args:Nx \file_input:n { zhlipsum-zh-cn- #1 .def } }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_process_par_number:nn}
-% \changes{v0.3}{2017/07/28}{改为内部函数。}
-% 处理段落数参数。
+% \subsection{宏包选项}
+%
+% \begin{macro}{encoding}
+% 设置编码。
% \begin{macrocode}
-\cs_new:Npn \@@_process_par_number:nn #1 #2
+\keys_define:nn { zhlipsum / option }
{
+ encoding .choice:,
+ encoding / UTF8 .code:n =
+ { \tl_set:Nn \g_@@_encoding_tl { utf8 } },
+ encoding / GBK .code:n =
+ {
+ \@@_if_unicode_engine:TF
+ {
+ \tl_set:Nn \g_@@_encoding_tl { utf8 }
+ \msg_warning:nn { zhlipsum } { unicode-engine }
+ }
+ { \tl_set:Nn \g_@@_encoding_tl { gbk } }
+ },
+ encoding / unknown .code:n =
+ { \msg_error:nnn { zhlipsum } { encoding-invalid } {#1} },
+ encoding .value_required:n = true,
+ encoding .initial:n = { UTF8 },
% \end{macrocode}
-% 获得循环的开始位置。
+% \end{macro}
+%
+% 处理未知选项。
% \begin{macrocode}
- \int_compare:nTF { #1 <= \c_@@_max_par_number_int }
- { \int_set:Nn \l_@@_begin_int { #1 } }
- {
- \int_set_eq:NN \l_@@_begin_int
- \c_@@_max_par_number_int
- }
+ unknown .code:n =
+ { \msg_error:nn { zhlipsum } { unknown-option } }
+ }
+% \end{macrocode}
+%
+% 提示信息。
+% \begin{macrocode}
+\msg_new:nnn { zhlipsum } { unicode-engine }
+ {
+ You~ are~ now~ using~ Unicode~ engine~ \c_sys_engine_str. \\
+ Encoding~ "GBK"~ is~ invalid.~ Changed~ into~ UTF8.
+ }
+\msg_new:nnn { zhlipsum } { encoding-invalid }
+ {
+ Encoding~ "#1"~ is~ invalid. \\
+ Available~ encodings~ are~ "UTF8"~ and~ "GBK".
+ }
+\msg_new:nnn { zhlipsum } { unknown-option }
+ { Package~ option~ "\l_keys_key_tl"~ is~ unknown. }
+% \end{macrocode}
+%
+% 将宏包选项传给 |zhlipsum/option|。
+% \begin{macrocode}
+\ProcessKeysOptions { zhlipsum / option }
+% \end{macrocode}
+%
+% 根据编码读入假文文本定义文件。
+% \begin{macrocode}
+\@@_input_def_file:N \g_@@_encoding_tl
% \end{macrocode}
-% 获得循环的结束位置。
+%
+% \subsection{核心函数}
+%
+% \begin{macro}{\zhlipsum}
+% 输出假文,可选参数表示段落数,默认为 |1-3|。命令前后均插入了
+% |\par|,以便强制分段。带星号的命令在假文主体间不分段。
% \begin{macrocode}
- \IfNoValueTF { #2 }
+\NewDocumentCommand \zhlipsum
+ { s >{ \SplitArgument { 1 } { - } } O{ 1 - 3 } }
+ {
+ \@@_process_par_number:nn #2
+ \par
+ \IfBooleanTF {#1}
{
- \int_set_eq:NN \l_@@_end_int
- \l_@@_begin_int
+ \zhlipsum_print_multi_no_par:VVV
+ \l_@@_begin_int \l_@@_step_int \l_@@_end_int
+ \par
}
{
- \int_compare:nTF { #2 <= \c_@@_max_par_number_int }
- { \int_set:Nn \l_@@_end_int { #2 } }
- {
- \int_set_eq:NN \l_@@_end_int
- \c_@@_max_par_number_int
- }
+ \zhlipsum_print_multi:VVV
+ \l_@@_begin_int \l_@@_step_int \l_@@_end_int
}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}[int]{\l_@@_begin_int,\l_@@_end_int,\l_@@_step_int}
+% 循环的开始、结束和步长。
+% \begin{macrocode}
+\int_new:N \l_@@_begin_int
+\int_new:N \l_@@_end_int
+\int_new:N \l_@@_step_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\@@_process_par_number:nn}
+% \changes{v0.3}{2017/07/28}{改为内部函数。}
+% 处理段落数参数。
+% \begin{macrocode}
+\cs_new:Npn \@@_process_par_number:nn #1#2
+ {
% \end{macrocode}
-% 开始位置在结束位置之前时,步长为 1,否则为 $-1$。
+% 获得循环的开始位置和结束位置。
+% \begin{macrocode}
+ \@@_process_par_number_aux:Nn \l_@@_begin_int {#1}
+ \IfNoValueTF {#2}
+ { \int_set_eq:NN \l_@@_end_int \l_@@_begin_int }
+ { \@@_process_par_number_aux:Nn \l_@@_end_int {#2} }
+% \end{macrocode}
+% 开始位置在结束位置之前时,步长为 $1$,否则为 $-1$。
% \begin{macrocode}
\int_compare:nTF
{ \l_@@_begin_int <= \l_@@_end_int }
@@ -323,63 +515,60 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\zhlipsum_print_multi_par:nn}
+% \begin{macro}[aux]{\@@_process_par_number_aux:Nn}
+% 与最大段落数进行比较,防止下标越界。
+% \begin{macrocode}
+\cs_new:Npn \@@_process_par_number_aux:Nn #1#2
+ {
+ \int_compare:nTF { #2 <= \c_@@_max_par_number_int }
+ { \int_set:Nn #1 {#2} }
+ { \int_set_eq:NN #1 \c_@@_max_par_number_int }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhlipsum_print_multi:nnn,
+% \zhlipsum_print_multi:VVV}
% 输出带段落的假文。
% \begin{macrocode}
-\cs_new:Npn \zhlipsum_print_multi_par:nn #1 #2
+\cs_new:Npn \zhlipsum_print_multi:nnn #1#2#3
{
- \@@_process_par_number:nn { #1 } { #2 }
- \int_step_inline:nnnn
- { \l_@@_begin_int }
- { \l_@@_step_int }
- { \l_@@_end_int }
- {
- \@@_print_single:N { ##1 }
- \par
- }
+ \int_step_inline:nnnn {#1} {#2} {#3}
+ { \@@_print_single:n {##1} \par }
}
+\cs_generate_variant:Nn \zhlipsum_print_multi:nnn { VVV }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\zhlipsum_print_multi_no_par:nn}
+% \begin{macro}{\zhlipsum_print_multi_no_par:nnn,
+% \zhlipsum_print_multi_no_par:VVV}
% 输出不带段落的假文。
% \begin{macrocode}
-\cs_new:Npn \zhlipsum_print_multi_no_par:nn #1 #2
+\cs_new:Npn \zhlipsum_print_multi_no_par:nnn #1#2#3
{
- \@@_process_par_number:nn { #1 } { #2 }
- \int_step_inline:nnnn
- { \l_@@_begin_int }
- { \l_@@_step_int }
- { \l_@@_end_int }
- {
- \@@_print_single:N { ##1 }
- }
+ \int_step_inline:nnnn {#1} {#2} {#3}
+ { \@@_print_single:n {##1} }
}
+\cs_generate_variant:Nn \zhlipsum_print_multi_no_par:nnn { VVV }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\zhlipsum}
-% 输出假文,可选参数表示段落数,默认为 |1-3|。
-% 命令前后均插入了 |\par|,以便强制分段。
-% 带星号的命令在假文主体间不分段。
+% \begin{macro}[int]{\@@_print_single:n}
+% \changes{v0.3}{2017/07/28}{改为内部函数。}
+% 输出第 $n$ 段假文。方法是将段落数 $n$ 先转换成罗马数字,再组成
+% 完整命令。目前仅支持简体中文。
% \begin{macrocode}
-\NewDocumentCommand \zhlipsum
- { s >{ \SplitArgument { 1 } { - } } O{ 1 - 3 } }
+\cs_new:Npn \@@_print_single:n #1
{
- \par
- \IfBooleanTF { #1 }
- {
- \zhlipsum_print_multi_no_par:nn #2
- \par
- }
- { \zhlipsum_print_multi_par:nn #2 }
+ \str_set:Nx \l_@@_tmpa_str { \int_to_roman:n {#1} }
+ \str_put_left:Nn \l_@@_tmpa_str { c_@@_text_zh_cn_ }
+ \str_put_right:Nn \l_@@_tmpa_str { _tl }
+ \use:c { \str_use:N \l_@@_tmpa_str }
}
% \end{macrocode}
% \end{macro}
%
-% 读入假文文本定义文件。
% \begin{macrocode}
-\file_input:n { zhlipsum-zh-cn.def }
%</package>
% \end{macrocode}
%
@@ -392,7 +581,7 @@
% 由 \url{http://www.cancms.com/content/dummytext} 网站生成,
% 略有改动。
%
-% \begin{macro}{\c_@@_i_tl}
+% \begin{variable}[int]{\c_@@_i_tl}
% 第 1 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_i_tl
@@ -413,9 +602,9 @@
所界走置派农难取眼,并细杆至志本。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_ii_tl}
+% \begin{variable}[int]{\c_@@_ii_tl}
% 第 2 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_ii_tl
@@ -436,9 +625,9 @@
铁看年程第则于去,且它后基格并下,每收感石形步而。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_iii_tl}
+% \begin{variable}[int]{\c_@@_iii_tl}
% 第 3 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_iii_tl
@@ -460,7 +649,7 @@
边建按划近些派民越,更具建火法住收保步连。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
% 以下还有 47 段,此处从略。
%
@@ -470,7 +659,7 @@
%
% \begin{implementation}
%
-% \begin{macro}{\c_@@_iv_tl}
+% \begin{variable}[int]{\c_@@_iv_tl}
% 第 4 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_iv_tl
@@ -491,9 +680,9 @@
置进义。治风理年构族业酸整要第,认取历难丽园变队。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_v_tl}
+% \begin{variable}[int]{\c_@@_v_tl}
% 第 5 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_v_tl
@@ -515,9 +704,9 @@
车图命辆该。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_vi_tl}
+% \begin{variable}[int]{\c_@@_vi_tl}
% 第 6 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_vi_tl
@@ -538,9 +727,9 @@
更心办要养任除并,者述水带称白。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_vii_tl}
+% \begin{variable}[int]{\c_@@_vii_tl}
% 第 7 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_vii_tl
@@ -562,9 +751,9 @@
音,什日学术等次。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_viii_tl}
+% \begin{variable}[int]{\c_@@_viii_tl}
% 第 8 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_viii_tl
@@ -586,9 +775,9 @@
件多如届两列性严拉。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_ix_tl}
+% \begin{variable}[int]{\c_@@_ix_tl}
% 第 9 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_ix_tl
@@ -609,9 +798,9 @@
一院却阶候,组准李年美坟林共值。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_x_tl}
+% \begin{variable}[int]{\c_@@_x_tl}
% 第 10 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_x_tl
@@ -632,9 +821,9 @@
型伯列。领条看的低细,南月这专处,济李我原。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xi_tl}
+% \begin{variable}[int]{\c_@@_xi_tl}
% 第 11 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xi_tl
@@ -656,9 +845,9 @@
研,程束步伸过音。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xii_tl}
+% \begin{variable}[int]{\c_@@_xii_tl}
% 第 12 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xii_tl
@@ -679,9 +868,9 @@
青,管品联便。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xiii_tl}
+% \begin{variable}[int]{\c_@@_xiii_tl}
% 第 13 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xiii_tl
@@ -702,9 +891,9 @@
油的物力队济持且量,县都两码表杰隶。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xiv_tl}
+% \begin{variable}[int]{\c_@@_xiv_tl}
% 第 14 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xiv_tl
@@ -726,9 +915,9 @@
型压规么把整器候,义白各议万次伶到济支。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xv_tl}
+% \begin{variable}[int]{\c_@@_xv_tl}
% 第 15 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xv_tl
@@ -750,9 +939,9 @@
水材蹦杏束码每利。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xvi_tl}
+% \begin{variable}[int]{\c_@@_xvi_tl}
% 第 16 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xvi_tl
@@ -773,9 +962,9 @@
院,个存何片水按传头风育多,更第弦代造必斗了但军。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xvii_tl}
+% \begin{variable}[int]{\c_@@_xvii_tl}
% 第 17 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xvii_tl
@@ -796,9 +985,9 @@
毛众或。美装外状切保西金基,清中意很提队已,可式束型飞十科。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xviii_tl}
+% \begin{variable}[int]{\c_@@_xviii_tl}
% 第 18 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xviii_tl
@@ -819,9 +1008,9 @@
层同已声张同建建,权这深斯制张处区直水。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xix_tl}
+% \begin{variable}[int]{\c_@@_xix_tl}
% 第 19 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xix_tl
@@ -843,9 +1032,9 @@
住。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xx_tl}
+% \begin{variable}[int]{\c_@@_xx_tl}
% 第 20 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xx_tl
@@ -866,9 +1055,9 @@
目报然属系,众历军出上外求究,回或葬精芽部。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxi_tl}
+% \begin{variable}[int]{\c_@@_xxi_tl}
% 第 21 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxi_tl
@@ -889,9 +1078,9 @@
到型详歼选放最。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxii_tl}
+% \begin{variable}[int]{\c_@@_xxii_tl}
% 第 22 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxii_tl
@@ -912,9 +1101,9 @@
劳决,型复角克验扯。结这日府火其月果,日取济入图。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxiii_tl}
+% \begin{variable}[int]{\c_@@_xxiii_tl}
% 第 23 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxiii_tl
@@ -935,9 +1124,9 @@
业究己现派当运却着,却飞照进大极更面可细图又。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxiv_tl}
+% \begin{variable}[int]{\c_@@_xxiv_tl}
% 第 24 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxiv_tl
@@ -958,9 +1147,9 @@
学响西计六观人影,斯除更放委族率克。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxv_tl}
+% \begin{variable}[int]{\c_@@_xxv_tl}
% 第 25 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxv_tl
@@ -981,9 +1170,9 @@
来。观等反公消委回切,元织增义物只象火,每建型豆你需。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxvi_tl}
+% \begin{variable}[int]{\c_@@_xxvi_tl}
% 第 26 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxvi_tl
@@ -1002,9 +1191,9 @@
格持织四无交各日周,格给这边南方想土片月正类。论图论构。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxvii_tl}
+% \begin{variable}[int]{\c_@@_xxvii_tl}
% 第 27 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxvii_tl
@@ -1025,9 +1214,9 @@
花,这报期两级与各识节杏化。问志长积义,调里包响声,详医励。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxviii_tl}
+% \begin{variable}[int]{\c_@@_xxviii_tl}
% 第 28 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxviii_tl
@@ -1049,9 +1238,9 @@
回,计为听芦贡。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxix_tl}
+% \begin{variable}[int]{\c_@@_xxix_tl}
% 第 29 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxix_tl
@@ -1072,9 +1261,9 @@
照第。走一委理长流团,书议交林斯,内京需在。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxx_tl}
+% \begin{variable}[int]{\c_@@_xxx_tl}
% 第 30 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxx_tl
@@ -1096,9 +1285,9 @@
保持加利必蠢没罐织三那。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxi_tl}
+% \begin{variable}[int]{\c_@@_xxxi_tl}
% 第 31 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxi_tl
@@ -1119,9 +1308,9 @@
包从话,历林接照满飞处广验设达,组取理把些改别空。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxii_tl}
+% \begin{variable}[int]{\c_@@_xxxii_tl}
% 第 32 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxii_tl
@@ -1142,9 +1331,9 @@
解后决细关,更龙争极学电各器资,再才求五众候。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxiii_tl}
+% \begin{variable}[int]{\c_@@_xxxiii_tl}
% 第 33 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxiii_tl
@@ -1165,9 +1354,9 @@
弦示走在系。区大布进划民率能美标带,展美段究听杨上才月。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxiv_tl}
+% \begin{variable}[int]{\c_@@_xxxiv_tl}
% 第 34 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxiv_tl
@@ -1188,9 +1377,9 @@
低持,选公东联完结际思飞划,切华弦治员扯路下斯。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxv_tl}
+% \begin{variable}[int]{\c_@@_xxxv_tl}
% 第 35 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxv_tl
@@ -1212,9 +1401,9 @@
位,标取材呈束奋低公。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxvi_tl}
+% \begin{variable}[int]{\c_@@_xxxvi_tl}
% 第 36 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxvi_tl
@@ -1235,9 +1424,9 @@
该,也计热五难上名加造,情海精造采。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxvii_tl}
+% \begin{variable}[int]{\c_@@_xxxvii_tl}
% 第 37 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxvii_tl
@@ -1258,9 +1447,9 @@
史次员断,情政无转商区成其,明世屈芽置观高。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxviii_tl}
+% \begin{variable}[int]{\c_@@_xxxviii_tl}
% 第 38 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxviii_tl
@@ -1282,9 +1471,9 @@
线,片贡再罐为。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xxxix_tl}
+% \begin{variable}[int]{\c_@@_xxxix_tl}
% 第 39 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xxxix_tl
@@ -1305,9 +1494,9 @@
族,速知增界验关据,而辰抓次敌。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xl_tl}
+% \begin{variable}[int]{\c_@@_xl_tl}
% 第 40 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xl_tl
@@ -1328,9 +1517,9 @@
回照织由走政可美至,走毛极更英专。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xli_tl}
+% \begin{variable}[int]{\c_@@_xli_tl}
% 第 41 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xli_tl
@@ -1352,9 +1541,9 @@
中还当辅半。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xlii_tl}
+% \begin{variable}[int]{\c_@@_xlii_tl}
% 第 42 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xlii_tl
@@ -1375,9 +1564,9 @@
本刷写究间覆。积品很市火线的个,识写深步龙都,质村约折果片。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xliii_tl}
+% \begin{variable}[int]{\c_@@_xliii_tl}
% 第 43 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xliii_tl
@@ -1398,9 +1587,9 @@
家,如那酸龙现石工,即丽位型主军。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xliv_tl}
+% \begin{variable}[int]{\c_@@_xliv_tl}
% 第 44 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xliv_tl
@@ -1422,9 +1611,9 @@
属不内济正四,过层孟计杨起里连身。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xlv_tl}
+% \begin{variable}[int]{\c_@@_xlv_tl}
% 第 45 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xlv_tl
@@ -1445,9 +1634,9 @@
理说转角段万,具即明流压实先,向鹰识刷。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xlvi_tl}
+% \begin{variable}[int]{\c_@@_xlvi_tl}
% 第 46 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xlvi_tl
@@ -1469,9 +1658,9 @@
态。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xlvii_tl}
+% \begin{variable}[int]{\c_@@_xlvii_tl}
% 第 47 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xlvii_tl
@@ -1492,9 +1681,9 @@
极九从精极素少到,斗常装求矿求重。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xlviii_tl}
+% \begin{variable}[int]{\c_@@_xlviii_tl}
% 第 48 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xlviii_tl
@@ -1515,9 +1704,9 @@
拉表拉少本总报,多多为特内村林。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_xlix_tl}
+% \begin{variable}[int]{\c_@@_xlix_tl}
% 第 49 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_xlix_tl
@@ -1539,9 +1728,9 @@
市承足助秩使赤。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\c_@@_l_tl}
+% \begin{variable}[int]{\c_@@_l_tl}
% 第 50 段。
% \begin{macrocode}
\tl_const:Nn \c_@@_l_tl
@@ -1563,7 +1752,7 @@
葡己。
}
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
% \end{implementation}
%
@@ -1578,4 +1767,47 @@
%
% \end{implementation}
%
+% \DisableImplementation
+%
+% \begin{implementation}
+%
+% \begin{macrocode}
+%<ex-utf8>\documentclass[UTF8]{ctexart}
+%<ex-utf8>\usepackage[encoding=UTF8]{zhlipsum}
+%<ex-gbk>\documentclass[GBK]{ctexart}
+%<ex-gbk>\usepackage[encoding=GBK]{zhlipsum}
+%<*(ex-utf8|ex-gbk)>
+\begin{document}
+\def\parcmd{\texttt{\textbackslash par}}
+
+\section{Basic}
+\zhlipsum
+
+\section{Different fonts}
+{\songti \zhlipsum[1]}
+
+{\heiti \zhlipsum[2]}
+
+{\fangsong \zhlipsum[3]}
+
+{\kaishu \zhlipsum[4]}
+
+\section{Single paragraph}
+\zhlipsum[55]
+
+\section{With `\parcmd'}
+Some text before lorem ipsum.
+\zhlipsum[0-1]
+Some text after lorem ipsum.
+
+\section{Without `\parcmd'}
+Some text before lorem ipsum.
+\zhlipsum*[0-500]
+Some text after lorem ipsum.
+\end{document}
+%</(ex-utf8|ex-gbk)>
+% \end{macrocode}
+%
+% \end{implementation}
+%
% \Finale
diff --git a/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.ins b/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.ins
index 5e3a3620ea1..449ab8e2589 100644
--- a/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.ins
+++ b/Master/texmf-dist/source/latex/zhlipsum/zhlipsum.ins
@@ -1,34 +1,40 @@
%%
-%% Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
+%% This is file `zhlipsum.ins',
+%% generated with the docstrip utility.
%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. The latest version of this license is in:
+%% The original source files were:
%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Xiangdong Zeng.
-%%
-%% This work consists of the files zhlipsum.dtx
-%% zhlipsum.ins
-%% README.md
-%% and the derived files zhlipsum.pdf
-%% zhlipsum.sty
-%% zhlipsum-zh-cn.def.
-%%
-
+%% zhlipsum.dtx (with options: `install')
+%%
+%% Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Xiangdong Zeng.
+%%
+%% 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-example-utf8.tex,
+%% zhlipsum-example-gbk.tex,
+%% zhlipsum.pdf,
+%% and README.md.
+%%
\input ctxdocstrip.tex
-
\keepsilent
-\usedir{tex/latex/zhlipsum}
-
\preamble
Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
@@ -47,20 +53,32 @@
The Current Maintainer of this work is Xiangdong Zeng.
- This work consists of the files zhlipsum.dtx
- zhlipsum.ins
- README.md
- and the derived files zhlipsum.pdf
- zhlipsum.sty
- zhlipsum-zh-cn.def.
+ 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-example-utf8.tex,
+ zhlipsum-example-gbk.tex,
+ zhlipsum.pdf,
+ and README.md.
\endpreamble
-\generate
- {
- \file{zhlipsum.sty} {\from{\jobname.dtx}{package}}
- \file{zhlipsum-zh-cn.def} {\from{\jobname.dtx}{zh-cn}}
- }
+\generate{
+ \usedir{tex/latex/zhlipsum}
+ \file{\jobname.sty} {\from{\jobname.dtx}{package}}
+ \file{\jobname-zh-cn-utf8.def} {\from{\jobname.dtx}{zh-cn,utf8}}
+ \file{\jobname-zh-cn-gbk.def} {\from{\jobname.dtx}{zh-cn,gbk}}
+ \usedir{doc/latex/zhlipsum/example}
+ \usepreamble\emptypreamble
+ \usepostamble\emptypostamble
+ \file{\jobname-example-utf8.tex} {\from{\jobname.dtx}{ex-utf8}}
+ \file{\jobname-example-gbk.tex} {\from{\jobname.dtx}{ex-gbk}}
+ \usedir{doc/latex/zhlipsum}
+ \nopreamble\nopostamble
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+}
\obeyspaces
\Msg{****************************************************}
@@ -68,12 +86,13 @@
\Msg{* To finish the installation you have to move the *}
\Msg{* following file into a directory searched by TeX: *}
\Msg{* *}
+\Msg{* zhlipsum.sty *}
+\Msg{* zhlipsum-zh-cn-utf8.def *}
+\Msg{* zhlipsum-zh-cn-gbk.def *}
+\Msg{* *}
\Msg{* The recommended directory is *}
\Msg{* TDS:tex/latex/zhlipsum *}
\Msg{* *}
-\Msg{* zhlipsum.sty *}
-\Msg{* zhlipsum-zh-cn.def *}
-\Msg{* *}
\Msg{* To produce the documentation run the file *}
\Msg{* zhlipsum.dtx through XeLaTeX. *}
\Msg{* *}
@@ -82,3 +101,6 @@
\Msg{****************************************************}
\endbatchfile
+\endinput
+%%
+%% End of file `zhlipsum.ins'.
diff --git a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-gbk.def b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-gbk.def
new file mode 100644
index 00000000000..4ff07a91df6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-gbk.def
@@ -0,0 +1,906 @@
+%%
+%% This is file `zhlipsum-zh-cn-gbk.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zhlipsum.dtx (with options: `zh-cn,gbk')
+%%
+%% Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Xiangdong Zeng.
+%%
+%% 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-example-utf8.tex,
+%% zhlipsum-example-gbk.tex,
+%% zhlipsum.pdf,
+%% and README.md.
+%%
+\GetIdInfo $Id: zhlipsum.dtx 0.4 2017-09-16 12:00:00Z Xiangdong Zeng <pssysrq@163.com> $
+ {Simplified Chinese dummy text with GBK encoding (for zhlipsum)}
+\ProvidesExplFile{\ExplFileName-zh-cn-gbk.def}
+ {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+\tl_const:Nn \c__zhlipsum_text_zh_cn_i_tl
+ {
+ ɣָЧ֦뼫־λ
+ ܰ㣬ȻȡʹŹ֤أӢѳְ顣ýǧ
+ ̰ܾݼԪдֱšʼÿ࣬
+ ͸ðȡ·ѧȷᵥٳũ
+ ͷ߿˵û彻·ڸܡתסУһ
+ ͨԷǽãѹ뻨ϵȻܴ
+ ̳ʡϵҪʷҲ飬ٹƷֱս
+ д㱾ũ棬ֹʾӿʾ
+ Ӵ豭ϸȡƽʱ
+ ϵºںõңũ־ӿʻҾϻÿأ
+ ǻ߷ţТָϸ޲Уѹƺ
+ ӣ뼫ˮ֧ظߣ꣬ӽ
+ κţθũꡣʡؿƳ̽ɫʲ
+ ũȡۣϸ־
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_ii_tl
+ {
+ ˮţ׼Ҿո㣬ܼ¡ÿȿ
+ ס´󣬾ƽ֣ʡΰվ˽֤Ԫߵ
+ ҵ㣬ȫݼҽࡣָ
+ غ͵û״׷СٸӦŷסɼͬ
+ ȣֲִѯͳ˹αڹأϵ
+ ֮չϰҲᡣֵʾǰ־͹ʹ
+ ⣬⺵ս֮Ӱͷ͹ȷ
+ ܾС׼γ̼dzּ־ʱݾݼʽ
+ ̫ͷҲ֮սѹɼã便תͳ
+ Ҿߵӡ˼ҪѹüΣ
+ ᡣױذѴǧ֤
+ ԽԺۡƬļƬϹ뻯λ˹Һ򣬽
+ ϡʱԱдʼάɫ嵥ԭס
+ ̵ȥ£ÿոʯβ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_iii_tl
+ {
+ ѧȫʼȻѹʷãסdz
+ ߷ݽѧר֧ϵ״ί飬²ǰ
+ භƬ˼־ƽƷ飬Ⱥء
+ ׼ʡָʽϾͼ㣬żơճ
+ Уƽۺϴ徿гʼ١
+ ۼݹУʽٵIJרƵֶͣ
+ ȴıġͬٹв뼫ҽǿʺ
+ ֻعũƾݣƽԺˮͼѱ
+ ضΣͽʢʶԴ飬˼׼
+ ¶ϸ㣬¶ʲѽIJµȹÿ彻ͳ
+ ֱ±׻١ԪǰܵشȨڣȫ״¼
+ ֵϡͳÿ㣬֣֯
+ աڻȫȴɿϤ֮׹ۣ֤ȴ
+ ηίͬ죬ڴӵҲߵݴϣŷǼ
+ ߽ЩԽ߽סձ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_iv_tl
+ {
+ űؽѡֵרʣĶμͷ
+ ¡ӻ⵫׾ߵػϵ¼ܴ
+ ǰסȡͨũ֮ҵ٣ܶϼԡȴǧ
+ ƷȫӣѯԱ֡ԺĿÿߣ
+ ⳣסʵǣӦȴԱԴչķԼü
+ תؼãŲ֡ϰСëǷ
+ γν졣ͷëֻضҵ㣬Ⱥ
+ ¾ǼֱŷԲһ֪׾
+ ǧ־֧ѧũ˹ϺμӻȻдȨԽ
+ ɫͲεسҪڶϹʱѹģ
+ 붹;㣬Щ
+ 㡣ԺûճƸ֣߼СͨʾԱִ
+ ־Ҵʶֱתˢλ
+ ý塣η깹ҵҪڣȡ԰ӡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_v_tl
+ {
+ ̫ϷӰëɣۼ˼۲鷴¶ʿ
+ ܲӶʽʽƬŶ˵֧
+ ಿֻΣʯ죬ˮ϶
+ üǸо֣ĥٴġ
+ ĸ꣬ȡ㳣򽨡ѹױǿȷ
+ 򣬺ܳʡлƷպ֣ɾݱȻȣ
+ ηûʼ֪㣬סǿάʶתҽͨ
+ ڡƬʡʽУôר״άߣΰֻ
+ ˢҪͬ塣ϼ֮㣬ʶϰ
+ ʱǧȨǣûԱݸЩȨʱ
+ 룬ý죬컪۾߶ȵԱ̻СǰƬ
+ λϵܳſɽʯʱڰ̣
+ ʵ廮˹ȴ塣ͳͳ⣬Զ
+ ЩѡϵҪ²·ʶ˵ԭ룬
+ ͼá
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_vi_tl
+ {
+ ڲѡƺѱҵװԼʼජ֮Բ
+ 㡣Ժڴܴסȣǧ֮
+ λӦëʵȫϰʵҾߡ
+ ״ϵ鼰߸ڣܸɫװЩǧֱ
+ ˡѧ߸Ⱥ⣬ʡżýӰԣѯ尴ֻϵ
+ άʸﺣɣֵĿ䱨ʹɴ
+ ſлΡίԺᡣϸ
+ ֱǿͣƽָ֮أԱԺǡֱ
+ ݻϰ˲ʹ֤д
+ ϰûŰ岿ʽֵ
+ ңҪͻ½ңǧʲųƷλ
+ ʵӣͳʮͷũڹ˿¶ˮ
+ ʷƷũϣûһҵܹܱɵȫ
+ İҪγˮưס
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_vii_tl
+ {
+ һﰴϽûʡʶȻʽʽ˹԰λ
+ šȲڶȱսΪֵװϵѹɿдϺ
+ ¶۶ǰѡʯֽ̽ʯ磬׳ʲ£Ҫ
+ ʡԽսѹʱ߻⣬ʾʾֱ
+ ѡ䣬ԭʹ˵ѧб괫죬֧顣۸
+ ͰʶѡȺжɫ٣ϴСءɽѹ
+ ͷҵأչؽΪ˹˹ʵʳϰ
+ ʷô֪ظǧᡣͨλԱʯ˼
+ 𣬺нĥļϸίϣӰغγս
+ 屻֧֡ʽ˼ĸûѧͼʱ
+ ѡǿҪ磬ˮɴ㣬¶ֱļ
+ ʮȨȨкϲɶ֤ܾĸڳס
+ ĿָѧϰԱ괫нװʯ֧С
+ Ⱥʱ꾥С˹ޣȫʼЧ
+ ʲѧȴΡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_viii_tl
+ {
+ ƹ֧ɫսԪӦͶʹȺ
+ ô׼аʡֹޡչݺƬ
+ أԼɫСԱ߹ض߹ίգƷ˽֣̰
+ ԰ֵ֯Ҳǵңס
+ ã¼Ϲ˵ֻǧ٣Ⱥ
+ ΡɽֻףȷʱԺۡ
+ ˵̰廨ߵƣҽ׼ά
+ ֱ֤ͷתƽÿԿȥ
+ ֱԺԲ߲֤֮ȷʽڽ
+ ¼ӹ档ĿƹйϸûװΪ죬Ƭб
+ סרϣɣƽǧǡӰļ
+ ЧʸԣʹĿϵġ֧
+ ּ⣬ԱȨûҵͳ̡ѹס
+ ͣơڶָС̶θС־ˣЧ
+
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_ix_tl
+ {
+ άƣýʾСֵԪԪӶ
+ ֣װʽҰջ˹Ӧ
+ ɷսʼίַȥ㡣ѹ֤Ͽʣʹ
+ ʣ㶶ҵʽðϸʯڲ壬Ƭ߳û
+ ˮǣȴԺظ³Сӽ⣬֯˼ǽ
+ ҽҹ¡ʹģ׽ڲ־ͳֵɥ
+ ȷΪڼþǹٽ
+ ҴյݲűأԴˣƷ԰ʯά
+ Ҳũ߶ӿڽףѽѯꡣƬ޶
+ ֧ͷ˼ʣܱ뼼֣Ⱥ·Ǵ塣
+ ǣ֤ű˼ʯʵѽ취
+ ʾƷ⣬ԪΧΡ׼תչӦϰ
+ ֱЩТǶղãʮ
+ һԺȴ׺׼ֵֹ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_x_tl
+ {
+ һŽʮƣϰԼͷۡ
+ ڴӣ粿ָ꣬뼴㡣Ƭת֪
+ ᣬʽ⣬ſ˴֪һԱе
+ ĿذΪ½˹ëչ
+ ʹϻꡣʲûᣬ
+ 졣ķʹϰչκżƣٶϰظ˹ͳë
+ ָͼͷţĿλʱȴ
+ ɷһ챨ʲͶߡëȻ֣ȷֵ
+ ǶȣűӦ׻ؿ˽ʽеýϱȸȡ
+ ʷҪʱʽĸȡ黮ξС
+ ʱ塣֮꣬δɰ
+ ǰϵԺӦЩʼʣչԱ
+ ÿմӲĹ¡´ôߴ֣ͨ
+ ͲСĵϸרԭ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xi_tl
+ {
+ ʱѹͷ߷̴ɣ׼̫
+ աʼĿİɣԭװףŶ̫ѩ
+ ڣڶ³ٴӶũӥܷ˵س
+ ͣԱ֪ȷԽ˽λ֯ˣ
+ ıװϣһĿȫר򡣵ǰëĿë
+ ʷʼΧҿܱܺԪԺά֧
+ ᣬҽǹ·Աũʱ߳ԭ
+ 縴ɫΧղ˼Ҵ
+ ش׼תٰտ˸ϵ
+ ˼ַܱӦ̫֮֯Ҿѧ
+ ܼθԺ淴豸ʾͬ
+ ڣ׼סԪʹֻ㣬Ա˽Ծܰ롣״
+ Ʒʯ뷽ԾֶΣΧ϶
+ ֧ȡȨȥѯû롣ھ쾿˵
+ У
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xii_tl
+ {
+ ȫ¿飬幹ڽǻᣬͽٶѹ
+ ȫСԼ̣֤־ʣʾɥʢѧס
+ Ա֧ϸʽȷУչ˿۳Ƽÿѡȴָȡ
+ ̱ܸ֯ԱȴʽҪ
+ ͹ϰɫȫȺ˹غ׼ˮ
+ սΪṹַʴϰŰѡջԺգ
+ ˽и״Խ°׺η뼼
+ ֻպܳףάƬߡͳ⣬
+ ϰͳܰ켫첼ʡӦչװԺ˹½
+ ŹӸĽĻίԽڣͱعų룬
+ ÿܡʼϸ׼Ҫƹ
+ ۡʽȴͲڣȡʼ׻ӦѽС
+ ָȥߣܳûȷᱻָɽ
+ ࣬Ʒ㡣
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xiii_tl
+ {
+ ֻӻɲҪ͸ﶹ¡Թ
+ һͣͬԭž͡׼ũ˹
+ ԼʶãΪ֯ʹͼÿ
+ ǧдԺ۾Խס޿ŸУ
+ СװŹܿɺĴǰǰǿ
+ ʱϼȻʹʹũ
+ ţûϸ½ݹ֤סʷǻ۱
+ ѽ嵫ʵԪУͼٵ磬С
+ ijӡϸأʱǸȫ־ʵͰԱ
+ šܹͶסʼҽɻ
+ Ѿ޼츴װλӦϰ
+ ɽʹڡַƽǿȴţ
+ ֵ°ƣѡչ˹;
+ ͵Ӽóض
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xiv_tl
+ {
+ ֱ򿪽Ȼԣѯȴ
+ طάͬ뻮ͼϣǶرڳʡ
+ ·ȷԭũãýӰﵼ˱Ҫ겻Ÿǧ
+ ͼʷͨأָλ׼ѧ·Ϲ봫
+ ǣⲼܵдȨڣʸʼ
+ ǿڸĸãʹϴˡȻЧôɰʯ
+ ɫ¼˽Ȱ¾ͼҪΪ棬ʵȻ֣
+ ˢԲϹͲ˵Ĵ̣ǰҪΪϵ
+ һ˼÷ķ»ͼС
+ ֤ͨʮ·ʵзȥܸдͳ
+ صȳڣ̫ÿּȡ
+ أ־̣Աδ塣ȥسִڣ
+ ҽô䡣ָӻȸij꣬ſƱֵ
+ ͨϣ񹲱۰չȹǰ
+ ѹô׸浽֧
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xv_tl
+ {
+ չдתҵʰٿȷȺʹװڻڣ
+ ܲ죬ѧնúŶҪԪһ˼
+ ͡ʡٵ׼ȡʹ껰װʶͬ
+ 취ֻ׷ɸԽȨЧΪǡƽ֪
+ ӷƷ١ʿǾݱϹѯҡ
+ ͳþػ͡Ȼʲ̺ר
+ ·Ϊ״Ҫ״дʶȫĽ
+ ңDzʷۣɥɡϸά޹Щͳ
+ ҪʾԣٲٲëͼԲã
+ ʢʵǧдֹ·Ժм
+ ֻǧ۴ȷסȥȻϱߣëȡ񣬽
+ ۻͼͳԼϲʽƣɱ;֡
+ ͱֹϰֱûС
+ ˵롣ȷ˵ЩԪͳٸҼÿԱɽסʼ
+ ˮıÿ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xvi_tl
+ {
+ Ŀ۴೵ǧ㴦󣬾š
+ ſҲֿǿȡӢ˹ܱ켴
+ 죬תȴжͼ¶磬ϰͶ֯Ժ
+ ߣۼǧ˼԰ġݴֻԽ߾
+ ֯˼Ƕͣʵ죬·
+ סԽɡתض̫˾Լ磬Щ쾩
+ ȴʡӰѸڶЩ
+ ָῴָԲôôζϽǰѣϰȷר򱣹е
+ οҵʹϵַָξ
+ ʾ¶ЧǿҲȺ˷״ʯ
+ 壬ּܷ߾еţЧ
+ ˰ǹߵ˹ίʡ͵չʱǡ
+ ԭܰܣؽٴ档֮ũ
+ ԺƬˮͷ࣬Ҵض˵
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xvii_tl
+ {
+ Ҳչサдʽʲûɵ⣬Ӧ
+ ƽ֣³ֵؿƣٳ죬ͷ
+ ǧ֮ѵ֧ͣԽɳ׺
+ ΣܺʼʳλТӥÿ㣬
+ ѹҲΣתסȥũǰظڲĿк
+ ˹ʶֵǰǧʹղڡʼָ
+ Ⱥָ߷ũɣ֯Ⱥѡʷ
+ Ժ֮ǧôѹУѯͶʼѧǰѴʽʶ
+ ·ȫȥʿھȨͼԸ
+ ʱ¶Ƭô⣬ݣ罭
+ ԺȺꡣϰǿظʲʣʡ߽ۣ
+ ڲʮ֧㣬ͳʡӦרƽ
+ Ӱӽڽ̣Ȱ㡣Բʾգ
+ ëڻװ״бѣʽͷʮơ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xviii_tl
+ {
+ չߵ򣬵ٽֱɽ
+ ڣ·Բñ硣Ժô
+ רԺëϱӵغΰ⻪ʹʯ
+ ijǺ͸ഫȷķչеڱͨ
+ «ϸ֪ڼ˵ίţ͵֡
+ ȷƬ϶ɣ滪ǽỹڣеװ
+ ܡ뼯ˮܵÿӦǣõ
+ ѹӰԶ龩Щǿ֪òЧ
+ ֻʵͺؽûθ⽻Чǰϡ
+ ع岻ɰչзͨչɽ䡣Ӱר
+ κʼҵƽЩϸСѡԭԪԺл
+ ֣׵ͻȾѽëϰҽʯ
+ ۣȳнˡغŰ
+ ͬͬȨ˹Ŵֱˮ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xix_tl
+ {
+ дǿͶӷѻʲרξεϰ˵ֲ
+ Ͽǿ֤ҽʹɽȰ̬ˮ֣Ȼ
+ ռʼר֧У¼ʯ˹
+ 屻Ѷԣн͸װϣĿʽֱ档
+ ׼ʲƬ׽д걨սǷҵ
+ ǣʼϸڸ۴컹ĿλᶫԼߣ
+ ˼룬׼ô֮չ¿ùͷ߻
+ ңƬ컹Ҳ뼰ȴʽûָĿ͹
+ ûװǰˢ֦ʡܱάȻЩ
+ Ӷ򡣽λʹܷһǺ
+ ڵڽб⿴ʡ˹ཫס԰ԲסνDZ꣬
+ ˮ¿˹ЩƷЩˣ
+ ʵûɻũȥ㡣˼ͻʹĿ
+ 籱ãֱ񼺲ʷ㣬𲢿
+ ס
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xx_tl
+ {
+ 쿴ԲȨŰ켴أ๲ֱɰ
+ ڣû򽨡壬ض
+ ͬˮ̫Խԣ㴦
+ Ƕûͳ̬ѽͿ꣬Ҫʾ
+ սҹǧάض׺дסǰд
+ ά·ϸкչǧ˹֯ѯߡһ䣬ȵ
+ ʲΪǾ塣෽ͱظЩʾλ飬
+ 챨ǰŽԽίֵسѣ뻪
+ 롣ʶԭͳɺžԲϺϵ˽
+ ҪӡʲӴɣܵί޴Ԫʵޡ
+ öذû˼ԱԱʵʲԱɫ
+ ֵԼؽȡ֮꣬սɣʷء
+ ٵƷԼף쿴Ҹҵ֮ũ߷ɺ
+ ĿȻϵ󾿣ػᾫѿ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxi_tl
+ {
+ еƷְ㲻ַ˵֣ũ
+ Щɽɶӣ׷ƬѧӰɲá
+ ѹ֣ûţб㱼ܿ
+ 󣬲ɼ֧⽭롣ЩתֹͨǺ
+ ·⻯ߣ𶢵ͽءתԱ˾ֲ浽ڸ
+ ȡȡ飬ӷܸ񶹸ðͷѹרɫ
+ ƽУûܶҪʲ֧򣬼
+ һˢʹܲӰȺļչڣͳ˼ɽ
+ ȴ⶯սɣס״֦Ʒѯ졣ƿԭ帮գ
+ ɫ뾿켴ȻͳԵƷֻ˹
+ ԲҵʮͳŸ緽Ұٻ¶ֽëͣд
+ 򽨳ɼڸţֵ֮İӦ㵼Щ
+ ӦϸЧԱɥꡣΪѡСԼɽǿ
+ ѡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxii_tl
+ {
+ ͼɽУչ˹֧ڷ֣ܳ¡
+ ֱʯ񰴣ɹߣŰԼֿţ
+ ɫ֤磬״ָսֵ
+ ţԪΡ־ÿάۺ
+ ̣ôС״֣Ϲ㿴ȻԽ
+ ҡȻҪãʻҵ֧սȡʡ
+ õʮǧκãͼʮƣ˵ʷϱɫ
+ ʾ壬ͼԱɵѯսġ
+ ߻־ȣɺϵ¶ҵ֤ܵݸ
+ ࣬в޿ʵһףɲĺͳ֮ҵ
+ Է㡣ԲȨأȫָиս
+ ˹ѡҽ·֡Ȼ
+ 磬ǿ˲γҽѩȥסվǼָǿʶ
+ ;͸ǿ鳶ո¹ȡͼ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxiii_tl
+ {
+ ĿӶγϸͣĿʷ޴ֹԲʽȺˡ
+ ȻƣͷϾܳԽЧĹ
+ ·ȫʷ԰嶯ֹתңû
+ ̫ҡűͼͣȷմԼŵ
+ ԭģм߱Զ졣ϸϳϸĻ־
+ ʡ㣬ֻ̰ȴʾϰȻʾȳҲ
+ Ťߡ˹߽ŻȺϰôͶȵʮǰ
+ ֪Է飬İܽгǣϼ״
+ Ӱ٣˼干ƬǰӣƬˢҵ塣ؿ
+ Ƚ̼תɫƷͿ
+ ˮ¡ʽν쾩սֻʹ
+ ԭ˸ֱ״ȷŵ־ҲϰʼԺŸ
+ ôƽ̳ʮ飬ǿίֿˣԼ۴װָ
+ ҵɵȴţȴս󼫸ϸͼ֡
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxiv_tl
+ {
+ ȵͺָϽأмԲǾСͷ
+ ԽڼۼסũʲԺ
+ ϸƽ˼ֵس¸ߡʯ
+ Ҳļʣ־ʲ佫࣬ǰò
+ ΪսͱܶһʾֱëǶѹۣչ
+ Чǿѻ硣Щ˾̼Ƭǿ
+ ҵ⣬пɡά״ѡɣʽʼ蹤
+ ɽŽרӰ£¹Ϊﻰ
+ гס˼ʶϰȡֽ񣬱ع꣬˹
+ šԼѡάΣչȴ档಻
+ ׼ʹȣųֱλĸ˵塣Լ
+ أûչ磬ʮҪлʡǧ
+ Խ״׼Ŀñ硣ٵͬţ
+ ѧӰ˹ίʿˡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxv_tl
+ {
+ ʯսŻصͬرס׶
+ Լֵܰ島ټֱ߲
+ ˼û׼չԺѧά
+ 鿴ѣѹнȴȫ֤ѧȴ󣬴ɶ
+ ໹ͬϡ⹲׼貼ָʯʶ
+ أཨͼʡ²װ
+ ѹϴԪСÿڵסֻ˿ͼʯԼ
+ λǴֱС㾭Ȼգϰ
+ άҡʽԭϵʮϸܸáս
+ ϵڶҪټ̴Ե㣬ɡ
+ ӣа˴ʽάܸʱ̫ôŰʹ죬Ƚ
+ ҵʡ࣬ݺϱ֪۷ڹ
+ ʡء֪ҲλëϷǾٴӥ
+ ۵ȷίУԪֻ֯ÿͶ衣
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxvi_tl
+ {
+ ǰӺϸ࿪ϴڣѯԶǰ·
+ ߼Ʊ˽ꡣŽסճɽʽ
+ װʽ棬꽨ءɿղɻסƷ
+ Ѷֱſͼֱʵϣũ
+ գҪټսֵ¹ɣ÷Ŷȷͷǹ
+ ϱ֯ҲٸԿάҪػأҵרô
+ ܡ㱣콭׽ûɣ۴ͳЩץ
+ ״ᷨ׼ͼ˹ѹϰԲ
+ ɵĿʷȻ磬װϵʼ
+ װʸߣѱᣬɡȫʯ˸ò
+ ɼͻΪ񣬳ߺ͹ڽġȴ
+ ֯޽ܣϷƬࡣͼ۹
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxvii_tl
+ {
+ ü𻨺Щëʷָ̫Щս
+ աͷѧ廨ϼС̫ʲɽսǴィ
+ չ֧סҲʾʿᡣֱŶϣξɾ
+ Ч񻨣ӡ־ۼҼǹȺ֧ѧֵ
+ ڼʡ㻮ٹ棬ǿȣѯ޿󡣶߷ÿ
+ αڶǾɽҾߺӰգʵ֮ƽ
+ ǰӦʡչҲų˾ӡЩëɶԣΪ
+ ǣִԱ١˴־ʣȴ
+ ɣζˣҪ𼯴ǹ档֤ѧ
+ Ա˶ӣͼƹᣬɵɽӰԡౣ
+ ۴ʵ·γٷȨҰ鶭롣ֱ֤ûͼ׼
+ Ҫ嶹Žϡ¾ڲڲϣĿϸᣬ
+ ͼꡣ֪ķͬηŶס죬ָб
+ ⱨʶӻ־壬ҽ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxviii_tl
+ {
+ ʯȥʱǣ֧ӦɫչСЩ˷Ⱥ
+ ϰͲл綼Ժϰʲȹɫ
+ ־ʶ⣬תڶͷ
+ ϸ磬˹ת򣬺ʼŸ״ϸ
+ Щֳ˾ĵģֱ±ĴЩÿ顣
+ ʷϻ𰴿ɼָۣ
+ ӣؾҪֵ࣬ױȲ㡣ѹ
+ ȷƬͼ黨Ҳ̳ͬСô⼯
+ ͣظҲˣˮ󣬾̫
+ ֧ģҲˡ״ɼʹ編ʽʡӦס
+ գչָ򡣽βϳũ£ô
+ ֤ޡඨݹڿ˸ŵϰأ
+ άѡסϻר·
+ ʰ׼֤ÿ٣ʼŶ
+ أΪ«
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxix_tl
+ {
+ Ⱥػѣвٸ
+ ɣԺѧʯԭˣۿǰϳҽߵ㣬
+ ҵЩֽΣʡ˼ҽ졣ũ
+ Ⱥ߹⣬˰ѣ
+ Ϊҵɵ㣬ɫ䶹ҽ档ʯɫȺڵ
+ ר֣硣ƼЧ븴صģʽ
+ ͨ궫ǻָȫȻ
+ Աһѡˣ֯רӦ֯ɿ
+ Ὠ߰ѷ·ּԼΪر
+ ԭ˼ѹ֪Խʮҵͼ־Žظ
+ Ÿײ鸴أɽˣ·ѡ塣ɫҼ
+ 飬׺ѧָѯ޽Ű̳ۣҵأ
+ ɵܡҵתȵ֯
+ յڡһίţ齻˹ھڡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxx_tl
+ {
+ ϺεĻɽʶ޻ĴʯݶӴиʹ״֤
+ ͨ󣬸ëֱͶսǡôڻ
+ أʲַ֦عչγίũͿڣϼǸ϶ӱ
+ 綯ʽ¶ʹԺ԰ſڶӺͼ
+ סλôΡ̫Ԫֵл
+ ûż䣬ۿ顣ɾ־ʹ黮ʣ
+ ʶڲ͡Լ׼۽Ⱥѹд
+ ţű𡣽̴βԶڣ˵ʡȫϰ
+ ϸ㱣ԻҵǶŸӦ
+ ϵƷ󡣽ίչ֯ȥֻսҲͺȷ
+ ϰüëӦ֣ѵʡӦƷʹ
+ ѡ߶׸ɰֽת꣬˹˼ʾ
+ 󡣱ð빲תά׹֮
+ ֻԪʱѯǧˮּҳ򣬰
+ ּشû֯ǡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxi_tl
+ {
+ ָپˮʹסЧԭãǸ
+ ¶ԪҲ˵ǿϵ¼ũ졣ָѡ
+ ѡٺ죬ʷˮ֣¼󡣱ű
+ ֱأȻƸ㡣ľǻ֤űɣӰ
+ ᣬϱ㡣ʳϸ֪˵ã̫ٽӷɼǣ
+ λս꼯ǰӣˣ
+ ʵĿŽԭñʵҲɣԱ
+ ءûֿʷû˶ʶ·롣
+ ҵԱװԼȫҵع࣬ء
+ ԰鲽飬ϵôˮ壬֯׼¼
+ ʱֿϸڼĿİ복
+ 졣͵άԼ֤Ҫ
+ ܵӣָɣϾСܶӱԭ
+ ӻֽɴȡЩıա
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxii_tl
+ {
+ Ⱦά๲ʾ˾ϷȨ
+ ˹ǿ˲·ƽë
+ סԼƿˣɫЧ֧ϸҪ
+ 졣þ復̫ϰȻ֪ϸͷ̫Ȼ
+ ҽʼɫƽʶЧԭרʾ
+ ũƽ֡׵վ뵼ëת
+ ̫ȷԺս١λȷȻ
+ £࿴ϵ¼д֤
+ ʽкλ߼ЧϽ˽иأ
+ ĶţλѿôȻø߶
+ ʲ´֯ԣһǻ㣬
+ ̫㻨ظô顣ϰս磬ų౸л
+ ԡDZܳ׿ȼϹ㲿볽ʡü
+ ϸأѧʣٲں
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxiii_tl
+ {
+ ʶзһƬ򼸣ҵַ໭Ρ
+ ׳ٶˮ򣬶򼰱
+ áһʼ̶ͬಢƣ̴ʯ潫
+ ۾Ϊ⣬á۶϶θõ˷Ƭ
+ Ȱÿдô㣬ά
+ ֤ͣᡣʶʵ
+ ݹܸڡʲоˮգԹȡģ㼰Ⱥ
+ ֱƷᴫɣʡۻ
+ ״ҵ򣬱䵥ߡ̹⣬ֵ
+ ״ʶбȺҪȡ֪Ÿ죬ʶȺ
+ ¶ѯҪ֤ξˮƹҸ
+ λо;ʽרԪؼЧ⣬֧
+ ˮ缸õ¶ˡ׹棬װſרɲ
+ ʾϵ󲼽չξϲ¡
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxiv_tl
+ {
+ 踴רļʵ£
+ ϰӰԲʷίꡣëͳⶨ״չٿŸɿƣ
+ ί鵽dzװԼָĽ
+ ףȫɥŤʲֵĻѡ辿
+ 壬ﲿˮ̫֯ʷʹʱʼϲ
+ Ƚ¶Ӷϲġٵʡ൥ͬÿ
+ Ȼʡ׶ÿ׸֮վ˹״ţ
+ ڸϾˮ·Ժܣֱ£ͨ
+ ݣӱ߻ܡлԱݣҽ
+ ϡʱ˹ӰüͿҵҽȡϽ
+ ̷Уֹͳ黹ңĥ
+ ʹ۲̴ȷڲܺչԱֵȣ
+ תǰʻװƷ
+ ͳ֣ѡ˼ɻлԱ·˹
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxv_tl
+ {
+ ˣӰɫҵܽȷԺ
+ ɲӰѺϣŽˢѧȥֵ
+ ίݺñǻҲиɫϡ֧ϸάɽ
+ ǣ֤޸ϰգּƷ̡صΪ
+ ȣƹŰ򣬷ͨ޿¼
+ 쾫ֵиʻ缫سִִ浫
+ ôɽʶöõƷǵƬסǧ¼лá
+ Բͳӹյûʲ̫ǻ˻񽨣λ
+ ʷܡԭӰڰչбʡũʼȨٶ
+ Ķ״ƳӹﶹϵϽзȫܷԽװ
+ ͷصͼԿλسͳнʣЩڣ¶ȷ
+ ԽۡŰſƳɲֵ磬ͽ׹زɽǿλ
+ ɽ𳧵и꿴·ũܶǰ㳵Բ֧
+ ǿϽ󽭲ҪȻʡչƳֵͳ
+ λȡijܵ͹
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxvi_tl
+ {
+ λίʯɫãȰٺڲܣʱת
+ ѡ߽оżʣνë䣬Ӱ롣Բ
+ Խѡ£ǻʱߣԲ«ҽ߰ʮ
+ 壬ͣ󡣶Żʷٲʣװÿ
+ Ժֻ״װʾ飬籱ҵòհۣ
+ ڻ߿ӹⷭȻDz㼰ί˵ʯս⣬
+ ȫʼʹﵱǧἯ飬óˣ
+ ɫضⵥطɰ˽飬ȡ
+ ͼ˵ؾٻ㣬Чǧ֯ΣĿչ
+ סܻ빲ڣƬгڣ㾭չ
+ ¿ں϶־ݣÿչعȷȫһʶϰ
+ ϼ֮֯ƽûԭ״Щ֯ѿҸѡ
+ ͳίף׿жԸ¼ͬũװЧ
+ ãҲ죬麣ɡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxvii_tl
+ {
+ ƬԪˮɰƿƽ׼󻮶ֹ²Լ
+ ÿտذɷϸͬ¸ȫ١ѧϸ֯
+ 飬ֵ֮װˮ鱱Ӧ룬
+ IJųɣ¼־ǡлʷпά
+ ͼѽͨԽ׻֯רΪǻ
+ ;ܾ߳Ʋ״УӹЧ
+ ʲǡͳ㼴ɽڿڣʲ־ҽֻ
+ ÿס飬ߺ쾿ӸȿͼũŸ
+ ԽͬڲʶͿΪҼԪijǧ
+ ȴԭӰӰνˡڵҵӽԼ
+ ӣЩѡؽַ÷ӳּ䣬
+ ºϡdz֯ɳ鼸Ⱦ磬оźΣѵ˸
+ ȴҲ״ɣɻдҪϰͨͬ
+ ʷԱϣת䣬ѿù۸ߡ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxviii_tl
+ {
+ ԽʹֶּǸʮ죬ױ䶷λȡʵ¼ѯ
+ 䡣ž־ȥ˼ΣʵΣҪ
+ ϸ򲻽⣬Уϴ
+ ǿɫͳôϰ
+ Ժϴʽǿ棬ȺӰʯսá
+ Ժ˹ʴ·˹ߵȥռۣǼ¸֤
+ ״ѧ붷ױɽʾأѩǡ
+ ϵЩˮø룬ÿȷۣ˹ʶĵ
+ С׼߻߷ȡ켫ϡ
+ Ʊͳλס붯ڰ߻˴ӱߴ
+ θԪʵʱ״۽ǣĿ¶˼ڲˢʶԪѵ
+ ڣֻ鲽ȨҪС忪ȲƽΣ
+ ٸίίȴӳȺԺȴ
+ Žƽ˽֡гظ˼죬۸ľ
+ ߣƬٹΪ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xxxix_tl
+ {
+ 治ȴƬӰƷش̡
+ 򲿵̷֣շڶ壬д׾ȫ
+ ߲ʽȺͨÿһ֯Ʒ巢ű
+ Լ̫Ϻܲ¹ĿšȻ¹ôž;
+ IJೣŴ嶯¡˵Ȼʾ֣
+ ֯һС룬ȥѯӰҵ顣ëͳ
+ 磬滰á·֧Ҳηأǿκ͸
+ ˣרҵ׼רдﹲҵԼ
+ ̼ϰáͼѡ˵
+ ŸԺ㣬ҵѧά洦׼
+ ȺλˡΪԽ
+ ڣ峡ȣټļ¿ͳ
+ 壬סʲӦףǴۺο׾ϴ״
+ 壬֪ؾݣץεС
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xl_tl
+ {
+ Сպߣ̬ëɵ˹ԣ
+ ȡģε򰴻ʣ
+ ֱأ֮«ࡣŻؼ侭ǧʽֵƽʽ
+ ӳеĴ˸ֻ졣ʼʷļ᲻
+ ̫֯ϸƷٸ˱߹éᡣ
+ ֺʹͷʹûỮ˼ϸʡô
+ ䷻깲šΪͳϱ׼Ҳʯ׿ⷶԡ
+ ƼƸͷߣ飬漺ʷסشѡЧί
+ һͬ⣬ԸʮЧԭʡпڴ
+ ס죬빫Ͽɻ˺ȣʡסʹ档ʮ
+ սγȻʼӣɫʱѽ«ӽǿô
+ ĻȻԱװʷʱѯʡμ
+ లΣٵ֮ԪɡҪָڣ
+ ֯ëӢר
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xli_tl
+ {
+ ĿԼӣ岿㣬潨߹飬
+ һе磬ٿ˶ѿڡǶǿʼУѣ
+ ۶ɹı󻯣ڴԺڲɳװ
+ ¡߻򣬹ɽʽĿҪʵ
+ ȴ½ߣԺʲ֧ʵ
+ ЩѳѧӰũչʼؽѧ
+ ѧɽ˹·ԺͳѴסвë
+ ɽһۣɹСԼ߶ԣϹư뻮øͬ
+ ʶ֮ôĻҪĿýᱱʣ
+ ·ȳʾпʽλߡʹΪɳձ
+ ﰲвξڱ׾Ϸϣ
+ ֱΪսʱγ¼ǹˮ˾Ҳ˱С
+ ϣʡȨûϿ죬ǧ
+ ԼΧòҪչӹĿʲ
+ л롣
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xlii_tl
+ {
+ ѹر׼ϵζǧ߷ּ̫ι
+ 򡣿װԲһҽ׼ֱֿ֣߶ʲ
+ ѡǿ೤ȴܶ屣֯УʯԪྭ
+ ᣬҪƽӦܽȴϼۻȻ˽飬
+ ԱʹͷͶӡǼװԲǿ겼ôɽ䣬
+ ˹𡣲ǰԼͻ٣˽塣
+ ͳÿأٸȺѿ̬˵Ե
+ ˹ܸ౾ȴ塣Ժ궯ɽ̫Ժģ
+ 򷨶ÿˢͿԪ֮شͼңûάԺ
+ ΪμţͷȻⲢ⽨復Ӹԭ
+ ڸѴ֤ܸĽʲꡣ֪׶ûϹ֣
+ ȶ̹ġʵŹݸû𲼣ԼͷҲԽؾͽ
+ ͣЧϳзǹ̫ʱˮѡȷۣ
+ ˢд串ƷлߵĸʶдʴԼ۹Ƭ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xliii_tl
+ {
+ ʷǹؼԾţϸʮиίԪʹǿʯܸü
+ ٣ʽϵʽͨЧ
+ 콨סصûȷ彫
+ ׳أʡϸ׽̣ȴ
+ ȡർ硣״ʹˮԪ
+ Щϡ϶ϾסϽݣٲſʷŶ
+ ǡЩάдλҲܹ񷢴򱣡
+ Ż⣬֯ë˰ϰ֡ũ
+ ϴͽӣѯ趷ʱС
+ ֱӵйǧԽ̷Ͻĸ͡
+ ٽٸϣŽķϰﹹ
+ ֱǿͬǿҲøÿʱû
+ ƬѿưȨ㣬֧±ɴ򡣿ʽ
+ ңʯλ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xliv_tl
+ {
+ Լƽܻ𲻣ڻュྥʽҽϳһ
+ ʵ̫Ȩô¹صرǿ˹֧ȵڡɫϸ
+ ɽίԪ϶߰硣һȺ
+ ѹּ¶ԽᡣѸ֤
+ ƣչףҲ֡ıӰʯ
+ ϶ֱɺòľÿʱϽˢ
+ װ׼Խǰ¹ʼն࣬۰ɴ顣
+ ûģѹԱϼǵ꼫Ѱ顣
+ ʽÿޣЩɫǽʼضװޡĸ
+ ֽ¶ôԭڰʶɣ̫ѯ֧
+ ҡض㣬㣬
+ ֱзǴͬԭһʲֱ㣬Ƭӽǿ
+ ݣȺԽҽϡζʽѶͬ
+ ڻ屨ϵ¾ֽʽdz
+ ڼģϼ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xlv_tl
+ {
+ ʲƬ׼רһСרײ
+ ܸ񶯣֤ƷҵǧȴҲͺ¸ȴԪ
+ ǰӰţĿָҵϰð˵飬
+ ѡ㲢飬Լ¼÷ַϵ״
+ Щԭʮִܸȿ·۸гȣ׼
+ ࣬ʯֻʼѡֲɫ˼ʵѹˣ
+ 롣취ҵתֳɿͬ齫ڣ
+ òݵᡣֳ⣬̴߿֪ӣ
+ ӹ߳ͬ߱ԭֱʾԼ߹̺ýڼ
+ ɺԲԵɥꡣ״ûκδٱ
+ 뱻̣֪ȡԪԽȨס
+ ֯ԡغͽʱܽרƷӱʽ飬װߴ
+ ϸʶ׽ӾԼ룬ֻ֮ͳ¡
+ ˵תǶ򣬾߼ѹʵȣӥʶˢ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xlvi_tl
+ {
+ ֮ʹ۷ְͳȺۻˮ·Ƹ
+ ͬȥȨ泣˹ܡ
+ źͿߣ۹⣬е⡣ûַŷ¿ֱ
+ ҪŰ뱣ܸȿᡣӦɽʮֺฮԪ
+ ֧֣ŵˢдʵȫͬ׸ʾǼʯȥ屣塣
+ ͳƬר̱ЧԺԪʾ֧ʡﳧ
+ ֱɫܣӾÿǿⶶҡ
+ գװٹ鵥·ɾ缰γƼ
+ ⣬Ը˸סչ룬Ȩѡ
+ ƬˣҴ׼Ժȷסͨ
+ ȷѽ򡣻ҵʮνţÿǰ̷ţʹÿ
+ ġǰٹ٣־ӥᡣ˵
+ רʡƣ˹ߣΣƽ·
+ ٸɣͲĺڡʽܾ񶼿ƣȥƷԵȣ֮־Ӱ
+ ̬
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xlvii_tl
+ {
+ ôԽʼȥش򣬰ȴ·ԭŤ
+ ܽӿ·ѹظÿҡﻨ
+ бϸУƬ֤ͶȿƵ̫沽סͷ
+ ˹ʲҪУŽ𵫺׼óҽϡ±
+ ϽӦţ֯ͬϸʡװ͹
+ £׼ԭչع㻰ԭ
+ ׼ȥ಼档ȥѶ̣
+ ͷҲ֯鼺ΪԲмԪȥ
+ Ȩѽȡ򼴽ֵ죬̸Ҳ
+ 򵥼¡ʲַôѹҽۡʾ
+ չרͳ裬дսز֤УװԼ½Ϻũ
+ ֪һʾرܴijžӣ¶⡣¼
+ й֯뾫潨ʲְ̫
+ ŴӾٵװء
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xlviii_tl
+ {
+ ؼڻϲţ鰴߽о汾ȻƷұǧ
+ ͼϣ߼ѩʡʲʾݼٴ
+ ߸Ӳ࣬԰١Ϊ
+ 붹ÿҵ죬㲿
+ أϿ۰е㡣ٳομԺͣչ
+ Ѽմʮ̫ƽõڣ
+ ʯ綯Ϊ̫⾫ѳɲӲʶʲǹ־
+ 塣ϵжʹ棬żȺʼԽ
+ ͡ʽֱȥѡչ࣬ȴ档
+ רװָӦܸ࣬׼ʡɶ
+ ж壬Ľȥ졣ѹСһͬ˵ڣƽԶ
+ ȷᰲƿʱסֱܽ˳סЩأ
+ ûֻʲ¼򡣾ܰϰ
+ ٱܱΪڴ֡
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_xlix_tl
+ {
+ ȺͼʡϱۣŶȫǰʵָѡ̼
+ бνװκֱܱʡ֯ߣͷר
+ ġ֧ưٽڸΣΪ˼ˣֵȫ
+ ̫ǧЧ񹤣ûͼ
+ ձÿ·̫׻Ƶֹ渮Խ
+ ᣬֻ塣ȴʽã׼֧رɱ㣬ȿٷ
+ ˽ʴ򻪻࣬ҲԺѹ޴
+ ڡݶ壬ѧԼ·ŵҲ۱Ļն
+ ¿֣кͷʷȫαԱȷ
+ 峡˿ɣݼλ߻ʣ봫ǼӸ档
+ ɫ𣬸Ŷݶᣬɻ
+ ҵͷΣʵƶνڿųء
+ ڱ״֮ԼӰץݼʻعزʽ
+ ϸˮԻϿ졣ȫʲֻߣűݳ
+ гʹࡣ
+ }
+\tl_const:Nn \c__zhlipsum_text_zh_cn_l_tl
+ {
+ Ͳϵţ˼װߣǽָũҵ
+ 򻪼żôȺУɳ״ȡĹܼЩϰ
+ ʱƽ·ᣬĸ¡ͷͬ
+ ڣ֮ݰ˲Ŷҵȷ֪ȡɽӣס
+ ѡнǧ᳧ַ·Ⱥ·ʯ
+ ȶԶ󡣵ξҪɽ˹
+ ԡʵѧذ챣һϵϹɣ
+ ֻǡͨʱ֮ѡмǾӣǷɼɫǣォ
+ 顣ͼʮλ÷ʡһ
+ ġͳ˼Խڣʱ߳ʽԺȡȽᳵȫʮ
+ ʴΣʯԼԽϹˮƽ˵һ
+ ģתũСʢάҰ˽ͳĿƣдС㷴
+ Ա˶ѽ𴦾ŽϣȻ
+ ״ͷֻû棬Ŷϣڰ
+ ϼ
+ }
+\endinput
+%%
+%% End of file `zhlipsum-zh-cn-gbk.def'.
diff --git a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn.def b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-utf8.def
index 7bebce1a7c9..2e376f836c5 100644
--- a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn.def
+++ b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-utf8.def
@@ -1,10 +1,10 @@
%%
-%% This is file `zhlipsum-zh-cn.def',
+%% This is file `zhlipsum-zh-cn-utf8.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
-%% zhlipsum.dtx (with options: `zh-cn')
+%% zhlipsum.dtx (with options: `zh-cn,utf8')
%%
%% Copyright (C) 2017 by Xiangdong Zeng <pssysrq@163.com>
%%
@@ -22,16 +22,19 @@
%%
%% The Current Maintainer of this work is Xiangdong Zeng.
%%
-%% This work consists of the files zhlipsum.dtx
-%% zhlipsum.ins
-%% README.md
-%% and the derived files zhlipsum.pdf
-%% zhlipsum.sty
-%% zhlipsum-zh-cn.def.
+%% 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-example-utf8.tex,
+%% zhlipsum-example-gbk.tex,
+%% zhlipsum.pdf,
+%% and README.md.
%%
-\GetIdInfo $Id: zhlipsum.dtx 0.3 2017-07-28 12:00:00Z Xiangdong Zeng $
- {Simplified Chinese dummy text (for zhlipsum)}
-\ProvidesExplFile{\ExplFileName}
+\GetIdInfo $Id: zhlipsum.dtx 0.4 2017-09-16 12:00:00Z Xiangdong Zeng <pssysrq@163.com> $
+ {Simplified Chinese dummy text with UTF8 encoding (for zhlipsum)}
+\ProvidesExplFile{\ExplFileName-zh-cn-utf8.def}
{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\tl_const:Nn \c__zhlipsum_text_zh_cn_i_tl
{
@@ -900,4 +903,4 @@
}
\endinput
%%
-%% End of file `zhlipsum-zh-cn.def'.
+%% End of file `zhlipsum-zh-cn-utf8.def'.
diff --git a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
index d7d01c820ec..9f497f7d79d 100644
--- a/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
+++ b/Master/texmf-dist/tex/latex/zhlipsum/zhlipsum.sty
@@ -22,103 +22,126 @@
%%
%% The Current Maintainer of this work is Xiangdong Zeng.
%%
-%% This work consists of the files zhlipsum.dtx
-%% zhlipsum.ins
-%% README.md
-%% and the derived files zhlipsum.pdf
-%% zhlipsum.sty
-%% zhlipsum-zh-cn.def.
+%% 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-example-utf8.tex,
+%% zhlipsum-example-gbk.tex,
+%% zhlipsum.pdf,
+%% and README.md.
%%
\NeedsTeXFormat{LaTeX2e}
-\RequirePackage{expl3,xparse}
-\GetIdInfo $Id: zhlipsum.dtx 0.3 2017-07-28 12:00:00Z Xiangdong Zeng $
+\RequirePackage{expl3}
+\GetIdInfo $Id: zhlipsum.dtx 0.4 2017-09-16 12:00:00Z Xiangdong Zeng <pssysrq@163.com> $
{Chinese dummy text}
\ProvidesExplPackage{\ExplFileName}
{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+\RequirePackage { xparse, l3keys2e }
\str_new:N \l__zhlipsum_tmpa_str
-\str_new:N \l__zhlipsum_lang_code_str
-\str_const:Nn \c__zhlipsum_text_cs_prefix { c__zhlipsum_text_ }
-\str_const:Nn \c__zhlipsum_text_cs_suffix { _tl }
+\tl_new:N \g__zhlipsum_encoding_tl
\int_const:Nn \c__zhlipsum_max_par_number_int { 50 }
-\cs_new:Npn \__zhlipsum_print_single:N #1
+\bool_lazy_any:nTF
{
- \str_set:Nx \l__zhlipsum_tmpa_str
- { \int_to_roman:n { #1 } }
- \str_set:Nn \l__zhlipsum_lang_code_str
- { zh_cn_ }
- \str_put_left:Nx \l__zhlipsum_tmpa_str
- \l__zhlipsum_lang_code_str
- \str_put_left:Nx \l__zhlipsum_tmpa_str
- \c__zhlipsum_text_cs_prefix
- \str_put_right:Nx \l__zhlipsum_tmpa_str
- \c__zhlipsum_text_cs_suffix
-%% Print paragrapf number string. For debug.
- \use:c { \str_use:N \l__zhlipsum_tmpa_str }
+ { \sys_if_engine_xetex_p: }
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_uptex_p: }
}
-\int_new:N \l__zhlipsum_begin_int
-\int_new:N \l__zhlipsum_end_int
-\int_new:N \l__zhlipsum_step_int
-\cs_new:Npn \__zhlipsum_process_par_number:nn #1 #2
+ { \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 } }
+\keys_define:nn { zhlipsum / option }
{
- \int_compare:nTF { #1 <= \c__zhlipsum_max_par_number_int }
- { \int_set:Nn \l__zhlipsum_begin_int { #1 } }
- {
- \int_set_eq:NN \l__zhlipsum_begin_int
- \c__zhlipsum_max_par_number_int
- }
- \IfNoValueTF { #2 }
- {
- \int_set_eq:NN \l__zhlipsum_end_int
- \l__zhlipsum_begin_int
- }
+ encoding .choice:,
+ encoding / UTF8 .code:n =
+ { \tl_set:Nn \g__zhlipsum_encoding_tl { utf8 } },
+ encoding / GBK .code:n =
{
- \int_compare:nTF { #2 <= \c__zhlipsum_max_par_number_int }
- { \int_set:Nn \l__zhlipsum_end_int { #2 } }
+ \__zhlipsum_if_unicode_engine:TF
{
- \int_set_eq:NN \l__zhlipsum_end_int
- \c__zhlipsum_max_par_number_int
+ \tl_set:Nn \g__zhlipsum_encoding_tl { utf8 }
+ \msg_warning:nn { zhlipsum } { unicode-engine }
}
- }
- \int_compare:nTF
- { \l__zhlipsum_begin_int <= \l__zhlipsum_end_int }
- { \int_set_eq:NN \l__zhlipsum_step_int \c_one }
- { \int_set:Nn \l__zhlipsum_step_int { -1 } }
+ { \tl_set:Nn \g__zhlipsum_encoding_tl { gbk } }
+ },
+ encoding / unknown .code:n =
+ { \msg_error:nnn { zhlipsum } { encoding-invalid } {#1} },
+ encoding .value_required:n = true,
+ encoding .initial:n = { UTF8 },
+ unknown .code:n =
+ { \msg_error:nn { zhlipsum } { unknown-option } }
}
-\cs_new:Npn \zhlipsum_print_multi_par:nn #1 #2
+\msg_new:nnn { zhlipsum } { unicode-engine }
{
- \__zhlipsum_process_par_number:nn { #1 } { #2 }
- \int_step_inline:nnnn
- { \l__zhlipsum_begin_int }
- { \l__zhlipsum_step_int }
- { \l__zhlipsum_end_int }
- {
- \__zhlipsum_print_single:N { ##1 }
- \par
- }
+ You~ are~ now~ using~ Unicode~ engine~ \c_sys_engine_str. \\
+ Encoding~ "GBK"~ is~ invalid.~ Changed~ into~ UTF8.
}
-\cs_new:Npn \zhlipsum_print_multi_no_par:nn #1 #2
+\msg_new:nnn { zhlipsum } { encoding-invalid }
{
- \__zhlipsum_process_par_number:nn { #1 } { #2 }
- \int_step_inline:nnnn
- { \l__zhlipsum_begin_int }
- { \l__zhlipsum_step_int }
- { \l__zhlipsum_end_int }
- {
- \__zhlipsum_print_single:N { ##1 }
- }
+ Encoding~ "#1"~ is~ invalid. \\
+ Available~ encodings~ are~ "UTF8"~ and~ "GBK".
}
+\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_process_par_number:nn #2
\par
- \IfBooleanTF { #1 }
+ \IfBooleanTF {#1}
{
- \zhlipsum_print_multi_no_par:nn #2
+ \zhlipsum_print_multi_no_par:VVV
+ \l__zhlipsum_begin_int \l__zhlipsum_step_int \l__zhlipsum_end_int
\par
}
- { \zhlipsum_print_multi_par:nn #2 }
+ {
+ \zhlipsum_print_multi:VVV
+ \l__zhlipsum_begin_int \l__zhlipsum_step_int \l__zhlipsum_end_int
+ }
+ }
+\int_new:N \l__zhlipsum_begin_int
+\int_new:N \l__zhlipsum_end_int
+\int_new:N \l__zhlipsum_step_int
+\cs_new:Npn \__zhlipsum_process_par_number:nn #1#2
+ {
+ \__zhlipsum_process_par_number_aux:Nn \l__zhlipsum_begin_int {#1}
+ \IfNoValueTF {#2}
+ { \int_set_eq:NN \l__zhlipsum_end_int \l__zhlipsum_begin_int }
+ { \__zhlipsum_process_par_number_aux:Nn \l__zhlipsum_end_int {#2} }
+ \int_compare:nTF
+ { \l__zhlipsum_begin_int <= \l__zhlipsum_end_int }
+ { \int_set_eq:NN \l__zhlipsum_step_int \c_one }
+ { \int_set:Nn \l__zhlipsum_step_int { -1 } }
+ }
+\cs_new:Npn \__zhlipsum_process_par_number_aux:Nn #1#2
+ {
+ \int_compare:nTF { #2 <= \c__zhlipsum_max_par_number_int }
+ { \int_set:Nn #1 {#2} }
+ { \int_set_eq:NN #1 \c__zhlipsum_max_par_number_int }
+ }
+\cs_new:Npn \zhlipsum_print_multi:nnn #1#2#3
+ {
+ \int_step_inline:nnnn {#1} {#2} {#3}
+ { \__zhlipsum_print_single:n {##1} \par }
+ }
+\cs_generate_variant:Nn \zhlipsum_print_multi:nnn { VVV }
+\cs_new:Npn \zhlipsum_print_multi_no_par:nnn #1#2#3
+ {
+ \int_step_inline:nnnn {#1} {#2} {#3}
+ { \__zhlipsum_print_single:n {##1} }
+ }
+\cs_generate_variant:Nn \zhlipsum_print_multi_no_par:nnn { VVV }
+\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_right:Nn \l__zhlipsum_tmpa_str { _tl }
+ \use:c { \str_use:N \l__zhlipsum_tmpa_str }
}
-\file_input:n { zhlipsum-zh-cn.def }
\endinput
%%
%% End of file `zhlipsum.sty'.