
문서 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}