如何使用枚举环境对齐多个列表?

如何使用枚举环境对齐多个列表?

我想对齐这些列表的左边距。这是我得到的结果:

这就是我要的:

梅威瑟:

\documentclass{article}

\usepackage{enumitem}

\begin{document}
 \quad \newline
 This is a list of items:
 \begin{enumerate}[labelindent=1.5em, labelsep=3.8mm, leftmargin=*, label=SV\arabic*]
  \item First item
  \item Second item
  \item Third item
 \end{enumerate}
 This is another list of items:
 \begin{enumerate}[labelindent=1.5em, labelsep=3.8mm, leftmargin=*, label=N\arabic*]
  \item First item
  \item Second item
 \end{enumerate}
 One more list of items:
 \begin{enumerate}[labelindent=1.5em, labelsep=3.8mm, leftmargin=*, label=(\roman*)]
  \item First item
  \item Second item
  \item Third item
 \end{enumerate}
\end{document}

答案1

如果您使用leftmargin并将其设置为特定值而不是*,则将labelindent无关紧要。要将不同列表的文本对齐在一起,请使用leftmargin=<value>

如果要获取列表的全局设置,请使用\setlist[enumerate,1]{<specs you want>}。对于leftmargin,将其设置为\widthof{\hspace{\parindent}SV}。这将帮助您获得更美观的结果,因为列表不会超出文档中的正常边距。这里,\widthof接受一个参数并计算其宽度,通过将参数设置为,hspace{\parindent}SV我们将自动添加正常段落缩进 + 文本的宽度SV(属于上面显示的工作中最大的项目标签)。

\documentclass{article}

\usepackage{calc}
\usepackage{enumitem}

\newlength{\enuleftmarginl}
\setlength{\enuleftmarginl}{\widthof{\hspace{\parindent}SV}}
\setlist[enumerate,1]{labelsep=3.8mm, leftmargin=\enuleftmarginl, label=\arabic*.}


\begin{document}
\quad \newline
This is a list of items:
    \begin{enumerate}[label=SV\arabic*]
        \item First item
        \item Second item
        \item Third item
    \end{enumerate}
This is another list of items:
    \begin{enumerate}[label=N\arabic*]
        \item First item
        \item Second item
    \end{enumerate}
One more list of items:
    \begin{enumerate}[label=(\roman*)]
        \item First item
        \item Second item
        \item Third item
    \end{enumerate}
\end{document}

在下面的结果中查看列表标签如何与文本几乎对齐以及所有列表的条目如何对齐在一起。

在此处输入图片描述

如果你想获得第二个列表更精确的标签对齐,请使用[leftmargin=\widthof{\hspace{\parindent}N}, label=N\arabic*]其环境的可选参数enumerate,这将为你提供

在此处输入图片描述

答案2

你很接近了,但只是没有设定leftmargin

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\quad \newline
 This is a list of items:
 \begin{enumerate}[labelindent=1.5em, labelsep=3.8mm, leftmargin=15mm, label=SV\arabic*]
  \item First item
  \item Second item
  \item Third item
 \end{enumerate}
 This is another list of items:
 \begin{enumerate}[labelindent=1.5em, labelsep=3.8mm, leftmargin=15mm, label=N\arabic*]
  \item First item
  \item Second item
 \end{enumerate}
 One more list of items:
 \begin{enumerate}[labelindent=1.5em, labelsep=3.8mm, leftmargin=15mm, label=(\roman*)]
  \item First item
  \item Second item
  \item Third item
 \end{enumerate}

\end{document}

相关内容