TikZ沿多个节点绘制箭头

TikZ沿多个节点绘制箭头
\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
\node[draw, shape=circle] (n0) at (0,0) {0};
\node[draw, shape=circle] (n1) at (2,0) {1};
\node[draw, shape=circle] (n2) at (2,2) {2};
\node[draw, shape=circle] (n3) at (0,2) {3};

\draw[->] (n0) -- (n1);
\draw[->] (n1) -- (n2);
\draw[->] (n2) -- (n3);
\draw[->] (n3) -- (n0);      
\end{tikzpicture}
\end{document}

以上是我想要的,但我想知道是否有一个单行解决方案。我试过:

\draw[->] (n0) -- (n1) -- (n2) -- (n3) -- (n0);  

但这只会在路径的末端给出一个箭头。

我怎样才能绘制每个边的箭头?

答案1

为了在每条边上都有一个箭头,你有两种选择:

  • 就像在 MWE 中一样,或者
  • 而是--使用edge定义样式,例如在下面的 MWE 中所做的那样,对于所有边,然后对所有边只使用一个命令\draw
%\documentclass{article}
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\begin{document}
    \begin{tikzpicture}[
C/.style = {circle, draw, minimum size=1em},
every edge/.style = {draw, -Straight Barb}
                        ]
\node [C] (n0) at (0,0) {0};
\node [C] (n1) at (2,0) {1};
\node [C] (n2) at (2,2) {2};
\node [C] (n3) at (0,2) {3};
    
\draw   (n0) edge (n1) 
        (n1) edge (n2) 
        (n2) edge (n3) 
        (n3) edge (n0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容