我正在編寫一個大學項目,我想創建一個表,其中左列包含費曼圖(我使用 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
(專案頁面)。特別是,它具有調整圖表基線的選項(與Ti 中的工作inline
方式相同)baseline
kZ),並且還使圖表稍微小一些,以便它很好地適合方程,或者在本例中是表格。
\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-Community.org,您可以使用該adjustbox
包或該stackengine
包,如本範例中使用您的程式碼所示範的。所以你不需要需要固定寬度的 m 列。
\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 論壇帖子供參考或進一步討論。