我正在尝试使用 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}