防止 itemize 环境插入初始垂直空间

防止 itemize 环境插入初始垂直空间

我正在使用 itemize 和表格,如下所示

\begin{tabularx}{\textwidth}{>{\ttfamily}llX}
 \toprule
 \textbf{\rmfamily Operator} & \textbf{Typen} & \textbf{Regel} \\
 \midrule
 = & Alle Typen &
  \begin{itemize}
   \item This is how we roll
   \item Maybe we can talk?
  \end{itemize} \\
 \bottomrule
\end{tabularx}

但是它总是在列表项前插入垂直空格。我该如何阻止它这样做?

答案1

itemize如果在环境中使用列表,它们的行为会有所不同minipage。具体来说,它们之前不会插入垂直空间。因此,您可以在列表minipage的表格单元格内使用环境itemize。有一个更方便的技巧 - 定义此命令:

\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

现在只需\compress在之前使用\begin{itemize}即可。如果您还加载了包,甚至可以在列定义中使用它array

\usepackage{array}
...
\begin{tabularx}{\textwidth}{>{\ttfamily}ll>{\compress}X}

使用此命令的示例输出:

替代文本

之前的垂直空间itemize消失了。如果你想进一步压缩列表,请查看

  • paralist包,它compactitem为此目的提供了一个环境,或者

  • enumitem该包允许轻松定制列表环境,例如\begin{itemize}[itemsep=0pt],它甚至为列表提供全局配置命令。

但即使如此,\begin{itemize}[itemsep=0pt,topsep=0pt]我还会另外使用\compress

答案2

还可以考虑这样的事情:

\usepackage{enumitem}
....
\begin{itemize}[nosep, leftmargin=5mm]
    \item Satisfy individual's needs for affiliation
    \item Develop individual's sense of identity
    \item Reduce individual's axiety and feelings of insecurity and powerlessness
\end{itemize}

消除nosep所有垂直间距,leftmargin将表格左边框和项目符号之间的水平间距减半

相关内容