![pgfgantt:命名链接以维护条形图之间的关系](https://linux22.com/image/280080/pgfgantt%EF%BC%9A%E5%91%BD%E5%90%8D%E9%93%BE%E6%8E%A5%E4%BB%A5%E7%BB%B4%E6%8A%A4%E6%9D%A1%E5%BD%A2%E5%9B%BE%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB.png)
我有一个相当复杂的 pgfgantt 图表。有几个人正在合作制作它,并且经常会更改。
在此图表中,各个\ganttbar
项目与命令链接在一起\ganttlink
。ganttbar 项目由元素0,元素1,...,元素。
为了说明我的问题,请考虑这个最小的 pgfgantt 示例:
\begin{ganttchart}{3}{1}
\ganttbar {Task 1}{1}{2} \\
\ganttbar {Task 2}{2}{3} \\
\ganttbar {Task 3}{1}{2} \\
\ganttbar {Task 4}{2}{3}
\ganttlink {elem0}{elem1}
\ganttlink {elem2}{elem3}
\end{ganttchart}
现在假设“任务 2”被删除:
\begin{ganttchart}{3}{1}
\ganttbar {Task 1}{1}{2} \\
\ganttbar {Task 3}{1}{2} \\
\ganttbar {Task 4}{2}{3}
\ganttlink {elem1}{elem2}
\end{ganttchart}
当然我必须删除\ganttlink {elem0}{elem1}
。但是,为了保持正确的关系,我还必须更改所有后续链接。在上面的例子中, \ganttlink {elem2}{elem3}
必须将其更改为\ganttlink {elem1}{elem2}
。在复杂的甘特图中,这很快就会变得乏味且容易出错。
所以我的问题是:是否可以\ganttbar
通过自定义名称而不是元素,例如\ganttlink{mytask1}{mytask2}
?
答案1
选项name
允许ganttbar
您将元素的名称更改为您想要的任何名称。将其用作
\ganttbar[name=myname]{Title}{1}{3}
然后将这个元素称为myname
。
\documentclass{article}
\usepackage{pgfgantt}
\begin{document}
\begin{ganttchart}[x unit=2cm,vgrid]{1}{4}
\ganttbar[name=t1] {Task 1}{1}{2} \\
\ganttbar[name=t2] {Task 2}{2}{3} \\
\ganttbar[name=t3] {Task 3}{1}{2} \\
\ganttbar[name=t4] {Task 4}{2}{3}
\ganttlink {t1}{t2}
\ganttlink {t3}{t4}
\end{ganttchart}
\medbreak
\begin{ganttchart}[x unit=2cm,vgrid]{1}{4}
\ganttbar[name=t1] {Task 1}{1}{2} \\
%\ganttbar[name=t2] {Task 2}{2}{3} \\
\ganttbar[name=t3] {Task 3}{1}{2} \\
\ganttbar[name=t4] {Task 4}{2}{3}
%\ganttlink {t1}{t2}
\ganttlink {t3}{t4}
\end{ganttchart}
\end{document}