Manchmal habe ich zwei (oder mehr) Abbildungsumgebungen, die ich auf einer Seite anordnen möchte, und platziere eine horizontale Linie in der Mitte. Um dies zu erreichen, setze ich ein \vfill\hrule\vfill zwischen die beiden Umgebungen. Dies funktioniert jedoch nur, wenn ich eine Miniseite erstelle, die den gesamten Textbereich einer Seite umfasst.
Wenn ich dies jedoch mache, erhalte ich je nach Dokumentklasse entweder einen Hbox- oder einen Vbox-Überlauf. Für den Artikel ist es ein Hbox-Überlauf von 15pt, für die Doktorarbeit (eine CLS, die ich aus dem Internet genommen habe) ist es ein Vbox-Überlauf, ebenfalls von 15pt.
Dies ist ein minimales funktionierendes Beispiel:
\documentclass{article}
\newlength{\minipagewidth}
\newlength{\minipageheight}
\begin{document}%
%results in: Badbox, line 9: Overfull \hbox (15.0pt too wide) in paragraph at lines 9-26
\setlength{\minipagewidth}{\textwidth}%
\setlength{\minipageheight}{\textheight}%
\begin{minipage}[t][\minipageheight]{\minipagewidth}%
Top of the page
\vfill\hrule\vfill
Bottom of the page
\end{minipage}
% no vbox or hbox overflow:
\addtolength{\minipagewidth}{-15pt}%
%\addtolength{\minipageheight}{-15pt}%
\begin{minipage}[t][\minipageheight]{\minipagewidth}%
Top of the page
\vfill\hrule\vfill
Bottom of the page
\end{minipage}%
\end{document}
Bei der zweiten Minipage gibt es keine solche Warnung, aber ich musste 15pt von der Breite abziehen. Woher kommen diese 15pt? Warum ist \textwidth breiter als die Breite des Textbereichs?
Antwort1
Dies ist die Standardeinrückung. Für LaTeX minipage
ist a wie ein großer Buchstabe. Damit \begin{minipage}
beginnt ein Absatz, wenn er sich nicht bereits in einem befindet.
\noindent\begin{minipage}{\textwidth}
löst das Problem.
Was die Höhe betrifft, bin ich mir nicht sicher, was Sie wirklich erreichen möchten.
Für eine Vollbildseite können Sie Folgendes tun:
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum} % just for the example
\begin{document}
\lipsum[1-3]
\begin{figure}[p]
\centering
\begin{minipage}[c][\dimexpr\textheight-\baselineskip+\topskip\relax][s]{\textwidth}
\centering
\includegraphics[width=8cm]{example-image-a}
\caption{A caption to the first figure}
\vfill
\hrule
\vfill
\includegraphics[width=8cm]{example-image-b}
\caption{A caption to the second figure}
\end{minipage}
\end{figure}
\lipsum[4-10]
\end{document}