我正在编写一个大学项目,我想创建一个表格,左列包含费曼图(我用 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
可以调整图表的基线(与baseline
(与Ti 中的操作方式相同)钾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 社区,您可以使用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 论坛帖子以供参考或进一步讨论。