
A partir de una respuesta reciente
con 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}
Me he encontrado con estas dificultades:
- No puedo poner la etiqueta de cada fermión fuera del gráfico. Leí el manual y solo existe la opción de colocar debajo de bosón, fotón, etc. Creo que solo existe esta opción:
edge label'
;- ¿En la etiqueta puedo poner sólo símbolos? Por ejemplo, he creado una coma "virgola" en modo matemático. Si no adopto esta solución, obtengo errores.
¿Cuáles son las soluciones?
Respuesta1
En edge label'
, '
significa "mover la etiqueta al otro lado de la línea", así que úselo edge label
en lugar de edge label'
.
Respecto a la coma, el problema es que la lista de opciones es una lista separada por comas, por lo que si tienes una coma en una de las entradas necesitas protegerla con llaves. En otras palabras, utilícelo foo={bar, baz}
en lugar de foo=bar,baz
; de lo contrario, la coma confunde al analizador. En tu 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}