diff options
Diffstat (limited to 'macros/luatex/optex/base/others.opm')
-rw-r--r-- | macros/luatex/optex/base/others.opm | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/macros/luatex/optex/base/others.opm b/macros/luatex/optex/base/others.opm new file mode 100644 index 0000000000..ffa8451f90 --- /dev/null +++ b/macros/luatex/optex/base/others.opm @@ -0,0 +1,92 @@ +%% 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``[<range>]` or \`\lorem``[<range>]`, + 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 + |