答え1
@AboAmmar MWE を使用すると、次のpreaction
ような単純なケースで使用できます。
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[> = latex]
\node [draw, thick, minimum size=5em] (rec) {};
\node [draw] (div) {$\div$};
\draw [preaction={draw, line width=3pt, white}][<->] (div) -- ++(5em,0);
\end{tikzpicture}
\end{document}
編集: それでも、いくつか問題があります。矢印の先端のサイズに応じて、矢印の先端のパスの曲がり具合が変わります。したがって、このアイデアは良い解決策ではありません。
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\tikzset{
outlined arrow/.style={
preaction={{}-{},draw,line width=3pt,yellow}
}
}
\begin{document}
\begin{tikzpicture}[> = latex]
\node [draw,thick,minimum size=5em] (rec) {};
\node [draw] (div) {$\div$};
\draw [outlined arrow][<->] (div) -- ++(5em,0);
\draw [outlined arrow][<->,shorten <=2pt] (div) .. controls +(-90:15mm) and +(180:15mm) .. ++(5em,-5em);
\end{tikzpicture}
\end{document}
編集2: 上記の場合、黒い矢印の曲がった線は、矢印のサイズに応じて、黄色の線の中央にはなりません。私は@cfrの応答を見つけました(矢印の先端のサイズは線の幅に依存しません) はここで少し役立ちます。以下のコードは、矢印の先端の設定がmy arrow
オプションの引数を通じて渡される場合にのみ機能します。
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[
outlined arrow/.style={preaction={double=yellow,double distance=2pt,draw=red}},
my arrow/.style={>={LaTeX[length=2mm]}},
yscale=0.6
]
\node [draw,thick,minimum size=5em] (rec) {};
\node [draw] (div) {$\div$};
\draw [outlined arrow][<->,my arrow] (div) -- ++(5em,0);
\draw [outlined arrow][<->,shorten <=2pt,my arrow]
(div) .. controls +(-90:15mm) and +(180:15mm) .. ++(5em,-5em);
\end{tikzpicture}
\end{document}
@Qrrbrbirlbelソリューションの使用も検討しました(パスを保存し、ストローク用に呼び出す)、しかしshorten
オプションは機能しませんでした。また、@Paul Gaboritの解決策(囲まれた矢印) はshorten
オプション (?) を除外します。
答え2
線の交差部分の隙間は、交差線と同じように太い白色の線を描くことで実現できます。次に例を示します。
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[> = latex]
\node [draw, thick, minimum size=5em] (rec) {};
\node [draw] (div) {$\div$};
\draw [<->, line width=3pt, white](div) -- ++(5em,0);
\draw [<->] (div) -- ++(5em,0);
\end{tikzpicture}
\end{document}