Anpassen der Spaltenbreite an den Text

Anpassen der Spaltenbreite an den Text

Ich habe folgende Tabelle:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage[flushleft]{threeparttable}
\usepackage{tablefootnote}
\usepackage[margin=2cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}% raggedleft column X
\begin{document}
\begin{table}[htb!]
    \caption{Unit root tests}
    \label{tbl:unitroot}
    \renewcommand{\arraystretch}{1.2}%
    \begin{tabularx}{\textwidth}{l*{7}{Y}}
        \toprule
        \multicolumn{8}{l}{\textbf{Confidence Indicators}} \\
        \midrule
        Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\ 
        \hline
        Market & 360 & 101.77 & 10.71  & $\Delta$ Market & 360 & 101.77 & 10.71  \\ 
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\ 
        Manufacturing & 360 & -7.33 & 12.63  & $\Delta$ Manufacturing & 360 & 7.33 & 12.63  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\
        Construction & 360 & -17.23 & 23.43  & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
        (p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71  \\  
        Services  & 216 & 3.99 & 19.19 & $\Delta$ Services  & 216 & 3.99 & 19.19  \\
        (p-value) & 360 & 101.77 & 10.71  & (p-value) & 360 & 101.77 & 10.71  \\  
        Consumer & 360 & -9.31 & 8.64  & $\Delta$ Consumer & 360 & -9.31 & 8.64  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\  
    \end{tabularx}
    \begin{tabularx}{\linewidth}{l*{7}{Y}}
        \toprule
        \multicolumn{8}{l}{\textbf{Stock Returns}} \\
        \midrule
        Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\ 
        \hline
        Market & 360 & 101.77 & 10.71  & $\Delta$ Market & 360 & 101.77 & 10.71  \\ 
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\ 
        Manufacturing & 360 & -7.33 & 12.63  & $\Delta$ Manufacturing & 360 & 7.33 & 12.63  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\
        Construction & 360 & -17.23 & 23.43  & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
        (p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71  \\  
        Services  & 216 & 3.99 & 19.19 & $\Delta$ Services  & 216 & 3.99 & 19.19  \\
        (p-value) & 360 & 101.77 & 10.71  & (p-value) & 360 & 101.77 & 10.71  \\  
        Consumer & 360 & -9.31 & 8.64  & $\Delta$ Consumer & 360 & -9.31 & 8.64  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\  
        \hline
    \end{tabularx}
    \end{table}
\end{document}

Bildbeschreibung hier eingeben

Ich möchte die fünfte Spalte an ihren Text anpassen. Nur damit sie wie die erste Spalte aussieht. Ich habe versucht, einige der tabularxParameter zu ändern, aber es ist mir nicht gelungen, das gewünschte Ergebnis zu erzielen.

Antwort1

Nicht tabularxfür numerische Tabellen verwenden, es dient zum Festlegen der Zielbreite fürZeilenumbruchinnerhalb einer Zelle.

Wenn Sie einfach verwenden tabularund ralles passt, könnten Sie mit c Überschriften und anderen kleinen Verbesserungen nachbessern, aber einfach meinen Code nicht zu verwenden, ist die Hauptverbesserung, die Sie hier brauchen,

Bildbeschreibung hier eingeben

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage[flushleft]{threeparttable}
\usepackage{tablefootnote}
\usepackage[margin=2cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}% raggedleft column X
\begin{document}
\begin{table}[htb!]
    \caption{Unit root tests}
    \label{tbl:unitroot}
    \renewcommand{\arraystretch}{1.2}%
    \begin{tabular}{l*{7}{r}}
        \toprule
        \multicolumn{8}{l}{\textbf{Confidence Indicators}} \\
        \midrule
        Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\ 
        \hline
        Market & 360 & 101.77 & 10.71  & $\Delta$ Market & 360 & 101.77 & 10.71  \\ 
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\ 
        Manufacturing & 360 & -7.33 & 12.63  & $\Delta$ Manufacturing & 360 & 7.33 & 12.63  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\
        Construction & 360 & -17.23 & 23.43  & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
        (p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71  \\  
        Services  & 216 & 3.99 & 19.19 & $\Delta$ Services  & 216 & 3.99 & 19.19  \\
        (p-value) & 360 & 101.77 & 10.71  & (p-value) & 360 & 101.77 & 10.71  \\  
        Consumer & 360 & -9.31 & 8.64  & $\Delta$ Consumer & 360 & -9.31 & 8.64  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\  
    \end{tabular}


    \begin{tabular}{l*{7}{l}}
        \toprule
        \multicolumn{8}{l}{\textbf{Stock Returns}} \\
        \midrule
        Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\ 
        \hline
        Market & 360 & 101.77 & 10.71  & $\Delta$ Market & 360 & 101.77 & 10.71  \\ 
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\ 
        Manufacturing & 360 & -7.33 & 12.63  & $\Delta$ Manufacturing & 360 & 7.33 & 12.63  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\
        Construction & 360 & -17.23 & 23.43  & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
        (p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71  \\  
        Services  & 216 & 3.99 & 19.19 & $\Delta$ Services  & 216 & 3.99 & 19.19  \\
        (p-value) & 360 & 101.77 & 10.71  & (p-value) & 360 & 101.77 & 10.71  \\  
        Consumer & 360 & -9.31 & 8.64  & $\Delta$ Consumer & 360 & -9.31 & 8.64  \\
        (p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71  \\  
        \hline
    \end{tabular}
    \end{table}
\end{document}

Antwort2

Für eine Tabelle mit numerischen Daten empfehle ich die Verwendung von siunitx. Es besteht keine Notwendigkeit, die Tabelle künstlich zu verbreitern, um die gesamte Textbreite abzudecken (Sie können jedoch das tabular*Formular verwenden, wenn Sie dies wirklich benötigen).

Die einzige knifflige Einstellung ist die dritte Spalte, wo ein Format -2.2besser erscheint (ein Minuszeichen ist breiter als eine Ziffer). Die Syntax ist einfach: -bedeutet, dass in einer Zeile ein Minuszeichen vorhanden ist, 2.2bedeutet, dass die Zahlen zwei Ziffern im ganzzahligen Teil und zwei im Dezimalteil haben. Die Ausrichtung am Dezimalpunkt erfolgt automatisch. Beachten Sie auch, dass Überschriften in den S-Spalten in Klammern gesetzt werden müssen.

Ich denke auch, dass es besser ist, eine einzelne Tabelle zu verwenden.

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage[flushleft]{threeparttable}
\usepackage{tablefootnote}
\usepackage[margin=2cm]{geometry}

\usepackage{siunitx}

\begin{document}

\begin{table}[htb!]
\centering

\caption{Unit root tests} \label{tbl:unitroot}

\begin{tabular}{
  @{}
  l
  S[table-format=3.0]
  S[table-format=-2.2]
  S[table-format=2.2]
  l
  S[table-format=3.0]
  S[table-format=3.2]
  S[table-format=2.2]
  @{}
}
\toprule
\textit{Level} & {ADF} & {PP} & {KPSS} &
  \textit{Differenced} & {ADF} & {PP} & {KPSS} \\
\midrule
\multicolumn{8}{c}{\textbf{Confidence Indicators}} \\
\midrule
Market        & 360 & 101.77 & 10.71 & $\Delta$ Market        & 360 & 101.77 & 10.71 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Manufacturing & 360 &  -7.33 & 12.63 & $\Delta$ Manufacturing & 360 &   7.33 & 12.63 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Construction  & 360 & -17.23 & 23.43 & $\Delta$ Retail trade  & 360 &   3.40 & 13.84 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Services      & 216 &   3.99 & 19.19 & $\Delta$ Services      & 216 &   3.99 & 19.19 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Consumer      & 360 &  -9.31 &  8.64 & $\Delta$ Consumer      & 360 &  -9.31 &  8.64 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\midrule[\heavyrulewidth]
\multicolumn{8}{c}{\textbf{Stock Returns}} \\
\midrule
Market        & 360 & 101.77 & 10.71 & $\Delta$ Market        & 360 & 101.77 & 10.71 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Manufacturing & 360 &  -7.33 & 12.63 & $\Delta$ Manufacturing & 360 &   7.33 & 12.63 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Construction  & 360 & -17.23 & 23.43 & $\Delta$ Retail trade  & 360 &   3.40 & 13.84 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Services      & 216 &   3.99 & 19.19 & $\Delta$ Services      & 216 &   3.99 & 19.19 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\addlinespace
Consumer      & 360 &  -9.31 &  8.64 & $\Delta$ Consumer      & 360 &  -9.31 &  8.64 \\
(p-value)     & 360 & 101.77 & 10.71 & (p-value)              & 360 & 101.77 & 10.71 \\
\bottomrule
\end{tabular}

\end{table}
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Ich würde eine Spalte vollständig aus der Tabelle entfernen und die Kopfzeile neu strukturieren, um dem Leser klar zu machen, wie die Tests des Berichts organisiert sind. Ich würde das dcolumnPaket auch verwenden, um die numerischen Einträge an den jeweiligen Dezimalstellen auszurichten. Um das tabellarische Material über die Breite des Textblocks auszudehnen, sollten Sie die Verwendung einer tabular*Umgebung in Betracht ziehen.

Abgesehen davon: Als Zeitreihenökonometriker fiel mir sofort auf, dass das „P“ in „KPSS“ sowie das erste „P“ in „PP“ den Anfangsbuchstaben des Namens meines Doktorvaters – „Phillips“ – bezeichnen. :-)

Bildbeschreibung hier eingeben

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\usepackage[margin=2cm]{geometry}% 
\begin{document}
\begin{table}[htb!]
    \caption{Unit root tests}
    \label{tbl:unitroot}
    \renewcommand{\arraystretch}{1.2}
    \setlength\tabcolsep{0pt}
    \begin{tabular*}{\textwidth}{@{}
           l @{\extracolsep{\fill}} c *{2}{d{3.2}} c *{2}{d{3.2}} @{} }
        \toprule
        Variable & \multicolumn{3}{c}{Level} & \multicolumn{3}{c}{Differenced}\\
        \cmidrule{2-4} \cmidrule{5-7}
        & \mc{ADF} & \mc{PP} & \mc{KPSS} 
        & \mc{ADF} & \mc{PP} & \mc{KPSS}\\ 
        \midrule
        \addlinespace
        \multicolumn{7}{l}{\textbf{Confidence Indicators}} \\[0.5ex]
        Market & 360 & 101.77 & 10.71  &  360 & 101.77 & 10.71  \\ 
        (p-value) & 360 & 101.77 & 10.71 &  360 & 101.77 & 10.71  \\ 
        Manufacturing & 360 & -7.33 & 12.63  &  360 & 7.33 & 12.63  \\
        (p-value) & 360 & 101.77 & 10.71 &  360 & 101.77 & 10.71  \\
        Construction & 360 & -17.23 & 23.43  &  360 & 3.40 & 13.84 \\
        (p-value) & 360 & 101.77 & 10.71&  360 & 101.77 & 10.71  \\  
        Services  & 216 & 3.99 & 19.19 &  216 & 3.99 & 19.19  \\
        (p-value) & 360 & 101.77 & 10.71  &  360 & 101.77 & 10.71  \\  
        Consumer & 360 & -9.31 & 8.64  &  360 & -9.31 & 8.64  \\
        (p-value) & 360 & 101.77 & 10.71 &  360 & 101.77 & 10.71  \\[2ex]
        \multicolumn{7}{l}{\textbf{Stock Returns}} \\[0.5ex]
        Market & 360 & 101.77 & 10.71  &  360 & 101.77 & 10.71  \\ 
        (p-value) & 360 & 101.77 & 10.71 &  360 & 101.77 & 10.71  \\ 
        Manufacturing & 360 & -7.33 & 12.63  &  360 & 7.33 & 12.63  \\
        (p-value) & 360 & 101.77 & 10.71 &  360 & 101.77 & 10.71  \\
        Construction & 360 & -17.23 & 23.43  &  360 & 3.40 & 13.84 \\
        (p-value) & 360 & 101.77 & 10.71&  360 & 101.77 & 10.71  \\  
        Services  & 216 & 3.99 & 19.19 &  216 & 3.99 & 19.19  \\
        (p-value) & 360 & 101.77 & 10.71  &  360 & 101.77 & 10.71  \\  
        Consumer & 360 & -9.31 & 8.64  &  360 & -9.31 & 8.64  \\
        (p-value) & 360 & 101.77 & 10.71 &  360 & 101.77 & 10.71  \\  
        \bottomrule
    \end{tabular*}
    \end{table}
\end{document}

verwandte Informationen