在使用 LaTeX 做笔记时,我喜欢用一条水平线来分隔主题。但是,我更希望该线后的第一段不缩进,就像新章节的开头一样。
下面实现了水平线,但下一段仍然缩进:
\documentclass{article}
\usepackage{lipsum}
\newcommand{\rulebreak}{\vspace{1em}\noindent\hrulefill\vspace{1em}\noindent}
\begin{document}
\section*{A Section}
This is the first paragraph in a new section - it isn't indended.
\rulebreak
This is the first paragraph after a rulebreak - it shouldn't be indented.
The second paragraph should be indented as usual.
\end{document}
我尝试\ignorespaces
在定义的末尾添加\rulebreak
,但没有效果。(我猜它只忽略空格,而不忽略换行符?)
如何才能防止规则后的段落缩进?
答案1
像这样
\makeatletter
\newcommand{\rulebreak}{%
\par\vspace{1em}\noindent\hrulefill\par\vspace{1em}%
\@afterindentfalse\@afterheading}
\makeatother
注意我添加了一些宏\par
,这样宏就不依赖于用户在上方和下方是否有空行。宏可以\@afterheading
解决问题,这就是我\section
和朋友们使用的。