对齐嵌套的 2 列表

对齐嵌套的 2 列表

有人能告诉我如何编辑此列表,以便项目符号与“项目”的首字母对齐,并且非项目的“与项目符号对齐”文本也与项目符号对齐?

梅威瑟:

\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} 

在此处输入图片描述

相关内容