我正在使用该enumitem
包并希望得到非常紧凑的列表:
- 左对齐,无边距
- 最小垂直和水平间距
在下面的代码中,这是我尝试实现的
\setlist{align=left,noitemsep,nosep,left=0pt}
不过,我也想使用内联列表,但现在它们有很多水平间距:
为了完整起见,如果没有自定义列表设置,您将获得:
\documentclass{article}
\RequirePackage[inline]{enumitem}
\setlist{align=left,noitemsep,nosep,left=0pt} % to make lists more compact
\begin{document}
\noindent
Inline list:
\begin{enumerate*}
\item test
\item test
\end{enumerate*}
\noindent
Normal list:
\begin{enumerate}
\item test
\item test
\end{enumerate}
\end{document}
从enumitem
文档来看,似乎您无法独立更改带星号版本的设置,而必须使用 定义新列表\newlist
。但是,我无法让它工作。
- 有没有办法制作紧凑列表而不改变内联列表的间距?
- 如果1.无法做到,你如何定义自己的内联列表?
答案1
似乎align=left
影响了内联对应项。即使你专门针对enumerate
内联列表进行设置,仍然会产生副作用
\setlist[enumerate]{align=left,noitemsep,nosep,left=0pt}
一种解决方法是创建具有特定格式的自定义列表
\documentclass{article}
\usepackage[inline]{enumitem}
\usepackage{blindtext}
\newlist{xenumerate}{enumerate}{1}
\setlist[xenumerate]{align=left,nosep,left=0pt,label=\arabic*.}
\begin{document}
\noindent
Inline list:
\begin{enumerate*}
\item test
\item test
\end{enumerate*}
\Blindlist{xenumerate}[10]
\end{document}
答案2
该选项align=left
会导致内联列表占用不必要的空间。但您不需要它来获得您想要的输出。结果是一样的,至少在我的测试中是这样。只需删除该选项,它似乎就可以工作,即使对于不同类型的嵌套列表也是如此:
\documentclass{article}
\usepackage[inline]{enumitem}
\setlist{noitemsep,nosep,left=0pt} % to make lists more compact
\begin{document}
\noindent
Inline list:
\begin{enumerate*}
\item test
\item test
\end{enumerate*}
\noindent
Normal list:
\begin{enumerate}
\item test
\item test
\end{enumerate}
\begin{itemize}
\item An
\begin{description}
\item[test] item
\end{description}
\item item
\end{itemize}
\begin{description}
\item[test] item
\item[second] test
\end{description}
\end{document}}