web-dev-qa-db-ja.com

複数行のセルを持つテーブルをコーディングする方法

LaTeXで短い論文を書いて、3列の表を追加する必要があります。

+-------------+-----------------+--------------------------------------+
| AAAAAAAAAA  | BBBBBBBBBBBBBBB | Betty Botter Bought a Bit of Butter  |
|             |                 | but the Butter's Bitter              |
+-------------+-----------------+--------------------------------------+
| CCCCCCCC    | DDDD            | Betty Botter Thought:                |
|             |                 | If I Put This Bitter Butter in My    |
|             |                 | Batter it Will Make My Batter Bitter |
+-------------+-----------------+--------------------------------------+

残念ながら、正しいイディオムを見つけることができないようです。


私は試した:

\begin{tabular}{lll} 
    AAAAAAAAAA  & BBBBBBBBBBBBBBB & Betty Botter Bought a Bit of Butter but 
    the Butter's Bitter  \\
    CCCCCCCC  & DDDD & Betty Botter Thought: \newline If I Put This Bitter Butter in My Batter it Will Make My Batter Bitter
 \end{tabular}

ただし、LaTeXはセル内で改行や書式設定を行いません。そうするためにそれを伝える必要があると思います。しかし、どうやって?

55
lexu

p列記述子を使用します。

変化する

\begin{tabular}{lll} 

\begin{tabular}{llp{5cm}}

明示的に改行を挿入するには:

CCCCCCCC  & DDDD & \parbox{5cm}{Betty Botter Thought: \\ If I Put This Bitter Butter in My Batter it Will Make My Batter Bitter}
73
aioobe

これは私のニーズのためにこれまで見つけた答えです: ここにリンク

より適切な方法でテーブル内にテーブルを作成する新しいコマンドを作成します。

\newcommand{\specialcell}[2][c]{%
\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}}

したがって、次のようにセル内で強制改行を行いたい場合:

\begin{tabular}{|c|c|c|}
\hline
Foo bar & Foo <forced line break here> bar & Foo bar \\
\hline
\end{tabular}

次のようなコードを使用することになります。

Foo bar & \specialcell{Foo\\bar} & Foo bar \\    % vertically centered
Foo bar & \specialcell[t]{Foo\\bar} & Foo bar \\ % aligned with top rule
Foo bar & \specialcell[b]{Foo\\bar} & Foo bar \\ % aligned with bottom rule

c @l @に変更することにより、新しいコマンドの宣言で水平方向の配置を制御できます。 r @

すべてのクレジットは egreg から Texフォーラム

6
3nrique0

@aioobeが答えで書いたように、この場合、左揃えから切り替えることができます

\begin{tabular}{lll}

paragraphの配置、少なくともカスタムの改行を手動で挿入する必要がある3番目の列:

\begin{tabular}{llp{.5\textwidth}}

この編集後、コマンド\par\newlineの代わりに)を使用して、セル内に改行を実装できます。

このコード:

\documentclass{article}

\begin{document}

\begin{tabular}{llp{.5\textwidth}}
AAAAAAAAAA & BBBBBBBBBBBBBBB & Betty Botter Bought a Bit of Butter \par but the Butter's Bitter\\
CCCCCCCC & DDDD & Betty Botter Thought: \par If I Put This Bitter Butter in My \par Batter it Will Make My Batter Bitter\\
\end{tabular}

\end{document}

要求された出力を生成します:

screenshot of output

0
MattAllegro