![LaTeX 中的进程锁定图](https://linux22.com/image/245793/LaTeX%20%E4%B8%AD%E7%9A%84%E8%BF%9B%E7%A8%8B%E9%94%81%E5%AE%9A%E5%9B%BE.png)
有人知道是否有可能重现这样的事情图表 (发现于本网站) 在 LaTeX 中,也许用 Tikz?
或者我必须在另一个程序中绘制图表并将它们作为图片导入?
我现在按照 R. Schumacher 的建议开始普格夫甘特。这是我的示例:
\documentclass[11pt,a4paper]{article}
\usepackage{tikz}
\usepackage{pgfgantt}
\newcommand{\ganttbarGrey}{\ganttbar[bar/.style={fill=black!50}]}
\newcommand{\ganttbarBlack}{\ganttbar[bar/.style={fill=black}]}
\newcommand{\ganttbarUnderline}{\ganttbar[bar/.style={fill=black},bar top shift=.699, bar height=.001]}
\begin{document}
\begin{tikzpicture}
\begin{ganttchart}[canvas/.style={draw=none},vgrid={*1{black!30,thin}},hgrid={*1{black!30,thin}},include title in canvas=false,title/.style={draw=none, fill=none}]{12}
\ganttbar{\(T_1\)}{3}{3}\ganttbarUnderline{}{4}{9} \ganttbarGrey{}{10}{10} \ganttbar{}{11}{11}\\
\ganttbar{\(T_2\)}{5}{8}\\
\ganttbar{\(T_3\)}{1}{1}\ganttbarGrey{}{2}{2} \ganttbarUnderline{}{3}{3}\ganttbarGrey{}{4}{4} \ganttbarUnderline{}{5}{8}\ganttbarGrey{}{9}{9}\ganttbarUnderline{}{10}{11} \ganttbar{}{12}{12}
\gantttitlelist[title top shift=1.2]{1,...,12}{1}
\end{ganttchart}
\draw[->](0,-3) --(0,0.5);
\draw[->](0,-3) --(6.5,-3);
\end{tikzpicture}
\end{document}
到目前为止还不算太糟,但我想把它改造成类似于我在这里看到的形式。指责(例如,参见第 110 页)。我添加了两个箭头,但我必须手动“计算”坐标。不过这样也可以。但我缺少标记临界区开始和结束位置的可能性(例如,使用 diss 中的“锁定”和“解锁”标志)。
有谁知道如何改变我的例子以使其看起来像那样?
我进一步改进了我的示例。其中有一个错误,我做了一些修改。也许现在更容易帮助我了?
答案1
是的,使用 TikZ 可以实现这一点,而且应该不难。请查看手册。我建议设置具有固定相同高度 ( text height=xx
) 和给定宽度 ( text width=yy
) 的节点的框。其他一切都将是简单的\draw
操作。
如果您提供一个例子,说明您之前做了什么,我们可以帮助您改进代码;-)
答案2
看着http://carroll.aset.psu.edu/pub/CTAN/graphics/pgf/contrib/pgfgantt/pgfgantt.pdf
我之前创建过带有垂直箭头的甘特图,显示关键路径。我会尝试您的图表,但我的空闲时间最短只有周末。