Я хочу создать уникальный список, в котором у меня будет два разных перечисления, одно перечисление для каждой Демонстрации, а другое для Определений. Что-то вроде:
1) Определение Пиппо
2) Определение Плутона
[1] Докажите, что Плутон — собака Пиппо.
3) Оборона Тополино
[2] Докажите, что Тополино и Пиппо — друзья.
Идея кода будет примерно такой:
\begin{enumerate}
\item_def Def. of Pippo
\item_def Def. of Pluto
\item_proof Prove that Pluto is the dog of Pippo
\item_def Def. of Topolino
\item_proof Prove that Topolino and Pippo are friends
\end{enumerate}
решение1
В качестве альтернативы, если вы хотите избежать пакета enumitem*, это может оказаться полезным.
Не знаю, нужны ли вам отступы — если да, то вы всегда можете добавить немного пробелов в определение.
\newcounter{enumcounter} % Used to reset counters - if you've only two new itemtypes,
% probably as easy to reset them explicitly, but for more this
% is more efficient
\newcounter{defcount}[enumcounter] % Counts your definition items, resets every time enumcounter increments
\newcounter{proofcount}[enumcounter]
\newenvironment{myenumerate}{\begin{description}\stepcounter{enumcounter}}{\end{description}}
% defined a new environment, which uses description instead of enumerate or itemize, to avoid the pre-existing
% counters. The spacing is not identical, granted.
\newcommand*{\itemdef}{\item\addtocounter{defcount}{1}(\thedefcount) } % increments the counter, describes item look
\newcommand*{\itemproof}{\item\addtocounter{proofcount}{1}[\theproofcount] }
\begin{document}
Here is an example:
\begin{myenumerate}
\itemdef Def. of Pippo
\itemdef Def. of Pluto
\itemproof Prove that Pluto is the dog of Pippo
\itemdef Def. of Topolino
\itemproof Prove that Topolino and Pippo are friends
\end{myenumerate}
And another list of things to check that counters reset:
\begin{myenumerate}
\itemproof Blah
\itemdef Bleep
\itemproof Bloop
\end{myenumerate}
And another line to check that vertical spacing is fine.
*Я понимаю, что всем здесь он нравится, и это справедливо, но это один из первых пакетов, который приходится удалять, когда он попадает в очередь на монтаж из-за конфликтов с нашей настройкой.
решение2
Что-то вроде этого должно сделать то, что вам нужно. Пакет enumitem
позволяет вам легко создавать пользовательские списки, и списки могут быть указаны для возобновления. В текущем контексте, поскольку возобновленный список находится внутри списка определений, его счетчик будет локальным для этого списка. Обратитесь к enumitem
документации (или другим вопросам на сайте) для параметров интервала и т. д.
\documentclass{article}
\usepackage{enumitem}
\newlist{defn}{enumerate}{1}
\newlist{demo}{enumerate}{1}
\setlist[defn]{label={\arabic*)}}
\setlist[demo]{label={[\arabic*]},resume}
\begin{document}
\begin{defn}
\item Def. of Pippo
\item Def. of Pluto
\begin{demo}
\item Prove that Pluto is the dog of Pippo
\end{demo}
\item Def. of Topolino
\begin{demo}
\item Prove that Topolino and Pippo are friends
\end{demo}
\end{defn}
\end{document}