LaTeXで整列した方程式を表形式で配置する最良の方法

LaTeXで整列した方程式を表形式で配置する最良の方法

このようなものを実装したいのですが、セル内に整列した数式の複数行を配置するのは難しいことがわかりました。いろいろ調べてみましたが、整列\parboxした数式をセル内に配置しても、このセルを左揃えにしたり、隣のセルの内容を上揃えにしたりすることはできません。以下は、Microsoft Word で実行した、私が実現したいことです。点線のグリッド線は PDF に印刷されず、配置を示すためだけに表示されることに注意してください。 ここに画像の説明を入力してください

以下は私が試した不完全なコードです。私の目標は次のとおりです。

  1. テーブルは、、などの他の実装よりも好まれますalignframed三角関数に関する非常に長いテーブルがあり、それを適切に配置する必要があるためです。
  2. セルに複数行の方程式を挿入し、できれば (必ずしもそうとは限りませんが) 同じセル内の方程式を記号の位置で揃えます=
  3. すべてのセルは左余白なしで左上に揃えられます。
  4. 上部と下部にいくらかのパディングを入れるのが望ましいです。(今ならできますが\renewcommand{\arraystretch}{2}、もっと良い方法があるのではないかと思います。)

コンパイルされた PDF を以下に貼り付けます。現在の解決策では、2 行目で奇妙な右シフトが発生します。何が間違っているのかわかりません。それに、私の解決策が正しい方法だとは思いません。

\documentclass{article}

\usepackage{enumitem,amssymb}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{array}
\usepackage{booktabs}

\begin{document}

\everymath{\displaystyle}

\renewcommand{\arraystretch}{2}
\begin{tabular}[t]{|lll|}
  \hline
  \(\sin (x + \pi) = -\sin x\)                        &
  \(\sin (x + \pi) = -\sin x\)                        &
  \(\tan (x + \pi) = \tan x\)                         \\ \hline
  \parbox{100pt}{
    \begin{align*}
       & \sin (\alpha+\beta)   \\
       & = \sin\alpha\cos\beta + \cos\alpha\sin\beta
    \end{align*}
  }                                                  &
  \parbox{100pt}{
    \begin{flalign*}
      & \cos (\alpha+\beta) \\
      & = \sin\alpha\cos\beta + \cos\alpha\sin\beta
    \end{flalign*}
  }                                                  &
  \parbox{100pt}{
    \begin{flalign*}
      & \tan (\alpha+\beta) \\
      & = \frac{\tan\alpha + \tan\beta}{1 - \tan\alpha\tan\beta}
    \end{flalign*}
  }                                                           \\
  \(\sin 2x = 2 \cos x \sin x\)                      &
  \parbox{100pt}{
    \begin{flalign*}
      \cos 2x & = \cos^2 x - \sin^2 x \\
      & = 2\cos^2 x - 1               \\
      & = 1 - 2\sin^2 x
    \end{flalign*}
  }                                                  &
  \(\tan 2x = \frac{2\tan x}{1 - \tan^2 x}\)                  \\
  \(\sin \frac{x}{2} = \sqrt{\frac{1 - \cos x}{2}}\) &
  \(\cos \frac{x}{2} = \sqrt{\frac{1 + \cos x}{2}}\) &
  \(\tan \frac{x}{2} = \sqrt{\frac{1 - \cos x}{1 + \cos x}}\) \\
  \hline
\end{tabular}

\end{document}

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

答え1

最初に一般的なコメントを述べておくと、ある解決策が最高組版の目的や制約が何であるかを知らずに、次の解決策を提案します。役に立つただし、確かに、私はそれらが「最高」であると主張するつもりはありません。

次のスクリーンショットとコードには、2 つの解決策が示されています。最初のテーブルでは固定列幅が使用されています (これは、投稿したスクリーンショットで使用されているためです)。一方、2 番目のテーブルでは自然な列幅が使用されています。私の意見では、自然な列幅を使用する方が、少なくともこのテーブルでは見栄えが良いと思います。

どちらのソリューションでも、セルの内容は左揃えでタイプセットされています。これは、スクリーンショットに表示されているためです。他の配置方法をご希望の場合はお知らせください。3aligned行の式をタイプセットして 3 つのシンボルを垂直に揃えるために、「中央」のセルで環境を使用していることに注意してください=。最後に、どちらのソリューションでも、意図的にすべての垂直ルールを省略し、パッケージのマクロを使用してbooktabs2 つの目に見える水平ルールのみを作成しました。これは、テーブルをよりオープンで魅力的な「外観」にするために行われました。

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

\documentclass{article}
\usepackage{fourier} % optional (to match font used in OP's screenshot)
\usepackage{array} % for 'w' col. type and '\newcolumntype' macro
\newcolumntype{W}[1]{>{$\displaystyle}w{l}{#1}<{$}}
\newcolumntype{L}{>{\displaystyle}l}
\usepackage{amsmath}  % for 'aligned' env.
\usepackage{booktabs} % for well-spaced horizontal rules
\usepackage{geometry} % (set page parameters suitably)

%% Material that's common to both tables created below:
\newcommand\blurb{% 
  \toprule
  \sin(x+\pi)=-\sin x & \cos(x+\pi)=-\cos x & \tan(x+\pi)=\tan x \\ 
  \addlinespace[2ex]
  \sin2x=2\sin x\cos x & 
  \begin{aligned}[t] % <-- note the 't' ("top") placement specifier
  \cos2x &=\cos^2x-\sin^2x\\
         &=2\cos^2x-1\\
         &=1-2\sin^2x
  \end{aligned} & 
  \tan2x = \frac{2\tan x}{1-\tan^2x} \\
  \addlinespace[2ex]
  \sin\frac{x}{2}=\sqrt{\frac{1-\cos x}{2}} &
  \cos\frac{x}{2}=\sqrt{\frac{1+\cos x}{2}} & 
  \tan\frac{x}{2}=\sqrt{\frac{1-\cos x}{1+\cos x}} \\
  \addlinespace
  \bottomrule}

\begin{document}
\[
\begin{array}{@{} *{3}{W{4cm}} @{}}
\blurb
\end{array}
\]

\[
\setlength\arraycolsep{15pt} % default is '5pt'
\begin{array}{@{} *{3}{L} @{}}
\blurb
\end{array}
\]
\end{document}

関連情報