Hallo, mir ist die Tabelle insgesamt nicht breit genug. Wie kann ich (global) die Zellenbreite in dieser Tabelle festlegen? Open in Online-Editor
\documentclass{scrartcl} \begin{document} \begin{tabular} {|c|c|c|c|c|c|c|c|c|} \hline \multicolumn{4}{|c|}{A} & \multicolumn{3}{|c|}{B} & C \\ \hline 1 & 2 & 3 & 4 & 1 & 2 & 3 & \\ \hline & & & & & & & \\ \hline \multicolumn{3}{|c|}{a} & \multicolumn{5}{|c|}{}\\ \hline \end{tabular} \end{document} |
Davon abgesehen, dass diese Tabelle mit ihren vielen vertikalen und horizontalen Linien insgesamt eher hässlich ist und nur zum Ausfüllen aber nicht zum Lesen taugt, gibt es diverse Möglichkeiten, die Spaltenbreiten zu beeinflussen. Die einfachste Möglichkeit besteht darin, die Spaltenabstände zu erhöhen: Open in Online-Editor
\documentclass{scrartcl} \setlength{\tabcolsep}{2em} \begin{document} %\begingroup %\setlength{\tabcolsep}{2em} \begin{tabular}{|c|c|c|c|c|c|c|c|c|} \hline \multicolumn{4}{|c|}{A} & \multicolumn{3}{|c|}{B} & C \\ \hline 1 & 2 & 3 & 4 & 1 & 2 & 3 & \\ \hline & & & & & & & \\ \hline \multicolumn{3}{|c|}{a} & \multicolumn{5}{|c|}{}\\ \hline \end{tabular} %\endgroup \end{document} Soll das nur die eine Tabelle betreffen, kann man die entsprechende Längenänderung unmittelbar vor der Tabelle vornehmen und zusammen mit der Tabelle in eine eigene Gruppe packen. Dazu kommentiert man die Zeile Zu beachten ist bei dieser Lösung, dass der zusätzliche Spaltenabstand wirklich zwischen und nicht in den Spalten eingefügt wird. Deshalb ändert sich im Beispiel auch nicht wirklich viel, wenn man die Man kann natürlich stattdessen auch die Spaltenbreiten einzeln oder in Gruppen explizit festlegen, indem man Open in Online-Editor
\documentclass{scrartcl} \usepackage{array} \begin{document} \begin{tabular}{|*5{>{\centering}p{3em}|}*3{>{\centering\arraybackslash}p{1.5em}|}} \hline \multicolumn{4}{|c|}{A} & \multicolumn{3}{c|}{B} & C \\ \hline 1 & 2 & 3 & 4 & 1 & 2 & 3 & \\ \hline & & & & & & & \\ \hline \multicolumn{3}{|c|}{a} & \multicolumn{5}{c|}{}\\ \hline \end{tabular} \end{document} Das Paket Bei der Gelegenheit habe ich auch gleich die Spaltendefinition auf die verwendeten acht Spalten reduziert und die neunte, in der Tabelle nicht verwendete Spalte entfernt. Außerdem habe ich aufeinander folgende, identische Spaltendefinitionen durch den Wiederholungsoperator Desweiteren habe ich die Wenn gleichzeitig wie im ersten Beispiel alle Spalten nahezu gleich breit sind, kann man auch Open in Online-Editor
\documentclass{scrartcl} \usepackage{tabularx} \begin{document} \begin{tabularx}{.75\textwidth}{|*8{>{\centering\arraybackslash}X|}} \hline \multicolumn{4}{|c|}{A} & \multicolumn{3}{c|}{B} & C \\ \hline 1 & 2 & 3 & 4 & 1 & 2 & 3 & \\ \hline & & & & & & & \\ \hline \multicolumn{3}{|c|}{a} & \multicolumn{5}{c|}{}\\ \hline \end{tabularx} \end{document} Hier wird die Zentrierung dann durch das Für Tabellen mit rein – oder zumindest hauptsächlich – numerischem Inhalt, kann man sogar Open in Online-Editor
\documentclass{scrartcl} \usepackage{siunitx} \begin{document} \begin{tabular}{|*8{S[table-column-width=3em,table-number-alignment=center]|}} \hline \multicolumn{4}{|c|}{A} & \multicolumn{3}{c|}{B} & C \\ \hline 1 & 2 & 3 & 4 & 1 & 2 & 3 & \\ \hline & & & & & & & \\ \hline \multicolumn{3}{|c|}{a} & \multicolumn{5}{c|}{}\\ \hline \end{tabular} \end{document} Hier wird die Zentrierung der Zahlen durch die Eigenschaft Siehe außerdem: Unterschied zwischen: tabular, tabularx und tabulary? beantwortet 01 Jun '16, 07:31 saputello |
Du hast 9 Spalten definiert, verwendest aber nur 8. Das solltest Du korrigieren!