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

Kus*_*sti 82 layout latex image figure

我有两个想要在页面上显示的图像作为数字.每个人吃的空间都不到可用空间的一半,所以在那个页面上没有太多空间容纳任何其他东西,但我知道这两个数字都有足够的空间.我试图用[ht]和[hb]放置数字,[h]和[ht],但我仍然无法在同一页面上获得这两个图像,而是至少在它们之间有几段.

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

Rob*_*man 130

您可以在一个图形环境中放置两个数字.例如:

\begin{figure}[p]
\centering
\includegraphics{fig1}
\caption{Caption 1}
\includegraphics{fig2}
\caption{Caption 2}
\end{figure}
Run Code Online (Sandbox Code Playgroud)

每个标题将生成一个单独的图号.

  • 但是,似乎你无法独立地标记这两个不同的数字 (7认同)
  • 另一种可能性是子图包和图形环境中的命令,如`\ subfloat [Caption] {\ includegraphics {file}}`. (5认同)
  • 记住这是一个很好的答案:).从来没有想过它,但看起来很干净:). (2认同)
  • @Mulone - 如果你将`\ label`放在`\ caption`环境中,你似乎可以. (2认同)

Cro*_*ley 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}
Run Code Online (Sandbox Code Playgroud)

如果您希望彼此相邻,例如两个不同的图像,您可以使用:

\begin{figure}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{first}
 \end{minipage}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{second}
 \end{minipage}
\end{figure}
Run Code Online (Sandbox Code Playgroud)

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

[1] [3]

[2] [4].


Sch*_*der 13

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

这里解释选项

  • 是的,“float”包绝对是正确的答案。我经常感叹使用!符号,如 `\begin{figure}[h!]` 在 TeX 中也可以重写为 `\please`,因为编译器仍然自行决定将图像放在哪里。这次它只是对你眨眼,而不是无视你。`float` 包肯定会让它做你想做的事。 (3认同)

Wil*_*son 5

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

\begin{figure}[p]
Run Code Online (Sandbox Code Playgroud)

在页面上只有几行文字的上面或下面有两个数字可能会违反声音排版原则(例如丑陋).


顺便说一下,之所以[!h]有效,是因为它告诉LaTeX要覆盖通常的限制,即应该在带有文本的页面上花多少空间.如上所述,存在限制的原因.这并不是说它们可以稍微放松一下; 请参阅常见问题解答.