为什么我必须使用 \indent 两次?

为什么我必须使用 \indent 两次?

编辑在得到有益的答复后,我编辑了这个问题。

为了制作缩进定理后我必须写

\documentclass[12pt,a4paper]{article}

\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{indentfirst}

\newtheorem{theorem}{Theorem}

\begin{document}

\section*{The very first question}
Start
\begin{theorem}
Some theorem
\end{theorem}
\indent \indent Something
\end{document}

如果我使用

\indent Something

那么我就得不到缩进。

问题。我必须写\indent两遍,这正常吗?

答案1

后面留空一行即可\end{theorem}

\documentclass[12pt,a4paper]{article}

\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{indentfirst}

\newtheorem{theorem}{Theorem}

\begin{document}

\section*{The very first question}
Start
\begin{theorem}
Some theorem
\end{theorem}

Something

\end{document}

在此处输入图片描述

如果你添加,即使没有空行,也可以获得缩进

\usepackage{amsthm}

(我推荐)。

如果没有空行,LaTeX 默认不会缩进list基于环境(以及由 声明的环境\newtheorem基于)后的段落。这对于可以很好地“在段落中使用”的环境(例如或 )非常有用。listenumerateitemize

使用,在假设定理永远不会“在段落中”的情况下,amsthm对于 声明的环境,此行为会发生变化。\newtheorem

请注意,如果没有 ,indentfirst在章节标题后留下一个空行将不会有任何效果,因为这与list基于环境的情况不同。默认情况下,章节标题后的缩进被“永久”抑制,因此\indent不会执行任何操作(但另一个会添加类似于 的空格\hspace*{\parindent})。使用indentfirst行为类似:您可以在章节标题后获得缩进,而不受空行的影响。

我通常建议总是在章节标题之后留一个空行,在标题之前留两行空行,以便在打字稿中“隔离”标题,以便于搜索。

答案2

下面的解释也适用于更新后的问题。

LaTeX 默认会抑制章节标题后第一段的缩进。如果你想要缩进这些段落,那么这个包indentfirst就是你的好帮手:

\documentclass[12pt,a4paper]{article}

\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage{indentfirst}

\begin{document}

\section*{The very first question}
Something
\end{document}

结果

为什么\indent\indent有效:

第一个\indent开始一个新段落并设置一个缩进框。此外,\everypar执行标记寄存器。\section代码设置此标记寄存器以取消第一个段落的缩进。这是通过\setbox0\lastbox组内完成的。现在,我们有了没有缩进的水平模式。然后,第二个\indent只是设置缩进框而不调用\everypar,因为我们已经处于水平模式。

答案3

我认为您希望紧跟在节标题后面的段落缩进(大概缩进量为\parindent)。如果是这样,您不需要(也不应该)手动输入\indent。相反,只需加载先缩进包在序言中。

如果你真的想手动输入这些缩进指令,那么 LaTeX 的方法应该是这样写

\hspace{\parindent}

而不是\indent(或\indent\indent

相关内容