同じリスト内の異なる列挙

同じリスト内の異なる列挙

2 つの異なる列挙 (デモンストレーションごとに 1 つの列挙、定義ごとに 1 つ) を持つ一意のリストを作成したいと思います。次のようになります。

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.

ここに画像の説明を入力してください

*ここにいる全員がこれを気に入っていることはわかっています。それは当然のことですが、これは私たちの設定と衝突するため、制作編集キューに入ると最初に削除しなければならないパッケージの 1 つです。

答え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}

コードの出力

関連情報