summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lipsum/lipsum.ins
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/lipsum/lipsum.ins')
-rw-r--r--macros/latex/contrib/lipsum/lipsum.ins65
1 files changed, 61 insertions, 4 deletions
diff --git a/macros/latex/contrib/lipsum/lipsum.ins b/macros/latex/contrib/lipsum/lipsum.ins
index a2c3bc6519..4a289f65f3 100644
--- a/macros/latex/contrib/lipsum/lipsum.ins
+++ b/macros/latex/contrib/lipsum/lipsum.ins
@@ -19,7 +19,7 @@
This file is part of the package lipsum for use with LaTeX2e.
-Function: Access to 150 paragraphs of the well known Lorem Ipsum dummy text.
+Function: Access to 150 paragraphs of dummy text.
This program may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -37,8 +37,64 @@ Please send error reports and suggestions for improvements to
\endpostamble
\generate{\file{lipsum.sty}{\from{lipsum.dtx}{package}}}
-\generate{\file{lipsum.ltd.tex}{\from{lipsum.dtx}{lipsum}}}
-\generate{\file{cicero.ltd.tex}{\from{lipsum.dtx}{cicero}}}
+
+\newread\lipsread
+\newread\lipswrite
+\newcount\parno
+\newif\ifinpar
+\def\empty{}%
+\def\line{}%
+\edef\lb{\string{}%
+\edef\rb{\string}}%
+\begingroup\lccode`\?=`\%
+\lowercase{\endgroup\def\pc{?}}%
+\def\wline{\immediate\write\lipswrite}%
+\def\genlipsum#1#2#3{%
+ \begingroup
+ \def\inFileName{lipsum-#1.txt}%
+ \def\outFileName{#2.ltd.tex}%
+ \openin\lipsread\inFileName\space
+ \immediate\openout\lipswrite\outFileName\space
+ \inparfalse
+ \parno=0
+ \endlinechar=-1
+ \def~{ }%
+ \def\ReferenceLines{%
+ \MetaPrefix ^^J%
+ \MetaPrefix~The original source files were:^^J%
+ \MetaPrefix ^^J%
+ \MetaPrefix~\inFileName^^J}%
+ \immediate\write\lipswrite{\defaultpreamble}%
+ \immediate\write\lipswrite{\string\SetLipsumLanguage{#3}}%
+ \genlipsumaux\genlipsumaux
+ \closein\lipsread
+ \immediate\closeout\lipswrite
+ \endgroup}
+\def\genlipsumaux#1\genlipsumaux{%
+ \ifeof\lipsread\let\line\empty
+ \else \read\lipsread to \line \fi
+ \toks0{#1}%
+ \ifx\line\empty
+ \ifinpar
+ \wline{\the\toks0 \rb\pc^^J\pc}%
+ \inparfalse
+ \fi
+ \else
+ \ifinpar
+ \wline{\the\toks0 }%
+ \else
+ \inpartrue
+ \advance\parno by 1
+ \wline{\string\NewLipsumPar\lb\pc~{\the\parno}}%
+ \fi
+ \fi
+ \ifeof\lipsread\expandafter\genlipsumend\fi
+ \expandafter\genlipsumaux\line\genlipsumaux}
+\def\genlipsumend#1\genlipsumaux#2\genlipsumaux{}
+
+\genlipsum{la}{lipsum}{latin}
+\genlipsum{cs}{lipsum-cs}{czech}
+\genlipsum{cicero}{cicero}{latin}
\obeyspaces
\Msg{****************************************************}
@@ -49,10 +105,11 @@ Please send error reports and suggestions for improvements to
\Msg{* *}
\Msg{* lipsum.sty *}
\Msg{* lipsum.ltd.tex *}
+\Msg{* lipsum-cs.ltd.tex *}
\Msg{* cicero.ltd.tex *}
\Msg{* *}
\Msg{* To produce the documentation run the file *}
-\Msg{* lipsum.dtx through XeLaTeX or luaLaTeX. *}
+\Msg{* lipsum.dtx through XeLaTeX or LuaLaTeX. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}