Zentrierte Ausrichtung des Tabelleninhalts mithilfe von tabellarisch

Zentrierte Ausrichtung des Tabelleninhalts mithilfe von tabellarisch

Ich möchte die zweite und dritte Spalte gleich lang und mittig platzieren.

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\begin{table}[!ht]
    %\begin{tabularx}{\textwidth}{@{}Y*{3}{W}@{}}
\centering
 \begin{tabular}{ccc}
    \toprule
    & \multicolumn{2}{c}{\textbf{Testing Testing Testin}} \\
    & \multicolumn{2}{c}{\textbf{Making into Secondline (\%)}} \\
     \cmidrule{2-3}
    & \small {\textbf{AA}}
     & \small {\textbf{BB}} \\
     \midrule
    Test 1 & 33 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
        \bottomrule
    \end{tabular}

\end{table}

\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Ich möchte die zweite und dritte Spalte gleich lang und mittig platzieren.

Ich hatte versucht:

 \begin{tabular}{ccc}

Antwort1

Hier ist ein Weg mit Hilfe vonparbox

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\begin{table}[!ht]
    %\begin{tabularx}{\textwidth}{@{}Y*{3}{W}@{}}
\centering
 \begin{tabular}{ccc}
    \toprule
    & \multicolumn{2}{c}{\textbf{Testing Testing Testin}} \\
    & \multicolumn{2}{c}{\textbf{Making into Secondline (\%)}} \\
     \cmidrule{2-3}
    &  {\parbox{3cm}{\small\hfil\textbf{AA}\hfill}}
     & {\parbox{3cm}{\small\hfil\textbf{BB}\hfill}} \\
     \midrule
    Test 1 & 33 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
        \bottomrule
    \end{tabular}

\end{table}

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Hier ist eine mögliche Lösung, die auf basiert, siunitxum eine schöne Ausrichtung der Zahlen (zentriert und rechtsbündig) zu erreichen. Nicht-Zahlen in SSpalten müssen von Klammern umgeben sein und werden automatisch zentriert. Darüber hinaus kann die Breite der S-Spalten gewählt werden. Diese Lösung basiert auch auf makecell, was Zeilenumbrüche in Standardzellen ermöglicht, und einer gemeinsamen Formatierung der Argumente der Befehle \makecellund \thead.

\documentclass{article}
\usepackage{array}
\usepackage{booktabs, makecell}
\renewcommand{\theadfont}{\small\bfseries}
\usepackage{siunitx}

\begin{document}

\begin{table}[!ht]
\centering
\sisetup{table-format=3.0, table-number-alignment=center, table-column-width=1.5cm}
 \begin{tabular}{cSS}
    \toprule
    & \multicolumn{2}{c}{\small\bfseries Testing Testing Testin} \\
    & \multicolumn{2}{c}{\thead{\makebox[0pt]{Making into Secondline}\\ (\%)}} \\
     \cmidrule{2-3}
    &{\small \textbf{AA}}
     & {\small\textbf{BB}} \\
     \midrule
    Test 1 & 33 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
    Test 2 & 57 & 73 \\
        \bottomrule
    \end{tabular}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

Antwort3

Dadurch werden Spalten „Z“ zentriert und genau in der halben Breite der längsten Kopfzeile angezeigt. Sie müssen LateX nur mitteilen, wie breit diese Kopfzeile vor jeder tabellarischen Breite ist \settowidth:

\documentclass{article}
\usepackage{booktabs,array}
\newlength{\xxx} % suggestion:  change "xxx" for something meaningful 
\newcolumntype{Z}{>{\hfil}p{.5\xxx}}
\begin{document}

\settowidth{\xxx}{\textbf{Making into Secondline (\%)}}

\begin{tabular}{cZZ} \toprule
& \multicolumn{2}{c}{\textbf{Testing Testing Testin}} \\
& \multicolumn{2}{c}{\textbf{Making into Secondline (\%)}} \\\cmidrule{2-3}
& \small {\textbf{AA}}  & \small {\textbf{BB}} \\\midrule
Test 1 & 33 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\\bottomrule
\end{tabular}

\end{document}

mwe

verwandte Informationen