diff options
Diffstat (limited to 'macros/luatex/optex/base/styles.opm')
-rw-r--r-- | macros/luatex/optex/base/styles.opm | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/macros/luatex/optex/base/styles.opm b/macros/luatex/optex/base/styles.opm new file mode 100644 index 0000000000..a51f4e998d --- /dev/null +++ b/macros/luatex/optex/base/styles.opm @@ -0,0 +1,115 @@ +%% This is part of OpTeX project, see http://petr.olsak.net/optex + +\_codedecl \report {Basic styles of OpTeX <2020-03-28>} % preloaded in format + + \_doc ----------------------------- + We define auxiliary macro first (used by the \^`\address` macro) + \nl + The `{`\`\boxlines` `<line-1><eol><line-2><eol>...<line-n><eol>}` + returns to the outer vertical mode a box with `<line-1>`, next box with + `<line-2>` etc. Each box has its natural width. This is reason why we cannot + use paragraph mode where each resulting box has the width `\hsize`. + The `<eol>` is set active and `\everypar` starts `\hbox{` and acive <eol> + closes this `\hbox` by `}`. + \_cod ----------------------------- + +\_def\_boxlines{% + \_def\_boxlinesE{\_ifhmode\_egroup\_empty\_fi}% + \_def\_nl{\_boxlinesE}% + \_bgroup \_lccode`\~=`\^^M\_lowercase{\_egroup\_let~}\_boxlinesE + \_everypar{\_setbox0=\_lastbox\_endgraf + \_hbox\_bgroup \_catcode`\^^M=13 \_let\par=\_nl \_aftergroup\_boxlinesC}% +} +\_def\_boxlinesC{\_futurelet\_next\_boxlinesD} +\_def\_boxlinesD{\_ifx\_next\_empty\_else\_ea\_egroup\_fi} + +\_public \boxlines ; + + \_doc ----------------------------- + The \`\report` and \`\letter` style initialization macros are defined here. + \nl + The `\letter` defines \`\address` and \`\subject` macros. + \_cod ----------------------------- + +\_def\_report{ + \_typosize[11/13.2] + \_vsize=\_dimexpr \_topskip + 52\_baselineskip \_relax % added 2020-03-28 + \_let\_titfont=\_chapfont + \_titskip=3ex + \_eoldef\_author##1{\_removelastskip\_bigskip + {\_leftskip=0pt plus1fill \_rightskip=\_leftskip \_it \_noindent ##1\_par}\_nobreak\_bigskip + } + \_public \author ; + \_parindent=1.2em \_iindent=\_parindent \_ttindent=\_parindent + \_footline={\_global\_footline={\_hss\_rmfixed\_folio\_hss}} +} +\_def\_letter{ + \_def\_address{\_vtop\_bgroup\_boxlines \_parskip=0pt \_let\par=\_egroup} + \_def\_subject{{\_bf \_mtext{subj}: }} + \_public \address \subject ; + \_typosize[11/14] + \_vsize=\_dimexpr \_topskip + 49\_baselineskip \_relax % added 2020-03-28 + \_parindent=0pt + \_parskip=\_medskipamount + \_nopagenumbers +} +\_public \letter \report ; + + \_doc ----------------------------- + The \`\slides` macro reads macro file `slides.opm`, see the section~\ref[slides]. + \_cod ----------------------------- + +\_def\_slides{\_par + \_input slides.opm +} +\_public \slides ; + + +\_endcode % ------------------------------------- + +The example of `\letter` style document follows: + +\begtt %----------------------------------------------------------------- + +\letter +\fontfam[bonum] +\chyph + +\address + Vážený pan + Mgr. Bořek Byrokrat + ředitel Ústavu pro další možnosti + Úřední 789 + 123 45 Praha 1 + +\hfill V Praze dne \today + +\subject Žádost o možnost další možnosti + +Vážený pane řediteli + +na základě Vašeho dopisu č.j.~123456/78-dat a elektronické výzvy si dovoluji +Vás požádat o prozkoumání mé možnosti další možnosti. +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do +eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim +veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea +commodo consequat. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do +eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim +veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea +commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit +esse cillum dolore eu fugiat nulla pariatur. + +S úctou + +\hfill \address + {\it Petr Olšák} + specialista na \TeX{} + Ulice 12345 + Praha 13 + +\bye + +\endtt %--------------------------------------------------------------------- + |