summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/base/styles.opm
blob: c9ee38695923f503be733f7ccdbf5f7ec4cd9f41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
%% 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
  \_opinput{slides.opm}
  \_adef*{\_startitem}
}
\_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 %---------------------------------------------------------------------