我正在尝试复制这张图片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}