我想要一个包含三列的表格,并在表格的行之间添加一些箭头。因此,这是我的代码:
\documentclass{article}
\usepackage{tabularx}
\usepackage{tikz}
\newcommand{\tm}[1]{\tikz[overlay, remember picture,
baseline=(#1.base), anchor=west] \node [inner sep=0pt] (#1) {};}
\begin{document}
\begin{table}[ht]
\begin{tabularx}{\linewidth}{ c|c|c }
\ul{livedb} & \ul{app code} & \ul{intowodw fact.podio\_orders only} \\
\hline
\hline
\ul{property table} & & \\
id \tm{A} & \tm{1} property.id or id & \\
country\_id \tm{B} & \tm{2} property.country\_id & \\
name \tm{C} & \tm{3} property.name & \\
\end{tabularx}
\caption{Caption}\label{tab:danos}
\begin{tikzpicture}[overlay, remember picture]
\draw[<->] (A) edge (1)
(B) edge (2)
(C) edge (3);
\end{tikzpicture}
\end{table}
\end{document}
但这就是我所拥有的,我想将箭头与文本对齐,但我遇到了麻烦。
你知道该怎么做吗?你能帮助我吗?
最好的
答案1
像这样?
在图书馆的帮助下tikznode
:
\documentclass{article}
\usepackage{tabularx}
\usepackage{tikz}
\usetikzlibrary{tikzmark} % new
\begin{document}
\begin{table}[ht]
\begin{tabularx}{\linewidth}{ c|c|c }
livedb & app code & intowodw fact.podio\_orders only \\
\hline
property table & & \\
\tikzmarknode{a1}{id} & \tikzmarknode{a2}{property.id or id} & \\
\tikzmarknode{b1}{country\_id} & \tikzmarknode{b2}{property.country\_id} & \\
\tikzmarknode{c1}{name} & \tikzmarknode{c2}{property.name} & \\
\end{tabularx}
%
\begin{tikzpicture}[overlay, remember picture,
every edge/.append style={<->, shorten >=2pt, shorten <=2pt}]
\draw (a1) edge (a2)
(b1) edge (b2)
(c1) edge (c2);
\end{tikzpicture}
\end{table}
\end{document}
注意:要获得正确的结果,您需要进行两次编译。您可能需要强制进行第一次编译,因为(最近在 CTAN 上)tikznode
库中存在错误,或者您可以尝试在“github”上找到其可用版本,那里有修复程序。