我想在一个圆周围放置 17 个等距节点。我对 Tikz 还很陌生,正在按照手册中的 Petri 网示例操作。我想做类似的事情——本质上只是重新创建一个更好的版本这,完成维基百科文章中描述的所有步骤。
有人知道如何以这种方式放置节点吗?我将不胜感激并提出所有建议!
答案1
是时候打电话了\foreach
。
\documentclass{report}
\usepackage{tikz,calc}
\begin{document}
\begin{tikzpicture}
\foreach \a in {1,2,...,17}{
\draw (\a*360/17: 4cm) node{angle \a};
}
\end{tikzpicture}
\end{document}
答案2
使用 PSTricks 的终极宏\curvepnodes
。
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}
\degrees[10]
\begin{document}
\makeatletter
\begin{pspicture}(-3,-3)(3,3)
\curvepnodes[plotpoints=11]{0}{10}{2.7 t \pst@angleunit PtoC}{A}
\psnccurve[showpoints](0,9){A}
\multido{\i=0+1}{10}{\uput[\i](A\i){$A_{\i}$}}
\end{pspicture}
\makeatother
\end{document}
注:Herbert 或其他 PSTricks 维护者,请给我一个 RPN 运算符,angleunit
以避免输入\makeatletter ... \makeatother
消耗更多击键次数的字符。
动画片
如何用变点的封闭曲线逐步画出圆。
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}
\begin{document}
\makeatletter
\multido{\iA=2+1}{20}{%
\def\N{\iA}
\degrees[\N]
\begin{pspicture}(-3,-3)(3,3)
\curvepnodes[plotpoints=\numexpr\N+1]{0}{\N}{2.7 t \pst@angleunit PtoC}{A}
\psnccurve(0,\numexpr\N-1){A}
\multido{\i=0+1}{\N}{\uput[\i](A\i){$A_{\i}$}}
\end{pspicture}}
\makeatother
\end{document}
答案3
那么图表怎么样?
\documentclass{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\graph[clockwise, radius=4cm, n=17]
{
label1,label2,label3,label4,label5,label6,label7,label8,label9,label10,label11,label12,label13,label14,label15,label16,label17;
};
\end{tikzpicture}
\end{document}
添加弧线就像书写一样简单label1->[bend right]label2;
。
我非常确信有一种更简便的方法来设置标签,但我现在不知道,抱歉。