Command/setuplayout

Unofficial ConTeXt Wiki mirror

Last modified: 2025-12-26

Summary

The command \setuplayout is used to define the properties of (the/a) page layout.

Settings

\setuplayout[...][...=...,...]
[...] name
state start stop normal repeat
margin dimension
edge dimension
margindistance dimension
edgedistance dimension
leftedgedistance dimension
rightedgedistance dimension
leftmargindistance dimension
rightmargindistance dimension
topdistance dimension
headerdistance dimension
footerdistance dimension
bottomdistance dimension
preset name
leftmargin dimension
rightmargin dimension
leftedge dimension
rightedge dimension
header dimension
footer dimension
top dimension
bottom dimension
backspace dimension
topspace dimension
setups name
cutspace dimension
width dimension middle fit
bottomspace dimension
lines number
height dimension middle fit
horoffset dimension
veroffset dimension
columns number
columndistance dimension
method default normal name
location left middle right top bottom singlesided doublesided
textwidth dimension
textheight dimension
nx number
ny number
dx dimension
dy dimension
scale number
sx number
sy number
marking on off page empty color one two four
grid yes no off
textdistance dimension
alternative default normal makeup name
clipoffset dimension
cropoffset dimension auto
trimoffset dimension
bleedoffset dimension
artoffset dimension
direction normal reverse

Option Explanation
Name of the layout – omit for the default (or single) layout.
margin
width of outer (right) margin
edge
width of outer (right) edge
margindistance
horizontal distance from text area to margin
edgedistance
horizontal distance from margin to edge area
topdistance
vertical distance from top to header area
headerdistance
vertical distance from header to text area
footerdistance
vertical distance from text to footer area
bottomdistance
vertical distance from footer to bottom area
leftmargin
width of left margin area
rightmargin
width of right margin area
leftedge
width of left edge area
rightedge
width of right edge area
header
height of header area
footer
height of footer area
top
height of top area
bottom
height of bottom area
backspace
distance from the inside edge of the paper to the edge of the text area
topspace
distance from upper paper edge to header area
cutspace
distance from the inside edge of the paper to the edge of the text area
width
sets the width of the text area (\makeupwidth).
middle solves the following equation to set the makeupwidth: paperwidth = \backspace + \makeupwidth + \cutspace
lines
height of text area (incl. header and footer) in lines of the current body font size
height
height of the text area (incl. header and footer)
horoffset
is applied after the various width calculations to shift everything bodily to the outside
veroffset
is applied after the various height calculations to shift everything downwards
columns
number of (virtual/layout) columns; not related to multi-column typesetting
columndistance
distance of virtual columns
location
location of the page on the sheet (first to second parameter of \setuppapersize)
middle center page on the sheet (makes sense with markings)
marking
cut marks (around the page, only visible with bigger sheet size)
on simple cut marks (page number in the corner, no other text)
off no cut marks
color cut marks and color measurement strip
grid
grid setting (all text lines stick to the grid), necessary with multi-column typesetting (page columns or column sets)
yes enable
no disable
cropoffset
define the CropBox (displayed size of the page). A positive value decreases the area and also affects trimoffset and bleedoffset.
trimoffset
define the TrimBox (end size of the page after cutting). A negative value defines the offset from TrimBox to CropBox.
bleedoffset
define the BleedBox (size of the page incl. trim area). A positive value defines the trim as offset from BleedBox to TrimBox.
artoffset
define the ArtBox (page content). It usually makes no sense.

Settings name

\setuplayout[...]
[...] reset name

Option Explanation
Activate a named layout or reset the default layout.

Description

If the document is singlesided, then the 'outside' is the right side and the 'inside' is the left side.

A picture of a page with each of these layout parameters indicated is shown in Typesetting areas.

You can use the \showframe macro to see the results of your layout. Just put the command before \starttext and lines will be drawn on your document showing the different areas. \showlayout will insert 4 pages with setting values.

Methods

1. Define backspace and width, topspace and height, others only if you need them.

2. Define the margins and set width and height to fit.

Grid Setups

In MkIV, at least, a number of presets for the grid parameter were defined using \definegridsnapping; they can be invoked by e.g. \setuplayout[grid=normal]. The presets are all combinations of the following options:

none don't enlarge
halfline enlarge by halfline/halfline
line enlarge by line/line
strut enlarge by ht/dp (default)
first align to top line
last align to bottom line
mindepth round depth down
maxdepth round depth up
minheight round height down
maxheight round height up
local use local interline space
shift:-3tp vertical shift within box

These are the presets and their definitions.

\definegridsnapping[normal] [maxheight,maxdepth,strut]
\definegridsnapping[standard] [maxheight,maxdepth,strut]
\definegridsnapping[yes] [maxheight,maxdepth,strut]
\definegridsnapping[strict] [\v!maxdepth:0.8,maxheight:0.8,strut]
\definegridsnapping[tolerant] [\v!maxdepth:1.2,maxheight:1.2,strut]
\definegridsnapping[top] [minheight,maxdepth,strut]
\definegridsnapping[bottom] [maxheight,mindepth,strut]
\definegridsnapping[both] [minheight,mindepth,strut]
\definegridsnapping[broad] [maxheight,maxdepth,strut,0.8]
\definegridsnapping[fit] [maxheight,maxdepth,strut,1.2]
\definegridsnapping[first] [first]
\definegridsnapping[last] [last]
\definegridsnapping[high] [minheight,maxdepth,none]
\definegridsnapping[low] [maxheight,mindepth,none]
\definegridsnapping[line] [line]
\definegridsnapping[strut] [strut]
\definegridsnapping[max] [maxdepth,maxheight,strut]
\definegridsnapping[min] [mindepth,minheight,strut]

Pseudo columns

With the columns and columndistance parameters you can set up a design grid that is usually not visible and not related to real columns, but you can use it for placements on Layers. See the Details manual.

Examples

Example 1

  • \setuppapersize[A10]
    
    %% This is an example for showing the effect of the vertical parameters
    %% top, topdistance, bottom, bottomdistance and topspace.
    %% Just play around with these parameters.
    
    \showframe
    
    %% Show the top and the bottom with blue color:
    \setupbackgrounds[header, footer][background=color, backgroundcolor=blue]
    
    \def\MyLength{10pt}
    
    \setuplayout[
      top=\MyLength,
      topdistance=\MyLength,
      bottom=\MyLength,
      bottomdistance=\MyLength,
      topspace=\dimexpr(\topheight + \topdistance),
      height=fit]
    
    \starttext
        \input thuan
    \stoptext
    

Notes

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: