Justifying last line of paragraph
Hi there, what I'm trying to achieve is splitting a paragraph into two -- from TeX's point of view -- that still look like one single paragraph. To this end, I have to make sure that the last line of the first paragraph is justified just like all the surrounding lines, so, in the pdf output one couldn't tell that this is actually the end of a paragraph. so, How can I force the last line to be justified as well? In order to see the reason for my question, consider the following example: \setupwhitespace[big] \setupalign[line] \starttext \dorecurse{3}{\input knuth\par} \placefigure[right][fig:test1]{Basically just a bit of empty space.} {\framed[width=0.5\textwidth,height=0.4\textheight,offset=none]{Test}} {\input tufte\par} \stoptext The first couple of lines of the paragraph beginning on page two should really go on the previous page. Since the hang mechanism of \placefigure doesn't work due to the page break, I'd like to split this paragraph into two logical entities, so TeX can put the first on the first page and treat the second as a separate paragraph flowing around the picture. However, the reader should not be aware of this split. Any help much appreciated, Elias
On 09/25/2010 08:03 PM, Elias Oltmanns wrote:
The first couple of lines of the paragraph beginning on page two should really go on the previous page. Since the hang mechanism of \placefigure doesn't work due to the page break, I'd like to split this paragraph into two logical entities, so TeX can put the first on the first page and treat the second as a separate paragraph flowing around the picture. However, the reader should not be aware of this split.
Any help much appreciated,
I don't know of any automatic solution to this problem (except _perhaps_ columnsets could help) but the simplest way to split a paragraph into two paragraphs while still looking like one is by inserting a macro like this at an existing break point: \def\splitpar {\bgroup \parfillskip\zeropoint \par \aftergroup \parskip \aftergroup \zeropoint \aftergroup \noindentation \egroup } \splitpar will work anywhere in a paragraph, but you only get a visually pleasing result when it is applied at, or close to, a break that would have been chosen anyway. Best wishes, Taco
Taco Hoekwater
On 09/25/2010 08:03 PM, Elias Oltmanns wrote:
The first couple of lines of the paragraph beginning on page two should really go on the previous page. Since the hang mechanism of \placefigure doesn't work due to the page break, I'd like to split this paragraph into two logical entities, so TeX can put the first on the first page and treat the second as a separate paragraph flowing around the picture. However, the reader should not be aware of this split.
Any help much appreciated,
I don't know of any automatic solution to this problem (except _perhaps_ columnsets could help) but the simplest way to split a paragraph into two paragraphs while still looking like one is by inserting a macro like this at an existing break point:
Thanks Taco, this appears to be exactly what I was looking for. One more thing though: is there a simple way to arrange for all arguments provided to \splitpar to be passed on to \placefigure in a definition like this:
\def\splitpar {\bgroup \parfillskip\zeropoint \par
\aftergroup \placefigure % arguments to \splitpar should be passed on
\aftergroup \parskip \aftergroup \zeropoint \aftergroup \noindentation \egroup }
Thanks for your help, Elias
On 09/26/2010 06:01 PM, Elias Oltmanns wrote:
Taco Hoekwater
wrote: On 09/25/2010 08:03 PM, Elias Oltmanns wrote:
The first couple of lines of the paragraph beginning on page two should really go on the previous page. Since the hang mechanism of \placefigure doesn't work due to the page break, I'd like to split this paragraph into two logical entities, so TeX can put the first on the first page and treat the second as a separate paragraph flowing around the picture. However, the reader should not be aware of this split.
Any help much appreciated,
I don't know of any automatic solution to this problem (except _perhaps_ columnsets could help) but the simplest way to split a paragraph into two paragraphs while still looking like one is by inserting a macro like this at an existing break point:
Thanks Taco, this appears to be exactly what I was looking for. One more thing though: is there a simple way to arrange for all arguments provided to \splitpar to be passed on to \placefigure in a definition like this:
Something like this should work: \def\splitpar#1% {\bgroup .... \gdef\splitparcommands{\placefigure#1\parskip...}% \aftergroup \splitparcommands \egroup} The definition is all about \aftergroup: each \aftergroup adds exactly one *token* to the list of things to run after the group ends. Passing arguments that way is tedious and very error prone (you would need something like \adtergroup [ \aftergroup l \aftergroup e \aftergroup f ... ), so defining a global macro and passing that is better. I did not do this in the earlier version because if you can get around using \gdef, it is usually wise to do so. Sorry, I have no idea whether it is possible to do this stuff with a nicer, more ConTeXt interface. Best wishes, Taco
participants (2)
-
Elias Oltmanns
-
Taco Hoekwater