我有以下程式碼
\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}