配列の列幅をページいっぱいに調整する

配列の列幅をページいっぱいに調整する

array私は、列を自動的に均等幅に伸ばしてページ全体に広げる環境 (同様に動作するものであれば何でも構いません)を利用しようとしています。一例:

\documentclass[12pt]{article}
\usepackage{amsmath}
\renewcommand{\u}[1]{\underline{#1}}

\begin{document}
\[\begin{array}{rrr}
    5 & 5 & 5\\
    \u{+4} &\u{+4} &\u{+4}
\end{array}\]
\end{document}

現時点で私が知っている方法は、各列のペアの間に「偽の」列を挿入し、それを使用して\hspace*{##cm}列を強制的に広げることだけですが、たとえば 13 行に 7 列あり、何らかの理由ですべてを単一の配列環境の一部にできない場合は、これは少し面倒になります。

この問題に対する比較的簡単なアプローチはありますか? 検索してみましたが、あまり役立ちそうなものは見つかりませんでした (専門用語に十分精通していないため、最適な検索フレーズを入力できない可能性もあります)。

答え1

tabular*を使ってスペースを埋めることができます。数式モードで列を作成するにはarray、私が行ったようにパッケージとを使用します>{$}

\documentclass[12pt]{article}
\usepackage{amsmath,array}
\renewcommand{\u}[1]{\underline{#1}}

\begin{document}
\begin{tabular*}{\linewidth}{>{$}r<{$}@{\extracolsep{\fill}}>{$}r<{$}>{$}r<{$}}
    5 & 5 & 5\\
    \u{+4} &\u{+4} &\u{+4}
\end{tabular*}
\end{document}

Mico の提案に従って、新しい列タイプを定義することで簡素化できます。

\documentclass[12pt]{article}
\usepackage{amsmath,array}
\renewcommand{\u}[1]{\underline{#1}}

\newcolumntype{R}{>{$}r<{$}}

\begin{document}
\begin{tabular*}{\linewidth}{R@{\extracolsep{\fill}}RR}
    5 & 5 & 5\\
    \u{+4} &\u{+4} &\u{+4}
\end{tabular*}
\end{document}

答え2

(回答は、OP のフォローアップコメントを組み込むように更新されました。)

あなたの要件を正しく理解していれば、

  • 各列内の数字を小数点揃えにする

  • 列自体を中央に配置する

  • 表全体がテキスト ブロックの幅を占めるように、列の幅や列間の空白の量を自動的に調整します。

これらの目的を達成する 1 つの方法は、tabularx環境を使用し、dcolumnパッケージをロードして数値を小数点揃えにし、X列タイプの変更された (つまり、中央揃えの) 形式を使用して各行のヘッダーをタイプセットすることです。

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

\documentclass[12pt]{article}
\usepackage{tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\newcommand\mc[1]{\multicolumn{1}{Y}{#1}}

\usepackage{dcolumn}
\newcolumntype{d}[1]{D..{#1}} % "decimal-aligned" column type

\usepackage[normalem]{ulem} % for "safe underlining"
\renewcommand\u[1]{\uline{#1}}

\begin{document}
\hrule % just to illustrate width of text block
\smallskip\noindent
\begin{tabularx}{\linewidth}{ *{4}{d{2.0}} }
\mc{Header 1} & \mc{Header 2} & \mc{Header 3} & \mc{Header 4}\\
    5 & 5 & 5 & 5\\
    \u{+4} &\u{+4} &\u{+4} &\u{+4}\\
\end{tabularx}
\end{document}

関連情報