如何使用書籤手動製作表格

如何使用書籤手動製作表格

我對 LaTex 的使用非常陌生,並且需要一些幫助來使用booktabs格式製作此表格。我使用R並且最好使用xtablespackage.json 來產生它。但是,我無法處理跨列的問題。

這就是為什麼我嘗試手動插入\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\clinebooktabs\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,因為它會為您的表格規則添加一些填充(基本乳膠中的表格行通常太緊)。

其次,表格標題應該是多於表格,因為表格可能遍佈頁面,讀者不必翻頁就知道表格的內容。為此,標題很有用,當標題位於表格上方時,基本乳膠會忘記交換和package的值。\abovecaptionskip\belowdisplayskip

第三,我會Observations用縮寫代替,因為我發現一列單位數字和這麼寬的列頭很難看。

第四,我會為表格最後的兩組 3 列設定較小的列間空間。另外,(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,您應該考慮重新組織表格,交換行和列。

相關內容