![我应该将浮点数放在源中的什么位置?](https://linux22.com/image/244336/%E6%88%91%E5%BA%94%E8%AF%A5%E5%B0%86%E6%B5%AE%E7%82%B9%E6%95%B0%E6%94%BE%E5%9C%A8%E6%BA%90%E4%B8%AD%E7%9A%84%E4%BB%80%E4%B9%88%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
我意识到这是一个令人尴尬的简单问题。我应该把浮点数放进去吗?例如
\begin{figure}
.
.
\end{figure}
在源中第一次引用后立即显示?还是等到主要/第一次引用的段落或部分结束。
(我的计划是保留memoir
标准布局,[htbp]
除非它们在最终文档中给我带来问题)
答案1
您的问题没有唯一正确的答案,部分原因是您没有告诉我们太多(实际上,任何信息……)有关您创建的浮动的外观、平均大小或内容的信息。因此,下面我写的大部分内容仅涉及一般问题。
- 通常认为放置浮动接近第一次呼叫这是用
\ref
(或类似)命令生成的。当然,这只是一个指导方针,而不是绝对的要求。必须严格遵循期刊和其他出版机构的内部风格;它们总是胜过个人偏好,包括下面表达的偏好! - 如果浮动元素大多较小(即,如果它们的高度小于 的 20% 到 25%
\textheight
),并且它们是为了说明文本中的特定观点,那么几乎必须将它们放在首次提及它们的段落之后(或之前)。- 附录:正如 Barbara Beeton 在其出色的评论中所指出的那样,一旦您接近完成论文,就必须仔细检查输出页面,以便微调浮动的位置。假设,您一直在放置所有短浮动后首次提及浮动元素的段落。通过检查输出,您可能会发现 LaTeX 将浮动元素移至下一页的情况,原因很简单,因为提及浮动元素的段落太长,浮动元素无法在该页面上容纳。在这种情况下,您可能需要将短浮动元素的输入代码放在多于而不是在相应段落下方,以便将浮动和标注保持在同一个(输出)页面上。如果您的文本段落相当长(例如,超过 6 到 8 行),这一点尤其重要。
- 对于稍大一点的浮点数,比如说从 的 1/3 到 3/5
\textheight
,通常最好让 LaTeX 放置他们全部要么放在相应输出页面的顶部,要么放在底部(当然,同时仍然将它们放置在“相当靠近”其第一个标注的位置)。如果您将这些中等大小的浮动元素中的一些放在顶部,将其他元素放在底部,而将其他元素放在(输出)页面的中间某处,则整个文档的外观将面临严重崩溃的风险。 对于高度超过 60% 到 70% 的浮动元素
\textheight
,请认真考虑指示 LaTeX 将这些浮动元素单独放置在页面上(使用[p]
放置说明符)。如果您必须将这些浮动元素放置在也包含文本的页面上,请务必绝不将它们放在页面中间。否则,浮动元素上方将只有几行文本,然后是高浮动元素,最后是页面底部的几行文本。- 这种脱节布局唯一可能起作用的情况是浮动下方的文本以新的分段标题开始。即便如此,强制浮动位于相应(输出)页面的顶部可能也没有什么坏处。
除了决定浮标的放置位置外,还有许多为了生成看起来令人满意的浮点数,还应考虑其他因素。
- 如果您使用图形,请使用一致的配色方案、线条样式和其他分组/组织信息的方式。如果您在图形中嵌入了标签和图例,请尝试使用与 LaTeX 用于图形标题等的字体和字体大小至少大致相同的字体和字体大小。如果这不可能,请考虑尽量减少使用相关图形程序生成的此类信息,而是使用 LaTeX 提供合适的图例。
- 一些浮动图是否彼此紧密相关(逻辑上和/或主题上)?如果是,请考虑创建一个主浮动图和各种子浮动图,以帮助读者识别这些联系。
- 考虑使用与正文不同的字体大小和/或字体。这将有助于读者“区分”浮动内容和正文。
- 如果您有几张宽度各异的表格,请考虑标准化它们的宽度——通常通过将宽度设置为
\textwidth
——通过使用tabular*
和tabularx
环境而不是环境tabular
。 - 考虑加载
hyperref
包以生成从图形和表格标注到相关浮动的超链接。这对于收集在文档后面的浮动尤其重要。
TeXing 快乐!
答案2
浮点数在源中的位置决定了浮点数在格式化文档中的位置,方式如下:
- 源文件中此点最终出现在格式化文档中的页面将是格式化文档中浮动元素最早出现的页面能出现。如果浮动元素位于段落内,则此参考点定义为下一个换行符(与源中的实际位置相比)。如果浮动元素位于段落之间,则浮动元素的参考点是上一个段落的末尾。
- 浮动元素有可能(并且事实上经常发生)物理上出现在该参考点之前,但只能通过将其放置在同一页面的顶部区域来实现。
- 当 LaTeX 到达源中的参考点时,它会尽力尽快放置浮动元素,最好是在同一页面上。
由此可知,通常应(至少最初)将浮动放置在靠近其第一个主要调用的位置,即源代码中引用浮动的位置,并且读者会有兴趣轻松查阅浮动材料。在大多数情况下(但并非总是)这是对浮动的第一次引用。
即使在一段话内做到这一点也相当容易,例如,
... some text. See figure~\ref{foo} ...
%
\begin{figure}
... \caption{..}\label{foo}
\end{figure}
%
... some more text in the same paragraph
但是,即使只添加包含%
此内容的额外行,阅读起来也有些困难(也难以维护),而且在大多数情况下收效甚微。因此,我的建议是,最初始终将此类浮动放置在包含主要标注的段落之后的段落之间。当文档处于最终阶段(就其内容而言)时。然后可以根据需要调整浮动位置。
更新
也许我应该明确指出“段落之间”并不意味着段落末尾,例如
...last sentence.
\begin{figure}
...
反而总是在最后一句和图片之间留一个空行。否则,如果你运气不好,你可能会看到一些奇怪的段落中断!原因如下:通常 TeX 会删除段落末尾的空格,然后附加\parfillskip
。这样做是因为此时通常不会故意留出这样的空格。但是,如果图片直接跟在段落文本后面,那么它实际上不是“在”段落之间,而是在段落的最末尾(在水平模式下可见)。因此,段落中最后一个单词后面的任何空格都会被 TeX 机制隐藏,因为后面有这个图片。因此,空格仍然存在,如果你运气不好,这个额外的空格会使原本完美契合的最后一行变得过满,因此 TeX 会为该段落生成另一行。
答案3
mico 的建议对于第一遍来说都很好,但可能仍然无法达到最佳位置。
当文档接近完成时,最好检查一下布局,并考虑调整输入中浮动元素的定位以改善外观。例如,如果浮动元素在段落开头引用,并且页面顶部有空间将其保留在同一页面上,但段落和浮动元素的长度一起将其推到下一页,则将浮动元素移到输入中的该段落之前可以得到更好的结果。
还需要考虑“浮动”是否真的需要浮动。如果页面上有足够的空间,那么不需要标题或交叉引用的小图形或表格可以简单地放在一行中;\begin{center} ... \end{center}
通常应该在它们周围提供足够的“空气”以使其看起来合理。在这种情况下,可能需要调整文本输入,包括在句子中间明确换行,以允许此材料出现在段落的中间;使用\newline
,而不是\\
,以保持均匀的右边距,并\noindent
继续被打断的文本。
答案4
按顺序放置浮动代码,紧跟在主要参考段落之后(例如 via\ref
或类似内容)。
在制作文档的最终版本时,可以对位置说明符进行调整,以使浮动元素根据出版商或其他机构给出的特殊愿望或布局规则出现。——请参阅 Mico 的回答和其他地方的许多其他优秀指南。
在最终版本中,源中的浮动位置也可以更改,例如将浮动移动到段落的开头有时可以产生更好的效果。
编辑:
我刚刚发现@Frank Mittelbach在回答如何影响 LaTeX 中图形和表格等浮动环境的位置?
... 浮动在源文档中的位置会影响浮动在输出中的位置,因为它决定了 LaTeX 第一次看到浮动的时间。重要的是要理解,如果浮动位于段落中间,则此参考点是段落中紧随源中实际位置之后的下一个换行符或分页符。...
-
... 浮动环境在源文件中的位置决定了它在最终文档中出现的最早点。它可能在视觉上向后移动一定程度,因为它可能被放置在当前页面的顶部区域。但是,由于 LaTeX 不会回溯,并且较早的页面已经排版,因此它不能像周围的文本一样出现在较早的页面上。
因此,浮动元素通常会放置在源中其第一个调用(即“参见图 5”之类的文本)附近,因为这将确保浮动元素出现在与此文本相同的页面上或出现在后面的页面上。但是,在某些情况下,您可能希望将浮动元素放置在前一页上(如果该页面仍可从调用中看到)。这只能通过移动源中的浮动元素来实现。...