有人知道如何在 latex 中将箭头放在表格顶部吗?我觉得我需要 tikzmark。但无法将箭头放在正确的位置。
\begin{table}[H]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
\tikzmark{b}4 & 2 & 1 & 3 & 6 & 5 & 12 & 8\tikzmark{a} & 7 & 10 & 11 & 12 & 14 & 13 & 15 \\
\hline
\end{tabular}
\begin{tikzpicture}[overlay, remember picture]
\draw [<-] (a) [bend left] to (b);
\end{tikzpicture}
\end{table}
答案1
像这样:
在您的 MWE 中,您已经非常接近所要查找的内容。假设您的序言中是,\usetikzlibrary{tikzmark}
那么箭头坐标的正确语法例如是(pic cs:b)
。完整的 MWE:
\documentclass[border=11mm,preview]{standalone}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{table}[htb]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
4\tikzmark{b} & 2 & 1 & 3 & 6 & 5 & 12 & \tikzmark{a}8 & 7 & 10 & 11 & 12 & 14 & 13 & 15 \\
\hline
\end{tabular}
\begin{tikzpicture}[ remember picture, overlay]
\draw [<-,red] ([yshift=3ex]pic cs:b) [bend left] to ([yshift=3ex]pic cs:a);
\end{tikzpicture}
\end{table}
\end{document}
编辑:如果将位置更改tikzmarks
为单元格内容之前和之后,箭头的位置将变得不确定。MWE 现已考虑此更改。
答案2
TikZ 不是唯一简单的解决方案:您还可以使用以下方法pstricks
:
\documentclass[svgnames]{article}
\usepackage{array}%
\usepackage{pst-node, auto-pst-pdf}
\begin{document}
\begin{table}[!htb]
\centering\setlength\extrarowheight{2pt}
\begin{postscript}
\begin{tabular}{|*{15}{c|}}
\hline
\pnode[0.5ex, 2.5ex]{b} 4 & 2 & 1 & 3 & 6 & 5 & 12 & \pnode[0.5ex, 2.5ex]{a} 8 & 7 & 10 & 11 & 12 & 14 & 13 & 15 \\
\hline
\end{tabular}
\psset{arrows=->, linecolor=IndianRed}
\ncarc[arcangle=-30]{a}{b}
\ncangle[angle=-90, nodesep=2.8ex]{a}{b}
\end{postscript}
\end{table}
\end{document}