
最近の回答から
この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}
私は次のような困難に遭遇しました:
- すべてのフェルミオンのラベルをグラフの外側に配置することはできません。マニュアルを読むと、ボソン、光子などの下に配置するオプションしかありません。このオプションのみが存在すると思います:
edge label'
;- ラベルには記号だけを入れることができますか? たとえば、数式モードでコンマ「virgola」を作成しました。 この解決策を採用しないと、エラーが発生します。
解決策は何ですか?
答え1
ではedge label'
、 は'
「ラベルを線の反対側に移動する」ことを意味するので、edge label
の代わりにを使用しますedge label'
。
カンマに関して言えば、オプション リストがカンマ区切りのリストであるという問題があります。そのため、エントリの 1 つにカンマがある場合は、中括弧で保護する必要があります。つまり、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}