LaTeX

LaTeXで「セルを結合して中央揃え」を実現させる方法

概要

  • LaTeXの表で「セルを結合して中央揃え」を実現させる.
  • (おまけ)セル内の配置を調整する
  • (おまけ)キャプションと表・図の間の空白を消す

今回作る表

スクリーンショット 2018-01-13 18.03.43.png

方法

\begin{table}[h]%[]内はお好みで(h(here),t(top),b(bottom),H(要here.sty)を記入)
\caption{成績}
\begin{center}
\begin{tabular}{|c|c|ccc|}\hline
\multicolumn{2}{|c|}{} & \multicolumn{3}{c|}{国語の点数}\\
\cline{3-5}
\multicolumn{2}{|c|}{} & 0 $\sim$ 39 & 40 $\sim$ 79 & 80 $\sim$ 100 \\ \hline
& 0 $\sim$ 39 &0 &2 &4 \\
数学の点数 & 40 $\sim$ 79 & 2 & 9 & 8\\
& 80 $\sim$ 100 & 6 & 4 & 1\\ \hline
\end{tabular}
\end{center}
\end{table}

おまけ

「国語の点数」の部分にたくさんの文字を入れる場合

スクリーンショット 2018-01-13 18.09.29.png

この場合,表はその文字数によって全体の横幅が調整されるため,点数部分の列幅がおかしくなってしまう.

解決法

\newcolumntype{C}{>{\centering\arraybackslash}p{17mm}} %ここを追加
\begin{table}[h]
\caption{成績}
\begin{center}
\begin{tabular}{|c|c|CCC|}\hline %ここもcからCへ変更
\multicolumn{2}{|c|}{} & \multicolumn{3}{c|}{国語の点数}\\
\cline{3-5}
\multicolumn{2}{|c|}{} & 0 $\sim$ 39 & 40 $\sim$ 79 & 80 $\sim$ 100 \\ \hline
& 0 $\sim$ 39 &0 &2 &4 \\
数学の点数 & 40 $\sim$ 79 & 2 & 9 & 8\\
& 80 $\sim$ 100 & 6 & 4 & 1\\ \hline
\end{tabular}
\end{center}
\end{table}

スクリーンショット 2018-01-13 18.16.16.png

begin{tabular}の後ろに続く部分には,通常l(左端揃え),r(右端揃え),c(中央揃え)の3つしか書けないが,そこに新たに作った「C」を使う.
1行目の部分のうち,最後のp{17mm}の部分を変更することで該当する各セルの横幅の太さを変更できる.
ちなみに,指定した幅内で文字列が収まらない場合は自動的にセル内で改行される.

一部のセルだけ配置を変更する

\multicolumn{1}{r}{この部分だけ右揃え}のように,"1つのセルを結合する"ように書くことで1つのセルだけ配置を変更できる.

キャプションと表・図の間の空白を消す

表や図を挿入するときは,\begin{center},\end{center}を使うとキャプションと表・図の間に1行分の空白が生じてしまう.
そこで,\begin{center}の部分に\centeringと書き,\end{center}を消すことでその空白を消すことができる.
スクリーンショット 2018-01-13 18.17.06.png