我在 MikTeX(均为最新版本)中使用 pgfgantt,运行良好。
在我的甘特图中,我有三个标题行:第一年、第二个月和项目月份下方。
我想将文本放在project month
最后一个标题行中,就像 生成的标题一样对齐ganttbar
。
为了更好地理解,这里有一个 mwe(好的,进度问题可以进一步消除)
\documentclass{standalone}
\usepackage{pgfgantt}
\begin{document}
\begin{ganttchart}[vgrid={draw=none,dotted,draw=none},%
today=15,%
today offset=.5,%
today label=Heute,%
progress=today,%
bar incomplete/.append style={fill=red},%
progress label text={\quad\pgfmathprintnumber[precision=0,verbatim]{#1}\%}%
]{1}{36}
\gantttitlecalendar*[compress calendar,time slot format=isodate]{2012-5-1}{2015-4-30}{year, month} \\
\gantttitlelist{1,...,36}{1}\\
\ganttbar{Arbeitspaket 1}{1}{4}\\
\ganttbar{Arbeitspaket 2}{3}{24}\\
\ganttbar{Arbeitspaket 3}{17}{36}\\
\end{ganttchart}
\end{document}
以及相应的结果:
答案1
奇怪的是,这个问题之前没有人回答过。我想你现在已经完成了那个项目,但也许你或其他人对解决方案感兴趣。
我对 不是很熟悉pgfgantt
,所以这个解决方案虽然有效,但不太优雅。对您的代码进行了三处修改:
tikzpicture
在环境周围添加环境pgfgantt
。- 为画布提供一个节点名称,并将
canvas/.append style={name=mycanvas}
其添加到图表选项中。 - 放置一个新节点,其中的文本与
project month
画布节点的左上角相关。这需要反复试验才能找到合适的值。
\documentclass{standalone}
\usepackage{pgfgantt}
\begin{document}
\begin{tikzpicture}
\begin{ganttchart}[vgrid={draw=none,dotted,draw=none},%
today=15,%
today offset=.5,%
today label=Heute,%
progress=today,%
bar incomplete/.append style={fill=red},%
progress label text={\quad\pgfmathprintnumber[precision=0,verbatim]{#1}\%},
canvas/.append style={name=mycanvas}
]{1}{36}
\gantttitlecalendar*[compress calendar,time slot format=isodate]{2012-5-1}{2015-4-30}{year, month} \\
\gantttitlelist{1,...,36}{1}\\
\ganttbar{Arbeitspaket 1}{1}{4}\\
\ganttbar{Arbeitspaket 2}{3}{24}\\
\ganttbar{Arbeitspaket 3}{17}{36}\\
\end{ganttchart}
\node [left] at ([yshift=-2.3cm]mycanvas.north west) {Project month};
\end{tikzpicture}
\end{document}