Selection_004而「新甘特图」长这样 (by Google Doc 电子表格):Selection_005简单来说,就是把进度表「压缩」成一列。(如果进度之间有重迭,再画成 2 列) 老实说,当我第一次看到朋友努力的用 Google 电子表格画这样的图时,差点晕倒。因为电子表格根本不是拿来这样用的!而且他们不仅是只有3种进度,而是有12种进度,每种进度还要赋予不同的颜色, 光选正确的颜色就可以让你花掉一些时间了。而且一个人手上也不仅只有 1 个案件,可能会多达 5~6 个案件。而且几乎是2~3天就会修订一次进度。我很难想象光是在那边改颜色、调整表格大小,要花掉多少的时间?(而且重点是:新图会比甘特图易懂吗?) 后来,我想到了是否可以用 LaTeX 来绘制这种 非正规甘特图?(我不敢称为「新甘特图」,因为这种图看起来并没有比甘特图更好) 当然,首先要先看看能否画出正规的甘特图。搜寻了一下 TeX 的套件库,果然找到了一个套件: pgfgantt . 这个套件可以支持画出正规的甘特图。我尝试的照着说明文件的范例在 LyX 里执行,果然可以。而且是只用 pdflatex 编译方式就可以了! (还有另外一个套件 pst-gantt 的套件也是可以画甘特图, 但是我稍微比较一下效果,感觉 pgfgantt 比较好用,所以就选择 pgfgantt 了) 为了推广给朋友用,我改为撰写纯文本的 .tex 档案,这样以后也比较好教他如何修改纯文本文件就好了。而不用再安装 LyX 了。 先按照说明文件的范例,画出正规的甘特图。

%% 此程序为范例测试程序
%% 作者: Mingyi Wu
%% 日期: 2013/8/23

\documentclass[a4paper,landscape]{article}
\usepackage{CJKutf8}
\usepackage{clock}
\usepackage{pgfgantt}

\begin{document}
\begin{CJK}{UTF8}{bsmi}%

\begin{ganttchart}[
time slot format=isodate, %使用 yyyy-m-d 的格式
x unit = 6.5mm
]%
{2013-8-20}{2013-9-7} % 整个图的 起始日期, 结束日期

% 产生 Gantt 图的日历表头
\gantttitlecalendar{year, month=name, day, weekday=shortname} \\

\ganttgroup{A案件}{2013-8-23}{2013-9-5} \\
\ganttbar{进度1}{2013-8-23}{2013-8-27} \\
\ganttlinkedbar{进度2}{2013-8-28}{2013-8-30} \ganttnewline
\ganttbar{进度3}{2013-9-2}{2013-9-5}
\ganttlink{elem2}{elem3}
\end{ganttchart}

\end{CJK}
\end{document}

输出结果如下图。很简单的一张图,该有的元素都有了。Selection_006要画出非正规的甘特图,需要修改3个地方: 首先,先移除掉联机,而且将 3 个进度排在同一列。这步骤很简单,只需要使用一般的 \ganttbar  命令就好,不要用带有链接线线功能的 \ganttlinkedbar  或 \ganttlink  命令。 画完一个进度,不需要换行,因此「进度2」就会排在「进度1」的右侧。换行的指令是两个反斜杠「\\」或是 \ganttnewline  指令,不需要换行的地方就删掉。 「进度n」的标示,要标示在框线内,因此要加入 inline 的选项: \ganttbar[inline]  。 也因此主要绘制的命令修改为:

\ganttgroup{A案件}{2013-8-23}{2013-9-5} \\
\ganttbar[inline]{进度1}{2013-8-23}{2013-8-27}
\ganttbar[inline]{进度2}{2013-8-28}{2013-8-30}
\ganttbar[inline]{进度3}{2013-9-2}{2013-9-5}

再排版一次,结果果然出现我所希望的非正规甘特图的模样了。Selection_007剩下的,就只是调整美化的工作了,例如把 title bar, gantt bar 加高,画出直线,周末直线变红色,设定不同进度有不同的颜色,把一些英文的叙述变中文等等。 这部份太琐碎,而且说明文件中也已经写的很清楚,我就不详述了。 总之,奋战了一阵子微调程序代码之后,终于出现了稍微好看一点的结果。Selection_008我将程序代码 copy 到 Windows 上,在 Windows 上安装最简易版的 MikTeX (不足的套件设定为自动下载安装),编译,一样成功输出 PDF 文件。 不过呢,最后朋友觉得改程序代码很麻烦,所以还是回去用 Google Doc 的电子表格了。 Orz... 但我还是学到了如何使用 pgfgantt 这个套件,在此做个纪录,以后有需要用 LaTeX 画甘特图的时候,就可以马上拿出来用了!

下载区

本站下载:Gantt选自:http://latexlyx.blogspot.jp/2013/08/latex.html

点赞(1)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部