Pgfgantt 向后不兼容

Pgfgantt 向后不兼容

我刚刚安装了 TeXLive 2013 以支持 TeXLive 2012,但它似乎与 中的里程碑呈现方式存在向后不兼容pgfgantt。在 TeXLive 2012 中,我的甘特图代码呈现如下:

在此处输入图片描述

然而,在 TeXLive 2013 中,修复了一些明显不推荐使用的属性(例如milestone width)之后,它被呈现如下:

在此处输入图片描述

我更喜欢原来的里程碑标志,但我不知道如何恢复原来的里程碑风格。有人知道怎么做吗?

代码本质上是:(我把它精简为 MWE)

\documentclass{standalone}

\usepackage{tikz}
\usepackage{pgfgantt}

\begin{document}
\begin{ganttchart}[inline,vgrid]{1}{17}
  \gantttitlelist{1,...,17}{1} \\
  \ganttbar{$(1,2)$}{1}{15} 
  \ganttbar{$(1,3)$}{1}{10} 
  \ganttbar{$(4,6)$}{11}{13}
  \ganttbar{$(1,4)$}{1}{8}
  \ganttbar{$(4,5)$}{9}{14} \\
  \ganttmilestone{$1$}{0}
  \ganttmilestone{$4$}{8}
  \ganttmilestone{$2$}{15}
\end{ganttchart}
\end{document}

答案1

仅供参考,这是您的 MWE 生成的:

使用 TexLive 2012 (使用pgfgantt 2012/01/25 v3.0) 进行编译:

2012

使用 TexLive 2013 (使用pgfgantt 2013/06/01 v4.0) 进行编译:

在此处输入图片描述

如您所见,里程碑的形状相同,显然唯一的区别是背景网格。因此,要么您之前的 pgfgantt 版本更旧,要么您过度减少了 MWE 并删除了一些影响里程碑形状的代码。

无论如何,我比较了两个版本的代码pgfgantt.sty,发现它完全改变了处理这些形状的方式。在新版本中,创建了适当的 tikz 节点形状,并通过 pgf 键管理许多微小的细节。

使用这些键,您只需在序言中添加以下内容即可恢复以前的里程碑:

 \pgfkeys{
   /pgfgantt/milestone inline label node/.style={
       shape=rectangle, draw=black, fill=white, anchor=north
       }
 }

并得到:

结果

相关内容