Como posso escrever em Tikz:
Uma dificuldade que tenho é escrever acima e abaixo da seta. Procurei várias soluções, mas prefiro uma solução básica que não entre em nós e outras coisas. É possível fazer isso com esse tipo de sintaxe?:
\arrow[rr, leftrightarrow, "*"]
Não tenho ideia de como desenhar as linhas oblíquas do lado esquerdo e direito...
Outro desafio que tenho é desenhar linhas curvas com a sintaxe simples acima, como na imagem a seguir:
Editar:
O caso curvo foi resolvido graças ao @marmot com o seguinte código:
\begin{tikzcd}
x \arrow[rr,leftrightarrow,"*"] \arrow[rr,bend right] & & y
\end{tikzcd}
Responder1
Apenas para completar: apenas com tikz-cd. (Claro, tikz-cd carrega 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}
Responder2
Com puro tikz
em vez de 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}