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


Я пытаюсь написать короткую бумагу с латексом и нужно добавить таблицу с 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 не делает никаких разрывов строк или форматирования внутри ячейки. Я предполагаю, что мне нужно сказать ему об этом.. Но как?

3 51

3 ответа:

использовать 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}

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

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

\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

вот ответ без фантазии кодирования. Запишите свои строки в отдельные строки. Опустите \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}  

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