Как скопировать таблицы с многострочными ячейками

Я пытаюсь написать короткую статью с LaTeX и добавить таблицу с тремя столбцами.

+-------------+-----------------+--------------------------------------+
| AAAAAAAAAA  | BBBBBBBBBBBBBBB | Betty Botter Bought a Bit of Butter  |
|             |                 | but the Butter 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 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 не делает никаких строк или форматирования внутри ячейки. Я предполагаю, что мне нужно сказать это, чтобы сделать это.. Но как?

Ответ 1

Используйте дескриптор столбца 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}

Ответ 2

Это я нашел до сих пор для своих нужд: Ссылка здесь.

Создает новую команду, которая сделает таблицу внутри таблицы более подходящей:

\newcommand{\specialcell}[2][c]{%
\begin{tabular}[#1]{@{}[email protected]{}}#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

Ответ 3

Вот ответ без фантазийного кодирования. Напишите свои строки в отдельных строках. Опустите \hline для всех, кроме последней строки (строки). Он быстрый и грязный, но, эй, он работает и дает мне именно то, что я хочу, для простых таблиц. Я делал рекламу, чтобы ездить на автомобильных ветровых стеклах. У меня есть 3 центрированных строки в каждой ячейке

iTutor Grahamstown
Mathematics Tutor
0793296211

Я хотел повторить это в своей таблице. Я просто оставил \hline для первых двух строк. Множество \hlines и '|' чтобы облегчить распечатку распечатки.

\begin{tabular}{||c||c||c||c||}
\hline\hline

iTutor Grahamstown &iTutor Grahamstown&iTutor Grahamstown &iTutor Grahamstown \\ %No \hline

Mathematics Tutor & Mathematics Tutor & Mathematics Tutor&Mathematics Tutor \\  %No \hline

0793296211 & 0793296211 & 0793296211 & 0793296211\\ \hline\hline\hline %\hline now


\end{tabular}  

Я надеюсь, что это поможет.