Hierist \multirow
eine Dokumentation (in der ich meine Antwort nicht gefunden habe), und hier ist mein MWE (funktioniert aber nicht wie vorgesehen, was das Problem veranschaulicht):
\documentclass[twoside,a4paper,11pt,chapterprefix=true]{scrbook}
\usepackage[UTF8]{inputenc} %encodage clavier
\usepackage[T1]{fontenc} %encodage police
\usepackage[francais]{babel} %langue
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|c|c|}
\hline
\multicolumn{4}{|c|}{my little 1rst line} \\
\hline
\multicolumn{2}{|c|}{blabla} & \multicolumn{2}{c|}{blabla} \\
\hline
blabla & blabla & \multirow{2}{*}{whaou there is so much text here, that's embarassing, look the cell goes beyond the tabular, and even beyond the page, the worst being : you don't even get a warning for going out of the page, and i'm not even talking about the margins...} \\
\cline{1-2}
\multicolumn{2}{|c|}{blabla} & \\
\hline
\end{tabular}
\end{document}
Ich hätte gern ein Verhalten, bei dem keine Zellen überschritten werden, weder durch Strecken der Zellen noch durch Erzwingen einer neuen Zeile innerhalb der Zellen.
Antwort1
Die Verwendung *
von in \multirow
bewirkt, dass die Zellenbreite der Breite des Inhalts entspricht. Sie können stattdessen im zweiten Argument eine feste Eigenlänge verwenden:
\documentclass[twoside,a4paper,11pt,chapterprefix=true]{scrbook}
\usepackage[utf8]{inputenc} %encodage clavier
\usepackage[T1]{fontenc} %encodage police
\usepackage[francais]{babel} %langue
\usepackage{multirow}
\usepackage{array}
\begin{document}
\noindent\begin{tabular}{|c|c|c|c|}
\hline
\multicolumn{4}{|c|}{my little 1rst line} \\
\hline
\multicolumn{2}{|c|}{blabla} & \multicolumn{2}{>{\centering\arraybackslash}p{5cm}|}{blabla} \\
\hline
blabla & blabla & \multirow{2}{5cm}{whaou there is so much text here, that's embarassing} \\
\cline{1-2}
\multicolumn{2}{|c|}{blabla} & \\
\hline
\end{tabular}
\end{document}
Natürlich können sich Ihre Spaltenspezifikationen je nach dem tatsächlichen Inhalt der Tabelle ändern (wenn ein Textumbruch erforderlich ist, ist es besser, p{<length>}
Spalten zu verwenden).