有没有办法让LaTeX将数字放在同一页面作为对该数字的引用?

时间:2009-01-15 22:34:47

标签: latex figures

我正在使用LaTeX和数字环境。

我熟悉该环境的参数:[htbp],我也熟悉LaTeX默认采取的策略来决定放置每个数字的位置。例如,将数字放在页面的顶部或底部。

我想知道的是,是否有一个包,宏或一些命令,我​​可以给出如果我有一个单列文档,而且我大多数都有一个图形的单个文本引用,那个数字会更有可能被放在参考的同一页面上吗?

例如,假设我有一个长段,中间有一个\ ref {FIG:X}。渲染时,部分段落出现在分页符之前,有些段落出现在分页符之后。我也可以在整段之前和之后的某个地方放置figure命令。有没有办法让它实际放在与实际参考相同的页面中?

9 个答案:

答案 0 :(得分:15)

我不想发声否定,但有时候,如果没有大量的“人为”调整分页符,你想要的东西几乎是不可能的。

如果标注自然落在页面底部附近,并且图形落在下一页上,则将图形移回一页可能会取代标注前进

我建议(尽可能,并根据数字的确切大小):

  • 将数字放在[t](如果必须,则为[h])
  • 将数字尽可能靠近“右”位置([t]和[h]不同)
  • 使用\ input包含来自单独文件的数字,这将使您在进行最终调整时更容易移动

根据我的经验,这是一个很大的非可用时间(: - )


在回答Jon的评论时,我认为这是一个固有的难题,因为LaTeX的家伙并不是懒散的。您可以阅读Frank Mittelbach's paper

答案 1 :(得分:10)

您可以随时添加“!”进入你的浮动选项。这样,乳胶很难将图形放在你想要的位置(我主要使用[h!tb]),延伸了类型设置的常规规则。

我找到了另一个解决方案:
使用float - 包。这样您就可以将数字放在 希望它们的位置。

答案 2 :(得分:10)

是的,将float包包含在文档顶部,将H(大写H)包含为数字说明符:

\usepackage{float}

\begin{figure}[H]
.
.
.
\end{figure}

答案 3 :(得分:4)

我总是在浮点数(例如数字)上使用[h]选项来解决这个问题,这样它们(大多数)就会放在我放置它们的位置。然后,当我查看最终草稿时,我通过在LaTeX源中移动它来调整浮动的位置。通常这意味着将它移动到引用它的段落。有时我需要在适当的位置添加分页符。

我发现在LaTeX中浮动的默认位置是合理的,但是几乎总是需要手动调整以使这样的事情恰到好处。 (当有很多花车和脚注时,有时一切都不可能是完美的。)

memoir类的manual有一些关于LaTeX如何放置浮动的好信息以及一些操作算法的建议。

答案 4 :(得分:2)

也许这会对你有帮助吗?

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

我认为当你的数字消失时,最好使用graphics命令。

答案 5 :(得分:1)

我有一些有用的评论。因为我的数字位置有类似的问题。 我使用了包裹“wrapfig”,允许用文字包裹数字。 像

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

在选项中{r}表示从右侧放置数字。 {l}可用于左侧。

答案 6 :(得分:1)

\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/

答案 7 :(得分:1)

如果您想在所有数字上强制执行此行为,请尝试

...
\usepackage{float}
\floatplacement{figure}{H}
...

答案 8 :(得分:0)

我发现的一种方法是使用\include{file_with_tex_figure_commands}

输入)