Curvas Xy não obedecendo a molduras redondas

Curvas Xy não obedecendo a molduras redondas

Estou tentando desenhar o gráfico de Frucht com Xy-pic, usando a extensão poligonal. A maneira natural de fazer bordas internas curvadas ( "origin" ; "destination" **\crv{"center"}) não chega ao destino, deixando lacunas desagradáveis ​​em algumas das bordas

Minha solução alternativa é colocar uma linha vazia entre o último (no meu caso, o único) ponto de controle e, em seguida, usar ?>para definir explicitamente o destino na borda do vértice.

Por que isso está acontecendo e existem soluções alternativas melhores?

Exemplo e renderização (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}

Exemplo mínimo de trabalho, renderizado.

Responder1

daleif está certo em sugerir TikZ aqui em seu comentário. Portanto, eu forneço um TikSolução Z. Este requer LuaLaTeX. Se quiser continuar usando o pdfLaTeX em seu documento principal, você pode compilar este aqui em um documento independente e incluir o PDF resultante em seu artigo. Para uma versão pura do pdfLaTeX, você deve dar uma olhada no PGF/TikManual Z onde você encontrará outras soluções além da minha.

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

insira a descrição da imagem aqui

informação relacionada