![如何创建一个表格,其中一个列具有可变数量的等宽子列?](https://linux22.com/image/324114/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%A1%A8%E6%A0%BC%EF%BC%8C%E5%85%B6%E4%B8%AD%E4%B8%80%E4%B8%AA%E5%88%97%E5%85%B7%E6%9C%89%E5%8F%AF%E5%8F%98%E6%95%B0%E9%87%8F%E7%9A%84%E7%AD%89%E5%AE%BD%E5%AD%90%E5%88%97%EF%BC%9F.png)
我目前正在写一份实验室报告,并试图制作一个如下所示的表格:
|Number of lightbulbs|Voltage from battery|Voltage in lightbulbs|
| 1 | 2.6 V | 2.2 V |
| 2 | 2.8 V | 1.9 V | 0.5 V |
| 3 | 1.2 V | 1.2 V |0.2 V |0.6 V |
我尝试这样写:
\begin {tabular} {|c|c|c|c|c|c|c|c|}
\hline
Number of Lightbulbs & Voltage from Battery & \multicolumn {6}{|c|}{Voltage in Lightbulbs} \\
\hline
1 & 2.6 & \multicolumn {6}{|c|}{2.2 V} \\
\hline
2 & 2.8 V & \multicolumn {3}{|c|}{2.5 V} & \multicolumn {3}{|c|}{0.5 V} \\
\hline
3 & 2.8 V & \multicolumn {2}{|c|}{1.2 V} & \multicolumn {2}{|c|}{0.2 V} & \multicolumn {2}{|c|}{0.6 V} \\
\hline
\end {tabular}
但是,这最终导致第二行被分为 1/3 和 2/3,而不是 1/2 和 1/2。我该如何解决这个问题?谢谢!
答案1
使用嵌套表,这会很简单:-):
\documentclass[border=3mm]{standalone}
\usepackage{array,tabularx}
\newcommand{\xmc}[2]{\begin{tabularx}{\hsize}[t]{@{}
*{#1}{>{\centering\arraybackslash}X|}@{}}
#2
\end{tabularx}}
\begin{document}
\begin{tabular} {|c|c|>{\centering\arraybackslash}p{45mm}@{}}
\hline
Number of Lightbulbs & Voltage from Battery
& \xmc{1}{Voltage in Lightbulbs} \\
\hline
1 & 2.6 V & \xmc{1}{2.2 V} \\
\hline
2 & 2.8 V & \xmc{2}{2.5 V & 0.5 V} \\
\hline
3 & 2.8 V & \xmc{3}{1.2 V & 0.2 V & 0.6 V} \\
\hline
\end{tabular}
\end{document}
编辑:前两行使用新命令xcm
对于表格中最右边的垂直线是必要的。如果在主表中确定了,则在最后两行重复。由于这是可见的,我决定采用所呈现的解决方案。
现在我还添加了选项[t]
。 如果您使用不同于 1 或使用,tabularx
它将保留表中所有行的连接(感谢 Mico 向我指出这个重要细节)。\arraystretch
\extrarowheight