1

Is it possible to create the following flowchart in Latex? enter image description here

Can you provide an code example?Thanks in advance.

  • 4
    Yes it is. Can you provide a code example? What have you tried so far? – Manuel Nov 11 '14 at 17:24
  • I didnt.I would like to check a general example,not the 'solution' for this(which in fact is the one that i want to do).And i asked it in order to figure out which is better to use for my report:visio,smartdraw or latex.But thanks for your answer. :) – Mpizos Dimitris Nov 11 '14 at 17:31
  • Besides TikZ you could also use GraphViz: http://uweziegenhagen.de/?p=2902 – Uwe Ziegenhagen Nov 11 '14 at 17:43
  • 3
    Your question leaves all the effort to our community, even typing the essentials of a TeX document such as \documentclass{}...\begin{document} etc. You can improve your question by adding a minimal working example (MWE) that more users can copy/paste onto their systems to work on. – cfr Nov 11 '14 at 18:17

1 Answers1

4

A starting point using TikZ and its positioning library:

enter image description here

The code:

\documentclass{article}    
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[
  mynode/.style={
    draw,
    rounded corners,
    font=\sffamily,
    text width=1.5cm,
    align=center
  },
  ar/.style={
  ->,
  >=latex,
  }
]
\node[mynode] (c1) {data};
\node[mynode,below=of c1] (c2) {data};
\node[mynode,below=of c2] (c3) {data};
\node[mynode,below=of c3] (c4) {data};
\coordinate[below=20pt of c4] (aux);

\node[mynode,left=of c2] (l1) {data};
\node[mynode,below=of l1] (l2) {data};

\node[mynode,right=of c2] (r1) {data};
\node[mynode,right=of r1] (rr1) {data};

\foreach \Valor in {1,2,3}
{
  \draw[ar] (c\Valor) -- (c\the\numexpr\Valor+1\relax);
}
\draw[ar] (c4.south) -- ++(0,-8pt) -| ([xshift=-6pt]r1.south);
\draw[ar] ([xshift=-6pt]c1.south) -- ++(0,-15pt) -| (l1);
\draw[ar] ([xshift=6pt]c1.south) -- ++(0,-15pt) -| (r1);
\draw[ar] ([xshift=6pt]l1.south) -- ([xshift=6pt]l1.south|-l2.north);
\draw[ar] 
  ([xshift=-6pt]l1.south) --
  ++(0,-15pt) --
  ++(-25pt,0) |-
  (aux) -|
  ([xshift=6pt]r1.south);
\draw[ar] (r1) -- (rr1);
\end{tikzpicture}

\end{document}
Gonzalo Medina
  • 505,128