sile(1)

NAME
sile - Simon's Improved Layout Engine

SYNOPSIS
sile [ options ] [ filename.sil | filename.xml ]

DESCRIPTION
The SILE typesetter reads a single input file, by default in either SIL or XML format, and processes it to generate a single output file, by default in PDF format. The output will be written to the same name as the input file with the extension changed to .pdf unless the --output flag is used. Additional input or output formats can be handled by loading a module with --use to add support for them first.

OPTIONS
sile accepts the following feature flags:

-t, --traceback
    Display detailed location trace on errors and warnings.

-h, --help
    Print help message and exit.

-v, --version
    Print version information and exit.

sile accepts the following options with values:

-b, --backend=value
    Choose an alternative output backend. The default backend for producing PDF files is libtexpdf. Other available backends include cairo, debug, text, and dummy.

-c, --class=value
    Set the document class. The default for documents that do not specify is plain. Can be used to either change the default class or to override the class specified in a document. Other default classes include base, bible, book, diglot, docbook, docbook.sil jbook, jplain, letter, markdown, pecha, tbook, tplain, and triglot.

-d, --debug=value[,value]
    Debug SILE's operation. Multiple debug flags may be given as a comma separated list. While packages may define their own debug flags, the most commonly used ones are typesetter, pagebuilder, vboxes, break, frames, profile, and versions. May be specified more than once.

-e, --evaluate=value
    Evaluate Lua expression before processing input. May be specified more than once.

-E, --evaluate-after=value
    Evaluate Lua expression after processing input. May be specified more than once.

-f, --fontmanager=value
    Choose an alternative font manager. The font manager is responsible for discovering the locations on font files on the system given a font name. The default font manager is fontconfig on non-Mac systems and macfonts on OS X.

-m, --makedepsfile
    Generate a list of dependencies in Makefile format.

-o, --output=file
    Explicitly set the output file name.

-O, --options=parameter=value[,parameter=value]
    Set document class options. Can be used to change default options or override the ones specified in a document. For example setting --options papersize=letter would override both the default papersize of A4 and any specific one set in the document's options. May be specified more than once.

-I, --include=filename
    Deprecated, will be removed. Please use --use, --preamble, or --postamble.

-p, --preamble=filename
    Include an SIL, XML, or other content resource before the input document. The value should be a full filename with a path relative to PWD or an absolute path. May be specified more than once.

-P, --postamble=filename
    Include an SIL, XML, or other content resource after the input document. The value should be a full filename with a path relative to PWD or an absolute path. May be specified more than once.

-u, --use=module[[parameter=value[,parameter=value]]]
    Load and initialize a class, inputter, shaper, or other module before processing the main input. The value should be a loadable module name (with no extension, using '.' as a path separator) and will be loaded using SILE's module search path. Options may be passed to the module by enclosing key=value pairs in square brackets following the module name. This is particularly useful when the input document is not SIL or a natively recognized XML scheme and SILE needs to be taught new tricks before even trying to read the input file. If the module is a document class, it will replace plain as the default class for processing documents that do not specifically identify one to use. Because this executes before loading the document, it may even add an input parser or modify an existing one to support new file formats. Package modules will be added to the preamble to be loaded after the class is initialized. May be specified more than once.