
Estoy intentando utilizar el tabular*
entorno para estirar una tabla al ancho de la página. Sin embargo, la tabla se estira más que el ancho de página definido en el preámbulo...
Aquí está mi código:
\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}%
Respuesta1
Al usar el @{\extracolsep{\fill}}
dispositivo, LaTeX establece el ancho de cada espacio entre columnas en 2\tabcolsep+\fill
. El valor predeterminado de \tabcolsep
, al menos en la mayoría de las clases de documentos con las que estoy familiarizado, es 6pt
.
Si el ancho "natural" del tabular*
entorno, es decir, con \fill=0pt
(nota: \fill
no puede ser negativo), excede el ancho del bloque de texto, se deben considerar tres posibles soluciones:
Elimine el espacio en blanco a la izquierda de la primera columna y a la derecha de la última columna (ahorro total:)
2\tabcolsep
;Ejecute la instrucción
\setlength\tabcolsep{0pt}
. De esa manera, cada espacio en blanco entre columnas es igual a\fill
; yReduzca el tamaño de la fuente, por ejemplo, ejecutando una instrucción como
\small
o\footnotesize
.
El siguiente código muestra los resultados del uso tabular*
de 14 en lugar de "sólo" 6 columnas de datos para crear un ejemplo del ancho de la tabla que excede el del bloque de texto. El primer tabular*
entorno utiliza el valor predeterminado de \tabcolsep
, mientras que el segundo utiliza \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}
Apéndice, publicado después de que el OP aumentara su publicación para mostrar una tabla "real": No estoy seguro de cuál es su preocupación acerca de que el material tabular no se ajuste al ancho del bloque de texto. Sin embargo, noté que la tabla es demasiado alta para caber en el bloque de texto. Sin embargo, eso se debe a que cambió la macro TeX de nivel inferior \baselineskip
. En lugar de modificarlo \baselineskip
directamente, cargaría el setstretch
paquete y emitiría el comando \setstretch{1.3}
; De esa manera, el material en notas a pie de página, tablas y matrices senoestirarse verticalmente.
Su tabla tiene dos columnas innecesarias y muchas declaraciones innecesarias, cf. todas esas \multicolumn{1}{l}{}
directivas. Con un poco de limpieza, reemplazando todas \hline
las directivas con \midrule
s y todas \cline
las declaraciones con \cmdirule
s, y usando el dcolumn
paquete para alinear datos numéricos en los respectivos marcadores decimales, se obtiene:
\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}
Respuesta2
Su mesa cabe en los márgenes indicados. Esto es lo que obtengo si agrego \usepackage{showframe}
los faltantes \begin{document}
y\end{document}
Como puede ver claramente, cabe en el cuadro que representa los márgenes del bloque de texto.
Así es como lo componería: ampliar la tabla simplemente la hará ilegible.
\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}