On 7/25/2014 4:06 PM, Rik Kabel wrote:
On 2014-07-25 07:10, Hans Hagen wrote:
Am 24.07.2014 um 10:36 schrieb Wolfgang Schuster
<schuster.wolfg...@gmail.com <mailto:schuster.wolfg...@gmail.com>>:


\starttext

\startplacefigure
    \framed[width=.8\textwidth,framecolor=red]{one}
\stopplacefigure

\setupfloat[figure][location=flushleft]

\startplacefigure
    \framed[width=1.2\textwidth,framecolor=blue]{two}
\stopplacefigure

\stoptext

You can use the command key for \setupfloat to apply a macro to the
finished content of the float.

The purpose of this macro is to save the content and compare the width
to the width of the text are,
when the figure is wider then the available space use the \leftaligned
or \rightaligned commands
to let the content protrude to the outer margins.


\setuppagenumbering[alternative=doublesided]

\setuplayout[backspace=4cm,width=12cm]

\definemeasure[Widefigure][\textwidth+\rightmargindistance+\rightmarginwidth]


\setupfloat[figure][command=\FigureCommand]

\define\FigureCommand
 {\dowithnextbox
    {\signalrightpage
     \ifdim\nextboxwd>\textwidth
\doifrightpageelse{\leftaligned{\flushnextbox}}{\rightaligned{\flushnextbox}}%

     \else
       \midaligned{\flushnextbox}%
     \fi}
    \hbox}

\showframe

\starttext

\startplacefigure
\framed[width=.8\textwidth,framecolor=red]{Left margin}
\stopplacefigure

\page

\startplacefigure
\framed[width=\measure{Widefigure},framecolor=red]{Left margin}
\stopplacefigure

\input knuth

\page

\startplacefigure
\framed[width=\measure{Widefigure},framecolor=red]{Right margin}
\stopplacefigure

\stoptext

Wolfgang
___________________________________________________________________________________

With Wolfgang's solution, the captions remain centered on the page. With
Hans's solution, the captions move with the center of the frame. I
expect that, if captions are used and there are other figures that are
not placed with this mechanism, Wolfgang's solution will result in a
better looking page.

maybe some day i come up with a cleaner caption handler ...

\showframe

\starttext

\startplacefigure
    \framed[width=.8\textwidth,framecolor=red]{one}
\stopplacefigure

\definefloat[widefigure][figure][figure]
\setupfloat   [widefigure][location=flushleft]
\setupcaptions[widefigure][width=\textwidth,align=middle]

\startplacewidefigure
    \framed[width=1.2\textwidth,framecolor=blue]{two}
\stopplacewidefigure

\stoptext

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