如上所示,项目符号默认与父列表文本的左边缘对齐。但是,我希望 LaTeX 自动识别父列表项目符号的右边缘,并使用该边缘作为嵌套项目列表项目符号的起始参考。我需要这样做,以防止在第二级或第三级嵌套项目环境中出现非常短的行。
这是我的源代码:
\documentclass[]{report}
\usepackage{paralist}
\usepackage{pifont}
\usepackage{bbding}
\newcommand{\bulletnoI}{\ding{55}}
\newcommand{\bulletcircle}{\Large $\bullet$}
\begin{document}
\begin{itemize}[\bulletnoI]
\item Main Level Item 1
\item Main Level Item 2
\item Main Level Item 3
\begin{itemize}[\bulletcircle]
\item Second Level Item 1
\item Second Level Item 2
\item Second Level Item 3
\begin{itemize}[\footnotesize \ding{109}]
\item Third Level Item 1
\item Third Level Item 2
\item Third Level Item 3
\end{itemize}
\end{itemize}
\end{itemize}
\end{document}
答案1
该enumitem
包提供了对水平间距的更精细的控制,您可以为特定列表类型和级别进行全局设置。
\documentclass[]{report}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{bbding}
\newcommand{\bulletnoI}{\ding{55}}
\newcommand{\bulletcircle}{\Large $\bullet$}
\setlist[itemize,2,3]{leftmargin=.5em}
\begin{document}
\begin{itemize}[label=\bulletnoI]
\item Main Level Item 1
\item Main Level Item 2
\item Main Level Item 3
\begin{itemize}[label=\bulletcircle]
\item Second Level Item 1
\item Second Level Item 2
\item Second Level Item 3
\begin{itemize}[label=\footnotesize\ding{109}]
\item Third Level Item 1
\item Third Level Item 2
\item Third Level Item 3
\end{itemize}
\end{itemize}
\end{itemize}
\end{document}