
文件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}