内联列表中的水平间距

内联列表中的水平间距

我正在使用该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. 有没有办法制作紧凑列表而不改变内联列表的间距?
  2. 如果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}}

相关内容