我正在尝试设计一个表格嵌套表格的布局,但无法让表格对齐。这个问题与如何使内部表格的宽度使用外部表格的整列宽度?除了我没有tabularx
参与——我希望让桌子本身伸展。我认为解决方案将包含两个部分:
- 有一定的弹性
\tabcolsep
- 以某种方式告诉外表不要填充左侧和右侧
我一直想不出如何才能达到这样的效果。
这是一个最小的工作示例:
\documentclass{article}
\begin{document}
\begin{tabular}{cc}
A relatively wide line& Thin \\
\begin{tabular}{@{}ll@{}}
\hline
A&B\\
\hline
C&D\\
\hline
\end{tabular}&
Thicker\\
The ABCD table should stretch to fit&Thickest\\
\end{tabular}
\end{document}
结果表如下
但我想要的是让 ABCD 表拉伸其列的整个宽度(尽管在这种情况下看起来很糟糕)。
通过考虑以下非最小示例中的错位,可以说明我实际上想要完成的任务:
我希望的两个结果是
- 部分埃自动拉伸至与部分宽度相同德
- 部分G自动拉伸至与上方内容相同的宽度
有谁知道如何实现这一点?
答案1
如果您想要拉伸,则不能使用表格。
\documentclass{article}
\newlength{\columnA}
\newlength{\columnB}
\newsavebox{\tempbox}
\begin{document}
\settowidth{\columnA}{The ABCD table should stretch to fit}
\settowidth{\columnB}{Thickest}
\savebox{\tempbox}{%
\parbox[t]{\columnA}{\centering
A relatively wide line\\
\rule[1.5ex]{\columnA}{.5pt}\vspace{-1.5ex}
A \hfil B\\
\rule[1.5ex]{\columnA}{.5pt}\vspace{-1.5ex}
C \hfil D\\
\rule[1.5ex]{\columnA}{.5pt}\vspace{-1.5ex}
The ABCD table should stretch to fit}%
}%
\usebox{\tempbox}\hspace{\columnsep}%
\parbox[t][\dimexpr \ht\tempbox + \dp\tempbox][s]{\columnB}{\centering
Thin\vfill
Thicker\vfill
Thickest}
\end{document}