Имам някакъв текст в таблица и искам да добавя принудително прекъсване на реда. Искам да добавя принудително прекъсване на реда, без да се налага да посочвам ширината на колоната, т.е. нещо подобно на следното:
\begin{tabular}{|c|c|c|}
\hline
Foo bar & Foo <forced line break here> bar & Foo bar \\
\hline
\end{tabular}
Знам, че в повечето случаи \\
вмъква прекъсване на реда, но тук вместо това започва нов ред на таблицата.
Подобен въпрос беше зададен и преди: Как да прекъснем ред в таблица
Можете да превключите оформлението на клетката си на параграф, за да използвате командата \newline
.
\begin{tabular}{|p{2cm}|p{2cm}|}
\hline
Test & foo \newline bar \\
...
Edit:
Използвайте следните команди вместо p
, ако искате да зададете и подравняването:
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
Не разполагам с директна помощ за това как да добавите прекъсване на реда, но използването на многоредовия пакет може да осигури различен маршрут до същата желана цел. Можете да прочетете урок тук:
Но имам чувството, че отговорът на \parbox в сходния въпрос, който сте свързали, е това, което търсите. Мисля, че използването на кутия в клетката ще бъде най-простият и най-добър начин, имаше ли нещо в това, което не работеше за вас?
Ако искате да използвате parbox, без да се налага да кодирате твърдо ширината, ето един начин, който работи за мен. Не е перфектен, тъй като изисква предварително да знаете текста на най-дългия ред в многоредовата колона, но работи:
% define new length and set to length of longest line
\newlength{\longline}
\settowidth{\longline}{longest line in table}\\
\begin{tabular}{lll}
one line & \parbox[t]{\longline}{longest line in table \\ and another line} & more text \\
second line here& and what & more text
\end{tabular}