Невозможно жестко закодировать левое поле для пользовательского переопределения среды itemize

Невозможно жестко закодировать левое поле для пользовательского переопределения среды itemize

В enumitemдокументах показан следующий рисунок:

введите описание изображения здесь

Я пытаюсь переопределить itemizeсреду так, чтобы я мог перейти на несколько уровней вложенности за пределы уровня по умолчанию. Я хотел бы сделать отступ для каждого нового уровня вложенности на расстоянии, аналогичном предыдущему. Поэтому, основываясь на рисунке выше, я думаю, \leftmarginчто правильная переменная для использования:

\documentclass{article}

\usepackage{enumitem}
\usepackage{pifont, graphicx}

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

\setlistdepth{9}
\setlist[itemize, 1]{label=\oldlabelitemi, leftmargin=25pt}
\setlist[itemize, 2]{label=\oldlabelitemii, leftmargin=30pt}
\setlist[itemize, 3]{label=\oldlabelitemiii, leftmargin=35pt}
\setlist[itemize, 4]{label=\scalebox{0.7}{\ding{117}}, leftmargin=40pt}
\setlist[itemize, 5]{label=\scalebox{0.7}{\ding{110}}, leftmargin=45pt}
\setlist[itemize, 6]{label=\scalebox{0.7}{\ding{115}}, leftmargin=50pt}
\setlist[itemize, 7]{label=\scalebox{0.7}{\ding{108}}, leftmargin=55pt}
\setlist[itemize, 8]{label=\scalebox{0.7}{\ding{53}}, leftmargin=60pt}
\setlist[itemize, 9]{label=\oldlabelitemiv, leftmargin=65pt}

\renewlist{itemize}{itemize}{9}

\begin{document}

\begin{itemize}
\item 1
  \begin{itemize}
  \item 2
    \begin{itemize}
    \item 3
      \begin{itemize}
      \item 4
        \begin{itemize}
        \item 5
          \begin{itemize}
          \item 6
            \begin{itemize}
            \item 7
              \begin{itemize}
              \item 8
                \begin{itemize}
                \item 9
                \end{itemize}
              \end{itemize}
            \end{itemize}
          \end{itemize}
        \end{itemize}
      \end{itemize}
    \end{itemize}
  \end{itemize}
\end{itemize}

\end{document}

Однако когда я компилирую это, левое поле, похоже, увеличивается для каждого нового уровня вложенности:

введите описание изображения здесь

Почему это происходит и как этого избежать?

решение1

Вы можете задать глобальные настройки для всего списка, включая все уровни, а затем использовать звездную версию \setlist*только для изменения отдельных уровней. Например, в коде ниже я изменяю только метки, но вы также можете изменить leftmarginи т. д.

\documentclass{article}
\usepackage{enumitem}
\usepackage{pifont, graphicx}
\usepackage{kantlipsum}

\let\oldlabelitemi\labelitemi
\let\oldlabelitemii\labelitemii
\let\oldlabelitemiii\labelitemiii
\let\oldlabelitemiv\labelitemiv
\setlistdepth{9}
\renewlist{itemize}{itemize}{9}
\setlist[itemize]{
  align=left,
  leftmargin=*,         % or use fixed length like 0.5em etc.
  listparindent=1.5em,  % indentation for subsequent paragraphs 
  label=\scalebox{0.7}{\ding{117}}, % Default label
}
\setlist[itemize, 1]{label=\oldlabelitemi}
\setlist[itemize, 2]{label=\oldlabelitemii}
\setlist[itemize, 3]{label=\oldlabelitemiii}
\setlist[itemize, 9]{label=\oldlabelitemiv}


\begin{document}

\begin{itemize}
\item \kant[2][1]\kant[3][1]
\item \kant[2][1]\kant[3][1]
  \begin{itemize}
  \item \kant[2][1]\kant[3][1]
  \item \kant[2][1]\kant[3][1]
    \begin{itemize}
    \item \kant[2][1]\kant[3][1] 
    \item \kant[2][1]\kant[3][1] 
      \begin{itemize}
      \item \kant[2][1]\kant[3][1]
        \begin{itemize}
        \item \kant[2][1]\kant[3][1]
          \begin{itemize}
          \item \kant[2][1]\kant[3][1]
            \begin{itemize}
            \item \kant[2][1]\kant[3][1]
              \begin{itemize}
              \item \kant[2][1]\kant[3][1]
                \begin{itemize}
                \item \kant[2][1]\kant[3][1]
                \end{itemize}
              \end{itemize}
            \end{itemize}
          \end{itemize}
        \end{itemize}
      \end{itemize}
    \end{itemize}
  \end{itemize}
\end{itemize}

\end{document}

введите описание изображения здесь

Связанный контент