Как заставить две фигуры остаться на одной странице в LaTeX?

У меня есть два изображения, которые я хочу отобразить на странице в виде цифр. Каждый съедает чуть меньше половины доступного пространства, поэтому на этой странице не так много места для других вещей, но я знаю, что для обеих фигур достаточно места. Я попытался поместить фигуры с [ht] и [hb], как [h], так и оба [ht], но все же я не могу получить эти два изображения на одной странице, но вместо них по крайней мере несколько абзацев между ними.

Как заставить эти две фигуры оставаться на одной странице?

Ответ 1

Вы можете поместить две фигуры внутри одной фигуры. Например:

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

Каждый заголовок будет генерировать отдельный номер фигуры.

Ответ 2

Если вы хотите иметь изображения по одной теме, вы можете использовать пакет 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].

Ответ 3

У меня была эта проблема, пытаясь смешать цифры и текст. Для меня работала опция "H" без "!" вариант. \begin{figure}[H]
"H" пытается заставить фигуру точно указать ее в коде. Это требует включения \usepackage{float}

Ниже описаны опции

Ответ 4

Если вы хотите, чтобы они оба были на одной странице, и оба они будут занимать в основном целую страницу, тогда лучшая идея - сказать LaTeX, чтобы поместить их на свою страницу!

\begin{figure}[p]

Возможно, было бы против звуковых типографских принципов (например, уродливых) иметь две цифры на странице с несколькими строками текста выше или ниже них.


Кстати, причина, по которой работает [!h], заключается в том, что она сообщает LaTeX о переопределении своих обычных ограничений на то, сколько места должно быть посвящено плаваниям на странице с текстом. Как подразумевалось выше, есть причина, по которой существуют ограничения. Это не значит, что их можно немного ослабить; см. FAQ при этом.

Ответ 5

Попробуйте добавить !, например. [h!].

Ответ 6

попробуйте [h!] сначала, но еще вы можете сделать это уродливым способом.

LateX немного сложнее размещать изображения с такими ограничениями, какими они управляют размещением. То, что я обычно делаю, если я хочу, чтобы фигура прямо в этом месте делала что-то вроде::

text in front of image here

 \newpage 
 \figure1 
 \figure2

text after images here

Я знаю, что это может быть неправильный способ сделать это, но он работает как шарм:).

//редактировать

Вы можете сделать то же самое, если хотите немного текста в верхней части страницы, но затем просто используйте /clearpage. Конечно, вы также можете масштабировать их немного меньше, чтобы этого больше не было. Возможно, невидимые пробелы немного больше, чем вы подозреваете, я всегда стараюсь масштабировать свое изображение, пока они не появятся на одной странице, просто чтобы точно знать, что не существует перекрытия 1%, только делая все это не нужным.