幅100%、垂直/水平配置の表

幅100%、垂直/水平配置の表

次の表を LaTeX で描画します。最初の列では、テキストは左揃えにする必要があります。他のすべてのセルのテキストは中央揃えにする必要があります。最初の問題は、最初の行の D で発生します。\centeringの前にa と記述するとD、LaTeX エラーが発生します。2 番目の問題は、すべてのセルのテキストを垂直に揃えたいのですが、方法がわからないことです。解決策は見つかりましたが、最初の列の幅が指定されている場合は機能しません。

\documentclass{article}
\usepackage{blindtext}
\usepackage{tabularx}

\begin{document}
  \begin{tabularx}{\textwidth}{|p{4cm}|X|X|X|X|}
    \hline
               & \centering A & \centering B & \centering C & D\\
    \hline
    \blindtext & 123 & 123 & 123 & 123\\
    \hline
  \end{tabularx}
\end{document}

答え1

水平および垂直に中央揃えされたテキストの場合は、X 列の定義を再定義します。

\documentclass{article}
\usepackage{ragged2e}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{>{\Centering}m{#1}}

\newcommand\TEXT{%
I want to draw the following table in Latex. In the first column the text should be left aligned. The text in all other cells should be centered.}% only for demo


\begin{document}
\begin{tabularx}{\textwidth}{|m{4cm}*4{|X}|}\hline
           &  A  &   B &   C & D         \\\hline
\TEXT\TEXT & 123 & 123 & 123 & \TEXT\\\hline
\end{tabularx}
\end{document}

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

答え2

標準的な TeX の方法で配置を行うこともできますが、LaTeX のragged2eパッケージを使用するとより効果的です。

\documentclass{article}
\usepackage{blindtext}
\usepackage{tabularx}

\usepackage{ragged2e}


\begin{document}
  \begin{tabularx}{\textwidth}{|>{\RaggedRight}p{4cm}*{5}{|>{\Centering}X}|}
    \hline
               &  A & B & C & D\\
    \hline
    \blindtext & 123 & 123 & 123 & 123\\
    \hline
  \end{tabularx}
\end{document}

Xは基本的に列です。したがって、各セルの先頭でp{...}などのコマンドを使用できます。各セルに対してこれを自動的に実行するには、 を使用します。これにより、その行の各セルの先頭に中括弧の内容が挿入されます。\RaggedRight>{..}

最後の 5 つのセルの繰り返しを避けるために、構造 を挿入しました*{5}{...}

関連情報