NB! There was spanning error in the first version, wrong cells was spanned in the first column.
Here are your first table layout as a calstable, i.e. typeset using the package cals. calstable has no support for double rules (borders), so I have faked such rules using narrow rows and columns:
\documentclass{article} \usepackage{cals} \let\nc=\nullcell % Shorthands \let\sc=\spancontent \begin{document} \begin{calstable}[c] % Defining 11 columns \colwidths{{\dimexpr(\columnwidth/21*3)} {2pt} {\dimexpr(\columnwidth/21*2)} {\dimexpr(\columnwidth/21*1)} {\dimexpr(\columnwidth/21*2)} {\dimexpr(\columnwidth/21*4)} {2pt} {\dimexpr(\columnwidth/21*2)} {\dimexpr(\columnwidth/21*1)} {\dimexpr(\columnwidth/21*2)} {\dimexpr(\columnwidth/21*4)} } % Set up the tabular \makeatletter \def\cals@framers@width{0.3pt} % Outside frame rules, reduce if the rule is too heavy \def\cals@framecs@width{0.3pt} \def\cals@bodyrs@width{0.3pt} \cals@setpadding{Ag} \cals@setcellprevdepth{Al} \def\cals@cs@width{0.3pt} % Inside rules, reduce if the rule is too heavy \def\cals@rs@width{0.3pt} \def\cals@bgcolor{} \def\rb{\ifx\cals@borderR\relax % Right Border switch (off-on) \def\cals@borderR{0.0pt} \else \let\cals@borderR\relax\fi} \def\lb{\ifx\cals@borderL\relax % Left Border switch (off-on) \def\cals@borderL{0.0pt} \else \let\cals@borderL\relax\fi} \def\tp{\ifdim\cals@paddingT=0.0pt\relax % Top padding switch (off-on) \cals@setpadding{Ag} \else \setlength{\cals@paddingT}{0pt}\fi} \def\bp{\ifdim\cals@paddingB=0.0pt\relax % Bottom padding switch (off-on) \cals@setpadding{Ag} \else \setlength{\cals@paddingB}{0pt}\fi} % R1H1 % This first row is just to ‘fake’ double horizontal lines \thead{% \brow \rb\tp\cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{}\rb \cell{}\tp \ht\cals@current@row=2pt \erow % %R2H2 % Header \brow \alignC\cell{} \cell{} \nc{ltb} \nc{tb} \nc{tb} \nc{rtb}\sc{} \cell{} \nc{ltb} \nc{tb} \nc{tb} \nc{rtb}\sc{} \erow } \tfoot{\lastrule\strut} %R3B1 \brow \cell{} \cell{} \nc{ltb} \nc{rtb}\sc{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \erow %R4B2 \brow \nc{lrt} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \ht\cals@current@row=1.5\normalbaselineskip \erow %R5B3 \brow \nc{lrb}\alignC\sc{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \erow %R6B4 \brow \nc{lrt} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \ht\cals@current@row=1.5\normalbaselineskip \erow %R7B5 \brow \nc{lrb}\alignC\sc{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \erow %R8B6 \brow \nc{lrt} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \ht\cals@current@row=1.5\normalbaselineskip \erow %R9B7 \brow \nc{lrb}\alignC\sc{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \erow %R10B9 % This last row is just to ‘fake’ double horizontal lines \brow \rb\bp\cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{} \cell{}\rb \cell{}\bp \ht\cals@current@row=2pt \erow \makeatletter \end{calstable}\par \end{document} 