关于浮动位置以及相对于正文参考的最佳图形放置位置的 LaTeX 代码格式

关于浮动位置以及相对于正文参考的最佳图形放置位置的 LaTeX 代码格式

多年来,我看到过许多文章、问题和评论,它们建议在使用浮动元素(如表格、带标题的图形等)时,最好让 LaTeX 决定将它们放置在何处。这与使用诸如软件包之类的东西相反,float在软件包中,用户可以添加标签来明确强制放置相关浮动元素的位置。

很好。LaTeX 基本上知道自己在做什么,所以我相信它。相对于主文本代码,我应该把浮点数、图形和表格的代码放在哪里?这会影响编译吗?


另一个相关问题,鉴于下面一位用户的回答,那么在正文中将图表相对于对它的引用放在哪里比较合适。例如,我写了一个引用图表的段落,将图表放在段落之前、之后还是甚至放在段落之外比较好。

我当然意识到这在很大程度上取决于一个人的写作方式,但我遵循最好的实践指南。

例如,如果我用 引用一个图形\ref{MyFigureA},LaTeX 会尝试将该图形放置在尽可能靠近参考的位置吗?

相对于引用的主要文本,浮动对象(图形、表格等)的代码放置的最佳做法是什么?

答案1

这可能只不过是一个扩展的评论,但它确实受益于在拖船以获得(我认为的)最佳效果。浮动放置规则的详细信息在此问题中给出:如何影响 LaTeX 中图形和表格等浮动环境的位置?,正如评论中所建议的那样;如果这里写的内容不清楚,请参考该内容,或参考拖船文章中引用。此讨论主要适用于单列页面;多列页面上的全宽浮动有特殊要求,并且取决于列是由文档类选项还是包定义的multicol

撰写初稿时,将浮动放置在靠近其引用的位置。一个好的起始位置是引用之后。最好在垂直模式下输入浮动的说明,即在段落分隔符处,浮动之前留一个空行,之后留一个空行。如果位置对于特定图形很重要,请根据需要添加选项;这[tbp]是默认设置,如果没有给出明确的选项,LaTeX 将以此方式应用它们。(如果浮动很大,并且p从选项中省略指定,这将导致大浮点数和同一类的所有后续浮点数被推迟到文档结束。)

有时,图形或表格必须精确地出现在特定位置。如果包含的内容很小,并且毫无疑问它不适合所需的位置,您可以尝试使用 将其插入到行内以\captionof提供标题(需要包caption)。 \includegraphics可以作为未编号的显示插入\[ ... \],以在上方和下方提供一些垂直空间。(我不记得是否\captionof可以在显示中工作,但许多小图形不需要标题。) \begin{center} ... \end{center}相当于表格的显示,涉及周围空间。

文本基本完成后,编译文档并检查浮动元素的位置。如果浮动元素出现在引用后的页面上,但引用页面上有空间[t]引用(也许引用位于很长的段落的开头),可以使用选项或将该浮动从段落后移到段落前[b]。(请注意,我不建议使用[h][H]。)如果真的将浮动元素挤到页面上非常重要,如果可用空间只差一行,那么可以在\enlargethispage(1\baselineskip}当前页面或(通常更可取)前一两页获得一行。

请记住,每次调整都可能影响后续内容。因此,请从头开始逐一进行调整;如果文档是一本书,则可以为此目的将各个章节视为独立章节。

编辑: 我必须收回我关于使用 的说法[h]。我刚刚收到了一份来自常规拖船专栏作家会充分利用这个选项。图表被放置在列的中间,就在提到但没有正式引用的位置下方,实际上是在段落之间。事实上,这是确保浮动对象可以明确放置在列中的唯一方法中间页面或列。但是,再次强调,这是一个最好留待最后微调的声明。

答案2

不,浮动,就是浮动。你可以用[htbp](更喜欢这里,页面顶部,页面底部,附加页;它不强制放置)。大多数时候,LaTeX 在这方面做得很好。你有一些通过在代码中将浮动放置在引用旁边来控制您想要的内容(不用担心,除非没有更好的位置,否则它不会中断段落)。 像float允许强制放置的软件包,但我会将其用作最后的手段一旦文档的其余部分稳定下来。如果由于您删除了一个段落而导致“此处”发生变化,则在此处强制浮动可能会看起来非常丑陋……

相关内容