Как я могу писать в 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
вместо 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}