![pgfgant 里程碑水平位置](https://linux22.com/image/317290/pgfgant%20%E9%87%8C%E7%A8%8B%E7%A2%91%E6%B0%B4%E5%B9%B3%E4%BD%8D%E7%BD%AE.png)
如果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}