tikz-cd 中的重叠箭头和扭曲标签

tikz-cd 中的重叠箭头和扭曲标签

tikz-cd 代码

\documentclass[standalone]{standalone}
\usepackage{amsmath,mathtools}
\usepackage{amsfonts}
\usepackage{tikz}
\usepackage{caption}
\usetikzlibrary{arrows}
\usetikzlibrary{cd}

\newcommand{\ctext}[1]{\text{\makebox[0pt]{#1}}}

\begin{document}
\begin{figure}[![enter image description here][1]][1]
\begin{tikzcd}
&&\sigma_{0}\arrow[r]&\vphantom{X} \\
\sigma_{init}\arrow[rru,"\ctext{cdsa\_in(1)}",sloped, start anchor=center,shorten <= .5em]\arrow[rrd,"\ctext{cdsa\_in(n)}", rotate=-1.25, sloped,start anchor=center, shorten <= .5em]&&& \\
&&\vphantom{X}\sigma_{n}\arrow[r]&\vphantom{X} \\
\end{tikzcd}
\end{figure}
\end{document}

创建图表

在此处输入图片描述

宏的使用\ctext等解决标签居中问题rotate并使用关键词来更好地cdsa_in与它的箭头对齐。

  • 是否存在与相关箭头标记更好地对齐的替代方案?
  • 箭头超出了下标,init该如何解决?

答案1

我觉得你的生活变得复杂了。

这里有一个更简单的代码:nodes in empty cells可以避免幻影,&[16pt]在前两列之间添加一些空间,而不需要创建一个空的。

题外话:文档figure中的环境standalone没有意义。

\documentclass{standalone}
\usepackage{amsmath,mathtools}
\usepackage{amsfonts}
\usepackage{tikz}
\usepackage{caption}
\usetikzlibrary{arrows}
\usetikzlibrary{cd}

\newcommand{\ctext}[1]{\text{\makebox[0pt]{#1}}}

\begin{document}
\begin{tikzcd}[nodes in empty cells]
&[16pt] \sigma_{0}\arrow[r]& \\
\sigma_{init}\arrow[ru,"\ctext{cdsa\_in(1)}", sloped]\arrow[rd,"\ctext{cdsa\_in(n)}", swap, sloped]&& \\
&\sigma_{n}\arrow[r]&
\end{tikzcd}
\end{document}

在此处输入图片描述

相关内容