如何在 ntheorem 包中仅缩进第一行

如何在 ntheorem 包中仅缩进第一行

我正在写一本书,遇到了定理和问题名称不标准的问题,我借助 ntneorem 包解决了这个问题,但第一行的标准缩进被删除了。如何恢复它?

我也查看了 amsthm 包,但没有找到如何解决名称问题。我的代码:

\usepackage{ntheorem}
\theoremheaderfont{\normalfont\bfseries} 
\theorembodyfont{\itshape}
\theoremseparator{.}
\theorempreskipamount1cm
\theorempreskip{0pt}
\theorempostskip{0pt}
\theoremnumbering{arabic}
\theoremsymbol{}

在此处输入图片描述

Theoremindent 缩进所有定理文本。我不想要这个。

答案1

\documentclass{article}
\usepackage{lipsum}

\usepackage{ntheorem}
\theoremheaderfont{\indent\normalfont\bfseries} % Here's the trick!
\theorembodyfont{\itshape}
\theoremseparator{.}
\theorempreskipamount1cm
\theorempreskip{0pt}
\theorempostskip{0pt}
\theoremnumbering{arabic}
\theoremsymbol{}

\newtheorem{theorem}{Theorem}

\begin{document}

\lipsum[1]

\begin{theorem}
\lipsum[1]
\end{theorem}

\lipsum[1]

\end{document}

在此处输入图片描述

答案2

您可以修补\@thm以将\itemindent其设置为相同\parindent,这样每个定理都会受到影响。

\documentclass{article}
\usepackage{lipsum}

\usepackage{ntheorem}
\usepackage{xpatch}

\makeatletter
\xpatchcmd{\@thm}{\trivlist}{\trivlist\itemindent\parindent}{}{}
\makeatother

\theorembodyfont{\itshape}
\theoremseparator{.}
\theorempreskip{0pt}
\theorempostskip{0pt}
\theoremnumbering{arabic}
\theoremsymbol{}

\newtheorem{theorem}{Theorem}

\begin{document}

\lipsum[1][1-4]

\begin{theorem}
\lipsum[2][1-3]
\end{theorem}

\lipsum[3][1-4]

\end{document}

在此处输入图片描述

请注意,该设置\theorempreskipamount不执行任何操作并且已被弃用。

相关内容