本文へ移動

Scissor LaTeX での array、tabularx、longtable、tabulary

Scissor LaTeX では array と tabularx パッケージとその仲間は一部のみ動作します。tabularx、tabulary、longtable、xltabular の表は tabular と同じように組版され、表が行幅より広くなる場合は長いセルが折り返されます。列幅(p{3cm}、X、表の幅)と >{...}/<{...} のコードは無視され、\newcolumntype は認識されず、longtable の見出しは繰り返されません。

パッケージの役割

  • array は m{width} や b{width} などの列タイプ、>{...} と <{...} による各セルの前後のコード、独自の列の文字を定義する \newcolumntype を追加します。
  • tabularx は \begin{tabularx}{\textwidth}{lX} を提供します。X 列が伸びて、表が指定の幅になります。tabulary は同じことを、内容に応じて幅を分け合う L、C、R、J 列で行います。
  • longtable を使うと、見出しを繰り返しながら(\endhead)表をページをまたいで分割できます。xltabular は longtable と tabularx を組み合わせたものです。

ここで動作するもの

機能Scissor LaTeX では備考
tabularx, tabulary, xltabular, longtable, tabular*一部のみtabular と同じように組版されます。全体の幅の引数は無視されます。
X, L, C, R, J 列一部のみX と L は左揃え、C は中央揃え、R は右揃え。
p{3cm}, m{3cm}, b{3cm}一部のみ左揃えで、幅は無視されます。
長いセルのテキスト動作する表が行幅より広くなる場合に折り返されます。
>{\bfseries}l, r<{\%}無視されるセルの前後のコードは無視されます。
\newcolumntype{C}{...}非対応「問題」タブに注記を出してスキップされ、定義がテキストとして出力されます。代わりに列タイプを直接書いてください。
\endhead, \endfirsthead, \endfoot, \endlastfoot無視される長い表はページをまたいで分割されますが、見出しは繰り返されません。
\tabularnewline動作する\\ と同じ。
\arraybackslash非対応「問題」タブに注記を出してスキップされます。それ以外の害はありません。

例

伸びる列を持つ tabularx の表です。長いテキストは、TeX のインストール環境と同じようにテキストの端で折り返されます。

X 列を持つ tabularx

LaTeXプリアンブル: \usepackage{tabularx}エディタで開く (新しいタブで開きます)
\begin{tabularx}{\textwidth}{lX}
\hline
Name & Notes \\
\hline
Erika Mustermann & Leads the project, writes the reports and checks
  every one of the 44 measurements twice before they are published. \\
John Doe & Builds the test setup. \\
\hline
\end{tabularx}
Scissor LaTeX による組版: X 列を持つ tabularx

見出し行のある longtable です。表は組版されますが、長い文書では次のページで見出しが繰り返されません。

\endhead を使った longtable

LaTeXプリアンブル: \usepackage{longtable}エディタで開く (新しいタブで開きます)
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers  & 7 \\
\hline
\end{longtable}

>{...} のコードは無視されるため、この列は太字にならず、パーセント記号も抜けます。

>{...} と <{...} は無視される

LaTeXプリアンブル: \usepackage{array}エディタで開く (新しいタブで開きます)
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share  & 12 \\
\end{tabular}

代わりに書式をセルの中に書きます。これはここでも TeX のインストール環境でも動作します。

セルの中に書いた書式

\begin{tabular}{lr}
\textbf{Growth} & 44\,\% \\
\textbf{Share}  & 12\,\% \\
\end{tabular}

互換性

  • TeX のインストール環境からここへ: 表は組版され、揃え方は保たれますが、列幅は保たれません。\newcolumntype による独自の列の文字がないか確認してください。
  • ここから TeX のインストール環境へ: 文書はそのまま変更なしでコンパイルでき、そこでは幅が適用されます。

完全なマニュアルは CTAN にあります:ctan.org/pkg/array、ctan.org/pkg/tabularx、ctan.org/pkg/tabulary、ctan.org/pkg/longtable、ctan.org/pkg/xltabular。表全般については LaTeX の表をご覧ください。

表、multirow、booktabs、LaTeX 表ジェネレーターもご覧ください。

よくある質問

p{3cm} の列の幅が 3 cm にならないのはなぜですか?

列幅はまだ適用されません。それでも長いテキストはテキストの端で折り返されるので、表はページに収まります。

longtable はページをまたいで分割されますか?

はい。長い表は次のページに続きますが、\endhead で指定した行はそこでは繰り返されません。

このページの例はすべて、サイトのビルド時に Scissor LaTeX で組版されています。 最終更新:2026-11-07