我想使用 parskip 来避免缩进,同时在段落之间留出一些空间。但是,我只想在校样之间的文本中使用此功能(例如介绍等)。在校样中,我希望没有 parskip。
我正在使用 ntheorem.sty 并使用以下设置进行证明:
\theoremstyle{nonumberplain}
\theoremheaderfont{\itshape}
\theorembodyfont{\normalfont}
\theoremseparator{.} % e.g. Proof.
\theorempreskip{\topsep}
\theorempostskip{\topsep} %\topsep refers to the space that LATEX inserts above and below lists
\theoremindent0cm
\theoremsymbol{\ensuremath\square} % at the end of the Theorem
\qedsymbol{$\Box$}
\newtheorem{proof}{Proof}
提前非常感谢您!
答案1
可能是这样的:
\documentclass{article}
\newlength\normalparindent
\setlength\normalparindent{\parindent}
\usepackage{parskip,kantlipsum,ntheorem,etoolbox}
\newlength\normalparskip
\setlength\normalparskip{\parskip}
\theoremstyle{nonumberplain}
\theoremheaderfont{\itshape}
\theorembodyfont{\normalfont}
\theoremseparator{.}
\theorempreskip{\normalparskip}
\theorempostskip{\topsep}
\theoremindent0cm
\theoremsymbol{\ensuremath\square}
\qedsymbol{$\Box$}
\newtheorem{proof}{Proof}
\pretocmd{\proof}{\setlength\parindent{\normalparindent}\setlength\parskip{0pt}}{\typeout{Patched proof OK.}}{\typeout{Patching proof failed.}}
\begin{document}
\kant[1-2]
\begin{proof}
\kant[3-4]
\end{proof}
\kant[5-6]
\end{document}
编辑
针对您删除的答案(实际上是一条评论),首先请注意,我上面的初始答案基本上是浪费时间。这是我的错:我不应该回答没有代码的问题。本质上,您的后续问题是一个完全不同的问题,因为它是关于 KOMA Script 的。
这就是为什么(几乎绝对)所有问题都应该包含可用于重现问题的最小文档的代码。
无论如何,我真的不认为这对 KOMA 类来说是完全明智的。特别是,为了获得良好的结果,您需要设置parskip
为full
。否则,页面底部不会齐平。(我不确定是否full
足以确保这一点,但希望它能够并且肯定会有所帮助。)在我看来,这看起来很愚蠢,因为跳过太大。但另一个选项,half
会导致页面底部参差不齐,看起来更糟。特别是,我认为,对于 KOMA 类来说,它看起来更糟,因为 KOMA 会尽力避免这种情况。
无论如何,在这种情况下,如果必须的话,您可以使用类似下面的方法。
\documentclass[parskip=full]{scrartcl}
\usepackage{kantlipsum,ntheorem,etoolbox}
\theoremstyle{nonumberplain}
\theoremheaderfont{\itshape}
\theorembodyfont{\normalfont}
\theoremseparator{.}
\theoremsymbol{\ensuremath\square}
\qedsymbol{$\Box$}
\newtheorem{proof}{Proof}
\pretocmd{\proof}{\KOMAoptions{parskip=false}}{\typeout{Patched proof OK.}}{\typeout{Patching proof failed.}}
\begin{document}
\kant[1-2]
\begin{proof}
\kant[3-4]
\end{proof}
\kant[5-10]
\end{document}