LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Chris Rowley <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 3 Mar 2003 16:37:26 +0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (43 lines)
>
> This needs not be related, but it sometimes leads to similar problems, and
> I haven't seen an explanation anywhere: why is \addvspace discontinuous?

The full algorithm for the case  SKIP <= \lastskip is:

> If
>   SKIP <= \lastskip < 0 or 0 <= SKIP <= \lastskip
> then the net effect of \addvspace{SKIP} is to do nothing,
> but if
>   SKIP < 0 <= \lastskip
> then the net effect of \addvspace{SKIP} is that SKIP is added to the
> current vertical list (thus moving everything up).
>

I never found any explanation of this algorithm, which comes from
pre-2.09 LaTeX.  The documentation in ltspaces.dtx contains some
relevant comments on this and related problems with vertical spacing.

For SKIP < 0, the discontinuity wrt \lastskip (at \lastkip = 0) always
worried me but no one else has noticed it in 15 years, or so it seems.
Note that when it is discontninuous it is, (IMO) worse, not even monotone!

It is clear from the original code and documentation that \addvspace
is only intended to be used with itself (and \addpenalty); thus it was
never designed to work with spaces resulting from low-level TeX
commands or processes.

Thus any non-zero value of \lastskip is assumed to have come from an
\addvspace command (not a very wise assumtion, I agree).

Also, it does say (note the first word):

  Extra vertical space is added by the command \addvspace{<skip>}.

This implies that the PRE-CONDITION is perhaps that the argument (ie
SKIP) is always positive.  But then why put in the bizarre code at all?

Isn't history fun?


chris

ATOM RSS1 RSS2