跳至主要內容
EasyLaTeXDocs

基礎表格、跨列與長表格

使用 tabular 排列單頁表格,使用 booktabs 繪製簡潔橫線;表格超過一頁時使用 longtable。表格內容應服務於比較和查閱,而不是把段落文字硬塞進網格。

EasyLaTeX 編譯器設定:XeLaTeX + ctex;推薦載入 booktabs。跨頁表格需要 longtable。

最小表格

tabular 的列格式放在花括號內:l 左對齊、c 居中、r 右對齊。列之間用 & 分隔,行末用 \\ 結束:

LaTeX
\begin{tabular}{lcr}  名稱 & 類別 & 數值 \\  樣本 A & 對照組 & 12.3 \\  樣本 B & 實驗組 & 15.8 \\\end{tabular}

數字列通常右對齊,便於比較小數點附近的數值。複雜數值對齊可在後續專題使用專門工具;基礎表格先保證列含義清楚。

更清晰的橫線

載入 booktabs 後,使用 \toprule、\midrule 和 \bottomrule:

LaTeX
\usepackage{booktabs}​\begin{tabular}{lcr}  \toprule  名稱 & 類別 & 數值 \\  \midrule  樣本 A & 對照組 & 12.3 \\  樣本 B & 實驗組 & 15.8 \\  \bottomrule\end{tabular}

booktabs 的橫線留白和粗細經過設計。正文表格通常不需要豎線,也不應在每一行之間畫橫線;過多網格會分散讀者對資料的注意力。

對齊與固定寬度列

p{寬度} 建立固定寬度、可自動換行的段落列:

LaTeX
\begin{tabular}{lp{7cm}r}  \toprule  編號 & 說明 & 分數 \\  \midrule  A1 & 這是一段較長的說明,會在指定寬度內自動換行。 & 95 \\  \bottomrule\end{tabular}

表格整體過寬時,先縮短表頭、讓說明列換行或拆分表格。不要預設使用 \resizebox 把所有文字縮小到難以閱讀。

跨列單元格

\multicolumn{列數}{對齊}{內容} 可合併多列:

LaTeX
\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 浮動體裡:

LaTeX
\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 環境。兩者的分頁機制不同,不能巢狀。

完整示例

LaTeX
\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}