我正在尝试让两个箭头之间的距离相等。目前,我正在使用 绘制两个单独的箭头,\draw
我[out=-180,in=-180,distance=3cm]
调整距离直到两个箭头大致对齐。
下面是我所拥有的屏幕截图,但我似乎无法轻易让两个箭头完美对齐。此外,如果我更改一个箭头,我也必须手动更改另一个箭头。任何提示都将不胜感激
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,fit,calc,positioning}
\begin{document}
\begin{tikzpicture}[thick]
\node [minimum height=1cm] (a) at (0.2,-3.2) {};
\node [minimum height=1cm] (b) at(-1.5,-1) {};
\draw[thick, >=stealth , ->] ($(b.north west)!0.6!(b.south west)$) to [out=-180,in=-180,distance=2.5cm] ($(a.north west)!0.4!(a.south west)$){};
\draw[thick, >=stealth , <-] ($(b.north west)!0.4!(b.south west)$) to [out=-180,in=-180,distance=3cm] ($(a.north west)!0.6!(a.south west)$){};
\end{tikzpicture}
\end{document}
答案1
我认为仅通过两次操作不可能实现to
。内曲线的高度和宽度较小——可以通过变换来处理。但起点和终点之间的水平距离保持不变。
因此,以下示例仅绘制一条曲线。首先画得足够粗以覆盖两条线。然后使用相同的路径通过绘制一条线宽较小的白线来清除线条之间的空间。
我的 PDF 查看器出现了一个小问题,在起点和终点处残留着一条非常细的黑色垂直线。因此它们被右侧的白线覆盖。
最后加上箭头尖。根据尖头的类型,最后还需要先进行一些白化,因为尖头可能比黑线宽度要细。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[thick]
\coordinate (a) at (0,0);
\coordinate (b) at (-1,2);
\edef\DoubleDistance{\the\dimexpr.2cm-\pgflinewidth}
% draw large black line including space inbetween
\draw[double distance=\DoubleDistance]
(a) to [out=-180, in=-180, distance=3cm] (b)
;
% fix small glitch, the PDF viewer had showed a very thin vertical line
\draw[line width=\DoubleDistance, white]
(a) -- +(.01,0)
(b) -- +(.01,0)
;
% some whitening for the arrow tip
\draw[line width=1.1\pgflinewidth,white]
(a) ++(0.1pt,.1) -- +(-.8pt,0)
(b) ++(0.1pt,.1) -- +(-.8pt,0)
;
% draw arrow tips
\draw[<-] (a) ++(0,.1) -- +(-.01,0);
\draw[<-] (b) ++(0,.1) -- +(-.01,0);
\end{tikzpicture}
\end{document}
答案2
\documentclass[tikz,margin=5pt]{standalone}
\begin{document}
\begin{tikzpicture}
\begin{scope}[xslant=-.5]
\draw[shorten >=1.5pt,<-,>=stealth] (0,-2) arc (270:90:2 and 2.01) ;
\draw[shorten <=1.5pt,->,>=stealth] (0,-2.1) arc (270:90:2.11 and 2.1) ;
\end{scope}
\end{tikzpicture}
\end{document}