
Estou recebendo o seguinte erro ao usar figure
e subfigure
criar um ambiente 2 x 1 para minhas figuras (ou seja, uma figura em cima e duas figuras em baixo) em uma situação inesperada.
O documento foi gerado com sucesso e meus números cabem claramente em uma única página e posso confirmar isso até visualmente, ou seja, a página ainda tem muito espaço vazio! Mas ainda quero entender porque esse erro é gerado.
Flutuação muito grande para a página em 14.86864pt na linha de entrada 58.
Este é o bloco de código que estou 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}
Eu já tentei:
- Remover
\centering
- Remover
[htbp!]
(na primeira linha) - Remover
[b]
(aqueles próximos aossubfigure
comandos)
Responder1
Se o float se estender até a área do rodapé, então o float ainda será muito grande.
O layout da página pode ficar visível por opção showframe
de package geometry
. Adicione esta opção ou se o pacote não for usado adicione:
\usepackage[pass, showframe]{geometry}% pass does not change the layout
A macro \DebugBox
, definida abaixo, imprime as dimensões no console e no .log
arquivo e adiciona bordas. As linhas de borda são colocadas dentro da caixa para evitar que a caixa com borda fique maior.
\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
}
A macro \DebugBox
pode ser usada como \mbox
, exemplo:
\DebugBox{\includegraphics[width=\linewidth]{files/Feb1.pdf}}