Я создаю отчет в LaTeX, который включает в себя несколько таблиц. Я застрял на этом, так как данные моей ячейки в таблице превышают ширину страницы. Можно ли как-то обернуть текст так, чтобы он попадал в следующую строку в той же ячейке таблицы?
Это как-то связано с шириной стола? Но поскольку он выходит за пределы ширины страницы, будет ли это иметь значение?
Ответы:
Используйте p {width} для ваших столбцов вместо l / r / c.
источник
\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
среда:Все столбцы X имеют одинаковую ширину. Вы можете повлиять на это, установив
\hsize
в объявлении формата:но тогда все факторы должны быть суммированы до 1, я полагаю (я взял это от спутника LaTeX). Существует также пакет,
tabulary
который будет регулировать ширину столбцов, чтобы сбалансировать высоту строк. Для получения подробной информации, вы можете получить документацию для каждого пакета сtexdoc tabulary
(в TeXlive).источник
Другой вариант - вставить мини-страницу в каждую ячейку, где требуется перенос текста, например:
источник
itemize
списки в моих камерах.\columnwidth
: когда я попробовал это, это, казалось, было больше ширины таблицы, а не ширины столбца, таким образом, я должен был установить ручную пропорцию как0.2\columnwidth
получить разумную ширину.Мне нравится простота
tabulary
упаковки:В этом примере вы размещаете всю ширину таблицы относительно \ textwidth. Например, 0,4. Затем все остальное автоматически выполняется пакетом.
Большая часть примера взята с http://en.wikibooks.org/wiki/LaTeX/Tables .
источник
Просто как кусок пирога!
Вы можете определить новый тип столбца , как (
L
в данном случае) при сохранении текущего выравнивания (c
,r
илиl
):источник
Если вы хотите обернуть текст, но сохранить выравнивание, вы можете обернуть эту ячейку в
minipage
илиvarwidth
среде (varwidth поставляется из пакета varwidth). Varwidth будет «таким же широким, как его содержимое, но не шире X». Вы можете создать собственный тип столбца, который действует как "p {xx}", но сжимается, чтобы соответствовать, используякоторый может потребовать
array
пакет. Затем, когда вы используете что-то вроде\begin{tabular}{llM{2in}}
первых двух столбцов, мы будем выровнены по левому краю, а третий столбец будет выровнен по левому краю, но если он станет шире, чем 2 дюйма, текст будет перенесен.источник
Чтобы изменить текст
AB
вA \r B
ячейке таблицы, поместите это в положение ячейки:\makecell{A \\ B}
.Прежде чем сделать это, вам также необходимо включить пакет
makecell
.источник
источник