
Aufstellen
Mithilfe des folgenden MWE versuche ich, „Überschrift 1“ mit den 4 Unterüberschriften und „Überschriften 2“ und „Überschrift 3“ mit ihren jeweiligen Unterüberschriften zu zentrieren:
MWE
\documentclass[12pt, oneside]{book}
%MARGIN SETTINGS
\usepackage{geometry}
\geometry{
paper=a4paper,
inner=2.5cm,
outer=2.5cm,
bindingoffset=0.0cm,
top=2.5cm,
bottom=2.5cm,
headsep=4.5mm,
footskip=7.4mm,
%showframe
}
%FOR TABLES
\usepackage{float}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{siunitx}
\newcolumntype{?}{!{\vrule width 1pt}}
%----------------------BEGIN-------------------------
\begin{document}
\begin{table}[H]
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{l|l ? S|S|S|S ? S|S ? S|S} %S centres
%\begin{tabular}{l|l ? S|S|S|S | S|S | S|S}
\toprule
\multirow{2}{*}{Column 1} &
\multirow{2}{*}{Column 2} & %& &
\multicolumn{2}{c}{Heading 1} & %&
\multicolumn{2}{c}{Heading 2} &
\multicolumn{2}{c}{Heading 3} \\
& & {Sub 1} & {Sub 2} & {Sub 3} & {Sub 4} & {Sub 1} & {Sub 2} & {Sub 1} & {Sub 2} \\
\midrule
A1 = item1 & 0.0001 & 1 & 1 & 1 & 2 & 3 & 4 & 5 & 6 \\
%\hline
A2 = item2 & 0.0002 & 1 & 1 & 7 & 8 & 9 & 10 & 11 & 12 \\
%\hline
A3 = item3 & 0.0003 & 1 & 1 & 13 & 14 & 15 & 16 & 17 & 18 \\
\bottomrule
\end{tabular}}
\caption{Test Table} \label{tbl:BPF}
\end{table}
\end{document}
Das Problem
Wenn ich mehrere &
's verwende, um die Überschriften auszurichten, erhalte ich den folgenden Fehler. Die vertikalen Linien sind nach oben übergelaufen:
Ziel
So zentrieren Sie die Überschriften (wie oben), jedoch ohne überlaufende vertikale Linien zwischen „Sub 1 Sub 2“ und „Sub 4 Sub 1“
Antwort1
Ich bin mir nicht sicher, was du willst. Meinst du das so? Wenn ja: Du musst die richtige Anzahl Spalten in angeben \multicolumn
(4 im Fall von "Überschrift 1"). Um die vertikalen Linien zu erhalten, füge diese einfach der Spaltentyp-Spezifikation von hinzu \multicolumn
.
\documentclass[12pt, oneside]{book}
%MARGIN SETTINGS
\usepackage{geometry}
\geometry{
paper=a4paper,
inner=2.5cm,
outer=2.5cm,
bindingoffset=0.0cm,
top=2.5cm,
bottom=2.5cm,
headsep=4.5mm,
footskip=7.4mm,
%showframe
}
%FOR TABLES
\usepackage{float}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{siunitx}
\newcolumntype{?}{!{\vrule width 1pt}}
%----------------------BEGIN-------------------------
\begin{document}
\begin{table}[H]
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{l|l ? S|S|S|S ? S|S ? S|S} %S centres
%\begin{tabular}{l|l ? S|S|S|S | S|S | S|S}
\toprule
\multirow{2}{*}{Column 1} &
\multirow{2}{*}{Column 2} & %& &
\multicolumn{4}{c?}{Heading 1} & %&
\multicolumn{2}{c?}{Heading 2} &
\multicolumn{2}{c}{Heading 3} \\
& & {Sub 1} & {Sub 2} & {Sub 3} & {Sub 4} & {Sub 1} & {Sub 2} & {Sub 1} & {Sub 2} \\
\midrule
A1 = item1 & 0.0001 & 1 & 1 & 1 & 2 & 3 & 4 & 5 & 6 \\
%\hline
A2 = item2 & 0.0002 & 1 & 1 & 7 & 8 & 9 & 10 & 11 & 12 \\
%\hline
A3 = item3 & 0.0003 & 1 & 1 & 13 & 14 & 15 & 16 & 17 & 18 \\
\bottomrule
\end{tabular}}
\caption{Test Table} \label{tbl:BPF}
\end{table}
\end{document}
Im Allgemeinen gilt es als schlechte Praxis, die Größe einer Tabelle zu ändern. Stattdessen können Sie \small
sie so anpassen, dass sie der Textbreite entspricht. Außerdem sehen Tabellen mit weniger (sprich: „keinen“) vertikalen Linien tendenziell besser aus. Sie könnten Folgendes in Betracht ziehen:
\documentclass[12pt, oneside]{book}
%MARGIN SETTINGS
\usepackage{geometry}
\geometry{
paper=a4paper,
inner=2.5cm,
outer=2.5cm,
bindingoffset=0.0cm,
top=2.5cm,
bottom=2.5cm,
headsep=4.5mm,
footskip=7.4mm,
%showframe
}
%FOR TABLES
\usepackage{float}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{siunitx}
%----------------------BEGIN-------------------------
\begin{document}
\begin{table}[H]
\small
\centering
\begin{tabular}{ll SSSS SS SS} %S centres
%\begin{tabular}{l|l ? S|S|S|S | S|S | S|S}
\toprule
& &
\multicolumn{4}{c}{Heading 1} & %&
\multicolumn{2}{c}{Heading 2} &
\multicolumn{2}{c}{Heading 3} \\
\cmidrule(rl){3-6}
\cmidrule(rl){7-8}
\cmidrule(rl){9-10}
Column 1& Column 2& {Sub 1} & {Sub 2} & {Sub 3} & {Sub 4} & {Sub 1} & {Sub 2} & {Sub 1} & {Sub 2} \\
\midrule
A1 = item1 & 0.0001 & 1 & 1 & 1 & 2 & 3 & 4 & 5 & 6 \\
%\hline
A2 = item2 & 0.0002 & 1 & 1 & 7 & 8 & 9 & 10 & 11 & 12 \\
%\hline
A3 = item3 & 0.0003 & 1 & 1 & 13 & 14 & 15 & 16 & 17 & 18 \\
\bottomrule
\end{tabular}
\caption{Test Table} \label{tbl:BPF}
\end{table}
\end{document}