Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Is there a fast and efficient way to create a table with a vertical arrow like this?

A suitable reference or a snippet of LaTeX code would be much appreciated.

share|improve this question
    
Welcome to TeX.sx! Please make sure that all images are uploaded using the official stackexchange interface, i.e. the image icon on top of the text field (shortcut: CTRL+G). This ensures that all images are always accessible and do not expire. As new user without image posting privileges simply include the image as normal and remove the ! in front of it to turn it into a link. A moderator or another user with edit privileges can then reinsert the ! to turn it into an image again. –  Martin Scharrer Jun 7 '12 at 10:03
    
@Martin Scharrer: thanks a lot for the tip. –  TeXnician Jun 7 '12 at 10:06
    
I am not a TeXpert (yet) but have a feeling it should be possible using Tikz package, where you can reference the start and end of the arrow by points. Text out of table is no problem as you specify the boundaries between columns when you start the tabular environment. –  Abhimanyu Arora Jun 7 '12 at 10:28
    
There is no ‘standard’ package, but I will suggest that you try the Tabu-package. Then you have a chance to have the vertical rules lining up with the horizontal even if you add some space between the table text and the table rules. –  Sveinung Jun 7 '12 at 10:30
add comment

2 Answers 2

up vote 12 down vote accepted

Here's an outline answer using tabularx and tikz.

I apologise for (a) Not filling in all the text and (b) not tuning the horizontal fit and spacing.

Image of result

\documentclass[10pt]{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows}
\usepackage{tabularx}
\newcommand{\vstrut}[1]{\rule{0pt}{#1}}
\begin{document}
\noindent\begin{tikzpicture}[>=latex]
\node [text width=7cm] (tb) {%
\begin{tabularx}{7cm}{|p{2.5cm}|X|}
    \hline
    Extraordinary uncertainty
    & Fundamental Research\newline
      Fundamental invention\\
    \hline
    \vstrut{2cm} & \\
    \hline
    \vstrut{2cm} & \\
    \hline
    \vstrut{2cm} & \\
    \hline
    \vstrut{2cm} & \\
    \hline
    \vstrut{2cm} & \\
    \hline
\end{tabularx}
} ;
\node [
    anchor=north west,
    right=of tb.55,
    text width=2cm] (br) {Basic\\Research};
\node [
    anchor=west,
    right=of tb.0,
    text width=2cm] (dv) {Development};
\node [
    anchor=south west,
    right=of tb.305,
    text width=2cm] (ar) {Applied\\Research};
\node [coordinate,right=of br.north east] (x1) {};
\node [coordinate,right=of ar.south east] (x2) {};
\draw [<->] (x1) to (x2);
\node [right=2cm of br,text width=2cm] {\bfseries\itshape Radical\\Innovation};
\node [right=2cm of ar,text width=2cm] {\bfseries\itshape Incremental\\Innovation};
\end{tikzpicture}
\end{document}
share|improve this answer
    
That's amazing. Thanks! –  TeXnician Jun 7 '12 at 11:57
    
I hope that helps. TikZ is very good, but tends to be "wordy". –  Brent.Longborough Jun 7 '12 at 12:00
add comment

It's possible to combine the multirow package and tikz. I think it's more easy to place the text like Title A and B. I use tikz only for the arrows.

 \documentclass[11pt]{scrartcl}
 \usepackage{tikz,multirow}

 \begin{document}

 \begin{tabular}{ | l | l | p{5cm} |l l}
 \cline{1-3}  
   Day & Max Temp & Summary &\multirow{2}{*}{Title A} &
    \multirow{2}{*}{\tikz[remember picture,overlay] \coordinate (a);\hspace*{2ex}\textbf{Top}} \\ 
   \cline{1-3}
   Monday & 22C & A clear day with lots of sunshine.  However, the strong breeze will bring down the temperatures.&  & \\ \cline{1-3}
   Tuesday & 19C & Cloudy with rain, across many northern regions. Clear spells across most of Scotland and Northern Ireland, but rain reaching the far northwest.& &\\ 
   \cline{1-3}
   Wednesday & 21C & Rain will still linger for the morning. Conditions will improve by early afternoon and continue throughout the evening.&
   \multirow{2}{*}[1em]{Title B} &  \multirow{2}{*}[-4em]{\tikz[remember picture,overlay] \coordinate (b);\hspace*{2ex}\textbf{Below}} \\
 \cline{1-3}
   \end{tabular} %
 \tikz[remember picture,overlay] \draw[<->] (a) --(b);
 \end{document}

enter image description here

share|improve this answer
    
Thank you for the answer. I will upvote as soon as I get enough rep points. –  TeXnician Jun 7 '12 at 12:18
    
@TeXnician No problem for the upvote, I hope that this new approach is interesting for you or for other users. –  Alain Matthes Jun 7 '12 at 12:29
    
@TeXnician: This answer is so much better than mine, in so many ways. I wouldn't be at all offended if you were to unaccept my answer and accept this one... –  Brent.Longborough Jun 7 '12 at 17:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.