pgfgantt 中的里程碑纵横比是否根据单位进行了调整?

pgfgantt 中的里程碑纵横比是否根据单位进行了调整?

因此:我创建了一个甘特图,pgfgantt其中为了适合我的页面,我包含了

x unit=1.4cm,y unit chart=6mm

在其序言中。这意味着里程碑形状水平展开。如何更改甘特图的垂直和水平单位,而不会影响里程碑等元素的纵横比?

答案1

如果我理解正确的话,您可以使用 来xscale调整纵横比。例如:

\begin{ganttchart}[
  x unit=1.4cm,
  y unit chart=6mm,
  milestone/.append style={xscale=0.42857} % 0.6/1.4 ≈ 0.42857
]{1}{12}

答案2

作为我遇到类似问题的帖子已关闭,我在此发布我的解决方案。

如果您的图表元素(例如里程碑)由于图表的大小而倾斜(很可能是由于使用键expand chart=\textwidth),并且您希望它们是等边的,则可以使用\newganttchartelement*宏创建一个新的图表元素(请参阅第节2.8)。

例如,要定义等边菱形图表元素,新图表元素的定义应为:

\newganttchartelement*{equalateralmilestone}{
  equalateralmilestone/.style={
    shape=diamond,
    draw,
    fill=black,
  },
  equalateralmilestone label font=\slshape,
  equalateralmilestone left shift=1.0,
  equalateralmilestone right shift=-1.0,
}

使用新的图表项,您现在可以将其插入到甘特图中,布局如下:

\begin{ganttchart}[expand chart=1.0\textwidth]{1}{10}
  \ganttbar{Task}{1}{7} \\
  \ganttequalateralmilestone{Milestone}{9}
\end{ganttchart}

输出结果如下:

等边菱形甘特图

相关内容