summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/luatex/luatexref-env.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/luatex/luatexref-env.tex')
-rw-r--r--Master/texmf-dist/doc/luatex/luatexref-env.tex312
1 files changed, 312 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/luatex/luatexref-env.tex b/Master/texmf-dist/doc/luatex/luatexref-env.tex
new file mode 100644
index 00000000000..69ddd7496ca
--- /dev/null
+++ b/Master/texmf-dist/doc/luatex/luatexref-env.tex
@@ -0,0 +1,312 @@
+% engine=luatex
+
+\startenvironment luatexref-env
+
+\usemodule[abr-02]
+
+% \tex : tex command
+% \lua : native lua code
+% \luatex : lua lib, function, value defined in luatex
+
+\catcode`\_=12 % we will make a nice attribute for this kind of break stuff
+
+\setuptolerance[stretch,tolerant]
+
+\setuptype[lines=hyphenated] \setuptyping[lines=hyphenated]
+
+\let\lua \type
+\let\luatex \type
+
+\def\|{\string|}
+\def\>{\string>}
+
+\def\showfields#1{\ctxlua
+ { do
+ local t = string.split('#1',',')
+ local r = { }
+ for _,a in pairs(node.fields(t[1],t[2])) do
+ if not (a == 'id' or a == 'subtype' or a =='next' or a=='prev') then
+ table.insert(r,'\\type{'.. a .. '}')
+ end
+ end
+ tex.sprint(table.concat(r, ', '))
+ end
+ }%
+}
+
+\def\todo#1%
+ {\dontleavehmode{\bf\red <TODO: #1>}}
+
+\setuplayout
+ [height=middle,
+ width=middle,
+ backspace=2cm,
+ topspace=2cm]
+
+\setuppagenumbering
+ [alternative=doublesided]
+
+\setupitemize[each][packed]
+
+\setupwhitespace[medium]
+
+\preloadtypescripts
+
+\definetypeface[mainfacenormal] [ss][sans] [iwona] [default]
+\definetypeface[mainfacenormal] [rm][serif][palatino] [default]
+\definetypeface[mainfacenormal] [tt][mono] [modern] [default][rscale=1.1]
+\definetypeface[mainfacenormal] [mm][math] [iwona] [default][encoding=default]
+
+\definetypeface[mainfacemedium] [ss][sans] [iwona-medium][default]
+\definetypeface[mainfacenormal] [rm][serif][palatino] [default]
+\definetypeface[mainfacemedium] [tt][mono] [modern] [default][rscale=1.1]
+\definetypeface[mainfacemedium] [mm][math] [iwona-medium][default][encoding=default]
+
+\definetypeface[mainfacenarrowtt][tt][mono] [modern] [default][rscale=1.1]
+
+\setupbodyfont[mainfacenormal,11pt]
+
+\definehead
+ [remark]
+ [subsubsubject]
+
+\setuphead [chapter] [style=\mainfacemedium\bfd,color=blue]
+\setuphead [section] [style=\mainfacemedium\bfc,color=blue]
+\setuphead [subsection] [style=\mainfacemedium\bfb,color=blue]
+\setuphead [subsubsection][style=\mainfacemedium\bfa,color=blue]
+
+\setupheadertexts
+ []
+
+\setupcolors
+ [state=start]
+
+\setuptyping
+ [color=blue,
+]% style=\mainfacenarrowtt]
+
+\definetyping[functioncall]
+
+\setuptype
+ [color=blue,
+]% style=\mainfacenarrowtt]
+
+\definecolor[blue] [b=.5]
+\definecolor[red] [r=.5]
+\definecolor[green][g=.5]
+\runMPgraphicstrue
+\startuseMPgraphic{lualogo}
+ color luaplanetcolor ; luaplanetcolor := .5blue ;
+ color luaholecolor ; luaholecolor := white ;
+ numeric luaextraangle ; luaextraangle := 0 ;
+
+ vardef lualogo = image (
+ % Graphic design by A. Nakonechnyj. Copyright (c) 1998, All rights reserved.
+
+ save luaorbitcolor, d, r, p ; color luaorbitcolor ; numeric d, r, p ;
+
+ luaorbitcolor := .5luaholecolor ; d := sqrt(2)/4 ; r := 1/4 ; p := r/8 ;
+
+ fill fullcircle scaled 1 withcolor luaplanetcolor ;
+ draw fullcircle rotated 40.5 scaled (1+r) dashed evenly scaled p withpen pencircle scaled (p/2) withcolor luaorbitcolor ;
+ fill fullcircle scaled r shifted (d+1/8,d+1/8) rotated luaextraangle withcolor luaplanetcolor ;
+ fill fullcircle scaled r shifted (d-1/8,d-1/8) withcolor luaholecolor ;
+ ) enddef ;
+
+\stopuseMPgraphic
+
+\startuseMPgraphic{luapage}
+ \includeMPgraphic{lualogo}
+
+ StartPage ;
+
+ fill Page withcolor (white-luaplanetcolor) ;
+
+ picture p ; p := lualogo xsized (3PaperWidth/5) ;
+ draw p shifted center Page shifted (0,-ypart center ulcorner p) ;
+
+ StopPage ;
+\stopuseMPgraphic
+
+\startuseMPgraphic{luanumber}
+ \includeMPgraphic{lualogo}
+% luaextraangle := \realfolio*360/\lastpage ;
+ luaextraangle := 10 * ( (\realfolio-2)*36/(\lastpage-2) ) ;
+ picture p ; p := lualogo ;
+ setbounds p to boundingbox fullcircle ;
+ draw p ysized 1cm ;
+\stopuseMPgraphic
+
+\definelayer
+ [page]
+ [width=\paperwidth,
+ height=\paperheight]
+
+\setupbackgrounds
+ [leftpage]
+ [background=page]
+
+\setupbackgrounds
+ [rightpage]
+ [background=page]
+
+\startsetups pagenumber:right
+ \setlayerframed
+ [page]
+ [preset=rightbottom,offset=1cm]
+ [frame=off,height=1cm,offset=overlay]
+ {\useMPgraphic{luanumber}}
+ \setlayerframed
+ [page]
+ [preset=rightbottom,offset=1cm,x=1.5cm]
+ [frame=off,height=1cm,width=1cm,offset=overlay]
+ {\pagenumber}
+ \setlayerframed
+ [page]
+ [preset=rightbottom,offset=1cm,x=2.5cm]
+ [frame=off,height=1cm,offset=overlay]
+ {\getmarking[chapter]}% Lua\TeX\ Reference Manual}
+\stopsetups
+
+\startsetups pagenumber:left
+ \setlayerframed
+ [page]
+ [preset=leftbottom,offset=1cm,x=2.5cm]
+ [frame=off,height=1cm,offset=overlay]
+ {\getmarking[chapter]}
+ \setlayerframed
+ [page]
+ [preset=leftbottom,offset=1cm,x=1.5cm]
+ [frame=off,height=1cm,width=1cm,offset=overlay]
+ {\pagenumber}
+ \setlayerframed
+ [page]
+ [preset=leftbottom,offset=1cm]
+ [frame=off,height=1cm,offset=overlay]
+ {\useMPgraphic{luanumber}}
+\stopsetups
+
+\startsetups [titlepage]
+
+ \startstandardmakeup
+
+ \switchtobodyfont[mainfacemedium]
+ \definedfont[Bold at .08\paperheight] \setupinterlinespace
+
+ \setlayer[page]{\useMPgraphic{luapage}}
+
+ \setlayerframed
+ [page]
+ [preset=middletop,
+ voffset=.05\paperheight]
+ [align=middle,
+ foregroundcolor=blue,
+ frame=off]
+ {Lua\TeX\\Reference}
+
+ \definedfont[Bold at 24pt] \setupinterlinespace
+
+ \setlayerframed
+ [page]
+ [preset=middletop,
+ voffset=.35\paperheight]
+ [align=middle,
+ foregroundcolor=blue,
+ frame=off]
+ {\doifsomething
+ {\getvariable{document}{snapshot}}
+ {snapshot \getvariable{document}{snapshot}}%
+ \doifsomething
+ {\getvariable{document}{beta}}
+ {beta \getvariable{document}{beta}}%
+ }
+
+ \stopstandardmakeup
+
+ \startstandardmakeup
+
+ \raggedleft
+
+ \definedfont[Bold at 48pt] \setupinterlinespace
+
+ \start \blue Lua\TeX \endgraf Reference \endgraf Manual \stop
+
+ \blank
+
+ \definedfont[Bold at 24pt] \setupinterlinespace
+
+ \blank
+
+ \vfill
+
+ \definedfont[Bold at 12pt] \setupinterlinespace
+
+ copyright: Lua\TeX\ development team \endgraf
+ more info: www.luatex.org \endgraf
+ version: \currentdate \doifsomething{\getvariable{document}{snapshot}}{(snapshot \getvariable{document}{snapshot})} \endgraf
+
+ \stopstandardmakeup
+
+ \setupbackgrounds
+ [leftpage]
+ [setups=pagenumber:left]
+
+ \setupbackgrounds
+ [rightpage]
+ [setups=pagenumber:right]
+
+\stopsetups
+
+\def\nonterminal#1>{\mathematics{\langle\hbox{{\rm #1}}\rangle}}
+
+\ifx\directlua\undefined
+
+ \definetyping[syntax]
+ \definetype[syntax]
+
+\else
+
+ % taco's brainwave -)
+
+ \newcatcodetable\syntaxcodetable
+
+ \def\makesyntaxcodetable
+ {\begingroup
+ \catcode`\<=13 \catcode`\|=12
+ \catcode`\!= 0 \catcode`\\=12
+ \savecatcodetable\syntaxcodetable
+ \endgroup}
+
+ \makesyntaxcodetable
+
+ \def\startsyntax {\begingroup\catcodetable\syntaxcodetable \dostartsyntax}
+ \def\syntax {\begingroup\catcodetable\syntaxcodetable \dosyntax}
+
+ \def\syntaxenvbody#1%
+ {\par
+ \tt
+ \startnarrower
+ {\blue #1}%
+ \stopnarrower
+ \par}
+
+ \def\syntaxbody#1%
+ {{\blue \tt #1}}
+
+ \bgroup \catcodetable\syntaxcodetable
+
+ !gdef!dostartsyntax#1\stopsyntax{!let<!nonterminal!syntaxenvbody{#1}!endgroup}
+ !gdef!dosyntax #1{!let<!nonterminal!syntaxbody{#1}!endgroup}
+
+ !egroup
+
+\fi
+
+\setupinteraction[state=start]
+\placebookmarks[chapter,section,subsection]
+
+% Hans doesn't like the bookmarks opening by default
+% \setupinteractionscreen[option=bookmark]
+
+\stopenvironment
+