如何迫使两个数字在LaTeX中停留在同一页面上?


84

我有两个图像要以数字形式显示在页面上。每个人占用的空间都不到可用空间的一半,因此该页面上没有足够的空间容纳其他任何东西,但是我知道两个图都有足够的空间。我尝试将数字分别用[ht]和[hb]以及[h]和[ht]放置,但仍然无法在同一页面上获得这两个图像,但它们之间至少有几个段落。

如何强制将这两个数字保留在同一页面上?


最近在TeX.SX上也提出了类似的问题,我相信使用命令的答案\afterpage是最好的答案。
我喜欢

Answers:


140

您可以将两个图形放在一个图形环境中。例如:

\begin{figure}[p]
\centering
\includegraphics{fig1}
\caption{Caption 1}
\includegraphics{fig2}
\caption{Caption 2}
\end{figure}

每个标题将生成一个单独的图形编号。


2
记住这是一个不错的答案:)。没想到它,但看起来很干净:)。
bastijn

5
另一个可能性是subfigure包和诸如的图形环境中的命令\subfloat[Caption]{\includegraphics{file}}
Rupert Nash

10
似乎您无法\分别标记两个不同的数字
Mulone 2012年

1
更改了“正确答案”标志,因为该标志似乎是最好的。
Kusti 2012年

2
@Mulone-如果您将环境放入\label内部,似乎可以\caption
克里斯(Chris)

20

如果您想要有关同一主题的图像,则可以使用subfigure打包和构造:

\begin{figure}
 \subfigure[first image]{\includegraphics{image}\label{first}}
 \subfigure[second image]{\includegraphics{image}\label{second}}
 \caption{main caption}\label{main_label}
\end{figure}

如果您想要将两个不同的图像彼此相邻放置,可以使用:

\begin{figure}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{first}
 \end{minipage}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{second}
 \end{minipage}
\end{figure}

对于列中的图像,源中将有[1] [2] [3] [4],但是看起来像

[1] [3]

[2] [4]。


1
您还可以在此处使用Jerred Russel提到的构造:stackoverflow.com/questions/1673942/latex-table-positioning 指向正在使用float软件包。
克劳利2009年

15

尝试混合数字和文本时遇到了这个问题。对我有用的是没有'!'的'H'选项。选项。 \begin{figure}[H]
'H'试图强制图形正确地放置在代码中。这需要您包括 \usepackage{float}

这里说明这些选项


1
是的,这里的float包装绝对是正确的答案。我经常感叹使用!符号,也\begin{figure}[h!]可能在TeX中重写,\please因为编译器仍然只是自行决定将图像放置在何处。这次只是对你眨眨眼,而不是无视你。该float软件包将使它确实可以执行您想要的操作。
2012年

6

如果您希望它们都位于同一页面上并且基本上都占据整个页面,那么最好的办法是告诉LaTeX将它们都放在自己的页面上!

\begin{figure}[p]

在页面上放置两个图形而在其上方或下方仅几行文字可能会违反合理的排版原则(例如,难看)。


顺便说一句,[!h]行之有效的原因是因为它告诉LaTeX覆盖了通常的限制,即对于有文字的页面,应该使用多少空间来浮动。如上所述,存在限制的原因是有原因的。这并不是说可以稍稍放松一些;请参阅常见问题解答


1
更准确地说,[p]仅告诉编译器将它们放在仅包含浮点数的页面上。这可能会或可能不会导致两个图形的单独页面,具体取决于它们的大小。
fotNelton


1

首先尝试[h!],否则您可以通过丑陋的方式进行操作。

LateX很难放置具有此类约束的图像,因为它可以自行放置。如果我想在那个位置找到合适的人物,我通常会做的事情是||:

text in front of image here

 \newpage 
 \figure1 
 \figure2

text after images here

我知道这可能不是正确的方法,但是它就像一个魅力:)。

//编辑

如果您想在页面顶部添加一些文本,也可以执行相同的操作,但是只需使用/ clearpage。当然,您也可以将它们缩放得更小,这样就不会再发生了。也许看不见的空格比您想像的要大,我总是尝试缩小我的图像,直到它们出现在同一页面上,才知道肯定不会有1%的重叠,只是不需要所有这些。


谢谢,[h!]工作了!我赞成您的回答,因为即使在这种情况下我不需要它时,“丑陋的方式”似乎也是一个好东西。
Kusti
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.