\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage{booktabs}
\usepackage[alwaysadjust]{paralist}
\makeatletter
\newcommand\novspace{\@minipagetrue}
\makeatother
\begin{document}
Das erste Beispiel ist falsch.
Das zweite Beispiel hat immer noch unten sinnfreien Abstand.
Das dritte Beispiel ist genau so, wie ich es haben möchte. Aber geht das
nicht einfacher als mit einer Minipage? Das passt vor allem ja nicht zum
Spaltentyp »X«.
\section{ohne alles}
\begin{tabular}{p{.3\textwidth}}\toprule
\begin{compactitem}
\item Das ist ein erster sinnloser Text.
\item Das ist ein zweiter sinnfreier Text.
\end{compactitem}\\\bottomrule
\end{tabular}
\section{mit novspace}
\begin{tabular}{p{.3\textwidth}}\toprule
\novspace
\begin{compactitem}
\item Das ist ein erster sinnloser Text.
\item Das ist ein zweiter sinnfreier Text.
\end{compactitem}\\\bottomrule
\end{tabular}
\section{mit Minipage}
\begin{tabular}{p{.3\textwidth}}\toprule
\begin{minipage}{.3\textwidth}
\begin{compactitem}
\item Das ist ein erster sinnloser Text.
\item Das ist ein zweiter sinnfreier Text.
\end{compactitem}
\end{minipage}\\
\bottomrule
\end{tabular}
\end{document}
> Das dritte Beispiel ist genau so, wie ich es haben möchte. Aber geht das
> nicht einfacher als mit einer Minipage?
\documentclass[parskip=full]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage{booktabs}
\usepackage[alwaysadjust]{paralist}
\newenvironment{tabitemize}{%
\setdefaultleftmargin{1em}{1em}{1em}{1em}{1em}{1em}%
\vspace{-\topsep}%
\compactitem
}{
\vspace*{-\ht\strutbox}%
\endcompactitem
}
\begin{document}
\begin{tabular}{p{.3\textwidth}}\toprule
\begin{tabitemize}
\item Das ist ein erster sinnloser Text.
\item Das ist ein zweiter sinnfreier Text.
\end{tabitemize}\\