< [[Visuals]] | [[Layers]] | [[Columns]] | [[Visual Debugging]] >
== Location of Areas ==
You can use these design areas in your page:
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. ↑ topspace ↓</td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;background:#DDDDDD;">header HEADER<br />↑ headerheight ↓</td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<tr style="background:#cccccc;">
<td style="background:#ccccff;"> text </td>
<td style="text-align:center;">. ←leftedgewidth→</td> <td style="text-align:center;background:#DDDDDD;">marginals MARGINALS<br />←leftmarginwidth→</td> <td style="text-align:center;height:20em;background:#EEEEEE;">text TEXT<br />←textwidth→<br />×<br />↑ textheight ↓</td> <td style="text-align:center;background:#DDDDDD;">marginals MARGINALS<br />←rightmarginwidth→</td> <td style="text-align:center;">. ←rightedgewidth→</td>
</tr>
<tr style="background:#cccccc;">
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;background:#DDDDDD;">footer FOOTER<br />↑ footerheight ↓</td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
<td style="text-align:center;">. </td>
There's also a "distance" between each of the areas, e.g. <tt>leftedgedistance</tt>, <tt>leftmargindistance</tt> (from the named area to the inner).
== Table of Parameters ==
<table>
<tr style="background:#cccccc;vertical-align=top;"><th>Parameter</th><th>Variable</th><th>Remarks</th>
</tr>
<tr>
<td>paperheight</td>
<td><cmd>paperheight</cmd></td>
<td>height of paper page</td>
</tr>
<tr>
<td>paperwidth</td>
<td><cmd>paperwidth</cmd></td>
<td>width of paper page</td>
</tr>
<tr>
<td>printpaperheight</td>
<td><cmd>printpaperheight</cmd></td>
<td>differs from paperheight when using [[Imposition]] (arranging)</td>
</tr>
<tr>
<td>printpaperwidth</td>
<td><cmd>printpaperwidth</cmd></td>
<td>differs from paperwidth when using [[Imposition]] (arranging)</td>
</tr>
<tr>
<td>topspace</td>
<td><cmd>topspace</cmd></td>
<td>above header: from top rim of paper to to top rim of header</td>
</tr>
<tr>
<td>backspace</td>
<td><cmd>backspace</cmd></td>
<td>from left rim of paper to left rim of text area</td>
</tr>
<tr>
<td>height</td>
<td><cmd>makeupheight</cmd></td>
<td>sum of heights of text area, header and footer (plus distances)</td>
</tr>
<tr>
<td>width</td>
<td><cmd>makeupwidth</cmd></td>
<td>normally same as textwidth</td>
</tr>
<tr>
<td>top</td>
<td><cmd>topheight</cmd></td>
<td>??</td>
</tr>
<tr>
<td>topdistance</td>
<td><cmd>topdistance</cmd></td>
<td>?? between topspace and header ??</td>
</tr>
<tr>
<td>header</td>
<td><cmd>headerheight</cmd></td>
<td>height of header area</td>
</tr>
<tr>
<td>headerdistance</td>
<td><cmd>headerdistance</cmd></td>
<td>between header and text</td>
</tr>
<tr>
<td>textheight</td>
<td><cmd>textheight</cmd></td>
<td>height of text area</td>
</tr>
<tr>
<td>footerdistance</td>
<td><cmd>footerdistance</cmd></td>
<td>between text and footer</td>
</tr>
<tr>
<td>footer</td>
<td><cmd>footerheight</cmd></td>
<td>height of footer area</td>
</tr>
<tr>
<td>bottomdistance</td>
<td><cmd>bottomdistance</cmd></td>
<td>?? between footer and bottom ??</td>
</tr>
<tr>
<td>bottom</td>
<td><cmd>bottomheight</cmd></td>
<td>space below footer (but isn't calculated automatically)</td>
</tr>
<tr>
<td>leftedge</td>
<td><cmd>leftedgewidth</cmd></td>
<td>from left rim of paper to left rim of left margin</td>
</tr>
<tr>
<td>leftedgedistance</td>
<td><cmd>leftedgedistance</cmd></td>
<td>?? between leftegde and left margin ??</td>
</tr>
<tr>
<td>leftmargin</td>
<td><cmd>leftmarginwidth</cmd></td>
<td>width of left margin (marginals space)</td>
</tr>
<tr>
<td>leftmargindistance</td>
<td><cmd>leftmargindistance</cmd></td>
<td>between left margin and text</td>
</tr>
<tr>
<td>textwidth</td>
<td><cmd>textwidth</cmd></td>
<td>width of text area</td>
</tr>
<tr>
<td>rightmargindistance</td>
<td><cmd>rightmargindistance</cmd></td>
<td>between text area and right margin</td>
</tr>
<tr>
<td>rightmargin</td>
<td><cmd>rightmarginwidth</cmd></td>
<td>width of right margin (marginals area)</td>
</tr>
<tr>
<td>rightedgedistance</td>
<td><cmd>rightedgedistance</cmd></td>
<td>?? between right margin and right edge ??</td>
</tr>
<tr>
<td>rightedge</td>
<td><cmd>rightedgewidth</cmd></td>
<td>from right margin to right rim of paper</td>
</tr>
</table>
== Setup ==
You define always a right page; if you use a double page layout 'right' and 'left' values are mirrored on a left page.
<texcode>
See <cmd>setuplayout</cmd> in the manual.
== Hints ==
By using [[Layers]], you can also place elements at specific places, as done in the [[BusinessCard]] example.
At [http://getfo.sourceforge.net/context_xml/index.html Paul Tremblay's] [[XML]] ConTeXt site, there's a lot about layout from a [[Formatting Objects|XML/FO]] perspective with some descriptive pictures.
{{todo|Unfortunately it's not that easy to define a layout. We need more documentation about which parameters define which length, what influences what else etc.}}