LINUX.ORG.RU

LaTeX: задать ширину таблицы


0

0

Посоветуйте как по-нормальному задать ширину таблицы. Надо растянуть
 таблицу на всю ширину листа (тоесть \textwidth). 
Окружение tabular* не работает. Выдаёт результат в виде

 __________________
|первый|второй|
___________________


Можно растягивать таблицу с помощью p{} для каждого столбца, но это 
геморно. Нет ли более нормального способа?
★★★★★

Посмотри доку латеховскую по tabular* - там написано, что для растяжения таблицы на всю страницу нужно добавить в разделители колонок что-то растяжимое (и там даже пример приведён как это делать - вот он:

begin{tabular*}{0.75\textwidth}%
{@{\extracolsep{\fill}}cccr}
label 1 & label 2 & label 3 & label 4 \\
\hline % put a line under headers
item 1 & item 2 & item 3 & item 4 \\
...
\end{tabular*}

Есть ещё окружение tabularx, которое позволяет создавать таблицу, где подгоняется не ширина межколоночных пробелов, а сама ширина колонок. Подробнее см. документацию по этому пакету (tabularx), можно также посмотреть документ text_in_latex (он на русском).

slav ★★
()

А xtab package разве не для этого?

geekkoo
()
Ответ на: комментарий от slav

tabularx --- то что надо. Но есть один ньюанс --- не хочет чтобы самый правый столбец был выровнен по центру. Тоесть \begin{tabularx}{\linewidth}{|>{\centering}X|X|} работает нормально, а \begin{tabularx}{\linewidth}{|X|>{\centering}X|} выдаёт ошибку

! Misplaced \noalign. \hline ->\noalign {\ifnum 0=`}\fi \hrule \@height \arrayrulewidth \futurelet... l.72 \end{tabularx}

Разбираюсь.

ugoday ★★★★★
() автор топика
Ответ на: комментарий от ugoday

Разобрался. Нужно \\ заменить на \tabularnewline

Всем спасибо.

ugoday ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.