円形フレームに従わない XY 曲線

円形フレームに従わない XY 曲線

私はポリゴン拡張機能を使用して、Xy-picでFruchtグラフを描画しようとしています。曲線の内側のエッジを作成する自然な方法("origin" ; "destination" **\crv{"center"})は、目的のエッジに到達せず、いくつかのエッジに見苦しい隙間が残ります。

私の回避策は、最後の(私の場合は唯一の)制御点の間に空の線をドロップし、 を使用して?>頂点の境界に明示的に宛先を設定することです。

なぜこのようなことが起こるのでしょうか? また、もっと良い回避策はあるのでしょうか?

例とレンダリング(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}

最小限の動作例をレンダリングしました。

答え1

daleifがTiを提案するのは正しいZは彼のコメントにあります。そこで私はTiを提供しますZ ソリューション。これには LuaLaTeX が必要です。メインのドキュメントに pdfLaTeX を使い続ける場合は、これをスタンドアロン ドキュメントとしてコンパイルし、結果の PDF を論文に含めることができます。純粋な pdfLaTeX バージョンについては、PGF/Ti を参照してください。Z マニュアルでは、私の解決策以外の解決策が見つかります。

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

ここに画像の説明を入力してください

関連情報