摆脱 AMS 类中第一段的缩进

摆脱 AMS 类中第一段的缩进

考虑以下 MWE:

\documentclass{amsbook}
\usepackage{lipsum}

\begin{document}
\chapter{Test}
\section{Test}
\lipsum
\end{document}

然后部分输出如下

在此处输入图片描述

因此,AMS 类会自动在节后(或更一般地,在标题后)缩进段落的第一行。但是,据我所知,标准惯例是不在标题后缩进段落的第一行。我如何在这个特定的类中实现这一点?此外,为什么这是 AMS 类中的默认设置?

答案1

借鉴优秀indentfirst但反过来想,你可以尝试

\documentclass{amsbook}
\usepackage{lipsum}

\makeatletter
\let\@afterindenttrue\@afterindentfalse
\@afterindentfalse
\makeatother

\begin{document}
\chapter{Test}
\section{Test}
\lipsum
\end{document}

关于标题后的第一段是否应该缩进,似乎没有达成共识,请参阅某一部分的第一段没有缩进?https://writing.stackexchange.com/q/3152或者https://practicaltypography.com/first-line-indents.html

任何文本第一段的首行缩进都是可选的,因为段落的开始位置很明显。

我想你可以为双方辩护。但这似乎不是一个引发很多争议的问题。

LaTeX 标准类不会在第一个段落开始时缩进,但indentfirst会为需要缩进的人启用此行为。显然有人认为该功能值得为它编写一个包。显然 AMS 同意并缩进第一个段落。

答案2

您可以修补\chapter问题\@afterindentfalse而不是\@afterindenttrue

还应\section进行修补,以便其第四个参数具有负值而不是正值。

\documentclass{amsbook}
\usepackage{etoolbox}
\usepackage{lipsum}

\makeatletter
\patchcmd{\chapter}{\@afterindenttrue}{\@afterindentfalse}{}{}
\patchcmd{\section}
  {.7\linespacing\@plus\linespacing}
  {-.7\linespacing\@plus-\linespacing}
  {}{}
\makeatother

\begin{document}
\chapter{Test}

\lipsum[3]

\section{Test}

\lipsum[4]

\subsection{Test}

\lipsum[2]

\end{document}

在此处输入图片描述

相关内容