箭头的语法tikz-cd是\arrow[options]
。箭头可以相对定位(例如\arrow[r, "\phi"]
)或绝对定位(\arrow[from=1-1, to=1-2, "\phi"]
)。我想垂直移动箭头的标签,而不移动箭头本身。tikz yshift
-cd 中有一个语法,但这会将箭头与标签一起移动。
我可以恢复到 tikz 并使用类似下面的符号\arrow{r}[yshift=1ex]{\phi}
,但这很不方便,因为它不能与其他 tikz-cd 语法组合。此外,我不确定如何直接使用 tikz 方便地将绝对定位与 tikz-cd 的网格一起使用。
有没有方便的方法来实现这一点,或者这是 tikz-cd 的缺点?
最小工作示例:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
A \arrow[from=1-1, to=1-2, "\phi"] & B
\end{tikzcd}
\end{document}
我想\phi
向上移动但不移动箭头本身。
答案1
与引号语法一样,您只需在 后添加键即可"\phi"
,例如
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
A \arrow[from=1-1, to=1-2, "\phi" {yshift=1pt}] & B
\end{tikzcd}
\begin{tikzcd}
A \arrow[from=1-1, to=1-2, "\phi" {yshift=5pt}] & B
\end{tikzcd}
\begin{tikzcd}
A \arrow[from=1-1, to=1-2, "\phi" {yshift=3pt,red}] & B
\end{tikzcd}
\end{document}
答案2
编辑:
在第一个版本的答案中,我误读了问题。现在(希望)是正确的:
- 全局设置(针对图中的所有箭头):
\documentclass[margin=3mm]{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[labels={inner sep=1ex}]
A \ar[r, "\phi"] & B
\end{tikzcd}
\end{document}
- 本地设置和使用
yshift
选项:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
A \ar[r, "\phi", every label/.style={red,yshift=2ex}] & B
\end{tikzcd}
\end{document}
- 本地设置并定义箭头的标签样式,例如:
\begin{document}
\begin{tikzcd}[SL/.style = {every label/.style={red,yshift=#1}}]
A \ar[r, "\phi", SL=2ex] & B
\end{tikzcd}
\end{document}