无法理解 enumitem 的间距参数

无法理解 enumitem 的间距参数

也许是我严重缺乏睡眠,但我无法理解enumitem水平间距参数。

我想要的是一个描述环境,其中每个项目的第一行(项目标题所在的位置)与周围文本的左边距对齐,并且其下方的所有行都按“正常”量缩进。

例如:

Some test

**Some Item** item description
   continues here on indented line

**Another Item** item description
   continues here on indented line

谁能告诉我如何使用5-10个间距enumitem参数(labelmargin,,,,,...)获得这个结果?itemindentlabelseplabelwidthlabelindent

梅威瑟:

\documentclass{article}

\usepackage{parskip} %to disable paragraph indentation but still keep paragraphs separated (with \parskip)
\setlength{\parskip}{2.75ex plus 0.5ex minus 0.2ex}

\usepackage{enumitem}

\usepackage{lipsum}  

\begin{document}

\lipsum[1]
\begin{description}%[WHAT SHOULD I PUT HERE?]
\item Some Item: item description
   continues here on indented line
   when the description is long

\item Another Item: item description
   continues here on indented line
   when the description is long
\end{description}
\end{document}

使用此代码,“项目标题”稍微缩进,这是我不想要的。

答案1

也许对正在发生的事情进行一些解释会有所帮助。showframe用于突出显示文本块边界,而lipsum提供虚拟文本,乱数风格。

考虑以下 MWE:

在此处输入图片描述

\documentclass{article}
\usepackage{showframe}% http://ctan.org/pkg/showframe
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{lipsum}  % http://ctan.org/pkg/lipsum
\begin{document}
\lipsum[1]
\begin{description}
\item Some Item: item description
   continues here on indented line
   when the description is long

\item Another Item: item description
   continues here on indented line
   when the description is long
\end{description}
\end{document}

您会注意到左边距和第一个标题之间的间隙。这是因为\itemdescription环境中实际上排版了一个标签“标题”大胆的。这<heading>是由 的可选参数给出的\item[<heading>]。如果您指定没有什么(无可选参数),常规的在“标题”和“项目主体”(或长度\labelsep)之间插入间隙。要删除它,您可以使用

在此处输入图片描述

% similar to the above MWE
\begin{description}
\item \hskip-\labelsep Some Item: item description
   continues here on indented line
   when the description is long

\item Another Item: item description
   continues here on indented line
   when the description is long
\end{description}
% similar to the above MWE

但是,这违背了逐项列表的目的(这description是事实),因为没有“项目”或“标题”。另一种获得所需格式的方法是使用enumitem并格式化itemize环境没有任何标签:

在此处输入图片描述

% similar to the above MWE
\begin{itemize}[label=,itemindent=-2.5em,leftmargin=2.5em]
\item Some Item: item description
   continues here on indented line
   when the description is long

\item Another Item: item description
   continues here on indented line
   when the description is long
\end{itemize}
% similar to the above MWE

这将使整个itemize环境缩进2.5em(由 给出leftmargin),仅“取消缩进” itemindent(第一行缩进)相同的量,并且不排版标签(label=)。

但是,如果您的主要目的是从项目标题本身中删除排版,那么可以使用enumitem列表的预期结构来格式化它:

在此处输入图片描述

% similar to the above MWE
\begin{description}[format=\normalfont]
\item[Some Item:] item description
   continues here on indented line
   when the description is long

\item[Another Item:] item description
   continues here on indented line
   when the description is long
\end{description}
% similar to the above MWE

答案2

我似乎无需调整就能得到你描述的行为任何参数:

在此处输入图片描述

笔记:

  • [showframe]选项与包一起使用geometry来查看框架。
  • lipsum包用于提供虚拟文本。

代码:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{enumitem}
\usepackage{lipsum}

\begin{document}
\begin{description}
\item [Lipsum 1] \lipsum[1]

\item [Lipsum 2] \lipsum[2]
\end{description}
\end{document}

相关内容