表の列を完全に揃える方法

表の列を完全に揃える方法

完全に両端揃えされた列の環境が必要ですtabular。これを実現する方法として私が最も良いと思うのは、tabularx環境を使用して (表に幅を認識させるため)、隣接するすべての列の間に\hilll(文字 を適切に繰り返すためl) を配置することです。しかし、これはうまくいきませんでした。以下の MWE を参照してください。

\documentclass{article}
\usepackage{tabularx}
\begin{document}
Text before. Text before. Text before. Text before. Text before. Text before. Text before.

\begin{tabularx}{\textwidth}{l@{\hfill}c@{\hfill}r}
 On the LEFT & In the middle & On the RIGHT
\end{tabularx}

Text between. Text between. Text between. Text between. Text between. Text between. Text between.

\def\magicNumber{50pt}
\begin{tabularx}{\textwidth}{lcr}
 On the LEFT & \hspace*{\magicNumber} In the middle \hspace*{\magicNumber} & On the RIGHT
\end{tabularx}

Text after. Text after. Text after. Text after. Text after. Text after. Text after. Text after.
\end{document}

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

最初のtabularx環境は私の失敗した試みです。2 番目の環境tabularxは (ほぼ) 正しくタイプセットされていますが、マジック ナンバーを使用したハックです。

質問:

\hfill無限グルー( など)を適切に使用して列間のスペースを指定するにはどうすればよいでしょうかtabularx。より一般的には、完全に両端揃えされた列を持つ環境を取得するにはどうすればよいでしょうかtabular

答え1

tabularxは -column を使用する場合にのみ機能しますX。おそらく、 の設定に興味があるでしょう\extracolsep{\fill}表の列と行のパディング:

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

\documentclass{article}
\begin{document}
Text before. Text before. Text before. Text before. Text before. Text before. Text before.

\noindent
\begin{tabular*}{\linewidth}{@{}@{\extracolsep{\fill}}lcr@{}}
  On the LEFT & In the MIDDLE & On the RIGHT
\end{tabular*}

Text after. Text after. Text after. Text after. Text after. Text after. Text after. Text after.

\noindent
\begin{tabular*}{\linewidth}{@{}@{\extracolsep{\fill}}lcr@{}}
  On the LEFT & In the very MIDDLE & On the RIGHT
\end{tabular*}

\end{document}

上記は「完全に揃えられた」列を表していないことに注意してください。そのためには、次のようにします。

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

\documentclass{article}
\usepackage{tabularx}
\begin{document}
Text before. Text before. Text before. Text before. Text before. Text before. Text before.

\noindent
\begin{tabularx}{\linewidth}{@{}XXX@{}}
  On the LEFT & In the MIDDLE & On the RIGHT
\end{tabularx}

Text after. Text after. Text after. Text after. Text after. Text after. Text after. Text after.

\end{document}

必要に応じて、列の位置合わせを変更できます。arrayパッケージ

関連情報