
Começando com uma resposta recente
com este 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}
Eu encontrei essas dificuldades:
- Não consigo colocar o rótulo de cada férmion fora do gráfico. Li o manual e só existe a opção de colocar sob bóson, fóton, etc.. Acho que só existe esta opção:
edge label'
;- Na etiqueta posso colocar apenas símbolos? Por exemplo, criei uma vírgula "virgola" no modo matemático. Se eu não adotar esta solução, recebo erros.
Quais são as soluções?
Responder1
Em edge label'
, '
significa "mover rótulo para o outro lado da linha", então use edge label
em vez de edge label'
.
Em relação à vírgula, o problema é que a lista de opções é uma lista separada por vírgulas, então se você tiver vírgula em uma das entradas é necessário protegê-la com colchetes. Em outras palavras, use foo={bar, baz}
em vez de foo=bar,baz
, caso contrário o analisador ficará confuso com a vírgula. No seu caso, 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}