在 LaTeX 甘特图中可以使用菱形以外的其他符号吗?

在 LaTeX 甘特图中可以使用菱形以外的其他符号吗?

我曾经pgfgantt为我的博士论文提案绘制过甘特图。除了菱形之外,还有其他方法可以插入其他符号来创建里程碑吗?

如果有字母、笑脸、软盘等符号就太好了。

答案1

如果你看一下pgfgantt文档,就会发现 amilestone不仅仅是一个符号,而是一个pgfshape。因此,你需要用另一种形状替换它。

但幸运的是,Alain Matthes 写了一篇shapes.emoticon图书馆在他的回答中\frownie 和 \smiley 之间的某个字符。将文件放入tikzlibraryshapes.emoticon.code.tex工作文件夹后,您将能够执行以下操作:

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfgantt}
\usetikzlibrary{shapes.emoticon}

\begin{document}
\begin{ganttchart}[
vgrid,
hgrid,
milestone/.append style={shape=emoticon happy,fill=yellow}
]{1}{12}
\gantttitle{Title}{12} \\
\ganttbar{Task 1}{1}{4} \\
\ganttlinkedbar{Task 2}{5}{6} \\
\ganttlinkedmilestone{M 1}{6} \\
\ganttlinkedbar{Task 3}{7}{11}
\end{ganttchart}
\end{document}

在此处输入图片描述

我可能是错的,但我发现使用其他符号的唯一方法是milestone通过milestone labels。使用选项,和inline的所有标签都写在其对应元素上,而不是在左侧。ganttbarsmilestoneson

这种解决方案不太灵活,因为它不仅影响所有标签,milestones而且更糟糕的是,不同的符号具有不同的大小、基线、边距等。因此,您必须根据自己的喜好调整每个特定的符号。

接下来是一个例子\Letter(来自 ifsym)。

\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfgantt}
\usepackage[misc]{ifsym}
\usetikzlibrary{shapes.emoticon}

\begin{document}
\begin{ganttchart}[
vgrid,
hgrid,
inline,
milestone/.append style={shape=rectangle,draw=none, fill=none},
milestone inline label anchor=south,
milestone label text={\Letter}
]{1}{12}
\gantttitle{Title \Letter}{12} \\
\ganttbar{Task 1}{1}{4} \\
\ganttlinkedbar{Task 2}{5}{6} \\
\ganttlinkedmilestone{M 1}{6} \\
\ganttlinkedbar{Task 3}{7}{11}
\end{ganttchart}
\end{document}

在此处输入图片描述

相关内容