[NTG-context] help with facing page image

jbf roma83537 at gmail.com
Thu Mar 10 09:49:23 CET 2022


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
>
>


More information about the ntg-context mailing list