
Estou tentando usar o tabular*
ambiente para esticar uma tabela até a largura da página. No entanto, a tabela fica esticada mais do que a largura da página definida no preâmbulo...
Aqui está meu 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}%
Responder1
Ao usar o @{\extracolsep{\fill}}
dispositivo, o LaTeX define a largura de cada espaço entre colunas como 2\tabcolsep+\fill
. O valor padrão de \tabcolsep
, pelo menos na maioria das classes de documentos com as quais estou familiarizado, é 6pt
.
Caso a largura “natural” do tabular*
ambiente, ou seja, com \fill=0pt
(nota: \fill
não pode ser negativo), ultrapassar a largura do bloco de texto, três soluções possíveis devem ser consideradas:
Elimine os espaços em branco à esquerda da primeira coluna e à direita da coluna final (economia total:
2\tabcolsep
);Execute a instrução
\setlength\tabcolsep{0pt}
. Dessa forma, cada espaço em branco entre colunas é igual a\fill
; eReduza o tamanho da fonte, por exemplo, executando uma instrução como
\small
ou\footnotesize
.
O código abaixo mostra os resultados do uso tabular*
de 14 em vez de "apenas" 6 colunas de dados para criar um exemplo da largura da tabela excedendo a do bloco de texto. O primeiro tabular*
ambiente usa o valor padrão de \tabcolsep
, enquanto o segundo usa\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}
Termo aditivo, postado depois que o OP aumentou sua postagem para mostrar uma tabela "real": Não tenho certeza qual é a sua preocupação sobre o material tabular não caber na largura do bloco de texto. Notei, porém, que a mesa é alta demais para caber no bloco de texto. No entanto, isso ocorre porque você alterou a macro TeX de nível inferior \baselineskip
. Em vez de modificar \baselineskip
diretamente, eu carregaria o setstretch
pacote e emitiria o comando \setstretch{1.3}
; dessa forma, o material em notas de rodapé, tabelas e matrizesnãoser esticado verticalmente.
Sua tabela tem duas colunas desnecessárias e muitas instruções desnecessárias, veja todas essas \multicolumn{1}{l}{}
diretivas. Com alguma limpeza, substituindo todas \hline
as diretivas por \midrule
s e todas \cline
as instruções por \cmdirule
s, e usando o dcolumn
pacote para alinhar dados numéricos nos respectivos marcadores decimais, obtém-se:
\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}
Responder2
Sua mesa cabe nas margens indicadas. Isto é o que recebo se adicionar \usepackage{showframe}
e o que falta \begin{document}
e\end{document}
Como você pode ver claramente, ele cabe na caixa que representa as margens do bloco de texto.
Aqui está como eu a escreveria: ampliar a tabela simplesmente a tornará ilegível.
\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}