Removing space in table with itemize environment
Use a dedicated column type for this (originally posted by Donald Arseneau on c.t.t.)
\documentclass{article}
\usepackage{array,booktabs}
%---- Itemized columns
\makeatletter
\newcolumntype{i}[1]{%
>{\minipage[t]{\linewidth}\let\\\tabularnewline
\itemize
\addtolength{\rightskip}{0pt plus 50pt}% for raggedright
\setlength{\itemsep}{-\parsep}}%
p{#1}%
<{\@finalstrut\@arstrutbox\enditemize\endminipage}}
\makeatother
\begin{document}
\begin{tabular}{l|i{0.6\textwidth}}
\toprule
\textbf{SB Solution Component} & \multicolumn{1}{p{0.6\textwidth}}{\textbf{BB Data Satisfied}} \\
\midrule
\textbf{Registration Module} & \item Capability List
\item Representation List \\
\midrule
\textbf{Sensing Data Module} & \item Ready Signal \\
\midrule
\textbf{Contexts Module} & \item Control List
\item Contexts \\
\bottomrule
\end{tabular}
\end{document}
This seems to be related to the way that paragraph boxes work in columns of the tabular
environment. I don't understand if it's a bug or a feature; someone with a better understanding of tabular
should see it.
For a less hacky solution than @Adam's, I suggest that you use a minipage
instead of a p
column in tabular
. Define:
\newcommand{\fu}[1]{%
\begin{minipage}[t]{0.6\textwidth}%
\begin{itemize}[nosep]%
#1%
\end{itemize}%
\end{minipage}}
Then, change your tabular to:
\begin{tabular}{l|l}
(I don't believe your [htbp]
there was necessary.)