mdframed verursacht eine falsche Ausrichtung am unteren Seitenrand

mdframed verursacht eine falsche Ausrichtung am unteren Seitenrand

Wenn Sie so freundlich wären, dieses LaTeX-Dokument zusammenzustellen:

\documentclass[a4paper,11pt]{book}

\usepackage[paper=a4paper,twoside=true,lmargin=4cm,
rmargin=4cm,bindingoffset=0cm]{geometry}

\usepackage{mdframed,lipsum,kantlipsum}
\mdfsetup{font=\small}

\begin{document}
\kant[1-8]


\begin{mdframed}
\kant[1-5]
\end{mdframed}

\end{document}

Sie werden feststellen, dass die unteren Teile der Seiten 2 und 3 wie folgt falsch ausgerichtet sind:

falsch ausgerichtete Seiten

Fragen:

  1. Müsste der Abstand zwischen Absatz und Rahmen auf Seite 3 nicht so vergrößert werden, dass die unteren Ränder ausgerichtet sind? Warum geschieht dies nicht?

  2. Wie würden Sie auch oberhalb der MDFramed-Box einen flexiblen (Null, plus etwas Flexibles, falls erforderlich, genau wie beim Absatzabstand) Abstand hinzufügen? Dies würde den Abstand zwischen den Absätzen weniger belasten, vorausgesetzt, ich löse Frage 1 oben.

Antwort1

Aus mir unverständlichen Gründen mdframedwird die erste (geteilte) Box so ausgegeben, dass der Seitenrand unregelmäßig dargestellt wird, unabhängig davon, ob \raggedbottomoder \flushbottom(Standard mit book) konfiguriert ist.

Mit den folgenden Patches können Sie ein normaleres Verhalten erreichen:

\usepackage{mdframed}

\makeatletter

\patchcmd\mdf@put@frame@i{\hrule \@height\z@ \@width\hsize\vfill}{}{}{}
\patchcmd\mdf@put@frame@i{\hrule \@height\z@ \@width\hsize\vfill}{}{}{}
\patchcmd\mdf@put@frame@i{\hrule \@height\z@ \@width\hsize\vfill}{}{}{}

\makeatother

Da ich nicht wirklich weiß, was das bewirken soll, wird es wahrscheinlich etwas kaputt machen, aber zumindest ist der Seitenende jetzt ausgerichtet ;-)

Der Raum über der mdframedBox ist mit konfiguriert skipabove, so dass Sie flexiblen Kleber erhalten, indem Sie

\mdfsetup{font=\small,skipabove=\parskip}

Beispiel

verwandte Informationen