如何对齐这些图表

如何对齐这些图表

我正在尝试将左侧文本与右侧图表对齐。但是没有效果。如果我使用 \feynmandiagram[baseline],则可以完成。但是如果我手动调整图表,则不起作用。下面是一个例子

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{braket}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\usepackage[compat=1.1.0]{tikz-feynman} 
\usepackage{simpler-wick}
\usetikzlibrary{calc}
\usepackage{cancel}
\begin {document}
$

\braket{p_1p_2|i\mathcal{T}|p_Ap_B}=
\begin{tikzpicture}
\begin{feynman}
\vertex (a);
\vertex[right=2 cm of a ](b);
\vertex[below=2 cm of b] (c);
\vertex[left=2 cm of c](d);
\vertex[below right=1cm of a](e);
\diagram*{
   (a)--(c),(b)--(d)
};
\end{feynman}
\end{tikzpicture}
+
\begin{tikzpicture}
\begin{feynman}

\vertex (a);
\vertex [right=2cm of a] (b);
\vertex[above right=1.414 cm of a](c);
\vertex[above=1 cm of c](d);
\vertex[above right=1.414 cm of d](e);
\vertex[above left=1.414 cm of d](f);
\diagram*{
(a)--(c),
(b)--(c),
(c)--[out= 0,in=0](d),
(c)--[out=180,in=180](d),
(d)--(e),
(d)--(f)

};
\end{feynman}
\end{tikzpicture}


$
\end{document}

给我这个结果。但我希望左边的文本与图表对齐。我该怎么做呢?谢谢。

在此处输入图片描述

答案1

  • 您加载tikz-feynman两次
  • simpler-wick必须在“tikz-feynman”之前加载包,否则这两个包之间会发生冲突
  • 最好将您的方程式写成 diapslay 数学,而不是行数学
  • 对于 align tikzpicture,你应该将它们的基线移动到它们的中心
  • 方程应该在框架内

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{braket}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{simpler-wick}
\usepackage[compat=1.1.0]{tikz-feynman}

\usetikzlibrary{calc}
\usepackage{cancel}

\begin{document}
\begin{frame}
\[  % <---
\braket{p_1p_2|i\mathcal{T}|p_Ap_B}=
\begin{tikzpicture}[baseline=(current bounding box.center)]
\begin{feynman}
\vertex (a);
\vertex[right=2 cm of a ](b);
\vertex[below=2 cm of b] (c);
\vertex[left=2 cm of c](d);
\vertex[below right=1cm of a](e);
\diagram*{
   (a)--(c),(b)--(d)
};
\end{feynman}
\end{tikzpicture}
+
\begin{tikzpicture}[baseline=(current bounding box.center)]
\begin{feynman}
\vertex (a);
\vertex [right=2cm of a] (b);
\vertex[above right=1.414 cm of a](c);
\vertex[above=1 cm of c](d);
\vertex[above right=1.414 cm of d](e);
\vertex[above left=1.414 cm of d](f);
\diagram*{
(a)--(c),
(b)--(c),
(c)--[out= 0,in=0](d),
(c)--[out=180,in=180](d),
(d)--(e),
(d)--(f)
};
\end{feynman}
\end{tikzpicture}
\]
\end{frame}
\end{document}

在此处输入图片描述

答案2

除了@Zarko 的精彩回答之外,您还可以通过 在数学模式中垂直居中任何内容\vcenter{\hbox{...}}

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{braket}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{simpler-wick}
\usepackage[compat=1.1.0]{tikz-feynman}

\usetikzlibrary{calc}
\usepackage{cancel}

\begin{document}
\begin{frame}
\[  % <---
\braket{p_1p_2|i\mathcal{T}|p_Ap_B}=\vcenter{\hbox{%
\begin{tikzpicture} 
\begin{feynman}
\vertex (a);
\vertex[right=2 cm of a ](b);
\vertex[below=2 cm of b] (c);
\vertex[left=2 cm of c](d);
\vertex[below right=1cm of a](e);
\diagram*{
   (a)--(c),(b)--(d)
};
\end{feynman}
\end{tikzpicture}
}}
+ \vcenter{\hbox{%
\begin{tikzpicture} 
\begin{feynman}
\vertex (a);
\vertex [right=2cm of a] (b);
\vertex[above right=1.414 cm of a](c);
\vertex[above=1 cm of c](d);
\vertex[above right=1.414 cm of d](e);
\vertex[above left=1.414 cm of d](f);
\diagram*{
(a)--(c),
(b)--(c),
(c)--[out= 0,in=0](d),
(c)--[out=180,in=180](d),
(d)--(e),
(d)--(f)
};
\end{feynman}
\end{tikzpicture}
}}
\]
\end{frame}
\end{document}

在此处输入图片描述

相关内容