简单的

简单的

我有一个简单的表格,我想在其中添加从某些单元格指向其他单元格的箭头。在下面的示例中,我想添加一个从 到 的垂直箭头Start1Finish1一个从 到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}

输出

在此处输入图片描述

相关内容