基礎表格、跨列與長表格
使用 tabular 排列單頁表格,使用 booktabs 繪製簡潔橫線;表格超過一頁時使用 longtable。表格內容應服務於比較和查閱,而不是把段落文字硬塞進網格。
EasyLaTeX 編譯器設定:XeLaTeX + ctex;推薦載入 booktabs。跨頁表格需要 longtable。
最小表格
tabular 的列格式放在花括號內:l 左對齊、c 居中、r 右對齊。列之間用 & 分隔,行末用 \\ 結束:
\begin{tabular}{lcr} 名稱 & 類別 & 數值 \\ 樣本 A & 對照組 & 12.3 \\ 樣本 B & 實驗組 & 15.8 \\\end{tabular}數字列通常右對齊,便於比較小數點附近的數值。複雜數值對齊可在後續專題使用專門工具;基礎表格先保證列含義清楚。
更清晰的橫線
載入 booktabs 後,使用 \toprule、\midrule 和 \bottomrule:
\usepackage{booktabs}\begin{tabular}{lcr} \toprule 名稱 & 類別 & 數值 \\ \midrule 樣本 A & 對照組 & 12.3 \\ 樣本 B & 實驗組 & 15.8 \\ \bottomrule\end{tabular}booktabs 的橫線留白和粗細經過設計。正文表格通常不需要豎線,也不應在每一行之間畫橫線;過多網格會分散讀者對資料的注意力。
對齊與固定寬度列
p{寬度} 建立固定寬度、可自動換行的段落列:
\begin{tabular}{lp{7cm}r} \toprule 編號 & 說明 & 分數 \\ \midrule A1 & 這是一段較長的說明,會在指定寬度內自動換行。 & 95 \\ \bottomrule\end{tabular}表格整體過寬時,先縮短表頭、讓說明列換行或拆分表格。不要預設使用 \resizebox 把所有文字縮小到難以閱讀。
跨列單元格
\multicolumn{列數}{對齊}{內容} 可合併多列:
\begin{tabular}{lcc} \toprule \multicolumn{1}{c}{樣本} & \multicolumn{2}{c}{測量結果} \\ \cmidrule(lr){2-3} 名稱 & 第一次 & 第二次 \\ \midrule A & 12.3 & 12.6 \\ B & 15.8 & 16.1 \\ \bottomrule\end{tabular}\cmidrule(lr){2-3} 為第 2 至 3 列繪製短橫線,適合分組表頭。
跨頁長表格
tabular 不能自動分頁。表格超過一頁時,使用 longtable,且不要再包在 table 浮動體裡:
\usepackage{longtable}\usepackage{booktabs}\begin{longtable}{llr} \caption{樣本測量記錄}\label{tab:measurements} \\ \toprule 編號 & 日期 & 數值 \\ \midrule \endfirsthead \toprule 編號 & 日期 & 數值 \\ \midrule \endhead A1 & 2026-07-01 & 12.3 \\ A2 & 2026-07-02 & 12.6 \\ % 繼續新增行;表格會在頁面邊界自動分頁。 \bottomrule\end{longtable}\endfirsthead 前定義第一頁表頭,\endhead 前定義續頁表頭。長表格會自行分頁,因此不適合 figure 或 table 的浮動邏輯。
常見問題
Extra alignment tab has been changed to \cr
某一行的 & 數量與列數不匹配。三列表格每行應有兩個 &;檢查是否漏寫、誤寫,或單元格文字中出現了未轉義的 &。
表格超出頁邊距
先讓長文字列使用 p{...},簡化表頭,或拆分為兩張邏輯清晰的表格。橫向頁面或縮放是最後考慮的方案。
長表格不顯示或位置異常
確認沒有將 longtable 放進 table 環境。兩者的分頁機制不同,不能巢狀。
完整示例
\documentclass[UTF8,a4paper,12pt]{ctexart}\ctexset{contentsname={目錄},listfigurename={插圖目錄},listtablename={表格目錄},figurename={圖},tablename={表}}\usepackage{booktabs}\begin{document}\begin{table}[tbp] \centering \caption{樣本測量結果} \label{tab:results} \begin{tabular}{lcr} \toprule 名稱 & 類別 & 數值 \\ \midrule 樣本 A & 對照組 & 12.3 \\ 樣本 B & 實驗組 & 15.8 \\ \bottomrule \end{tabular}\end{table}表 \ref{tab:results} 彙總了兩個樣本的測量結果。\end{document}