如何制作更大的循环?

如何制作更大的循环?

我有这个代码,改编自这个问题

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

相关内容