
Estou usando o Assistente Tabular do Kile para criar um \tabularx
ambiente para uma das minhas tabelas e quero que ele caiba dentro de uma página. Atualmente esta é minha configuração:
{%
\newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
\begin{center}
\begin{tabularx}{\textwidth}[]{l|c|c|c|}\cline{2-4}
%data ....
\end{tabularx}
\end{center}
}%
Porém, mesmo com o parâmetro \textwidth minhas tabelas estão ultrapassando os limites da página.
Tentei ler esta discussão: -Como forçar uma tabela na largura da página?
Mas não adiantou, a solução escolhida parece não funcionar. Como posso consertar isso?
Responder1
A forma tabularx
de ajustar a largura da tabela é alterar a largura de colunas específicas. Os tipos de coluna padrão ( r
, c
, l
) não são modificados por tabularx
, portanto não se comportarão de maneira diferente. Em vez disso, é definido um novo tipo de coluna X
, que permite a quebra do texto e tem uma largura que muda dependendo da largura das outras colunas. Veja os exemplos emo manual.
Portanto, ao usar colunas justas l
e c
, elas serão tão largas quanto seu conteúdo mais amplo.
Se você deseja que o conteúdo de uma X
coluna seja alinhado à direita, use >{\raggedleft\arraybackslash}
, para centralizar substitua \raggedleft
por \centering
. O \arraybackslash
realmente só é necessário na última coluna, mas abaixo adicionei em todas elas.
\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}