表関連メモ

定義したマクロ

mytable
\begin{mytable}{ラベル}{表の説明}{列の配置}
表の中身
\end{mytable}
\newenvironment{mytable}[3]{
\begin{table}[tb]
\begin{center}
\caption{#2}
\label{#1}
\begin{tabular}{#3}
}{
\end{tabular}
\end{center}
\end{table}
}
puttable
\puttable{ファイル名}{表の説明}

tableディレクトリの中に入れてある表用のtexファイルを挿入する。
また、表に「table:ファイル名」というラベルをつける。
表用のtexファイルはtabular環境で囲まれているものを想定。

\newcommand{\puttable}[2]{
\begin{table}[tb]
\begin{center}
\caption{#2}
\label{table:#1}
\expandafter{\input{table/#1}}
\end{center}
\end{table}
}
コマンド名短くしただけ
\newcommand{\mr}[3][*]{\multirow{#2}{#1}{#3}}
\newcommand{\sh}[1]{\shortstack{#1}}
\newcommand{\rb}[2]{\raisebox{#1zh}{#2}}

表の枠

横棒

\hlineで横棒1つ挿入。
\cline{start-end}でstart列目からend列目まで横棒。数値は1から始まる。

縦棒

tabular環境の列の配置で設定。
{|c|c|}と設定すると、縦棒、センタリングされたセル、縦棒、センタリングされたセル、縦棒となる。
cの代わりにp{10cm}などと入れると、セルがその長さで改行されるようになる。

縦にセルを結合する
\multirow{結合する数}{*}{結合されたセルの中身}&次のセル\\
\cline{結合されてない行の範囲}
 &次の行(左側には結合されたセルが来る。左の半角スペースは必須なはず)。\\

multirowパッケージが必要なはず。

横にセルを結合する
\multicolumn{結合する数}{列のレイアウト(「|c」、「|c|」、「c|」辺り)}{結合されたセルの中身}

multicolumnを使った部分はtabularで指定された縦棒が消えるらしい。

セル内で改行

  • \tabularの列の指定で|c|c|などの代わりに|c|p{10cm}|などとする。

指定位置で改行出来ない。

  • \shortstack{1行目\\2行目\\...}とする。

セル内の高さがおかしくなる。

  • \multirowでセルを結合してセル間の横棒を引かないようにする。

手間。