tikz-cd 中箭头标签的 yshift,不移动箭头

tikz-cd 中箭头标签的 yshift,不移动箭头

箭头的语法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}

A \xto{\phi} B

我想\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}

相关内容