Xy-Kurven gehorchen nicht runden Rahmen

Xy-Kurven gehorchen nicht runden Rahmen

Ich versuche, den Frucht-Graphen mit Xy-pic zu zeichnen, indem ich die Polygon-Erweiterung verwende. Die natürliche Methode, gekrümmte Innenkanten zu zeichnen ( "origin" ; "destination" **\crv{"center"}), führt nicht ganz zum Ziel und hinterlässt an einigen Kanten unschöne Lücken

Meine Problemumgehung besteht darin, zwischen dem letzten (in meinem Fall dem einzigen) Kontrollpunkt eine leere Zeile einzufügen und dann ?>das Ziel explizit an der Grenze des Scheitelpunkts festzulegen.

Warum passiert das und gibt es bessere Problemumgehungen?

Beispiel und Render (pdflatex):

\documentclass{article}
\usepackage[all,poly]{xy}

\begin{document}
\[
\begin{xy}
  /r4.5pc/:
  {\xypolygon12"A"{[o]=<14pt>[F-]{\xypolynode}}},
  "A0"*\txt{Good},
  "A0";"A1"**@{},"A4";?>**\crv{"A0"},
  "A0";"A2"**@{},"A9";?>**\crv{~**\dir{.}"A0"},
  "A0";"A3"**@{},"A5";?>**\crv{"A0"},
  "A0";"A6"**@{},"A8";?>**\crv{"A0"},
  "A0";"A7"**@{},"A11";?>**\crv{"A0"},
  "A0";"A10"**@{},"A12";?>**\crv{"A0"},
\end{xy} \qquad \begin{xy}
  /r4.5pc/:
  {\xypolygon12"A"{[o]=<14pt>[F-]{\xypolynode}}},
  "A0"*\txt{Bad},
  "A1";"A4"**\crv{"A0"},
  "A2";"A9"**\crv{~**\dir{.}"A0"},
  "A3";"A5"**\crv{"A0"},
  "A6";"A8"**\crv{"A0"},
  "A7";"A11"**\crv{"A0"},
  "A10";"A12"**\crv{"A0"},
\end{xy}
\]
\end{document}

Minimales funktionierendes Beispiel, gerendert.

Antwort1

daleif hat recht, wenn er Ti vorschlägtkZ hier in seinem Kommentar. Daher biete ich ein TikZ-Lösung. Diese erfordert LuaLaTeX. Wenn Sie weiterhin pdfLaTeX für Ihr Hauptdokument verwenden möchten, können Sie dieses hier in einem eigenständigen Dokument kompilieren und das resultierende PDF in Ihr Dokument einbinden. Für eine reine pdfLaTeX-Version sollten Sie sich die PGF/Ti-Version ansehen.kZ-Handbuch, in dem Sie andere Lösungen als meine finden.

% arara: lualatex

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{circular}

\begin{document} 
\begin{tikzpicture}
\graph[simple necklace layout, node distance=1.5cm, nodes={circle,draw,minimum width=0.8cm}, horizontal=6 to 1]
{ 1--12--11--10--9--8--7--6--5--4--3--2--1, 
    5--[bend right]3, % you can write bend right='some measure' in order to get custom arcs.
    4--[bend right]1,
    6--[bend left]8,
    7--[bend left]11,
    10--[bend left]12,
    9--[bend left, dotted]2};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen