beta-0.89.2
[luatex.git] / manual / luatex-style.tex
blob90479adf196b9ed3af18d568fd12f4f98b57b21f
1 \startenvironment luatex-style
3 % I'll clean this up some day.
5 \usemodule[abr-02]
7 \setuplayout
8 [height=middle,
9 width=middle,
10 backspace=2cm,
11 topspace=10mm,
12 bottomspace=10mm,
13 header=10mm,
14 footer=10mm,
15 footerdistance=10mm,
16 headerdistance=10mm]
18 \setuppagenumbering
19 [alternative=doublesided]
21 \setuptolerance
22 [stretch,tolerant]
24 \setuptype
25 [lines=hyphenated]
27 \setuptyping
28 [lines=hyphenated]
30 \setupitemize
31 [each]
32 [packed]
34 \setupwhitespace
35 [medium]
37 \def\|{\string|}
38 \def\>{\string>}
40 \def\showfields#1{\ctxlua
42 local t = string.split('#1',',')
43 local r = { }
44 for _, a in pairs(node.fields(t[1],t[2])) do
45 if not (a == 'id' or a == 'subtype' or a =='next' or a=='prev') then
46 table.insert(r,'\\type{'.. a .. '}')
47 end
48 end
49 tex.sprint(table.concat(r, ', '))
53 \def\showid#1{\ctxlua
55 local t = string.split('#1',',')
56 tex.sprint('\\type{'.. node.id(t[1]) .. '}')
57 if t[2] then
58 tex.sprint(', \\type{'.. node.subtype(t[2]) .. '}')
59 end
63 \starttexdefinition unexpanded todo #1
64 \dontleavehmode
65 \startcolor[red]
66 \bf<TODO: #1>
67 \stopcolor
68 \stoptexdefinition
70 \definecolor[blue] [b=.5]
71 \definecolor[red] [r=.5]
72 \definecolor[green][g=.5]
74 \definecolor[maincolor] [b=.5]
75 \definecolor[othercolor][r=.5,g=.5]
77 \setupbodyfont[modern] % we need this in examples so we predefine
79 % \doifmodeelse {atpragma} {
81 % % \setupbodyfont
82 % % [lucidaot,10pt]
84 % \setupbodyfont
85 % [dejavu,10pt]
87 % \setuphead [chapter] [style=\bfd]
88 % \setuphead [section] [style=\bfb]
89 % \setuphead [subsection] [style=\bfa]
90 % \setuphead [subsubsection][style=\bf]
92 % } {
94 % \definetypeface[mainfacenormal] [ss][sans] [iwona] [default]
95 % \definetypeface[mainfacenormal] [rm][serif][palatino] [default]
96 % \definetypeface[mainfacenormal] [tt][mono] [modern] [default][rscale=1.1]
97 % \definetypeface[mainfacenormal] [mm][math] [iwona] [default]
99 % \definetypeface[mainfacemedium] [ss][sans] [iwona-medium][default]
100 % \definetypeface[mainfacemedium] [rm][serif][palatino] [default]
101 % \definetypeface[mainfacemedium] [tt][mono] [modern] [default][rscale=1.1]
102 % \definetypeface[mainfacemedium] [mm][math] [iwona-medium][default]
104 % \setupbodyfont
105 % [mainfacenormal,10pt]
107 % \setuphead [chapter] [style=\mainfacemedium\bfd]
108 % \setuphead [section] [style=\mainfacemedium\bfb]
109 % \setuphead [subsection] [style=\mainfacemedium\bfa]
110 % \setuphead [subsubsection][style=\mainfacemedium\bf]
114 \writestatus{luatex manual}{we assume that dejavu math is available}
116 \setupbodyfont % assumes dejavu-math
117 [dejavu,10pt]
119 \setuphead [chapter] [style=\bfd]
120 \setuphead [section] [style=\bfb]
121 \setuphead [subsection] [style=\bfa]
122 \setuphead [subsubsection][style=\bf]
124 \setuphead [chapter] [color=maincolor]
125 \setuphead [section] [color=maincolor]
126 \setuphead [subsection] [color=maincolor]
127 \setuphead [subsubsection][color=maincolor]
129 \definehead
130 [remark]
131 [subsubsubject]
133 \setupheadertexts
136 \definemixedcolumns
137 [twocolumns]
138 [n=2,
139 balance=yes,
140 before=\blank,
141 after=\blank]
143 \definemixedcolumns
144 [threecolumns]
145 [twocolumns]
146 [n=3]
148 \definemixedcolumns
149 [fourcolumns]
150 [threecolumns]
151 [n=4]
153 \setuptyping
154 [color=maincolor]
156 \setuptype
157 [color=maincolor]
159 \definetyping
160 [functioncall]
162 \startMPdefinitions
164 color luaplanetcolor ; luaplanetcolor := \MPcolor{maincolor} ;
165 color luaholecolor ; luaholecolor := white ;
166 numeric luaextraangle ; luaextraangle := 0 ;
167 numeric luaorbitfactor ; luaorbitfactor := .25 ;
169 vardef lualogo = image (
171 % Graphic design by A. Nakonechnyj. Copyright (c) 1998, All rights reserved.
173 save d, r, p ; numeric d, r, p ;
175 d := sqrt(2)/4 ; r := 1/4 ; p := r/8 ;
177 fill fullcircle scaled 1
178 withcolor luaplanetcolor ;
179 draw fullcircle rotated 40.5 scaled (1+r)
180 dashed evenly scaled p
181 withpen pencircle scaled (p/2)
182 withcolor (luaorbitfactor * luaholecolor) ;
183 fill fullcircle scaled r shifted (d+1/8,d+1/8)
184 rotated luaextraangle
185 withcolor luaplanetcolor ;
186 fill fullcircle scaled r shifted (d-1/8,d-1/8)
187 withcolor luaholecolor ;
188 luaorbitfactor := .25 ;
189 ) enddef ;
191 \stopMPdefinitions
193 \startuseMPgraphic{luapage}
194 StartPage ;
196 fill Page withcolor \MPcolor{othercolor} ;
198 luaorbitfactor := 1 ;
199 picture p ; p := lualogo xsized (3PaperWidth/5) ;
200 draw p shifted center Page shifted (0,-ypart center ulcorner p) ;
202 StopPage ;
203 \stopuseMPgraphic
205 \starttexdefinition luaextraangle
206 % we can also just access the last page and so in mp directly
207 \ctxlua {
208 context(\lastpage == 0 and 0 or \realfolio*360/\lastpage)
210 \stoptexdefinition
212 \startuseMPgraphic{luanumber}
213 luaextraangle := \luaextraangle;
214 luaorbitfactor := 0.25 ;
215 picture p ; p := lualogo ;
216 setbounds p to boundingbox fullcircle ;
217 draw p ysized 1cm ;
218 \stopuseMPgraphic
220 \definelayer
221 [page]
222 [width=\paperwidth,
223 height=\paperheight]
225 \setupbackgrounds
226 [leftpage]
227 [background=page]
229 \setupbackgrounds
230 [rightpage]
231 [background=page]
233 \startsetups pagenumber:right
234 \setlayerframed
235 [page]
236 [preset=rightbottom,offset=1cm]
237 [frame=off,height=1cm,offset=overlay]
238 {\useMPgraphic{luanumber}}
239 \setlayerframed
240 [page]
241 [preset=rightbottom,offset=1cm,x=1.5cm]
242 [frame=off,height=1cm,width=1cm,offset=overlay]
243 {\pagenumber}
244 \setlayerframed
245 [page]
246 [preset=rightbottom,offset=1cm,x=2.5cm]
247 [frame=off,height=1cm,offset=overlay]
248 {\getmarking[chapter]}
249 \stopsetups
251 \startsetups pagenumber:left
252 \setlayerframed
253 [page]
254 [preset=leftbottom,offset=1cm,x=2.5cm]
255 [frame=off,height=1cm,offset=overlay]
256 {\getmarking[chapter]}
257 \setlayerframed
258 [page]
259 [preset=leftbottom,offset=1cm,x=1.5cm]
260 [frame=off,height=1cm,width=1cm,offset=overlay]
261 {\pagenumber}
262 \setlayerframed
263 [page]
264 [preset=leftbottom,offset=1cm]
265 [frame=off,height=1cm,offset=overlay]
266 {\useMPgraphic{luanumber}}
267 \stopsetups
269 \unexpanded\def\nonterminal#1>{\mathematics{\langle\hbox{\rm #1}\rangle}}
271 % taco's brainwave -)
273 \newcatcodetable\syntaxcodetable
275 \unexpanded\def\makesyntaxcodetable
276 {\begingroup
277 \catcode`\<=13 \catcode`\|=12
278 \catcode`\!= 0 \catcode`\\=12
279 \savecatcodetable\syntaxcodetable
280 \endgroup}
282 \makesyntaxcodetable
284 \unexpanded\def\startsyntax {\begingroup\catcodetable\syntaxcodetable \dostartsyntax}
285 \unexpanded\def\syntax {\begingroup\catcodetable\syntaxcodetable \dosyntax}
286 \let\stopsyntax \relax
288 \unexpanded\def\syntaxenvbody#1%
289 {\par
291 \startnarrower
292 \maincolor #1
293 \stopnarrower
294 \par}
296 \unexpanded\def\syntaxbody#1%
297 {\begingroup
298 \maincolor \tt #1%
299 \endgroup}
301 \bgroup \catcodetable\syntaxcodetable
303 !gdef!dostartsyntax#1\stopsyntax{!let<!nonterminal!syntaxenvbody{#1}!endgroup}
304 !gdef!dosyntax #1{!let<!nonterminal!syntaxbody{#1}!endgroup}
306 !egroup
308 % end of wave
310 \setupinteraction
311 [state=start,
312 focus=standard,
313 style=,
314 color=,
315 contrastcolor=]
317 \placebookmarks
318 [chapter,section,subsection]
320 \setuplist
321 [chapter,section,subsection,subsubsection]
322 [interaction=all]
324 \setuplist
325 [chapter]
326 [style=bold,
327 color=maincolor]
329 % Hans doesn't like the bookmarks opening by default so we comment this:
331 % \setupinteractionscreen
332 % [option=bookmark]
334 \stopenvironment