我正在使用pdflatex
PDF 图像制作图形。如果我不缩放图像,图形就会超出页面。如果我缩放图像,它的位置就很差。它的位置稍微偏向页面右侧。我知道有些地方不对,因为不仅位置看起来很糟糕,而且当我在浮动周围放置一个框架时,框架会穿过图像。
这是一个最小的工作示例。我不确定如何在此处包含 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
会导致很多问题,特别是如果您有不同纵横比的图像,最好使用 和 来限制图像的大小width
,height
如下所示:
\includegraphics[width=\textwidth, height=\textheight, keepaspectratio]{Graph.pdf}
图像将被缩放以不超过两个限制中的任何一个,并保持正确的纵横比。
您还可以使用实际尺寸,而不是\textwidth
或\textheight
以及诸如的值0.7\textwidth
。
简单解释一下为什么同时包含 atextwidth
和 a总是好的textheight
。浮动元素的数量以及它们在页面上可以占据的垂直空间量由许多参数控制。例如,topfraction
控制 a 可以占据的页面顶部部分top float
。在我看来,默认设置设置得太低,导致相对较小的图像占据了整个页面。
尝试下面的最小值。然后更改\topfraction
为 0.6 并重试。从两页看起来不错的页面开始,您将得到大量空白和三页。
\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}
在规格中包含高度的第二个原因更明显,是为了不导致底部溢出,就像我设置的下面的图片一样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]
位置说明符。