¿Cómo configurar el ancho de mi mesa?

¿Cómo configurar el ancho de mi mesa?

Tengo algunos problemas para establecer el ancho correcto para mi mesa. Como puede ver en el código siguiente, uso el diagboxpaquete para formatear el encabezado de mis tablas.

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

Al usar este código obtengo el siguiente resultado:

Al usar este código obtengo el siguiente resultado Quien la última columna no se ajuste al ancho de la página. Ya intenté usar saltos de línea manuales pero no funcionó. ¿Tiene algún consejo o solución para mí?

Respuesta1

Utilice a tabularxy, por supuesto, utilice menos líneas 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}

ingrese la descripción de la imagen aquí

Respuesta2

Con

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

conseguirás:

ingrese la descripción de la imagen aquí

En su lugar, {tabular*}prefiero utilizar un tipo de columna tabularxmodificado X. Centra el contenido de las celdas y, lo que es más importante: determina automáticamente el ancho de las columnas que se ajustan al tabularxancho prescrito ycontenido de células rotasenmas lineas, si es más largo que el ancho de la columna. Con esto se elimina su problema: la suma del ancho de las columnas se debe a encabezados de columna anchos mayores que \textwidth.

Respuesta3

Muy similar al de Zarko, pero la esencia de cualquiera de ellos es que debes habilitar la separación de palabras; de lo contrario, las palabras son simplemente demasiado largas para caber en una línea.

También limpié el formato con elbooktabspaquete.

ingrese la descripción de la imagen aquí

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

información relacionada