У меня возникли некоторые проблемы с установкой правильной ширины для моей таблицы. Как вы можете видеть в коде ниже, я использую пакет diagbox
для форматирования заголовка моей таблицы.
\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}
Используя этот код я получаю следующий результат:
У кого последняя колонка не влезает в ширину страницы. Я уже пробовал использовать ручные переносы строк, но это не сработало. Есть ли у вас какие-нибудь советы или решения для меня?
решение1
Используйте a tabularx
и, конечно же, используйте меньше табличных строк:
\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}
решение2
С
\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}
ты получишь:
Вместо этого {tabular*}
я предпочитаю использовать tabularx
и измененный X
тип столбца. Он центрирует содержимое ячеек и, что более важно: автоматически определяет ширину столбцов, чтобы они вписывались в заданную tabularx
ширину исломал содержимое ячееквбольше строк, если он длиннее ширины столбца. С этим устраняется ваша проблема: сумма ширины столбцов обусловлена широкими заголовками столбцов, большими, чем \textwidth
.
решение3
Очень похоже на вариант Зарко, но суть в том, что нужно включить переносы, иначе слова будут слишком длинными, чтобы поместиться на одной строке.
Я также очистил форматирование с помощьюbooktabs
упаковка.
\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}