红色箭头的尖端不可见,这是怎么回事?
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary[arrows.meta,bending]
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[>=stealth]
\coordinate [label=-90:$A$] (A) at (0,0) ;
\coordinate [label=90:$B$ ] (B) at (2,4) ;
\coordinate [label=-90:$C$] (C) at (6,1) ;
\coordinate [label=90:$D$ ] (D) at (8,5) ;
\draw[->,red] (A) to [bend left] node [midway,above]{$A$ est transformé en $B$} (B) ;
\draw[->,red] (C) to [bend right] node [midway,above]{$C$ est transformé en $D$} (D) ;
\draw [->,very thick](A) -- (B) ;
\draw [->,very thick](C) -- (D) ;
\draw [dashed] (B) -- (C) ;
\draw [dashed] (A) -- (D) ;
\draw (A) -- (C) ;
\draw (B) -- (D) ;
\end{tikzpicture}
\end{document}
答案1
一种选择是使用shorten >=
和/或增加选项的值bend
:
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary[arrows.meta,bending]
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[>=stealth,redarr/.style={->,red,shorten >= 3pt}]
\coordinate [label=-90:$A$] (A) at (0,0) ;
\coordinate [label=90:$B$ ] (B) at (2,4) ;
\coordinate [label=-90:$C$] (C) at (6,1) ;
\coordinate [label=90:$D$ ] (D) at (8,5) ;
\draw[redarr] (A) to [bend left=50] node [midway,above]{$A$ est transformé en $B$} (B) ;
\draw[redarr] (C) to [bend right=50] node [midway,above]{$C$ est transformé en $D$} (D) ;
\draw [->,very thick](A) -- (B) ;
\draw [->,very thick](C) -- (D) ;
\draw [dashed] (B) -- (C) ;
\draw [dashed] (A) -- (D) ;
\draw (A) -- (C) ;
\draw (B) -- (D) ;
\end{tikzpicture}
\end{document}
另一个方法是使用in=
、out=
角度;我还用文本更改了节点的锚点以避免重叠:
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary[arrows.meta,bending]
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[>=stealth,redarr/.style={->,red,shorten >= 3pt}]
\coordinate [label=-90:$A$] (A) at (0,0) ;
\coordinate [label=90:$B$ ] (B) at (2,4) ;
\coordinate [label=-90:$C$] (C) at (6,1) ;
\coordinate [label=90:$D$ ] (D) at (8,5) ;
\draw[redarr] (A) to [out=120,in=180] node [midway,above,anchor=east,align=center]{$A$ est transformé \\ en $B$} (B) ;
\draw[redarr] (C) to [out=10,in=0] node [midway,anchor=west,align=center]{\ $C$ est transformé \\ en $D$} (D) ;
\draw [->,very thick](A) -- (B) ;
\draw [->,very thick](C) -- (D) ;
\draw [dashed] (B) -- (C) ;
\draw [dashed] (A) -- (D) ;
\draw (A) -- (C) ;
\draw (B) -- (D) ;
\end{tikzpicture}
\end{document}