This command is the root element in the Layout instructions.

Child elements

AddSearchpath, AttachFile, Compatibility, DefineColor, DefineColorprofile, DefineFontalias, DefineFontfamily, DefineGraphic, DefineMatter, DefineTextformat, Function, Hyphenation, LoadFontfile, Loop, Message, Options, PDFOptions, Pageformat, Pagetype, PlaceObject, Record, SetGrid, SetVariable, StructureElement, Stylesheet, Switch, Trace, While

Parent elements

AtPageCreation, AtPageShipout, Case, Contents, ForAll, Loop, Otherwise, Record, SavePages, Until, While


name (text, optional)

A name for the layout. Optional, without any influence on the layout itself.

require (text, optional, since version 4.15.10)

A comma separated list of required default features. Currently supported features are luxor/lxpath and harfbuzz/fontforge.

version (number, optional)

Minimum publisher version required. If major or minor version differ, give a warning. Format: 1.6.12 (revision number can be left out).


This is a complete example for a layout rule set. The first part is the data file (save as data.xml) and the second the layout instructions (layout.xml).

  <elt greeting="Hello world!" />
<Layout xmlns=""

  <Options mainlanguage="English (USA)"/>

  <Record element="root">
    <ProcessNode select="elt"/>

  <Record element="elt">
          <Value select="@greeting"></Value>

See also