tikz-feynman: Asymmetrie zwischen Teilchen- und Antiteilchenlinien

tikz-feynman: Asymmetrie zwischen Teilchen- und Antiteilchenlinien

Der folgende Code:

\RequirePackage{luatex85}
\documentclass{article}
\thispagestyle{empty}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \vertex (it);
    \vertex [right=1cm of it] (ot);
    \vertex [below=0.5cm of it](ib);
    \vertex [below=0.5cm of ot](ob);
    \diagram*
        {
          (ot) -- [fermion] (it),
          (ib) -- [anti fermion] (ob),
        };
  \end{feynman}
\end{tikzpicture}
\end{document}

gibt folgende Ausgabe

Bildbeschreibung hier eingeben

Der Pfeil, der einem Teilchen entspricht, das sich in der Zeit rückwärts bewegt, ist asymmetrisch zu dem Pfeil, der einem Antiteilchen entspricht, das sich in der Zeit vorwärts bewegt, obwohl es sich um dieselbe physikalische Situation handelt.

Auch die Antiteilchenlinie ist relativ zu sich selbst asymmetrisch.

Kommentare?

Antwort1

Kurz gesagt: Möglicher Signierfehler im Paket, siehe unten für die Diskussion. Hier ist eine mögliche Problemumgehung:

Ausgabe des ersten Codes

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}
\makeatletter
\tikzset{
/tikzfeynman/with reversed arrow/.style={
    /tikz/decoration={
      markings,
      mark=at position #1 with {
        \node[
          transform shape,
          xshift=0.5mm,
          rotate=180,
          fill,
          inner sep=\tikzfeynman@arrow@size,
          draw=none,
          isosceles triangle
        ] { };
      },
    },
    /tikz/postaction={
      /tikz/decorate=true,
    },
  }
}
\makeatother
\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \vertex (it);
    \vertex [right=1cm of it] (ot);
    \vertex [below=0.5cm of it](ib);
    \vertex [below=0.5cm of ot](ob);
    \diagram*
        {
          (ot) -- [fermion] (it),
          (ib) -- [anti fermion] (ob),
        };
  \end{feynman}
\end{tikzpicture}
\end{document}

Ich weiß nichts über die Physik und bin mir auch nicht sicher, welche Art von Kommentaren Sie wollten. Wenn Sie der Meinung sind, dass das Paket hier das Falsche tut, sollten Sie ein Problem beihttps://github.com/JP-Ellis/tikz-feynman/issues, diese Site ist der falsche Ort für Fehlerberichte. (Bearbeiten:https://github.com/JP-Ellis/tikz-feynman/issues/48)

Wenn Sie sich fragen, warum das passiert, wird ein wenig Stöbern im Paketcode Aufschluss geben. Der fermionStil sieht so aus, als würde er im Grunde den Stil hinzufügen with arrow=0.5und anti fermionausführen with reversed arrow=0.5. Diese beiden Stile werden im folgenden Codebeispiel gezeigt, das eine Ausgabe ähnlich Ihrem Code erzeugt:

Ausgabe des Codes

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{
  decorations.markings,
  shapes.geometric
}
\begin{document}
\begin{tikzpicture}[
  % the following is from the file tikzfeyman.keys.code.tex
  arrow size/.store in=\tikzfeynman@arrow@size,
  arrow size=1.5pt,
  with arrow/.style={
    /tikz/decoration={
      markings,
      mark=at position #1 with {
        \node[
          transform shape,
          xshift=-0.5mm,
          fill,
          inner sep=\tikzfeynman@arrow@size,
          draw=none,
          isosceles triangle
        ] { };
      },
    },
    /tikz/postaction={
      /tikz/decorate=true,
    },
  },
  with reversed arrow/.style={
    /tikz/decoration={
      markings,
      mark=at position #1 with {
        \node[
          transform shape,
          xshift=-0.5mm,
          rotate=180,
          fill,
          inner sep=\tikzfeynman@arrow@size,
          draw=none,
          isosceles triangle
        ] { };
      },
    },
    /tikz/postaction={
      /tikz/decorate=true,
    },
  },
]
\coordinate (a1) at (0,0);
\coordinate (b1) at (1,0);
\coordinate (a2) at (0,-.3);
\coordinate (b2) at (1,-.3);

\draw [with arrow=0.5] (b1) -- (a1);
\draw [with reversed arrow=0.5] (a2) -- (b2);
\end{tikzpicture}
\end{document}

Eine Sache, die ein wenig auffällt, ist, dassbeideStile tun dies xshift=-0.5mm, was bedeutet, dass in beiden Fällen der Pfeil um 0,5 mm zum Anfang des Pfads verschoben wird. In diesem Beispiel bedeutet dies, dass der Pfeil in der oberen Zeile nach rechts und der in der unteren Zeile nach links verschoben wird, was die Asymmetrie verursacht. Es wäre vielleicht sinnvoller, wenn der with reversed arrowStil dies xshift=0.5mmstattdessen täte. Mit dieser Änderung erzeugt der obige Code diese Ausgabe:

Ausgabe des Codes

verwandte Informationen