Ich möchte eine eindeutige Liste erstellen, in der ich zwei verschiedene Aufzählungen habe, eine Aufzählung für jede Demonstration und die andere für die Definitionen. So etwas wie:
1) Def. von Pippo
2) Definition von Pluto
[1] Beweise, dass Pluto der Hund von Pippo ist
3) Def. von Topolino
[2] Beweise, dass Topolino und Pippo Freunde sind
Die Idee des Codes wäre etwa:
\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}
Antwort1
Wenn Sie das Enumitem-Paket* vermeiden möchten, kann dies alternativ hilfreich sein.
Ich weiß nicht, ob Sie Einrückungen wollten – in diesem Fall könnten Sie immer etwas Leerzeichen in die Definition einfügen.
\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.
*Mir ist klar, dass es hier allen gefällt, und das ist auch in Ordnung, aber es ist eines der ersten Pakete, das entfernt werden muss, wenn es in unsere Produktionsbearbeitungswarteschlange gelangt, weil es mit unserem Setup nicht vereinbar ist.
Antwort2
So etwas sollte das tun, was Sie wollen. Mit dem enumitem
Paket können Sie ganz einfach benutzerdefinierte Listen erstellen und Listen angeben, die fortgesetzt werden sollen. Da sich die fortgesetzte Liste im aktuellen Kontext innerhalb der Definitionsliste befindet, ist ihr Zähler lokal für diese Liste. Informationen enumitem
zu Abstandsparametern usw. finden Sie in der Dokumentation (oder bei anderen Fragen auf der Site).
\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}