Using your example, Sreeram, but adapting it to my own set of images
(which are not cows or spiders!) I can now see clearly how to make use
of all the essential information that had initially been provided by
Wolfgang, and also the important hint, which I had clumsily and
unsuccessfully been trying anyway before he offered it, from Aditya,
about passing key value parameters along the lines of Wolfgang's 'name
='. It simply did not occur to me to do this using 'factor= '. But there
was much more about the example I would not have worked out by myself as
well!
Thank you (all) for your patience.
Julian
On 10/3/22 17:51, śrīrāma wrote:
On Thursday, March 10, 2022 3:32 AM jbf via ntg-context wrote:
Am endeavouring to explore Wolfgang's very 'elegant' solution to this
facing page challenge. The exploration has included a look at
base/mkxl/page-inj.mklx (thanks Sreeram for reminding me of this) where
I see immediately that the approach is experimental and where it says
also that 'probably more alternatives will be added'. I wonder if that
last phrase also includes the ability to manipulate the image(s) either
generally or in individual cases?
The following example is based on Wolfgang's solution using injections: I have
modified the setup slightly to hook into \externalfigure's {width, height,
orientation} using user-variables. With this I think you can place any kind of
image (portrait or landscape) correctly by using width, height, and rotation.
I picked up some images of cows, 'spider', 'hacker' and 'mill' and have them
renamed as {chap-cover-1, ... chap-cover-6} for a total of 6 chapter images.
%%% start example
\definepageinjectionalternative
[chapter:image]
[renderingsetup=pageinjection:chapter:image]
\startsetups [pageinjection:chapter:image]
\clip
[width=\framedwidth,height=\framedheight]
{\centerbox{%
\externalfigure
[\dummyparameter{name}]
[%factor=,
width=\structureuservariable{width},
height=\structureuservariable{height},
orientation=\structureuservariable{rotation}]%
}}
\stopsetups
\definepageinjection
[chapter:start]
[empty]
[page=left]
\definepageinjection
[chapter:insert]
[previouspage]
[alternative=chapter:image,
pagestate=stop]
\setuphead
[chapter]
[beforesection={\pageinjection[chapter:start]},
insidesection={\pageinjection[chapter:insert][name=\structureuservariable{image}]}]
\setuphead
[chapter]
[beforesection={\pageinjection[chapter:start]},
insidesection={\pageinjection[chapter:insert][name={chap-cover-\namedheadnumber{chapter}}]}]
\setuppagenumbering
[alternative=doublesided]
\setupexternalfigures
[location=default]
\starttext
\startchapter [title={Mill}] [rotation=90,width=\paperheight]
\dorecurse{7}{\samplefile{lorem}}
\stopchapter
\startchapter [title={Mill}] [rotation=-90,width=\paperheight]
\dorecurse{11}{\samplefile{lorem}}
\stopchapter
\startchapter [title={Mill}] [rotation=-90,width=\paperheight]
\dorecurse{7}{\samplefile{lorem}}
\stopchapter
\startchapter [title={Mill}] [rotation=90,width=\paperheight]
\dorecurse{7}{\samplefile{lorem}}
\stopchapter
\startchapter [title={Mill}] [rotation=-45,width=\paperwidth]
\dorecurse{11}{\samplefile{lorem}}
\stopchapter
\startchapter [title={Mill}] [height=\paperheight]
\dorecurse{7}{\samplefile{lorem}}
\stopchapter
\stoptext
%%% end example
Sreeram
___________________________________________________________________________________
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
___________________________________________________________________________________