在没有嵌套 itemize 环境的情况下概述证明

在没有嵌套 itemize 环境的情况下概述证明

在编写证明时,我经常发现在实际证明之前概述如何进行证明很有帮助。目前,我按照此 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}

相关内容