All the tricks to remove vertical space before and after itemize lists (using enumitem) seem to work well in table/tabular
environments, but not in longtable
. The following MWE illustrates the difficulty I'm having to get the First bullet at the same level as the Left item.
\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}
Here, even the \compress
command fails to remove the space in longtable
. Note that I need longtable
, as some of my lists will be quite long and will need to be split. (Also, I'm not sure why I need to specify a fixed width for the second column ({lp{4cm}}
) instead of {ll}
.)
Many thanks in advance.
Best Answer
It could be better, but that's how it is, sorry.
To answer your second question an
l
entry is like\mbox
so horizontal mode (LR mode in the LaTeX Book) so does not allow line breaking or display environments like lists.