TikZ-Feymann 包的奇怪標籤和數學模式的困難

TikZ-Feymann 包的奇怪標籤和數學模式的困難

從最近的一個回答開始

在此輸入影像描述

有了這個 MWE:

\documentclass[a4paper,12pt]{article}
\usepackage{amssymb,amsmath}

\usepackage{tikz-feynman}
\tikzfeynmanset{compat=1.1.0}
\newcommand{\virgola}{\smash{\raisebox{0.1ex}{,}}}
\begin{document}
\feynmandiagram [layered layout, horizontal=b to c] {
a -- [boson,edge label'=\(p\virgola a\),charged boson] b
-- [fermion, half left, looseness=1.5,edge label'=\(\scriptstyle q+\frac{p}{2}\)] c
-- [fermion, half left, looseness=1.5, edge label'=\(\scriptstyle q-\frac{p}{2}\)] b,
c -- [boson,edge label'=\(p\virgola a\),charged boson] d,
};

\end{document}

我遇過這些困難:

  1. 我無法將每個費米子的標籤放在圖表之外。我閱讀了手冊,只有放置在玻色子、光子等下的選項edge label'
  2. 我可以在標籤中只放入符號嗎?例如,我在數學模式下創建了一個逗號“virgola”。如果我不採用這個解決方案,我會收到錯誤。

解決辦法有哪些?

答案1

在 中edge label''意思是“將標籤移到線的另一邊”,因此使用edge label代替edge label'

關於逗號,問題在於選項列表是逗號分隔的列表,因此如果其中一個條目中有逗號,則需要用大括號保護它。換句話說,使用foo={bar, baz}代替foo=bar,baz,否則解析器會被逗號混淆。就你而言,edge label'={\(p, a\)}.

在此輸入影像描述

\documentclass[a4paper,12pt]{article}
\usepackage{amssymb,amsmath}
\usepackage{tikz-feynman}
\tikzfeynmanset{compat=1.1.0}
\begin{document}
\feynmandiagram [layered layout, horizontal=b to c] {
a -- [boson,edge label'={\(p, a\)},charged boson] b
-- [fermion, half left, looseness=1.5,edge label=\(\scriptstyle q+\frac{p}{2}\)] c
-- [fermion, half left, looseness=1.5, edge label=\(\scriptstyle q-\frac{p}{2}\)] b,
c -- [boson,edge label'={\(p,a\)},charged boson] d,
};

\end{document}

相關內容