13.3 Skribilo User Manual — Lout Engine |
The Lout engine produces documents for the Lout typesetting system, which is then suitable for the production of PostScript/PDF files for printing. Lout is a typesetting system comparable to TeX/LaTeX in functionality. However, it is based on a lazy, purely functional programming language and makes it easy to customize document layout; it is also lightweight compared to typical LaTeX installations, consuming less than 10 MiB of disk space.
Skribilo's Lout engine provides lots of customization opportunities (currently more than the LaTeX engine), which are shown below. It also enhances Lout by adding new features: PDF bookmarks, high-level interface to the use of dropped capitals, improved paragraph indentation, etc.
@Include { my-doc-style.lout }
) or the symbol auto in which case the include file is deduced from document-type.@Include
directives."ISO-8859-1"
and "ISO-8859-2"
are
supported.document
node and the engine.@PP
as one would expect but is instead
similar to @PP
with @ParaGap
equal to 1.0vx
, which means that a regular inter-line space is used as
inter-paragraph space. This differs from Lout's default where the
inter-paragraph space is larger than the inter-line space, but looks
better, at least in the author's eyes.table
s,
setting this to #t allows header rows to be repeated on each new
page. However, it appears to be buggy at the moment.ref
markup and returns a list containing (maybe) one
such ref
markup. This custom can be used to modify the
way URLs are rendered. The default value is a procedure that limits the
size of the text passed to Lout's @ExternalLink symbols to work
around the fact that @ExternalLink objects are unbreakable. In
order to completely disable use of @ExternalLink, just set it to
markup-body.lout-illustration
on other
engines.document
's :title is used.document
's :author is used.document
instead.source
markup).The (skribilo engine lout) module also exports a new markup called lout-illustration, which provides an engine-independent way to include illustrations written in Lout, such as @Diag pictures. When an engine other than Lout is used, lout-illustration are first automatically translated to EPS (using Lout's @Illustration) and then to whatever image format is supported by the engine (see Section Images).
(lout-illustration :alt :ident [:file] illustration...
)
image
. illustration...
The illustration itself if :file
is #f.The following example shows a simple diagram. When using the
lout engine, the diagram is integrated in-line in the document.
When using other engines, it is integrated using image
.
(use-modules (skribilo engine lout)) (lout-illustration :ident "document-toolchain" :alt "a document toolchain" " # This is Lout code to produce a diagram. @Diag aoutline { circle } afont { Courier Base 1f } boutline { circle } bfont { Palatino Slope 2f } bpaint { black } bformat { white @Color @Body } coutline { curvebox } coutlinestyle { dotted } doutline { curvebox } { @Tbl strut { yes } indent { ctr } aformat { @Cell A | @Cell marginhorizontal { 2.0fe } B | @Cell C | @Cell D } amargin { 1.0fe } { @Rowa D { W:: @DNode HTML } @Rowa A { A:: @ANode txt } C { P:: @CNode Lout } D { X:: @DNode PostScript } @Rowa A { B:: @ANode skr } B { S:: @BNode Skribilo } C { Q:: @CNode @LaTeX } @Rowa A { C:: @ANode rss } C { R:: @CNode ConTeXt } D { Y:: @DNode PDF } @Rowa D { Z:: @DNode Info } } // # input arrows @Arrow from { A } to { S } @Arrow from { B } to { S } @Arrow from { C } to { S } # arrows to intermediate files @Arrow from { S } to { P } @Arrow from { S } to { Q } @Arrow from { S } to { R } # PS/PDF incoming arrows @Arrow from { P } to { X } @Arrow from { P } to { Y } @Arrow from { Q } to { X } @Arrow from { Q } to { Y } @Arrow from { R } to { X } @Arrow from { R } to { Y } # HTML and Info @Link from { S } to { W } arrow { yes } path { vhcurve } @Link from { S } to { Z } arrow { yes } path { vhcurve } } ")
... produces: