将表格/图片放在靠近提及的地方

将表格/图片放在靠近提及的地方

是否有任何包或方法可以强制 LaTeX 将浮动环境保持得更table接近figure其声明的位置?

答案1

通过选项简化浮动放置:

您可以使用更多定位选项。不仅仅是[h]。如果您希望将图形放置在附近,请允许更多定位选项,例如[htbp](此处、顶部、底部、页面)。使用!符号可消除进一步的限制。因此,在许多情况下这已经足够了:

\begin{figure}[!htbp]

有关浮动放置的有用包:

  • float引入一个放置选项H,强制在该点精确放置。
  • placeins\FloatBarrier提供限制图形或表格浮动的命令。您可以在列表之前和之后放置这样的屏障。
  • afterpage允许更巧妙地将\clearpage效果推迟到页面填满为止:\afterpage{\clearpage}

完全避免浮动环境:

包裹caption允许在浮动环境之外添加标题,即在您想要的任何地方。使用\captionof{figure}{the caption}(用于图形)

例子:

text
\begin{minipage}{\linewidth}
\begin{center}
\includegraphics[width=.6\linewidth]{example-image}
\captionof{figure}{An example image not including a Wombat}
\end{center}
\end{minipage}
even more text

minipage图形和标题保持在一起,center环境在图形周围添加一些白色空间。

进一步阅读:

由于这是一个重要且不容易的主题,因此有很多资料可供查找,例如在常见问题解答集合中。有一份详尽的文档涉及图形的包含、操作和放置:

你的问题的有趣部分可能是第四部分:图形环境从第 55 页开始。

Frank Mittelbach 也给出了出色的答案,详细描述了浮动机制和相关选项:

答案2

一旦理解了 LaTeX 如何使用浮点数,控制浮点数就不难了。必备常见问题解答链接:https://texfaq.org/FAQ-floats

从广义上讲,有三件事会阻止浮点数接近其定义:

  • 未指定位置参数。我建议始终使用 [htbp],直到文档完成为止。

  • 图形太大。您真的需要占页面大小 2/3 的图形吗?

  • 图形彼此靠近的次数过多。一旦图形开始堆积,就不可能将最后一个图形保持在其源位置附近。

最重要的是,在文档完全完成之前,不要考虑格式化浮点数。这样,​​您将获得更好的结果,并更快地编写文档。

答案3

查看float包。它添加了包含[H]强制浮动放置的功能。您还可以使用 将其选择为自动默认设置\floatplacement{figure}{H}

\documentclass{article}
% Example taken from https://tex.stackexchange.com/questions/297564
\usepackage{float} % here for H placement parameter

\begin{document}

Text before the table.    

\begin{table}[H] % placement parameter H
    \centering % if you want to center the table
    \caption{Table showing \ldots}
    \label{table:ExampleTable}
    % Code for table
\end{table}

Text after the table.      

\end{document} 

答案4

通常你需要做的就是提前声明表格和图表,第一个参考点(例如,参考点之前的一或两段,或上一小节标题之前)。

不幸的是,这往往需要反复试验。有些类型的浮点数需要比其他类型的浮点数更早声明;例如,带位置的浮点数[b]有时比带 的浮点数更棘手[t]

相关内容