回答:
列指定子には、l / r / cの代わりにp {width}を使用してください。
\begin{tabular}{|p{1cm}|p{3cm}|}
This text will be wrapped & Some more text \\
\end{tabular}
\begin{tabular}{p{1cm}p{3cm}}
begin{tabular}{lp{<whatever is left to fill the line width>}}
p{0.2\linewidth}p{0.6\linewidth}}
通常のtabular
環境では、p{width}
marcogが示すように、列タイプを使用します。しかし、それによって明示的な幅を指定する必要があります。
別のソリューションはtabularx
環境です:
\usepackage{tabularx}
...
\begin{tabularx}{\linewidth}{ r X }
right-aligned foo & long long line of blah blah that will wrap when the table fills the column width\\
\end{tabularx}
すべてのX列は同じ幅になります。これ\hsize
は、フォーマット宣言で設定することで影響を与えることができます。
>{\setlength\hsize{.5\hsize}} X >{\setlength\hsize{1.5\hsize}} X
しかし、すべての要素を合計すると1になるはずです(これはLaTeXの仲間から取ったものです)。tabulary
列の幅を調整して行の高さのバランスをとるパッケージもあります。詳細については、texdoc tabulary
(TeXliveで)各パッケージのドキュメントを入手できます。
別のオプションは、テキストの折り返しが必要な各セルにミニページを挿入することです。例:
\begin{table}[H]
\begin{tabular}{l}
\begin{minipage}[t]{0.8\columnwidth}%
a very long line a very long line a very long line a very long line
a very long line a very long line a very long line a very long line
a very long line a very long line a very long line %
\end{minipage}\tabularnewline
\end{tabular}
\end{table}
itemize
セルにリストを配置できました。
\columnwidth
試したところ、列幅ではなく表幅のように見えたので0.2\columnwidth
、適切な幅になるように手動で比率を設定する必要がありました。
私はtabulary
パッケージのシンプルさが好きです:
\usepackage{tabulary}
...
\begin{tabulary}{\linewidth}{LCL}
\hline
Short sentences & \# & Long sentences \\
\hline
This is short. & 173 & This is much loooooooonger, because there are many more words. \\
This is not shorter. & 317 & This is still loooooooonger, because there are many more words. \\
\hline
\end{tabulary}
この例では、\ textwidthを基準にしてテーブル全体の幅を調整します。たとえば、0.4です。その後、残りはパッケージによって自動的に行われます。
ほとんどの例は、http://en.wikibooks.org/wiki/LaTeX/Tablesから取得されています。
ケーキのようにシンプル!
現在の配置(、または)L
を維持しながら、(この場合)のような新しい列タイプを定義できます。c
r
l
\documentclass{article}
\usepackage{array}
\newcolumntype{L}{>{\centering\arraybackslash}m{3cm}}
\begin{document}
\begin{table}
\begin{tabular}{|c|L|L|}
\hline
Title 1 & Title 2 & Title 3 \\
\hline
one-liner & multi-line and centered & \multicolumn{1}{m{3cm}|}{multi-line piece of text to show case a multi-line and justified cell} \\
\hline
apple & orange & banana \\
\hline
apple & orange & banana \\
\hline
\end{tabular}
\end{table}
\end{document}
テキストをラップしたいが整列は維持したい場合は、そのセルをminipage
またはvarwidth
環境でラップできます(varwidthはvarwidthパッケージから取得されます)。Varwidthは、「コンテンツと同じ幅ですが、Xよりも広くはありません」。「p {xx}」のように機能するが、次のコマンドを使用して収まるように縮小するカスタム列タイプを作成できます。
\newcolumntype{M}[1]{>{\begin{varwidth}[t]{#1}}l<{\end{varwidth}}}
array
パッケージが必要な場合があります。次に\begin{tabular}{llM{2in}}
、最初の2列のようなものを使用すると、通常は左揃えになり、3番目の列は通常の左揃えになりますが、2インチより広くなると、テキストが折り返されます。
\begin{table}
\caption{ Example of force text wrap}
\begin{center}
\begin{tabular}{|c|c|}
\hline
cell 1 & cell 2 \\ \hline
cell 3 & cell 4 & & very big line that needs to be wrap. \\ \hline
cell 5 & cell 6 \\ \hline
\end{tabular}
\label{table:example}
\end{center}
\end{table}