[NTG-context] setup different layouts in merged documents

Pablo Rodriguez oinos at gmx.es
Tue Feb 17 20:49:36 CET 2015


Dear list,

I have the following sample:

\setuplayout[margin=20mm, width=fit, topspace=45mm,
bottomspace=25mm,height=fit]
\showframe
\definelayout[first][margin=20mm, width=fit, topspace=110mm,
bottomspace=20mm, height=fit]
\usemodule[scancsv]
\starttext
\startbuffer[text-content]
\definelayer[FirstLayer][state=start]
\setlayer[FirstLayer]{First page}
\definelayer[OtherLayer][state=continue]
\setlayer[OtherLayer]{Other pages}
\setupbackgrounds[page][background={FirstLayer,OtherLayer}]
%~ \mbox{}\blank[75mm]
\dorecurse{17}{\input zapf\par}
\cA\hfill
\cB
\page
\stopbuffer

\opencsvfile{mail.csv}
\doloop{\ifnotEOF\getbuffer[text-content]\nextrow\else\exitloop\fi} %OK
\stoptext

Contents of mail.csv:

    "ME";11/10/14
    "You";05/02/14
    "She";03/03/12
    "It";03/03/14

t-scancsv.lua can be found at
http://public.hajtmar.com/files/TeX/context/t-scancsv_ConTeXt_module/t-scancsv.lua.
It is an awesome module for document merging.

I’m having a problem that I don’t know how to solve.

Each merged document has different layers for the first and other pages.

But I don’t know how to set a different layout for the first page in
each merged document. I have tried three options.

 1. \definelayout[first] only works for the first page in document,
    not for each merged document.

 2. \definelayout[even] and \definelayout[odd] work as long as each
    merged document contains less than three pages. Otherwise, it
    won’t work.

 3. Adding an \mbox{}\blank[75mm] would do the job, but it’s a
    crappy way to work with ConTeXt (and it might lead to errors in
    the future).

Is there a way to apply different layouts in the first and other pages
in each merged document from the sample above?

Many thanks for your help,


Pablo
-- 
http://www.ousia.tk


More information about the ntg-context mailing list