![Составление доказательства без вложенных элементов окружения](https://rvso.com/image/305741/%D0%A1%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%B0%20%D0%B1%D0%B5%D0%B7%20%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D1%85%20%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2%20%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F.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}