emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Code for feature for showing progress in lisp code for creation of Gantt charts
@ 2012-05-24 15:00 julia.jacobson
  2012-05-24 21:10 ` John Hendy
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: julia.jacobson @ 2012-05-24 15:00 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 654 bytes --]

Hello everybody out there using Org-mode,

Some time ago, Eric Fraga had posted a script for generating Gantt charts directly out of Org-mode which is very helpful.
Some project management software allows to follow the progress of tasks by staining a proportional part of the rectangle for a certain task in relation to its completion percentage in green and the rest in red.
This allows easier evaluation of a project's current status.
I added this feature to Eric Fraga's code and would like to post it here for discussion. It would be great if it could be somehow added to Org-mode.

Thank you for making Org-mode such a good piece of software,
Julia

[-- Attachment #2: pro_prog.org --]
[-- Type: application/octet-stream, Size: 7551 bytes --]

#+TITLE:     Gantt charts with progress status
#+AUTHOR:    Julia Jacobson
#+EMAIL:     julia.jacobson@arcor.de
#+DATE:      \today
#+LASTCHANGE:      2012.05.23 21:08:08
#+DESCRIPTION: 
#+KEYWORDS: 
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+LINK_UP:   
#+LINK_HOME: 

#+latex_header: \usepackage{pgf, pgfarrows, pgfnodes}
#+latex_header: \usepackage{tikz}

#+latex_header: \newcommand\ganttline[4]{% line, tag, start end
#+latex_header:   \node at (0,#1) [anchor=base east] {#2};
#+latex_header:   \fill[black!20!white] (#3/20,#1-.2) rectangle (#4/20,#1+.2);}

* Table of tasks and milestones   :noexport:

  One additional column where for the progress of a task in percent is added to the original table.

#+tblname: gantttesttable
    |    | type      |   label | activity                      | depends | start | duration | end | align | progress |
    |----+-----------+---------+-------------------------------+---------+-------+----------+-----+-------+----------|
    |  1 | date      |   Start |                               |         |     0 |          |   0 |       |          |
    |  2 | task      |     1.1 | Lit        survey             |         |     0 |        2 |   2 | right |       75 |
    |  3 | task      |     1.2 | experiments                   |         |     2 |        6 |   8 |       |       40 |
    |  4 | milestone |      M1 | data collected                |       3 |     8 |          |   8 |       |          |
    |  5 | task      |     1.3 | Report                        |       3 |     8 |        6 |  14 |       |       30 |
    |  6 | date      | 6 weeks |                               |         |    14 |          |  14 |       |          |
    |  7 | milestone |      M2 | Release                       |       5 |    14 |          |  14 |       |          |
    |----+-----------+---------+-------------------------------+---------+-------+----------+-----+-------+----------|
    |  8 | task      |     2.1 | Discuss                       |       5 |    14 |        1 |  15 | left  |       90 |
    |  9 | task      |     2.2 | Correct mistakes              |       8 |    15 |        1 |  16 | left  |       10 |
    | 10 | task      |     2.3 | Add feedback                  |       5 |    14 |        2 |  16 | left  |       50 |
    | 11 | date      |     End |                               |         |    16 |          |  16 |       |          |
    |----+-----------+---------+-------------------------------+---------+-------+----------+-----+-------+----------|
    #+TBLFM: address@hidden::$8=$6+$7::@address@hidden::@address@hidden::@address@hidden::@address@hidden::@address@hidden


* lisp code for creating latex that uses above   :noexport:
#+source: elispgantt
#+begin_src emacs-lisp :var table=gantttesttable :results raw :export results
(defun esf/generate-gantt-chart (table)
  (let ((dates "")
	(entries (nthcdr 2 table))
	(milestones "")
	(nmilestones 0)
	(ntasks 0)
	(projecttime 0)
	(tasks "")
	(xlength 1)
	(progress 1)
	)
    (message "Initial: %s\n" table)
    (message "Entries: %s\n" entries)
    (while entries
      (let ((entry (first entries)))
	(if (listp entry)
	    (let ((id (first entry))
		  (type (nth 1 entry))
		  (label (nth 2 entry))
		  (task (nth 3 entry))
		  (dependencies (nth 4 entry))
		  (start (nth 5 entry))
		  (duration (nth 6 entry))
		  (end (nth 7 entry))
		  (alignment (nth 8 entry))
		  (progress (nth 9 entry))
		  )
	      (if (> start projecttime) (setq projecttime start))
	      (if (string= type "task")
		  (let ((end (+ start duration))
			(textposition (+ start (/ duration 2)))
			(flush "")
			)
		    (if (string= alignment "left")
			(progn
			  (setq textposition start)
			  (setq flush "[left]"))
		      (if (string= alignment "right")
			  (progn
			    (setq textposition end)
			    (setq flush "[right]"))
			)
		      )
		    (setq tasks (format "%s  \\gantttask{%s}{%s}{%d}{%d}{%d}{%s}{%d}\n" tasks label task start end textposition flush progress))
		    (setq ntasks (+ 1 ntasks))
		    (if (> end projecttime)
			(setq projecttime end))
		    )
		(if (string= type "milestone")
		    (progn
		      (setq milestones (format "%s  \\ganttmilestone{$\\begin{array}{c}\\mbox{%s}\\\\ \\mbox{%s}\\end{array}$}{%d}\n" milestones label task start))
		      (setq nmilestones (+ 1 nmilestones)))
		  (if (string= type "date")
		      (setq dates (format "%s  \\ganttdateline{%s}{%d}\n" dates label start))
		    (message "Ignoring entry with type %s\n" type)
		    )
		  )
		)
	      )
	  (message "Ignoring non-list entry %s\n" entry)
	  ) ; end if list entry
	(setq entries (cdr entries))
	)
      ) ; end while entries left
    (format "#+begin_latex
\\pgfdeclarelayer{background}
\\pgfdeclarelayer{foreground}
\\pgfsetlayers{background,foreground}
\\renewcommand{\\ganttprojecttime}{%d}
\\renewcommand{\\ganttntasks}{%d}
\\noindent
\\begin{tikzpicture}[y=-0.75cm,x=0.75\\textwidth]
  \\begin{pgfonlayer}{background}
    \\draw[very thin, red!10!white] (0,1+\\ganttntasks) grid [ystep=0.75cm,xstep=1/\\ganttprojecttime] (1,0);
    \\draw[\\ganttdatelinecolour] (0,0) -- (1,0);
    \\draw[\\ganttdatelinecolour] (0,1+\\ganttntasks) -- (1,1+\\ganttntasks);
  \\end{pgfonlayer}
%s
%s
%s
\\end{tikzpicture}
,#+end_latex\n" projecttime ntasks tasks milestones dates)
    )
  )
(esf/generate-gantt-chart table)
#+end_src

* Time line

#+latex_header: \usepackage{tikz}

#+begin_latex
\newcounter{gantttask}
\newcommand{\gantttaskcol}{blue!50!white}
\newcommand{\gantttaskcolour}{yellow!50!white}
\newcommand{\ganttmilestonecolour}{red!50!white}
\newcommand{\ganttdatelinecolour}{black!50!white}
\newcommand{\ganttprojecttime}{1}
\newcommand{\ganttntasks}{1}
\newcommand\gantttask[7]{% label, activity, start, end, labelpos, align
  \begin{pgfonlayer}{foreground}
    % \node at (0,\thegantttask) [anchor=base east] {#2};
    \stepcounter{gantttask}
    \node [left] at (0,\thegantttask) {#1};
    \draw[fill=\gantttaskcol] (#3/\ganttprojecttime,\thegantttask-0.4) rectangle (#3/\ganttprojecttime + #7/100 * #4/\ganttprojecttime - #7/100 * #3/\ganttprojecttime,\thegantttask +0.4);
    \draw[fill=\gantttaskcolour] (#3/\ganttprojecttime + #7/100 * #4/\ganttprojecttime - #7/100 * #3/\ganttprojecttime,\thegantttask-0.4) rectangle (#4/\ganttprojecttime,\thegantttask +0.4);
    \node at (#5/\ganttprojecttime,\thegantttask) #6 {#2};
  \end{pgfonlayer}
}
\newcommand\ganttpoint[3]{% line, tag, date
  \node at (0,#1) [anchor=base east] {#2};
  \fill[black] (#3/\ganttprojecttime,#1) circle (0.1/\ganttprojecttime);
}
\newcommand\ganttdateline[2]{% tag, date
  \begin{pgfonlayer}{background}
    \draw[\ganttdatelinecolour] (#2/\ganttprojecttime,0) -- (#2/\ganttprojecttime,\thegantttask+1);
    \node at (#2/\ganttprojecttime,0) [above] {#1};
  \end{pgfonlayer}
}
\newcommand\ganttmilestone[2]{% tag, date
  \begin{pgfonlayer}{foreground}
    \node at (#2/\ganttprojecttime,\thegantttask+1.0) [below] {#1};
    \draw[black,fill=\ganttmilestonecolour] (#2/\ganttprojecttime-0.1\ganttntasks/\ganttprojecttime,\thegantttask+0.9) rectangle (#2/\ganttprojecttime+0.1\ganttntasks/\ganttprojecttime,\thegantttask+1.1);
  \end{pgfonlayer}
}

#+END_LaTeX


#+   \\draw[help lines, very thin, red!20!white] (0,%s) grid (\\ganttprojecttime,0);

# <<actions>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Code for feature for showing progress in lisp code for creation of Gantt charts
  2012-05-24 15:00 Code for feature for showing progress in lisp code for creation of Gantt charts julia.jacobson
@ 2012-05-24 21:10 ` John Hendy
  2012-05-25  7:49 ` julia.jacobson
  2012-08-04  8:01 ` Bastien
  2 siblings, 0 replies; 6+ messages in thread
From: John Hendy @ 2012-05-24 21:10 UTC (permalink / raw)
  To: julia.jacobson; +Cc: emacs-orgmode

On Thu, May 24, 2012 at 10:00 AM,  <julia.jacobson@arcor.de> wrote:
> Hello everybody out there using Org-mode,
>
> Some time ago, Eric Fraga had posted a script for generating Gantt charts directly out of Org-mode which is very helpful.
> Some project management software allows to follow the progress of tasks by staining a proportional part of the rectangle for a certain task in relation to its completion percentage in green and the rest in red.
> This allows easier evaluation of a project's current status.
> I added this feature to Eric Fraga's code and would like to post it here for discussion. It would be great if it could be somehow added to Org-mode.

I can't seem to get this to compile. I assumed I was to C-c C-c on the
elisp source block, which appears to have run, though this is in
*Messages* buffer:

----------
executing Emacs-Lisp code block...

(table (quote (("" "type" "label" "activity" "depends" "start"
"duration" "end" "align" "progress") hline (1 "date" "Start" "" "" 0
"" 0 "" "") (2 "task" 1.1 "Lit        survey" "" 0 2 2 "right" 75) (3
"task" 1.2 "experiments" "" 2 6 8 "" 40) (4 "milestone" "M1" "data
collected" 3 8 "" 8 "" "") (5 "task" 1.3 "Report" 3 8 6 14 "" 30) (6
"date" "6 weeks" "" "" 14 "" 14 "" "") (7 "milestone" "M2" "Release" 5
14 "" 14 "" "") hline (8 "task" 2.1 "Discuss" 5 14 1 15 "left" 90) (9
"task" 2.2 "Correct mistakes" 8 15 1 16 "left" 10) (10 "task" 2.3 "Add
feedback" 5 14 2 16 "left" 50) (11 "date" "End" "" "" 16 "" 16 "" "")
hline)))

Initial: (( type label activity depends start duration end align
progress) hline (1 date Start   0  0  ) (2 task 1.1 Lit        survey
0 2 2 right 75) (3 task 1.2 experiments  2 6 8  40) (4 milestone M1
data collected 3 8  8  ) (5 task 1.3 Report 3 8 6 14  30) (6 date 6
weeks   14  14  ) (7 milestone M2 Release 5 14  14  ) hline (8 task
2.1 Discuss 5 14 1 15 left 90) (9 task 2.2 Correct mistakes 8 15 1 16
left 10) (10 task 2.3 Add feedback 5 14 2 16 left 50) (11 date End
16  16  ) hline)

Entries: ((1 date Start   0  0  ) (2 task 1.1 Lit        survey  0 2 2
right 75) (3 task 1.2 experiments  2 6 8  40) (4 milestone M1 data
collected 3 8  8  ) (5 task 1.3 Report 3 8 6 14  30) (6 date 6 weeks
14  14  ) (7 milestone M2 Release 5 14  14  ) hline (8 task 2.1
Discuss 5 14 1 15 left 90) (9 task 2.2 Correct mistakes 8 15 1 16 left
10) (10 task 2.3 Add feedback 5 14 2 16 left 50) (11 date End   16  16
 ) hline)

Ignoring non-list entry hline

Ignoring non-list entry hline

Code block evaluation complete.
----------

Then I used export to PDF via the normal method =C-d p= but just get a
blank PDF with a title, your name, and first section, "Time line."

I checked and do have emacs-lisp enabled in my babel section.

Suggestions?


John

>
> Thank you for making Org-mode such a good piece of software,
> Julia

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Code for feature for showing progress in lisp code for creation of Gantt charts
  2012-05-24 15:00 Code for feature for showing progress in lisp code for creation of Gantt charts julia.jacobson
  2012-05-24 21:10 ` John Hendy
@ 2012-05-25  7:49 ` julia.jacobson
  2012-05-25 13:21   ` John Hendy
  2012-05-27  8:37   ` Sean O'Halpin
  2012-08-04  8:01 ` Bastien
  2 siblings, 2 replies; 6+ messages in thread
From: julia.jacobson @ 2012-05-25  7:49 UTC (permalink / raw)
  To: jw.hendy; +Cc: emacs-orgmode

> I can't seem to get this to compile. I assumed I was to C-c C-c on the
> elisp source block, which appears to have run, though this is in
> *Messages* buffer:
> 
> ----------
> executing Emacs-Lisp code block...
> 
> (table (quote (("" "type" "label" "activity" "depends" "start"
> "duration" "end" "align" "progress") hline (1 "date" "Start" "" "" 0
> "" 0 "" "") (2 "task" 1.1 "Lit        survey" "" 0 2 2 "right" 75) (3
> "task" 1.2 "experiments" "" 2 6 8 "" 40) (4 "milestone" "M1" "data
> collected" 3 8 "" 8 "" "") (5 "task" 1.3 "Report" 3 8 6 14 "" 30) (6
> "date" "6 weeks" "" "" 14 "" 14 "" "") (7 "milestone" "M2" "Release" 5
> 14 "" 14 "" "") hline (8 "task" 2.1 "Discuss" 5 14 1 15 "left" 90) (9
> "task" 2.2 "Correct mistakes" 8 15 1 16 "left" 10) (10 "task" 2.3 "Add
> feedback" 5 14 2 16 "left" 50) (11 "date" "End" "" "" 16 "" 16 "" "")
> hline)))
> 
> Initial: (( type label activity depends start duration end align
> progress) hline (1 date Start   0  0  ) (2 task 1.1 Lit        survey
> 0 2 2 right 75) (3 task 1.2 experiments  2 6 8  40) (4 milestone M1
> data collected 3 8  8  ) (5 task 1.3 Report 3 8 6 14  30) (6 date 6
> weeks   14  14  ) (7 milestone M2 Release 5 14  14  ) hline (8 task
> 2.1 Discuss 5 14 1 15 left 90) (9 task 2.2 Correct mistakes 8 15 1 16
> left 10) (10 task 2.3 Add feedback 5 14 2 16 left 50) (11 date End
> 16  16  ) hline)
> 
> Entries: ((1 date Start   0  0  ) (2 task 1.1 Lit        survey  0 2 2
> right 75) (3 task 1.2 experiments  2 6 8  40) (4 milestone M1 data
> collected 3 8  8  ) (5 task 1.3 Report 3 8 6 14  30) (6 date 6 weeks
> 14  14  ) (7 milestone M2 Release 5 14  14  ) hline (8 task 2.1
> Discuss 5 14 1 15 left 90) (9 task 2.2 Correct mistakes 8 15 1 16 left
> 10) (10 task 2.3 Add feedback 5 14 2 16 left 50) (11 date End   16  16
>  ) hline)
> 
> Ignoring non-list entry hline
> 
> Ignoring non-list entry hline
> 
> Code block evaluation complete.
> ----------
> 
> Then I used export to PDF via the normal method =C-d p= but just get a
> blank PDF with a title, your name, and first section, "Time line."
> 
> I checked and do have emacs-lisp enabled in my babel section.
> 
> Suggestions?
> 
> 
> John


Hello John,

Thanks for your answer. The key-combination C-c C-c unfortunately creates the new additional block of code surrounded by the lines 
#+RESULTS:
#+begin_latex
  Here's the created LaTeX code
#+end_latex
right after the lisp function.

This code block has to be moved just before the line beginning with 
#+   \\draw...
to get the order right again.

I tried to include the results of the evaluation of the lisp function there by placing
#+RESULTS: elispgantt
there (because there's a line saying #+source: elispgantt), but for unknown reasons,
the results of code evaluation are always placed just after the elispgantt function.
Any help to fix that is appreciated.

Hopefully you can now compile my example,
Julia

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Code for feature for showing progress in lisp code for creation of Gantt charts
  2012-05-25  7:49 ` julia.jacobson
@ 2012-05-25 13:21   ` John Hendy
  2012-05-27  8:37   ` Sean O'Halpin
  1 sibling, 0 replies; 6+ messages in thread
From: John Hendy @ 2012-05-25 13:21 UTC (permalink / raw)
  To: julia.jacobson; +Cc: emacs-orgmode

On Fri, May 25, 2012 at 2:49 AM,  <julia.jacobson@arcor.de> wrote:
>> I can't seem to get this to compile. I assumed I was to C-c C-c on the
>> elisp source block, which appears to have run, though this is in
>> *Messages* buffer:
>>
>> ----------
>> executing Emacs-Lisp code block...
>>
>> (table (quote (("" "type" "label" "activity" "depends" "start"
>> "duration" "end" "align" "progress") hline (1 "date" "Start" "" "" 0
>> "" 0 "" "") (2 "task" 1.1 "Lit        survey" "" 0 2 2 "right" 75) (3
>> "task" 1.2 "experiments" "" 2 6 8 "" 40) (4 "milestone" "M1" "data
>> collected" 3 8 "" 8 "" "") (5 "task" 1.3 "Report" 3 8 6 14 "" 30) (6
>> "date" "6 weeks" "" "" 14 "" 14 "" "") (7 "milestone" "M2" "Release" 5
>> 14 "" 14 "" "") hline (8 "task" 2.1 "Discuss" 5 14 1 15 "left" 90) (9
>> "task" 2.2 "Correct mistakes" 8 15 1 16 "left" 10) (10 "task" 2.3 "Add
>> feedback" 5 14 2 16 "left" 50) (11 "date" "End" "" "" 16 "" 16 "" "")
>> hline)))
>>
>> Initial: (( type label activity depends start duration end align
>> progress) hline (1 date Start   0  0  ) (2 task 1.1 Lit        survey
>> 0 2 2 right 75) (3 task 1.2 experiments  2 6 8  40) (4 milestone M1
>> data collected 3 8  8  ) (5 task 1.3 Report 3 8 6 14  30) (6 date 6
>> weeks   14  14  ) (7 milestone M2 Release 5 14  14  ) hline (8 task
>> 2.1 Discuss 5 14 1 15 left 90) (9 task 2.2 Correct mistakes 8 15 1 16
>> left 10) (10 task 2.3 Add feedback 5 14 2 16 left 50) (11 date End
>> 16  16  ) hline)
>>
>> Entries: ((1 date Start   0  0  ) (2 task 1.1 Lit        survey  0 2 2
>> right 75) (3 task 1.2 experiments  2 6 8  40) (4 milestone M1 data
>> collected 3 8  8  ) (5 task 1.3 Report 3 8 6 14  30) (6 date 6 weeks
>> 14  14  ) (7 milestone M2 Release 5 14  14  ) hline (8 task 2.1
>> Discuss 5 14 1 15 left 90) (9 task 2.2 Correct mistakes 8 15 1 16 left
>> 10) (10 task 2.3 Add feedback 5 14 2 16 left 50) (11 date End   16  16
>>  ) hline)
>>
>> Ignoring non-list entry hline
>>
>> Ignoring non-list entry hline
>>
>> Code block evaluation complete.
>> ----------
>>
>> Then I used export to PDF via the normal method =C-d p= but just get a
>> blank PDF with a title, your name, and first section, "Time line."
>>
>> I checked and do have emacs-lisp enabled in my babel section.
>>
>> Suggestions?
>>
>>
>> John
>
>
> Hello John,
>
> Thanks for your answer. The key-combination C-c C-c unfortunately creates the new additional block of code surrounded by the lines
> #+RESULTS:
> #+begin_latex
>  Here's the created LaTeX code
> #+end_latex
> right after the lisp function.
>
> This code block has to be moved just before the line beginning with
> #+   \\draw...
> to get the order right again.

Yup. That worked. I missed that results block (though I wouldn't have
known where to put it anyway :) )

>
> I tried to include the results of the evaluation of the lisp function there by placing
> #+RESULTS: elispgantt
> there (because there's a line saying #+source: elispgantt), but for unknown reasons,
> the results of code evaluation are always placed just after the elispgantt function.
> Any help to fix that is appreciated.
>

Really like it! There's got to be a way to put code block results
where one wants. Kind like radio tables or something. I'm also sure
one could figure out how to use only start and one of duration/end.
It's definitely nice for just generating a quick and pleasing gantt
chart.


Thanks for sharing!
John

> Hopefully you can now compile my example,
> Julia

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Code for feature for showing progress in lisp code for creation of Gantt charts
  2012-05-25  7:49 ` julia.jacobson
  2012-05-25 13:21   ` John Hendy
@ 2012-05-27  8:37   ` Sean O'Halpin
  1 sibling, 0 replies; 6+ messages in thread
From: Sean O'Halpin @ 2012-05-27  8:37 UTC (permalink / raw)
  To: julia.jacobson; +Cc: emacs-orgmode

On Fri, May 25, 2012 at 8:49 AM,  <julia.jacobson@arcor.de> wrote:
>
> Thanks for your answer. The key-combination C-c C-c unfortunately creates the new additional block of code surrounded by the lines
> #+RESULTS:
> #+begin_latex
>  Here's the created LaTeX code
> #+end_latex
> right after the lisp function.
>
> This code block has to be moved just before the line beginning with
> #+   \\draw...
> to get the order right again.
>
> I tried to include the results of the evaluation of the lisp function there by placing
> #+RESULTS: elispgantt
> there (because there's a line saying #+source: elispgantt), but for unknown reasons,
> the results of code evaluation are always placed just after the elispgantt function.
> Any help to fix that is appreciated.
>
Use

  #+name: elispgantt

instead of

  #+source: elispgantt

I've tried it with your example and it works. AFAIR #+source was
deprecated a while ago.

Regards,
Sean

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Code for feature for showing progress in lisp code for creation of Gantt charts
  2012-05-24 15:00 Code for feature for showing progress in lisp code for creation of Gantt charts julia.jacobson
  2012-05-24 21:10 ` John Hendy
  2012-05-25  7:49 ` julia.jacobson
@ 2012-08-04  8:01 ` Bastien
  2 siblings, 0 replies; 6+ messages in thread
From: Bastien @ 2012-08-04  8:01 UTC (permalink / raw)
  To: julia.jacobson; +Cc: emacs-orgmode

Hi Julia,

sorry for the more-than-late reply.

julia.jacobson@arcor.de writes:

> Some time ago, Eric Fraga had posted a script for generating Gantt
> charts directly out of Org-mode which is very helpful.

The Elisp part for Eric's Gantt generation tool is bit burried in
the mailing list.  gantt.sty is in Worg[1], but the whole thing 
deserves a better treat... glad you improved it.

> Some project management software allows to follow the progress of tasks by
> staining a proportional part of the rectangle for a certain task in
> relation to its completion percentage in green and the rest in red.
> This allows easier evaluation of a project's current status.
> I added this feature to Eric Fraga's code and would like to post it here
> for discussion. It would be great if it could be somehow added to
> Org-mode.

Nice -- thanks for taking this piece of code further.

Would you help enhancing and packaging it in a more usable way?
What we need is this:

1. an Elisp file with the code, with explanations and comments pointing
   to the gantt.sty code

2. a tutorial on Worg

3. maybe a helper function to easily create a ready-for-gantt.sty table
   (basically with all the columns)

Just some ideas (with no dependancies from one to another...)
If you want write access to Worg, just send me your public key.

Thanks!

Footnotes:

[1] http://orgmode.org/worg/code/latex/gantt.sty

-- 
 Bastien

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-08-04  8:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-24 15:00 Code for feature for showing progress in lisp code for creation of Gantt charts julia.jacobson
2012-05-24 21:10 ` John Hendy
2012-05-25  7:49 ` julia.jacobson
2012-05-25 13:21   ` John Hendy
2012-05-27  8:37   ` Sean O'Halpin
2012-08-04  8:01 ` Bastien

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).