![在不嵌套逐項環境的情況下概述證明](https://rvso.com/image/305741/%E5%9C%A8%E4%B8%8D%E5%B5%8C%E5%A5%97%E9%80%90%E9%A0%85%E7%92%B0%E5%A2%83%E7%9A%84%E6%83%85%E6%B3%81%E4%B8%8B%E6%A6%82%E8%BF%B0%E8%AD%89%E6%98%8E.png)
在編寫證明時,我經常發現在實際證明之前概述我將如何進行證明很有幫助。目前,我這樣做,如本 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}
給出輸出:
這或多或少就是我想要的結果。然而,這存在著「吃掉」我的四個清單嵌套中的兩個的問題,這意味著我只能嵌套兩次(對於冗長的、涉及的證明,我過去不得不嵌套三個輪廓,而且我不認為它是不可能有一天我會想要使用四個)。
我試著解決這個問題,tabular
但你不能將enumerate
環境放入其中tabular
(據我所知),而且我不太確定還能如何解決這個問題。有什麼建議麼?
編輯:我目前的「解決方案」的主要問題是,除了嵌套限制的問題之外,我認為程式碼非常醜陋。辦法,我一定會湊合的。
答案1
enumitem
允許您創建更深度的枚舉環境(我認為至少最多 10 個):
\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}