より深いネストのために itemize 環境を再定義すると、コンパイルがフリーズする

より深いネストのために itemize 環境を再定義すると、コンパイルがフリーズする

を使って標準itemize環境にネストレベルを追加しようとしていますenumitem。アイデア-Hとしては、これを引数に追加して、pandocより深い項目別リストのネストを処理するためこれまでに試したことは次のとおりです。

\documentclass{article}

\usepackage{enumitem}


\setlistdepth{9}
\setlist[itemize, 1]{label=\labelitemi, itemindent=0.25em}
\setlist[itemize, 2]{label=\labelitemii, itemindent=0.25em}
\setlist[itemize, 3]{label=\labelitemiii, itemindent=0.25em}
\setlist[itemize, 4]{label=\diamond, itemindent=0.25em}
\setlist[itemize, 5]{label=\smallblacksquare, itemindent=0.75em}
\setlist[itemize, 6]{label=\smalltriangleup, itemindent=1.25em}
\setlist[itemize, 7]{label=\smallcircle, itemindent=1.75em}
\setlist[itemize, 8]{label=\smallsquare, itemindent=2.25em}
\setlist[itemize, 9]{label=\labelitemiv, itemindent=3em}

\renewlist{itemize}{itemize}{9}

\begin{document}

    \begin{itemize}
        \item test
        \begin{itemize}
            \item test
        \end{itemize}
    \end{itemize}

\end{document}

残念ながら、コンパイルが停止してしまい(./test.aux)、その理由がわかりません。ここで何が間違っているのか、何かアイデアはありますか?

答え1

daleif がすでに指摘しているように、ループが発生しますが、最初に元のラベル項目の定義を保存することでこれを防ぐことができます。

\documentclass{article}

\usepackage{enumitem}

\let\oldlabelitemi\labelitemi
\let\oldlabelitemii\labelitemii
\let\oldlabelitemiii\labelitemiii
\let\oldlabelitemiv\labelitemiv

\setlistdepth{9}
\setlist[itemize, 1]{label=\oldlabelitemi, itemindent=0.25em}
\setlist[itemize, 2]{label=\oldlabelitemii, itemindent=0.25em}
\setlist[itemize, 3]{label=\oldlabelitemiii, itemindent=0.25em}
\setlist[itemize, 4]{label=\diamond, itemindent=0.25em}
\setlist[itemize, 5]{label=\smallblacksquare, itemindent=0.75em}
\setlist[itemize, 6]{label=\smalltriangleup, itemindent=1.25em}
\setlist[itemize, 7]{label=\smallcircle, itemindent=1.75em}
\setlist[itemize, 8]{label=\smallsquare, itemindent=2.25em}
\setlist[itemize, 9]{label=\oldlabelitemiv, itemindent=3em}

\renewlist{itemize}{itemize}{9}

\begin{document}

\begin{itemize}
    \item test
          \begin{itemize}
              \item test
          \end{itemize}
\end{itemize}

\end{document}

関連情報