tikz-cd `shorten` 与 `squiggly` 结合使用

tikz-cd `shorten` 与 `squiggly` 结合使用

我想画一个缩短的波浪箭头,如下所示:

短波浪箭头

但是,当我shorten与 结合使用时squiggly,我得到了一种奇怪的效果,其中缩短的线段既画成波浪线,又画成直线(而不是根本没有画出来):

坏的波浪箭头

代码如下:

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathmorphing}

\begin{document}
\begin{tikzcd}
    \bullet && \bullet
    \arrow[shorten <=10pt, shorten >=10pt, squiggly, from=1-1, to=1-3]
\end{tikzcd}
\end{document}

有办法解决这个问题吗?

答案1

除了路径之外,您还需要缩短装饰本身。在http://pgf-and-tikz.10981.n7.nabble.com/shorten-and-decoration-td2248.html,似乎仍然适用。因此,squiggly={pre length=10pt, post length=10pt}除了缩写之外,您还需要说。

带有缩短箭头的代码输出

\documentclass[border-5mm]{standalone}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathmorphing}

\begin{document}
\begin{tikzcd}
    \bullet && \bullet
    \arrow[shorten <=10pt, shorten >=10pt,
            squiggly={
               pre length=10pt, post length=10pt
             },
             from=1-1, to=1-3]
\end{tikzcd}
\end{document}

答案2

另一种可能性是将shortens替换start anchorend anchor

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathmorphing}

\begin{document}
\begin{tikzcd}
    \bullet && \bullet
    \arrow[squiggly, start anchor={[xshift=10pt]}, end anchor={[xshift=-10pt]}, from=1-1, to=1-3]
\end{tikzcd}
\end{document}

在此处输入图片描述

相关内容