Tabular*-Umgebung dehnt Tabelle über die Seitenbreite hinaus aus

Tabular*-Umgebung dehnt Tabelle über die Seitenbreite hinaus aus

Ich versuche, die tabular*Umgebung zu nutzen, um eine Tabelle auf die Seitenbreite zu strecken. Die Tabelle wird jedoch über die in der Präambel definierte Seitenbreite hinaus gestreckt ...

Hier ist mein Code:

\documentclass[12pt,a4paper]{article}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{natbib}
\usepackage{url}
\usepackage{float}
\usepackage{placeins}
\usepackage[font=small,labelfont=bf,margin=\parindent,tableposition=top]{caption}

\setcounter{MaxMatrixCols}{10}


\addtolength{\oddsidemargin}{-.875in}
\addtolength{\evensidemargin}{-.875in}
\addtolength{\textwidth}{1.75in}
\addtolength{\topmargin}{-.875in}
\addtolength{\textheight}{1.50in}

\parskip = 0pt
\pagestyle{plain}
\setlength{\parskip}{.0in}
\renewcommand{\baselinestretch}{1.3}
\newcommand{\figref}[1]{Figure~\ref{#1}}
\newcommand{\tabref}[1]{Table~\ref{#1}}
\newcommand{\secref}[1]{Section~\ref{#1}}
\newcommand{\eqnref}[1]{equation (\ref{#1})}
\newcommand{\chapref}[1]{Chapter~\ref{#1}}

\newenvironment{Question}[2][Question]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}


    \FloatBarrier
\begin{table}[!htbp]

  \centering
  \caption{AAAA}
  \caption*{AAAA}
  \setlength\tabcolsep{0pt}
    \begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}} cccccll}
    \hline
\hline
\multicolumn{8}{c}{Panel A:}                                                                                                     \\ \hline
   & $\delta_1$           & t-stat               &                      & $\delta_2$           & t-stat               &  & $R^2$ \\ \cline{2-3} \cline{5-6} \cline{8-8} 
1  & -0.06                & -0.40                &                      & 0.8                  & 16.0                 &  & 0.05  \\
2  & 0.04                 & 0.23                 &                      & 3.3                  & 54.3                 &  & 0.39  \\
3  & 0.03                 & 0.19                 &                      & 1.7                  & 41.0                 &  & 0.27  \\
4  & 0.17                 & 0.89                 &                      & 2.2                  & 36.0                 &  & 0.22  \\
5  & 0.12                 & 0.88                 &                      & 1.2                  & 28.0                 &  & 0.15  \\
6  & 0.02                 & 0.13                 &                      & -1.9                 & -32.7                &  & 0.19  \\
7  & 0.04                 & 0.40                 &                      & 0.2                  & 5.9                  &  & 0.01  \\
8  & 0.13                 & 0.61                 &                      & 1.9                  & 27.2                 &  & 0.14  \\
9  & -0.02                & -0.22                &                      & -0.5                 & -14.8                &  & 0.05  \\
10 & 0.14                 & 1.11                 &                      & 0.3                  & 6.8                  &  & 0.01  \\
11 & -0.21                & -1.14                &                      & 0.5                  & 8.7                  &  & 0.02  \\
12 & -0.22                & -2.16                &                      & 0.4                  & 12.5                 &  & 0.03  \\ \hline
   & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} &  &       \\
   & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} &  &       \\ \hline
\multicolumn{8}{c}{Panel B:}                                                                                                     \\ \hline
   & $\delta_1$           & t-stat               &                      & $\delta_2$           & t-stat               &  & $R^2$ \\ \cline{2-3} \cline{5-6} \cline{8-8} 
1  & -0.13                & -0.58                &                      & 3.83                 & 55.00                &  & 0.40  \\
2  & -0.02                & -0.17                &                      & 2.35                 & 49.92                &  & 0.35  \\
3  & -0.05                & -0.39                &                      & 1.66                 & 40.55                &  & 0.26  \\
4  & -0.09                & -1.19                &                      & 0.79                 & 33.25                &  & 0.19  \\
5  & 0.00                 & 0.13                 &                      & -0.44                & -37.38               &  & 0.23  \\ \hline
   & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} &  &       \\
   & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} &  &       \\ \hline
\multicolumn{8}{c}{Panel C:}                                                                                                     \\ \hline
   & $\delta_1$           & t-stat               &                      & $\delta_2$           & t-stat               &  & $R^2$ \\ \cline{2-3} \cline{5-6} \cline{8-8} 
1  & 0.07                 & 0.76                 &                      & -0.91                & -32.58               &  & 0.19  \\
2  & 0.04                 & 0.61                 &                      & 0.05                 & 2.24                 &  & 0.00  \\
3  & -0.05                & -0.65                &                      & 0.38                 & 14.25                &  & 0.04  \\
4  & -0.01                & -0.16                &                      & 0.69                 & 25.03                &  & 0.12  \\
5  & -0.10                & -0.60                &                      & 2.00                 & 37.21                &  & 0.23  \\ \hline
\end{tabular*}

  \label{tab:Reg1}%
\end{table}%

Antwort1

Wenn Sie dieses @{\extracolsep{\fill}}Gerät verwenden, setzt LaTeX die Breite jedes Spaltenabstands auf 2\tabcolsep+\fill. Der Standardwert von \tabcolsepist , zumindest in den meisten Dokumentklassen, die ich kenne 6pt.

Wenn die „natürliche“ Breite der tabular*Umgebung, also mit \fill=0pt(Achtung: \filldarf nicht negativ sein), die Breite des Textblocks überschreitet, sollten drei mögliche Abhilfemaßnahmen in Betracht gezogen werden:

  • Eliminieren Sie die Leerzeichen links von der ersten Spalte und rechts von der letzten Spalte (Gesamteinsparung: 2\tabcolsep);

  • Führen Sie die Anweisung aus \setlength\tabcolsep{0pt}. Auf diese Weise ist jedes Leerzeichen zwischen den Spalten gleich \fill; und

  • Verkleinern Sie die Schriftgröße beispielsweise durch Ausführen einer Anweisung wie \smalloder \footnotesize.

Der folgende Code zeigt die Ergebnisse der Verwendung von tabular*mit 14 statt „nur“ 6 Datenspalten, um ein Beispiel zu erstellen, bei dem die Breite der Tabelle die des Textblocks überschreitet. Die erste tabular*Umgebung verwendet den Standardwert von \tabcolsep, während die zweite verwendet \tabcolsep=0pt.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{booktabs,caption}
\begin{document}
\begin{table}[!htbp]
    \caption{\texttt{\textbackslash tabcolsep=6pt} (default)} \label{tab:default}
    \begin{tabular*}{\textwidth}{@{} l @{\extracolsep{\fill}} *{14}{c} @{}}
    \toprule
    & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14  \\
    \midrule
    \textbf{Historical } \\
    Lab1 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0& 1.0 & 1.0 \\
    Lab2 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0& 1.0 & 1.0 \\
    \bottomrule
    \end{tabular*}

    \bigskip\bigskip
    \setlength\tabcolsep{0pt} % default: 6pt
    \caption{\texttt{\textbackslash tabcolsep=0pt}} \label{tab:alt}
    \begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}} *{14}{c} }
    \toprule
    & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14  \\
    \midrule
    \textbf{Historical } \\
    Lab1 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0& 1.0 & 1.0 \\
    Lab2 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0 & 1.0& 1.0 & 1.0 \\
    \bottomrule
    \end{tabular*}
\end{table}

\end{document} 

Nachtrag, gepostet, nachdem der OP seinen/ihren Beitrag erweitert hatte, um eine „echte“ Tabelle anzuzeigen: Ich bin mir nicht sicher, was Ihre Sorge ist, dass das tabellarische Material nicht in die Breite des Textblocks passt. Mir ist jedoch aufgefallen, dass die Tabelle zu hoch ist, um in den Textblock zu passen. Das liegt jedoch daran, dass Sie das TeX-Makro auf niedriger Ebene geändert haben \baselineskip. Anstatt es \baselineskipdirekt zu ändern, würde ich das setstretchPaket laden und den Befehl eingeben \setstretch{1.3}; auf diese Weise wird das Material in Fußnoten, Tabellen und Arraysnichtvertikal gestreckt werden.

Ihre Tabelle hat zwei nicht benötigte Spalten und viele unnötige Anweisungen, vgl. all diese \multicolumn{1}{l}{}Direktiven. Mit etwas Aufräumen, indem man alle \hlineDirektiven durch \midrules und alle \clineAnweisungen durch \cmdirules ersetzt und das dcolumnPaket verwendet, um numerische Daten an den jeweiligen Dezimaltrennzeichen auszurichten, erhält man:

Bildbeschreibung hier eingeben

\documentclass[12pt,a4paper]{article}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{natbib}
\usepackage{url}
\usepackage{float}
\usepackage{placeins}
\usepackage[font=small,labelfont=bf,margin=\parindent,tableposition=top]{caption}

%\setcounter{MaxMatrixCols}{10}

%\usepackage[showframe]{geometry}


\addtolength{\oddsidemargin}{-.875in}
\addtolength{\evensidemargin}{-.875in}
\addtolength{\textwidth}{1.75in}
\addtolength{\topmargin}{-.875in}
\addtolength{\textheight}{1.50in}


\parskip = 0pt
\pagestyle{plain}
\setlength{\parskip}{.0in}
%\renewcommand{\baselinestretch}{1.3}

\usepackage{setspace}
\setstretch{1.3}

\usepackage{dcolumn}
\newcolumntype{d}[1]{D..{#1}}

\newcommand{\mc}[1]{\multicolumn{1}{c}{#1}}

\newcommand{\figref}[1]{Figure~\ref{#1}}
\newcommand{\tabref}[1]{Table~\ref{#1}}
\newcommand{\secref}[1]{Section~\ref{#1}}
\newcommand{\eqnref}[1]{equation (\ref{#1})}
\newcommand{\chapref}[1]{Chapter~\ref{#1}}

\newenvironment{Question}[2][Question]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
\begin{document}

    \FloatBarrier
\begin{table}[!htbp]

  %%\centering
  \caption{AAAA}
  \caption*{AAAA}
  \setlength\tabcolsep{0pt}
    \begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}} *{5}{d{2.2}}}
\midrule
\multicolumn{6}{c}{Panel A:}\\ 
\midrule
& \mc{$\delta_1$} & \mc{t-stat}  & \mc{$\delta_2$} & \mc{t-stat} &  \mc{$R^2$} \\ 
   \cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-6} 
1  & -0.06 & -0.40 & 0.8   & 16.0  &  0.05  \\
2  & 0.04  & 0.23  & 3.3   & 54.3  &  0.39  \\
3  & 0.03  & 0.19  & 1.7   & 41.0  &  0.27  \\
4  & 0.17  & 0.89  & 2.2   & 36.0  &  0.22  \\
5  & 0.12  & 0.88  & 1.2   & 28.0  &  0.15  \\
6  & 0.02  & 0.13  & -1.9  & -32.7 &  0.19  \\
7  & 0.04  & 0.40  & 0.2   & 5.9   &  0.01  \\
8  & 0.13  & 0.61  & 1.9   & 27.2  &  0.14  \\
9  & -0.02 & -0.22 & -0.5  & -14.8 &  0.05  \\
10 & 0.14  & 1.11  & 0.3   & 6.8   &  0.01  \\
11 & -0.21 & -1.14 & 0.5   & 8.7   &  0.02  \\
12 & -0.22 & -2.16 & 0.4   & 12.5  &  0.03  \\ 
\midrule
\\ \\ 
\midrule
\multicolumn{6}{c}{Panel B:}\\ 
\midrule
& \mc{$\delta_1$} & \mc{t-stat}  & \mc{$\delta_2$} & \mc{t-stat} &  \mc{$R^2$} \\ 
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-6} 
1  & -0.13 & -0.58 & 3.83  & 55.00 &  0.40  \\
2  & -0.02 & -0.17 & 2.35  & 49.92 &  0.35  \\
3  & -0.05 & -0.39 & 1.66  & 40.55 &  0.26  \\
4  & -0.09 & -1.19 & 0.79  & 33.25 &  0.19  \\
5  & 0.00  & 0.13  & -0.44 & -37.38 &  0.23  \\ 
\midrule
\\ \\ 
\midrule
\multicolumn{6}{c}{Panel C:}\\ 
\midrule
& \mc{$\delta_1$} & \mc{t-stat}  & \mc{$\delta_2$} & \mc{t-stat} &  \mc{$R^2$} \\ 
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-6} 
1  & 0.07  & 0.76  & -0.91 & -32.58 &  0.19  \\
2  & 0.04  & 0.61  & 0.05  & 2.24  &  0.00  \\
3  & -0.05 & -0.65 & 0.38  & 14.25 &  0.04  \\
4  & -0.01 & -0.16 & 0.69  & 25.03 &  0.12  \\
5  & -0.10 & -0.60 & 2.00  & 37.21 &  0.23  \\
\midrule
\end{tabular*}

  \label{tab:Reg1}%
\end{table}%
\end{document}

Antwort2

Ihre Tabelle passt in die angegebenen Ränder. Das ist, was ich bekomme, wenn ich \usepackage{showframe}das fehlende \begin{document}und\end{document}

Bildbeschreibung hier eingeben

Wie Sie deutlich sehen, passt es in das Feld, das die Textblockränder darstellt.


So würde ich es setzen: Eine Vergrößerung der Tabelle würde sie schlicht unlesbar machen.

\documentclass[12pt,a4paper]{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage[font=small,labelfont=bf,margin=\parindent,tableposition=top]{caption}

\begin{document}

\begin{table}[!htbp]
\centering
\caption{AAAA}\label{tab:Reg1}

\begin{tabular}{
  @{}
  r
  S[table-format=-1.2]
  S[table-format=-1.2]
  S[table-format=-1.2]
  S[table-format=-2.2]
  S[table-format=1.2]
  @{}
}
\toprule
\multicolumn{6}{c}{Panel A:} \\
\midrule
& {$\delta_1$} & {t-stat} & {$\delta_2$} & {t-stat} & {$R^2$} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-6}
 1 & -0.06 & -0.40 &  0.8 &  16.0 & 0.05  \\
 2 &  0.04 &  0.23 &  3.3 &  54.3 & 0.39  \\
 3 &  0.03 &  0.19 &  1.7 &  41.0 & 0.27  \\
 4 &  0.17 &  0.89 &  2.2 &  36.0 & 0.22  \\
 5 &  0.12 &  0.88 &  1.2 &  28.0 & 0.15  \\
 6 &  0.02 &  0.13 & -1.9 & -32.7 & 0.19  \\
 7 &  0.04 &  0.40 &  0.2 &   5.9 & 0.01  \\
 8 &  0.13 &  0.61 &  1.9 &  27.2 & 0.14  \\
 9 & -0.02 & -0.22 & -0.5 & -14.8 & 0.05  \\
10 &  0.14 &  1.11 &  0.3 &   6.8 & 0.01  \\
11 & -0.21 & -1.14 &  0.5 &   8.7 & 0.02  \\
12 & -0.22 & -2.16 &  0.4 &  12.5 & 0.03  \\
\midrule[\heavyrulewidth]
\multicolumn{6}{c}{Panel B:} \\
\midrule
& {$\delta_1$} & {t-stat} & {$\delta_2$} & {t-stat} & {$R^2$} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-6}
 1 & -0.13 & -0.58 &  3.83 &  55.00 & 0.40  \\
 2 & -0.02 & -0.17 &  2.35 &  49.92 & 0.35  \\
 3 & -0.05 & -0.39 &  1.66 &  40.55 & 0.26  \\
 4 & -0.09 & -1.19 &  0.79 &  33.25 & 0.19  \\
 5 &  0.00 &  0.13 & -0.44 & -37.38 & 0.23  \\
\midrule[\heavyrulewidth]
\multicolumn{6}{c}{Panel C:} \\
\midrule
& {$\delta_1$} & {t-stat} & {$\delta_2$} & {t-stat} & {$R^2$} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-6}
 1 &  0.07 &  0.76 & -0.91 & -32.58 & 0.19  \\
 2 &  0.04 &  0.61 &  0.05 &   2.24 & 0.00  \\
 3 & -0.05 & -0.65 &  0.38 &  14.25 & 0.04  \\
 4 & -0.01 & -0.16 &  0.69 &  25.03 & 0.12  \\
 5 & -0.10 & -0.60 &  2.00 &  37.21 & 0.23  \\
\bottomrule
\end{tabular}

\end{table}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen