如何设置单元格的宽度并允许其占据多行?

如何设置单元格的宽度并允许其占据多行?

我有一张下面的表格

\documentclass[a4paper,12pt]{article}
\begin{document}
\begin{quote}
  \begin{tabular}{|c|c|c|c|c|}
    \hline
    \multicolumn{4}{c}{Table title}\\
    \hline
    Fuze Type & Weight & Muzzle Velocity & From sea level\\
    \hline
    Time & Vehicle wt: 5000

    Tyre wt: 100&40000 m/s & 0m\\
    \hline
    Degrees & Minutes & Mil &Range in m & Time of flight in s\\
    \hline
  \end{tabular}
\end{document}
  1. 我希望第二列的宽度固定,如果此列中的文本长度较长,则允许文本占用多行而不改变宽度。编辑:您能否告诉我如何在 longtable 中执行相同操作?(|>{\centering}p{2cm}| 似乎在 longtable 中不起作用。

  2. 我希望顶行的左边缘和右边缘可见。

  3. 我需要第 2 行和第 3 行的最后一列不可见(无边框),因为这些单元格中没有数据。

答案1

\documentclass[a4paper,12pt]{article}
\begin{document}
\begin{quote}
  \begin{tabular}{|c|p{3cm}|c|c|c|}
    \cline{1-4}
    \multicolumn{4}{|c|}{Table title}\\
    \cline{1-4}
    Fuze Type & Weight & Muzzle Velocity & From sea level\\
    \cline{1-4}
    \centering
    Time & Vehicle wt: 5000

    Tyre wt: 100&40000 m/s & 0m\\
    \hline
    Degrees & Minutes & Mil &Range in m & Time of flight in s\\
    \hline
  \end{tabular}
\end{quote}
\end{document}

截屏

答案2

选择更大的基线跳跃,使表格看起来更美观:

\documentclass[a4paper,12pt]{article}
\begin{document}

{\renewcommand\arraystretch{1.8}
\begin{tabular}{|c|p{3cm}|c|c|c}\cline{1-4}
\multicolumn{4}{|c|}{Table title}\\\cline{1-4}
 Fuze Type & Weight & Muzzle Velocity & From sea level\\\cline{1-4}
    Time & Vehicle wt: 5000
    Tyre wt: 100&40000 m/s & 0m\\\hline
    Degrees & Minutes & Mil &Range in m 
           & \multicolumn{1}{c|}{Time of flight in s}\\\hline
  \end{tabular}}

\end{document}

在此处输入图片描述

答案3

要获得换行的列,您需要使用p列类型。要使该列居中,您需要使用包array。要获得空单元格上的垂直线,您需要放置列分隔&符来标记单元格,而不是简单地用 结束一行\\

\documentclass[a4paper,12pt]{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|c|>{\centering}p{2cm}|c|c|c|}
\hline
\multicolumn{5}{|c|}{Table title} \\
\hline
Fuze Type & Weight & Muzzle Velocity & From sea level &\\
\hline
Time & Vehicle wt: 5000

Tyre wt: 100&40000 m/s & 0m &\\
\hline
Degrees & Minutes & Mil &Range in m & Time of flight in s\\
\hline
\end{tabular}
\bigskip

\begin{tabular}{|c|>{\centering}p{2cm}|c|c|c|}
\cline{1-4}
\multicolumn{4}{|c|}{Table title} \\
\cline{1-4}
Fuze Type & Weight & Muzzle Velocity & From sea level \\
\cline{1-4}
Time & Vehicle wt: 5000

Tyre wt: 100&40000 m/s & 0m \\
\hline
Degrees & Minutes & Mil &Range in m & Time of flight in s\\
\hline
\end{tabular}

\end{document}

通常,标题是表格的说明,而不是表格本身的一行。您可以通过将整个内容包装tabulartable环境中并添加\caption{Title}命令来实现这一点。

许多人认为表格中的垂直线不是好形式;看一下booktabs包装非常漂亮且没有垂直线的表格。

附录

抱歉,我没有仔细阅读您的请求,因为结果表看起来很奇怪。但我添加了第二个符合您实际请求的表。

在此处输入图片描述

相关内容