Tikz 文本在箭头上方/下方,斜线和曲线

Tikz 文本在箭头上方/下方,斜线和曲线

我如何在 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

使用 puretikz代替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}

在此处输入图片描述

相关内容