如何在 tikzcd 中创建左箭头?

如何在 tikzcd 中创建左箭头?

我想让下面代码中的箭头向左,但是出现错误。

 \begin{tikzcd}
1 \arrow[rr,shift left,"\lambda"]
  \arrow[rr,shift right,swap,"\mu"]
&&
3 
\end{tikzcd}

答案1

当您执行 时,这意味着从所在的单元格向右两列的单元\arrow[rr]格绘制一个箭头。代表“右”,两个s 表示向右两列。同样,表示左,表示上下。我假设您尝试过类似 \arrowrrlud

\begin{tikzcd}
1 \arrow[ll,shift left,"\lambda"]
  \arrow[ll,shift right,swap,"\mu"]
&&
3 
\end{tikzcd}

但这样做不行,因为两个箭头放在第一列,所以左边没有列。要使用,ll你必须将箭头移到最后一列,即

\begin{tikzcd}
1 && 3 
  \arrow[ll,shift left,"\lambda"]
  \arrow[ll,shift right,swap,"\mu"]
\end{tikzcd}

另一个选项是将leftarrow选项添加到箭头,同时保留rr。这会将箭头尖移动到线的开头,而不是结尾。

无关注释:正如 egreg 在下面的评论中提到的那样,使用空列添加空间可能不是最好的方法,最好修改column sep。您可以给出一个特定的长度(例如)或使用column sep=1cm预定义键之一(tiny,,,,)来设置列之间small的分隔。scriptsize normallargehuge

完整的示例,其中包含箭头的两个选项,而column sep=huge不是空列:

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{tikz-cd}

\begin{document}
 \begin{tikzcd}[column sep=huge]
1 &
 \arrow[l,shift right,swap,"\lambda"]
 \arrow[l,shift left,"\mu"]
3  \\
1 
 \arrow[r,leftarrow,shift left,"\lambda"]
 \arrow[r,leftarrow,shift right,swap,"\mu"]
&
3 
\end{tikzcd}
\end{document}

相关内容