On 6/18/2013 6:11 AM, Malte Stien wrote:
Wolfgang,

I have to come back to this solution you provided me with some time ago. I have 
more reading in the meantime and have gained a deeper understanding of how this 
actually works. However...

1. I noticed that the text in the margin is not actually quite aligned with the 
top of the figure; I think the text starts at the baseline of the line that 
would be there if the figure was not, if you know what I am getting at. That is 
at 12pt font size the text is about 12pt below the top of the figure. I tried 
to fix that with some negative \vskip, but that does not seem to work. Could 
you suggest an alternative please and maybe even explain why the code below 
does not compile

You can set the text in the margin with the second argument of 
\startplacefigure.

\define\FigureText
  {\dowithnextbox
     {\startlinealignment[middle]
      
\copy\nextbox\rlap{\hskip\rightmargindistance\vskip-12pt\framed[frame=off,width=\rightmarginwidth,height=\nextboxht]{\floatuserdataparameter{text}}}
      \stoplinealignment}
     \hbox}


2. Currently the code always uses the right margin; I need it to use the outer 
margin. I experimented swapping the \rlap for \llap, but then I still have to 
negatively \hskip the entire text width to the left. Even if I got that to 
work, I will have to wrap everything in an if-statement and have one branch for 
left and one for right pages. Right? How do I find out whether I am on a left 
or a right page? In other words, how would the if-statement look like.


\setuppagenumbering[alternative=doublesided]

\starttext

    \definelayer
      [extrafiguretextlayer:l]
      [width=\overlaywidth,
       height=\overlayheight,
       corner={right,top},
       location={right,bottom},
       x=-1cm]

    \definelayer
      [extrafiguretextlayer:r]
      [width=\overlaywidth,
       height=\overlayheight,
       corner={left,top},
       location={left,bottom},
       x=-1cm]

    \startsetups extrafiguretext
        \signalouterrealign
        \setlayerframed
          [extrafiguretextlayer:\rightorleftpageaction rl]
          []
          [width=\marginwidth,
           align={lohi,middle},
           foregroundstyle=\tx]
          {\floatuserdataparameter{text}}
        \flushlayer
          [extrafiguretextlayer:\rightorleftpageaction rl]
    \stopsetups

    \defineoverlay
      [extrafiguretext]
      [\setups{extrafiguretext}]

    \setupfloat
      [figure]
      [background={foreground,extrafiguretext}]

    \dorecurse {20} {

        \startplacefigure[title=Dummy figure][text={margin dummy text #1}]
            \externalfigure[dummy][width=.8\textwidth]
        \stopplacefigure

    }

\stoptext

Thank you,
Malte.


--
“The Electric Monk was a labour-saving device, like a dishwasher or a video 
recorder... Electric Monks believed things for you, thus saving you what was 
becoming an increasingly onerous task, that of believing all the things the 
world expected you to believe.”

― Douglas Adams, Dirk Gently's Holistic Detective Agency

On 29/04/2013, at 9:04 PM, Wolfgang Schuster <schuster.wolfg...@gmail.com> 
wrote:


Am 29.04.2013 um 09:33 schrieb Malte Stien <ma...@stien.de>:

Hi,

I need to associate a bit of text with a figure in a book. The text is 
not---and cannot be---the figure caption (it's providing some explanation with 
respect to some labels in the figure). I have tried the following based on some 
other post on the mailing list:

\definepapersize[eightsquare][width=8in, height=8in]
\setuppapersize[eightsquare]

\setuplayout[
        location=doublesided, marking=on, backspace=43mm, leftmargin=18mm,
        leftmargindistance=4mm, rightmargin=35mm, rightmargindistance=4mm, 
rightedgewidth=6mm,
        topspace=12mm, header=15mm,     footer=15mm, height=179mm, width=115mm
]

\starttext

\startplacefigure[location=force, title={First dummy caption}]
\inmargin{First margin dummy}
\externalfigure[dummy][width=115mm]
\stopplacefigure

\stoptext

However, that results in the text being down the bottom of the figure. I need 
the text to be vertically aligned with the top of the figure. I have attached 
the resulting PDF for illustration purposes (is that okay on this mailing list? 
It's very small).

Any hints would be much appreciated.


You can set the text in the margin with the second argument of 
\startplacefigure.

\define\FigureText
  {\dowithnextbox
     {\startlinealignment[middle]
      
\copy\nextbox\rlap{\hskip\rightmargindistance\framed[frame=off,width=\rightmarginwidth,height=\nextboxht]{\floatuserdataparameter{text}}}
      \stoplinealignment}
     \hbox}

\setupfloat[figure][command=\FigureText]

\starttext

\startplacefigure[title=Dummy figure][text=Margin dummy]
\externalfigure[dummy][width=.8\textwidth]
\stopplacefigure

\stoptext

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
___________________________________________________________________________________

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



--

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to