Harukaのnote

Linuxやプログラミング,写真,旅行等の記録帳

Latex の Table 内で改行が簡単にできる書き方

論文やレポート等に Latex を使用している方,もしくは今から始める方におすすめかはわかりませんが,私がよく書く表の書き方をメモで残しておきます.

Word の表っぽく融通の効く方法を模索してまして,いろいろ試してこれでいいかと思います.

プリアンブル

\usepackage{multirow}    % セル結合用
\usepackage{tabularx}    % 表用&カラムサイズ指定

%% カラムサイズの指定用 %%
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

これで大文字のC,L,Rの後に{}でサイズの指定ができます.
このサイズで指定すると,行内で改行もしてくれます.
\multirow はセルを縦に結合する用です.

Table 内で改行

以下のような表の作り方です.
列タイトルは中央寄せ,データは左寄せみたいにしたいときにおすすめです.
また,テーブル内での改行についても説明します.
f:id:krulcifer-einfolk-fafnir:20190204195221p:plain

一部中央寄せ

通常通り,\tabular{}の中で,全体(データ)をどちら寄せにするかを決めます.
この例の場合,中央,左,左となっています.
左寄せにした2つのデータのタイトルのみ,中央寄せに変更したいので,
\multicolumn を用います.
\multicolumn は{ }が3つありますが,
 1つ目:結合数(今回は結合しないため 1 )
 2つ目:どちら寄せか(今回は中央寄せのため c )
 3つ目:対象のテキスト
です.
もちろん,隣のカラムと結合したければ1つ目を 2 にすれば良いです.
また,幅は既に\tabularで指定しているので,2つ目は小文字です.

テーブル内改行

親魏倭王」の部分です.カラムサイズによっては
  親魏倭
   王

みたいになって,読みづらいので,改行を任意に入れます.
\\ ではなく, \par を使います.
\par の後にスペースを入れるのを忘れないようにしてください.
エディタによっては以下のようにシンタックスハイライトでコマンドとして判定されているように見えますが,

\par倭王

実際は,「\par倭王」というコマンドとして見られるのでエラーになります.

コード

\begin{table}[h]
	\centering
	\caption{タイトル}
	\begin{tabular}{C{2cm}|L{2cm}|L{3cm}}
		%% カラム名 %%
		\hline
		カラム1(c)& 
		\multicolumn{1}{c|}{カラム2(c)}& 
		\multicolumn{1}{c}{カラム3(c)}	\\ \hline
		%% データ %%
		親魏\par 倭王&		 友情&	卑弥呼		\\ \hline&			努力&	魯粛		\\ \hline&			勝利&	司馬炎		\\ \hline
	\end{tabular}
	\label{tab:sample}
\end{table}

もし,
 親魏
  倭王

みたいに微妙にずれたら,

親魏\par \noindent 倭王

で改善するかもしれません.

セルの縦結合

f:id:krulcifer-einfolk-fafnir:20190204202629p:plain
カラム1の1,2の部分です.
カラム2以降では 3 行使っていますが,それらをカラム1では 1 行にまとめています.
\multirow を用います.
{}が3つありますが,
 1つ目:縦の結合数(今回は 3 )
 2つ目:列幅( * はプログラムが選ぶ適切な位置:通常はこれで)
 3つ目:対象のテキスト
です.

コード

\begin{table}[h]
  \centering
  \small
  \caption{アンケート結果}
  \begin{tabular}{C{0.6cm}|r|r|C{0.5cm}|C{0.5cm}|C{0.5cm}|C{0.5cm}}
    \hline
    カラム1
    &\multicolumn{1}{c|}{カラム2}
    &\multicolumn{1}{c|}{カラム3}
    &A&B&C&D\\ \hline\hline
    %% データ1
    \multirow{3}{*}{1}
    &1-1 & i&0&0&0&1\\ 
    &1-2& ii&0&0&1&0\\
    &1-3& iii&0&0&1&1\\ \hline
    %% データ2
    \multirow{3}{*}{2}
    &2-1 & i&0&0&0&1\\ 
    &2-2& ii&0&0&1&0\\
    &2-3& iii&0&0&1&1\\ \hline
  \end{tabular}
  \label{tab:sample2}
\end{table}

おわりです.参考になれば幸いです.

最後に

もしお役に立てたなら
haruka | OFUSE (オフセ)