表:跨越兩個並排表的規則

表:跨越兩個並排表的規則

我有一個小問題,我迫切需要幫助。基本上我想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}

導致:

相關內容