我有这个带圆圈的简单费曼图:
我想把数字“1”放在那个圆圈的中间。
我尝试过这些:
\fmfiv{lab=1}{c}
\fmfiv{lab=1}{.5[nw,se])
\fmfiv{lab=1}{(.4999w, .5h)}
\fmfiv{lab=1}{(.5001w, .5h)}
但无论我输入什么常数,乳胶都拒绝将其放入圆圈内。
乳胶:
\documentclass[24pt]{article}
\usepackage{amsmath,amsfonts,epsf}
\usepackage{amssymb}
\usepackage[pdftex]{graphicx}
\usepackage{grffile}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{2ptcorrection1}
\begin{fmfgraph*}(220,12)
\fmfpen{thick}
\fmfleft{i1}
\fmfright{o1}
\fmf{plain}{i1,v1}
\fmf{dashes, left=1, tension=0.3}{v1,v2}
\fmf{plain, right=1, tension=0.3}{v1,v2}
\fmf{plain}{v2,o1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
顺便说一下,坐标是:“c”代表中心,西南,东南,东北,西北。
更新:感谢 hftf回答。
答案1
我可以通过使用phantom
圆圈上的(不可见的)边缘并将标签设置label.dist
为0
位于该边缘的中间,使标签看起来位于圆圈的中心。
\documentclass{minimal}
\usepackage{grffile}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{2ptcorrection1}
\begin{fmfgraph*}(220,12)
\fmfpen{thick}
\fmfleft{i1}
\fmfright{o1}
\fmf{plain}{i1,v1}
\fmf{dashes, left=1, tension=0.3}{v1,v2}
\fmf{plain, right=1, tension=0.3}{v1,v2}
\fmf{plain}{v2,o1}
% This is where the magic happens:
\fmf{phantom,label.dist=0,label=1}{v1,v2}
\end{fmfgraph*}
\end{fmffile}
\end{document}
它看起来是这样的:
答案2
在feynman
环境中,首先在宏中绘制实际图表\diagram
,然后可以使用通常的 Ti钾Z 命令用于放置标签(此处使用的语法需要calc
库,该库由 Ti 默认加载)钾您必须使用 进行编译lualatex
才能利用顶点的自动定位功能。
\documentclass[tikz]{standalone}
\usepackage{tikz-feynman}
\tikzfeynmanset{compat=1.0.0}
\begin{document}
\begin{tikzpicture}
\begin{feynman}
\diagram[layered layout, horizontal=a to d] {
a -- b,
b -- [scalar, half left] c -- [half left] b,
c -- d,
};
\node [red] at ($(b)!0.5!(c)$) {1};
\end{feynman}
\end{tikzpicture}
\end{document}