ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* setup different layouts in merged documents
@ 2015-02-17 19:49 Pablo Rodriguez
  2015-02-17 19:59 ` Wolfgang Schuster
  0 siblings, 1 reply; 3+ messages in thread
From: Pablo Rodriguez @ 2015-02-17 19:49 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: setup different layouts in merged documents
  2015-02-17 19:49 setup different layouts in merged documents Pablo Rodriguez
@ 2015-02-17 19:59 ` Wolfgang Schuster
  2015-02-17 20:39   ` Pablo Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Wolfgang Schuster @ 2015-02-17 19:59 UTC (permalink / raw)
  To: mailing list for ConTeXt users


> Am 17.02.2015 um 20:49 schrieb Pablo Rodriguez <oinos@gmx.es>:
> 
> 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.

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
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: setup different layouts in merged documents
  2015-02-17 19:59 ` Wolfgang Schuster
@ 2015-02-17 20:39   ` Pablo Rodriguez
  0 siblings, 0 replies; 3+ messages in thread
From: Pablo Rodriguez @ 2015-02-17 20:39 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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-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.
> 
> 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
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-02-17 20:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-17 19:49 setup different layouts in merged documents Pablo Rodriguez
2015-02-17 19:59 ` Wolfgang Schuster
2015-02-17 20:39   ` Pablo Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).