![对齐嵌套的 2 列表](https://linux22.com/image/358495/%E5%AF%B9%E9%BD%90%E5%B5%8C%E5%A5%97%E7%9A%84%202%20%E5%88%97%E8%A1%A8.png)
有人能告诉我如何编辑此列表,以便项目符号与“项目”的首字母对齐,并且非项目的“与项目符号对齐”文本也与项目符号对齐?
梅威瑟:
\documentclass[12pt, numbers=noenddot]{scrreprt}
\usepackage{etoolbox,refcount,enumitem}
\usepackage{multicol}
\newcommand\NoIndent[1]{%
\par\vbox{\parbox[t]{\linewidth}{#1}}%
}
\begin{document}
\begin{multicols}{2}
\begin{enumerate}[topsep=0pt,itemsep=-1ex,partopsep=1ex,parsep=1ex,leftmargin=*]
\item Item 1
\begin{itemize}
\item Fill Text
\end{itemize}
\item Item 2
\begin{itemize}
\item Fill Text
\end{itemize}
\item Item 3
\begin{itemize}
\item Fill Text
\item Fill Text
\vfill\null
\columnbreak
\end{itemize}
\item Item 4
\begin{itemize}
\item Fill Text
\NoIndent{Aligned with Bullet}
\item Fill Text
\end{itemize}
\item Item 5
\end{enumerate}
\end{multicols}
\end{document}
答案1
这是通过wide=0pt
选项完成的。无论如何,您的文本\NoIndent{...}
没有机会与项目符号对齐,因为它的定义方式是:\linewidth
是列的宽度,而不是列表中的行的宽度。
\documentclass[12pt, numbers=noenddot]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{etoolbox,refcount,enumitem}
\usepackage{multicol}
\newcommand\NoIndent[1]{%
\par\vbox{\parbox[t]{\linewidth}{#1}}%
}
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.3pt}
\begin{document}
\begin{multicols}{2}
\setlist[itemize]{wide =0pt, leftmargin=*, nosep}
\begin{enumerate}[topsep=0pt,itemsep=-1ex,partopsep=1ex,parsep=1ex, leftmargin=*]
\item Item 1
\begin{itemize}
\item Fill Text
\end{itemize}
\item Item 2
\begin{itemize}
\item Fill Text
\end{itemize}
\item Item 3
\begin{itemize}
\item Fill Text
\item Fill Text
\vfill\null
\columnbreak
\end{itemize}
\item Item 4
\begin{itemize}[wide=0pt]
\item Fill Text
Aligned with Bullet. Lalala… Lalala… Lalala… Lalala…
\NoIndent{Not Aligned with Bullet. Sigh!}
\item Fill Text
\end{itemize}
\item Item 5
\end{enumerate}
\end{multicols}
\end{document}