Am 23.07.2014 um 17:48 schrieb Joshua Krämer
Dear list,
I have some big-width floats, and want them to span the regular text width plus the outer margin. I can position them manually with \kern. Is there a way to make them automatically extend into the outer margin? I have tried different options for location=... without success.
Thanks and kind regards, Joshua Krämer
Example with manual positioning:
\setuplayout [backspace=3cm, width=13.5cm, topspace=2cm, height=24.7cm, margin=1.5cm, margindistance=0cm, header=0cm, footer=0cm, footerdistance=0cm]
\newdimen\Bigtextwidth \Bigtextwidth=15cm
\setuppagenumbering [alternative=doublesided]
\showframe
\starttext
\startplacefigure \leavevmode\kern-1.5cm\framed [width=\Bigtextwidth, framecolor=red] % {Left margin} \stopplacefigure
\startplacefigure \leavevmode\kern0cm\framed [width=\Bigtextwidth, framecolor=red] % {Right margin} \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