%% This is part of OpTeX project, see http://petr.olsak.net/optex \_codedecl \uv {Miscenaleous <2020-04-02>} % preloaded in format \_doc ---------------------------- \`\useOpTeX` and \`\useoptex` are declared as `\relax`. \_cod ---------------------------- \_let \useOpTeX = \_relax \_let \useoptex = \_relax \_doc ---------------------------- The \`\lastpage` and \`\totalpages` get the information from the \^`\_currpage`. The \^`\_Xpage` from `.ref` file sets the \^`\_currpage`. \_cod ---------------------------- \_def\_totalpages {\_openref\_ea\_lastpageA\_currpage} \_def\_lastpage {\_openref\_ea\_lastpageB\_currpage} \_def\_lastpageA #1#2{#1} \_def\_lastpageB #1#2{#2} \_def\_currpage {{0}{?}} \_public \lastpage \totalpages ; \_doc ---------------------------- We need \`\uv`, \`\clqq`, \`\crqq`, \`\flqq`, \`\frqq`, \`\uslang`, \`\ehyph` \`\chyph`, \`\shyph`, for backward compatibility with \csplain. Codes are set according to Unicode, because we are using Czech only in Unicode when \LuaTeX/ is used. \_cod ---------------------------- % for compatibility with csplain: \_chardef\clqq=8222 \_chardef\crqq=8220 \_chardef\flqq=171 \_chardef\frqq=187 \_chardef\promile=8240 \_def\uv#1{\clqq#1\crqq} \_let\uslang=\enlang \_let\ehyph=\enlang \_let\chyph=\cslang \_let\shyph=\sklang \_let\csUnicode=\csPatt \_let\czUnicode=\csPatt \_let\skUnicode=\skPatt \_doc ---------------------------- The \`\letfont` was used in \csplain/ instead of `\fontlet`. \_cod ---------------------------- \_let \letfont = \_fontlet \_doc ---------------------------- Non breaking space in Unicode. \_cod ---------------------------- \let ^^a0=~ \_doc ---------------------------- TikZ needs these funny control sequences. \_cod ---------------------------- \_ea\_toksdef \_csname toks@\_endcsname=0 \_ea\_let \_csname voidb@x\_endcsname=\_voidbox \_doc ---------------------------- We don't want to read `opmac.tex` unless `\input opmac` is specified. \_cod ---------------------------- \_def\OPmacversion{OpTeX} \_doc ---------------------------- Lorem ipsum can be printed by \`\lipsum``[]` or \`\lorem``[]`, for example `\lipsum[3]` or `\lipsum[112-121]`, max=150. The data are read from \LaTeX/ file `lipsum.ltd.tex`. \_cod ---------------------------- \_def \_lipsum {% {\_long\_def\ProvidesFile##1[##2]##3{\_ifx\_par##3\_relax\_else \_ea##3\_fi}\_tmpnum=0 \_def\NewLipsumPar{\_advance\_tmpnum by1 \_afterassignment\_negativermnm \_sxdef{lips:\_the\_tmpnum}}% \_opinput {lipsum.ltd.tex}% \_global\_let \_lipsum=\_reallipsum }\_lipsum } \_def\_negativermnm{\_romannumeral-`\.} \_def\_reallipsum[#1]{\_lipsumA #1\_empty-\_empty\_end} \_def\_lipsumA #1-#2\_empty#3\_end{\_tmpnum=#1 \_edef\_tmp{\_ifx^#2^#1\_else#2\_fi}% \_loop \_csname lips:\_the\_tmpnum\_endcsname \par % \par is better here \_ifnum\_tmpnum<\_tmp \_advance\_tmpnum by1 \_repeat } \def\lipsum {\_lipsum} \def\lorem {\_lipsum} \_endcode