我正在处理与表格中的多列相关的美学问题。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\caption{Large Width Table}\label{ch1tab:rev}
%\renewcommand{\arraystretch}{1.3}
\begin{tabular}{|c|c|}
\toprule
\multicolumn{2}{c}{\textbf{RandomTextRandomText}} \\ %\cline{3-4}
$t_1$ & $t_1$ \\\midrule
1&1\\
1&1\\
1&1 \\ \bottomrule
\multicolumn{2}{c}{Lorem ipsum dolor sit amet, consectetur adipiscing elit}
\end{tabular}
\end{table}
\end{document}
问题在于多列(在本例中是整个表格)的宽度大于子列的总宽度,因此所有多余的宽度都放在最后一个子列中。
从一些答案来看,我似乎应该强制子列的宽度大于多列的宽度。有没有更优雅和自动化的解决方案?
谢谢
答案1
让我们将我的评论转换为答案:
\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newsavebox\TB % Table Box
\newlength\wdTB % width of TB
\usepackage{lipsum}
\begin{document}
\lipsum[11]
\begin{table}[htb]
\sbox{\TB}{\textbf{Random Text Random Text}}
\setlength{\wdTB}{\wd\TB}
\centering
\caption{Large Width Table}
\label{ch1tab:rev}
\begin{tabular}{|*{2}{>{\centering\arraybackslash}p{0.5\wdTB}|}}
\hline
\multicolumn{2}{|c|}{\usebox{\TB}} \\
\hline
$t_1$ & $t_1$ \\
\hline
1 & 1 \\
1 & 1 \\
1 & 1 \\
\hline
\multicolumn{2}{p{\wdTB}}{Is this some comment to table contents?}
\end{tabular}
\end{table}
\lipsum[12]
\begin{table}[htb]
\centering
\caption{Large Width Table}
\label{ch1tab:rev}
\begin{tabular}{|*{2}{C{15mm}|}}
\hline
\multicolumn{2}{|C{\dimexpr15mm+15mm+2\tabcolsep}|}{\textbf{Random Text Random Text}} \\
\hline
$t_1$ & $t_1$ \\
\hline
1 & 1 \\
1 & 1 \\
1 & 1 \\
\hline
\multicolumn{2}{p{\dimexpr30mm+2\tabcolsep}}{Is this some comment to table contents?}
\end{tabular}
\end{table}
\end{document}
第一个表格使用multicolumn
单元格的测量,第二个表格打破此单元格的内容,使其宽度不大于跨度列的总和:
答案2
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\newsavebox\TBox
\begin{document}
\begin{table}
\sbox\TBox{Lorem ipsum dolor sit amet, consectetur adipiscing elit}
\centering
\caption{Large Width Table}\label{ch1tab:rev}
\begin{tabular}{|>{\centering}p{0.5\wd\TBox}|c|}\toprule
\multicolumn{2}{c}{\bfseries RandomTextRandomText} \\ %\cline{3-4}
$t_1$ & $t_1$ \\\midrule
1&1\\
1&1\\
1&1 \\ \bottomrule
\multicolumn{2}{c}{Lorem ipsum dolor sit amet, consectetur adipiscing elit}\\
\end{tabular}
\end{table}
\end{document}