我正在尝试生成带有节点的圆形路径:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\node (1) at (8,6) {A11};
\node (2) [below left of = 1] {B22};
\node (3) [below right of = 2] {C33};
\node (4) [below right of = 1] {D44};
% connect the dots
\path[->,>=stealth]
(1) edge [bend right] node[left] {} (2)
(2) edge [bend right] node[left] {} (3)
(3) edge [bend right] node[right] {} (4)
(4) edge [bend right] node[right] {} (1);
\end{tikzpicture}
\end{document}
但是,这里似乎有些不对劲,我认为箭头不够长。我认为这很可能是因为节点太大,无法容纳箭头的圆形路径,但我希望有人能解决这个问题?请注意,这包含在更大的图表中,因此其大小必须保持相对较小。此外,我意识到我可以减小整个字体大小,这似乎会产生更好的结果
\tikzstyle{every node}=[font=\tiny]
答案1
以下近似值已经足够好了。我还添加了一个真正的圆(粉红色)以供比较:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[every node/.style={inner sep=1pt}]
\node (1) at (8,6) {A11};
\node (2) [below left of = 1] {B22};
\node (3) [below right of = 2] {C33};
\node (4) [below right of = 1] {D44};
% True circle
\draw[red, opacity=.3] ($(1)!.5!(3)$) circle (6.5mm);
% connect the dots
\path[->,>=stealth]
(1) edge [bend right=20] (2)
(2) edge [bend right=20] (3)
(3) edge [bend right=20] (4)
(4) edge [bend right=20] (1);
\end{tikzpicture}
\end{document}
结果:
答案2
作为替代方案,特别是如果你不需要“调整”图表,你可能会想尝试 Claudio Fiandrino 的smartdiagram
包(可在 TeX Live 中使用)。
这是一个非常简单的例子,完全不需要调整,但我认为,对于 LaTeX 答案来说,它出奇的紧凑:
\documentclass[10pt]{article}
\usepackage{smartdiagram}
\begin{document}
\smartdiagram[circular diagram]{A11,B22,C33,D44}
\end{document}
当然,您可以改变颜色、形状等——详细信息请参阅手册。