Changes

Jump to navigation Jump to search
Clarified and commented the sample code.
<texcode>
% Set binding correction value (mode=BCOR turns it on).\doifmodeelse{BCOR}{\def\BCORbindingcorr{3mm}}{\def\bindingcorr{0pt}} % eventual bounding correctionSet visible page width.\newdimen\PageWidth \PageWidth=\paperwidth\doifmode{BCOR}{\PageWidth=\dimexpr(\PageWidthpaperwidth-\BCORbindingcorr)} % Determine the paper aspect ratio.
\edef\Ratio{\withoutpt{\the\dimexpr(2\paperheight/(\PageWidth/32768))}}
 
% Set the textarea width to 2.6 alphabets.
\setbox\scratchbox\hbox{\dorecurse{26}{\character\recurselevel}}
\newdimen\Width \newdimen\Height \newdimen\Back\Width=\dimexpr(2.6\wd\scratchbox)  % Set the textarea height proportional to the width.\newdimen\Height \Height=\dimexpr(\Ratio\Width) % Set the margin/gutter widths to be equal on a full spread.\newdimen\Back\doifmodeelse{oneside} {\Back=\dimexpr(((\PageWidth - \Width) / 2) + \bindingcorr)} {\Back=\dimexpr(((\PageWidth - \Width) / 3)}\doifmode{BCOR}{\Back=\dimexpr(\Back + \BCORbindingcorr)} % Set the top and bottom margins in a 1:2 ratio, ignoring headers.
\edef\Top{\the\dimexpr((\paperheight - \Height) / 3 - 3\lineheight)}
 
% Redefine \Height to include header and footer space.
\Height=\dimexpr(\Height + 8\lineheight)
 % Set up the page layout using the calculated parameters.\setuplayout[ backspace=\the\Back, height=\the\Height, width=\the\Width, header=2\lineheight, headerdistance=\lineheight, footer=2\lineheight, footerdistance=3\lineheight, topspace=\Top]
\starttext
\stoptext
</texcode>
 
This can be processed with a <code>-mode=BCOR</code> option on <code>texexec</code> to activate the binding correction, or with a <code>-mode=oneside</code> option to activate the single-sided page layout rather than the (default) double-sided version.

Navigation menu