Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

See also http://physics.stackexchange.com/questions/101761/qed-vertex-factor-rule or the figure below.

enter image description here

share|improve this question
2  
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 at 16:14
    
I tried \otimes, looked nice. Can one enlarge \otimes? –  Love Learning May 6 at 16:19
1  
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 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. –  Love Learning May 6 at 16:42

1 Answer 1

up vote 8 down vote accepted

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
    path quadrant, q[], otimes;
    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}

share|improve this answer
    
Nice diagram,... –  Love Learning May 6 at 18:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.