我正在尝试填写由动态规划算法生成的表格,该算法需要通过插入向右或向下对角箭头来跟踪执行情况。示例图像如下:
我知道表格和箭头的命令,但无法简洁地完成。基本的表格结构是什么,才能使这种对齐可见?
\begin{center}
\begin{tabular}{||c c c c c c c c||}
\hline
Col1 & Col2 & Col2 & Col3 & Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
\hline\hline
1 & 6 & 10 & 87837 \\
$\leftarrow$ & $\leftarrow$ & $\searrow$ & 87837 \\
2 & 7 & 78 & 5415 \\
3 & 545 & 778 & 7507 \\
4 & 545 & 18744 & 7560 \\
5 & 88 & 788 & 6344 \\ [1ex]
\end{tabular}
\end{center}
答案1
tikz
您可以使用库来实现此目的matrix
。在这种情况下,您可以使用
\draw[->](A-n-p)--(A-m-q);
其中A
是矩阵的名称, n
表示P
起始单元格的行号和列号。
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[>=stealth]
\matrix (A) [matrix of nodes,row sep=3mm,column sep=3mm,nodes in empty cells]
{
& A & T & T & A \\
G & 1 & 6 & 10 & 87837\\
A & 3 & 5 & 7 & 87837\\
T & 7 & 78 & 5415 & 10 \\
G & 545 & 778 & 7507 & 20 \\
T & 545 & 18744 & 7560 & 19 \\
A & 88 & 788 & 6344 & 50 \\
};
\draw (A-7-1.south west)rectangle({A-2-5.north east}|-{A-1-2.north});
\draw ([xshift=-3mm]A-1-2.north west)--([xshift=-3mm]A-7-2.south west);
\draw ([yshift=2mm]A-2-1.north west)--([yshift=2mm]A-2-5.north east);
\begin{scope}[thick,red,->]
\draw (A-2-2)--(A-3-3);
\draw (A-2-2)--(A-2-3);
\draw (A-2-2)--(A-3-2);
\draw (A-3-4)--(A-4-4);
\end{scope}
\end{tikzpicture}
\end{document}
输出