我有以下 MWE:
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\newenvironment{tight_enumerate}{
\begin{enumerate}
\setlength{\itemindent}{-1.5em}
\setlength{\itemsep}{1pt}
\setlength{\parskip}{0pt}
}{\end{enumerate}}
\subsubsection*{Minimum Working Example}
\begin{tight_enumerate}
\item \lipsum[1]
\item \lipsum[2]
\item \lipsum[3]
\end{tight_enumerate}
\end{document}
这给了我以下信息:
如您所见,我尝试缩进(将每个项目向左移动)。但是,只有项目的第一行缩进,而其余行保持不变。我想知道如何将项目中的整个块向左移动。
感谢您的帮助。
答案1
处理 LaTeX 列表式环境的内部结构,说得客气一点,可能是一种令人困惑的体验。因此,与其继续直接摆弄环境的低级参数list
,我建议您使用枚举项打包并使用其left=0pt
和noitemsep
选项。
如果只需要一个枚举列表的“查看”,则可以将这些选项作为可选参数提供给\begin{enumerate}
。如果需要多次,您可以使用enumitem
包的机制(特别是它的\newlist
和\setlist
宏)创建一个新的、定制的枚举类环境,自动执行这些选项。以下 MWE 探讨了这两种可能性。
\documentclass{article}
\usepackage{lipsum} % filler text
\usepackage{showframe} % draw rectangle around textblock
\usepackage{enumitem} % for \newlist and \setlist macros
\newlist{tightenum}{enumerate}{1}
\setlist[tightenum]{label=\arabic*., left=0pt, noitemsep}
\begin{document}
\begin{enumerate}[left=0pt, noitemsep]
\item \lipsum[2]
\item \lipsum[2]
\end{enumerate}
\hrule % draw a full-width horizontal line
\begin{tightenum}
\item \lipsum[2]
\item \lipsum[2]
\end{tightenum}
\end{document}