Tenho alguns problemas para definir a largura certa para minha mesa. Como você pode ver no código abaixo, eu uso o diagbox
pacote para formatar o cabeçalho das minhas tabelas.
\begin{table}
\centering
\begin{tabular*}{\textwidth}{| l | c|c|c|c|}
\hline
\diagbox[width=7.5em, trim=l]{Symptom}{Auswirkung\\auf} & körp. Gesundheit & soziales Umfeld & psych. Wohlbefinden & Selbstbestimmung \\
\hline
Körperpflege & sehr hoch & hoch & hoch & gering \\
\hline
Schlafrhythmus & sehr hoch & gering & hoch & gering \\
\hline
Apathie & hoch & sehr hoch & hoch & \\
\hline
Agitation & hoch & hoch & hoch & \\
\hline
Essstörungen & sehr hoch & gering & hoch & hoch \\
\hline
Haushaltsartikel& hoch & gering & gering & hoch \\
\hline
\end{tabular*}%
\caption{caption goes here}
\label{tab:label goes here}
\end{table}
Usando este código estou obtendo o seguinte resultado:
Quem está na última coluna não cabe na largura da página. Já tentei usar quebras de linha manuais, mas não deu certo. Você tem alguma dica ou solução para mim?
Responder1
Use a tabularx
e, claro, use menos linhas tabulares:
\documentclass[a4paper,fontsize=11pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,diagbox,ragged2e}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{| l | *4{>{\Centering\hspace{0pt}}X|}} \hline
\diagbox[width=7.5em, trim=l]{Symptom}{Auswirkung\\auf} & körp. Gesundheit & soziales
Umfeld & psych. Wohlbefinden & Selbstbestimmung \\
\hline
Körperpflege & sehr hoch & hoch & hoch & gering \\
\hline
Schlafrhythmus & sehr hoch & gering & hoch & gering \\
\hline
Apathie & hoch & sehr hoch & hoch & \\
\hline
Agitation & hoch & hoch & hoch & \\
\hline
Essstörungen & sehr hoch & gering & hoch & hoch \\
\hline
Haushaltsartikel& hoch & gering & gering & hoch \\
\hline
\end{tabularx}
\bigskip
My version:
\bigskip\noindent
\begin{tabularx}{\textwidth}{ l | *4{>{\Centering\hspace{0pt}}X}}
\diagbox[width=7.5em, trim=l]{Symptom}{Auswirkung\\auf} & körp. Gesundheit & soziales
Umfeld & psych. Wohlbefinden & Selbstbestimmung \\
\hline
Körperpflege & sehr hoch & hoch & hoch & gering \\
Schlafrhythmus & sehr hoch & gering & hoch & gering \\
Apathie & hoch & sehr hoch & hoch & \\
Agitation & hoch & hoch & hoch & \\
Essstörungen & sehr hoch & gering & hoch & hoch \\
Haushaltsartikel& hoch & gering & gering & hoch \\
\hline
\end{tabularx}
\end{document}
Responder2
Com
\documentclass{article}
\usepackage{diagbox,tabularx}
\begin{document}
\begin{table}
\centering
\begin{tabularx}{\textwidth}{| l | *{4}{>{\centering\arraybackslash}X|}}
\hline
\diagbox[width=7.5em, trim=l]{Symptom}{Auswirkung\\auf}
& körp. Gesundheit
& soziales Umfeld
& psych. Wohlbefinden
& Selbst\-bestimmung
\\
\hline
Körperpflege & sehr hoch & hoch & hoch & gering \\
\hline
Schlafrhythmus & sehr hoch & gering & hoch & gering \\
\hline
Apathie & hoch & sehr hoch & hoch & \\
\hline
Agitation & hoch & hoch & hoch & \\
\hline
Essstörungen & sehr hoch & gering & hoch & hoch \\
\hline
Haushaltsartikel & hoch & gering & gering & hoch \\
\hline
\end{tabularx}%
\caption{caption goes here}
\label{tab:label goes here}
\end{table}
\end{document}
você vai ter:
Em vez disso, {tabular*}
prefiro usar tabularx
e modificar X
o tipo de coluna. Centraliza o conteúdo das células e o que é mais importante: determina automaticamente a largura das colunas que cabem na tabularx
largura prescrita equebrou o conteúdo das célulasemmais linhas, se for maior que a largura da coluna. Com isso é eliminado o seu problema: a soma da largura das colunas se deve a cabeçalhos de colunas largos maiores que \textwidth
.
Responder3
Muito semelhante ao de Zarko, mas a essência de ambos é que você deve ativar a hifenização, caso contrário, as palavras serão longas demais para caber em uma linha.
Eu também limpei a formatação com obooktabs
pacote.
\documentclass{article}
\usepackage{array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} % http://tex.stackexchange.com/a/157400
\usepackage{lipsum}
\usepackage{booktabs}
\begin{document}
\lipsum[1]
\begin{table}
\centering
\begin{tabular*}{\textwidth}{lcccc}\toprule
& \multicolumn{4}{c}{Auswirkung auf} \\
Symptom & \multicolumn{1}{P{1.8cm}}{körp. Gesundheit} &
\multicolumn{1}{P{1.8cm}}{soziales Umfeld} &
\multicolumn{1}{P{1.8cm}}{psych. Wohlbefinden} &
\multicolumn{1}{P{1.8cm}}{\hspace{0pt}Selbstbestimmung} % http://tex.stackexchange.com/a/18794/3345
\\ \cmidrule{2-5}
Körperpflege & sehr hoch & hoch & hoch & gering \\
Schlafrhythmus & sehr hoch & gering & hoch & gering \\
Apathie & hoch & sehr hoch & hoch & \\
Agitation & hoch & hoch & hoch & \\
Essstörungen & sehr hoch & gering & hoch & hoch \\
Haushaltsartikel& hoch & gering & gering & hoch \\ \bottomrule
\end{tabular*}%
\caption{caption goes here}
\label{tab:label goes here}
\end{table}
\end{document}