告诉 LaTeX 不要在我的命令后缩进下一个段落

告诉 LaTeX 不要在我的命令后缩进下一个段落

在使用 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和朋友们使用的。

相关内容