How to add left arrow between two tables?
With tikzmark
, compile twice.
The arrow is in the (vertical) middle of the tables, headers included. the vertical alignment could be changed if you want it only in the middle of the table content, headers excluded.
I also made some improvement in the table layout (but I don't think >{$}c<{$}
for numbers is needed at all).
\documentclass[english]{IEEEtran}
\usepackage{array}
\renewcommand{\arraystretch}{1.2}
\newcolumntype{C}{>{$}c<{$}}
\usepackage{booktabs}
\usepackage{makecell}
\usepackage{tikz}
\usetikzlibrary{tikzmark, shapes.arrows}
\usepackage{caption}
\begin{document}
\begin{table*}
\large
\begin{minipage}{0.5\linewidth}
\centering
\caption{First Table}
\label{tab:first_table}
\tikzmarknode{A}{%contents
\begin{tabular}{cCc}
\toprule
\textbf{Start} & \makecell{\textbf{Interval}\\ \textbf{Time}}
& \textbf{Destination}
\\
\midrule
Zone 1 & 483 & Zone 2 \\
Zone 1 & 848 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
\bottomrule
\end{tabular}}
\end{minipage}\hfill
\begin{minipage}{.5\linewidth}
\centering
\caption{Second Table}
\label{tab:second_table}
\tikzmarknode{B}{%contents
\begin{tabular}{ccc}
\toprule
\textbf{Start} & \makecell{\textbf{Interval}\\ \textbf{Time}}
& \textbf{Destination}
\\
\midrule
Zone 1 & 483 & Zone 2 \\
Zone 1 & 848 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
\bottomrule
\end{tabular}}
\end{minipage}
\begin{tikzpicture}[remember picture, overlay]
\path (A) -- node[draw, text width=3em, single arrow, thick, red]{} (B);
\end{tikzpicture}
\end{table*}
\end{document}
Edit: The previous solution needs v1.6 from 2018/10/18 of tikzmark
(or newest).
For users with older versions, here is a pure TikZ solution:
\documentclass[english]{IEEEtran}
\usepackage{array}
\renewcommand{\arraystretch}{1.2}
\newcolumntype{C}{>{$}c<{$}}
\usepackage{booktabs}
\usepackage{makecell}
\usepackage{tikz}
\usetikzlibrary{shapes.arrows}
\begin{document}
\begin{table*}
\large
\begin{minipage}{0.5\linewidth}
\centering
\caption{First Table}
\label{tab:first_table}
\tikz[remember picture]{\node[inner sep=0pt, outer sep=0pt](A){%contents
\begin{tabular}{cCc}
\toprule
\textbf{Start} & \makecell{\textbf{Interval}\\ \textbf{Time}}
& \textbf{Destination}
\\
\midrule
Zone 1 & 483 & Zone 2 \\
Zone 1 & 848 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
\bottomrule
\end{tabular}}}
\end{minipage}\hfill
\begin{minipage}{.5\linewidth}
\centering
\caption{Second Table}
\label{tab:second_table}
\tikz[remember picture]{\node[inner sep=0pt, outer sep=0pt](B){%contents
\begin{tabular}{ccc}
\toprule
\textbf{Start} & \makecell{\textbf{Interval}\\ \textbf{Time}}
& \textbf{Destination}
\\
\midrule
Zone 1 & 483 & Zone 2 \\
Zone 1 & 848 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
Zone 1 & 121 & Zone 4 \\
Zone 2 & 13 & Zone 3 \\
\bottomrule
\end{tabular}}}
\end{minipage}
\begin{tikzpicture}[remember picture, overlay]
\path (A) -- node[draw, text width=3em, single arrow, thick, red]{} (B);
\end{tikzpicture}
\end{table*}
\end{document}
It is very simple, you need to add a \Rightarrow after your first table. Since I had time to do this, here it goes:
\begin{minipage}{0.5\linewidth} \centering \caption{First Table} \label{tab:first_table} \medskip \begin{tabular}{ccc} \toprule \textbf{Start} & \textbf{Interval Time} & \textbf{Destination} \\ \midrule Zone 1 & $483$ & Zone 2 \\ Zone 1 & $848$ & Zone 3 \\ Zone 1 & $121$ & Zone 4 \\ Zone 2 & $13$ & Zone 3 \\ Zone 1 & $121$ & Zone 4 \\ Zone 2 & $13$ & Zone 3 \\ Zone 1 & $121$ & Zone 4 \\ Zone 2 & $13$ & Zone 3 \\ \bottomrule \end{tabular} \end{minipage} $\Rightarrow$