[NTG-context] Howto float text around an image on layer (in a frame, inside standardmakeup)?

Wolfgang Schuster schuster.wolfgang at googlemail.com
Tue Jun 24 09:37:00 CEST 2008


On Tue, Jun 24, 2008 at 3:07 AM, Uwe Koloska <ml at koloro.de> wrote:
> Hello,
>
> hopefully this is the last dumb question, cause the CD is nearing it's end an
> will be prepared for printing soon ;-)
>
>
> How can I float text around a picture if I place them on a layer?
>
> What I want to achieve is something like this:
>
> ppp........
> ppp........
> ...........
>
> but typeset onto a layer to position it at my will ...

Not possible with a layer.

> But I can't get the text flow around the graphic.  Here is a minimal example:
> -------------------------------------------------------------
> \definelayer[test]
>
> \startbuffer[text]
> \placefigure[left,none]{}{\framed[height=1cm]{graphic}}
> \input tufte
> \stopbuffer
>
> \setlayerframed[test]
>  [x=.5\paperwidth,y=2em,location=bottom]
>  [width=0.8\textwidth,height=0.3\textheight,align=normal]
>  {\getbuffer[text]}
>
> \setupbackgrounds[page][background=test]
>
> \starttext
> \startstandardmakeup
> \stopstandardmakeup
> \stoptext
> -------------------------------------------------------------
>
> and the result can be seen in the attached PDF.
>
> The same happens inside a standardmakeup
> -------------------------------------------------------------
> \startbuffer[text]
> \placefigure[left,none]{}{\framed[height=1cm]{graphic}}
> \input tufte
> \stopbuffer
>
> \starttext
> \startstandardmakeup
> \getbuffer[text]
> \stopstandardmakeup
> \stoptext
> -------------------------------------------------------------
>
> and inside a framedtext
> -------------------------------------------------------------
> \startbuffer[text]
> \placefigure[left,none]{}{\framed[height=1cm]{graphic}}
> \input tufte
> \stopbuffer
>
> \starttext
> \startframedtext[width=0.8\textwidth]
> \getbuffer[text]
> \stopframedtext
> \stoptext
> -------------------------------------------------------------
>
> Neither the mailinglist, nor the wiki or the documentation have given me any
> clue, what to change or where to look further ...

standardmakeup and framedtext use a \vbox and floating text around a image
did not work in restricted vertical mode unless you use ConTeXt's stream
mechanism, you can find examples in m-streams or in the list archive.

> Is there another way to flow text around an image?  The image has a fixed
> position (top left corner of the text) so it don't has to be a float at all.

Do you really need standardmakeup or why do you use it.

A alternative for framedtext is textbackground, it is also the better solution
in grid mode.

\definetextbackground
  [cover]
  [frame=on,
   location=paragraph,
   background=,
   leftoffset=.25ex,
   rightoffset=.25ex,
   topoffset=.25ex,
   bottomoffset=.25ex]

\starttext
\starttextbackground[cover]
\getbuffer[text]
\stoptextbackground
\stoptext

Regards
Wolfgang


More information about the ntg-context mailing list