我想用一个循环绘制图表。但我的 latex 代码不起作用。让我更具体一点
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{mathrsfs}
\usepackage{braket}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\usepackage[compat=1.1.0]{tikz-feynman}
\usepackage{simpler-wick}
\usepackage{slashed}
\begin{tikzpicture}
\begin{feynman}
\vertex (a){\(1\)};
\vertex[right=2 cm of a ](b){\(2\)};
\vertex[below=2 cm of b] (c){\(B\)};
\vertex[left=2 cm of c](d){\(A\)};
\vertex[above=1cm of d](e);
\diagram*{
(d)--(e)--[out=135,in=225](e)--(a), (c)--(b)
};
\end{feynman}
\end{tikzpicture}
所以基本上我有点a
和d
垂直连接。还有一点e
,它是线的中点ad
,我想在那里画一个左侧环。但这会出错。虽然我使用此代码成功了
\feynmandiagram[inline=(c.base)vertical=a to b, layered layout]{
a[particle=\(A\)]--c [dot] --[out=135, in=225, loop, min distance=2cm]c--b[particle=\(1\)]
};
但我想在tikzpicture
环境、feynman
环境下绘制循环。
另一件事我尝试使用包运行 feynhand \usepackage {tikzfeynhand}
。但我的编译器(texmaker)说它找不到 feynhand 样式。尝试在 sharelatex 中运行 feynhand。它也说同样的话。
请帮忙。谢谢
答案1
根据手册,\diagram*
这应该是最后的手段,这意味着你需要自己做所有事情。这是一个建议。
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{mathrsfs}
\usepackage{braket}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{tikz-feynman}
\usetikzlibrary{calc}
\usepackage{cancel}
\begin{document}
\begin{frame}
\frametitle{A manually adjusted Feynman diagram}
\begin{overlayarea}{\textwidth}{\textheight}
\begin{tikzpicture}
\begin{feynman}
\vertex (a){\(1\)};
\vertex[right=2 cm of a ](b){\(2\)};
\vertex[below=2 cm of b] (c){\(B\)};
\vertex[left=2 cm of c](d){\(A\)};
\vertex[above=1cm of d](e);
\vertex[left=1cm of e](h);
\diagram*{
(d)--(a), (e)--[out=135,in=90,min distance=0.5cm](h),
(e)--[out=-135,in=-90,min distance=0.5cm](h), (c)--(b)
};
\end{feynman}
\end{tikzpicture}
\begin{tikzpicture}
\begin{feynman}
\vertex (a){\(1\)};
\vertex[right=2 cm of a ](b){\(2\)};
\vertex[below=2 cm of b] (c){\(B\)};
\vertex[left=2 cm of c](d){\(A\)};
\vertex[above=1cm of c](e);
\vertex[right=1cm of e](h);
\diagram*{
(d)--(a), (e)--[out=45,in=90,min distance=0.5cm](h),
(e)--[out=-45,in=-90,min distance=0.5cm](h), (c)--(b)
};
\end{feynman}
\end{tikzpicture}
\begin{tikzpicture}
\begin{feynman}
\vertex (a){\(1\)};
\vertex[right=2 cm of a ](b){\(2\)};
\vertex[below=2 cm of b] (c){\(B\)};
\vertex[left=2 cm of c](d){\(A\)};
\path (a)--(c) coordinate[pos=0.25] (e);
\coordinate (h) at ($(e)+(-{1/sqrt(2)},-{1/sqrt(2)})$);
\diagram*{
(e)--[out=-180,in=135,min distance=0.5cm](h),
(e)--[out=-90,in=-45,min distance=0.5cm](h), (c)--(a),
(d)--[draw=white,double=black,very thick](b)
};
\end{feynman}
\end{tikzpicture}
\begin{tikzpicture}
\begin{feynman}
\vertex (a){\(1\)};
\vertex[right=2 cm of a ](b){\(2\)};
\vertex[below=2 cm of b] (c){\(B\)};
\vertex[left=2 cm of c](d){\(A\)};
\path (b)--(d) coordinate[pos=0.25] (e);
\coordinate (h) at ($(e)+({1/sqrt(2)},-{1/sqrt(2)})$);
\diagram*{
(e)--[out=0,in=45,min distance=0.5cm](h),
(e)--[out=-90,in=-135,min distance=0.5cm](h),
(d)--(b), (c)--[draw=white,double=black,very thick](a)
};
\end{feynman}
\end{tikzpicture}
\end{overlayarea}
\end{frame}
\end{document}
正如你所见,你能通过这种方式可以获得可接受的结果,但确实需要一些努力。
至于tikzfeynhand
,我以前从未听说过这个,但你可以从这里. 看看它的手动的看到这个软件包还支持“反马约拉纳费米子”真是太有趣了,我以前以为这是 tikz-feynman 独有的。这是一个非常有趣的矛盾说法,但可能不应该成为 4 月 1 日未发布的任何重要软件包的一部分。