表内の方程式の垂直方向の配置

表内の方程式の垂直方向の配置

私は大学のプロジェクトをまとめているところです。左の列にファインマン図 (feynmp パッケージを使用して描画したもの) を、右の列に方程式を記入した表を作成したいと考えています。しかし、これを行うと、方程式がセルの下部に垂直に揃えられてしまいます。これを変更して、同じ行の図の中央に揃える方法がわかりません。

ここに、レポート全体を書き出さずに問題を説明できるサンプル コードをいくつか示します。

\begin{table*}[t]
\centering
\begin{tabular}{|c|c|}
\hline
\textbf{feynmp diagram goes here}
&
$\begin{aligned} I &= \\ &\frac{D}{4} \end{aligned}$
\\
\hline
\end{tabular}
\end{table*}

答え1

表形式のオプションを使用できますm{width}:

\documentclass{article}

\usepackage{array}
\usepackage{amsmath}

\begin{document}
\begin{table*}[t]
\centering
\begin{tabular}{|c|m{5cm}|}
\hline
\textbf{feynmp diagram goes here} \newline
&
$\begin{aligned} I &= \\ &\frac{D}{4} \end{aligned}$
\\
\hline
\end{tabular}
\end{table*}
\end{document}

答え2

cセルの幅を指定せずに、単純な方法でセルを保持できます\raisebox[-\height}(必要に応じて視覚的な修正も追加します)。cellspaceパッケージを使用して垂直方向のパディングを追加しました。

\documentclass{article}
\usepackage{graphicx}
\usepackage{array}
\usepackage{amsmath}
\usepackage{cellspace}
\setlength\cellspacetoplimit{6pt}
\setlength\cellspacebottomlimit{6pt}

\begin{document}

\begin{table*}[t]
  \centering
  \begin{tabular}{|Sc|c|}
    \hline
    \raisebox{\dimexpr-0.5\height+1ex\relax }{\fbox{\includegraphics[scale = 0.4]{Feynmann}}}
      & $ \begin{aligned} I & = \\\hline &\frac{D}{4} \end{aligned}$ \\
    \hline
  \end{tabular}
\end{table*}

\end{document} 

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

答え3

使用することもできますtikz-feynmanプロジェクトページ)。特に、inlineダイアグラムのベースラインを調整するオプションがあります(baselineTiで機能するのと同じ方法です)。Z) また、図を少し小さくして、方程式、またはこの場合は表にうまく収まるようにします。

\documentclass{article}

\usepackage[compat=1.1.0]{tikz-feynman}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{cc}
  \toprule
  \multicolumn{2}{c}{\textbf{Feynman Rules}} \\
  \midrule
  \feynmandiagram[inline=(a), horizontal=i1 to a] {
    i1 [particle=\(A_{\mu}\)] -- [photon] a -- [fermion] f1,
    a -- [anti fermion] f2,
  }; &
  \(\displaystyle ig \gamma_{\mu}\) \\
  \feynmandiagram[inline=(a), horizontal=i1 to a] {
    i1 [particle=\(W^{\pm}_{\mu}\)]-- [photon] a -- [fermion] f1,
    a -- [anti fermion] f2,
  }; &
  \(\displaystyle \frac{ig}{\sqrt{2}} \gamma_{\mu} \frac{1 - \gamma_{5}}{2}\) \\
  \bottomrule
\end{tabular}
\end{document}

出力

答え4

すでにあなたのクロスポストに書いたようにLaTeXコミュニティ.org、この例でコードを使用して示されているように、adjustboxパッケージまたはパッケージを使用できます。したがって、固定幅を必要とする m 列は必要ありません。stackengine

\documentclass{article} 
\usepackage[demo]{graphicx}
\usepackage{amsmath}
\usepackage{stackengine}
\begin{document}
\begin{table*}[t]
\centering
\begin{tabular}{|c|c|}
  \hline
  \Centerstack{\includegraphics{diagram}}
    &
  $\begin{aligned} I &= \\
  &\frac{D}{4} \end{aligned}$\\
\hline
\end{tabular}
\end{table*}
\end{document}

中央出力

次のようにして上揃えに変更することもできます。

  \belowbaseline[0pt]{\includegraphics{diagram}}
    &
  \belowbaseline[0pt]{$\begin{aligned} I &= \\
      &\frac{D}{4} \end{aligned}$}\\

トップ出力

図の下部には垂直配置のベースラインがあります。数式環境のベースラインはaligned中央にあります(ただし、上または下のラインに変更することができます)。表では、ベースラインは互いに並んで配置されています。そのため、図がベースラインより上に上がっているのがわかりますが、ベースラインの数式テキストは低いままです。これはベースラインの配置であり、上揃えではありません。私が行ったように、ベースラインより下に伸びるように変更すると、上揃えになります。LaTeX フォーラム投稿参考またはさらなる議論のため。

関連情報