
私は LaTex の使用にまったく慣れていないので、書式設定を使用してこの表を作成するのに助けが必要です。booktabs
私はパッケージを使用しておりR
、理想的にはxtables
パッケージを使用して生成します。ただし、列をまたぐ処理は処理できませんでした。
そのため、\multicolumn
コマンドを手動で挿入しようとしました。
コードは次のとおりです:
\documentclass{article}
\usepackage{booktabs}
\usepackage{multirow}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{@{\extracolsep{4pt}}llccccccc}
\toprule
{} & {} & {Observations} & \multicolumn{3}{c}{Median} & \multicolumn{3}{c}{SD}\\
\cline{3-3}
\cline{4-6}
\cline{7-9}
Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\
\hline
\multirow{2}{*}{2012}
& Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\
& Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
\multirow{2}{*}{2016}
& Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
& Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
\hline
\end{tabular}
\caption{Mean by Year and Group}
\end{table}
\end{document}
しかし、この表は標準に従っていないため、あまり適切にフォーマットされていないと思いますbooktabs
。同じデザインで、より適切にフォーマットされた表を手動で作成するにはどうすればよいでしょうか。
ありがとう
答え1
表の主な問題は、ルールではなくbooktabs
、標準の表形式のルール (\hline
および\cline
) とbooktabs
ルール ( \toprule
) が混在していることです。
これらのルールをbooktabs
バージョン ( \midrule
、 \cmidrule
、\bottomrule
) に置き換えると、必要な書式設定が得られます。
削除しましたmultirow
。これはテーブルに何も追加しません。その年の行のペアの最初の行に年を入力するだけで十分です。一般的には、multirow
まったく使用しないでください。使用法はありますが、通常はボックス セルを持つフォームなどで使用します。標準的な調査テーブルでは、ほとんど適切ではありません。
PS データが捏造であることを願います! N は本当に小さいですね... :)
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{@{\extracolsep{4pt}}llccccccc}
\toprule
{} & {} & {Observations} & \multicolumn{3}{c}{Median} & \multicolumn{3}{c}{SD}\\
\cmidrule{3-3}
\cmidrule{4-6}
\cmidrule{7-9}
Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\
\midrule
2012 & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\
& Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
2016 & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
& Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
\bottomrule
\end{tabular}
\caption{Mean by Year and Group}
\end{table}
\end{document}
数値データの組版に関するコメント
数値データをタイプセットする場合、列タイプを使用するc
ことは実際には最善の策ではありません。通常、数値データは何らかの方法で揃えて、数字のサイズが異なる場合に適切に整列するようにします。
小数点データの場合は、小数点に揃えるのが普通です。小数点以外のデータの場合は、単純に右揃えで十分です。
小数点に揃えるには、siunitx
パッケージまたはdcolumn
パッケージを使用できます。siunitx
には、大きな数値の桁グループ化など、数値データを自動的にフォーマットするための多くの優れた機能があります。また、SI 単位を適切にタイプセットする方法も提供します。dcolumn
パッケージは、小数点の揃え用に特別に設計されています。違いを示す例を次に示します。
\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{siunitx}
% Shorthand for multicolumn
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{tabular}{ccrD{.}{.}{2.3}S}
\toprule
Center & Center & \mc{right} & \mc{D-column} & \mc{S-column} \\
\midrule
1 & 32.6 & 1 & 32.6 & 32.6 \\
10 & 335.434 & 10 & 335.434 & 335.434 \\
100 & 0.99 & 100 & 0.99 & 0.99 \\
5 & 1 & 5 & 1 & 1 \\
\bottomrule
\end{tabular}
\end{document}
答え2
まず、すべてのルールを を使用して実行する必要がありますbooktabs
。これにより、テーブル ルールにいくらかのパディングが追加されます (基本的な LaTeX のテーブル行は、多くの場合、非常に狭すぎます)。
第二に、表のキャプションはその上表は複数のページにまたがる場合があり、読者が表の内容を知るためにページをめくる必要がないようにする必要があります。このためにキャプションが役立ちます。基本的な LaTeX では、キャプションが表の上にある場合にとpackage
の値が入れ替わることを忘れます。\abovecaptionskip
\belowdisplayskip
Observations
3 番目に、列見出しが幅広で数字が 1 桁の列になるのは見苦しいと思うので、略語に置き換えます。
4 番目に、表の最後にある 3 列の 2 つのグループの列間スペースを小さく設定します。また、(lr)
`\cmidrules のパラメータは、表の全体的な外観を改善するのに役立ちます。
\documentclass{article}
\usepackage{array, multirow, caption, booktabs}
\begin{document}
\begin{table}[ht]
\centering\setlength\extrarowheight{2pt}
\caption{Mean by Year and Group}
\begin{tabular}{@{\extracolsep{4pt}}llc*{2}{c@{\enspace}c@{\enspace}c}}
\toprule
{} & {} & {Obsv\textsuperscript{ns}} & \multicolumn{3}{c}{Median} & \multicolumn{3}{c}{SD}\\
\cmidrule(lr){3-3}
\cmidrule{4-6}
\cmidrule(lr){7-9}
Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\
\midrule
\multirow{2}{*}{2012}
& Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\
& Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
\addlinespace
\multirow{2}{*}{2016}
& Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
& Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
注記: 「Observations」を省略したくない場合は、行と列を入れ替えてテーブルを再編成することを検討する必要があります。