tikz-cd 边缘带有起始锚点的额外箭头 v0.9b

tikz-cd 边缘带有起始锚点的额外箭头 v0.9b

我正在使用 tikz-cd 包绘制一个 BIG tikzpicture。我不会在这里重现整个图表,因为没有必要。但以下 MWE 突出显示了我遇到的问题:图表的一个区域有点拥挤,我想将一条边的起始位置微移到源节点的东边。但是,当我为源节点指定坐标时,箭头的源端会出现一个不必要的提示。这是代码:

\documentclass[11pt]{article}

\usepackage{amsmath} 
\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}                                          
\tikzset{
   commutative diagrams/.cd,
   arrow style = tikz,
   diagrams={>=latex}}

\begin{document}
\begin{tikzpicture}[commutative diagrams/every diagram,column sep = 3em]
       \matrix (m) [matrix of math nodes, nodes in empty cells]{
       |(A)|A\\
       |(B)|B\\
       };
       \path [commutative diagrams/.cd, every arrow, every label] 
          (B.north east) edge [bend right, dashed] (A.east)
          (B) edge [bend left] (A.west)
       ;
    \end{tikzpicture}
\end{document}

这是此示例产生的输出。您可以在虚线上看到额外的提示。

源头处的流氓箭尖

回想一下,我故意不使用{tikzcd}环境,因为我有很多节点和边,可能需要在添加到图表时更改某些节点的位置。

关于如何使用边缘路径在 tikzpicture 环境中移动箭头的起始位置,有什么建议吗?

答案1

edge有点奇怪,你需要to在这里使用:

示例输出

\documentclass[11pt]{article}

\usepackage{amsmath} 
\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}                                          
\tikzset{
   commutative diagrams/.cd,
   arrow style = tikz,
   diagrams={>=latex}}

\begin{document}
\begin{tikzpicture}[commutative diagrams/every diagram,column sep = 3em]
       \matrix (m) [matrix of math nodes, nodes in empty cells]{
       |(A)|A\\
       |(B)|B\\
       };
       \draw[commutative diagrams/.cd, every arrow, every label,dashed] 
          (B.north east) to [bend right, dashed] (A.east);
       \draw[commutative diagrams/.cd, every arrow, every label] 
          (B) edge [bend left] (A.west);
    \end{tikzpicture}
\end{document}

我认为 的情况edge是存在两条路径,第一条路径从(B)到非常短(B.north east)。但我还无法验证这一点。

更新:感谢指向https://tex.stackexchange.com/a/82495/15925 Torbjørn T. 的确如此。在您的代码中,主路径(即edge删除了部分)是

   \draw[commutative diagrams/.cd, every arrow, every label,dashed] 
      (B.north east)
      (B);

上面的代码生成

测试输出

和你经历过的箭头位置奇怪的情况。

最后一张图的完整代码是:

\documentclass[11pt]{article}

\usepackage{amsmath} 
\usepackage{tikz-cd}
\usetikzlibrary{arrows}

\title{}
\date{}                                          
\tikzset{
   commutative diagrams/.cd,
   arrow style = tikz,
   diagrams={>=latex}}

\begin{document}
\begin{tikzpicture}[commutative diagrams/every diagram,column sep = 3em]
       \matrix (m) [matrix of math nodes, nodes in empty cells]{
       |(A)|A\\
       |(B)|B\\
       };
       \draw[commutative diagrams/.cd, every arrow, every label,dashed] 
          (B.north east)
          (B);
    \end{tikzpicture}
\end{document}

答案2

我还使用了最少的代码tikz-cd

在此处输入图片描述

\documentclass[a4paper,12pt]{article}

\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
\mathit{A}\\
\mathit{B} \arrow[u, bend left] \arrow[u, dashed, bend right]
\end{tikzcd}
\end{document}

相关内容