tikz-cd 将箭头绘制到另一个箭头

tikz-cd 将箭头绘制到另一个箭头

我正在尝试复制这张图片http://www.ats.ucla.edu/stat/stata/faq/model5s.png 从此页面http://www.ats.ucla.edu/stat/stata/faq/modmed.htm使用 tikz-cd。我有以下代码和图表。如何将箭头从 W 添加到 X 到 M 的箭头或添加到从 M 到 Y 的箭头?

我不确定这是否可行,因为箭头本身不是节点。另外,是否可以在节点周围添加椭圆形或矩形边框?我可能没有使用正确的包。我很感激任何建议。

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

\begin{tikzcd}
    & W \\
    & M \arrow{dr} \\
    X \arrow{ur} \arrow{rr} & & Y
\end{tikzcd}

\end{document}

在此处输入图片描述

谢谢,ksint

答案1

一种可能性是使用name键,然后使用这些名称来绘制箭头:

在此处输入图片描述

代码:

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

\begin{document}

\begin{tikzcd}
& A 
\\
B\arrow[r,""{name=B}] & C\arrow[r,""{name=C}] & D 
\arrow[from=1-2,to=B]\arrow[from=1-2,to=C]
\end{tikzcd}

\begin{tikzcd}
    & W \\
    & M \arrow[dr,""{name=R}] \\
    X \arrow[ur,""{name=L}] \arrow{rr} & & Y
\arrow[from=1-2,to=L]\arrow[from=1-2,to=R]
\end{tikzcd}

\end{document}

答案2

尝试这个:

\documentclass[10pt,a4paper]{article}
\usepackage{tikz-cd}
\begin{document}
    \begin{tikzcd}
        &  W  \\
        & M \arrow{dr} \\
        X \arrow[ur, ""{name=Z}]{} \arrow{rr} & & Y
        \arrow[from=1-2, to=Z, bend right]
    \end{tikzcd}
\end{document}

输出:

在此处输入图片描述

答案3

没有tikz-cd

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[node distance=1cm,>=latex]
\node[draw] (X) {X};
\node[draw, right=of X] (M) {M};
\node[draw, right=of M] (Y) {Y};
\node[draw, above=of M, fill=yellow!30] (W) {W};
\draw[->] (X)--(M) coordinate[midway] (aux){};
\draw[->] (M)--(Y) coordinate[midway] (aux2){};
\draw[->] (W)--(aux);
\draw[->] (W)--(aux2);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容