网络上到处都是这样的小建议:“不要打断 LaTeX 中的文档流。”那么,在两个段落之间设置“超大”间隔的“正确”方法是什么(通常在文字处理器中通过设置一个空行来实现相同的效果)。memoir
提供了命令\fancybreak{}
,但它仅限于特定的类。
一般来说,正确的使用命令?我知道的其他命令只有\vspace
和,当然,\smallskip
,\medskip
和\bigskip
,它们基本上只是\vspace
带有一些固定的参数长度。对我来说,告诉 LaTeX 插入特定长度的垂直空格听起来很像破坏文档流。
答案1
当人们谈论“破坏文档流程”时,他们通常指的是在不该出现的地方创建段落分隔符,或者滥用 (La)TeX 命令,例如\\
、\newline
、\par
和~
,其中一些在(La)TeX 及其它初学者最常犯的错误是什么?以及本网站的其他地方。
只要你打算插入这个空格的地方确实应该有一个段落分隔符,你就不必担心这种“断流”,因为
- 段落连字的流畅概念不会受到不利影响,因为无论如何您都要开始一个新段落;
- 新段落是阅读流程中的逻辑中断,因此额外的空间不会极大地扰乱读者的感受;
- 只要额外的空间/其他内容得到持续使用,读者就能识别其用途,然后它就能成为阅读辅助工具。
决定这个额外的休息/事情是否是好事是否使用取决于文档风格/品味,取决于每个文档设计者。在排版小说中,这些通常被称为“场景间断”,通常用于表示单个章节中的上下文变化。为此,如果您决定这是一个好事对于您的设计,将其创建为具有某些语义上重要的名称的宏,并确保其一致使用,例如:
<...>
They left the cafeteria and proceeded to fourth-hour Biology with Mrs.~Duckworth.
\sceneskip % or \scenebreak or \fancyskip or whatever other meaningful name you come up with
Back at Jane's house, a brace of ducks were feeding on the lawn.
<...>
这也使得更改设计变得非常容易:您只需更改此宏的定义,整个文档就会自动更新并保持一致。
唯一要注意的另一件事是如何插入垂直空格。由于新段落可能(并且经常)与分页符重合,因此在定义\sceneskip
为命令的另一种形式时\<amount>skip
,\vspace
应使用 而不是\vspace*
,这样如果新段落位于新页面的顶部,多余的空格就会被丢弃。
如果\sceneskip
命令有间距和某种装饰(* * *
或类似装饰),明智地使用两个垂直空间命令,并\nobreak
确保排版的一致性。例如,装饰应该落在刚结束的页面底部还是刚开始的页面顶部?无论选择哪种方式,都必须小心谨慎,以便在与场景分隔符重合的每个分页符处发生相同的事情。