Latex的分頁表格與longtable宏包

用latex寫文有時候會碰到比較大的表格,對於很寬但又不長的表格能夠使用rotfloat宏包的sidewaystable環境來插入旋轉90度後的表格,如:shell

%導言區:\usepackage{rotfloat}
\begin{sidewaystable}
\centering
\begin{tabular}{ccccccccccccccccccccccccccccccc}
...
\end{tabular}
\end{sidewaystable}

對於不寬但很長的表格能夠用longtable宏包來進行分頁顯示。實例以下:ide

%導言區:\usepackage{longtable,booktabs}
\begin{longtable}{ccccccccccc}
\caption{表名}\label{tab-data}
\toprule
Name  & Sample & $z_d$   & $z_s$   & $\sigma_{ap}$(km/s)  & $R_e$(") & $\sigma_{e8}$(km/s)  & $\theta_E$(")   & $D_{obs}$ & $\sigma_D$   & Ref  \\
\midrule
\endfirsthead
\multicolumn{11}{r}{續表\autoref{tab-data}}\\
\multicolumn{11}{c}{(接上頁)}\\
\toprule
Name  & Sample & $z_l$   & $z_s$   & $\sigma_{ap}$(km/s)  & $R_e$(") & $\sigma_{e8}$(km/s)  & $\theta_E$(")   & $D_{obs}$ & $\sigma_D$   & Ref  \\
\midrule
\endhead
\bottomrule
\multicolumn{11}{c}{(接下頁)}
\endfoot
\bottomrule
\endlastfoot
...
——(表格內容)——
...
\end{longtable}

\toprule、\midrule和\bottomrule爲三線表booktabs的橫線控制命令;\endfirsthead前爲表格首頁的表頭,\endfirsthead到\endhead部分爲其它頁的表頭,\endhead到\endfoot部分爲除表格尾頁外的其它頁的表尾,若表格接口處須要鏈接提示(如實例中的「續表」「接上頁」「接下頁」等內容)可在上述兩個部分設置,\endfoot到\endlastfoot部分是最後一頁的表尾。spa

最簡單的使用也可不作\endhead等設置,直接使用longtable環境,這樣表格也會在分頁時自動斷開。而插入\newpage命令能在命令插入處強制分頁。須要交叉引用時label可如上所示放在caption的後面。code

須要注意的是longtable環境不能放在table的浮動體內,不然只會在一頁顯示。orm

有時候表格的內容太多過寬,須要用小號的字,可在\begin{longtable}前加\small等控制字號的命令。但這樣會一個問題:caption的內容也變小了。在caption內容前加\normalsize等字號命令雖可以使內容成爲大字,但前面的"表?"字樣仍爲小字,可經過使用caption宏包解決這一問題,在導言區加入下列命令:接口

\usepackage[font=normalsize]{caption}
\renewcommand{\normalsize}{\zihao{-4}}

上述命令將caption的字號設爲normalsize,同時又經過重定義\normalsize來控制caption的字號大小。ci

對於又長又寬的表格,目前除了縮小字號外還不清楚是否有更好的方法,求指教!io


2016.3.4更新:table

對於又長又寬的表格,能夠使用landscape環境來翻轉頁面,結合longtable環境將表格分頁:ast

%導言區:\usepackage{longtable,pdflscape}
\begin{landscape}
\begin{longtable}{ccccccccccc}
...
\end{longtable}
\end{landscape}

某些模板內置的表格環境可能也支持表格翻轉並分頁,如American Astronomical Society (AAS)提供的模板,可直接使用模板中的deluxetable環境加上rotate命令來實現:

\begin{deluxetable}{cccccccccc}
\rotate %翻轉表格
\startdata
... (data)
\enddata
\end{deluxetable}
相關文章
相關標籤/搜索