Есть ли способ заставить LaTeX размещать рисунки на одной странице в качестве ссылки на этот рисунок? - PullRequest
34 голосов
/ 16 января 2009

Я использую LaTeX и графическую среду.

Я хорошо знаком с параметрами этой среды: [htbp], и я также в целом знаком со стратегиями, которые LaTeX использует по умолчанию, чтобы решить, куда поместить каждую фигуру. Например, разместив цифры вверху или внизу страницы.

Что меня интересует, так это то, есть ли пакет, макрос или некоторые команды, которые я могу дать, чтобы, если у меня был документ с одним столбцом, и у меня была в основном одна текстовая ссылка на рисунок, этот рисунок с большей вероятностью будет размещен на той же странице ссылки?

Например, представьте, что у меня есть длинный абзац, в середине которого есть \ ref {FIG: X}. При визуализации часть абзаца появляется до разрыва страницы, а часть появляется после разрыва страницы. Я также могу разместить команду figure где-то до и после всего абзаца. Есть ли способ сделать так, чтобы он был размещен на той же странице, что и реальная ссылка?

Ответы [ 9 ]

15 голосов
/ 16 января 2009

Я не хочу звучать слишком отрицательно, но бывают случаи, когда то, что вы хотите, почти невозможно без большой "искусственной" настройки разрывов страниц.

Если выноска падает естественным образом в нижней части страницы, а фигура попадает на следующую страницу, перемещение фигуры на одну страницу назад, вероятно, сместит выноску вперед .

Я бы порекомендовал (насколько это возможно, и в зависимости от точного размера рисунков):

  • Поместите цифры с помощью [t] (или [h], если необходимо)
  • Разместите фигуры как можно ближе к «правильному» месту (различается для [t] и [h])
  • Включите фигуры из отдельных файлов с помощью \ input, что значительно облегчит их перемещение при окончательной настройке

По моему опыту, это большое пожертвование недоступного времени (: -)


В ответ на комментарий Джона, я думаю, что это сложная проблема, потому что парни из LaTeX - не ругатели. Вы можете прочитать статью Фрэнка Миттельбаха .

10 голосов
/ 06 октября 2011

Да, включите пакет с плавающей точкой в ​​начало документа и H (заглавная H) в качестве спецификатора фигуры:

\usepackage{float}

\begin{figure}[H]
.
.
.
\end{figure}
10 голосов
/ 20 января 2009

Вы всегда можете добавить "!" в ваши поплавковые опции. Таким образом, латекс изо всех сил старается расположить нужную фигуру (я в основном использую [h! Tb]), растягивая обычные правила набора текста.

Я нашел другое решение:
Используйте пакет float . Таким образом, вы можете разместить цифры, где вы хотите, чтобы они были.

4 голосов
/ 16 января 2009

Я решаю эту проблему, всегда используя опцию [h] для чисел с плавающей точкой (например, фигур), чтобы они (в основном) шли туда, где я их размещаю. Затем, когда я смотрю на окончательный вариант, я корректирую расположение поплавка, перемещая его в исходный код LaTeX. Обычно это означает перемещение по абзацу, на который он ссылается. Иногда мне нужно добавить разрыв страницы в соответствующем месте.

Я обнаружил, что в LaTeX разумно размещать поплавки по умолчанию, но почти всегда необходимы ручные настройки, чтобы все было правильно. (И иногда невозможно, чтобы все было идеально, когда много поплавков и сносок.)

Руководство для класса memoir содержит некоторые полезные сведения о том, как LaTeX размещает числа с плавающей точкой, и некоторые советы по работе с алгоритмом.

2 голосов
/ 17 февраля 2012

Может быть, это вам поможет?

\begin{center}
\includegraphics[scale=0.5]{picture_name}
\end{center}    

Я думаю, что лучше использовать графическую команду, когда ваши цифры убегают.

1 голос
/ 31 января 2012

Если вы хотите принудить это поведение ко всем вашим фигурам, попробуйте

...
\usepackage{float}
\floatplacement{figure}{H}
...
1 голос
/ 08 февраля 2011
\setcounter{topnumber}{2}
\setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.85}
\renewcommand{\textfraction}{0.15}
\renewcommand{\floatpagefraction}{0.7}

http://robjhyndman.com/researchtips/latex-floats/

1 голос
/ 23 февраля 2009

У меня есть несколько полезных комментариев. Потому что у меня была похожая проблема с расположением фигур. Я использовал пакет «wrapfig», который позволяет делать рисунки, обернутые текстом. Что-то вроде

...
\usepackage{wrapfig}
\usepackage{graphicx}
...
\begin{wrapfigure}{r}{53pt}
\includegraphics[width=53pt]{cone.pdf}
\end{wrapfigure}

В опциях {r} означает поставить цифру с правой стороны. {l} можно использовать для левой стороны.

0 голосов
/ 27 января 2010

Один из способов, который мне помог, это использовать \include{file_with_tex_figure_commands}

( не вход)

...