アレのことだけど。
\tabularnewline
のことも覚えておいてあげてください。
\documentclass[a4paper]{article} \usepackage{array} \begin{document} \newcolumntype{C}{>{\centering}p{4em}} \begin{center}\begin{tabular}{c|CCC} \hline A & 1 & 2 \\ (foo) & 3 \tabularnewline B & 4 & 5 & 6 \\ %これはセル内改行 (bar) \tabularnewline % 表の改行 C & 7 \\ (gee) & 8 & 9 \\ (whiz) \tabularnewline \hline \end{tabular}\end{center} \end{document}
上の例のように、「(\centering
等を指定した)段落セル内部の改行(\\
はこれを表す)」を実際に利用する場合には、表の改行を全て \tabularnewline
(これは状況に依らずにいつも表の改行を表す((なお、\tabularnewline
は LaTeX 標準の命令である。(array パッケージの命令ではない。))))で行うと混乱が避けられて好都合だろう。
そもそも、LaTeX の仕様で「表の改行」と「段落内の強制改行」を両方 \\
で表そうとしたのが混乱の原因になっていると私は思う。さらにややこしいことに、もし段落セルで \centering
等の水平位置揃えを用いなかった場合はまた挙動が異なる。この場合、\\
は「表の改行」のままで、「セル内の改行」は \newline
で行うのが正しい。ところが、水平位置揃えを用いた場合は、今度は \newline
は正しく機能しない。ああややこしい。