Problem mit \vspace{\stretch{1}}, das in der MDFramed-Umgebung nicht funktioniert

Problem mit \vspace{\stretch{1}}, das in der MDFramed-Umgebung nicht funktioniert

Ich habe ein Problem mit der Verwendung von \vspace{\stretch{1}} innerhalb der mdframed-Umgebung. Ich versuche, nach einem Theorem innerhalb des Rahmens etwas vertikalen Abstand hinzuzufügen, aber es scheint, dass der Befehl \vspace{\stretch{1}} nicht wie erwartet funktioniert.

Ich weiß, dass ich \vspace{x cm} verwenden kann, aber das möchte ich nicht. Ich möchte die Seite gleichmäßig aufteilen.

Ich habe

Hier ist ein Minimalbeispiel dessen, was ich habe:

\documentclass{article}
\usepackage{amsthm}
\usepackage{mdframed}
\usepackage{xcolor}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}

\begin{document}

\begin{mdframed}[
    linecolor=blue,
    linewidth=2pt,
    backgroundcolor=orange!20,
]
\begin{theorem}
  Some subtheorem.
\end{theorem}
\vspace{\stretch{1}}
\end{mdframed}

\end{document}

Antwort1

Dies ist das gleiche Problem, das x\par\vfill x bei einer Minipage oder einer \parbox auftritt. Funktioniert nicht mit:

\fbox{\begin{minipage}{3cm} x\par\vfill x \end{minipage}} 

Denn, OK, Sie möchten die Box füllen, ... aber wie weit? Die Box hat keine vordefinierte Höhe.

Es funktioniert im Haupttext, weil die Seite eine vorgegebene Höhe hat. Sie dehnt sich nur, wenn Sie sie auf etwas ausdehnen. Auf einer Miniseite können Sie dies tun, indem Sie die Höhe der Box festlegen:

\fbox{\begin{minipage}[c][3cm][c]{3cm} x\par\vfill x \end{minipage}} 

Bildbeschreibung hier eingeben

Beachten Sie, dass wenn Sie anstelle von mdframed ein verwenden tcolorbox, das die Option zur Fixierung der Höhe zulässt, auch dies nicht funktioniert:

\begin{tcolorbox}[height=3cm]  x\par  \vfill x \end{tcolorbox}

(Es ist kein Fehler, es ist ein Feature!)

Ich möchte die Seite gleichmäßig aufteilen

Wenn Sie gleich große Boxen wünschen, können Sie die Rasterbibliothek von tcolorbox verwenden, sodass die Höhe jeder Box durch die Box mit der größeren Höhe festgelegt wird:

mwe2

\documentclass[twocolumn]{article}
\usepackage[raster]{tcolorbox}
\begin{document}

\begin{tcbraster}[raster columns=1, size=small, title={\sffamily\bfseries Free  height box No. \thetcbrasternum}]
\begin{tcolorbox}First box\end{tcolorbox}
\begin{tcolorbox}Second box\end{tcolorbox}
\begin{tcolorbox}This is a box\\with a second line \\ with a third line \\ with a fourth line  \end{tcolorbox}
\begin{tcolorbox}Another box\end{tcolorbox}
\begin{tcolorbox}A box\par \vspace{.3 cm} again\end{tcolorbox}
\end{tcbraster}

\newpage

\begin{tcbraster}[raster columns=1, size=small, raster equal height,
size=small,colframe=red!50!black,colback=red!10!white,colbacktitle=red!50!white,coltitle=black,
title={\sffamily\bfseries Evenlized box No. \thetcbrasternum}]
\begin{tcolorbox}First box\end{tcolorbox}
\begin{tcolorbox}Second box\end{tcolorbox}
\begin{tcolorbox}This is a box\\with a second line \\ with a third line \\ with a fourth line  \end{tcolorbox}
\begin{tcolorbox}Another box\end{tcolorbox}
\begin{tcolorbox}A box\par \vspace{.3 cm} again\end{tcolorbox}
\end{tcbraster}
\end{document}

verwandte Informationen