我很难在我的 latex 文件中包括多于 1 个 pdf 图像。我的代码如下:
\documentclass[a4paper,13pt]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{csquotes}
\usepackage{graphicx}
\linespread{1}
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{XXX}
\rfoot{Page \thepage}
\begin{document}
content
\begin{figure}[hp]
\centering
\includegraphics[width=65mm, height=65mm]{\xxx\fig1.pdf}
\caption{}\label{fig1}
\end{figure}
text
\begin{figure}[hp]
\centering
\includegraphics[width=65mm, height=65mm]{\xxx\fig2.pdf}
\caption{}\label{fig2}
\end{figure}
text
…
\end{document}
问题是fig1.pdf
,显示了,但fig2.pdf
显示在文档末尾的最后一页,而不是在后面的文本之后fig1.pdf
感谢您的帮助 :)
答案1
你给出选项[hp]
,这意味着“把这个数字H如果页面放不下,就把它放在单独的页年龄”。这就是 LaTeX 所做的。
删除该p
选项没有帮助,因为第二个图形仍然不适合。如果 LaTeX[h]
按字面意思理解该选项,那么第二个文本和第二个图形之间会有一个很大的空白。LaTeX 不喜欢这种情况,会自动修改[h]
为[ht]
。
您有(至少)三个选择。
将选项设置为
[htbp]
或类似值。这样,图形将尽可能接近定义它们的位置。这是浮点数(figure
s 和table
s)的预期用途。加载包
float
并使用选项[H]
。这会将图形放置在您定义的位置,如果当前页面上没有足够的空间,则以空白空间为代价。加载包
caption
,删除\begin{figure}\centering ...\caption{...}\label{...}\end{figure}
并使用\begin{center}...\captionof{figure}{...}\label{...}\end{center}
。这也会将图形放置在您定义的位置,如果当前页面上没有足够的空间,则同样会以空白空间为代价。
例如WikiBooks:LaTeX/浮点数、图形和标题了解更多信息。
下面是第二种和第三种变体的示例代码。两种情况下的输出相同。请注意第一页末尾的空白,如果要填充空白的文本较少,空白可能会大得多。
float
包和选项的代码[H]
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\usepackage{lipsum}
\begin{document}
Before figures.
\lipsum[1]
\begin{figure}[H]
\centering
\includegraphics[width=65mm, height=65mm]{example-image-a}
\caption{A}\label{fig1}
\end{figure}
Between figures.
\lipsum[2]
\begin{figure}[H]
\centering
\includegraphics[width=65mm, height=65mm]{example-image-b}
\caption{B}\label{fig2}
\end{figure}
After figures.
\lipsum[3]
\end{document}
包代码caption
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{lipsum}
\begin{document}
Before figures.
\lipsum[1]
\begin{center}
\includegraphics[width=65mm, height=65mm]{example-image-a}
\captionof{figure}{A}\label{fig1}
\end{center}
Between figures.
\lipsum[2]
\begin{center}
\includegraphics[width=65mm, height=65mm]{example-image-b}
\captionof{figure}{B}\label{fig2}
\end{center}
After figures.
\lipsum[3]
\end{document}
答案2
无需任何新包,您可以使用\FloatBarrier
,... 最迟按照说明插入图形,当然,如上所述,如果不适合,则以空白空间为代价。 它可能值得先尝试,如果失败,那么您可以使用其他解决方案。
\documentclass[a4paper,13pt]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{graphicx}
\linespread{1}
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{XXX}
\rfoot{Page \thepage}
\begin{document}
\lipsum[75]
\begin{figure}[hp]
\centering
\includegraphics[width=65mm, height=65mm]{fig1.pdf}
\label{fig1}
\end{figure}
After figure 1.
\lipsum[66]
\begin{figure}[hp]
\centering
\includegraphics[width=65mm, height=65mm]{fig2.pdf}
\label{fig2}
\end{figure}
\FloatBarrier
\lipsum[1]
\end{document}