我似乎不明白环境中的间距是如何工作的:看看
\documentclass{article}
\usepackage{amsthm}
\newenvironment{myproof}{\par\noindent\textit{Proof.}}{\qed}
\newenvironment{myproof2}[1][Proof]{\par\noindent\textit{#1.} }{\qed}
\newenvironment{myproof3}[1][Proof]{\par\noindent\textit{#1.}}{\qed}
\begin{document}
\begin{proof}
I
\end{proof}
\begin{myproof}
I
\end{myproof}
\begin{myproof2}
I
\end{myproof2}
\begin{myproof3}
I
\end{myproof3}
\end{document}
导致
为什么如果我不使用选项,则不必手动包含空格,但如果我包含可选参数功能,则必须使用空格?
为什么我的空间比 的小amsthm
?我希望它们和原始证明环境中的空间一样。
答案1
告诉 LaTeX 忽略后续空格:
\documentclass{article}
\usepackage{amsthm}
\usepackage[nopar]{lipsum}
\newcommand{\closedbox}{%
\makebox[0.77778em]{\rule{0.675em}{0.675em}}%
}
\newenvironment{innerproof}[1][Proof]
{\par\addvspace{\smallskipamount}%
\renewcommand{\qedsymbol}{\closedbox}%
\noindent\textit{#1.}\hspace{\labelsep}\ignorespaces}
{\qed\par\addvspace{\smallskipamount}}
\begin{document}
\openbox\closedbox
\begin{proof}
\lipsum[4]
\begin{innerproof}
\lipsum[5]
\end{innerproof}
\lipsum[6]
\begin{innerproof}[Proof of claim]
\lipsum[5]
\end{innerproof}
\lipsum[6]
\end{proof}
\end{document}