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
Condense Mail Headers

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

Print Reply
Sender:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Fri, 7 Mar 2003 00:09:52 +0100
Reply-To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Subject:
MIME-Version:
1.0
Content-Transfer-Encoding:
8bit
In-Reply-To:
<l03102800ba891a184d86@[130.235.3.161]>
Content-Type:
text/plain; charset=iso-8859-1
From:
Frank Mittelbach <[log in to unmask]>
Parts/Attachments:
text/plain (74 lines)
Lars Hellström writes:

 > This needs not be related, but it sometimes leads to similar problems, and
 > I haven't seen an explanation anywhere: why is \addvspace discontinuous? If
 >   SKIP < \lastskip < 0
 > 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 starred at that definition once more (probably done so several times in the
past :-) but i think it has some understandable logic (i'm not saying that it
has the world's best implementation for it) after all.

basically it goes like this:

the main intention why the command was introduced in the first place to is the
following:

  if there are two objects A and B that both want to
  produce some space after/before them  then if both objects are directly
  after each other one usually does not want to put too much space between
  them, so a good approach is to use the maximum

now an assumption that i think was made is that the skips that actually end up
being on the galley are positive and in fact i think this is virtually always the
the case. Note that i talk about the skips on the galley not the skip used the
last time in an \addvspace command, e.g. the cited example

        \addvspace{-\parskip}   %% added 4 Sep 85

i actually one in a sequence

        \addpenalty\@beginparpenalty
        \addvspace\@topsep
        \addvspace{-\parskip}%

and the net effect of \topsep-\parskip is normally positive.

so back to the theme if producing the maximum is sensible then what to do
about

    SKIP < 0pt ?

i think that Leslie thought this to be a good way to extend the command to
allow for corrective actions if necessary

why he additionally required  \lastskip > 0pt is beyond me though.

it means that  SKIP < \lastskip < 0pt again uses the maximum principle but
that doesn't make much sense to me.

so much for how i read history two minutes before midnight (perhaps all
rubbish)

well, how could a simpler command look like?

>Also, it seems to me as if there could be a need for two commands here: one
>which does what (the simplified) \addvspace does (guarantees that there is
>at least a certain amount of vertical space in the last mix of penalties
>and glue), and one which actually makes the vertical space a certain amount
>larger (without messing it up for any subsequent \addvspace or
>\addvpenalty).

what precisely is the algorithm for that simplified thingie? i'm not at all
sure what should happen there

i can see how to define a user command for corrective actions always adjusts
the space in either direction, the only problem is that its natural name
(addvspace) is already taken

good night
frank

ATOM RSS1 RSS2