
Recibo el siguiente error al usar figure
y subfigure
crear un entorno 2 x 1 para mis figuras (es decir, una figura en la parte superior y dos figuras en la parte inferior) en una situación inesperada.
El documento se generó correctamente y mis figuras caben claramente en una sola página y puedo confirmarlo incluso visualmente, es decir, ¡a la página todavía le queda mucho espacio vacío! Pero todavía quiero entender por qué se genera este error.
Flotante demasiado grande para la página en 14.86864pt en la línea de entrada 58.
Este es el bloque de código que estoy usando:
\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}
Ya lo he probado:
- Eliminar
\centering
- Eliminar
[htbp!]
(en la primera línea) - Eliminar
[b]
(los que están al lado desubfigure
los comandos)
Respuesta1
Si el flotador se extiende hasta el área del pie de página, entonces el flotador todavía es demasiado grande.
El diseño de la página se puede hacer visible mediante la opción showframe
del paquete geometry
. Agregue esta opción o si el paquete no se utiliza agregue:
\usepackage[pass, showframe]{geometry}% pass does not change the layout
La macro \DebugBox
, definida a continuación, imprime las dimensiones en la consola y el .log
archivo y agrega bordes. Las líneas del borde se colocan dentro del cuadro para evitar que el cuadro con borde se haga más grande.
\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
}
La macro \DebugBox
se puede utilizar como \mbox
, ejemplo:
\DebugBox{\includegraphics[width=\linewidth]{files/Feb1.pdf}}