diff options
author | Karl Berry <karl@freefriends.org> | 2017-09-16 20:45:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-09-16 20:45:41 +0000 |
commit | 1e3a3ba35d94c55dd0486d738e887d704eac7589 (patch) | |
tree | f11e960a1beab7d56538443d65467ead5464a39b /Master/texmf-dist | |
parent | 3d37034cd0e9282746768a103efd422d50cd46b0 (diff) |
zhlipsum (16sep17)
git-svn-id: svn://tug.org/texlive/trunk@45317 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/zhlipsum/README.md | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-gbk.tex | 41 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/zhlipsum/example/zhlipsum-example-utf8.tex | 41 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf | bin | 248056 -> 259679 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/zhlipsum/zhlipsum.dtx | 738 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/zhlipsum/zhlipsum.ins | 100 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/zhlipsum/zhlipsum-zh-cn-gbk.def | 906 | ||||
-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.sty | 165 |
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 package provides an interface to dummy text in Chinese, which +will be useful for testing Chinese documents. + +`zhlipsum` supports both UTF-8 and GBK encoding. + +## 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 Binary files differindex 4c0ec8c8f44..d84856641ab 100644 --- a/Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf +++ b/Master/texmf-dist/doc/latex/zhlipsum/zhlipsum.pdf 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 package provides an interface to dummy text in Chinese, which +will be useful for testing Chinese documents. + +`zhlipsum` supports both UTF-8 and GBK encoding. + +## 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'. |