带有 p 的表格单元格中的自动换行不起作用

带有 p 的表格单元格中的自动换行不起作用

我正在使用以下代码。在 p{6cm} 列中,单元格文本中没有自动换行符。相反,太长的文本会覆盖正确的单元格。我做错了什么?

\begin{tabular}{p{6cm}lrc}
\rowcolor{heading}\bf{Projektphase} & \bf{Beteiligter Mitarbeiter} & \bf{Dauer} & \bf{Zeitraum} \\
\multirow{2}{*}{Planung und Entwurf} & Ordnas & 5 \mbox{h} & \multirow{2}{*}{Zeitraum} \\
& Christoph Frohnhöfer & 2 \mbox{h} & \\
\rowcolor{odd}& Sandro Roch & 20 \mbox{h} & \\
\rowcolor{odd}\multirow{-2}{*}{Implementieren der Datenermittlung und -aufbereitung} & Muria & 2 \mbox{h} & \multirow{-2}{*}{Zeitraum}\\
\multirow{2}{*}{Implementieren der Benutzeroberfläche} & Franz & 35 \mbox{h} & \multirow{2}{*}{Zeitraum} \\
& Maria & 3 \mbox{h} & \\
\rowcolor{odd}Entwicklertest & Markus & 2 \mbox{h} & Zeitraum \\
Qualitätssicherung & QS-Mitarbeiter & 1 \mbox{h} & Zeitraum \\
\rowcolor{odd}& Peter & 1 \mbox{h} & \\
\rowcolor{odd}\multirow{-2}{*}{Abnahme durch Projektverantwortlichen} & Moritz & 1 \mbox{h} & \multirow{-2}{*}{Zeitraum} \\
Projektdokumentation & Fritz & 7 \mbox{h} & Zeitraum \\
\hline
\hline
\rowcolor{heading}\bf{Summe} & & \bf{79 \mbox{h}} &
\end{tabular}

谢谢你的回答!

答案1

使用该*选项,参数multirow被放在一个普通的 (h) 框中,因此不会出现换行符。如果指定了具体宽度,则允许换行。由于您已经使用了p具有给定宽度的列,因此您可以对 s 使用相同的宽度multirow

示例输出

\documentclass{article}

\usepackage[ngerman]{babel}

\usepackage{multirow}
\usepackage{colortbl}

\begin{document}

\begin{center}
  \begin{tabular}{p{6cm}lrc}
    \rowcolor{red}\textbf{Projektphase} & \textbf{Beteiligter Mit.} & \textbf{Dauer} & \textbf{Zeitraum} \\
    \multirow{2}{6cm}{Planung und Entwurf} & Ordnas & 5 \mbox{h} & \multirow{2}{*}{Zeitraum} \\
    & Christoph Frohnhöfer & 2 \mbox{h} & \\
    \rowcolor{green}& Sandro Roch & 20 \mbox{h} & \\
    \rowcolor{green}\multirow{-2}{6cm}{Implementieren der Datenermittlung und -aufbereitung} & Muria & 2 \mbox{h} & \multirow{-2}{*}{Zeitraum}\\
    \multirow{2}{6cm}{Implementieren der Benutzeroberfläche} & Franz & 35 \mbox{h} & \multirow{2}{*}{Zeitraum} \\
    & Maria & 3 \mbox{h} & \\
    \rowcolor{green}Entwicklertest & Markus & 2 \mbox{h} & Zeitraum \\
    Qualitätssicherung & QS-Mitarbeiter & 1 \mbox{h} & Zeitraum \\
    \rowcolor{green}& Peter & 1 \mbox{h} & \\
    \rowcolor{green}\multirow{-2}{6cm}{Abnahme durch Projektverantwortlichen} & Moritz & 1 \mbox{h} & \multirow{-2}{*}{Zeitraum} \\
    Projektdokumentation & Fritz & 7 \mbox{h} & Zeitraum \\
    \hline
    \hline
    \rowcolor{red}\textbf{Summe} & & \textbf{79 \mbox{h}} &
  \end{tabular}
\end{center}
\end{document}

答案2

您必须通过指定其宽度将 \multirow 设置为。我使用和包\parbox{6cm}添加了一些建议来改进您的表格。makecellsiunitx

\documentclass{article}%[preview]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[x11names]{xcolor}
\usepackage{colortbl}
\colorlet{heading}{Thistle2!50}
\colorlet{odd}{LightSteelBlue2}
\usepackage{array, booktabs, multirow}
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadalign{lc}
\renewcommand\cellset{\bfseries}
\usepackage{siunitx}
%
\begin{document}

\begin{tabular}{p{6cm}lS[table-format = 2.0] c}
\rowcolor{heading}\thead{\raggedleft Projektphase} & \thead{Beteiligter Mitarbeiter} & {\makecell{Dauer\\ \mdseries (h)}} & \thead{Zeitraum} \\
\multirow{2}{*}{Planung und Entwurf} & Ordnas & 5 & \multirow{2}{*}{Zeitraum} \\
& Christoph Frohnhöfer & 2 & \\
\rowcolor{odd}& Sandro Roch & 20 & \\
\rowcolor{odd}\multirow{-2}{6cm}{Implementieren der Datenermittlung und -aufbereitung} & Muria & 2 & \multirow{-2}{*}{Zeitraum}\\
\multirow{2}{*}{Implementieren der Benutzeroberfläche} & Franz & 35 & \multirow{2}{*}{Zeitraum} \\
& Maria & 3 & \\
\rowcolor{odd}Entwicklertest & Markus & 2 & Zeitraum \\
Qualitätssicherung & QS-Mitarbeiter & 1 & Zeitraum \\
\rowcolor{odd}& Peter & 1 & \\
\rowcolor{odd}\multirow{-2}{*}{Abnahme durch Projektverantwortlichen} & Moritz & 1 & \multirow{-2}{*}{Zeitraum} \\
Projektdokumentation & Fritz & 7 & Zeitraum \\
\hline
\hline
\rowcolor{heading}\thead{Summe} & & \bfseries 79 &    
\end{tabular} 

\end{document} 

在此处输入图片描述

相关内容