> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/el/eidiko-pedio/03-feynman-diagrams.md).

# Διαγράμματα Feynman

## Εισαγωγή

Αυτό το άρθρο βοήθειας εξερευνά πακέτα LaTeX για τη σχεδίαση διαγραμμάτων Feynman, έναν πολύ συμπαγή και διαισθητικό τρόπο αναπαράστασης αλληλεπιδράσεων μεταξύ σωματιδίων. Θα εξετάσουμε το [`tikz-feynman` πακέτο](https://ctan.org/pkg/tikz-feynman?lang=en), το οποίο χρησιμοποιεί το TikZ για να σχεδιάζει διαγράμματα, και [`feynmp-auto`](#other-packages-for-drawing-feynman-diagrams) το οποίο («παρασκηνιακά») χρησιμοποιεί το MetaPost.

## Το πακέτο TikZ-Feynman

Το [`tikz-feynman` πακέτο](https://ctan.org/pkg/tikz-feynman?lang=en) κυκλοφόρησε το 2016 και χρησιμοποιεί Ti*k*Z για να δημιουργεί διαγράμματα Feynman. Ti*k*Z-Feynman βασίζεται στο πακέτο Ti*k*Z και στους αλγορίθμους σχεδίασης γραφημάτων του, ώστε να αυτοματοποιεί την τοποθέτηση πολλών κορυφών. Ti*k*Z-Feynman εξακολουθεί να επιτρέπει λεπτομερή ρύθμιση της τοποθέτησης κορυφών, ώστε ακόμη και πολύπλοκα διαγράμματα να μπορούν να δημιουργηθούν εύκολα. Οι πιο ενημερωμένες πληροφορίες για το Ti*k*Z-Feynman θα βρίσκονται πάντα στη [σελίδα του έργου](http://www.jpellis.me/projects/tikz-feynman/) και στο [την τεκμηρίωση του πακέτου](http://mirrors.ctan.org/graphics/pgf/contrib/tikz-feynman/tikz-feynman.pdf) στο CTAN.

### Ενημέρωση (9 Νοεμβρίου 2022)

**ΣΗΜΑΝΤΙΚΗ ενημέρωση μετά τη δημοσίευση** (9 Νοεμβρίου 2022): Τη στιγμή της ενημέρωσης αυτής της σελίδας, το **πακέτο TikZ-Feynman παραμένει ασύμβατο με εκδόσεις TeX Live νεότερες από το TeX Live 2018**—η οποία είναι η έκδοση TeX Live που χρησιμοποιείται στο [έργο Overleaf που συνοδεύει αυτό το άρθρο βοήθειας.](https://www.overleaf.com/project/new/template/26607?id=114366276\&templateName=Examples+using+the+TikZ-Feynman+package\&latexEngine=lualatex\&texImage=texlive-full%3A2018.1\&mainFile=) Όλα τα παραδείγματα TikZ-Feynman που παρατίθενται παρακάτω θα πρέπει να μεταγλωττιστούν σε ένα έργο Overleaf με την **έκδοση TeX Live** ορισμένη σε `2018 (legacy)`. Για περισσότερες πληροφορίες, δείτε [αυτό το ζήτημα που αναφέρθηκε στο GitHub](https://github.com/JP-Ellis/tikz-feynman/issues/73#issue-942615833).

### Φόρτωση του πακέτου

Αφού εγκαταστήσετε το πακέτο, το Ti*k*Z-Feynman μπορεί να φορτωθεί με `\usepackage{tikz-feynman}` στο προοίμιο. Συνιστάται επίσης να καθορίσετε την έκδοση του Ti*k*Z-Feynman που θα χρησιμοποιηθεί με την `compat` επιλογή πακέτου: `\usepackage[compat=1.0.0]{tikz-feynman}`. Αυτό διασφαλίζει ότι τυχόν νέες εκδόσεις του Ti*k*Z-Feynman δεν θα προκαλέσουν ανεπιθύμητες αλλαγές χωρίς προειδοποίηση.

### Το πρώτο διάγραμμα

Τα διαγράμματα Feynman μπορούν να δηλωθούν με την `\feynmandiagram` εντολή. Είναι ανάλογη της `\tikz` εντολής από το Ti*k*Z και απαιτεί μια τελική άνω τελεία (`;`) για να ολοκληρώσει το περιβάλλον. Για παράδειγμα, ένα απλό *s*-κανάλι διάγραμμα είναι:

```
\feynmandiagram [horizontal=a to b] {
  i1 -- [fermion] a -- [fermion] i2,
  a -- [photon] b,
  f1 -- [fermion] b -- [fermion] f2,
};
```

![S-channel.png](/files/d3b3a144e4165613875f3095f520a548464fe7ac)

Ας δούμε αυτό το παράδειγμα γραμμή προς γραμμή:

**Γραμμή 1**

\feynmandiagram εισάγει το διάγραμμα Feynman και επιτρέπει να δοθούν προαιρετικά ορίσματα μέσα στις αγκύλες \[]. Σε αυτή την περίπτωση, το horizontal=a to b προσανατολίζει τα αποτελέσματα του αλγορίθμου έτσι ώστε η γραμμή που περνά από τις κορυφές a και b να είναι οριζόντια.

**Γραμμή 2**

Η αριστερή γραμμή φερμιονίου σχεδιάζεται με τη δήλωση τριών κορυφών (i1, a και i2) και τη σύνδεσή τους με ακμές --. Όπως ακριβώς και η εντολή \feynmandiagram παραπάνω, κάθε ακμή δέχεται επίσης προαιρετικά ορίσματα που καθορίζονται μέσα σε αγκύλες \[]. Σε αυτή την περίπτωση, θέλουμε αυτές οι ακμές να έχουν βέλη ώστε να υποδεικνύεται ότι πρόκειται για γραμμές φερμιονίου, οπότε προσθέτουμε το στυλ fermion σε αυτές. Όπως θα δείτε αργότερα, προαιρετικά ορίσματα μπορούν επίσης να δοθούν στις κορυφές με ακριβώς τον ίδιο τρόπο.

**Γραμμή 3**

Αυτή η ακμή συνδέει τις κορυφές a και b με μια ακμή μορφοποιημένη ως photon. Εφόσον υπάρχει ήδη μια κορυφή με την ετικέτα a, ο αλγόριθμος θα τη συνδέσει με μια νέα κορυφή με ετικέτα b.

**Γραμμή 4**

Αυτή η γραμμή είναι ανάλογη της γραμμής 2 και εισάγει δύο νέες κορυφές, f1 και f2. Επαναχρησιμοποιεί την κορυφή b που είχε επισημανθεί προηγουμένως.

**Γραμμή 5**

Ολοκληρώστε τη δήλωση του διαγράμματος Feynman. Η τελική άνω τελεία (;) είναι σημαντική.

Το όνομα που δίνεται σε κάθε κορυφή στο γράφημα δεν έχει σημασία. Έτσι, σε αυτό το παράδειγμα, `i1`, `i2` δηλώνουν τα αρχικά σωματίδια; `f1`, `f2` δηλώνουν τα τελικά σωματίδια· και `a`, `b` είναι τα άκρα του προπαγέα. Η μόνη σημαντική πτυχή είναι ότι αυτό που ονομάσαμε `a` στη γραμμή 2 είναι επίσης `a` στη γραμμή 3, έτσι ώστε ο υποκείμενος αλγόριθμος να τα αντιμετωπίζει ως την ίδια κορυφή.

Η σειρά με την οποία δηλώνονται οι κορυφές δεν έχει σημασία, καθώς ο προεπιλεγμένος αλγόριθμος αναδιατάσσει τα πάντα. Για παράδειγμα, ίσως προτιμήσετε να σχεδιάσετε όλες τις γραμμές φερμιονίου μαζί, όπως στο ακόλουθο παράδειγμα (σημειώστε επίσης ότι ο τρόπος με τον οποίο ονομάσαμε τις κορυφές είναι εντελώς διαφορετικός):

```
\feynmandiagram [horizontal=f2 to f3] {
  f1 -- [fermion] f2 -- [fermion] f3 -- [fermion] f4,
  f2 -- [photon] p1,
  f3 -- [photon] p2,
};
```

![Photon-scattering.png](/files/6ea9a7f700fb0dd62c09582a3b3414172f0b6350)

Ως τελική παρατήρηση, ο υπολογισμός της θέσης όπου πρέπει να τοποθετηθούν οι κορυφές γίνεται συνήθως μέσω ενός αλγορίθμου γραμμένου σε Lua. Ως αποτέλεσμα, απαιτείται LuaTeX για να αξιοποιηθούν αυτοί οι αλγόριθμοι. Αν δεν χρησιμοποιείται LuaTeX, το Ti*k*Z-Feynman θα χρησιμοποιήσει ως προεπιλογή έναν πιο στοιχειώδη αλγόριθμο και θα προειδοποιήσει αντί γι' αυτόν τον χρήστη.

### Προσθήκη στυλ

Μέχρι στιγμής, τα παραδείγματα έχουν χρησιμοποιήσει μόνο τα `photon` και `fermion` στυλ. Το Ti*k*Z-Feynman πακέτο συνοδεύεται από αρκετά επιπλέον στυλ για ακμές και κορυφές, τα οποία τεκμηριώνονται όλα στο [την τεκμηρίωση του πακέτου](http://mirrors.ctan.org/graphics/pgf/contrib/tikz-feynman/tikz-feynman.pdf). Για παράδειγμα, είναι δυνατό να προστεθούν βέλη ορμής με `momentum=<text>`, και στην περίπτωση των τελικών κορυφών, το σωματίδιο μπορεί να επισημανθεί με `particle=<text>`. Για να δείξουμε πώς χρησιμοποιούνται, παίρνουμε το γενικό *s*-κανάλι διάγραμμα από πριν και το μετατρέπουμε σε ζεύγη ηλεκτρονίου-ποζιτρονίου που ανιχιλλούν σε μιόνια:

```
\feynmandiagram [horizontal=a to b] {
  i1 [particle=\(e^{-}\)] -- [fermion] a -- [fermion] i2 [particle=\(e^{+}\)],
  a -- [photon, edge label=\(\gamma\), momentum'=\(k\)] b,
  f1 [particle=\(\mu^{+}\)] -- [fermion] b -- [fermion] f2 [particle=\(\mu^{-}\)],
};
```

![S-channel-labelled.png](/files/a66eb104c201ce91711f3121f265615c3b703ab5)

Εκτός από τα κλειδιά στυλ που τεκμηριώνονται παρακάτω, μπορούν να χρησιμοποιηθούν και κλειδιά στυλ από το Ti*k*Z επίσης:

```
\feynmandiagram [horizontal=a to b] {
  i1 [particle=\(e^{-}\)] -- [fermion, very thick] a -- [fermion, opacity=0.2] i2 [particle=\(e^{+}\)],
  a -- [red, photon, edge label=\(\gamma\), momentum'={[arrow style=red]\(k\)}] b,
  f1 [particle=\(\mu^{+}\)] -- [fermion, opacity=0.2] b -- [fermion, very thick] f2 [particle=\(\mu^{-}\)],
};
```

![S-channel-labelled-styled.png](/files/5a3dbf9a21b28e8e4702349b10daade286da0e77)

Για μια λίστα όλων των διαφόρων στυλ που παρέχει το Ti*k*Z, ρίξτε μια ματιά στο [Ti*k*εγχειρίδιο του Z](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf); είναι εξαιρετικά λεπτομερές και παρέχει πολλά παραδείγματα χρήσης.

### Όταν ο αλγόριθμος δεν αρκεί

Από προεπιλογή, οι `\feynmandiagram` και `\diagram` εντολές χρησιμοποιούν τον `αλγόριθμο spring layout` για να τοποθετήσουν όλες τις ακμές. Ο `αλγόριθμο spring layout` αλγόριθμος προσπαθεί να \`απλώσει' το διάγραμμα όσο το δυνατόν περισσότερο, κάτι που—για τα περισσότερα απλούστερα διαγράμματα—δίνει ικανοποιητικό αποτέλεσμα· ωστόσο σε ορισμένες περιπτώσεις αυτό δεν παράγει το καλύτερο διάγραμμα και αυτή η ενότητα θα εξετάσει εναλλακτικές λύσεις. Υπάρχουν τρεις βασικές εναλλακτικές:

**Προσθήκη αόρατων ακμών**

Ενώ εξακολουθεί να χρησιμοποιείται ο προεπιλεγμένος αλγόριθμος, είναι δυνατό να αναγκάσετε ορισμένες κορυφές να είναι πιο κοντά μεταξύ τους προσθέτοντας επιπλέον ακμές και κάνοντάς τες αόρατες μέσω του draw=none. Ο αλγόριθμος θα αντιμετωπίσει αυτές τις επιπλέον ακμές με τον ίδιο τρόπο, αλλά απλώς δεν θα σχεδιαστούν στο τέλος;

**Χρήση διαφορετικού αλγορίθμου**

Σε ορισμένες συνθήκες, άλλοι αλγόριθμοι μπορεί να είναι πιο κατάλληλοι. Μερικοί από τους άλλους αλγορίθμους διάταξης γραφημάτων παρατίθενται στην τεκμηρίωση του πακέτου, και ένας εξαντλητικός κατάλογος όλων των αλγορίθμων και των παραμέτρων τους δίνεται στο εγχειρίδιο του TikZ;

**Χειροκίνητη τοποθέτηση**

Ως έσχατη λύση, τα πολύ περίπλοκα ή ασυνήθιστα διαγράμματα θα απαιτήσουν να τοποθετηθεί χειροκίνητα κάθε κορυφή.

#### Αόρατες ακμές

Ο υποκείμενος αλγόριθμος αντιμετωπίζει όλες τις ακμές με ακριβώς τον ίδιο τρόπο κατά τον υπολογισμό της θέσης όλων των κορυφών, και η πραγματική σχεδίαση του διαγράμματος (αφού έχουν υπολογιστεί οι τοποθετήσεις) γίνεται ξεχωριστά. Κατά συνέπεια, είναι δυνατό να προστεθούν ακμές στον αλγόριθμο, αλλά να αποτραπεί η σχεδίασή τους προσθέτοντας `draw=none` στο στυλ της ακμής.

Αυτό είναι ιδιαίτερα χρήσιμο αν θέλετε να διασφαλίσετε ότι οι αρχικές ή τελικές καταστάσεις θα παραμείνουν πιο κοντά μεταξύ τους απ' ό,τι θα ήταν διαφορετικά, όπως απεικονίζεται στο ακόλουθο παράδειγμα (σημειώστε ότι `opacity=0.2` χρησιμοποιείται αντί για `draw=none` για να καταδειχθεί ακριβώς πού βρίσκεται η ακμή).

```
% Η αόρατη ακμή διασφαλίζει ότι τα φωτόνια είναι παράλληλα
\feynmandiagram [small, horizontal=a to t1] {
  a [particle=\(\pi^{0}\)] -- [scalar] t1 -- t2 -- t3 -- t1,
  t2 -- [photon] p1 [particle=\(\gamma\)],
  t3 -- [photon] p2 [particle=\(\gamma\)],
};
```

![Invisible-edge-before.png](/files/0afcd8c74fe3b3d2be6a8a72c5d7ed850f8ccd93)

```
% Η αόρατη ακμή διασφαλίζει ότι τα φωτόνια είναι παράλληλα
\feynmandiagram [small, horizontal=a to t1] {
  a [particle=\(\pi^{0}\)] -- [scalar] t1 -- t2 -- t3 -- t1,
  t2 -- [photon] p1 [particle=\(\gamma\)],
  t3 -- [photon] p2 [particle=\(\gamma\)],
  p1 -- [opacity=0.2] p2,
};
```

![Invisible-edge-after.png](/files/5adf47cfaa101f5c0c998f6bd9be0be8060f79e6)

#### Εναλλακτικοί αλγόριθμοι

Η βιβλιοθήκη σχεδίασης γραφημάτων του Ti*k*Z διαθέτει αρκετούς διαφορετικούς αλγορίθμους για την τοποθέτηση των κορυφών. Από προεπιλογή, `\diagram` και `\feynmandiagram` χρησιμοποιείται ο `αλγόριθμο spring layout` αλγόριθμος για την τοποθέτηση των κορυφών. Ο `αλγόριθμο spring layout` προσπαθεί να απλώσει τα πάντα όσο το δυνατόν περισσότερο, κάτι που στις περισσότερες περιπτώσεις δίνει ένα ωραίο διάγραμμα· ωστόσο, υπάρχουν ορισμένες περιπτώσεις όπου αυτό δεν λειτουργεί. Ένα καλό παράδειγμα όπου ο `αλγόριθμο spring layout` δεν λειτουργεί είναι οι διασπάσεις όπου έχουμε το διασπώμενο σωματίδιο στα αριστερά και όλα τα θυγατρικά σωματίδια στα δεξιά.

```
% Χρήση της προεπιλεγμένης διάταξης spring
\feynmandiagram [horizontal=a to b] {
  a [particle=\(\mu^{-}\)] -- [fermion] b -- [fermion] f1 [particle=\(\nu_{\mu}\)],
  b -- [boson, edge label=\(W^{-}\)] c,
  f2 [particle=\(\overline \nu_{e}\)] -- [fermion] c -- [fermion] f3 [particle=\(e^{-}\)],
};
```

![Spring-layout.png](/files/78a15b3eeabcd22c4fab679ca61a3857636ea2e8)

```
% Χρήση της πολυεπίπεδης διάταξης
\feynmandiagram [layered layout, horizontal=a to b] {
  a [particle=\(\mu^{-}\)] -- [fermion] b -- [fermion] f1 [particle=\(\nu_{\mu}\)],
  b -- [boson, edge label'=\(W^{-}\)] c,
  c -- [anti fermion] f2 [particle=\(\overline \nu_{e}\)],
  c -- [fermion] f3 [particle=\(e^{-}\)],
};
```

![Layered-layout.png](/files/7807bac5bd7bf682fa6a42a85d1b692ddb344150)

Ίσως παρατηρήσετε ότι, εκτός από την προσθήκη του `στυλ layered layout` στο `\feynmandiagram`, αλλάξαμε επίσης τη σειρά με την οποία καθορίζουμε τις κορυφές. Αυτό συμβαίνει επειδή ο `στυλ layered layout` αλγόριθμος πράγματι δίνει σημασία στη σειρά με την οποία δηλώνονται οι κορυφές (σε αντίθεση με τον προεπιλεγμένο `αλγόριθμο spring layout`); ως αποτέλεσμα, `c--f2, c--f3` έχει διαφορετική σημασία από το `f2--c--f3`. Στην πρώτη περίπτωση, `f2` και `f3` βρίσκονται και τα δύο στο επίπεδο κάτω από το `c` όπως επιθυμείται· ενώ η δεύτερη περίπτωση τοποθετεί `f2` στο επίπεδο πάνω από το `c` (δηλαδή, στο ίδιο επίπεδο από όπου ξεκινά το μποζόνιο W).

#### Χειροκίνητη τοποθέτηση

Σε πιο πολύπλοκα διαγράμματα, είναι πολύ πιθανό να μην λειτουργεί κανένας από τους αλγορίθμους, ανεξάρτητα από το πόσες αόρατες ακμές προστίθενται. Σε τέτοιες περιπτώσεις, οι κορυφές πρέπει να τοποθετηθούν χειροκίνητα. Το Ti*k*Z-Feynman επιτρέπει τη χειροκίνητη τοποθέτηση κορυφών με τη χρήση της `\vertex` εντολή.

Το `\vertex` εντολή είναι διαθέσιμη μόνο μέσα στο `feynman` περιβάλλον (το οποίο με τη σειρά του είναι διαθέσιμο μόνο μέσα σε ένα `tikzpicture`). Το `feynman` περιβάλλον φορτώνει όλα τα σχετικά στυλ από το Ti*k*Z-Feynman και δηλώνει πρόσθετες ειδικές για το Ti*k*Z-Feynman εντολές όπως `\vertex` και `\diagram`. Αυτό είναι εμπνευσμένο από το PGFPlots και τη χρήση του `axis` περιβάλλοντος.

Το `\vertex` εντολή είναι σε μεγάλο βαθμό ανάλογη της `\node` εντολής από το Ti*k*στο Z, με τη σημαντική εξαίρεση ότι τα περιεχόμενα της κορυφής είναι προαιρετικά· δηλαδή, δεν χρειάζεται να έχετε `{<text>}` στο τέλος. Στην περίπτωση που `{}` καθορίζεται, στην κορυφή αποδίδεται αυτόματα το `particle` στυλ, και διαφορετικά είναι μια συνηθισμένη κορυφή (μηδενικού μεγέθους).

Για να καθορίσετε πού πηγαίνουν οι κορυφές, είναι δυνατό να δώσετε ρητές συντεταγμένες, αν και πιθανότατα είναι ευκολότερο να χρησιμοποιήσετε τη `βιβλιοθήκη positioning` από το Ti*k*Z η οποία επιτρέπει την τοποθέτηση κορυφών σε σχέση με υπάρχουσες κορυφές. Χρησιμοποιώντας σχετικές τοποθετήσεις, είναι δυνατό να ρυθμίσετε εύκολα ένα μέρος του γραφήματος και όλα θα προσαρμοστούν ανάλογα — η εναλλακτική είναι να προσαρμόζετε χειροκίνητα τις συντεταγμένες κάθε επηρεαζόμενης κορυφής.

Τέλος, μόλις καθοριστούν όλες οι κορυφές, η `\diagram*` εντολή χρησιμοποιείται για να καθοριστούν όλες οι ακμές. Αυτό λειτουργεί σχεδόν με τον ίδιο τρόπο όπως `\diagram` (και επίσης `\feynmandiagram`), εκτός από το ότι χρησιμοποιεί έναν πολύ βασικό αλγόριθμο για την τοποθέτηση νέων κόμβων και επιτρέπει να συμπεριληφθούν υπάρχοντες (ονοματισμένοι) κόμβοι. Για να αναφερθείτε σε έναν υπάρχοντα κόμβο, ο κόμβος πρέπει να δοθεί σε παρενθέσεις.

Αυτή η συνολική διαδικασία καθορισμού των κόμβων και στη συνέχεια σχεδίασης των ακμών μεταξύ τους παρουσιάζεται παρακάτω για τη διάσπαση του μιονίου:

```
\begin{tikzpicture}
  \begin{feynman}
    \vertex (a) {\(\mu^{-}\)};
    \vertex [right=of a] (b);
    \vertex [above right=of b] (f1) {\(\nu_{\mu}\)};
    \vertex [below right=of b] (c);
    \vertex [above right=of c] (f2) {\(\overline \nu_{e}\)};
    \vertex [below right=of c] (f3) {\(e^{-}\)};

    \diagram* {
      (a) -- [fermion] (b) -- [fermion] (f1),
      (b) -- [boson, edge label'=\(W^{-}\)] (c),
      (c) -- [anti fermion] (f2),
      (c) -- [fermion] (f3),
    };
  \end{feynman}
\end{tikzpicture}
```

![Manual-positioning.png](/files/264e7afa2e710f4ce8b529ded9dbc0e0e2808a45)

## Άλλα πακέτα για τη σχεδίαση διαγραμμάτων Feynman

Υπάρχουν αρκετές εναλλακτικές στο πακέτο TikZ-Feynman:

* [`feynmf`](https://ctan.org/pkg/feynmf): παράγει γραφικά bitmap μέσω του [MetaFont](https://ctan.org/pkg/metafont)
* [`feynmp`](https://ctan.org/pkg/feynmf) (συμπεριλαμβάνεται με το `feynmf`) παράγει διανυσματικά γραφικά μέσω του [MetaPost](https://ctan.org/pkg/metapost)
* [`feynmp-auto`](https://ctan.org/pkg/feynmp-auto?lang=en): προερχόμενο από το `feynmp`

Το `feynmp-auto` πακέτο είναι, στην ουσία, επέκταση του `feynmp` πακέτου, σχεδιασμένη να αυτοματοποιεί τη μετατροπή του PostScript κώδικα του MetaPost σε δεδομένα PDF για χρήση στο pdfTeX, LuaTeX και XeTeX. Τα ακόλουθα παραδείγματα χρησιμοποιούν όλα `feynmp-auto`.

### Εισαγωγή

Το `feynmf`, `feynmp` και `feynmp-auto` τα πακέτα σας επιτρέπουν να σχεδιάζετε εύκολα διαγράμματα Feynman καθορίζοντας τις κορυφές, τα σωματίδια και τις ετικέτες τους και στη συνέχεια εκτελώντας αυτόματα τη διάταξη για να σχεδιαστεί το διάγραμμά σας.

#### Μια επισκόπηση της χρήσης των πακέτων που βασίζονται στο feynmf

Για να δημιουργήσετε διαγράμματα Feynman πρέπει να:

1. δημιουργήσετε ένα `fmfile` περιβάλλον για να περιέχει ένα ή περισσότερα διαγράμματα, καθένα από τα οποία περικλείεται σε ένα `fmfgraph` ή `fmfgraph*` περιβάλλον — η διαφορά μεταξύ της μορφής με αστερίσκο και χωρίς αστερίσκο είναι [εξηγείται παρακάτω](#fmfgraph-and-fmfgraph);
2. χρησιμοποιήστε κάθε `fmfgraph` ή `fmfgraph*` περιβάλλον για να περιέχει τις οδηγίες σχεδίασης που απαιτούνται για τη δημιουργία ενός μεμονωμένου διαγράμματος Feynman.

Το `fmfile` περιβάλλον έχει την ακόλουθη μορφή

```latex
\begin{fmffile}{file-name}

% Διάγραμμα 1
\begin{fmfgraph}(width,height)
...
\end{fmfgraph}

% Διάγραμμα 2
\begin{fmfgraph*}(width,height)
...
\end{fmfgraph*}

\end{fmffile}
```

όπου `file-name` είναι το όνομα ενός αρχείου που θα χρησιμοποιηθεί για να περιέχει τις περιγραφές κώδικα MetaPost των μεμονωμένων σχεδίων που ορίζονται μέσα στα `fmfgraph`/`fmfgraph*` περιβάλλοντα.

Κάθε σχέδιο έχει τη μορφή

```latex
\begin{fmfgraph}(width,height)

% οδηγίες σχεδίασης

\end{fmfgraph}
```

ή, για την εκδοχή με αστερίσκο (`fmfgraph*`)

```latex
\begin{fmfgraph*}(width,height)

% οδηγίες σχεδίασης

\end{fmfgraph*}
```

όπου `(width,height)` καθορίζει το μέγεθος του διαγράμματος εκφρασμένο σε μονάδες του [`\unitlength`](#note-on-unitlength).

Ο κώδικας MetaPost στο `file-name` επεξεργάζεται για να δημιουργήσει τα γραφικά που αναπαριστούν τα διαγράμματα Feynman σας. Ένα `fmfile` περιβάλλον μπορεί να περιέχει έως και 256 μεμονωμένα σχέδια.

#### fmfgraph και fmfgraph\*

* `fmfgraph`: αυτό το περιβάλλον περιέχει τις οδηγίες σχεδίασης (περιγραφή) ενός μόνο διαγράμματος Feynman. Θα τοποθετηθεί *στη θέση του περιβάλλοντος*. Αυτό το περιβάλλον δεν υποστηρίζει ετικέτες, χρησιμοποιήστε `fmfgraph*` για να συμπεριλάβετε ετικέτες στα διαγράμματά σας.
* `fmfgraph*` ίδιο με `fmfgraph`, αλλά περικλεισμένο σε ένα [`picture` περιβάλλον](/latex/el/sximata-kai-pinakes/04-picture-environment.md) του ίδιου μεγέθους. Υποστηρίζει τη χρήση ετικετών LaTeX.

### Ένα παράδειγμα

Ας ξεκινήσουμε με ένα γρήγορο παράδειγμα:

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{first-diagram}
 \begin{fmfgraph}(120,80)
   \fmfleft{i1,i2}
   \fmfright{o1,o2}
   \fmf{fermion}{i1,v1,o1}
   \fmf{fermion}{i2,v2,o2}
   \fmf{photon}{v1,v2}
 \end{fmfgraph}
\end{fmffile}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=feynmf+package+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfeynmp-auto%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bfmffile%7D%7Bfirst-diagram%7D%0A+%5Cbegin%7Bfmfgraph%7D%28120%2C80%29%0A+++%5Cfmfleft%7Bi1%2Ci2%7D%0A+++%5Cfmfright%7Bo1%2Co2%7D%0A+++%5Cfmf%7Bfermion%7D%7Bi1%2Cv1%2Co1%7D%0A+++%5Cfmf%7Bfermion%7D%7Bi2%2Cv2%2Co2%7D%0A+++%5Cfmf%7Bphoton%7D%7Bv1%2Cv2%7D%0A+%5Cend%7Bfmfgraph%7D%0A%5Cend%7Bfmffile%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![](/files/71eaa15417ff3492d5767cd67ea178604c10f2aa)

Σε αυτό το παράδειγμα το `fmfgraph` περιβάλλον ορίζει το πλάτος και το ύψος του σχεδίου σε 120 και 80 αντίστοιχα:

```latex
\begin{fmfgraph}(120,80)
```

χρησιμοποιώντας μονάδες που καθορίζονται από την τιμή του `\unitlength`, η οποία έχει προεπιλεγμένη τιμή 1pt· κατά συνέπεια, σε αυτό το διάγραμμα αποδίδεται πλάτος 120pt και ύψος 80pt.

#### Σημείωση για το \unitlength

Επειδή `\unitlength` είναι μια διάσταση LaTeX, μπορείτε να αλλάξετε την τιμή της χρησιμοποιώντας την `\setlength` εντολή· για παράδειγμα, για να ορίσετε το πλάτος και το ύψος των σχεδίων σε μονάδες cm μπορείτε να γράψετε:

```latex
\setlength{\unitlength}{1cm}
```

Αναπαράγοντας το παραπάνω παράδειγμα, το παρακάτω διάγραμμα έχει τώρα πλάτος `8cm` και ύψος του `5cm`:

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\setlength{\unitlength}{1cm}
\begin{fmffile}{first-diagram}
 \begin{fmfgraph}(8,5)% οι μονάδες είναι τώρα σε cm
   \fmfleft{i1,i2}
   \fmfright{o1,o2}
   \fmf{fermion}{i1,v1,o1}
   \fmf{fermion}{i2,v2,o2}
   \fmf{photon}{v1,v2}
 \end{fmfgraph}
\end{fmffile}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Setting+units+to+draw+Feynman+diagrams\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfeynmp-auto%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cbegin%7Bfmffile%7D%7Bfirst-diagram%7D%0A+%5Cbegin%7Bfmfgraph%7D%288%2C5%29%25+units+are+now+in+cm%0A+++%5Cfmfleft%7Bi1%2Ci2%7D%0A+++%5Cfmfright%7Bo1%2Co2%7D%0A+++%5Cfmf%7Bfermion%7D%7Bi1%2Cv1%2Co1%7D%0A+++%5Cfmf%7Bfermion%7D%7Bi2%2Cv2%2Co2%7D%0A+++%5Cfmf%7Bphoton%7D%7Bv1%2Cv2%7D%0A+%5Cend%7Bfmfgraph%7D%0A%5Cend%7Bfmffile%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει τώρα ένα μεγαλύτερο διάγραμμα:

![](/files/e22be77ba2310b2847d21b299de17877333d2c78)

### Κορυφές

Το πρώτο πράγμα που πρέπει να κάνετε είναι να καθορίσετε τις εξωτερικές κορυφές σας και πού πρέπει να τοποθετηθούν. Μπορείτε να ονομάσετε τις κορυφές σας όπως θέλετε και να δηλώσετε πού πρέπει να τοποθετηθούν με τις εντολές `\fmfleft`, `\fmfright`, `\fmftop`, `\fmfbottom`.

Όπως χρησιμοποιούνται στα παραπάνω παραδείγματα:

```latex
% Δημιουργεί δύο κορυφές στα αριστερά με τα ονόματα i1 και i2
\fmfleft{i1,i2}

% Δημιουργεί δύο κορυφές στα δεξιά με τα ονόματα o1 και o2
\fmfright{o1,o2}
```

Μπορείτε να συνδέσετε κορυφές με την `\fmf`, η οποία θα δημιουργήσει νέες κορυφές αν περάσετε ονόματα που δεν έχουν ακόμη δημιουργηθεί. Επίσης, όπως χρησιμοποιείται στα παραπάνω παραδείγματα:

```latex
% Θα δημιουργήσει μια γραμμή φερμιονίου μεταξύ i1 και
% της νεοδημιουργημένης v1, και μεταξύ v1 και o1.
\fmf{fermion}{i1,v1,o1}

% Θα δημιουργήσει μια γραμμή φωτονίου μεταξύ v1 και της νεοδημιουργημένης v2
\fmf{photon}{v1,v2}
```

### Ετικέτες

Όπως [αναφέρθηκε παραπάνω](#fmfgraph-and-fmfgraph), για να χρησιμοποιήσετε ετικέτες το σχέδιο πρέπει να δημιουργηθεί χρησιμοποιώντας τη `fmfgraph*` μορφή του περιβάλλοντος σχεδίασης.

Χρησιμοποιήστε την `\fmflabel` εντολή για να τοποθετήσετε μια ετικέτα σε μια κορυφή:

```latex
\fmflabel{περιεχόμενο ετικέτας}{κορυφή διαγράμματος}
```

όπου:

* `περιεχόμενο ετικέτας` είναι η ετικέτα που θα εφαρμοστεί στην επιλεγμένη κορυφή;
* `κορυφή διαγράμματος` είναι το όνομα της κορυφής που θα επισημανθεί.

Σημειώστε ότι `περιεχόμενο ετικέτας` μπορεί να περιλαμβάνει μαθηματικό υλικό.

Μπορούμε να ξαναχρησιμοποιήσουμε το προηγούμενο παράδειγμα για να προσθέσουμε τις ακόλουθες ετικέτες

```latex
   \fmflabel{$v_1$}{v1}
   \fmflabel{$v_2$}{v2}
```

που παράγει το ενημερωμένο διάγραμμα που φαίνεται παρακάτω:

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{first-diagram}
 \begin{fmfgraph*}(120,80) %ΣΗΜΕΙΩΣΤΕ το περιβάλλον fmfgraph*
   \fmfleft{i1,i2}
   \fmfright{o1,o2}
   \fmf{fermion}{i1,v1,o1}
   \fmf{fermion}{i2,v2,o2}
   \fmf{photon}{v1,v2}
   % Προσθέτουμε τις ετικέτες μας
   \fmflabel{$v_1$}{v1}
   \fmflabel{$v_2$}{v2}
 \end{fmfgraph*}
\end{fmffile}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Adding+labels+to+Feynman+diagrams\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfeynmp-auto%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bfmffile%7D%7Bfirst-diagram%7D%0A+%5Cbegin%7Bfmfgraph%2A%7D%28120%2C80%29+%25NOTE+the+fmfgraph%2A+environment%0A+++%5Cfmfleft%7Bi1%2Ci2%7D%0A+++%5Cfmfright%7Bo1%2Co2%7D%0A+++%5Cfmf%7Bfermion%7D%7Bi1%2Cv1%2Co1%7D%0A+++%5Cfmf%7Bfermion%7D%7Bi2%2Cv2%2Co2%7D%0A+++%5Cfmf%7Bphoton%7D%7Bv1%2Cv2%7D%0A+++%25+Add+our+labels%0A+++%5Cfmflabel%7B%24v_1%24%7D%7Bv1%7D%0A+++%5Cfmflabel%7B%24v_2%24%7D%7Bv2%7D%0A+%5Cend%7Bfmfgraph%2A%7D%0A%5Cend%7Bfmffile%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει ένα διάγραμμα Feynman που περιέχει ετικέτες:

![](/files/b8c4ada50248c8d0b1c025adf931d946f674b548)

### Μερικά ακόμη πιο σύνθετα παραδείγματα

Τα ακόλουθα, πιο προχωρημένα, παραδείγματα χρησιμοποιούν χαρακτηριστικά του `feynmp` που δεν έχουμε συζητήσει: δείτε την [`feynmp` πακέτου (`feynmf`) τεκμηρίωση](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/feynmf/fmfman.pdf)—η οποία περιέχει επίσης πολυάριθμα πρόσθετα παραδείγματα. Αυτά τα διαγράμματα δημοσιεύτηκαν αρχικά σε ένα πρότυπο του Overleaf που περιείχε κώδικα LaTeX αναπαραγμένο από μια ιστοσελίδα του CERN, η οποία πλέον είναι προσβάσιμη μόνο μέσω του [Wayback Machine](https://web.archive.org/web/20141015023615/http://szczypka.web.cern.ch:80/szczypka/guides/latex/feynmp.html)—εκείνη η σελίδα περιέχει περισσότερα παραδείγματα που ίσως θέλετε να δοκιμάσετε.

#### Παράδειγμα 1

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{complex-a}
\begin{fmfgraph*}(100,100)
    \fmfleft{i1}
    \fmfright{o1,o2}
    \fmf{fermion,label=$u$}{i1,w1}
    \fmf{fermion,label=$d$}{w1,o1}
    \fmf{photon,label=$W^{+}$}{w1,o2}
    \fmfv{lab=$V^{\ast}_{ud}$,lab.dist=0.05w}{w1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=feynmf+package+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfeynmp-auto%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bfmffile%7D%7Bcomplex-a%7D%0A%5Cbegin%7Bfmfgraph%2A%7D%28100%2C100%29%0A++++%5Cfmfleft%7Bi1%7D%0A++++%5Cfmfright%7Bo1%2Co2%7D%0A++++%5Cfmf%7Bfermion%2Clabel%3D%24u%24%7D%7Bi1%2Cw1%7D%0A++++%5Cfmf%7Bfermion%2Clabel%3D%24d%24%7D%7Bw1%2Co1%7D%0A++++%5Cfmf%7Bphoton%2Clabel%3D%24W%5E%7B%2B%7D%24%7D%7Bw1%2Co2%7D%0A++++%5Cfmfv%7Blab%3D%24V%5E%7B%5Cast%7D_%7Bud%7D%24%2Clab.dist%3D0.05w%7D%7Bw1%7D%0A%5Cend%7Bfmfgraph%2A%7D%0A%5Cend%7Bfmffile%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο διάγραμμα:

![](/files/d1fccd72a716e9822f1ef409046652eb51802831)

#### Παράδειγμα 2

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{complex-b}
\begin{fmfgraph*}(200,200)
    % κάτω και πάνω κορυφές
    \fmfstraight
    \fmfleft{i0,i1,i2,id1,id2,i3,i4,i5}
    \fmfright{o0,o1,o2,od1,od2,o3,o4,o5}
    % εισερχόμενο πρωτόνιο προς κορυφές γκλουονίων
    \fmf{fermion,label=$d$}{i1,o1}
    % η τάση μετατοπίζει την κορυφή προς τη μία πλευρά
    \fmf{fermion,tension=1.5,label=$\overline{b}$}{v2,i4}
    \fmf{fermion,label=$\overline{c}$}{o4,v2}
    \fmffreeze
    \fmf{fermion}{o2,v3,o3}
    \fmf{fermion,label=$\overline{s}$}{o2,v3}
    \fmf{fermion,label=$c$}{v3,o3}
    \fmf{photon, tension=2,label=$W^{+}$}{v2,v3}
    % το phantom κεντράρει την κορυφή W->cs
    \fmf{phantom,tension=1.5}{i1,v3}

    \fmfv{lab=$V_{cb}^{\ast}$}{v2}
    \fmfv{lab=$V_{cs}$,lab.dist=-.1w}{v3}
\end{fmfgraph*}
\end{fmffile}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=feynmf+package+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfeynmp-auto%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bfmffile%7D%7Bcomplex-b%7D%0A%5Cbegin%7Bfmfgraph%2A%7D%28200%2C200%29%0A++++%25+bottom+and+top+verticies%0A++++%5Cfmfstraight%0A++++%5Cfmfleft%7Bi0%2Ci1%2Ci2%2Cid1%2Cid2%2Ci3%2Ci4%2Ci5%7D%0A++++%5Cfmfright%7Bo0%2Co1%2Co2%2Cod1%2Cod2%2Co3%2Co4%2Co5%7D%0A++++%25+incoming+proton+to+gluon+vertices%0A++++%5Cfmf%7Bfermion%2Clabel%3D%24d%24%7D%7Bi1%2Co1%7D%0A++++%25+tension+shifts+vertex+to+one+side%0A++++%5Cfmf%7Bfermion%2Ctension%3D1.5%2Clabel%3D%24%5Coverline%7Bb%7D%24%7D%7Bv2%2Ci4%7D%0A++++%5Cfmf%7Bfermion%2Clabel%3D%24%5Coverline%7Bc%7D%24%7D%7Bo4%2Cv2%7D%0A++++%5Cfmffreeze%0A++++%5Cfmf%7Bfermion%7D%7Bo2%2Cv3%2Co3%7D%0A++++%5Cfmf%7Bfermion%2Clabel%3D%24%5Coverline%7Bs%7D%24%7D%7Bo2%2Cv3%7D%0A++++%5Cfmf%7Bfermion%2Clabel%3D%24c%24%7D%7Bv3%2Co3%7D%0A++++%5Cfmf%7Bphoton%2C+tension%3D2%2Clabel%3D%24W%5E%7B%2B%7D%24%7D%7Bv2%2Cv3%7D%0A++++%25+phantom+centres+the+W-%3Ecs+vertex%0A++++%5Cfmf%7Bphantom%2Ctension%3D1.5%7D%7Bi1%2Cv3%7D%0A%0A++++%5Cfmfv%7Blab%3D%24V_%7Bcb%7D%5E%7B%5Cast%7D%24%7D%7Bv2%7D%0A++++%5Cfmfv%7Blab%3D%24V_%7Bcs%7D%24%2Clab.dist%3D-.1w%7D%7Bv3%7D%0A%5Cend%7Bfmfgraph%2A%7D%0A%5Cend%7Bfmffile%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο διάγραμμα:

![](/files/83ed3060ed67ee91591b576151f78d8820fdc1dc)

#### Παράδειγμα 3

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{complex-c}
\begin{fmfgraph*}(200,200)
    % κάτω και πάνω κορυφές
    \fmfbottom{P1,P2}
    \fmftop{P1',b,bbar,P2'}
    % εισερχόμενα πρωτόνια προς κορυφές γκλουονίων
    \fmf{fermion,tension=2,lab=$P_1$}{P1,g1}
    \fmf{fermion,tension=2,lab=$P_2$}{P2,g2}
    % blobs στις κορυφές γκλουονίων, το 0.16w είναι το μέγεθος του blob
    \fmfblob{.16w}{g1,g2}
    % γκλουόνιο από P1 προς την κορυφή1
    \fmf{gluon,lab.side=right,lab=$x_{1}P_{1}$}{g1,v1}
    % γκλουόνιο από P2 προς την κορυφή2 - σημειώστε την αλλαγή σειράς!
    \fmf{gluon,lab.side=right,lab=$x_{2}P_{2}$}{v2,g2}
    % εδώ υπήρχε βρόχος κουάρκ
    \fmf{fermion, tension=.6, lab.side=right,lab=$b$}{v1,b}
    \fmf{fermion, tension=1.2}{v2,v1}
    \fmf{fermion, tension=.6, lab.side=right,lab=$\overline{b}$}{bbar,v2}
    % εξερχόμενα πρωτόνια
    \fmf{fermion}{g1,P1'}
    \fmf{fermion}{g2,P2'}
    % παγώστε τα πάντα στη θέση τους
    \fmffreeze
    \renewcommand{\P}[3]{\fmfi{plain}{%
        vpath(__#1,__#2) shifted (thick*(#3))}}
    % γραμμές στο P1
    \P{P1}{g1}{2,0}
    \P{P1}{g1}{-2,1}
    % γραμμές στο P2
    \P{P2}{g2}{2,1}
    \P{P2}{g2}{-2,0}
    % γραμμές στο P1'
    \P{g1}{P1'}{-2,-1}
    \P{g1}{P1'}{2,0}
    % γραμμές στο P2'
    \P{g2}{P2'}{-2,0}
    \P{g2}{P2'}{2,-1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=feynmf+package+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfeynmp-auto%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bfmffile%7D%7Bcomplex-c%7D%0A%5Cbegin%7Bfmfgraph%2A%7D%28200%2C200%29%0A++++%25bottom+and+top+verticies%0A++++%5Cfmfbottom%7BP1%2CP2%7D%0A++++%5Cfmftop%7BP1%27%2Cb%2Cbbar%2CP2%27%7D%0A++++%25incoming+protons+to+gluon+vertices%0A++++%5Cfmf%7Bfermion%2Ctension%3D2%2Clab%3D%24P_1%24%7D%7BP1%2Cg1%7D%0A++++%5Cfmf%7Bfermion%2Ctension%3D2%2Clab%3D%24P_2%24%7D%7BP2%2Cg2%7D%0A++++%25blobs+at+gluon+vertices%2C+0.16w+is+the+size+of+blob%0A++++%5Cfmfblob%7B.16w%7D%7Bg1%2Cg2%7D%0A++++%25gluon+from+P1+to+vertex1%0A++++%5Cfmf%7Bgluon%2Clab.side%3Dright%2Clab%3D%24x_%7B1%7DP_%7B1%7D%24%7D%7Bg1%2Cv1%7D%0A++++%25gluon+from+P2+to+vertex2+-+note+change+of+order%21%0A++++%5Cfmf%7Bgluon%2Clab.side%3Dright%2Clab%3D%24x_%7B2%7DP_%7B2%7D%24%7D%7Bv2%2Cg2%7D%0A++++%25quark+loop+was+here%0A++++%5Cfmf%7Bfermion%2C+tension%3D.6%2C+lab.side%3Dright%2Clab%3D%24b%24%7D%7Bv1%2Cb%7D%0A++++%5Cfmf%7Bfermion%2C+tension%3D1.2%7D%7Bv2%2Cv1%7D%0A++++%5Cfmf%7Bfermion%2C+tension%3D.6%2C+lab.side%3Dright%2Clab%3D%24%5Coverline%7Bb%7D%24%7D%7Bbbar%2Cv2%7D%0A++++%25outgoing+protons%0A++++%5Cfmf%7Bfermion%7D%7Bg1%2CP1%27%7D%0A++++%5Cfmf%7Bfermion%7D%7Bg2%2CP2%27%7D%0A++++%25freeze+everything+in+place%0A++++%5Cfmffreeze%0A++++%5Crenewcommand%7B%5CP%7D%5B3%5D%7B%5Cfmfi%7Bplain%7D%7B%25%0A++++++++vpath%28__%231%2C__%232%29+shifted+%28thick%2A%28%233%29%29%7D%7D%0A++++%25lines+on+P1%0A++++%5CP%7BP1%7D%7Bg1%7D%7B2%2C0%7D%0A++++%5CP%7BP1%7D%7Bg1%7D%7B-2%2C1%7D%0A++++%25lines+on+p2%0A++++%5CP%7BP2%7D%7Bg2%7D%7B2%2C1%7D%0A++++%5CP%7BP2%7D%7Bg2%7D%7B-2%2C0%7D%0A++++%25lines+on+P1%27%0A++++%5CP%7Bg1%7D%7BP1%27%7D%7B-2%2C-1%7D%0A++++%5CP%7Bg1%7D%7BP1%27%7D%7B2%2C0%7D%0A++++%25lines+on+P2%27%0A++++%5CP%7Bg2%7D%7BP2%27%7D%7B-2%2C0%7D%0A++++%5CP%7Bg2%7D%7BP2%27%7D%7B2%2C-1%7D%0A%5Cend%7Bfmfgraph%2A%7D%0A%5Cend%7Bfmffile%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο διάγραμμα:

![](/files/d5426b33e9d26503ce6083f3291cec88d9278c23)

### Στυλ γραμμών

Έχουμε δει τα `photon` και `fermion` στυλ γραμμών παραπάνω, αλλά το `feynmp` πακέτο υποστηρίζει πολλά περισσότερα.

| Εμφάνιση                                                                             | Όνομα(τα)                                      |
| ------------------------------------------------------------------------------------ | ---------------------------------------------- |
| ![Feynmf-line-curly.png](/files/32b910d6296b210753ec74ff45f158343f6476b9)            | γκλουόνιο, καμπύλη                             |
| ![Feynmf-line-dbl-curly.png](/files/76e9e22ac4e902edd5ecc36b5e4cbe833d689899)        | διπλή\_καμπύλη                                 |
| ![Feynmf-line-dashes.png](/files/7c1a1fcbb7d40cc1c07a4fc16cec1002fdacb928)           | παύλες                                         |
| ![Feynmf-line-dashed-arrow.png](/files/0a2f53c7a526d60ddf0bb21e7780585f256c3ad4)     | βαθμωτό, παύλες\_με\_βέλος                     |
| ![Feynmf-line-dbl-dashes.png](/files/007fbbadb051d64ef8be20aca52c9cf1f482795b)       | διπλές\_παύλες                                 |
| ![Feynmf-line-dbl-dashes-arrow.png](/files/3aa06939df3d507c98b72350e9f4aa43f06e48fb) | διπλές\_παύλες\_με\_βέλος                      |
| ![Feynmf-line-dots.png](/files/c70f125c966ae49ee019bc2694a4c7bfbef3a8c2)             | τελείες                                        |
| ![Feynmf-line-dots-arrow.png](/files/7b429a6c4217ae43e7ffab94ba9f71604f215876)       | φάντασμα, τελείες\_με\_βέλος                   |
| ![Feynmf-line-dbl-dots.png](/files/c25a8a0d0160c5aa2362f3f611d3982623de0174)         | διπλές\_τελείες                                |
| ![Feynmf-line-dbl-dots-arrow.png](/files/8855308db62fb768938e5035505ba070b48d5537)   | διπλές\_τελείες\_με\_βέλος                     |
|                                                                                      | φαντασματικό                                   |
| ![Feynmf-line-phantom-arrow.png](/files/fd49ab4c47e51f86bbdc7534267d22a1270db3b5)    | φαντασματικό\_με\_βέλος                        |
| ![Feynmf-line-plain.png](/files/93597441b0c22228054cde0f83da585a715e20b2)            | βανίλια, απλή                                  |
| ![Feynmf-line-plain-arrow.png](/files/4c93b2a361407aefc7a9f554cc1dd017c6d80925)      | φερμιόνιο, ηλεκτρόνιο, κουάρκ, απλή\_με\_βέλος |
| ![Feynmf-line-dbl-plain.png](/files/03fc910e5c628efdf32696e22c2e33d765a9262a)        | διπλό, διπλή\_απλή                             |
| ![Feynmf-line-dbl-plain-arrow.png](/files/95cdef34590d2e6daa17f4cbebfb2b24900629d1)  | διπλό\_με\_βέλος, βαρύ, διπλή\_απλή\_με\_βέλος |
| ![Feynmf-line-wiggly.png](/files/5827d955665b07074b5cb48d44a381adb1fdff39)           | μποζόνιο, φωτόνιο, κυματιστή                   |
| ![Feynmf-line-dbl-wiggly.png](/files/7a5ec87f2b6b4900982daa250a7a1e5d4a68c2d2)       | διπλή\_κυματιστή                               |
| ![Feynmf-line-zigzag.png](/files/52f7875e1e84dc2a57b712c336b17e7c4c8df073)           | ζιγκ-ζαγκ                                      |
| ![Feynmf-line-dbl-zigzag.png](/files/c3bdd0751c07d568f651c6d93063569ecf1987ef)       | διπλό\_ζιγκ-ζαγκ                               |

## Περαιτέρω ανάγνωση

Για περισσότερες πληροφορίες δείτε:

* [Χημικοί τύποι](/latex/el/eidiko-pedio/02-chemistry-formulae.md)
* [Διαγράμματα μοριακών τροχιακών](/latex/el/eidiko-pedio/04-molecular-orbital-diagrams.md)
* [Πακέτο TikZ](/latex/el/sximata-kai-pinakes/05-tikz-package.md)
* [Σχεδίαση διαγραμμάτων απευθείας σε LaTeX](/latex/el/sximata-kai-pinakes/04-picture-environment.md)
* [Εισαγωγή εικόνων](/latex/el/perissotera-themata/27-inserting-images.md)
* [Λίστα ελληνικών γραμμάτων και μαθηματικών συμβόλων](/latex/el/mathimatika/11-list-of-greek-letters-and-math-symbols.md)
* [Το **feynmf** την τεκμηρίωση του πακέτου](http://mirrors.ctan.org/macros/latex/contrib/feynmf/fmfman.pdf).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/el/eidiko-pedio/03-feynman-diagrams.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
