> 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/de/fachspezifisch/03-feynman-diagrams.md).

# Feynman-Diagramme

## Einführung

Dieser Hilfeartikel untersucht LaTeX-Pakete zum Zeichnen von Feynman-Diagrammen, eine sehr kompakte und intuitive Art, Wechselwirkungen zwischen Teilchen darzustellen. Wir werden die [`tikz-feynman` Paket](https://ctan.org/pkg/tikz-feynman?lang=en), das TikZ zum Zeichnen von Diagrammen verwendet, und [`feynmp-auto`](#other-packages-for-drawing-feynman-diagrams) das ("im Hintergrund") MetaPost verwendet.

## Das TikZ-Feynman-Paket

Das [`tikz-feynman` Paket](https://ctan.org/pkg/tikz-feynman?lang=en) wurde 2016 veröffentlicht und verwendet Ti*k*Z, um Feynman-Diagramme zu erzeugen. Ti*k*Z-Feynman baut auf dem Ti*k*Z-Paket und seinen Graph-Zeichenalgorithmen auf, um die Platzierung vieler Knoten zu automatisieren. Ti*k*Z-Feynman ermöglicht weiterhin eine fein abgestimmte Platzierung von Knoten, sodass selbst komplexe Diagramme mühelos erzeugt werden können. Die aktuellsten Informationen zu Ti*k*Z-Feynman finden Sie immer auf der [Projektseite](http://www.jpellis.me/projects/tikz-feynman/) und in der [Paketdokumentation](http://mirrors.ctan.org/graphics/pgf/contrib/tikz-feynman/tikz-feynman.pdf) auf CTAN.

### Aktualisierung (9. November 2022)

**WICHTIGE Aktualisierung nach der Veröffentlichung** (9. November 2022): Zum Zeitpunkt der Aktualisierung dieser Seite ist das **TikZ-Feynman-Paket weiterhin inkompatibel mit TeX-Live-Versionen nach TeX Live 2018**—das ist die in dem [begleitenden Overleaf-Projekt zu diesem Hilfeartikel verwendete TeX-Live-Version.](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=) Alle unten aufgeführten TikZ-Feynman-Beispiele müssen in einem Overleaf-Projekt mit der **TeX-Live-Version** auf `2018 (legacy)`gesetzt kompiliert werden. Weitere Informationen finden Sie in [diesem auf GitHub gemeldeten Issue](https://github.com/JP-Ellis/tikz-feynman/issues/73#issue-942615833).

### Das Paket laden

Nach der Installation des Pakets kann das Ti*k*Z-Feynman-Paket mit `\usepackage{tikz-feynman}` in der Präambel geladen werden. Es wird empfohlen, dass Sie außerdem die Version von Ti*k*Z-Feynman angeben, die Sie mit dem `compat` Paketoption angegeben haben: `\usepackage[compat=1.0.0]{tikz-feynman}`verwenden. Dadurch wird sichergestellt, dass neue Versionen von Ti*k*Z-Feynman keine unerwünschten Änderungen ohne Warnung verursachen.

### Ein erstes Diagramm

Feynman-Diagramme können mit dem `\feynmandiagram` Befehl deklariert werden. Er ist dem `\tikz` Befehl von Ti*k*Z analog und erfordert ein abschließendes Semikolon (`;`) zum Beenden der Umgebung. Zum Beispiel ist ein einfaches *s*-Kanal-Diagramm:

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

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

Gehen wir dieses Beispiel Zeile für Zeile durch:

**Zeile 1**

\feynmandiagram führt das Feynman-Diagramm ein und erlaubt optionale Argumente in den eckigen Klammern \[]. In diesem Fall ordnet horizontal=a to b die Ausgaben des Algorithmus so an, dass die Linie durch die Knoten a und b horizontal ist.

**Zeile 2**

Die linke Fermionenlinie wird gezeichnet, indem drei Knoten (i1, a und i2) deklariert und mit Kanten -- verbunden werden. Genau wie beim oben genannten Befehl \feynmandiagram nimmt auch jede Kante optionale Argumente in eckigen Klammern \[]. In diesem Fall sollen diese Kanten Pfeile haben, um anzuzeigen, dass es sich um Fermionenlinien handelt, daher fügen wir ihnen den Stil fermion hinzu. Wie Sie später sehen werden, können optionale Argumente auch den Knoten auf genau dieselbe Weise übergeben werden.

**Zeile 3**

Diese Kante verbindet die Knoten a und b mit einer als Photon gestalteten Kante. Da bereits ein Knoten mit der Bezeichnung a vorhanden ist, verbindet der Algorithmus ihn mit einem neuen Knoten mit der Bezeichnung b.

**Zeile 4**

Diese Zeile ist analog zu Zeile 2 und führt zwei neue Knoten ein, f1 und f2. Sie verwendet den zuvor bezeichneten Knoten b erneut.

**Zeile 5**

Beenden Sie die Deklaration des Feynman-Diagramms. Das abschließende Semikolon (;) ist wichtig.

Der Name, der jedem Knoten im Graphen gegeben wird, ist egal. In diesem Beispiel bedeuten also `i1`, `i2` die Anfangsteilchen; `f1`, `f2` bezeichnet die Endteilchen; und `eine`, `b` sind die Endpunkte des Propagators. Der einzige wichtige Aspekt ist, dass das, was wir in `eine` in Zeile 2 genannt haben, auch `eine` in Zeile 3 genannt ist, sodass der zugrunde liegende Algorithmus sie als denselben Knoten behandelt.

Die Reihenfolge, in der Knoten deklariert werden, ist egal, da der Standardalgorithmus alles neu anordnet. Man könnte zum Beispiel bevorzugen, die Fermionenlinien alle auf einmal zu zeichnen, wie im folgenden Beispiel (beachten Sie auch, dass die Art, wie wir die Knoten benannt haben, völlig anders ist):

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

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

Als abschließende Bemerkung: Die Berechnung, wo Knoten platziert werden sollen, erfolgt normalerweise durch einen in Lua geschriebenen Algorithmus. Daher ist LuaTeX erforderlich, um diese Algorithmen nutzen zu können. Wenn LuaTeX nicht verwendet wird, setzt Ti*k*Z-Feynman standardmäßig auf einen einfacheren Algorithmus zurück und gibt stattdessen eine Warnung an den Benutzer aus.

### Stile hinzufügen

Bisher haben die Beispiele nur die `photon` und `fermion` Stile verwendet. Das Ti*k*Z-Feynman-Paket bringt eine ganze Reihe zusätzlicher Stile für Kanten und Knoten mit, die alle in der [Paketdokumentation](http://mirrors.ctan.org/graphics/pgf/contrib/tikz-feynman/tikz-feynman.pdf)dokumentiert sind. Zum Beispiel ist es möglich, Impuls-Pfeile mit `momentum=<text>`hinzuzufügen, und bei Endknoten kann das Teilchen mit `particle=<text>`beschriftet werden. Um zu demonstrieren, wie sie verwendet werden, nehmen wir das allgemeine *s*-Kanal-Diagramm von vorhin und machen daraus ein Diagramm, in dem ein Elektron-Positron-Paar in Myonen annihiliert:

```
\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/2d166240556a21440b77d7a9654bef713f9f2391)

Zusätzlich zu den unten dokumentierten Stilschlüsseln können auch Stilschlüssel aus Ti*k*Z verwendet werden:

```
\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/3609be00deb8c4c79d10fe5f9c98f868594b1bf0)

Für eine Liste aller verschiedenen Stile, die Ti*k*Z bereitstellt, werfen Sie einen Blick in das [Ti*k*Z-Handbuch](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf); es ist äußerst gründlich und bietet viele Anwendungsbeispiele.

### Wenn der Algorithmus nicht ausreicht

Standardmäßig setzt das `\feynmandiagram` und `\diagram` Befehle verwenden den `Federlayout` Algorithmus, um alle Kanten zu platzieren. Der `Federlayout` Algorithmus versucht, das Diagramm so weit wie möglich zu \`strecken', was — bei den meisten einfacheren Diagrammen — ein zufriedenstellendes Ergebnis liefert; in einigen Fällen erzeugt dies jedoch nicht das beste Diagramm, und dieser Abschnitt betrachtet Alternativen. Es gibt drei Hauptalternativen:

**Unsichtbare Kanten hinzufügen**

Während weiterhin der Standardalgorithmus verwendet wird, ist es möglich, bestimmte Knoten näher zusammenzuzwingen, indem man zusätzliche Kanten hinzufügt und sie mit draw=none unsichtbar macht. Der Algorithmus behandelt diese zusätzlichen Kanten auf dieselbe Weise, aber sie werden am Ende einfach nicht gezeichnet;

**Einen anderen Algorithmus verwenden**

Unter bestimmten Umständen können andere Algorithmen besser geeignet sein. Einige der anderen Layout-Algorithmen für Graphen sind in der Paketdokumentation aufgeführt, und eine vollständige Liste aller Algorithmen und ihrer Parameter finden Sie im TikZ-Handbuch;

**Manuelle Platzierung**

Als letzte Möglichkeit müssen bei sehr komplizierten oder ungewöhnlichen Diagrammen alle Knoten manuell platziert werden.

#### Unsichtbare Kanten

Der zugrunde liegende Algorithmus behandelt beim Berechnen der Position aller Knoten alle Kanten genau gleich, und das eigentliche Zeichnen des Diagramms (nachdem die Platzierungen berechnet wurden) erfolgt getrennt. Folglich ist es möglich, dem Algorithmus Kanten hinzuzufügen, aber das Zeichnen zu verhindern, indem man `draw=none` zum Kantenstil hinzufügt.

Dies ist besonders nützlich, wenn Sie sicherstellen möchten, dass die Anfangs- oder Endzustände näher beieinander bleiben, als sie es andernfalls wären, wie im folgenden Beispiel dargestellt (beachten Sie, dass `opacity=0.2` anstelle von `draw=none` verwendet wird, um genau zu zeigen, wo sich die Kante befindet).

```
% Keine unsichtbare Kante, um die beiden Photonen zusammenzuhalten
\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/53919a8b21cf1bf54f6d76ace269b41e4caac998)

```
% Unsichtbare Kante sorgt dafür, dass Photonen parallel sind
\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/07e5b9b73a3dc52fc8749b75bc4c95dbc5ceff9c)

#### Alternative Algorithmen

Die Graph-Zeichenbibliothek von Ti*k*Z verfügt über mehrere verschiedene Algorithmen zur Positionierung der Knoten. Standardmäßig `\diagram` und `\feynmandiagram` verwendet `Federlayout` den `Federlayout` Algorithmus, um die Knoten zu platzieren. Der `Federlayout` versucht, alles so weit wie möglich zu verteilen, was in den meisten Fällen ein schönes Diagramm ergibt; es gibt jedoch bestimmte Fälle, in denen dies nicht funktioniert. Ein gutes Beispiel, bei dem der

```
% Verwendung des Standard-Federlayouts
\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/2173ca186ae5aea2112cd4174c979c9cae66e02f)

```
% Verwendung des geschichteten Layouts
\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/9abaf6098134ad1ff12c003273e237e952104deb)

Sie werden vielleicht bemerken, dass wir zusätzlich zum Hinzufügen des `geschichteten Layouts` Stils zu `\feynmandiagram`auch die Reihenfolge geändert haben, in der wir die Knoten angeben. Das liegt daran, dass der `geschichteten Layouts` Algorithmus die Reihenfolge berücksichtigt, in der Knoten deklariert werden (im Gegensatz zum Standard- `Federlayout`); als Ergebnis hat `c--f2, c--f3` eine andere Bedeutung als `f2--c--f3`. Im ersteren Fall sind `f2` und `f3` beide auf der Ebene unter `c` wie gewünscht; während im letzteren Fall `f2` auf der Ebene darüber `c` platziert wird (also auf derselben Ebene, auf der das W-Boson entsteht).

#### Manuelle Platzierung

Bei komplizierteren Diagrammen ist es ziemlich wahrscheinlich, dass keiner der Algorithmen funktioniert, ganz gleich, wie viele unsichtbare Kanten hinzugefügt werden. In solchen Fällen müssen die Knoten manuell platziert werden. Ti*k*Z-Feynman erlaubt es, Knoten manuell zu platzieren, indem man den `\vertex` Befehl einschließen.

Das `\vertex` Befehl verwendet, der nur innerhalb der `feynman` Umgebung verfügbar ist (die ihrerseits nur innerhalb einer `tikzpicture`verfügbar ist). Die `feynman` Umgebung lädt alle relevanten Stile aus Ti*k*Z-Feynman und deklariert zusätzliche Ti*k*Z-Feynman-spezifische Befehle wie `\vertex` und `\diagram`. Dies ist von PGFPlots und seiner Verwendung der `axis` -Umgebung inspiriert.

Das `\vertex` Befehl ist dem `\node` Befehl von Ti*k*Z, mit der bemerkenswerten Ausnahme, dass der Inhalt der Knoten optional ist; das heißt, Sie müssen nicht `{<text>}` am Ende haben. Falls `{}` angegeben ist, wird dem Knoten automatisch der `particle` Stil zugewiesen, andernfalls ist er ein gewöhnlicher (nullgroßer) Knoten.

Um anzugeben, wohin die Knoten gesetzt werden, ist es möglich, explizite Koordinaten anzugeben, obwohl es wahrscheinlich am einfachsten ist, die `positioning` Bibliothek von Ti*k*Z zu verwenden, die es ermöglicht, Knoten relativ zu vorhandenen Knoten zu platzieren. Durch die Verwendung relativer Platzierungen ist es möglich, einen Teil des Graphen leicht anzupassen, und alles wird sich entsprechend anpassen — die Alternative wäre, die Koordinaten jedes betroffenen Knotens manuell anzupassen.

Schließlich wird, sobald alle Knoten festgelegt wurden, der `\diagram*` Befehl verwendet, um alle Kanten anzugeben. Dies funktioniert im Wesentlichen auf dieselbe Weise wie `\diagram` (und auch `\feynmandiagram`), außer dass er einen sehr einfachen Algorithmus zum Platzieren neuer Knoten verwendet und bereits vorhandene (benannte) Knoten einbeziehen kann. Um auf einen vorhandenen Knoten zu verweisen, muss der Knoten in Klammern angegeben werden.

Dieser gesamte Prozess des Festlegens der Knoten und des anschließenden Zeichnens der Kanten zwischen ihnen wird unten für den Myonzerfall gezeigt:

```
\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/6ae927ef5ff1339e7bbd911baeb42729f0bcc923)

## Andere Pakete zum Zeichnen von Feynman-Diagrammen

Es gibt mehrere Alternativen zum TikZ-Feynman-Paket:

* [`feynmf`](https://ctan.org/pkg/feynmf): erzeugt Bitmap-Grafiken über [MetaFont](https://ctan.org/pkg/metafont)
* [`feynmp`](https://ctan.org/pkg/feynmf) (gebündelt mit `feynmf`) erzeugt Vektorgrafiken über [MetaPost](https://ctan.org/pkg/metapost)
* [`feynmp-auto`](https://ctan.org/pkg/feynmp-auto?lang=en): abgeleitet von `feynmp`

Das `feynmp-auto` Paket ist im Wesentlichen eine Erweiterung des `feynmp` Pakets, die darauf ausgelegt ist, die Umwandlung von MetaPosts PostScript-Code in PDF-Daten für die Verwendung in pdfTeX, LuaTeX und XeTeX zu automatisieren. Die folgenden Beispiele verwenden alle `feynmp-auto`.

### Einführung

Das `feynmf`, `feynmp` und `feynmp-auto` Pakete ermöglichen es Ihnen, Feynman-Diagramme einfach zu zeichnen, indem Sie die Knoten, Teilchen und ihre Beschriftungen angeben und dann automatisch das Layout zur Zeichnung Ihres Diagramms berechnen.

#### Ein Überblick über die Verwendung der auf feynmf basierenden Pakete

Um Feynman-Diagramme zu erstellen, müssen Sie:

1. eine `fmfile` Umgebung erstellen, die ein oder mehrere Diagramme enthält, die jeweils in einer `fmfgraph` oder `fmfgraph*` Umgebung eingeschlossen sind — der Unterschied zwischen der Stern- und der Nicht-Stern-Form wird unten [erläutert](#fmfgraph-and-fmfgraph);
2. jede `fmfgraph` oder `fmfgraph*` Umgebung verwenden, um die Zeichnungsanweisungen zu enthalten, die zum Erstellen eines einzelnen Feynman-Diagramms erforderlich sind.

Das `fmfile` Die Umgebung hat die folgende Form

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

% Diagramm 1
\begin{fmfgraph}(width,height)
...
\end{fmfgraph}

% Diagramm 2
\begin{fmfgraph*}(width,height)
...
\end{fmfgraph*}

\end{fmffile}
```

wobei `Dateiname` ist der Name einer Datei, die die MetaPost-Codebeschreibungen der einzelnen innerhalb von `fmfgraph`/`fmfgraph*` Umgebungen erzeugt wird.

Jede Zeichnung hat die Form

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

% Zeichnungsanweisungen

\end{fmfgraph}
```

oder bei der Stern-Version (`fmfgraph*`)

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

% Zeichnungsanweisungen

\end{fmfgraph*}
```

wobei `(width,height)` definiert die Größe des Diagramms, ausgedrückt in Einheiten von [`\unitlength`](#note-on-unitlength).

Der MetaPost-Code in `Dateiname` wird verarbeitet, um die Grafik(en) zu erstellen, die Ihr(e) Feynman-Diagramm(e) darstellen. Eine `fmfile` Umgebung kann bis zu 256 einzelne Zeichnungen enthalten.

#### fmfgraph und fmfgraph\*

* `fmfgraph`: Diese Umgebung enthält die Zeichnungsanweisungen (Beschreibung) eines einzelnen Feynman-Diagramms. Es wird *an der Stelle der Umgebung platziert*. Diese Umgebung unterstützt keine Beschriftungen, verwenden Sie `fmfgraph*` um Beschriftungen in Ihre Diagramme einzufügen.
* `fmfgraph*` dasselbe wie `fmfgraph`, aber eingeschlossen in ein [`picture` Umgebung](/latex/de/abbildungen-und-tabellen/04-picture-environment.md) gleicher Größe. Sie unterstützt die Verwendung von LaTeX-Beschriftungen.

### Ein Beispiel

Beginnen wir mit einem kurzen Beispiel:

```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}
```

[Öffnen Sie dieses Beispiel in 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)

Dieses Beispiel erzeugt die folgende Ausgabe:

![](/files/c18596f2ffa8f69e1ff583ec3248fd13c09ffbaf)

In diesem Beispiel legt die `fmfgraph` Umgebung die Breite und Höhe der Zeichnung auf 120 bzw. 80 fest:

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

unter Verwendung von Einheiten, die durch den Wert von `\unitlength`bestimmt werden, der standardmäßig 1pt beträgt; folglich wird diesem Diagramm eine Breite von 120pt und eine Höhe von 80pt zugewiesen.

#### Hinweis zu \unitlength

Da `\unitlength` eine LaTeX-Länge ist, können Sie ihren Wert mit dem `\setlength` Befehl ändern; um beispielsweise Breite und Höhe von Zeichnungen in Einheiten von cm zu definieren, können Sie schreiben:

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

Wenn man das obige Beispiel reproduziert, hat das folgende Diagramm nun eine Breite von `8cm` und eine Höhe von `5cm`:

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\setlength{\unitlength}{1cm}
\begin{fmffile}{first-diagram}
 \begin{fmfgraph}(8,5)% Einheiten sind jetzt in 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}
```

[Öffnen Sie dieses Beispiel in 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)

Dieses Beispiel erzeugt nun ein größeres Diagramm:

![](/files/238b0c4b20d7f71dc387cb856ff81d6b11d8ee6a)

### Knoten

Als Erstes müssen Sie Ihre externen Knoten angeben und festlegen, wo sie positioniert werden sollen. Sie können Ihre Knoten beliebig benennen und mit den Befehlen angeben, wo sie positioniert werden sollen `\fmfleft`, `\fmfright`, `\fmftop`, `\fmfbottom`.

Wie in den obigen Beispielen verwendet:

```latex
% Erstellt zwei Knoten links mit den Namen i1 und i2
\fmfleft{i1,i2}

% Erstellt zwei Knoten rechts mit den Namen o1 und o2
\fmfright{o1,o2}
```

Sie können Knoten mit dem `\fmf`, wodurch neue Knoten erstellt werden, wenn Sie Namen übergeben, die noch nicht angelegt wurden. Ebenfalls wie in den obigen Beispielen verwendet:

```latex
% Erstellt eine Fermionenlinie zwischen i1 und
% dem neu erstellten v1 und zwischen v1 und o1.
\fmf{fermion}{i1,v1,o1}

% Erstellt eine Photonenlinie zwischen v1 und dem neu erstellten v2
\fmf{photon}{v1,v2}
```

### Beschriftungen

Wie [oben erwähnt](#fmfgraph-and-fmfgraph), um Beschriftungen zu verwenden, muss die Zeichnung mit dem `fmfgraph*` Form der Zeichenumgebung erstellt werden.

Verwenden Sie die `\fmflabel` Befehl, um eine Beschriftung an einem Knoten anzubringen:

```latex
\fmflabel{label-content}{diagram-vertex}
```

wobei:

* `Beschriftungsinhalt` ist die Beschriftung, die auf den ausgewählten Knoten angewendet wird;
* `Diagramm-Knoten` ist der Name des zu beschriftenden Knotens.

Beachten Sie, dass `Beschriftungsinhalt` kann mathematisches Material enthalten.

Wir können das vorherige Beispiel erneut verwenden, um die folgenden Beschriftungen hinzuzufügen

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

wodurch das unten gezeigte aktualisierte Diagramm entsteht:

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{first-diagram}
 \begin{fmfgraph*}(120,80) %HINWEIS die fmfgraph* Umgebung
   \fmfleft{i1,i2}
   \fmfright{o1,o2}
   \fmf{fermion}{i1,v1,o1}
   \fmf{fermion}{i2,v2,o2}
   \fmf{photon}{v1,v2}
   % Fügen Sie unsere Beschriftungen hinzu
   \fmflabel{$v_1$}{v1}
   \fmflabel{$v_2$}{v2}
 \end{fmfgraph*}
\end{fmffile}
\end{document}
```

[Öffnen Sie dieses Beispiel in 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)

Dieses Beispiel erzeugt ein Feynman-Diagramm mit Beschriftungen:

![](/files/1f34245d44fd0182d2757feeac4665561a3b9c4d)

### Einige komplexere Beispiele

Die folgenden, fortgeschritteneren Beispiele verwenden Funktionen von `feynmp` die wir nicht besprochen haben: siehe die [`feynmp` Paket (`feynmf`) Dokumentation](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/feynmf/fmfman.pdf)—die auch zahlreiche weitere Beispiele enthält. Diese Diagramme wurden ursprünglich in einer Overleaf-Vorlage veröffentlicht, die LaTeX-Code enthält, der von einer CERN-Webseite übernommen wurde, die inzwischen nur noch über die [Wayback Machine](https://web.archive.org/web/20141015023615/http://szczypka.web.cern.ch:80/szczypka/guides/latex/feynmp.html)—diese Seite enthält weitere Beispiele, die Sie vielleicht ausprobieren möchten.

#### Beispiel 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}
```

[Öffnen Sie dieses Beispiel in 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)

Dieses Beispiel erzeugt das folgende Diagramm:

![](/files/b798ffbbf5b1f7a4f3457b785d3784b4b2081c33)

#### Beispiel 2

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{complex-b}
\begin{fmfgraph*}(200,200)
    % untere und obere Knoten
    \fmfstraight
    \fmfleft{i0,i1,i2,id1,id2,i3,i4,i5}
    \fmfright{o0,o1,o2,od1,od2,o3,o4,o5}
    % einlaufendes Proton zu Gluon-Knoten
    \fmf{fermion,label=$d$}{i1,o1}
    % die Spannung verschiebt den Knoten auf eine Seite
    \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 zentriert den W->cs-Knoten
    \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}
```

[Öffnen Sie dieses Beispiel in 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)

Dieses Beispiel erzeugt das folgende Diagramm:

![](/files/b5173e6cff2347f8accca9ebe9379ba82f69ae24)

#### Beispiel 3

```latex
\documentclass{article}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{complex-c}
\begin{fmfgraph*}(200,200)
    %untere und obere Knoten
    \fmfbottom{P1,P2}
    \fmftop{P1',b,bbar,P2'}
    %einlaufende Protonen zu Gluon-Knoten
    \fmf{fermion,tension=2,lab=$P_1$}{P1,g1}
    \fmf{fermion,tension=2,lab=$P_2$}{P2,g2}
    %Blobs an den Gluon-Knoten, 0.16w ist die Größe des Blobs
    \fmfblob{.16w}{g1,g2}
    %Gluon von P1 zu Knoten1
    \fmf{gluon,lab.side=right,lab=$x_{1}P_{1}$}{g1,v1}
    %Gluon von P2 zu Knoten2 - beachten Sie die Reihenfolgeänderung!
    \fmf{gluon,lab.side=right,lab=$x_{2}P_{2}$}{v2,g2}
    %Hier befand sich die Quarkschleife
    \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}
    %ausgehende Protonen
    \fmf{fermion}{g1,P1'}
    \fmf{fermion}{g2,P2'}
    %friert alles an Ort und Stelle ein
    \fmffreeze
    \renewcommand{\P}[3]{\fmfi{plain}{%
        vpath(__#1,__#2) shifted (thick*(#3))}}
    %Linien auf P1
    \P{P1}{g1}{2,0}
    \P{P1}{g1}{-2,1}
    %Linien auf P2
    \P{P2}{g2}{2,1}
    \P{P2}{g2}{-2,0}
    %Linien auf P1'
    \P{g1}{P1'}{-2,-1}
    \P{g1}{P1'}{2,0}
    %Linien auf P2'
    \P{g2}{P2'}{-2,0}
    \P{g2}{P2'}{2,-1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
```

[Öffnen Sie dieses Beispiel in 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)

Dieses Beispiel erzeugt das folgende Diagramm:

![](/files/62dc2657c2e15261919e56d8ed6bb2a33dc3c231)

### Linienstile

Wir haben die `photon` und `fermion` obigen Linienstile gesehen, aber das `feynmp` Paket unterstützt noch viele weitere.

| Darstellung                                                                          | Name(n)                                 |
| ------------------------------------------------------------------------------------ | --------------------------------------- |
| ![Feynmf-line-curly.png](/files/5652c75c629c178fdcb6ccff66d45d1269198776)            | gluon, curly                            |
| ![Feynmf-line-dbl-curly.png](/files/eb4ab458c214befd8fcaac1c27d124b9395a5556)        | dbl\_curly                              |
| ![Feynmf-line-dashes.png](/files/12bf8bcb40595d6af86f50861598da666f1fee2e)           | dashes                                  |
| ![Feynmf-line-dashed-arrow.png](/files/00d3ef79ceb78d1b3f30e54236f9a91516ef95a1)     | scalar, dashes\_arrow                   |
| ![Feynmf-line-dbl-dashes.png](/files/3e7c55d76a981a6a6303f85e5739dd260eab3102)       | dbl\_dashes                             |
| ![Feynmf-line-dbl-dashes-arrow.png](/files/aaa2c876dab1caf62beb1bae3589fb3ecbf4e6c3) | dbl\_dashes\_arrow                      |
| ![Feynmf-line-dots.png](/files/394825ec5cd1a38b7f52a907972fd8d45899213f)             | dots                                    |
| ![Feynmf-line-dots-arrow.png](/files/346f9385ed832457f9f69ce1f0a3b09cae9f309d)       | ghost, dots\_arrow                      |
| ![Feynmf-line-dbl-dots.png](/files/362612ad31991a8a6cfc66ab82e9ce77d9dc1cec)         | dbl\_dots                               |
| ![Feynmf-line-dbl-dots-arrow.png](/files/4df02009be4a4a10e211f5dc50ad2a7558fe6032)   | dbl\_dots\_arrow                        |
|                                                                                      | phantom                                 |
| ![Feynmf-line-phantom-arrow.png](/files/ac0e265f7e3c0ee64666030df77f8407d3ae3804)    | phantom\_arrow                          |
| ![Feynmf-line-plain.png](/files/73a8101c5decc1b2af2611559defa26382c9ed43)            | vanilla, plain                          |
| ![Feynmf-line-plain-arrow.png](/files/cd6195c9a1123497efee71cf025e5b92893f38e4)      | fermion, electron, quark, plain\_arrow  |
| ![Feynmf-line-dbl-plain.png](/files/79d52cd6b892842a379391202d56537f0098459a)        | double, dbl\_plain                      |
| ![Feynmf-line-dbl-plain-arrow.png](/files/3c13bc810cb555cedef01d5bdbf8b548dbc10cdb)  | double\_arrow, heavy, dbl\_plain\_arrow |
| ![Feynmf-line-wiggly.png](/files/d4273442fa0c80842499aa283d626c6b1d7dca77)           | boson, photon, wiggly                   |
| ![Feynmf-line-dbl-wiggly.png](/files/030aea7d5948c6f9cbdb87fb4d1aff846eca6c0f)       | dbl\_wiggly                             |
| ![Feynmf-line-zigzag.png](/files/a9168de32b6ff218ad845904fa540c3377ed35cb)           | zigzag                                  |
| ![Feynmf-line-dbl-zigzag.png](/files/d0ce89bb36dd22643f002607f9c4ba8c4343a15b)       | dbl\_zigzag                             |

## Weiterführende Literatur

Weitere Informationen finden Sie unter:

* [Chemische Formeln](/latex/de/fachspezifisch/02-chemistry-formulae.md)
* [Molekülorbitaldiagramme](/latex/de/fachspezifisch/04-molecular-orbital-diagrams.md)
* [TikZ-Paket](/latex/de/abbildungen-und-tabellen/05-tikz-package.md)
* [Diagramme direkt in LaTeX zeichnen](/latex/de/abbildungen-und-tabellen/04-picture-environment.md)
* [Bilder einfügen](/latex/de/weitere-themen/27-inserting-images.md)
* [Liste griechischer Buchstaben und mathematischer Symbole](/latex/de/mathematik/11-list-of-greek-letters-and-math-symbols.md)
* [Das **feynmf** Paketdokumentation](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/de/fachspezifisch/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.
