Here Manfred Sauter asked for appropriate spacing in front of the first label in a list. However, if there is no text in front of the first label, the first label will not be indented at all. How can the line \advance\itemindent-\parindent be changed such that the first label will be indented (as much as the second, third, etc. label) when there is no preceding text?
The problem can be seen here (I changed the example from the referenced question):
\documentclass[twocolumn]{amsart}
\usepackage{enumitem}
\usepackage{etoolbox}
\makeatletter
\newenvironment{proofenum}
{\enumerate[wide]%
\edef\sauter@saveditemindent{\the\itemindent}%
\advance\itemindent-\parindent
\patchcmd{\@item}{\ignorespaces}{\sauter@restoreitemindent\ignorespaces}{}{}}
{\endenumerate}
\newcommand\sauter@restoreitemindent{%
\itemindent=\sauter@saveditemindent
\def\sauter@restoreitemindent{}}
\makeatother
\begin{document}
This looks good:
\begin{proof}
\begin{proofenum}
\item One.
\item Abc
\item[XYZ] Def
\item \label{XXX} Two.\qedhere
\end{proofenum}
\end{proof}
\begin{proof} But we have text here.
\begin{proofenum}
\item It would be nice to have this first line indented automatically, just like Number 2 and 3.
\item Number 2.
\item Number 3. \qedhere
\end{proofenum}
\end{proof}
\end{document}

\documentclass{...}and ending with\end{document}. – cfr Apr 28 '14 at 01:32enumeratein the second case. – Andrew Swann Jul 17 '14 at 11:54