我正在使用 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
将表格左边框和项目符号之间的水平间距减半