[tex-eplain] Bug related to typographical lists

Stepan Kasal kasal at ucw.cz
Tue Jul 20 11:48:16 CEST 2004


Hello,

On Mon, Jul 19, 2004 at 11:00:34PM +0300, geolsoft at mail.ru wrote:
> When \abovelistpenalty=10000, page break can still occur before the first
> list item
...
> So this is roughly what we end up with in the vertical list, before the first
> item's box:
> 
>     \vpenalty\abovelistpenalty
>     \vskip\abovelistskipamount
>     \write{...}
>     \parskip

you haven't expressed another subtle problem: even for \abovelistpenalty=0,
it's possible that the \parskip glue will be selected for a page break, which
would mean that the cross reference would point to the wrong place.

Though I see no problem with the solution you proposed, I beleive there is
a simpler solution; see the patch below.

Cheers,
	Stepan Kasal


2004-07-20  Stepan Kasal  <kasal at ucw.cz>

	* xeplain.tex (\printitem): Add \nobreak before \vskip-\parskip
	  and (implicite) \vskip\parskip, so that a page break cannot
	  appear here, between the indexing \write a the start of the item.

--- xeplain.tex.orig	2004-02-15 22:41:08.000000000 +0100
+++ xeplain.tex	2004-07-20 11:44:35.000000000 +0200
@@ -1038,6 +1038,7 @@
 % 
 \def\printitem{%
   \par
+  \nobreak
   \vskip-\parskip
   \noindent
   \printmarker\marker



More information about the tex-eplain mailing list