我有这个代码,改编自这个问题:
%!TEX program = lualatex
\RequirePackage{luatex85}
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphs.standard,graphdrawing,arrows.meta,quotes}
\usegdlibrary{circular}
\begin{document}
\newcounter{countme}
\setcounter{countme}{0}
\newcommand*\countup{\stepcounter{countme}\thecountme}
\newcommand*\countset{\setcounter{countme}{0}}
\tikzset{%
edge counter/.style={"\countup"},
}
\tikz[>=Stealth]{%
\graph [simple necklace layout, grow=left, node sep=20mm, nodes={circle}, edge quotes center, edge quotes={fill=white, inner sep=1pt, font=\scriptsize}]
{
subgraph C_n [n=2, -!-];
{ [edges={edge counter}]
1->2->[loop left] 2 ;
}
};
}
\end{document}
它制作了如下图表:
我对将循环做得更大感兴趣。我手头有一本手册(http://pgf.sourceforge.net/pgf_CVS.pdf) 在第 739 页讨论了循环键作为topaths
库的一部分。但选项相当有限,而且似乎没有关于大小的内容。
我不需要使用循环密钥并且对任何有效的方法都持开放态度。
答案1
如果你查看 tikz/PGF 3.0.1a 手册的第 70.3 节,你会发现一些其他选项,包括distance
。添加distance=2cm
会产生:
您还可以使用looseness
各种弯曲来控制循环。
为了完整起见,这里是完整的代码,但我只添加了距离命令:
\RequirePackage{luatex85}
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphs.standard,graphdrawing,arrows.meta,quotes}
\usegdlibrary{circular}
\begin{document}
\newcounter{countme}
\setcounter{countme}{0}
\newcommand*\countup{\stepcounter{countme}\thecountme}
\newcommand*\countset{\setcounter{countme}{0}}
\tikzset{%
edge counter/.style={"\countup"},
}
\tikz[>=Stealth]{%
\graph [simple necklace layout, grow=left, node sep=20mm, nodes={circle}, edge quotes center, edge quotes={fill=white, inner sep=1pt, font=\scriptsize}]
{
subgraph C_n [n=2, -!-];
{ [edges={edge counter}]
1->2->[loop left,distance=2cm] 2 ;
}
};
}
\end{document}