\vspace
fügt im horizontalen Modus nach der aktuellen Zeile bzw. im vertikalen Modus an der aktuellen Position den angegebenen vertikalen Abstand ein, außer man befindet sich am Anfang einer sog. vertikalen Liste also insbesondere am Anfang einer Seite. Diese Ausnahme entfällt bei \vspace*
, dafür gibt es aber ein paar andere Besonderheiten, wenn im vertikalen Modus ein vertikaler Abstand von weniger als einer Zeile eingefügt werden soll. Ggf. muss man dann nach dem eigentlichen vertikalen Abstand noch einen von -\baselineskip
oder -\parskip
einfügen, bis man dort ist, wo man hin möchte.
\addvspace
fügt überhaupt nur im vertikalen Modus (also zwischen Absätzen) einen vertikalen Abstand ein und auch nicht am Anfang einer minipage
. Wurde bereits zuvor ein vertikaler Abstand eingefügt, dessen Betrag kleiner als der angegebene Abstand ist, so wird dieser frühere Abstand zuvor zurück genommen. Die Bedeutung ist also sozusagen: Erweitere denn vertikalen Abstand auf …. LaTeX selbst verwendet dies beispielsweise, um bei unmittelbar aufeinandertreffenden Überschriften die Abstände nicht zu addieren, sondern nur den größeren der beteiligten Abstände zu setzen.
Interessant ist dabei, dass nach einem mit \vspace
eingefügten Abstand der aktuelle vertikale Abstand, den \addvspace
zu sehen bekommt, immer 0pt ist. Das liegt daran, dass \vspace
nach dem tatsächlich eingefügten Abstand noch zusätzlich einen Nullabstand einfügt. Man kann also mit \addvspace
keinen mit \vspace
eingefügten Abstand erweitern, sondern nur einen mit \vskip
oder \addvspace
selbst eingefügten vertikalen Abstand.
\addvspace
ist also ideal, wenn beim Zusammentreffen unterschiedlicher Befehle und Umgebungen die vertikalen Abstände, die diese am Anfang oder Ende einfügen, nicht aufaddiert werden sollen, sondern nur ein bestimmtes Mindestmaß nicht unterschreiten sollen. \vspace
ist hingegen vorzuziehen, wenn ein Befehl mehrere Elemente mit einem bestimmten Abstand zueinander anordnen soll. Will man (entgegen der Regeln für semantisches Markup) als Anwender innerhalb eines Dokuments direkt einen vertikalen Abstand einfügen, so ist \vspace
die richtige Wahl.
beantwortet
06 Aug '14, 15:42
gast3
(ausgesetzt)
Akzeptiert-Rate:
53%
@feynman Ich würde eine Frage nicht schließen, nur weil sie beantwortet wurde. Schließgründe sind eher: die Frage ist ein Duplikat. Oder: die Frage dreht sich nicht um (La)TeX und verwandte Themen und ist daher Off-Topic.
@feynman Danke fürs Abhaken und die Absicht, die Frage aufmerksam zu schließen! Clemens Hinweis ist gut und Dir evtl. ungewohnt: da wir neben der Support-Aufgabe, wo Schließen nach Lösung für den Fragenden gut wäre, auch die Archiv-Funktion verfolgen, lassen wir gute Fragen offen für Antworten, es könnten ja noch Alternativen auftauchen. Dass die Frage erfolgreich beantwortet wurde, sieht man ja schon am grünen Haken. Schließen ist gedacht, um wirklich Antworten zu verhindern, falls tatsächlich (La)TeX-fremd gepostet wird oder bei Duplikaten, wo man Antworten besser an einer Stelle sammelt.