Delineando uma prova sem aninhar ambientes de itens

Delineando uma prova sem aninhar ambientes de itens

Ao escrever provas, frequentemente acho útil delinear como farei a prova antes de realmente prová-la. Atualmente, faço isso conforme mostrado neste MWE:

\documentclass{article}
\usepackage[shortlabels]{enumitem}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}
    Every square is a rectangle, but not all rectangles are squares.
\end{theorem}
\begin{proof}
\hfill
\begin{enumerate}[{We prove:}]
\item
\begin{enumerate}
\item
    all squares are rectangles and
\item
    not all rectangles are squares.
\end{enumerate}
\end{enumerate}
Proof here.
\end{proof}
\end{document}

O que dá a saída:

Saída MWE

Que é mais ou menos como quero que seja o resultado. No entanto, isso tem o problema de "comer" dois dos meus quatro aninhamentos de lista, o que significa que só posso aninhar isso duas vezes (por provas longas e complicadas, tive que aninhar três contornos no passado e não vejo isso como está fora de questão que um dia desejarei usar quatro).

Eu tentei contornar isso, tabularmas você não pode colocar o enumerateambiente dentro dele tabular(que eu saiba), e não tenho certeza de como fazer isso. Alguma sugestão?

Editar: o principal problema que tenho com minha "solução" atual é que o código é incrivelmente feio na minha opinião, além do problema de limitações de aninhamento. Por esse motivo, gostaria de uma solução que evitasse o aninhamento de listas, embora se essa é a única solução alternativa, certamente farei isso.

Responder1

enumitempermite criar ambientes enumerados com maior profundidade (até 10 pelo menos, eu acho):

5 níveis

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\newlist{myenum}{enumerate}{5}
\setlist[myenum]{label=\arabic*}
\begin{document}
  \begin{myenum}
    \item level 1
    \begin{myenum}
      \item level 2
      \begin{myenum}
        \item level 3
        \begin{myenum}
          \item level 4
          \begin{myenum}
            \item level 5
          \end{myenum}
        \end{myenum}
      \end{myenum}
    \end{myenum}
  \end{myenum}
\end{document}

Responder2

Se você deseja apenas um código mais bonito, defina um novo ambiente:

\documentclass{article}
\usepackage[shortlabels]{enumitem}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\newenvironment{proofoutline}[1]
{\begin{enumerate}[{#1}]\item\begin{enumerate}}
{\end{enumerate}\end{enumerate}\par\noindent}

\begin{document}
\begin{theorem}
  Every square is a rectangle, but not all rectangles are squares.
\end{theorem}
\begin{proof}
  \hfill
    \begin{proofoutline}{We prove:}  
      \item
        all squares are rectangles and
      \item
        not all rectangles are squares.
    \end{proofoutline}
  Proof goes here
  \end{proof}
\end{document}

informação relacionada