Der Code ist unten dargestellt. Wenn die erste Zeile keine spezielle Zelle enthält (mit zwei Zeilen in einer Zelle), tritt dies eigentlich nicht auf. Aber ich bin nicht ganz sicher, wie ich das beheben kann.
\documentclass[12pt]{article}
\usepackage{amsmath}
\renewcommand*{\arraystretch}{1.3}
\usepackage{graphicx}
\usepackage{xspace}
\usepackage{tabu} % tabular
\usepackage{multirow} % tables
\usepackage{setspace}
\onehalfspacing % or \doublespacing
\newcommand{\specialcell}[2][c]{\begin{tabu}[#1]{@{}c@{}}#2\end{tabu}} % two lines in a table cell
\tabulinesep=1.8mm % tabu vertical spacing/need {tabu} package
\begin{document}
\begin{table}[htbp]
\begin{tabu}{cccccc}
\hline
& \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb}\\
\hline
a & a & a & a & a & a\\
\hline
b & b & b & b & b & b\\
\hline
c & c & c & c & c & c\\
\hline
\end{tabu}
\end{table}
\end{document}
Antwort1
Hier habe ich es einfach neu definiert, \specialcell
um einen Stapel anstelle eines zu verwenden tabu
.
\documentclass[12pt]{article}
\usepackage{amsmath}
\renewcommand*{\arraystretch}{1.3}
\usepackage{graphicx}
\usepackage{xspace}
\usepackage{tabu} % tabular
\usepackage{multirow} % tables
\usepackage{setspace}
\onehalfspacing % or \doublespacing
%\newcommand{\specialcell}[2][c]{\begin{tabu}[#1]{@{}c@{}}#2\end{tabu}} % two lines in a table cell
\tabulinesep=1.8mm % tabu vertical spacing/need {tabu} package
\usepackage[usestackEOL]{stackengine}
\newcommand\specialcell[2][c]{\Centerstack[#1]{#2}}
\begin{document}
\begin{table}[htbp]
\begin{tabu}{cccccc}
\hline
& \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb} & \specialcell{aaa\\bbb}\\
\hline
a & a & a & a & a & a\\
\hline
b & b & b & b & b & b\\
\hline
c & c & c & c & c & c\\
\hline
\end{tabu}
\end{table}
\end{document}
Der Baselineskip des Stacks kann beispielsweise durch die Deklaration
\setstackgap{L}{22pt}
ergebend