# Circle with a cross inside feynmp

The below code produces essentially what I want but there must be a more elegant way and more automatized way. I want a circle with a cross inside it at a vertex:

\fmfv{d.sh=circle,d.f=empty,d.si=.1w,l=$\times$,label.dist=0}{v3}% v3 is the name of the vertex


But notice that if the circle becomes big, the cross will remain small. I want a circle with a cross inside it that has the same diameter as the circle no matter how big the circle is.

Is there a simple way to achieve this?

-
Could you please provide a complete MWE for the community to work with? Something like \otimes might be what you want, but without knowing the surrounding code I am unable to test. – Paul Gessler May 6 '14 at 16:14
I tried \otimes, looked nice. Can one enlarge \otimes? – Faq May 6 '14 at 16:19
With the graphicx package, \scalebox{scalefactor}{code} will enlarge, if scale>1. If the code is math, $ delimiters will be needed around code. – Steven B. Segletes May 6 '14 at 16:32 That worked like a charm Steven! One solution to this problem is: \fmfv{l=\scalebox{2}{$\otimes\$},label.dist=0}{v3} So a combination of what you said and what @Paul Gessler suggested. Thanks. – Faq May 6 '14 at 16:42

Disclaimer: I have never used Metafont before, and I also have only ever touched feynmf once. Please comment if I did any of this completely wrong.

Since you never even provided a complete MWE, I had to just make this stuff up.

1. I used the \fmfcmd macro to define a path, which I named otimes, to draw a ⊗ shape.
It is made by rotating four copies of a ⌔ quadrant. (Thanks to egreg for the help.)

2. I turned on \fmfwizard according to footnote on page 17 of the feynmf manual:

If the variable feynmfwizard is true (e.g. after calling the \fmfwizard macro), it is also possible to specify [shape as] any METAFONT expression that evaluates to a path.

3. I set the vertex shape to otimes and the fill to empty. (Surprisingly, using another value for fill does not seem to break anything.)

\documentclass{minimal}
\usepackage{feynmp-auto}

\begin{document}
\begin{fmffile}{foo}
\begin{fmfgraph*}(80,80)

\fmfcmd{
% Please let me know if there’s a more efficient way to do this
quadrant = (0, 0) -- (0.5, 0) & quartercircle & (0, 0.5) -- (0, 0);
for i=1 upto 4: q[i] = quadrant rotated (45 + 90*i); endfor
otimes = q[1] & q[2] & q[3] & q[4] -- cycle;
}
\fmfwizard

\fmfleft{i1,i2}
\fmfright{r}

\fmf{fermion}{i1,c,i2}
\fmf{photon}{c,r}
\fmfdot{c}
\fmfv{d.sh=otimes,d.f=empty}{r}

\end{fmfgraph*}
\end{fmffile}

\end{document}


Notice how this scales “correctly” according to your requirements:

\fmfleft{a}
\fmfright{d}

\fmf{plain}{a,b,c,d}
\fmfv{d.sh=otimes,d.f=empty,d.si=.1w}{a}
\fmfv{d.sh=otimes,d.f=empty,d.si=.2w}{b}
\fmfv{d.sh=otimes,d.f=empty,d.si=.5w}{d}


-
Nice diagram,... – Faq May 6 '14 at 18:00