如何在 LaTeX 中强制两个图形保持在同一页面上?

问题描述 投票:0回答:9

我有两个图像想要在页面上显示为数字。每个都占用了不到一半的可用空间,因此该页面上没有太多空间容纳任何其他内容,但我知道两个数字都有足够的空间。我尝试将数字与 [ht] 和 [hb]、[h] 和 [ht] 放在一起,但我仍然无法将这两个图像放在同一页上,而是它们之间至少有几个段落。

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

image layout latex figure
9个回答
173
投票

您可以将两个人物放入一个人物环境中。例如:

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

每个标题都会生成一个单独的图号。


23
投票

如果您想要有关同一主题的图像,您可以使用

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].


20
投票

我在尝试混合数字和文本时遇到了这个问题。对我有用的是没有“!”的“H”选项选项。

\begin{figure}[H]

“H”尝试强制该数字与您在代码中放置的位置完全相同。 这需要您包括
\usepackage{float}

选项解释这里


7
投票

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

\begin{figure}[p]

页面上有两个图形,而其上方或下方只有几行文本,这可能会违反合理的印刷原则(例如,丑陋)。


顺便说一句,

[!h]
起作用的原因是因为它告诉 LaTeX 覆盖其通常的限制,即页面上应有多少空间用于包含文本的浮动。正如上面所暗示的,这些限制的存在是有原因的。这并不是说它们可以有所放松。请参阅有关执行此操作的常见问题解答


3
投票

尝试添加

!
,例如
[h!]


0
投票

首先尝试[h!],否则你可能会以丑陋的方式做到这一点。

LateX 在放置具有此类约束的图像时有点困难,因为它可以自行放置。如果我想要在那个位置有一个人物,我通常会做类似|:

的事情
text in front of image here

 \newpage 
 \figure1 
 \figure2

text after images here

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

//编辑

如果您想在页面顶部添加一些文本,则可以执行相同的操作,但只需使用 /clearpage。当然,您也可以将它们缩小一点,这样就不会再发生这种情况了。也许看不到的空白比你想象的要大一些,我总是尝试缩小我的图像,直到它们出现在同一页面上,只是为了确定不存在 1% 的重叠,只会使所有这些都不需要.


0
投票

有时我们只想为两到三张相关图像添加一个标题,然后,我们有两个或三个关联的图表,只有一个标题(对于某些期刊,这种样式是必要的。在这种情况下,subfloat 或其他类似的环境确实可以做到这一点)没有帮助,因为它们只允许每个子浮点有一个标题,而不是所有子浮点的阳离子,如下所示:

|------|   |------|   |------|
|image1|   |image2|   |image3|
|______|   |______|   |______|
Figure 1. cation for all of the 
subfloats 

|------|   |------|   |------|     
|image1|   |image2|   |image3|   
|______|   |______|   |______|   
Figure 2. cation for all of the 
subfloats 

content of the article,    content of the article
content of the article    content of the article

为了产生这样的风格,我使用了以下代码片段:

\begin{figure}[t]
  \subfloat[]{}
  \subfloat[]{}
  \subfloat[]{}
\end{figure}
\begin{figure}[t!]
  \subfloat[]{}
  \subfloat[]{}
  \subfloat[]{}
\end{figure}
\begin{figure}[t!]
  \subfloat[]{}
  \subfloat[]{}
  \subfloat[]{}
\end{figure}

0
投票

谁能做出这样的图片

[图片1]

[图2]

下一页

[图片]

[图4]


-2
投票

尝试使用

float
包,然后使用适合您的图形的
[H]
选项。

\usepackage{float}

...

\begin{figure}[H]
\centering
\includegraphics{fig1}
\caption{Write some caption here}\label{fig1}
\end{figure}

正如这个富有洞察力的答案已经建议的那样!

https://tex.stackexchange.com/questions/8625/force-figure-placement-in-text

© www.soinside.com 2019 - 2024. All rights reserved.