การวาดแผนภาพ feynman ด้วย Feynmf
ฉันกำลังพยายามสร้างแผนภาพด้านล่างโดยใช้แพ็คเกจ feynmf แต่ฉันไม่มีความเชี่ยวชาญมากและฉันไม่รู้ว่าจะเริ่มสร้างโปรตอนสองตัวที่เข้าสู่หยด ฉันมีความสุขที่เส้นสีน้ำเงินสองเส้นออกมาเป็นเส้นประหากเส้นสีเป็นไปไม่ได้ใน feynmf แต่ฉันจะขอบคุณจริงๆสำหรับความช่วยเหลือในเรื่องนี้
ถ้ามีแพ็คเกจอื่น ๆ ที่เรียนรู้ได้ง่ายฉันก็เปิดรับการเรียนรู้อย่างอื่น!
ขอบคุณ!
คำตอบ
โซลูชัน pstricks ด้วยpst-node:
\documentclass[12pt, border=6pt, svgnames]{standalone}
\usepackage{pst-node}
\usepackage{sansmath}
\begin{document}
\begin{pspicture}(-1.5,-1.5)(2.5,1.5)
\psnode(-1,1.2){up}{$p$} \psnode(-1,-1.2){dp}{$p$}
\pnodes(2.5,0.5){us}(2.5,-0.5){ds}(0,0){O}(1.2,0){I}
\ncline[linestyle=dashed, dash = 5.5pt 4pt, nodesepA=5pt]{O}{I}\naput[labelsep=2pt]{\sansmath $h$}
\pcline[linewidth=4pt, linecolor=blue](I)(us)\naput[labelsep=0pt]{$s$}
\pcline[linewidth=4pt, linecolor=blue](I)(ds)\nbput[labelsep=0pt]{$s$}
\psset{doubleline, doublecolor=Gainsboro, doublesep=4.5pt, nodesepA=10pt}
\pcline(up)(O)\pcline(dp)(O)
\psset{doubleline=false}\pcline(up)(O)\pcline(dp)(O)
\psdot[dotscale=2](I)
\psdot[dotstyle=Bo, dotscale=2.8, fillcolor=Gainsboro](O)%
\end{pspicture}
\end{document}
นี่เป็นไปตามรายละเอียดจากเส้นขนานใน Feynman Diagramแต่ฉันไม่สามารถทำเครื่องหมายว่าซ้ำกันได้ (ขออภัยไม่รู้ว่าจะทำอย่างไร) ดังนั้นฉันจึงตัดสินใจว่าฉันควรใส่เป็นคำตอบ
น่าเศร้าที่นี่ไม่ใช่วิธีที่ง่ายที่สุดใน feynmf แต่เป็นไปได้
วิธีการวาดคือการสร้างแผนภาพโดยมีเพียงเส้นกลางสำหรับขาโปรตอนแต่ละขาจากนั้นใช้ \ fmfi (โหมดทันที feynmf) เพื่อวาดสำเนาขาที่เลื่อน
หากลากเส้นเดิมด้วย
\fmf{plain}{i1,b}
จากนั้นจึงลากเส้นพิเศษสองเส้นด้วย
\fmfi{plain}{vpath (__i1,__b) shifted (thick*(-0.5,2))}
\fmfi{plain}{vpath (__i1,__b) shifted (thick*(0.5,-2))}
คุณอาจต้องเล่นกับกะ แต่ตรวจสอบให้แน่ใจว่ากะทั้งสองกะตรงข้ามกันเพื่อให้มันดูดี
นอกจากนี้ยังมีประโยชน์ที่จะทราบว่าอาร์กิวเมนต์แรกสำหรับ \ fmfi สามารถเป็นประเภทบรรทัดใดก็ได้ที่สามารถใช้กับ \ fmf ดังนั้นเส้นประลูกศรกลูออน squiggles หรืออะไรก็ตามที่สามารถสร้างได้ตามปกติสามารถสร้างขึ้นสำหรับสำเนาได้
นอกจากนี้คุณยังถามวิธีการทำสี สิ่งนี้เป็นไปได้หากคุณใช้ feynmp และ metapost แทน feynmf และ metafont นี่เป็นข้อแตกต่างเพียงอย่างเดียวระหว่างสองแพ็คเกจ feynmp รองรับสีเป็น metapost รองรับสีโดยที่ metafont รองรับเฉพาะขาวดำ เมื่อคุณใช้ feynmp การเพิ่มสีทำได้ง่ายเพียงแค่ระบุ forground = blue หรือตัวเลือกอื่น ๆ ในอาร์กิวเมนต์แรกของคำสั่ง fmf
\fmf{plain,foreground=blue}{i1,b}
หากคุณต้องการสีอื่นที่ไม่ใช่ในตัวไวยากรณ์จะค่อนข้างอึดอัดเล็กน้อยเนื่องจากเครื่องหมายจุลภาคต้องเพิ่มเป็นสองเท่า แต่จะระบุไว้ในส่วนสีของคู่มือซึ่งมีอยู่ที่ https://ctan.math.illinois.edu/macros/latex/contrib/feynmf/fmfman.pdf
ทำตามคำแนะนำจากบันไดด้านบนและหลังจากถามคำถามอื่นที่นี่แผนภาพสุดท้ายที่ฉันพอใจสามารถทำได้โดยใช้รหัสนี้:
\begin{fmffile}{feyngraph}
\begin{fmfgraph*}(100,40)
\fmfleft{i2,i3}
\fmflabel{$p$}{i2}
\fmflabel{$p$}{i3}
\fmfright{o1,o2}
\fmf{plain}{i2,b,i3}
\fmf{dashes,label=$h$,label.side=left}{b,c}
\fmf{plain,foreground=blue,label=$\color{blue}s$,label.side=left,width=3}{o1,c,o2}
\fmffreeze
\fmfblob{.1w}{b}
\fmfdot{c}
\fmfi{plain}{vpath (__i2,__b) shifted (thick*(-0.75,0.5))}
\fmfi{plain}{vpath (__i2,__b) shifted (thick*(0.75, -0.5))}
\fmfi{plain}{vpath (__i3,__b) shifted (thick*(0.75,0.5))}
\fmfi{plain}{vpath (__i3,__b) shifted (thick*(-0.75, -0.5))}
\end{fmfgraph*}
\end{fmffile}
หรือสำหรับวงกลมที่แรเงาแทนหยดฟักให้เปลี่ยน\fmfblobเป็น\fmfv{decor.shape=circle,decor.filled=65,decor.size=3mm}{b}: