[Tex/LaTex] Border with multirow and multicolumn

bordermulticolumnmultirowtables

Following example:

\usepackage{multirow}

\begin{tabular}{cc|c|c|c|c|c|}
\cline{3-7}
& & \multicolumn{5}{c|}{something} \\ \cline{3-7}
& & AAA & BBB & CCC & DDD & EEE\\ \hline
\multicolumn{1}{|c|}{\multirow{3}{*}{\rotatebox[origin=c]{90}{sth}} } 
& line 1 & x & x & x & x & x \\ \cline{2-7}
& line 2 & x & x & x & x & x \\ \cline{2-7}
\end{tabular}
  1. Why is the border on the left side missing?

enter image description here

  1. Why can I not make the columns fixed width (like c{4cm})? this gives me an error message ' Illegal pream-token (2.0cm): `c' used.' but I am pretty sure it has worked for me like this…

Best Answer

Here is a solution. I took the opportunity to improve the vertical padding of cells, and defined a \nocell command to have a number of empty cells; its argument is the number of consecutive empty cells.

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{multirow}
\usepackage{array, makecell, rotating}
\setcellgapes{2pt}
\newcommand\nocell[1]{\multicolumn{#1}{c|}{}}

\begin{document}

\makegapedcells
\begin{tabular}{|c*{6}{|p{2cm}}|}
  \cline{3-7}
  \nocell{2}& \multicolumn{5}{c|}{something} \\ \cline{3-7}
  \nocell{2} & AAA & BBB & CCC & DDD & EEE\\ \hline
  \multirowcell{2}[0.5ex]{\rotatebox[origin=c]{90}{sth}} & line 1 & x & x & x & x & x \\ \cline{2-7}
 & line 2 & x & x & x & x & x \\ \cline{1-7}
\end{tabular}

\end{document}  

enter image description here