Sie sind hier

Bedingter vertikaler Abstand nur nach Absätzen, nicht nach Überschriften

Hallo,

ich würde gerne einen Befehl definieren, der einen vertikalen Abstand einfügt, wenn dieser nicht direkt nach einer Überschrift verwendet wird. Hätte da jemand eventuell einen Lösungsvorschlag für mich? Ich hoffe, dass Minimalbeispiel macht es deutlich.

Grüße
Falk

\documentclass[ngerman]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{blindtext}
\begin{document}
\newcommand*{\conditionalskip}{%
%  \if@aftersection\else
  \vskip\baselineskip%
%  \fi
}%
\newcommand*{\marksomething}[1]{%
  \conditionalskip\noindent%
  \begin{tabular}{|l|}%
  \hline#1\tabularnewline\hline%
  \end{tabular}%
  \\[\baselineskip]%
}
\section{So nicht}%
\marksomething{Erstens}
\blindtext
 
\marksomething{Zweitens}
\blindtext
 
\subsection{Test}%
\marksomething{Zweitens a)}
Und noch ein bisschen Blindtext.
 
\marksomething{Zweitens b)}
Und noch ein bisschen Blindtext.
 
 
\clearpage
\let\conditionalskip\relax
\section{So auch nicht}%
\marksomething{Erstens}
\blindtext
 
\marksomething{Zweitens}
\blindtext
 
\subsection{Test}%
\marksomething{Zweitens a)}
Und noch ein bisschen Blindtext.
 
\marksomething{Zweitens b)}
Und noch ein bisschen Blindtext.
 
 
\clearpage
\section{Sondern so}%
\marksomething{Erstens}
\blindtext
 
\vskip\baselineskip%
\marksomething{Zweitens}
\blindtext
 
\subsection{Test}%
\marksomething{Zweitens a)}
Und noch ein bisschen Blindtext.
 
\vskip\baselineskip%
\marksomething{Zweitens b)}
Und noch ein bisschen Blindtext.
 
\end{document}
Bild von Markus Kohm

»Mach min. einen Abstand von«? Das wäre dann schlicht \addvspace, dokumentiert in source2e.pdf.

Hallo Markus,

der Befehl ist bei mir tatsächlich noch nicht wahnsinnig gut im Bewusstsein verankert, insbesondere weil ich den Namen etwas merkwürdig finde. Selbsterklärend ist dieser auf alle Fälle nicht. Dennoch konnte ich damit genau das erreichen, was ich wollte. Danke.

Gruß
Falk

Bild von Markus Kohm

Es gibt übrigens auch ein \addpenalty, der im Vergleich zu \addvspace noch etwas verwirrender funktioniert, indem er gar nicht ein min. penalty setzt oder zu einem vorhandenen Wert einen neuen addiert, sondern vor dem letzten vertikalen Abstand einen festen penalty-Wert einfügt.

Für mich ist das der tröstliche Hinweis, dass ich nicht der einzige bin, der Befehle manchmal etwas seltsam benennt. ;)

Bei der Recherche zu \addvspace bin ich zwangsläufig über \addpenalty gestolpert. Allein diese beiden Befehle und ihr Zusammenspiel wirklich zu verstehen, ist ein abendfüllendes Programm.

Comments for "Bedingter vertikaler Abstand nur nach Absätzen, nicht nach Überschriften" abonnieren