pgfgant 里程碑水平位置

pgfgant 里程碑水平位置

如果pgfgantt以标准方式使用包,里程碑的水平位置位于“月份”列之间。是否可以让它出现在“月份”列上?我想避免上个月的里程碑跨越图表边界的奇怪情况,并强调将要做的事情期间某个月在最后的。

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfgantt}

\begin{document}
\begin{ganttchart}[
vgrid,
hgrid,
]{1}{12}
\gantttitle{Title}{12} \\
\ganttbar{Task 1}{1}{4} \\
\ganttmilestone{M 1}{12} \\
\end{ganttchart}
\end{document}

答案1

您可以使用east锚点(也可能是xshift)作为milestone样式:

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfgantt}

\begin{document}
\begin{ganttchart}[
vgrid,
hgrid,
milestone/.append style={anchor=east,xshift=-1pt},
]{1}{12}
\gantttitle{Title}{12} \\
\ganttbar{Task 1}{1}{4} \\
\ganttmilestone{M 1}{12} \\
\end{ganttchart}
\end{document}

在此处输入图片描述

答案2

我认为最好的解决方案是使用该软件包提供的里程碑转变选项。

请注意,默认值为左移 0.6,右移 0.4,因此将两者调整 -0.5 即可得到使用的值。如果您不想让它位于中间,或者您想拉伸标记,请进行适当调整。

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfgantt}

\begin{document}
\begin{ganttchart}[
    vgrid,
    hgrid,
    milestone left shift=.1,
    milestone right shift=-.1
    ]{1}{12}
\gantttitle{Title}{12} \\
\ganttbar{Task 1}{1}{4} \\
\ganttmilestone{M 1}{12} \\
\end{ganttchart}
\end{document}

Latex 输出

相关内容