
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 \tabcolsep
ist , zumindest in den meisten Dokumentklassen, die ich kenne 6pt
.
Wenn die „natürliche“ Breite der tabular*
Umgebung, also mit \fill=0pt
(Achtung: \fill
darf 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
; undVerkleinern Sie die Schriftgröße beispielsweise durch Ausführen einer Anweisung wie
\small
oder\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
.
\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 \baselineskip
direkt zu ändern, würde ich das setstretch
Paket 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 \hline
Direktiven durch \midrule
s und alle \cline
Anweisungen durch \cmdirule
s ersetzt und das dcolumn
Paket verwendet, um numerische Daten an den jeweiligen Dezimaltrennzeichen auszurichten, erhält man:
\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}
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}