有什么方法可以_绝对_决定图像位置?

有什么方法可以_绝对_决定图像位置?

我使用 LaTeX 撰写了近 100 篇科学论文,虽然我喜欢它的方程式渲染和易于引用的特点,但我几乎同样不喜欢无法指定图像位置的功能。

我的论文通常 (a) 很短,(b) 有很多图。我通常知道我想把这些图片放在哪里,例如图 1 放在第 1 页的底部,等等。我想向 LaTeX 指定这一点,让系统完全服从我,而不是将我的放置说明视为建议。我希望 LaTeX 隔离我指定的区域,例如第 1 页的底部,然后尽力让文本和公式布局围绕这些绝对的、不可协商的限制流动。

经过几个小时的谷歌搜索,我还是没能找到一种方法来实现这一点;相反,我发现了许多技巧,可以增加我的“建议”对 LaTeX 的强调程度,比如,输入 [h] 或 [h!],甚至改变 LaTeX 的参数,以了解其各种布局要求的重要性(溢出容忍度、图形周围的空间等)。虽然这些解决方案比无用要好,但它们远远没有达到我所寻求的“按你说的做”的要求。这可能吗?

答案1

[h](和[!h])本质上是一个语法错误,要求所有图形都放在文档末尾,LaTeX 通常会发出警告并将其更改为,[ht]给自己一个机会。您可能更喜欢根本不使用浮点数,而只使用capt-of包,这样您就可以包含图形,然后执行\captionof{figure}{zzzz}

停止浮动会将浮动准确地放置在你放置它们的位置在文本流中而(我认为)你想把它们放在你想要的地方在页面上。除非您重写一半,否则 latex 并不真正支持此功能,而这正是 LaTeX3xor软件包的目标,并且确实(或多年来在其某些版本中(部分早于 LaTeX2e)拥有)能够指定浮动位于特定区域,例如第 6 页的顶部浮动或第 2 页的边距浮动。但是,xor目前它还不能真正用于实际文档,它更像是一个实验性的测试平台,而不是您今天可以使用的东西。

然而,一切还没有结束,但你需要给 LaTeX 一个机会。h如果你想让数字出现在诸如“第 1 页底部”的区域,那么首先不要使用它,因为它的主要作用[h]是防止浮动元素被放置在任何正常的浮动区域中,因为它意味着非顶部、非底部和非浮动页面。

如果您在文本中放置一个图形,使其位于第 1 页并使用,[!b]那么它将出现在该页面的底部,除非它不适合(或者除非您在同一页上放置了其他一些大的不可破坏的东西,如大桌子)。

答案2

最大的技巧是你根本不需要使用浮点数!在许多情况下,不是正确的工具。事实上,我认为大多数时候他们用的是错误的工具,至少默认设置是错误的。当然,并不是所有人都同意我的观点(见此处的评论)。然后,一旦您放置它,它就会与那段文本保持一致。它并不完美,因为它与文本保持一致,而不是位置,但如果你已经完成了大部分文档,你可以将它与文本一起粘贴在你想要的位置附近。我曾经这样做过,尽管这有点麻烦。

如果你想要一张图片,只需输入

\includegraphics[scale=1]{foo}

或者任何您想要的东西。

您可以使用该caption包添加标题:

\documentclass{article}
\usepackage[]{caption}
\usepackage{graphicx}
\begin{document}
Hi! I'm a test

\noindent\begin{minipage}{\linewidth}
\centering
\includegraphics[width=0.5\textwidth]{test}
\captionof{figure}{An example}
\end{minipage}
\vspace{0.2 \baselineskip} %I find this makes the figure stand out more nicely. 


ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
\end{document}

您需要一个 test.png 或类似的东西才能完成这项工作,但您会发现它非常简单。您也可以对表格执行相同的操作。然后它们根本不会移动。

我听说过的其他有用的东西:\FloatBarrier(来自placeins包),它会创建一条线,所有浮动都必须出现在前面。我从未使用过它,但有人向我推荐过它。这再次根据文本锁定,但如果 H 等对您不起作用,您可以根据需要移动它,如上所述,因为它们似乎从来没有为我做过。

当我写论文的时候,我发现

%Make latex put figures with text more
\renewcommand{\topfraction}{0.9}
\renewcommand{\textfraction}{0.05}

我的序言让浮动变得没那么糟糕。它们仍然会移动,但当我想在文档中添加一些大数字时,它们不会全部移动到空白页;它们大部分会停留在它们应该停留的位置,只需进行一些调整即可。这使得它们更有可能停留在我想要的位置。

相关内容