我有一个简单的表格,我想在其中添加从某些单元格指向其他单元格的箭头。在下面的示例中,我想添加一个从 到 的垂直箭头Start1
和Finish1
一个从 到Start2
的水平箭头Finish2
。最好的方法是什么?
\documentclass{article}
\usepackage{setspace}
\doublespacing
\begin{document}
\begin{tabular}{l l}
Word & Start1\\
Word & Finish1\\
Finish2 & Start2\\
\end{tabular}
\end{document}
答案1
简单的
只是一个想法:使用额外的行和额外的列。
以下示例不会改变 中的文本位置tabular
。
代码
\documentclass{article}
\usepackage{setspace,calc}
\doublespacing
\begin{document}
\begin{tabular}{l c l}
Word & & Start1 \\
& & \makebox[\widthof{Start1}][c]{$\downarrow$} \\
Word & & Finish1 \\
Finish2 & $\leftarrow$ & Start2 \\
\end{tabular}
\end{document}
输出
蒂克兹
您还可以使用 TikZ 的所有功能。
tabular
+ remember picture
/overlay
代码
\documentclass{article}
\usepackage{setspace,tikz}
\newcommand*{\tn}[2]{\tikz[baseline,remember picture]\node[inner sep=0pt,anchor=base] (#1) {#2};}
\doublespacing
\begin{document}
\begin{tabular}{l l}
Word & \tn{s1}{Start1} \\
Word & \tn{f1}{Finish1} \\
\tn{f2}{Finish2} & \tn{s2}{Start2} \\
\end{tabular}
\tikz[remember picture,overlay,shorten >=.3333em,shorten <=.3333em]
\path[->] (s1.south) edge (f1.north -| s1.south) (s2) edge (f2);
\结束{文档}
输出
\matrix
(没有tabular
)
代码
\documentclass{article}
\usepackage{setspace,tikz}
\usetikzlibrary{matrix}
\doublespacing
\begin{document}
\begin{tikzpicture}
\matrix[name=m,nodes={anchor=base west},matrix of nodes,row sep={2em,between origins},column sep=\tabcolsep]{
Word & Start 1 \\
Word & Finish1 \\
Finish2 & Start 2 \\
};
\path[->] (m-1-2.south) edge (m-2-2.north -| m-1-2.south) (m-3-2) edge (m-3-1);
\end{tikzpicture}
\end{document}