如何設定表格的寬度?

如何設定表格的寬度?

我在為表格設定正確的寬度時遇到一些麻煩。正如您在下面的程式碼中看到的,我使用該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

與 Zarko 非常相似,但兩者的要點都是必須啟用連字符,否則單字太長而無法放在一行中。

我還用以下命令清理了格式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}

相關內容