我想在 tikzcd 中添加一些指向特定行(此处为行 JKL)的箭头。但是我的代码始终指向单元格的顶部(即使它正在生成有意义的输出时):
我不知道为什么,但据报道 tikzmarknodes 可以工作这里。
梅威瑟:
\documentclass{article}
\usepackage{tikz-cd,amssymb}
\usetikzlibrary{tikzmark,quotes}
\usepackage{tabularx}
\newcolumntype{L}{>{$}l<{$}}
\begin{document}
\tikzset{
point line/.style={
to path={
(#1-|{\tikztostart.east}) -- (#1-|{\tikztotarget.west})
\tikztonodes
}
}
}
\begin{tikzcd}
A \rar[point line=myline] & |[fill=green]| \tiny \begin{tabular}{@{}L@{}}
ABC\\
DEF\\
GHI\\
\tikzmarknode{myline}{JKL}\end{tabular}
\end{tikzcd}
\end{document}
答案1
\documentclass{article}
\usepackage{tikz-cd,amssymb}
\usetikzlibrary{tikzmark,quotes}
\usepackage{tabularx}
\newcolumntype{L}{>{$}l<{$}}
\begin{document}
\tikzset{
point line/.style={
to path={
(#1-|{\tikztostart.east}) -- (#1-|{\tikztotarget.west})
\tikztonodes
}
}
}
\begin{tikzcd}[overlay, remember picture]
A \rar[point line=myline] & |[fill=green]| \tiny \begin{tabular}{@{}L@{}}
ABC\\
DEF\\
GHI\\
\tikzmarknode{myline}{JKL}\end{tabular}
\end{tikzcd}
\end{document}