Tikz ではどのように記述すればよいですか:
難しいのは、矢印の上と下に記述することです。いくつかの解決策を調べましたが、ノードなどに入らない基本的な解決策が望ましいです。このような構文で実行できますか?:
\arrow[rr, leftrightarrow, "*"]
左右の斜めの線の描き方がわかりません…
私が抱えているさらなる課題は、次の画像のように、上記の単純な構文を使用して曲線を描くことです。
編集:
曲線のケースは、次のコードで @marmot のおかげで解決されました。
\begin{tikzcd}
x \arrow[rr,leftrightarrow,"*"] \arrow[rr,bend right] & & y
\end{tikzcd}
答え1
完全を期すために、tikz-cd のみを使用します。(もちろん、tikz-cd は tikz をロードします。)
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
\arrow[ddr,dash,xshift=1cm,yshift=0.1cm]~&~ & & & &~& ~\arrow[ddl,dash,xshift=-1cm,yshift=0.1cm]\\[-0.3cm]
~ && \arrow[dll, dashrightarrow]
\arrow[ll, dashrightarrow]
\arrow[ull, dashrightarrow]
x \arrow[rr, leftrightarrow, "*","="'] && y \arrow[drr, dashrightarrow]
\arrow[rr, dashrightarrow]
\arrow[urr, dashrightarrow] & & ~\\[-0.3cm]
~&~& & & & ~&~
\end{tikzcd}
\begin{tikzcd}
x \arrow[rr,leftrightarrow,"*"] \arrow[rr,bend right] & & y
\end{tikzcd}
\end{document}
答え2
tikz
の代わりにpure を使用するとtikzcd
:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[>=stealth]
\node (x) at (0,0) {$x$};
\node (y) at (2,0) {$y$};
\draw[<->] (x) -- node[above] {$\ast$} node[below] {$=$} (y);
\draw[->] (x) to[bend right=60] (y);
\draw[->,dashed] (x) -- +(160:1);
\draw[->,dashed] (x) -- +(180:1);
\draw[->,dashed] (x) -- +(200:1);
\draw[->,dashed] (y) -- +(20:1);
\draw[->,dashed] (y) -- +(0:1);
\draw[->,dashed] (y) -- +(-20:1);
\draw ([yshift=12,xshift=-6]x.west) -- ([yshift=-12,xshift=-10]x.west);
\draw ([yshift=12,xshift=6]y.east) -- ([yshift=-12,xshift=10]y.east);
\end{tikzpicture}
\end{document}