子节样式的枚举列表

子节样式的枚举列表

如何使用像 enumitem 这样的包定义列表环境,以便它重现与以下代码相同的输出,但使用枚举列表的语法:

\documentclass[a4paper,12pt]{article}

\usepackage{lipsum}

\begin{document}

\subsubsection*{Item 1}
\lipsum[1]

\subsubsection*{Item 2}
\lipsum[2]

\subsubsection*{Item 3}
\lipsum[3]

%% The following syntax should produce the same as above.

% \begin{mylist}
%   \item 
%     \lipsum[1]
%   \item 
%     \lipsum[2]
%   \item 
%     \lipsum[3]
% \end{mylist}

\end{document}

期望输出:

在此处输入图片描述

答案1

这是一种可能性

\documentclass[a4paper,12pt]{article}
\usepackage{lipsum}
\usepackage{calc}
\usepackage[inline]{enumitem}
\newlist{mylist}{enumerate}{1}
\setlist[mylist]{
    label=\bfseries Item \arabic*,
    labelwidth=\widthof{last-item},
    leftmargin=!,
    align=left,
    itemindent=1.8cm,
    itemsep=10pt
}

\newcommand{\myitem}{\item~\\[6pt]}
\begin{document}
\subsubsection*{Item 1}
\lipsum[1]

\subsubsection*{Item 2}
\lipsum[2]

\subsubsection*{Item 3}
\lipsum[3]

%% The following syntax should produce the same as above.


 \begin{mylist}
   \myitem
     \lipsum[1]
   \myitem 
     \lipsum[2]
   \myitem 
     \lipsum[3]
 \end{mylist}

\end{document}

在此处输入图片描述

我必须重新定义\item,以便将项目文本发送到新行。

labelwidth=\widthof{last-item},
leftmargin=!,
align=left,

用于设置标签的边距。要自动计算最大标签宽度,calc需要包装。

itemindent=1.8cm,

用于删除项目文本的缩进(这是我无法自动计算的唯一值,但应该修复,所以没什么大不了的)

itemsep=10pt

设置项目之间的垂直空间

\newcommand{\myitem}{\item~\\[6pt]}

将项目文本发送到与标签垂直间距为 6pt 的新行。

答案2

一个非常简单的代码,可以让您使用常用的\item命令:

\documentclass[a4paper,12pt]{article}
\usepackage{lipsum}
\usepackage{enumitem}
\newlist{mylist}{enumerate}{1}

\setlist[mylist]{label=\raisebox{0pt}[4ex][3ex]{\makebox[\textwidth][l]{\bfseries Item \arabic*}}, wide = 0pt}

\begin{document}

 \begin{mylist}
   \item
     \lipsum[1]
   \item
     \lipsum[2]
   \item
     \lipsum[3]
 \end{mylist}

\end{document} 

在此处输入图片描述

相关内容