Aufstellen

Aufstellen

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:

Bildbeschreibung hier eingeben

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}

Bildbeschreibung hier eingeben

Im Allgemeinen gilt es als schlechte Praxis, die Größe einer Tabelle zu ändern. Stattdessen können Sie \smallsie 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}

Bildbeschreibung hier eingeben

verwandte Informationen