无法删除 longtable 中列表前后的垂直空格

无法删除 longtable 中列表前后的垂直空格

所有用于删除项目列表前后垂直空间的技巧(使用 enumitem)似乎在table/tabular环境中效果很好,但在 中却不行longtable。以下 MWE 说明了我在将第一个项目符号置于与左侧项目相同的级别时遇到的困难。

\documentclass[letterpaper,12pt]{book}

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

\usepackage{enumitem}
\usepackage{longtable}

\begin{document}

\begin{table}
\begin{center}
\begin{tabular}{lp{4cm}}
Header1  &  Header2  \\
Left item  &  
\compress\begin{itemize}[leftmargin=1em,noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt]
 \item First bullet
 \item Second bullet
 \item Third bullet
\end{itemize}  \\
\end{tabular}
\end{center}
\end{table}

\begin{longtable}[htbp]{lp{12.25cm}}
Header1  &  Header2  \\
Left item  &   
\compress\begin{itemize}[leftmargin=1em,noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt]
 \item First bullet
 \item Second bullet
 \item Third bullet
\end{itemize}  \\
\end{longtable}

\end{document}

这里,即使\compress命令也无法删除 中的空格longtable。请注意,我需要longtable,因为我的一些列表会很长,需要拆分。(此外,我不确定为什么我需要为第二列指定固定宽度({lp{4cm}})而不是{ll}。)

提前谢谢了。

答案1

Left item  &
\noindent\par
\vspace{-\baselineskip}
\compress\begin{itemize}

本来可以更好,但是事实就是这样,抱歉。

回答你的第二个问题,l条目就像\mbox水平模式(LaTeX Book 中的 LR 模式),因此不允许换行或显示列表之类的环境。

相关内容