表格内的表格强制换行

表格内的表格强制换行

我在表格方面遇到了问题。我希望第一行有一个换行符,这样表格就不会太宽。我试过,就像我在某处读到的那样,在一个单元格中插入另一个表格,但不起作用。文本现在相互覆盖。而且第一个单元格有点太高了。有人知道怎么做吗?

这是我的代码

\documentclass[ngerman,11pt,twoside,a4paper,final,titlepage,openany]{amsbook}
\usepackage[ngerman]{babel}
\begin{document}

\begin{tabular}{p{6cm}p{3cm}p{3cm}}
 \textbf{
\begin{tabular}{@{}c@{}}
bla
\end{tabular}} &
\textbf{
\begin{tabular}{@{}c@{}}
here comes a lot of text
\end{tabular}} & \textbf{
\begin{tabular}{@{}c@{}}
and here also a lot of text
\end{tabular}}\\
 \hline bla & yes &no\\
bla& yes & no\\
\end{tabular}
\end{document}

答案1

这可能有点过分,但让我扩展一下@DavidCarlisle 的评论。我正在这样做:

  1. 用于array指定新列

  2. 用来ragged2e使右列不齐,并允许使用连字符,这通常是小列中长文本的最佳选择。这是通过将新P列类型定义为右列不齐来完成的

  3. inputencutf8能够插入 Unicode 字符的选项一起使用

  4. 曾经 booktabs有过花哨的台词(你的单曲hline很好,但我更喜欢这样)

  5. 使用了一些“随机”德语文本,由@ChristianHupfer 提供

  6. 使用数组删除第一列之前和最后一列之后的空格@{}

  7. 减小了列的大小(表格对于指定页面来说太宽

我真的认为你不需要指定手动中断,如果需要,请参考@daleif 的建议,并使用\newline

代码如下:

\documentclass[ngerman,11pt,twoside,a4paper,final,titlepage,openany]{amsbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{array,ragged2e,booktabs}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\begin{document}

\begin{tabular}{@{}P{5.75cm}P{2.8cm}P{2.8cm}@{}}
\toprule
Mein Vater&Mein Vater erklärt mir jeden Sonntag unsere neun Planeten &Mein Vater erklärt mir jeden Sonntag unsere neun Planeten\\
\midrule
   bla & ja &nein\\
bla& ja & nein\\
\bottomrule
\end{tabular}
\end{document}

在此处输入图片描述

相关内容