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}

在此輸入影像描述

相關內容