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}