我在表格方面遇到了问题。我希望第一行有一个换行符,这样表格就不会太宽。我试过,就像我在某处读到的那样,在一个单元格中插入另一个表格,但不起作用。文本现在相互覆盖。而且第一个单元格有点太高了。有人知道怎么做吗?
这是我的代码
\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 的评论。我正在这样做:
用于
array
指定新列用来
ragged2e
使右列不齐,并允许使用连字符,这通常是小列中长文本的最佳选择。这是通过将新P
列类型定义为右列不齐来完成的inputenc
与utf8
能够插入 Unicode 字符的选项一起使用曾经
booktabs
有过花哨的台词(你的单曲hline
很好,但我更喜欢这样)使用了一些“随机”德语文本,由@ChristianHupfer 提供
使用数组删除第一列之前和最后一列之后的空格
@{}
减小了列的大小(表格对于指定页面来说太宽
我真的认为你不需要指定手动中断,如果需要,请参考@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}