
環境を使用して、tabular*
テーブルをページ幅に拡張しようとしています。ただし、テーブルはプリアンブルで定義されたページ幅よりも拡張されます...
これが私のコードです:
\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}%
答え1
デバイスを使用する場合@{\extracolsep{\fill}}
、LaTeX は各列間のスペースの幅を に設定します。少なくとも私が知っているほとんどのドキュメント クラスでは、2\tabcolsep+\fill
のデフォルト値はです。\tabcolsep
6pt
環境の「自然な」幅tabular*
、つまり\fill=0pt
(注:\fill
負の値にはならない) がテキスト ブロックの幅を超える場合は、次の 3 つの解決策を検討する必要があります。
最初の列の左側と最後の列の右側の空白を削除します (合計節約額:
2\tabcolsep
);命令を実行します
\setlength\tabcolsep{0pt}
。これにより、各列間の空白は\fill
; と等しくなり、\small
またはなどの命令を実行して、フォント サイズを縮小します\footnotesize
。
tabular*
以下のコードは、6 つのデータ列ではなく 14 の を使用した結果を示しており、テーブルの幅がテキスト ブロックの幅を超える例を作成しています。最初のtabular*
環境では の既定値を使用し\tabcolsep
、2 番目の環境では を使用します\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}
補遺、投稿者が自分の投稿を「実際の」表を表示するために拡張した後に投稿されました。表の資料がテキストブロックの幅に収まらないことについて、何を懸念しているのかわかりません。ただし、表が高すぎてテキストブロックに収まらないことには気付きました。ただし、これは低レベルのTeXマクロを変更したためです\baselineskip
。直接変更する代わりに\baselineskip
、パッケージをロードしsetstretch
て次のコマンドを発行します。\setstretch{1.3}
。そうすれば、脚注、表、配列の資料がない垂直に伸びます。
テーブルには不要な列が 2 つと、不要なステートメント (すべてのディレクティブを参照) が多数あります\multicolumn{1}{l}{}
。クリーンアップして、すべてのディレクティブをs\hline
に置き換え、すべてのステートメントをs に置き換え、パッケージを使用して数値データをそれぞれの小数点マーカーに揃えると、次のようになります。\midrule
\cline
\cmdirule
dcolumn
\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}
答え2
表は指定された余白に収まります。\usepackage{showframe}
不足している部分\begin{document}
と\end{document}
ご覧のとおり、テキスト ブロックの余白を表すボックスに収まります。
私がタイプセットする方法は次のとおりです。表を拡大すると、単に読みにくくなります。
\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}