84

I need a package to draw a Gantt chart in LaTeX, the primary criteria is just: ease of use. I am spending too much time learning "packages" here and there, this just needs to get a simple job done. I might be interested to know which ones are "better" for later reference, include them if you like, but for now... quick and dirty is golden.

3
  • 13
    I think you should have a look to the pgfgantt package. Jul 19, 2012 at 9:01
  • Surely there is a package for that (there is always a package! :-)) but just in case you find it useful, I did a quick&dirty solution via tikz long time ago, when I was learning TikZ. I published it in a (now abandoned) wiki at jldiaz.wikidot.com/en-tikz-example:gantt
    – JLDiaz
    Jul 19, 2012 at 9:01
  • searching ctan returns versions using metapost, pstricks and pgf, as well as a latex contrib package rtsched; i've not used any of them (i'm just the guy who writes the catalogue). ... so @claudio -- there isn't a package, there are several ;-) Jul 19, 2012 at 9:10

1 Answer 1

85

Like Claudio, I suggest you to use the pgfGantt package, which I find quite simple, and whose documentation is quite clear.

Here is a MWE, with custom label, progress bar and relations:

\documentclass{article}
\usepackage{pgfgantt}

\begin{document}
\begin{figure}[tbp]
    \begin{center}
    
    \begin{ganttchart}[y unit title=0.4cm,
    y unit chart=0.5cm,
    vgrid,hgrid, 
    title label anchor/.style={below=-1.6ex},
    title left shift=.05,
    title right shift=-.05,
    title height=1,
    progress label text={},
    bar height=0.7,
    group right shift=0,
    group top shift=.6,
    group height=.3]{1}{24}
    %labels
    \gantttitle{Week}{24} \\
    \gantttitle{Monday}{4} 
    \gantttitle{Tuesday}{4} 
    \gantttitle{Wednesday}{4} 
    \gantttitle{Thursday}{4} 
    \gantttitle{Friday}{4} 
    \gantttitle{Saturday}{4} \\
    %tasks
    \ganttbar{first task}{1}{2} \\
    \ganttbar{task 2}{3}{8} \\
    \ganttbar{task 3}{9}{10} \\
    \ganttbar{task 4}{11}{15} \\
    \ganttbar[progress=33]{task 5}{20}{22} \\
    \ganttbar{task 6}{18}{19} \\
    \ganttbar{task 7}{16}{18} \\
    \ganttbar[progress=0]{task 8}{21}{24}
    
    %relations 
    \ganttlink{elem0}{elem1} 
    \ganttlink{elem0}{elem3} 
    \ganttlink{elem1}{elem2} 
    \ganttlink{elem3}{elem4} 
    \ganttlink{elem1}{elem5} 
    \ganttlink{elem3}{elem5} 
    \ganttlink{elem2}{elem6} 
    \ganttlink{elem3}{elem6} 
    \ganttlink{elem5}{elem7} 
    \end{ganttchart}
    \end{center}
    \caption{Gantt Chart}

\end{figure}
\end{document}

example of Gantt chart output

4
  • 28
    This version yields several errors with me, I think because you're not using the current version (pgfgantt v4.0) which - as the documentation says - is not fully backwards compatible. The example from the documentation works fine (section 2.1 on page 3).
    – Joker
    Aug 8, 2013 at 13:59
  • 1
    @Alan Munn want to reproduce the code for my PhD Thesis Time Schedule. tex.stackexchange.com/questions/185865/…
    – Micky K
    Jun 21, 2014 at 6:36
  • 3
    @Joker Here is the fix. It should be included in this answer: tex.stackexchange.com/questions/587422/…
    – luchonacho
    Apr 13, 2021 at 3:01
  • I've updated the code in this answer.
    – Paul Wintz
    May 7, 2023 at 21:36

You must log in to answer this question.

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