答案1
您可以使用以下方式向上移动两行
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
& Y \\
X \arrow{ur}{f} \arrow[swap]{dr}{q}&\\
& Z \arrow{uu}
\end{tikzcd}
\end{document}
或者您可以明确指定目标单元格,例如1-2
第一行、第二列:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
& Y \\
X \arrow{ur}{f} \arrow[swap]{dr}{q}&\\
& Z \arrow{1-2}
\end{tikzcd}
\end{document}
答案2
首先,tikz-cd
允许使用基于键值的方法以更好的方式输入箭头。例如,您的箭头是
\arrow[ur,"f"]
\arrow[dr,"g"']
撇号也可以用键代替,swap
例如
\arrow[dr,"g" swap]
这更加清晰且更加宽容,因为您不需要记住旧\arrow
语法中强制参数和可选参数的顺序。
我建议首先放置“目标”说明符:u
表示上、d
下、l
左和r
右。您可以根据需要组合它们,并且可以通过将说明符加倍(或三倍或……)来跳过列或行。因此,您想要
Z \arrow[uu]
这样就可以完成两个步骤。
我还添加了两个“水平”版本的图表。
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
& Y \\
X \arrow[ur,"f"] \arrow[dr,"q"'] \\
& Z \arrow[uu]
\end{tikzcd}
\qquad
\begin{tikzcd}
& Y \\
X \arrow[ur,"f"] \arrow[dr,"q" swap] \\
& Z \arrow[uu]
\end{tikzcd}
\qquad
\begin{tikzcd}
& X \arrow[dl,"q" swap] \arrow[dr,"f"] \\
Z \arrow[rr] && Y
\end{tikzcd}
\qquad
\begin{tikzcd}
& X \arrow[dl,"f" swap] \arrow[dr,"q"] \\
Y && Z \arrow[ll]
\end{tikzcd}
\end{document}