Seite 1 von 1

Tabular, eine Spalte verschwindet, warum ?

Verfasst: Sa 4. Jan 2020, 11:35
von denebe
Hallo,

ich habe eine kleine Tabelle kreiert, leider das Ergebnis ist verkehrt.

Mein Wünsch:
Bild

Die Spalte 4 verschwindet, wie kann ich es schaffen ?

Meine Code:
\documentclass[12pt]{scrreprt} % report oder scrreprt...


%%%%%%%%%%%%%%%%%                                       Präambul , Paketenladen                                %%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}


\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%      Tabelle OK       %%%%%%%%%%%%%%%%%%%%%%%%%%%5
\begin{tabular}{|c|c|c|c|c|}    % 5 Spalten

\hline
1 & \multicolumn{2}{c|}{2} & 3 & 4 \\
\hline
\multicolumn{2}{|c|}{5} & 6 & 7 & 8 \\
\hline
9 & 10 & \multicolumn{3}{c|}{11} \\
\hline
\end{tabular}


%%%%%%%%%%%%%%%%%%%%%%%%%       Tabelle KO       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
\begin{tabular}{|c|c|c|c|c|c|c|}    % 7 Spalten

\hline
1 & 2 & 3 & \multicolumn{2}{c|}{4} & 5 & 6 \\

\hline
\multicolumn{2}{|c|}{7} & \multicolumn{2}{c|}{8} & 9 & 10 & 11 \\

\hline
12 & \multicolumn{2}{c|}{13} & \multicolumn{3}{c|}{14} & 15 \\

\hline
\multicolumn {3}{|c|}{16} & \multicolumn {2}{c|}{17}  & \multicolumn {2}{c|}{18} \\

\hline
\end{tabular}


\end{document}          
LG,
Denebe. :)

Verfasst: Sa 4. Jan 2020, 20:19
von markusv
Hallo. Die Spalte ist schon vorhanden, allerdings ermittelt LaTeX die Spaltenbreite aus dem gegebenen Inhalt. Da in deiner 4. Spalte immer multicolumns zum Einsatz kommen, ist der eigentliche Spalteninhalt leer und damit wird die Spaltengröße entsprechend reduziert, sodass es aussieht, als gäbe es die Spalte nicht.

Eine Alternative wäre, Spaltendefinitionen mit fester Breite (bspw. p oder m) zu nutzen. Um die genaue Breite der multicolumns zu bekommen, musst du die Breite der Spaltentrenner (tabcolsep) noch einberechnen. Das Ganze würde dann so aussehen:
\documentclass[12pt]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{array}


\begin{document}
\begin{tabular}{|*{7}{>{\centering\arraybackslash}p{.5cm}|}}
\hline
1 & 2 & 3 & \multicolumn{2}{p{\dimexpr 1cm+1\tabcolsep}|}{\centering4} & 5 & 6 \\
\hline
\multicolumn{2}{|p{\dimexpr 1cm+1\tabcolsep}|}{\centering7} & \multicolumn{2}{p{\dimexpr 1cm+1\tabcolsep}|}{\centering8} & 9 & 10 & 11 \\
\hline
12 & \multicolumn{2}{p{\dimexpr 1cm+1\tabcolsep}|}{\centering13} & \multicolumn{3}{p{\dimexpr 1.5cm+2\tabcolsep}|}{\centering14} & 15 \\
\hline
\multicolumn{3}{|p{\dimexpr 1.5cm+2\tabcolsep}|}{\centering16} & \multicolumn{2}{p{\dimexpr 1cm+1\tabcolsep}|}{\centering17}  & \multicolumn{2}{p{\dimexpr 1cm+1\tabcolsep}|}{\centering18} \\
\hline
\end{tabular}
\end{document} 

Verfasst: Do 9. Jan 2020, 16:07
von denebe
Hallo markusv,

danke sehr, ich habe mit deiner Antwort andere Befehle wieder gelernt.

Es entspricht meinem Wünsch, die Tabelle ist wie erwartet.

(Sorry für meine späte Antwort, ich war ziemlich beschäftigt.)

Schönen Tag :)