首先是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}