Zitat von
marxlechen
Was ich lieber verstehen würde ist der Unterschied zwischen \needspace und \Needspace
\Needspace ist recht simple. Schaue dir einfach die Definition an dort siehst du folgendes:
Code:
\dimen@ii\pagegoal \advance\dimen@ii-\pagetotal
Die Zeile besagt, setze dimen@ii auf den freien Platz der Seite (fehlen noch ein paar Kleinigkeiten, aber fürs allgemeine ausreichen)
Im nächsten Schritt wird einfach nur vergleichen, ob deine gewünschter Platz dem vorhanden entspricht und ein `\break` eingefügt.
\needspace is etwas sensibler. Es nutzt die bereits vergebenen Strafpunkte.
Code:
\newcommand{\needspace}[1]{%
\begingroup
\setlength{\dimen@}{#1}%Zuweisung der Eingabe
\vskip\z@\@plus\dimen@%glue-Anteil auf Eingabe
\penalty -100\vskip\z@\@plus -\dimen@%Strafpunkte setzen und somit evtl einen Seitenumbruch
\vskip\dimen@%kompletten Abstand eingeben
\penalty 9999%so gut wie kein Seitenumbruch, aber falls nötig, wird er geacht
\vskip -\dimen@%zurück zum Ausgang.
\vskip\z@skip % hide the previous |\vskip| from |\addvspace|%
\endgroup
}
Lesezeichen