在不嵌套逐項環境的情況下概述證明

在不嵌套逐項環境的情況下概述證明

在編寫證明時,我經常發現在實際證明之前概述我將如何進行證明很有幫助。目前,我這樣做,如本 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}

給出輸出:

MWE輸出

這或多或少就是我想要的結果。然而,這存在著「吃掉」我的四個清單嵌套中的兩個的問題,這意味著我只能嵌套兩次(對於冗長的、涉及的證明,我過去不得不嵌套三個輪廓,而且我不認為它是不可能有一天我會想要使用四個)。

我試著解決這個問題,tabular但你不能將enumerate環境放入其中tabular(據我所知),而且我不太確定還能如何解決這個問題。有什麼建議麼?

編輯:我目前的「解決方案」的主要問題是,除了嵌套限制的問題之外,我認為程式碼非常醜陋。辦法,我一定會湊合的。

答案1

enumitem允許您創建更深度的枚舉環境(我認為至少最多 10 個):

5個級別

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

答案2

如果您只是想要一些看起來更好看的程式碼,請定義一個新環境:

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

相關內容