Skip to main content

Latex Tutorial: How to Create Images, Diagrams, and Flow Charts Using Latex

This tutorial is an extension of previous video tutorial on how to use tikz for image creation in Latex. In this video I explain how to set up your document for flow chat design. This equally applies to any other image that uses similar structure.

Specifically, in this video I talk about following things:
  1. How to create a flow chart
  2. How to setup styles for reusable components of an image
  3. How to draw arrows from one component to other
  4. How to change the styles of components
  5. How to change the arrowhead for Latex arrows
  6. How to align components left, right, top, and below of each other

The code use:d in the video is here:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,shadows,arrows}
\begin{document}
\tikzstyle{decision} = [diamond, draw, fill=blue!50]
\tikzstyle{line} = [draw, -stealth, thick]
\tikzstyle{elli}=[draw, ellipse, fill=red!50,minimum height=8mm, text width=5em, text centered]
\tikzstyle{block} = [draw, rectangle, fill=blue!50, text width=8em, text centered, minimum height=15mm, node distance=10em]
\begin{tikzpicture}
\node [block] (start) {Start};
\node [block, left of=start, xshift=-5em] (process1) {Process 1};
\node [elli, above of=start, yshift=5em] (user) {user};
\node [block, right of=start, xshift=5em] (process2) {Process 2};
\node[decision, below of=start, yshift=-5em](decision1){Process 1?};
%arrows
\path [line] (user) -- (start);
\path [line] (start) -- (decision1);
\path [line] (decision1) -| node[yshift=0.5em, xshift=10em] {yes} (process1);
\path [line] (decision1) -| node[yshift=0.5em, xshift=-10em] {no} (process2);
\end{tikzpicture}
\end{document}
The image produced by this code is :

The explanation of this code is given in the tutorial as we develop this code:


Comments

  1. Dear Dinwal,

    currently working on master thesis and as a fresher in Latex, I've already profitted a lot from your youtube tutorials. Now, I have a question which has not been answered on your blog. It's about how to generate nice graphs/diagrams from time series data driectly. In my case for example, I want to plot imports and exports of a particular country in one graph (lines, as e.g. could be obtained by using excel graphs/diagrams)from say 1990 until 2011.
    I'd appreciate a lot if you could help me out!

    Many greetings,

    Johanna

    ReplyDelete
  2. Hi!
    Thank you for a great video tutorial, you saved my day! :) I have a small question concerning the text inside the nodes. How do you make a line shift inside the nodes? I have a very simple vertical flow chart, and inside each node there is a short "heading" (e.g. Centrifugation), and I would like to have the specifications underneath (e.g. 10 minutes, 5000 rpm, 50 ml tubes) so it appears something like this:

    CENTRIFUGATION
    - 10 minutes
    - 5000 rpm
    - 50 ml tubes

    I have tried using \itemize and just \\ inside the node, but it does not work and all the text is still in one line like this "Centrifugation 10 minutes 5000 rpm 50 ml tubes."

    I would greatly appreciate your help. Thanks in advance!

    Best regards,

    Kate

    ReplyDelete
    Replies
    1. I think it should work if you put the \newline command between each of those words.

      Delete
  3. Is there a maximum number of nodes one can have in a vertical flowsheet? On my 7th box I get this error:! Undefined control sequence.
    l.284 \node

    All the other boxes above are ok, but everything stops by adding this extra node! Any tips?

    Thanks :)

    ReplyDelete
  4. Thanks for the tutorial. A nice addition would be a quick discussion of how to make a loop, ie, how to place an invisible node in the middle of an arrow.

    ReplyDelete

Post a Comment

Comments on QuickLatex are strictly moderated. As much as I hate moderation, I must fight spam. Please rest assured that if your comment is relevant I will approve it and answer.

Popular posts from this blog

Writing basic math in LaTeX - inline math and math environment

Internet abounds with LaTex tutorials on how to write mathematics equations and simple symbols in LaTeX. It is sometimes not clear as to how the math environment works in general and how to differntiate between inline math equations and how to write them on a line of their own. I earlier did a tutorial on how to write mathematical equations using Latex  which covered the "equation" environment in LaTeX. Math environment is equally important and in this tutorial I am going to talk about how to use basic math environment in LaTeX. Specifically, I am going to discuss how to do the following in LaTeX: How to initiate Math environment Writing inline math equations and writing equations in a separate line How to use frac for equations How to use paranthesis and brackets to enclose mathematical symbols and equations How to type powers and indices How to write matrices Following video illustrates the step by step instructions to use math in LaTeX   The code used in

LaTeX Video Tutorial: How to Create a Resume or CV (Curriculum Vitae) using LaTeX

One of the most frequent questions my colleagues ask me is how to create a Resume or Curriculum Vitae (CV), if you will, in LaTeX . I have a style file that was passed to me by a friend who found it on Internet. Since this looked good I used it and, thanks to the original contributor, I am going to share it with you all today. You will be able to download these files and create a professional Resume for yourself.  The files can be download from the linked locations: The Resume.tex file (main document) The Class file res.cls (for page setting) In the video tutorial , attached below, I have explained how to change the text for your needs. The structure of the Resume (or CV) is highly flexible and once you get hold of the basics it will be pretty straight forward for you to tweak it for your own use.  I have tried to add the basic sections that are present in most of the Resumes but you will most probably add more depending on your requirements. I am pretty sure it