tikz-cd 箭头未按预期水平对齐

tikz-cd 箭头未按预期水平对齐

我有以下代码

\begin{tikzcd}[row sep=tiny]
    & (\nu d,\, e)(\bar{b} \langle e \rangle \,|\,\bar{d}) \not\downarrow_c \\
(\nu d,\, e)\bar{b} \langle d \rangle \,|\, \bar{b} \langle e \rangle \,|\, b(x).\bar{x} \arrow[ur] \arrow[dr] & \\
    & (\nu d,\, e)(\bar{b} \langle d \rangle \,|\,\bar{e}) \not\downarrow_c \\
\end{tikzcd}

出于某种原因,两个箭头在水平方向上有不同的起点。我尝试将第二行设为节点并添加cells={nodes={anchor=east}},但问题仍然存在。有什么办法可以解决这个问题吗?这也是一个很奇怪的问题,因为如果我从第二行删除几个字符,它似乎会出现预期的行为。

在此处输入图片描述

编辑:修复了 Marijn 指出的不一致之处

答案1

您可以使用与默认中心不同的锚点。

我还删除了所有\,命令并使用\mid;为了改善的糟糕输出\not\downarrow,我使用了\centernot

注意:左边的项中有一个不平衡的括号。请修复它。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}
\usepackage{centernot}

\begin{document}

\[
\begin{tikzcd}[row sep=tiny]
  & (\nu d, e)(\bar{b} \langle e \rangle \mid \bar{d}) \mathrel{\centernot\downarrow}_c \\
(\nu d, e)(\bar{b} \langle d \rangle \mid \bar{b} \langle e \rangle \mid b(x).\bar{x}
  \arrow[ur,start anchor=north east,end anchor=base west]
  \arrow[dr,start anchor=south east,end anchor=real west] &
\\
  & (\nu d, e)(\bar{b} \langle d \rangle \mid \bar{e}) \mathrel{\centernot\downarrow}_c \\
\end{tikzcd}
\]

\end{document}

在此处输入图片描述

相关内容