tikzcd 向下箭头在一列对齐

tikzcd 向下箭头在一列对齐

我正在尝试绘制一个arrow[d]直接从C直线出发的图形Y

\documentclass{beamer}                                                                                
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}
A \arrow[r] &  B +   &C  \arrow[d]\\
            &         &   Y
\end{tikzcd}
\end{document}

+然而,这会导致和之间出现很大的空间C

在此处输入图片描述

减少列数似乎可以解决这个问题,但我无法让arrow[d]偏离C。(而是偏离了符号+):

\documentclass{beamer}                                                                                
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}
A \arrow[r] &  B +   C  \arrow[d]\\
            &            Y                                                                             
\end{tikzcd}
\end{document}

在此处输入图片描述

我怎样才能从直接\arrow[d]出发前往?CY

答案1

应该有一种方法可以自动进行备份,但对于单次拍摄来说这似乎更容易。

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

\begin{document}

\begin{tikzcd}[column sep=3em]
A \arrow[r] &  B +{}   &[-3.8em] C  \arrow[d]\\
            &         &   Y
\end{tikzcd}

\end{document}

在此处输入图片描述

答案2

我不会说这很漂亮,但是以下或多或少作品。

注意:shift left使用的是 而不是shift right,因为leftright限定符是相对于箭头方向而言的(这里是向下的)。

\documentclass{beamer}
\usepackage{tikz-cd}

\newlength{\myLen}
\newlength{\myLenii}

\begin{document}

\settowidth{\myLenii}{$C$}
\settowidth{\myLen}{$B+C$}
\addtolength{\myLen}{-\myLenii}

\begin{tikzcd}
A \arrow[r] &  B + C  \arrow[d, shift left=0.5\myLen]\\
            &         \hspace*{\myLen}Y
\end{tikzcd}

\end{document}

在此处输入图片描述

相关内容