
Я использую Tabular Wizard на Kile, чтобы создать \tabularx
среду для одной из моих таблиц, и я хочу, чтобы она поместилась на странице. В настоящее время моя настройка выглядит следующим образом:
{%
\newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
\begin{center}
\begin{tabularx}{\textwidth}[]{l|c|c|c|}\cline{2-4}
%data ....
\end{tabularx}
\end{center}
}%
Однако даже с параметром \textwidth мои таблицы выходят за пределы страницы.
Я попробовал прочитать это обсуждение: -Как растянуть таблицу по ширине страницы?
Но это не помогло, выбранное решение, похоже, не работает. Как это исправить?
решение1
Способом tabularx
настройки ширины таблицы является изменение ширины определенных столбцов. Типы столбцов по умолчанию ( r
, c
, l
) не изменяются tabularx
, поэтому они не будут вести себя по-другому. Вместо этого определяется новый тип столбца X
, который позволяет тексту разрываться и имеет ширину, которая меняется в зависимости от ширины других столбцов. Смотрите примеры вруководство.
Таким образом, при использовании только столбцов l
и c
они будут иметь ту же ширину, что и их самое широкое содержимое.
Если вы хотите выровнять содержимое столбца X
по правому краю, используйте >{\raggedleft\arraybackslash}
, для центрирования замените \raggedleft
на \centering
. \arraybackslash
На самом деле это необходимо только в последнем столбце, но ниже я добавил его во все столбцы.
\documentclass[border=2mm]{standalone}
\usepackage{tabularx}
\newcommand\word{a bunch of text and some more text and yet more text}
\begin{document}
\begin{tabularx}{8cm}{
|>{\raggedleft\arraybackslash}X
|>{\centering\arraybackslash}X
|>{\raggedright\arraybackslash}X
| X |}
Right & Center & Left & Justified \\ \hline
\word & \word & \word & \word
\end{tabularx}
\end{document}