Unerwarteter Empfang der Fehlermeldung „Float zu groß für Seite“ bei Verwendung einer Zahl, die kleiner als die Seite ist

Unerwarteter Empfang der Fehlermeldung „Float zu groß für Seite“ bei Verwendung einer Zahl, die kleiner als die Seite ist

Ich erhalte in einer unerwarteten Situation den folgenden Fehler, wenn ich figureund 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:

  1. Entfernen\centering
  2. Entfernen [htbp!](in der ersten Zeile)
  3. Entfernen [b](die neben subfigureden Befehlen)

Antwort1

Wenn der Float bis zum Fußzeilenbereich reicht, ist der Float immer noch zu groß.

Das Seitenlayout kann durch die Option showframedes 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 \DebugBoxunten definierte Makro gibt die Abmessungen auf der Konsole und in der .logDatei 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 \DebugBoxkönnen \mboxbeispielsweise wie folgt verwendet werden:

\DebugBox{\includegraphics[width=\linewidth]{files/Feb1.pdf}}

verwandte Informationen