Redefinir o ambiente de itemize para um aninhamento mais profundo faz com que a compilação congele

Redefinir o ambiente de itemize para um aninhamento mais profundo faz com que a compilação congele

Estou tentando adicionar alguns níveis de aninhamento ao itemizeambiente padrão usando enumitem. A idéia é adicionar isso ao -Hargumento para permitirpandocpara lidar com aninhamentos mais detalhados de listas. Aqui está o que tentei até agora:

\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}

Infelizmente a compilação trava (./test.aux)e não sei por quê. Alguma idéia do que estou fazendo de errado aqui?

Responder1

Como daleif já apontou, você entra em um loop, que pode ser evitado salvando primeiro as definições originais do item do rótulo:

\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}

informação relacionada