図の位置が非常に悪い

図の位置が非常に悪い

私は図表に PDF 画像を使用していますpdflatex。画像を拡大縮小しないと、図表がページからはみ出します。画像を拡大縮小すると、配置が非常に悪くなります。ページの右側に少し行き過ぎています。配置がひどいだけでなく、フロートの周囲にフレームを配置すると、フレームが画像と交差するため、何かが正しくないことはわかっています。

ここに最小限の動作例を示します。PDF 画像をここにどのように含めるかわかりません。画像は標準サイズではなく、横長の画像です。これが問題なのかもしれません。この問題にはどのように対処すればよいでしょうか。

\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\begin{document}
\section{Section Title}
\begin{figure}[h]
  \caption{Blah blah}
  \includegraphics[scale=.4]{Graph.pdf}
\end{figure}
\end{document}

答え1

を使用すると、特にアスペクト比が異なる画像がある場合に多くの問題が発生します。代わりに、次のように とをscale使用して画像のサイズを制限します。widthheight

\includegraphics[width=\textwidth, height=\textheight, keepaspectratio]{Graph.pdf}

画像は、2 つの制限のいずれかを超えないように拡大縮小され、アスペクト比が正確になります。

\textwidthまたは の代わりに実際の寸法を使用したり、\textheightなどの値を使用することもできます0.7\textwidth

textwidthと の両方を含めることが常に良い理由についても簡単に説明しますtextheight。フロートの数と、ページ上でフロートが占める垂直方向のスペースの量は、いくつかのパラメータによって制御されます。たとえば、 は、 がtopfraction占めることができるページの上部の割合を制御しますtop float。私の意見では、デフォルト設定は低すぎるため、比較的小さな画像がページ全体を占めることになります。

以下の最小限を試してください。次に\topfraction0.6 に変更してもう一度試してください。見栄えの良い 2 ページから、空白の多い 3 ページが完成します。

\documentclass[crown]{octavo}
\usepackage[showframe=true]{geometry}
\usepackage{graphicx,lipsum,caption}
 \renewcommand{\topfraction}{0.9}   % max fraction of floats at top change to 0.6
 \renewcommand{\bottomfraction}{0.9}% max fraction of floats at bottom
    %   Parameters for TEXT pages (not float pages):
 \setcounter{topnumber}{2}
 \setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}     % 2 may work better
\setcounter{dbltopnumber}{2}    % for 2-column pages
\renewcommand{\dbltopfraction}{0.7} % fit big float above 2-col. text
\renewcommand{\textfraction}{0.07}  % allow minimal text w. figs
 %   Parameters for FLOAT pages 
 \renewcommand{\floatpagefraction}{0.7}
% floatpagefraction must be less than topfraction !!
\renewcommand{\dblfloatpagefraction}{0.7} 
\begin{document}%
First page image will go to next page, if topfraction is less than 0.71

\begin{figure}[tp]
\rule{\textwidth}{0.71\textheight} 
\captionof{figure}{First Figure}
\end{figure}

\lipsum[1]

\begin{figure}[tp]
\rule{\textwidth}{0.3\textheight} 
\captionof{figure}{Second Figure}
\end{figure}
\end{document}

仕様に高さを含める 2 番目の理由は、私が設定した以下の画像のように、下部でオーバーフローが発生しないようにするためですwidth=\textwidth。このケースは非常に明白ですが、多かれ少なかれ四角い図形がある場合、これが問題になる可能性があります。

図を多く掲載する本の場合の最善の戦略は、画像のサイズを標準化し、すべてのパラメータを慎重に設定することです。

ここに画像の説明を入力してください

答え2

使ってみましたか\centering

 \begin{figure}[h]
 \centering
 \caption{Blah blah}
 \includegraphics[scale=.4]{Graph.pdf}
 \end{figure}

答え3

次のコードを使用すると、画像をテキストブロックの全幅に拡大縮小できます (画像が左または右、あるいは両側に突き出ることなく得られる最大の幅です)。

\begin{figure}[ht]
\includegraphics[width=\textwidth]{Graph.pdf}
\caption{Blah blah} \label{fig:blahblah}
\end{figure}

テキストブロックの幅が画像に見合うほどに十分でない場合は、figureフロート全体を90度回転してみてください(紙の「縦向きモード」)。これを行うには、パッケージsidewaysfigureによって提供される環境を使用できますrotating\usepackage{rotating}プリアンブルを入力し、後で

\begin{sidewaysfigure}
\includegraphics[width=\textwidth]{Graph.pdf}
\caption{Blah blah} \label{fig:blahblah}
\end{sidewaysfigure}

[h]横向きの図は自動的に別のページに配置されるため、または位置指定子を追加する必要はありません[ht]

関連情報