setup different layouts in merged documents
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-scanc.... 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
Am 17.02.2015 um 20:49 schrieb Pablo Rodriguez
: 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-scanc.... 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.
You can go to a right page at the begin of entry with \page[right].
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).
Use \blank[force,…] when you need a vertical skip at the begin of a page. Wolfgang
On 02/17/2015 08:59 PM, Wolfgang Schuster wrote:
Am 17.02.2015 um 20:49 schrieb Pablo Rodriguez: [...] \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-scanc.... 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.
You can go to a right page at the begin of entry with \page[right].
Many thanks for your fast reply, Wolfgang. Yes, I forgot this. But if each merged document contains 6 pages, having different odd and even layouts won’t help here. And if each merged document has an odd number of pages using \page[right] would create a blank page with layers. Is there any way to remove a layer with "state=continue" from a blank page?
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).
Use \blank[force,…] when you need a vertical skip at the begin of a page.
Many thanks for the tip. Is there no way to add a page identifier at any given point of it that can match a \definelayout[identifier]? I‘m thinking of something similar to the "state=start" in layers. Many thanks for your help, Pablo -- http://www.ousia.tk
participants (2)
-
Pablo Rodriguez
-
Wolfgang Schuster