3

I can create with the next code fragment two tables nearby:

\documentclass{article}
\begin{document}

\begin{tabular}{ll}
\begin{tabular}{ccc}
A & B & C \\
\cline{1-3}
1 & 2 & 3 \\
\cline{1-3}
C & B & A \\
\end{tabular}
&
\begin{tabular}{ccc}
D & E & F \\
\cline{1-3}
4 & 5 & 6 \\
\cline{1-3}
F & E & D \\
\end{tabular}
\end{tabular}

\end{document} 

Is it possible to connect different rows from both tables with some kind of lines or arrows. I would also to have a label to these lines. For example connect row 1 from the first table with line 3 in the second table.

2

3 Answers 3

1

I'm sure there is a way to use it with Tikz like shown in the linked duplicate question.

Solution with IPE 7.1.6

If you want to draw freely "by hand" there is another way with the excellent, free and platform independent tool IPE IPE 7.

Resulting PDF

The result is a PDF, which you can insert into LaTeX with includegraphics.

enter image description here

Step by step

  • create a new file in IPE
  • create a minipage container with Mode / Text Labels somewhere on the page
  • insert the LaTeX code (without preamble and begin/end document) into this minipage "text field"
  • compile it with File / Run Latex
  • draw the arrow with a polygon line (and corresponding arrow at the end)
  • Save as PDF

(I've only chosen the .ipe format to give you the plain source code, but you can directly save the file as a PDF file which you can then open and edit with IPE)

IPE source file TabularArrowsIPE.ipe

Here is the source code. If you save that in a text file as filename.ipe and open it with IPE, you can also directly save it as PDF and re-open this PDF file with IPE to edit it.

Remark: The following xml file looks quite cluttered as it also contains the formatting settings for lines, text, colors, etc.

<?xml version="1.0"?>
<!DOCTYPE ipe SYSTEM "ipe.dtd">
<ipe version="70005" creator="Ipe 7.1.6">
<info created="D:20150319140150" modified="D:20150319140818"/>
<preamble>\usepackage[ngerman]{babel}</preamble>
<ipestyle name="basic">
<symbol name="arrow/arc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/farc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/ptarc(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fptarc(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="mark/circle(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</symbol>
<symbol name="mark/disk(sx)" transformations="translations">
<path fill="sym-stroke">
0.6 0 0 0.6 0 0 e
</path>
</symbol>
<symbol name="mark/fdisk(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
0.5 0 0 0.5 0 0 e
</path>
<path fill="sym-stroke" fillrule="eofill">
0.6 0 0 0.6 0 0 e
0.4 0 0 0.4 0 0 e
</path>
</group>
</symbol>
<symbol name="mark/box(sx)" transformations="translations">
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</symbol>
<symbol name="mark/square(sx)" transformations="translations">
<path fill="sym-stroke">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
</path>
</symbol>
<symbol name="mark/fsquare(sfx)" transformations="translations">
<group>
<path fill="sym-fill">
-0.5 -0.5 m
0.5 -0.5 l
0.5 0.5 l
-0.5 0.5 l
h
</path>
<path fill="sym-stroke" fillrule="eofill">
-0.6 -0.6 m
0.6 -0.6 l
0.6 0.6 l
-0.6 0.6 l
h
-0.4 -0.4 m
0.4 -0.4 l
0.4 0.4 l
-0.4 0.4 l
h
</path>
</group>
</symbol>
<symbol name="mark/cross(sx)" transformations="translations">
<group>
<path fill="sym-stroke">
-0.43 -0.57 m
0.57 0.43 l
0.43 0.57 l
-0.57 -0.43 l
h
</path>
<path fill="sym-stroke">
-0.43 0.57 m
0.57 -0.43 l
0.43 -0.57 l
-0.57 0.43 l
h
</path>
</group>
</symbol>
<symbol name="arrow/fnormal(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/pointed(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/fpointed(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-0.8 0 l
-1 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/linear(spx)">
<path stroke="sym-stroke" pen="sym-pen">
-1 0.333 m
0 0 l
-1 -0.333 l
</path>
</symbol>
<symbol name="arrow/fdouble(spx)">
<path stroke="sym-stroke" fill="white" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<symbol name="arrow/double(spx)">
<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
0 0 m
-1 0.333 l
-1 -0.333 l
h
-1 0 m
-2 0.333 l
-2 -0.333 l
h
</path>
</symbol>
<pen name="heavier" value="0.8"/>
<pen name="fat" value="1.2"/>
<pen name="ultrafat" value="2"/>
<symbolsize name="large" value="5"/>
<symbolsize name="small" value="2"/>
<symbolsize name="tiny" value="1.1"/>
<arrowsize name="large" value="10"/>
<arrowsize name="small" value="5"/>
<arrowsize name="tiny" value="3"/>
<color name="red" value="1 0 0"/>
<color name="green" value="0 1 0"/>
<color name="blue" value="0 0 1"/>
<color name="yellow" value="1 1 0"/>
<color name="orange" value="1 0.647 0"/>
<color name="gold" value="1 0.843 0"/>
<color name="purple" value="0.627 0.125 0.941"/>
<color name="gray" value="0.745"/>
<color name="brown" value="0.647 0.165 0.165"/>
<color name="navy" value="0 0 0.502"/>
<color name="pink" value="1 0.753 0.796"/>
<color name="seagreen" value="0.18 0.545 0.341"/>
<color name="turquoise" value="0.251 0.878 0.816"/>
<color name="violet" value="0.933 0.51 0.933"/>
<color name="darkblue" value="0 0 0.545"/>
<color name="darkcyan" value="0 0.545 0.545"/>
<color name="darkgray" value="0.663"/>
<color name="darkgreen" value="0 0.392 0"/>
<color name="darkmagenta" value="0.545 0 0.545"/>
<color name="darkorange" value="1 0.549 0"/>
<color name="darkred" value="0.545 0 0"/>
<color name="lightblue" value="0.678 0.847 0.902"/>
<color name="lightcyan" value="0.878 1 1"/>
<color name="lightgray" value="0.827"/>
<color name="lightgreen" value="0.565 0.933 0.565"/>
<color name="lightyellow" value="1 1 0.878"/>
<dashstyle name="dashed" value="[4] 0"/>
<dashstyle name="dotted" value="[1 3] 0"/>
<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
<textsize name="large" value="\large"/>
<textsize name="Large" value="\Large"/>
<textsize name="LARGE" value="\LARGE"/>
<textsize name="huge" value="\huge"/>
<textsize name="Huge" value="\Huge"/>
<textsize name="small" value="\small"/>
<textsize name="footnote" value="\footnotesize"/>
<textsize name="tiny" value="\tiny"/>
<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
<gridsize name="4 pts" value="4"/>
<gridsize name="8 pts (~3 mm)" value="8"/>
<gridsize name="16 pts (~6 mm)" value="16"/>
<gridsize name="32 pts (~12 mm)" value="32"/>
<gridsize name="10 pts (~3.5 mm)" value="10"/>
<gridsize name="20 pts (~7 mm)" value="20"/>
<gridsize name="14 pts (~5 mm)" value="14"/>
<gridsize name="28 pts (~10 mm)" value="28"/>
<gridsize name="56 pts (~20 mm)" value="56"/>
<anglesize name="90 deg" value="90"/>
<anglesize name="60 deg" value="60"/>
<anglesize name="45 deg" value="45"/>
<anglesize name="30 deg" value="30"/>
<anglesize name="22.5 deg" value="22.5"/>
<tiling name="falling" angle="-60" step="4" width="1"/>
<tiling name="rising" angle="30" step="4" width="1"/>
</ipestyle>
<page>
<layer name="alpha"/>
<view layers="alpha" active="alpha"/>
<text layer="alpha" transformations="translations" pos="32 816" stroke="black" type="label" width="142.964" height="20.406" depth="15.46" valign="baseline">\begin{tabular}{ll}
\begin{tabular}{ccc}
A &amp; B &amp; C \\
\cline{1-3}
1 &amp; 2 &amp; 3 \\
\cline{1-3}
C &amp; B &amp; A \\
\end{tabular}
&amp;
\begin{tabular}{ccc}
D &amp; E &amp; F \\
\cline{1-3}
4 &amp; 5 &amp; 6 \\
\cline{1-3}
F &amp; E &amp; D \\
\end{tabular}
\end{tabular}
</text>
<path stroke="black" arrow="normal/normal">
92.1758 830.603 m
101.834 830.603 l
101.834 807.628 l
111.932 807.628 l
</path>
</page>
</ipe>
2

Here is a solution with {NiceTabular} of nicematrix and TikZ to draw the arrow.

\documentclass{article}
\usepackage{nicematrix,tikz}
\usetikzlibrary{arrows.meta,ext.paths.ortho}

\begin{document}

\begin{tabular}{ll}
\begin{NiceTabular}{ccc}[name=A]
A & B & C \\
\cline{1-3}
1 & 2 & 3 \\
\cline{1-3}
C & B & A \\
\end{NiceTabular}
&
\begin{NiceTabular}{ccc}[name=B]
D & E & F \\
\cline{1-3}
4 & 5 & 6 \\
\cline{1-3}
F & E & D \\
\end{NiceTabular}
\end{tabular}

\begin{tikzpicture}[overlay,remember picture]
\draw [->] (A-1-3) -|- (B-3-1) ; 
\end{tikzpicture}

\end{document} 

Output of the above code

1

With use of the tikz package with tikzmark and ext.paths.ortho libraries:

\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
                ext.paths.ortho,    % defined in the tikz-ext package
                tikzmark}           % <---
\tikzset{is/.style = {inner xsep=2pt}}

\begin{document}
    \begin{tabular}{ll}
\begin{tabular}{ccc}
A & B & \tikzmarknode[is]{c}{C} \\
\hline
1 & 2 & 3 \\
\hline
C & B & A \\
\end{tabular}
&
\begin{tabular}{ccc}
D & E & F \\
\hline
4 & 5 & 6 \\
\hline
\tikzmarknode[is]{f}{F} & E & D \\
\end{tabular}
    \begin{tikzpicture}[overlay,remember picture]
\draw[-Straight Barb] (c) -|- (f);
    \end{tikzpicture}
    \end{tabular}
\end{document}

enter image description here

Addendum:
with label on arrow:

\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
                ext.paths.ortho,    % defined in the tikz-ext package
                tikzmark}
\tikzset{is/.style = {inner xsep=6pt}}

\begin{document}
    \begin{tabular}{l@{\qquad}l}
\begin{tabular}{ccc@{}}
A & B & \tikzmarknode[is]{c}{C} \\
\hline
1 & 2 & 3 \\
\hline
C & B & A \\
\end{tabular}
&
\begin{tabular}{@{}ccc}
D & E & F \\
\hline
4 & 5 & 6 \\
\hline
\tikzmarknode[is]{f}{F} & E & D \\
\end{tabular}
    \begin{tikzpicture}[overlay,remember picture,
                        lbl/.style={font=\scriptsize, inner sep=1pt, right, pos=0.5}
                        ]
\draw[-Straight Barb] (c) -|- [distance=-1.5em] (f) node[lbl=west] {xx};
    \end{tikzpicture}
    \end{tabular}
\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .