ブックタブを使用して手動で表を作成する方法

ブックタブを使用して手動で表を作成する方法

私は 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

Observations3 番目に、列見出しが幅広で数字が 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」を省略したくない場合は、行と列を入れ替えてテーブルを再編成することを検討する必要があります。

関連情報