我有一张表格。表格中的每一行代表某一时间点的数据。下一行代表后续时间的数据。
为了说明这一点,我想在表格的侧面(这并不重要)画一个箭头,指向下方,标有“时间”之类的内容。
我该如何做呢?
答案1
您可以使用\Downarrow
放置双箭头,或\downarrow
放置单箭头。应用\left ... \right
将允许其缩放到表格的高度。
\rotatebox[origin=c]{90}{time}
可以通过以下方式添加文本包裹graphicx
。
笔记:
- 假设您只想要左侧的箭头,那么您需要确保将表格末尾的替换
\right\downarrow
为。同样,如果您只想要右侧的箭头,请将 替换为。\right.
\left\Downarrow
\left.
代码:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
$\rotatebox[origin=c]{90}{time}%
\left\Downarrow% Use `\left.` if don't want arrow on this side.
\begin{tabular}{r r}
1:00 & 2 \\
3:00 & 4 \\
5:00 & 6 \\
7:00 & 8 \\
8:00 & 10 \\
\end{tabular}
\right\downarrow% Use `\right.` if don't want arrow on this side.
\rotatebox[origin=c]{90}{time}$
\end{document}
答案2
以下代码包含两个选项;第一个选项不使用任何特殊符号,只是添加/time(incr.)
到列标题以指示增加的时间序列顺序。第二个是一个TikZ
基础解决方案:
\documentclass{article}
\usepackage{booktabs}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand\tikzmark[1]{%
\tikz[overlay,remember picture] \coordinate (#1);}
\begin{document}
\noindent\begin{tabular}{lc}
\toprule
head1 & data/time(incr.) \\
\midrule
text & 3 \\
text & 2 \\
text & 1 \\
\bottomrule
\end{tabular}
\vspace{1cm}
\noindent\begin{tabular}{lc}
\toprule
head1 & data \\
\midrule
text & 3\tikzmark{start}\\
text & 2 \\
text & 1\tikzmark{end} \\
\bottomrule
\end{tabular}
\begin{tikzpicture}[overlay,remember picture]
\draw[->] let \p1=(start), \p2=(end) in ($(\x1,\y1)+(0.8,0.2)$) -- node[label=right:time] {} ($(\x1,\y2)+(0.8,0)$);
\end{tikzpicture}
\end{document}
答案3
这是一个{NiceTabular}
使用 的解决方案nicematrix
。
\documentclass[letterpaper]{book}
\usepackage{nicematrix,tikz,booktabs}
\begin{document}
\NiceMatrixOptions{nullify-dots,xdots/horizontal-labels}
\begin{NiceTabular}{cc}[first-row,last-col]
\toprule
head1 & date \\
\midrule
text & 3 & \Vdots[line-style={solid,->}]^{\text{time}}\\
text & 2 \\
text & 1 \\
\bottomrule
\end{NiceTabular}
\end{document}
您可以根据需要设置任意数量的行,而无需更改箭头的代码。