我正在尝试创建一个既有 blob 又有水平对齐路径的简单费米子。但是,我无法让我的图表同时适用于这两者。
使用
\feynmandiagram
,我可以创建一个斑点,但不能创建一个水平传出的费米子:\documentclass[12pt]{article} \usepackage{amsfonts,amsmath,amssymb,amscd,amstext,mathabx,latexsym} \usepackage{textcomp,multicol,enumitem} \usepackage{tikz,tikz-feynman,contour} \begin{document} \tikzfeynmanset{ every fermion={black}, every photon={blue}, every blob={/tikz/fill=blue!30,/tikz/inner sep=2pt}, } \begin{tikzpicture} \begin{feynman}[every blob={/tikz/fill=blue!30,/tikz/inner sep=2pt}] \feynmandiagram [horizontal=a to b] { a -- [fermion] b [blob] -- [fermion] c}; \end{feynman} \end{tikzpicture} \end{document}
使用 LuaLaTeX 进行编译后,得到以下内容:
当我水平放置顶点时,斑点不会出现:
\documentclass[12pt]{article} \usepackage{amsfonts,amsmath,amssymb,amscd,amstext,mathabx,latexsym} \usepackage{textcomp,multicol,enumitem} \usepackage{tikz,tikz-feynman,contour} \begin{document} \tikzfeynmanset{ every fermion={black}, every photon={blue}, every blob={/tikz/fill=blue!30,/tikz/inner sep=2pt}, } \begin{tikzpicture} \begin{feynman} \vertex (a1) {\(e\)}; \vertex[right=1.2cm of a1,blob] (a2) ; \vertex[right=1.2cm of a2] (a3) {\(e\)}; \diagram* { (a1) -- [fermion] (a2) [blob] -- [fermion] (a3), }; \end{feynman} \end{tikzpicture} \end{document}
使用 LuaLaTeX 进行编译后,得到以下内容:
我不明白问题出在哪里,我检查了 J. Ellis 2016 教程中给出的每个步骤的说明。
知道我的电脑或 LaTeX 文件可能出现什么问题吗?
答案1
使用该选项layered layout
允许您在同一水平对齐上设置多个顶点。
值得注意的是,您无需加载,tikz
因为tikz-feynman
已经为您加载了。通常最好不要在...\feynmandiagram
内加载,因为这可能会导致\begin{feynman}
\end{feynman}
如上一个问题中提到的一些奇怪的间距行为。
\documentclass{article}
\usepackage{tikz-feynman}
\begin{document}
\tikzfeynmanset{
every fermion={black},
every photon={blue},
every blob={/tikz/fill=blue!30,/tikz/inner sep=2pt},
}
\begin{tikzpicture}
\begin{feynman}
\diagram [horizontal=a to b,layered layout] {
a[particle=$e$] -- [fermion] b [blob] -- [fermion] c[particle=$e$]
};
\end{feynman}
\end{tikzpicture}
\end{document}