minipágina 15.0pt muito larga

minipágina 15.0pt muito larga

Às vezes, tenho dois (ou mais) ambientes de figuras que desejo colocar em uma página e colocar uma régua horizontal no centro. Para conseguir isso, coloquei um \vfill\hrule\vfill entre os dois ambientes. No entanto, isso só funciona se eu criar uma minipágina abrangendo toda a região de texto de uma página.

No entanto, se eu fizer isso, recebo um estouro de hbox ou vbox, dependendo da classe do documento. Para artigo é um hbox overflow de 15pt, para phdthesis (um cls que peguei da web) é um vbox overflow também de 15pt.

Este é um exemplo mínimo de trabalho:

\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}

A segunda minipágina não gera esse aviso, mas tive que subtrair 15 pontos da largura. De onde vem esses 15pt? por que \textwidth é maior que a largura da área textual?

Responder1

É o recuo padrão. No que diz respeito ao LaTeX, a minipageé como uma letra grande. Assim \begin{minipage}começa um parágrafo, se ainda não estiver dentro de um.

\noindent\begin{minipage}{\textwidth}

resolve o problema.

Sobre a altura, não tenho certeza do que você realmente deseja alcançar.

Para uma flutuação de página inteira, você pode fazer como

\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}

informação relacionada