当我用 LaTeX 写书的时候,我喜欢用缩进来分隔新的段落,但是有时我想用一个空行来分隔两个段落,以表示文本中的较大断点(例如,更长的一段时间过去了,位置发生了变化等)
\vspace
到目前为止,我发现的所有解决方案都依赖于诸如和 之类的低级命令\noindent
。 有没有更“正确”的方法?
它看起来是这样的:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque
non suscipit lacus. Ut fringilla, lectus fermentum sollicitudin
interdum, justo enim vulputate ante, id rhoncus nisi libero eget
eros. Sed porttitor condimentum leo sed malesuada.
Vivamus consectetur sagittis enim. Sed hendrerit, eros ac
condimentum sodales, lectus libero vehicula lorem, quis feugiat
ipsum dui non velit. In a imperdiet nunc. Nunc orci justo,
placerat eget euismod et, volutpat vitae ipsum. Sed congue ipsum
sit amet accumsan interdum. Integer varius tellus vel convallis
suscipit. Mauris nec sapien arcu. Nam ultrices ex ultrices eros
porttitor, eu dapibus elit accumsan. Fusce elementum rhoncus
finibus.
Donec mauris ante, commodo at erat vel, bibendum lacinia nisl.
Curabitur sit amet pharetra lectus, et cursus magna. Nam id
hendrerit metus. Orci varius natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Donec facilisis
vestibulum ante sit amet venenatis.
Phasellus sed risus enim. Interdum et malesuada fames ac ante
ipsum primis in faucibus. Vivamus turpis metus, convallis ac risus ac,
aliquet consectetur velit. Pellentesque gravida turpis ipsum, eu
vestibulum lorem imperdiet ac. Nullam luctus elit in facilisis
ultricies. Sed eleifend eros in iaculis dapibus. Curabitur hendrerit
orci sit amet nulla gravida accumsan.
答案1
我建议定义自己的命令来处理这种情况。特别是,似乎一个宏就足够了
- 插入段落分隔符
- 增加了额外的空间
- 删除后续段落的缩进
类似这样的宏
\newcommand{\startpar}{\par\addvspace{\baselineskip}\noindent\ignorespaces}
会这样做。
\documentclass{article}
\newcommand{\startpar}{\par\addvspace{\baselineskip}\noindent\ignorespaces}
\begin{document}
\startpar
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque
non suscipit lacus. Ut fringilla, lectus fermentum sollicitudin
interdum, justo enim vulputate ante, id rhoncus nisi libero eget
eros. Sed porttitor condimentum leo sed malesuada.
Vivamus consectetur sagittis enim. Sed hendrerit, eros ac
condimentum sodales, lectus libero vehicula lorem, quis feugiat
ipsum dui non velit. In a imperdiet nunc. Nunc orci justo,
placerat eget euismod et, volutpat vitae ipsum. Sed congue ipsum
sit amet accumsan interdum. Integer varius tellus vel convallis
suscipit. Mauris nec sapien arcu. Nam ultrices ex ultrices eros
porttitor, eu dapibus elit accumsan. Fusce elementum rhoncus
finibus.
\startpar
Donec mauris ante, commodo at erat vel, bibendum lacinia nisl.
Curabitur sit amet pharetra lectus, et cursus magna. Nam id
hendrerit metus. Orci varius natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Donec facilisis
vestibulum ante sit amet venenatis.
Phasellus sed risus enim. Interdum et malesuada fames ac ante
ipsum primis in faucibus. Vivamus turpis metus, convallis ac risus ac,
aliquet consectetur velit. Pellentesque gravida turpis ipsum, eu
vestibulum lorem imperdiet ac. Nullam luctus elit in facilisis
ultricies. Sed eleifend eros in iaculis dapibus. Curabitur hendrerit
orci sit amet nulla gravida accumsan.
\end{document}
如果您后来改变主意,认为段落之间需要更大的间隙,则可以更改单个宏,其他一切都会随之更改。同样,如果您觉得需要缩进所有段落,则可以删除\noindent
。这似乎非常灵活。
答案2
如果您正在写一本书,那么您可能正在使用类---和类memoir
的超集。正如 Ulrike Fischer 所说,它提供了在相邻段落之间插入多个空白行的宏,以及在段落之间插入一些装饰性文本(例如一串花饰)的宏。还有其他类似的宏,例如在页面中间插入,但在页面顶部/底部插入 。book
report
article
\plainbreak
\fancybreak
\plainfancybreak
plainbreak
\fancybreak
在段落之间插入空白行的困难在于,当段落之间有分页符时会发生什么。读者如何知道这不是两个正常分隔的段落(当段落的第一行没有缩进并依靠额外的空格分隔段落时也会出现同样的问题)?
宏memoir
\...break
尽力处理段落之间的分页符。
\documentclass{memoir}
\begin{document}
A paragraph.
Second paragraph.
\plainbreak{3} % three empty lines
Third paragraph % first line not indented
\end{document}