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}

何らかの理由で、2 つの矢印の水平方向の開始点が異なります。2 行目をノードにして を追加してみましたcells={nodes={anchor=east}}が、問題は解決しません。この問題を解決する方法はありますか? また、2 行目からいくつかの文字を削除すると、意図したとおりの動作になるように見えるため、非常に奇妙な問題です。

ここに画像の説明を入力してください

編集: 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}

ここに画像の説明を入力してください

関連情報