表格:跨越两个并排表格的规则

表格:跨越两个并排表格的规则

我遇到了一个小问题,急需帮助。基本上,我想将一个midrule(或任何其他类型的规则)跨越两个垂直对齐的并排表格。如下面的 MWE 所示,我可以将规则放在环境midrule之外tabularx并获得我想要的结果。但是,这样做会产生错误misplaced \noalign

\documentclass[12pt]{article}
\usepackage{array,tabularx}
\usepackage{booktabs}

\begin{document}

\begin{table}[h]
\centering
\midrule\midrule
    \begin{tabularx}{.49\textwidth}[t]{Xr}
    header 1 & header 2\\ \midrule
    row 1    & row 1\\
    \end{tabularx}%
\hfill
    \begin{tabularx}{.49\textwidth}[t]{Xr}
    header 1 & header 2\\ \midrule
    row 1    & row 1\\
    row 2    & row 2\\
    \end{tabularx}
\midrule\midrule
\end{table}

\end{document}

如能得到关于如何正确解决这个问题的任何建议,我们将不胜感激!

谢谢。

答案1

使用 booktabs 中的 \midrule,您必须将 tabularx 环境放入表格环境中:

 \documentclass[12pt, a4paper]{article}
 \usepackage[utf8]{inputenc} 
 \usepackage[T1]{fontenc} 
 \usepackage{lmodern} 
 \usepackage[showframe, noheadfoot, nomarginpar, textwidth = 15cm, textheight = 23cm] {geometry} 
 \usepackage{array,tabularx}
 \usepackage{booktabs}
 \newlength{\tabsep}
 \setlength{\tabsep}{\dimexpr \textwidth -0.49\textwidth-0.49\textwidth \relax}
 \pagestyle{empty}

 \begin{document}
 \mbox{}

 \begin{table}[h]
 \centering
 \begin{tabular}{@{}c @{\hspace{\tabsep}}c@{}}%
     \midrule\midrule
     \begin{tabularx}{.49\textwidth}[t]{Xr}
     header 1 & header 2\\ \midrule
     row 1    & row 1\\
     \end{tabularx}%
&
    \begin{tabularx}{.49\textwidth}[t]{Xr}
    header 1 & header 2\\ \midrule
    row 1    & row 1\\
    row 2    & row 2\\
    \end{tabularx}\\
    \midrule\midrule
    \end{tabular}
 \end{table}

 \end{document}

导致:

相关内容