Henning Hraban Ramm <mailto:te...@fiee.net>
20. Juli 2018 um 20:49
Hi Tomáš,
I don’t know of anything existing.
Find attached what I use for a magazine – I include title and back
pages in the main PDF (to get a complete issue for corrections and
online distribution) and use that as externalfigure, just creating the
spine anew.
Hi Henning,
below is a modified version of your example where I changed a few things.
1. I used the "measure" commands to set the spine values, the advantage
of the \measure is that it falls back to 0pt when you try to use a
undefined value.
2. I determined the last page of the megazine with the
\getfiguredimensions command, afterwards you can use the \noffigurepages
command to get the last page of the document.
3. I put the layer and frame settings for the \setlayerframed command in
separate arguments.
4. I got rid of the backgrounds setup for the layer. A better solution
here is to create a page without margins which can be done with the
"page" layout where you flush the collected content of the layer with
the \flushlayer command.
5. I set the texts for the isse number and title with the \setvariables
command.
Wolfgang
%%%%%%
\definemeasure [SpineWidth] [6mm]
\definemeasure [SpineOffset] [\dimexpr(\measure{SpineWidth}-9pt)/5\relax]
\definepapersize
[Cover]
[width=\dimexpr420mm+\measure{SpineWidth}\relax,
height=297mm]
\setuppapersize [Cover]
\setupexternalfigures [directory={_pdf}]
\useexternalfigure [MAG] [magazine.pdf]
\setvariables
[cover]
[issue={34},
topic={Topic}]
\setuplayout
[marking=on]
\definelayer
[whole]
[width=\paperwidth,
height=\paperheight]
\starttext
\startlayout [page]
\setlayer
[whole]
[x=0mm,
y=0mm]
{\getfiguredimensions[MAG]
\externalfigure[MAG][page=\noffigurepages]}
\setlayer
[whole]
[x=\dimexpr210mm+\measure{SpineWidth}\relax,
y=0mm]
{\externalfigure[MAG][page=1]}
\setlayerframed
[whole]
[x=210mm,
y=20mm]
[frame=off,
offset=overlay,
width=\measure{SpineWidth},
align=center]
{\getvariable{cover}{issue}}
\setlayerframed
[whole]
[x=210mm,
y=92mm]
[frame=off,
offset=overlay,
align=right,
width=\measure{SpineWidth},
height=190mm]
{\rotate
[rotation=90,
align={right,middle},
frame=off,
height=\measure{SpineWidth},
width=190mm]
{\vskip\measure{SpineOffset}
\vbox{MAGAZINE\hfill\getvariable{cover}{topic}}}}
\flushlayer [whole]
\stoplayout
\stoptext
%%%%%%
___________________________________________________________________________________
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://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________