O problema da página vazia ao iniciar um novo capítulo com uma imagem na primeira página

O problema da página vazia ao iniciar um novo capítulo com uma imagem na primeira página

Esta é uma pergunta difícil. Tenho muitos casos em que inicio um novo capítulo, e a primeira página do novo capítulo é uma página pdf, que é carregada usando \includegraphics (tenho muitos documentos, digitalizo e depois carrego no Latex assim).

Se eu não ajustar a largura da página pdf/imagem corretamente, acabo com uma página vazia no início do capítulo. Portanto, passo muito tempo ajustando manualmente a largura da imagem para torná-la pequena o suficiente para eliminar a página vazia antes do capítulo.

Além disso, se eu mudar do tamanho carta para o tamanho ofício, todas essas alterações não serão necessárias.

Gostaria de perguntar se existe uma forma automatizada de descobrir qual largura usar para a página pdf ou a imagem carregar, para que nenhuma página vazia seja gerada.

O caso está sempre na primeira página do novo capítulo. Aqui está um MWE do que quero dizer.

\documentclass[11pt]{report}%   
\usepackage[demo]{graphicx}
\usepackage[letterpaper]{geometry}
%\usepackage[legalpaper]{geometry}
\begin{document}
Some text here
Some text here

Some text here
Some text here

\chapter{one}
\includegraphics[width=0.9\textwidth,height=.9\textwidth]{whatever}

\includegraphics[width=0.9\textwidth,height=.9\textwidth]{whatever}
\end{document}

Aqui está o resultado. A segunda página está vazia

Gráficos matemáticos

Mudar height=.9para height=.85corrige isso

....
\chapter{one}
\includegraphics[width=0.9\textwidth,height=.85\textwidth]{whatever}

\includegraphics[width=0.9\textwidth,height=.9\textwidth]{whatever}
 ....

Aqui está o resultado

Gráficos matemáticos

Eu entendo o problema. E por que o Latex fez isso. A imagem era um pouco grande demais, então tentei em uma nova página e desisti, terminando com uma página vazia e desperdiçada.

Nota: no MWE acima, adicionei height=apenas para mostrar o problema. No meu código real, only width=é usado. Mas não sabia como mostrar o problema aqui sem usar o height=.

Então, minha pergunta é: existe uma maneira de dizer ao Latex para ajustar a largura da imagem que está sendo carregada automaticamente para corrigir a largura, de modo que nenhuma página vazia seja gerada? Ou uma forma mais inteligente de fazer isso, sem todos esses ajustes manuais.

O que faço agora é executar o Latex, gastar muito tempo ajustando os valores de largura das imagens para remover páginas vazias antes delas. Às vezes eu também mudo geometrye tenho que fazer tudo de novo. Será bom automatizar isso.

Usando TL 2015.

Responder1

A macro \getremainingcalcula o espaço vertical deixado na página, colocando a resposta em length \vremaining.

Lembre-se de executá-lo duas vezes.

\documentclass[11pt]{report}%   
\usepackage[demo]{graphicx}
\usepackage[letterpaper]{geometry}
%\usepackage[legalpaper]{geometry}
\usepackage{tikzpagenodes}

\newlength{\vremaining}

\newcommand{\getremaining}%
{\begin{tikzpicture}[remember picture,overlay]
  \pgfextracty{\vremaining}{\pgfpointanchor{current page text area}{south}}%
  \global\vremaining=-\vremaining
\end{tikzpicture}%
\advance\vremaining by 0.6\baselineskip
\vspace*{-\baselineskip}\newline}% place above image

\begin{document}
Some text here
Some text here

Some text here
Some text here

\chapter{one}
\getremaining
\includegraphics[width=0.9\textwidth,height=\vremaining]{whatever}

\includegraphics[width=0.9\textwidth,height=.9\textwidth]{whatever}
\end{document}

informação relacionada