如何在列表环境中明确指定标签的缩进和实际项目文本与左边距的距离。我想实现以下目标:
答案1
您的规格不太明确;以下内容可能是您所需要的:
\usepackage{enumitem,lipsum} % in your preamble
\begin{description}[leftmargin=2cm,itemindent=0cm,
labelindent=1cm,labelwidth=\dimexpr1cm-.5em\relax,
labelsep=!,align=left]
\item[X] \lipsum*[4]
\item[First] \lipsum*[2]
\item[Second] \lipsum*[3]
\end{description}
(一如既往,利普萨姆仅用于提供虚拟文本。
如果您希望能够在使用时设置尺寸,您可以定义个人环境,例如
\newenvironment{xdesc}[2]
{\begin{description}[leftmargin=#2,
labelindent=#1,labelwidth=#1,
labelsep=0pt,align=left,style=multiline]}
{\end{description}}
被称为
\begin{xdesc}{1cm}{3cm}
\item[X] \lipsum*[4]
\item[First] \lipsum*[2]
\item[Second and more] \lipsum*[3]
\end{xdesc}
第一个参数在你的符号中是9月1日第二个参数是9 月 2 日。
答案2
如果我可以再次提出 ConTeXt 解决方案:
\definedescription [列表] [ 位置=密集, headstyle=\hskip1cm\bold, % sep1 距离=2cm,%sep2 宽度=0厘米, ] \开始文本 % 仅用于说明 \blackrule [高度=1ex,宽度=2cm] \blackrule [高度=1ex,宽度=1cm] \startlist{第一行} \输入 knuth \停止列表 \startlist{第二} \输入簇 \停止列表 \停止文本
结果如下:
在我的示例中,我误用了头部样式来插入第一个空格。您的约束1cm measured from the beginning of the label
有一个缺点,即所有宽度超过 1cm 的标签都会打印到列表文本中(参见第二个列表的标签)。