enter image description here

How to draw complicated flow chart in latex?

  • 3
    Welcome to TeX.SX. Questions about how to draw specific graphics that just post an image of the desired result are really not reasonable questions to ask on the site. Please post a minimal compilable document showing that you've tried to produce the image and then people will be happy to help you with any specific problems you may have. See minimal working example (MWE) for what needs to go into such a document. Apr 13, 2018 at 10:00

3 Answers 3


With basic tools (mathtools, \raisebox) and some trial and error (not sure of the final circle arrow):


\usepackage{mathtools, amssymb}


\[ \begin{rcases}
\end{rcases}\implies \raisebox{-0.34\height}{$\begin{rcases}\mathrm{C}\\[1ex]\mathrm{D} \end{rcases}\implies \raisebox{0.53\height}{$\begin{rcases}\mathrm{F}\\[1ex]\mathrm{E} \end{rcases}\circlearrowleft$}$}\]%


enter image description here

  • I upvote your answer. Very nice. Why you have added \circlearrowleft?
    – Sebastiano
    Apr 13, 2018 at 10:17
  • 3
    That's because I thought it wasn't a G but a circled arrow. Not too sure, though, as it's hand written…
    – Bernard
    Apr 13, 2018 at 10:20
\documentclass[border = 5pt]{standalone}



  my node/.style={font = \relsize{30}},
  brace/.style={decoration = {brace, raise = 5pt}, decorate},
  dblarrow/.style={thick, decoration={markings, mark = at position
      1 with {\arrow[semithick]{open triangle 60}}},
    double distance=1.4pt, shorten >= 5.5pt,
    preaction = {decorate},
    postaction = {draw,line width=1.4pt, white,shorten >= 4.5pt}}

  \node[my node] (A) {A};
  \node[my node, below = of A] (B) {B};
  \draw[brace] (A.north east) -- node[midway, outer sep = 10pt] (AB) {} (B.south east);

  \node[my node, right = of AB] (C) {C};
  \node[my node, below = of C] (D) {D};
  \draw[dblarrow] (AB.east) -- (C.west); 
  \draw[brace] (C.north east) -- node[midway, outer sep = 10pt] (CD) {} (D.south east);

  \node[my node, right = of CD] (E) {E};
  \node[my node, above = of E] (F) {F};
  \draw[dblarrow] (CD.east) -- (E.west); 
  \draw[brace] (F.north east) -- node[midway] (FE) {} (E.south east);

  \node[my node, right = of FE] (G) {G};


enter image description here

  • +1 very nice code. I don't like the arrows. :(
    – Sebastiano
    Apr 13, 2018 at 10:15
  • 1
    @Sebastiano My apologies for that
    – caverac
    Apr 13, 2018 at 12:06

While it's certainly feasible to use a matrix/table to accomplish what you are trying to do, I'd suggest to have a look at Graphviz.

It uses a textual representation of the relationship of your items and produces a nice looking graph that you can export to PDF (and include as image).

http://graphviz.org/_pages/Gallery/directed/cluster.png enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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