\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}