3

I've some trouble to set the right width for my table. As you can see in the code below, I use the diagbox package to format my tables header.

\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} 

By using this code I'm getting the following result:

By using this code I'm getting the following result Whoever the last column does not fit with the page width. I already tried to use manual line breaks but that didn't worked out. Do you have any tips or solutions for me?

1

Use a tabularx and, of course, use less tabular lines:

\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}

enter image description here

1

With

\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}

you will get:

enter image description here

In stead {tabular*} I rather use tabularx and modified X column type. It centering cells content and what is more important: automatically determine columns width that they fit in prescribed tabularx width and broke cells content into more lines, if it is longer than column width. With this is eliminated your problem: the sum of the columns width is due to wide column heads larger than \textwidth.

1

Very similar to Zarko's, but the gist of either is that you have to enable hyphenation, otherwise the words are simply too long to fit on one line.

I also cleaned up the formatting with the booktabs package.

enter image description here

\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}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.