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.
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 gitdags
Paket 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}
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 D
in 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 C
entlang des Hauptzweigs; D
stellt 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 D
und E
gerendert, ihre Kanten jedoch nicht.