\addvspace

Aus goLaTeX

\addvspace ist eine LaTeX-Kern-Anweisung, um einen vertikalen Mindestabstand sicherzustellen.

Verwendung

Syntax

\addvspace{Abstand}

Parameter

{Abstand}
ist eine gültige TeX-Längenangabe, beispielsweise
* ein Dezimalzahl mit einer gültigen Einheit und optionalem Leim (also – grob gesagt – mit plus Vergrößerung minus Verkleinerung),
* eine anderen LaTeX-Länge mit optionalem Faktor-Präfix,
* eine TeX-Länge wie \paperwidth mit optionalem Faktor-Präfix,
* ein TeX-Abstand wie \normalbaselineskip mit optionalem Faktor-Präfix,
* ein TeX-Primitiv mit der Bedeutung eines Abstands oder einer Länge wie \baselineskip mit optionalem Faktor-Präfix,
* ein Längen-Ausdruck mit \dimexpr,
* ein Abstands-Ausdruck mit \glueexpr

Beschreibung

Die Anweisung fügt bei Aufruf im vertikalen Modus, also zwischen Absätzen, einen vertikalen Abstand ein. Im Unterschied zu \vspace oder \vskip addieren sich aufeinanderfolgende vertikale Abstände aber nicht. Stattdessen wird ein bereits vorhandener vertikaler Abstand mitberücksichtigt. Ist der vorherige Abstand kleiner als der neue Abstand, so wird dafür gesorgt, dass der effektive vertikale Abstand genau Abstand wird. Das gilt auch, wenn beide Abstände negativ sind. War der vorherige Abstand dagegen positiv und ist der neue Abstand negativ, so wird der effektive Abstand um den neuen Abstand verringert. War der vorherige Abstand positiv und der neue Abstand ist größer, so wird der neue Abstand zum effektiven Abstand.

Vereinfacht gesagt, wird sichergestellt, dass Abstand der vertikale Mindestabstand wird.

Eingesetzt wird dies beispielsweise in der Regel bei Überschriften, damit sich die vertikalen Abstände unter und über Überschriften bei unmittelbar aufeinanderfolgenden Überschriften nicht addieren. Die Anweisung ist auch in erster Linie für Paketautoren gedacht.

Fehlermeldungen

Wird \addvspace im horizontalen Modus aufgerufen, so wird die Fehlermeldung

LaTeX Error: Something's wrong--perhaps a missing \item.

ausgegeben. Diese Fehlermeldung ist etwas verwirrend, falls man sich gar nicht in einer Liste befindet oder lediglich in einer Umgebung, die intern mit Hilfe einer Liste realisiert wurde. Ihr Ursprung ist jedoch, dass LaTeX an der Verwendung von internen \addvspace-Anweisungen im horizontalen Modus erkennt, wenn in einer Liste Text ausgegeben wird, bevor ein \item verwendet wurde, oder eine Liste ohne \item wieder beendet wurde.


Beispiele

\documentclass{article}
\usepackage[ngerman]{babel}
\begin{document}
\section{Test}
\subsection{Toast}
Text

\section{Test2}
Text

Hier

\addvspace{1cm}\addvspace{1cm}

1\,cm Abstand,

\vspace{1cm}\vspace{1cm}

2\,cm Abstand.

\end{document}

Durch die interne Verwendung von \addvspace für den Abstand über einer Überschrift, addieren sich die vertikalen Abstände unter der Überschrift »Test« nicht mit denen über der Überschrift »Toast«. Der Abstand ist genauso groß wie der zwischen »Test2« und »Text«. Auch die beiden \addvspace{1cm} addieren ihre Abstände nicht, sondern fügen insgesamt einen Abstand von 1 cm ein. Dagegen fügen die beiden \vspace{1cm} zusammen einen Abstand von 2 cm ein.

Verwandte Befehle

\vspace, \vskip

Verweise

Die Anweisung ist in den LaTeX-Quellen in Datei ltspace.dtx definiert und in source2e.pdf dokumentiert.