にちにちメモ

天文系大学院生のブログ。日々の生活の中で忘れがちなこと/忘れたくないことをメモ。

latex で横向きの表を複数ページに出力

行も列も長い表をlatexで出力するとき、
解決策の一つとして横向き(←列がすべて出力されるようになる)の
表を複数ページにわたって出力することが考えられる。

そのやり方のメモ。

横向きの表

  1. lscapeパッケージが入っているか確認
     find /usr/share -name lscape.sty
    あればOK。なければインストール。
  2. \usepackage{lscape}
  3. 横向きにしたい表を\begin{landscape} ~ \end{landscape}で
    はさむ。
    \begin{landscape}
      \begin{table}
        \centering
        \begin{tabular}{cccc}
        …
        \end{tabular}
      \end{table}
    \end{landscape}

 

複数ページにわたる表

  1. longtable.styの確認
  2. \usepackage{longtable}
  3. table環境をlongtable環境に置き換え、tabular環境を消す。

最後の手順は下のような操作。

修正前)
\begin{table}[ht]
  \centering
  \caption{hogehoge.}
  \label{tab:foo}
  \begin{tabular}{cccc}
    予算 & 支出 & 残高 & 実績 \\ \hline
    10000 & 111 & 99889 & ? \\
    …
    \hline
  \end{tabular}
\end{table}

修正後)
\begin{longtable}[c]{cccc}
  予算 & 支出 & 残高 & 実績 \\
    \hline \endhead  % 最上列に表示される内容
    \hline \endfoot  % 表の最後に表示する内容
    10000 & 111 & 99889 & ? \\
    …
\end{longtable}

1ページ目の最上列にのみ表示させたい内容がある場合は、
\begin{longtable}の行と\endheadの間に
その内容と\endfirstheadを上と同様に挿入する。

 

参考:

LaTeX 表の書き方

LaTeXで横長の表を90度回転させて配置する方法

 

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε美文書作成入門