宽表的某些列需要换行

宽表的某些列需要换行

我尝试在表格的某些单元格中创建换行符,因为我的句子很长,表格无法放在 A4 纸上。如何让 LaTeX 选择换行符?

这是我的代码

\begin{table}[hbt]
\centering
\begin{tabular}{lllllll}
    \toprule
    &  Raumgewicht $\gamma$'$_m$ and [$\frac{kN}{m^3}$] &Reibungswinkel $\phi$'$_m$[]& Kohäsion c'[] & M$_E$-Wert []& N$_SPT$ [] & k-Wert []  \\
    \midrule
    Auffüllungen/Deckschicht& 18& 27 & 0 & 10* & 17 & -\\
    Rückstausedimente nicht vorbelastes& 21 & 28 & 10 & 10 & 15 & $5\times10^-8$ - $1\times10^-6$ \\
    Rückstausedimente vorbelastet & 22 & 32 & 10 & >50 & 91 & $5\times10^-8$ - $1\times10^-6$ \\
    Moräne & 22 & 36 & 5 & >50 & >100 & $1\times10^-8$ - $5\times10^-6$\\
    \bottomrule
\end{tabular}
\caption{Bodenkennwerte}
\label{tab:Bodenkennwerte}
\end{table}

我的序言是

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{stackengine}
\usepackage[top=3cm, bottom=2.5cm, left=2.5cm, right=2.5cm, footskip = 1cm]{geometry}
\usepackage{hyperref}

答案1

以下是关于如何更改代码以便在一页上显示表格的建议:

与您的原始代码相比,我所做的更改是:

  • \usepackage[T1]{fontenc}为了正确显示标志而添加>
  • sidewaystable从包中使用rotating以便旋转表格,因为它太宽而无法放在纵向页面上。
  • 包括makecell在需要的单元格中插入换行符
  • 包括siunitx包裹
    • 对齐列中的数值
    • 更容易输入和格式化单元
    • 更容易输入和格式化数字范围

在此处输入图片描述

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[top=3cm, bottom=2.5cm, left=2.5cm, right=2.5cm, footskip = 1cm]{geometry}
\usepackage{rotating}
\usepackage{makecell}
\usepackage{siunitx}
\sisetup{range-phrase=--}

\begin{document}

\begin{sidewaystable}[hbt]
\centering
\begin{tabular}{lS[table-format=2]S[table-format=2]S[table-format=2]S[table-format=>2]S[table-format=>3]S}
    \toprule
    &  {\makecell{Raumgewicht \\ $\gamma$'$_m$ and [\si{\kilo\newton\per\cubic\meter}]}} & {\makecell{Reibungswinkel \\ $\phi$'$_m$[]}}& {\makecell{Kohäsion \\ c'[]}} & {M$_E$-Wert []}& {N$_SPT$  []} & {k-Wert []}  \\
    \midrule
    Auffüllungen/Deckschicht& 18& 27 & 0 & 10* & 17 & {-}\\
    Rückstausedimente nicht vorbelastet  & 21 & 28 & 10 & 10 & 15 & \numrange{5e-8}{1e-6} \\
    Rückstausedimente vorbelastet & 22 & 32 & 10 & >50 & 91 & \numrange{5e-8}{1e-6} \\
    Moräne & 22 & 36 & 5 & >50 & >100 & \numrange{1e-8}{5e-6}\\
    \bottomrule
\end{tabular}
\caption{Bodenkennwerte}
\label{tab:Bodenkennwerte}
\end{sidewaystable}

\end{document}

答案2

第一列以及 6 个数据列中的 3 个都需要自动换行。我建议您使用tabularx环境来实现此目的。

我还想建议您 (a) 将 6 个数据列的内容居中,(b) 将单位(在方括号中)放在与其余标题材料不同的行上,以及 (c) 使用包的和宏来排版\num(格式化)数字和科学单位。\sisiunitx

在此处输入图片描述

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[top=3cm, bottom=2.5cm, hmargin=2.5cm, footskip = 1cm]{geometry}
\usepackage{amsmath,amssymb}
\usepackage{graphicx,booktabs,tabularx,ragged2e,siunitx}
\newcolumntype{C}{>{\Centering\arraybackslash\hspace{0pt}}X}
\newcolumntype{L}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}

\usepackage{hyperref}

\hyphenation{Rück-stau-sedi-mente}

\begin{document}
\begin{table}[hbt]
\setlength\tabcolsep{4pt}
\sisetup{tight-spacing=true,per-mode=symbol}
\begin{tabularx}{\textwidth}{@{} L CCcccC @{}}
    \toprule
    & Raumgewicht $\gamma'_m$
    & Reibungswinkel $\phi'_m$
    & Kohäsion $c'$ 
    & $M_E$\kern1pt-Wert 
    & $N_{SPT}$ 
    & $k$-Wert \\
    & [\si{\kilo\newton\per\meter\cubed}] 
    & [${}\cdot{}$] & [${}\cdot{}$] & [${}\cdot{}$] & [${}\cdot{}$] & [${}\cdot{}$] \\
    \midrule
    %% Aside: One must break up the f-f ligature in "Auffüllungen"
    Auf"|fül\-lungen\slash Deckschicht& 18& 27 & 0 & 10* & 17 & -- \\ \addlinespace
    Rückstausedimente nicht vorbelastet& 21 & 28 & 10 & 10 & 15 
    & \num{5e-8}~-- \num{1e-6} \\ \addlinespace
    Rückstausedimente vorbelastet & 22 & 32 & 10 & $>50$ & 91 
    & \num{5e-8}~-- \num{1e-6} \\ \addlinespace
    Moräne & 22 & 36 & 5 & $>50$ & $>100$ 
    & \num{1e-8}~-- \num{5e-6} \\
    \bottomrule
\end{tabularx}
\caption{Bodenkennwerte}
\label{tab:Bodenkennwerte}
\end{table}
\end{document} 

相关内容