就像 OP 中的在定理环境中是否可以跳过第一行?,我希望能够在“证明”一词后跳过一行,这样证明的第一行实际上是其自身段落的一部分。无论出于何种原因,\leavevmode
引用问题的答案中建议的命令并不总是有效;它似乎只有在证明主体由枚举组成时才有效。我只是使用amsthm
包使用默认设置。是否有一个命令可以在证明开始时发出,允许我跳过一行?当然,像 OP 一样,我尝试了\\
各种方法,但只得到了令人讨厌的“这里没有行可以结束”错误。
答案1
如果要将其应用于proof
文档中的所有环境,则可以在写完证明名称后重新定义proof
要添加的环境;这里有这样的重新定义(在 之前需要):\\*
\mbox{}
\\*
\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}% just to generate text for the example
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item[\hskip\labelsep
\itshape
#1\@addpunct{.}]\mbox{}\\*
}{%
\popQED\endtrivlist\@endpefalse
}
\makeatother
\begin{document}
\begin{proof}
\lipsum*[1]
\end{proof}
\end{document}
答案2
使用 \hfill:
\begin{lemma}
balbla
\begin{proof}
\hfill
\begin{enumerate}
\item one
\item two
\end{enumerate}
\end{proof}
\end{lemma}
答案3
您不需要重新定义环境,而是可以在保留旧环境不变的proof
基础上定义自己的环境,只需要一行代码:proof
proof
\newenvironment{myproof}[1][\proofname]{\proof[#1]\mbox{}\\*}{\endproof}
proof
使用新名称也清楚地表明这是一个不同的证明环境。此外,如果您不喜欢换行符,您仍然可以使用原始名称,例如,如果证明由一个短方程或引用组成。
完整示例:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{amsthm}
\newenvironment{myproof}[1][\proofname]{\proof[#1]\mbox{}\\*}{\endproof}
\begin{document}
\begin{myproof}
\blindtext
\end{myproof}
\begin{myproof}[Proof sketch]
\blindtext
\end{myproof}
\end{document}
答案4
\ \\
像\begin{proof}
这样使用: \begin{proof}\ \\
。
对于我来说,这个解决方案和包配合得很好amsthm
。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{amsthm}
\begin{document}
\begin{proof}\ \\
\blindtext
\end{proof}
\begin{proof}[Proof sketch]\ \\
\blindtext
\end{proof}
\end{document}
你会得到类似这样的信息:
另外,如果您希望新段落缩进,可以使用命令来启动它\indent
。代码如下。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{amsthm}
\begin{document}
\begin{proof}\ \\
\indent\blindtext
\end{proof}
\begin{proof}[Proof sketch]\ \\
\indent\blindtext
\end{proof}
\end{document}
在这种情况下,你会得到类似这样的信息:
PS.我从 Stefan Kottwitz 的答案中借用了代码。