Tabular, eine Spalte verschwindet, warum ?

Tabellen und Grafiken erstellen und anordnen


denebe
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 4. Jan 2020, 11:23

Tabular, eine Spalte verschwindet, warum ?

Beitrag 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. :)

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag 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} 
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen.

denebe
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 4. Jan 2020, 11:23

Beitrag 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 :)

Antworten