こえむのちょこっとメモ

大きなまとめにする程でもないけど記録したい事を残します

LaTeXで表の列幅を一定にする

LaTeXでは、表の列幅は中に入っている文字列のつまり具合で決まる。そのため、文字数が長いと紙の幅を飛び出す事がしばしある。
そこで、幅の最大値を固定してしまうことで、紙の幅を飛び出さないようにする事が出来る。

例文は次の通り。

\documentclass{jsarticle}
\begin{document}

\begin{table}[tb]
  \begin{center} 
    \caption{折り返せている表}
    \label{test1}
    \begin{tabular}{|c||l|p{20em}|} \hline
      項目 & 内容 & 備考 \\ \hline \hline
      1番  & 内容を書く & 長い文字列を書いても大丈夫なはずだがどうだろうか てすてすてす \\ \hline		
    \end{tabular}
  \end{center}
\end{table}

\begin{table}[tb]
  \begin{center} 
    \caption{折り返せていない表}
    \label{test2}
    \begin{tabular}{|c||l|l|} \hline
      項目 & 内容 & 備考 \\ \hline \hline
      1番  & 内容を書く & 長い文字列を書いても大丈夫なはずだがどうだろうか てすてすてす \\ \hline		
    \end{tabular}
  \end{center}
\end{table}

\begin{table}[tb]
  \begin{center} 
    \caption{短い文の表}
    \label{test3}
    \begin{tabular}{|c||l|p{20em}|} \hline
      項目 & 内容 & 備考 \\ \hline \hline
      1番  & 内容を書く & 短い \\ \hline		
    \end{tabular}
  \end{center}
\end{table}\ref{test1}は一定の幅を超えた文字列は折り返されている。表\ref{test2}は折り返されない。また、表\ref{test3}のように文字列が短い場合でも長さは固定される。

\end{document}

タイプセット結果は次の通り。
f:id:koemu:20130101202203p:plain