
ちょっとした問題があり、どうしても助けが必要です。基本的に、midrule
2 つの垂直に並んだテーブルに (または他の種類のルール) をまたがせたいのです。以下の 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}