Gibt es eine saubere Möglichkeit, in Gitdags Offset-Zweige zu erstellen?

Gibt es eine saubere Möglichkeit, in Gitdags Offset-Zweige zu erstellen?

Julien Cretel schuf das eleganteAbonnierenPaket zum einfachen Generieren von pädagogischen Git-Diagrammen, das ich derzeit zum Erstellen von Lehr- und Referenzmaterialien für mein Team verwende.

Wenn ich in einem bestimmten Kontext über Verzweigungen spreche, füge ich dem Diagramm gerne einen „Knick“ hinzu, um die Idee visuell zu unterstreichen, dass eine Verzweigung eine Entwicklungslinie darstellt und dass andere Arbeiten parallel dazu fortgesetzt werden können.

Git-Diagramm mit Zweig „Knick“

Gibt es eine einfache Möglichkeit, Gitdags/TikZ anzuweisen, einen Knoten auf diese Weise vertikal zu versetzen?

Antwort1

Ich weiß nicht, ob das als „sauberer“ gilt (und ich kenne das gitdagsPaket auch nicht), aber trotzdem:

\documentclass[tikz,border=5]{standalone}
\usepackage{gitdags}
\tikzgraphsset{%
  nudge/.style={/tikz/shift={#1}},
  nudge down/.style={nudge=(270:#1)},
  nudge down/.default=1
}
\begin{document}
\begin{tikzpicture}
\gitDAG[grow right sep = 2em]{
  {[nodes=placeholder commits] "..."}  -- A -- B -- C -- 
  {[nudge down]
    D -- E;
  }
};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Meine aktuelle Lösung, die zum Generieren des Diagramms in der Frage verwendet wurde, besteht darin, einen unsichtbaren Knoten entlang des Master-Zweigs zu erstellen, der den Knoten Din die nächste Zeile zwingt:

\gitDAG[grow right sep = 2em]{
  {[nodes=placeholder commits] "..." } -- A -- B -- C -- {
    "" [placeholder];
    D [>opacity=0.75] -- E;
  }
};

Das "" [placeholder];Bit erstellt den unsichtbaren Knoten anschließend Centlang des Hauptzweigs; Dstellt eine parallele Entwicklungslinie dar und ist daher vertikal auf den unsichtbaren Knoten ausgerichtet.

Dieser Trick erledigt die Aufgabe, fühlt sich aber sehr nach Hack an, insbesondere, da wir die Kantenopazität zurücksetzen müssen, wenn wir fertig sind ( [>opacity=0.75]). Ohne dieses Zurücksetzen werden Knoten Dund Egerendert, ihre Kanten jedoch nicht.

verwandte Informationen