2 つのテーブルを並べて配置する: オーバーフル hbox の不具合を修正する

2 つのテーブルを並べて配置する: オーバーフル hbox の不具合を修正する

2 つのテーブルをうまく隣り合わせに配置するのに問題があります。次のようなエラーが表示されます。
Overfull \hbox (255.00095pt too wide) in paragraph at lines 9--35
次のようになります。


ここに画像の説明を入力してください


\centering\begin{centered}などを使用しているにもかかわらず、ページの最初の 4 分の 1 を占めるこの大きな空白部分 (余白よりもはるかに広い) が主張され、コンテンツの 4 分の 1 が端から落ちてしまうようです。

いくつかの異なることを試したことがわかります (コメントアウトされています)。
コードは次のとおりです。

\documentclass[varwidth]{article}

\usepackage{booktabs}

\begin{document}

% \begin{table}
% \begin{minipage}[t][29.7cm][c]{21cm}
\begin{tabular}{cc}
\begin{tabular}{cccc}
\toprule
            &   $X$       &   $X$       &   $XXX$     \\
\midrule 
XXXXXX      &   XXXXXXXX    &   XXXXXXXX    &   XXXXXXXX  \\
\midrule
XXXXXXX     &   XXX         &   XXX         &   XXX       \\
\bottomrule
\end{tabular} &
    % \caption{A}\label{tab:first}
%   \end{minipage}%
% \begin{minipage}[t][29.7cm][c]{21cm}
\begin{tabular}{cccc}
\toprule
            &   $X$       &   $X$       &   $XXX$     \\
\midrule 
XXXXXX      &   XXXXXXXX    &   XXXXXXXX    &   XXXXXXXX  \\
\midrule
XXXXXXX     &   XXX         &   XXX         &   XXX       \\
\bottomrule
\end{tabular} 
\end{tabular}
    % \caption{B}\label{tab:second}
%   \end{minipage}
% \end{table}
\end{document}

2 つの表を並べて配置したところ、右側の余白にオーバーフローしてしまいました。両方の余白の差を分割して (それぞれに均等にブリードさせて)、表を中央に配置するにはどうすればよいのでしょうか。混乱を避けるために、私が目指しているものを示すモックアップをいくつか示します。

ここに画像の説明を入力してください

答え1

余白は、指定したドキュメント クラスとページ サイズ (US レター) の標準余白です。また、左側に段落のインデントがあり、\tabcolsep表の列から 2 ロットのスペースがあります。(外側のtabular1 行の表には実際の配置がないため、外側ではこの余分なスペースを追加する以外は何も行われません。)

表を並べて表示したい場合は、ページを広くするか、表を小さくする必要があります。ここでは後者を選択し、段落のインデントとネストされた表から余分なスペースを削除しました \tabcolsep

\documentclass
 %?[varwidth]
{article}

\usepackage{booktabs}

\begin{document}

% \begin{table}
% \begin{minipage}[t][29.7cm][c]{21cm}
%\begin{tabular}{cc}
\centering
\tiny
\setlength\tabcolsep{2.9pt}
\begin{tabular}{@{}cccc}
\toprule
            &   $X$       &   $X$       &   $XXX$     \\
\midrule 
XXXXXX      &   XXXXXXXX    &   XXXXXXXX    &   XXXXXXXX  \\
\midrule
XXXXXXX     &   XXX         &   XXX         &   XXX       \\
\bottomrule
\end{tabular}%
\begin{tabular}{cccc@{}}
\toprule
            &   $X$       &   $X$       &   $XXX$     \\
\midrule 
XXXXXX      &   XXXXXXXX    &   XXXXXXXX    &   XXXXXXXX  \\
\midrule
XXXXXXX     &   XXX         &   XXX         &   XXX       \\
\bottomrule
\end{tabular}
    % \caption{B}\label{tab:second}
%   \end{minipage}
% \end{table}

\normalsize
X\dotfill normal text block\dotfill X
\end{document}

ここに画像の説明を入力してください

答え2

まず、2 つの表を横に並べて配置する必要があります。表の幅がテキスト幅の半分よりも広い場合、横に並べて配置することはできません。

以下は を使用した提案ですsubcaptionが、テキスト用に非常に幅の広いサイズが確保されていることに注意してください。

\documentclass{article}
\usepackage[margin=1cm]{geometry}

\usepackage{booktabs,subcaption}

\begin{document}

\begin{table}
\centering

\renewcommand{\thesubtable}{\Alph{subtable}}
\captionsetup[subtable]{labelformat=simple}

\small

\subcaptionbox{\label{tab:first}}{%
  \begin{tabular}{cccc}
  \toprule
          & $X$      & $X$      & $XXX$    \\
  \midrule 
  XXXXXX  & XXXXXXXX & XXXXXXXX & XXXXXXXX \\
  \midrule
  XXXXXXX & XXX      & XXX      & XXX      \\
  \bottomrule
  \end{tabular}%
}\hfill
\subcaptionbox{\label{tab:second}}{%
  \begin{tabular}{cccc}
  \toprule
          & $X$      & $X$      & $XXX$    \\
  \midrule 
  XXXXXX  & XXXXXXXX & XXXXXXXX & XXXXXXXX \\
  \midrule
  XXXXXXX & XXX      & XXX      & XXX      \\
  \bottomrule
  \end{tabular}%
}

\caption{Global caption}

\end{table}

\end{document}

ここに画像の説明を入力してください

関連情報