
Ich erhalte in einer unerwarteten Situation den folgenden Fehler, wenn ich figure
und verwende subfigure
, um eine 2 x 1-Umgebung für meine Figuren zu erstellen (also eine Figur oben und zwei Figuren unten).
Das Dokument wurde erfolgreich erstellt und meine Abbildungen passen eindeutig auf eine Seite. Dies kann ich auch visuell bestätigen, da auf der Seite noch viel freier Platz ist! Ich möchte jedoch trotzdem verstehen, warum dieser Fehler auftritt.
Float in Eingabezeile 58 um 14,86864 pt zu groß für die Seite.
Dies ist der Codeblock, den ich verwende:
\documentclass[12pt,a4paper,oneside,pdftex]{report}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}[htbp!]
\centering
\begin{subfigure}[b]{1\linewidth}
\includegraphics[width=\linewidth]{files/Feb1.pdf}
\caption{No. 1 }
\end{subfigure}
\begin{subfigure}[b]{0.4\linewidth}
\includegraphics[width=\linewidth]{files/Feb2.pdf}
\caption{No. 2 }
\end{subfigure}
\begin{subfigure}[b]{0.4\linewidth}
\includegraphics[width=\linewidth]{files/Feb3.pdf}
\caption{No. 3 }
\end{subfigure}
\caption{\textit{40 characters here in the original version} 544 characters here}
\label{fig:thesefiguresdonotmatter}
\end{figure}
\end{document}
Ich habe bereits versucht:
- Entfernen
\centering
- Entfernen
[htbp!]
(in der ersten Zeile) - Entfernen
[b]
(die nebensubfigure
den Befehlen)
Antwort1
Wenn der Float bis zum Fußzeilenbereich reicht, ist der Float immer noch zu groß.
Das Seitenlayout kann durch die Option showframe
des Pakets sichtbar gemacht werden geometry
. Fügen Sie diese Option hinzu oder, wenn das Paket nicht verwendet wird, fügen Sie Folgendes hinzu:
\usepackage[pass, showframe]{geometry}% pass does not change the layout
Das \DebugBox
unten definierte Makro gibt die Abmessungen auf der Konsole und in der .log
Datei aus und fügt Ränder hinzu. Die Randlinien werden innerhalb der Box platziert, um zu verhindern, dass die Box mit Rand größer wird.
\newcommand*{\DebugBox}[1]{%
\begingroup
\sbox0{#1}%
\typeout{\string\DebugBox: wd=\the\wd0, ht=\the\ht0, dp=\the\dp0}%
\setlength{\fboxrule}{.1pt}% thin border line
\setlength{\fboxsep}{-\fboxrule}% border line inside
\fbox{\box0}%
\endgroup
}
Makros \DebugBox
können \mbox
beispielsweise wie folgt verwendet werden:
\DebugBox{\includegraphics[width=\linewidth]{files/Feb1.pdf}}