\startcomponent ma-cb-en-layout \enablemode[**en-us] \project ma-cb \startchapter[title=Page layout] \index{layout} \index{page design} \Command{\tex{setuplayout}} \Command{\tex{adaptlayout}} \Command{\tex{showlayout}} \Command{\tex{showframe}} % VZ 2006-11-15 \Command{\tex{showsetups}} \Command{\tex{showmakeup}} \Command{\tex{startlocal}} \startsection[title=Introduction] The {\em Layouts in \CONTEXT} manual by Willy Egger contains the necessary background information on page layout and design. Below you will find only the basic information necessary for defining rather simple layouts for paper and screen documents. For more information (examples and usage) on the \type{\setuplayout} command please refer to the \goto {\CONTEXTWIKI} [ url(http://wiki.contextgarden.net/Layout) ]. \stopsection \startsection[title=Designing the pagelayout] To be able to design a page layout you have to familiarize yourself with the pagemodel of \CONTEXT. \in{Figure}[fig:pageareas] shows the areas on a page that you can use in your design. \placefigure [here] [fig:pageareas] {The page areas.} {\externalfigure[fig-page-areas-en.pdf][width=.75\hsize]} The orange bodytext area contains the running text. The top, bottom, and edge area are useful for buttons in screen documents. Please keep in mind that in \CONTEXT\ you are defining|/|designing a right-hand page. Only after you have setup \type{\setuppagenumbering[alternative=doublesided]} the left page is available (mirrored right page). \starthiding % AFO: this is the file minibook-en.tex in graphics map \setuppapersize[A10][A10] \setuplayout[cutspace=2mm,backspace=6mm,width=15mm] \setupbodyfont[6pt] \setuppagenumbering[state=stop] \setupbackgrounds[text][text][background=color,backgroundcolor=orange] \setupbackgrounds[header,text,footer][leftmargin][background=color,backgroundcolor=lightgreen] \setupbackgrounds[header,text,footer][leftmargin,text,rightmargin][frame=on] \setupfootertexts[margin][\midaligned{l}][\midaligned{r}][\midaligned{r}][\midaligned{l}] \starttext \midaligned{design page} \page \setuppagenumbering[alternative={singlesided}] \inmargin{\midaligned{m}}\midaligned{left page} \page \inmargin{\midaligned{m}}\midaligned{right page} \page \setuppagenumbering[alternative={singlesided,doublesided}] \inmargin{\midaligned{m}}\midaligned{left page} \page \inmargin{\midaligned{m}}\midaligned{right page} \page \setuppagenumbering[alternative={doublesided}] \inmargin{\midaligned{m}}\midaligned{left page} \page \inmargin{\midaligned{m}}\midaligned{right page} \stoptext \stophiding \placefigure [here] [fig:sidedness] {Page alternatives.} {\startcombination[3*1] {\externalfigure[minibook-en.pdf][type=pdf,page=2,width=2.4cm]\externalfigure[minibook-en.pdf][type=pdf,page=3,width=2.4cm]}{singlesided} {\externalfigure[minibook-en.pdf][type=pdf,page=4,width=2.4cm]\externalfigure[minibook-en.pdf][type=pdf,page=5,width=2.4cm]}{single-double} {\externalfigure[minibook-en.pdf][type=pdf,page=6,width=2.4cm]\externalfigure[minibook-en.pdf][type=pdf,page=7,width=2.4cm]}{doublesided} \stopcombination} Note in \in{figure}[fig:sidedness] that: \startitemize[packed] \item the margintext (\type{\inmargin{m}}) is always in the left margin \item the footertext in the margin (\type{\setupfootertexts[margin][l][r][r][l]}) adapts automatically \item the page is completely mirrored when \type{alternative=doublesided} \stopitemize When designing a page ask yourself a few questions: \startitemize[packed] \item do I want margin texts or margin figures \item will I use the margin for the section numbering \item do I have footer and/or header texts \item do I want a double sided layout (right--left page mirrored) \item do I use ornaments (like tabs) on the page \item do I have navigational buttons (screen documents) \stopitemize \stopsection \startsection[title=Defining the papersize / screensize] Before you can set up your page layout you have to have an idea about the paper dimensions. The cutmarks connected by the dashed lines in \in{figure}[fig:pageareas] indicate the papersize. In \CONTEXT\ you set up your papersize with: \shortsetup{\tex{setuppapersize}} Most common predefined papersizes in \CONTEXT\ are A0..A10 and B1..B10 for paper and S3..S8 for screen documents. Mostly you will use the default setup: \startbuffer \setuppapersize [A4][A4] \stopbuffer \typebuffer But you can also define your own paper size for specific products: \startbuffer \definelayout [postcard] [width=15cm, height=10cm] \stopbuffer \typebuffer \stopsection \startsection[title=Defining the page layout] The page layout is defined by: \shortsetup{setuplayout} This command is typed in the set up area of your input file. \placefigure [here] [fig:pageparameters] {The page parameters.} {\externalfigure[fig-page-parameters-en.pdf][width=.8\hsize]} The layout of this manual was set with: \startbuffer \setuplayout [backspace=3cm, margin=2cm, margindistance=.5cm, width=15cm, topspace=2cm, header=2cm, footer=2cm, height=25.7cm] \stopbuffer \typebuffer If you want to look at your page layout you can type the command \type{\showframe} and process one page or the whole file. The areas are shown in a number of frames. The command \type{\showsetups} shows the values of the parameters. A combination of both commands is \type{\showlayout}. The values of the layout parameters are available as commands. This enables you to work more accurately when defining measures of columns, figures and tables. A few of these parameters are explained in \in{table}[tab:fewparameters]. \placetable [here,force] [tab:fewparameters] {A few parameters as commands.} \starttable[|l|l|] \HL \NC \bf Commands \NC \bf Meaning \NC\SR \HL \NC \type{\makeupwidth} \NC width of the typing area \NC\FR \NC \type{\makeupheight} \NC height of the typing area \NC\MR \NC \type{\textwidth} \NC width of the text area \NC\MR \NC \type{\textheight} \NC height of the text area \NC\LR \HL \stoptable If you want to define the width of a column or the height of a figure you can do it relative to the \type{\makeupwidth} or \type{\makeupheight}. Changes in this width or height will alter columns and figures proportionally. \startbuffer \placefigure [here] [fig:stepgable] {A stepgable.} {\externalfigure[ma-cb-19][width=.6\textwidth]} \stopbuffer \typebuffer After processing this would become: \getbuffer The other available values are (shown with \type{\showsetups}): \startcolumns \switchtobodyfont[8pt] \showsetups \stopcolumns The parameter values have a global effect and are default throughout the document. Nevertheless you might want to make slight changes in the page design for a number of pages. \startbuffer \adaptlayout[21,38][height=+.5cm] \stopbuffer \typebuffer In this case page 21 and 38 have a height of .5~cm + \type{textheight}. It is advisable not to use these local changes too often. It is always better to alter the text than to change the page layout. \stopsection \stopchapter \stopcomponent