Tabularx 文本溢出到多行的下一行

Tabularx 文本溢出到多行的下一行

我在使用 tabularx 时遇到了问题。我需要在一个非常紧凑的表格中放入较大的文本。结果如下所示:在此处输入图片描述

如您所见,文本有点溢出到下一行。此外,我找不到原因,为什么包含“Kaltstart”的行比其他行大两倍。我的最小示例:

\documentclass[a4paper,12pt]{scrreprt}       



\usepackage{multirow}
\usepackage{tabularx}
\newcolumntype{s}{>{\hsize=.17\hsize}X}
\newcolumntype{g}{>{\hsize=.5\hsize}X}
\renewcommand\arraystretch{1.2}


\begin{document}

 \begin{table}
    \caption{caption}
    \begin{tabularx}{\textwidth}{|g|X|g|g|s|s|s|s|}
  \hline
A & & B & C & D & E & F & G \\ \hline
A & B & & C & 373 & 361 & 679 & 676 \\ \cline{2-8}

&A&  & B & 321 & 321 & 660 & 660 \\ \cline{2-8}

&A& & B & 210 & 210 & 245 & 245 \\\hline

Start-Parameter &\multirow{3}{\linewidth}{Zeit zw. Anforderung und techn. Mindestlast bei Anfahrt}
& Kaltstart &min &500 &500 &515 &515 \\ \cline{3-8}
& &A&min &470 &470 &433 &433 \\ \cline{3-8}
& &B &min &470 &470 &380 &380 \\ \cline{2-8}

&\multirow{4}{\linewidth}{Zeit zw. Synchronisation und techn. Mindestlast}
& Kaltstart &min &500 &500 &515 &515 \\ \cline{3-8}
& & A &min &470 &470 &433 &433 \\ \cline{3-8}
& & B &min &470 &470 &380 &380 \\ \cline{2-8}

&\multirow{3}{\linewidth}{Duchschnittsgradient zw. Synchronisation und technischer Mindestlast}
& Kaltstart &MW/min &2,6 &2,6 &4,5 &4,5 \\ \cline{3-8}
& & A &MW/min &3,5 &3,5 &10,7 &10,7 \\ \cline{3-8}
& & B &MW/min &3,5 &3,5 &12,3 &12,3 \\ \hline
\end{tabularx}
\label{tab:meinetabelle}
\end{table}


\end{document}

遗憾的是,这个例子没有我希望的那么好看。非常欢迎提出建议,让它更容易阅读!

注意:ABCDEFG 是黑色数据的占位符。

答案1

一些评论和意见:

  • X仅当需要换行时才应使用包的列类型。tabularx由于最后 6 列似乎不需要换行,我建议您X仅对前 2 列使用(或修改版本,参见下面的代码)。请注意,列的(相对)宽度之和X必须等于类型的列数X。在下面的代码中,0.6+1.4=2=类型的列数X

  • 我还会取消\multirow包装器,而是集中精力将第二列的宽度设置得足够大,以便单元格内容占用的行数不超过 3 行。为什么是 3 行?因为单元格右侧有 3 行。

  • 删除所有垂直线,使用较少但间距适当的水平线,让表格看起来更开放。在行间添加空白与画线一样有效,但视觉干扰更少。

在此处输入图片描述

\documentclass[a4paper,12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{tabularx,ragged2e,booktabs,amsmath}
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash\hspace{0pt}%
                     \hsize=#1\hsize}X}
\newcolumntype{P}{>{\RaggedRight\hspace{0pt}}p{\hsize}}
\newcommand{\mycell}[1]{\smash[b]{%
    \begin{tabular}[t]{@{}P@{}} #1 \end{tabular}}}

\begin{document}
\begin{table}
\caption{caption} \label{tab:meinetabelle}
\begin{tabularx}{\textwidth}{@{} L{0.6} L{1.4} *{6}{c} @{}}
\toprule
A & & B & C & D & E & F & G \\ 
\midrule
A & B & & C & 373 & 361 & 679 & 676 \\
  & A & & B & 321 & 321 & 660 & 660 \\ 
  & A & & B & 210 & 210 & 245 & 245 \\
\addlinespace
\mycell{Startparameter}
& \mycell{Zeit zw. Anforderung und techn. Mindestlast bei Anfahrt}
& Kaltstart &min &500 &500 &515 &515 \\
       & &A &min &470 &470 &433 &433 \\
       & &B &min &470 &470 &380 &380 \\
\addlinespace
& \mycell{Zeit zw. Synchronisation und techn.\ Mindestlast}
& Kaltstart &min &500 &500 &515 &515 \\
      & & A &min &470 &470 &433 &433 \\
      & & B &min &470 &470 &380 &380 \\ 
\addlinespace
& \mycell{Duchschnittsgradient zw. Synchronisation und technischer Mindestlast}
& Kaltstart &MW/min &2,6 &2,6 &4,5  &4,5  \\
      & & A &MW/min &3,5 &3,5 &10,7 &10,7 \\ 
      & & B &MW/min &3,5 &3,5 &12,3 &12,3 \\
\bottomrule
\end{tabularx}
\end{table}

\end{document} 

相关内容