Einen Beweis skizzieren, ohne Itemize-Umgebungen zu verschachteln

Einen Beweis skizzieren, ohne Itemize-Umgebungen zu verschachteln

Beim Schreiben von Beweisen finde ich es oft hilfreich, zu skizzieren, wie ich vorgehen werde, bevor ich den Beweis antrete. Derzeit mache ich das wie in diesem MWE gezeigt:

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

Das Ergebnis lautet:

MWE-Ausgabe

So soll das Ergebnis mehr oder weniger aussehen. Allerdings hat dies das Problem, dass zwei meiner vier Listenverschachtelungen „aufgefressen“ werden, was bedeutet, dass ich dies nur zweimal verschachteln kann (für lange, komplizierte Beweise musste ich in der Vergangenheit drei Gliederungen verschachteln, und ich halte es nicht für ausgeschlossen, dass ich eines Tages vier verwenden möchte).

Ich habe versucht, dies mit zu umgehen, tabularaber man kann die enumerateUmgebung nicht in tabular(soweit ich weiß) einfügen, und ich bin mir nicht sicher, wie ich es sonst angehen soll. Irgendwelche Vorschläge?

Bearbeiten: Das Hauptproblem, das ich mit meiner aktuellen „Lösung“ habe, ist, dass der Code meiner Meinung nach unglaublich hässlich ist, zusätzlich zu dem Problem der Verschachtelungsbeschränkungen. Aus diesem Grund hätte ich gerne eine Lösung, die die Verschachtelung von Listen vermeidet, aber wenn das die einzige Problemumgehung ist, werde ich mich sicherlich damit begnügen.

Antwort1

enumitemermöglicht Ihnen die Erstellung aufgezählter Umgebungen mit größerer Tiefe (mindestens bis zu 10, glaube ich):

5 Stufen

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

Antwort2

Wenn Sie einfach nur schöneren Code haben möchten, definieren Sie eine neue Umgebung:

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

verwandte Informationen