[NTG-context] float/figure and wrapping text

Hans Hagen pragma at wxs.nl
Wed Jan 4 11:44:37 CET 2006


Randolph Bertin wrote:

> I am typesetting books, primarily text and images. My original 
> background is Quark/InDesign, but quite recently, I decided to look 
> into TeX/LaTeX (LaTeX because that is just what most of the TeX 
> references refer to). I first spent some time trying to learn LaTeX 
> and although I was able to accomplish a number of my desired goals, I 
> began to run into some problems related to maintaining text on a 
> baseline grid. When searching for solutions, I came across a reference 
> to ConTeXt. My first impressions are that ConTeXt looks great, and 
> would handle most of what I would like to accomplish with a nice 
> uniform approach. I haven't explored many of the features I will need 
> to use, but am trying to read the manuals and listserv archives and 
> basically trying things out to see how things function.
>
> So, I am sure I will have a number of questions that will later turn 
> out to seem obvious (often the case, I guess for the uninitiated). 
> Eventually, I might even be able to answer a couple of questions....
>
> But, to begin, one thing I would like to do for a project I am working 
> on is to wrap continuous text around an image (placed on one side of 
> the main text body), and I am encountering a little difficulty.
>
> The basic situation in my document is that the figure can float, to be 
> inserted at the next available spot, placed at the left or right 
> margin, with text above (if there is space), to the side, and below 
> (if there is space).
>
> First, it appears that TeX, LaTeX and ConTeXt can only place a figure 
> next to text at the beginning of a paragraph. Is this correct?
>
> Second, using ConText, when I use \placefigure, if there is enough 
> space on a page, it appears to place it, and wrap text around the 
> side. Everything looks fine. But, if there is not enough space 
> remaining on the page, the remainder of the page is left blank, and 
> then the figure is placed at the beginning of the next page, with text 
> wrapped around it. (That is both what I observed, and also I read in 
> the "Details" document as the expected behavior). If I use 
> \placefloat, if there is not enough space remaining on the page, the 
> text will continue printing on the page and the float will be placed 
> on the next page, BUT without any text to the side of it.
>
> What I would like is to be able to combine these two behaviors when 
> placing a floating figure: If there is enough space on the page, it 
> would place the figure there and wrap text around it (as it currently 
> does for \placefigure). If there is not enough space, it will 'float' 
> the figure and continue with the text on the current page (as it does 
> with \placefloat, but not with \placefigure) and insert the figure on 
> a subsequent page when there is space, wrapping the text around the 
> figure at that point (again as it does with \placefigure, but does not 
> seem to do with \placefloat).
>
> Is it possible to do this using a current set of ConTeXt control 
> sequences and maybe I am just missing something? If not, is this 
> something that can be implemented? (I don't have any experience with 
> lower level TeX macro programming). All of what I am looking for is 
> already there, but not all in one control sequence.

you can move the graphic with:

\starttext

\hangsidefloat[3] \placefigure[left]{}{} \input zapf \input zapf \input zapf

\movesidefloat[3*line] \placefigure[left]{}{} \input zapf \input zapf 
\input zapf

\stoptext

this is still page bound

\movesidefloat[x=10pt,y=-30pt]

also works, as does:

\placefigure[left,3*line]{}{} \input zapf \input zapf \input zapf

and in the next version:

\placefigure[left,3*hang]{}{} \input zapf \input zapf \input zapf

will work as well (i cannot post a patch because i first need to upload 
the version with the french interface)

Hans



More information about the ntg-context mailing list