Wie stelle ich die Breite meiner Tabelle ein?

Wie stelle ich die Breite meiner Tabelle ein?

Ich habe einige Probleme, die richtige Breite für meine Tabelle einzustellen. Wie Sie im folgenden Code sehen können, verwende ich das diagboxPaket, um die Kopfzeile meiner Tabelle zu formatieren.

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

Durch die Verwendung dieses Codes erhalte ich das folgende Ergebnis:

Durch die Verwendung dieses Codes erhalte ich das folgende Ergebnis Bei mir passt die letzte Spalte nicht zur Seitenbreite. Ich habe schon versucht, manuelle Zeilenumbrüche zu verwenden, aber das hat nicht funktioniert. Habt ihr Tipps oder Lösungen für mich?

Antwort1

Verwenden Sie a tabularxund natürlich weniger Tabellenzeilen:

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

Bildbeschreibung hier eingeben

Antwort2

Mit

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

Sie erhalten:

Bildbeschreibung hier eingeben

Stattdessen {tabular*}verwende ich lieber einen tabularxmodifizierten XSpaltentyp. Er zentriert den Inhalt der Zellen und, was noch wichtiger ist: Er bestimmt automatisch die Spaltenbreite, sodass sie in die vorgeschriebene tabularxBreite passen undInhalt defekter Zellenhineinweitere Zeilen, wenn es länger als Spaltenbreite ist. Damit ist Dein Problem behoben: die Summe der Spaltenbreiten ist wegen zu breiter Spaltenköpfe größer als \textwidth.

Antwort3

Sehr ähnlich zu Zarkos, aber der wesentliche Punkt bei beiden ist, dass Sie die Silbentrennung aktivieren müssen, da die Wörter sonst einfach zu lang sind, um in eine Zeile zu passen.

Ich habe auch die Formatierung mit dembooktabsPaket.

Bildbeschreibung hier eingeben

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

verwandte Informationen