最初のページに画像がある状態で新しい章を始めると空白ページになる問題

最初のページに画像がある状態で新しい章を始めると空白ページになる問題

これは難しいですね。新しい章を始める場合が多く、新しい章の最初のページが pdf ページであり、それが を使用して読み込まれます\includegraphics (ドキュメントがたくさんあるので、スキャンして、このように Latex に読み込みます)。

PDF/画像ページの幅を正しく調整しないと、章の始めに空白ページができてしまいます。そのため、章の前の空白ページをなくすために、画像の幅を手動で小さく調整するのに多くの時間を費やしています。

それだけでなく、レター サイズからリーガル サイズに変更すれば、これらすべての変更は不要になります。

空のページが生成されないように、PDF ページまたは読み込む画像に使用する幅を自動的に検出する方法があるかどうかをお尋ねしたいと思います。

事件は常に新しい章の最初のページにあります。これが私が言いたいことの MWE です。

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

結果は次のとおりです。2ページ目は空です

Mathematica グラフィックス

に変更する height=.9height=.85修正されます

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

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

結果はこちら

Mathematica グラフィックス

問題は理解しています。そして、Latex がなぜこのようなことをしたのか。画像が少し大きすぎたため、新しいページで試してみましたが、結局、空の無駄なページが表示されました。

注: 上記の MWE では、height=問題を示すために を追加しました。実際のコードでは のみwidth=が使用されます。ただし、 を使用せずにここで問題を示す方法がわかりませんでしたheight=

そこで質問です。Latex に、読み込まれる画像の幅を、空のページが生成されないように自動的に正しい幅に調整するように指示する方法はありますか? または、このような手動調整を行わずに、よりスマートな方法はありますか?

私が今やっていることは、Latex を実行して、画像の幅の値を調整して、それらの前の空白ページを削除することに多くの時間を費やすことです。時には変更も行いgeometry、これをすべてやり直さなければなりません。これを自動化できれば便利です。

TL 2015 を使用します。

答え1

マクロは\getremainingページに残っている垂直方向のスペースを計算し、その答えを length に格納します\vremaining

必ず2回実行してください。

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

関連情報