在新的证明环境中根据需要使用新的枚举环境

在新的证明环境中根据需要使用新的枚举环境

首先是MWE,其输出如下:

\documentclass{article}
\setlength{\parskip}{0.3\baselineskip}
\usepackage{lipsum}

\usepackage{amsthm}
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par%
    \normalfont
    \list{}{%
        \setlength{\partopsep}{\parskip}
        \setlength{\topsep}{0pt}
        \setlength{\leftmargin}{3\parindent}
        \setlength{\labelwidth}{\leftmargin}
    }
    \item[\hskip\labelsep\itshape #1\@addpunct{.}\hfill]\ignorespaces
}
{%
    \endlist\@endpefalse
}
\makeatother

\usepackage{enumitem}
\newlist{newenumerate}{enumerate}{1}
\setlist[newenumerate]{itemsep=\parskip,partopsep=\parskip,parsep=0pt,topsep=0pt,
    align=left,
    label={},labelwidth={0pt},labelsep={0pt},labelindent={0pt},
    itemindent=-1\parindent,leftmargin=1\parindent}

\begin{document}

\noindent\rule{3\parindent}{1pt}\vspace*{2\baselineskip}% just to show the width of the indentation


\begin{proof}
\lipsum*[1][1-5]
\begin{newenumerate}
\item \lipsum*[2][1-5]
\item \lipsum*[3][1-5]
\end{newenumerate}
\end{proof}

\vspace*{2\baselineskip}
\begin{newenumerate}
\item \lipsum*[2][1-5]
\item \lipsum*[3][1-5]
\end{newenumerate}

\end{document}

在此处输入图片描述

如你所见,我定义了一个proof类似于答案。我还定义了一个newenumerate环境,得到了和证明外类似的结果。但是当我把 放入newenumerate新的proof环境中时,没有第一行的行的缩进和证明外的结果不一样。下面的图片进一步展示了我想要的结果。

在此处输入图片描述

那么有什么办法可以解决这个问题吗?谢谢。

答案1

\parindent我通过定义一个与定义时具有相同值的新长度来解决问题newenumerate。虽然我不知道这为什么有效。(它可能与\newenvironment或的定义有关\renewenvironment?)

\documentclass{article}
\setlength{\parskip}{0.3\baselineskip}
\usepackage{lipsum}

\usepackage{amsthm}
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par%
    \normalfont
    \list{}{%
        \setlength{\partopsep}{\parskip}
        \setlength{\topsep}{0pt}
        \setlength{\leftmargin}{3\parindent}
        \setlength{\labelwidth}{\leftmargin}
    }
    \item[\hskip\labelsep\itshape #1\@addpunct{.}\hfill]\ignorespaces
}
{%
    \endlist\@endpefalse
}
\makeatother

\usepackage{enumitem}
\newlist{newenumerate}{enumerate}{1}
\newlength{\indentpar}
\setlength{\indentpar}{\parindent}
\setlist[newenumerate]{itemsep=\parskip,partopsep=\parskip,parsep=0pt,topsep=0pt,
    align=left,
    label={},labelwidth={0pt},labelsep={0pt},labelindent={0pt},
    itemindent=-\indentpar,leftmargin=\indentpar}

\begin{document}


\begin{proof}
\begin{newenumerate}
\item \lipsum*[2][1-5]
\item \lipsum*[3][1-5]
\end{newenumerate}
\end{proof}

\end{document}

在此处输入图片描述

相关内容