环境中的水平间距

环境中的水平间距

我似乎不明白环境中的间距是如何工作的:看看

\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}

在此处输入图片描述

相关内容