我正在尝试让箭头进入和离开我在 tikzcd 中编写的特定图表中的节点的不同部分。到目前为止,我有以下内容:
\begin{tikzcd}
\makebox[1em][r]{$Long text 1$} \arrow[rr] \arrow[d] & &
\makebox[1em][l]{$Long text 2$} \arrow[d] \\
{A} \arrow[r] & {B} \arrow[r] & C
\end{tikzcd}
因此本质上我希望从“长文本 1”到“A”的箭头从 L 开始,从“长文本 2”到“C”的箭头从 2 开始,同时不改变从“长文本 1”到“长文本 2”的箭头。
任何帮助都将不胜感激。非常感谢!
答案1
您可以定义用于设置起始锚点start
的样式。to path
\documentclass[tikz,border=7pt]{standalone}
\usepackage{mathtools}
\usetikzlibrary{cd}
\tikzstyle{start}=[to path={(\tikztostart.#1) -- (\tikztotarget)}]
\begin{document}
\begin{tikzcd}[]
\text{Long text 1} \arrow[rr] \arrow[d,start=205]
& & \text{Long text 2} \arrow[d,start=335] \\
{A} \arrow[r] & {B} \arrow[r] & C
\end{tikzcd}
\end{document}
答案2
欢迎使用 TeX-SE!您可以使用这个答案。虽然我不确定,但我个人会这么做。
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsmath}
\begin{document}
\[ \begin{tikzcd}[execute at end picture={
\draw[->] ([xshift=-4em]\tikzcdmatrixname-1-1.south) -- (\tikzcdmatrixname-2-1);
\draw[->] ([xshift=4em]\tikzcdmatrixname-1-3.south) -- (\tikzcdmatrixname-2-3);
}]
\makebox[1em][r]{Long text 1} \arrow[rr] & &
\makebox[1em][l]{Long text 2} \\
{A} \arrow[r] & {B} \arrow[r] & C
\end{tikzcd}\]
\end{document}