pgfgantt 软件包 tikz 出现错误

pgfgantt 软件包 tikz 出现错误

我需要在我的 LaTex 文档中绘制甘特图,并找到了pgfgantt可以做到这一点的软件包。不幸的是,它需要 TikZ` 软件包,看起来我遇到了麻烦,我不知道为什么,因为我从未使用过它。

这是我的代码:

\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel} 
\usepackage{tikz}
\usepackage{pgfgantt}
\usetikzlibrary{arrows,backgrounds,calc,patterns,shapes,positioning,shadows,trees}
\usepackage{pgfcalendar}
\begin{document}
\begin{figure}[ht!]
\begin{ganttchart}{1}{15}
    \gantttitle{Du 1er Février au 9 Mai}{15} \\
    \gantttitlelist{1,...,15}{1} \\
    \ganttgroup{Préparation}{1}{3} \\
    \ganttbar{Recherche de ressources}{1}{3} \\
    \ganttbar{Définition des contraintes}{1}{3} \\
    \ganttbar{Recherche de méthode d'archivage}{1}{1} \\
    \ganttlinkedbar{Mise en place archivage}{2}{3} \\
\end{ganttchart}
\caption{Diagramme de Gantt pour le projet SN3D}
\end{figure}
\end{document}

以下是错误信息:

!Package tikz 错误:预期为 + 或 - (\ganttlinkedbar 命令的行)

!Package tikz 错误:放弃此路径。您忘记了分号吗?(同一行)

我查看了pgfgantt文档,但找不到任何相关信息。我也搜索了谷歌,但没有找到任何可以帮助我的东西。

感谢您的帮助 !

编辑:我尝试使用 TikZ babel 库,但在我的代码的另一部分使用 TikZ 时产生了几个错误,而之前没有任何问题。

这是我的完整代码:

\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel} 
\usepackage{graphicx}
\usepackage{stmaryrd}
\usepackage{amssymb}
\usepackage{dsfont}
%Pour les images (gantt, WBS)
\usepackage{tikz}
%Pour délimiter les flottants
\usepackage{placeins}
\usepackage{pgfgantt}

\usetikzlibrary{arrows,backgrounds,calc,patterns,shapes,positioning,shadows,trees}
\usepackage{pgfcalendar}

\tikzset{
  basic/.style  = {draw, text width=2cm, drop shadow, font=\sffamily, rectangle},
  root/.style   = {basic, rounded corners=2pt, thin, align=center,
                   fill=green!30},
  level 2/.style = {basic, rounded corners=6pt, thin,align=center, fill=green!60,
                   text width=8em},
  level 3/.style = {basic, thin, align=left, fill=pink!60, text width=6.5em}
}
\title{Plan de développement}
\author{Groupe PEI n\textsuperscript{o}44 \\ \\ Entreprise SN3D}
\date{le 3 Février 2016}
\begin{document}
\maketitle
\tableofcontents
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                              PARTIE 1                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Définition du projet}
\subsection{Contexte du projet}
\subsection{Objectifs de la mission}
\subsection{Livrables}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                              PARTIE 2                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Modalités d'exécution}
\subsection{Cycle de vie}
\subsection{Work Breakdown Structure du projet}
L'objectif fixé est de rendre au client un livrable recensant une sélection de capteurs intégrés ou modules assortie de cas d'utilisation précis. \`A cette fin, le travail sera décomposé de la manière suivante : \newline
%%%%%%%%%%% WBS %%%%%%%%%%%%%%%
\FloatBarrier
\begin{figure}[ht!]
%makebox pour centrer les figures trop larges
\makebox[\textwidth][c]{
\begin{tikzpicture}[level 1/.style={sibling distance=40mm},
edge from parent/.style={->,draw},>=latex]
% root of the the initial tree, level 1
\node[root] {Projet SN3D}
% The first level, as children of the initial tree
  child {node[level 2] (c1) {Choix des outils de travail}}
  child {node[level 2] (c2) {Recherche des capteurs}}
  child {node[level 2] (c3) {Définition de cas d'usage}}
    child {node[level 2] (c4) {Synthèse et mise en forme}};

% The second level, relatively positioned nodes
\begin{scope}[every node/.style={level 3}]
\node [below of = c1, xshift=15pt] (c11) {Archivage};
\node [below of = c11] (c12) {Sources};
\node [below of = c12] (c13) {Mise en forme};

\node [below of = c2, xshift=15pt] (c21) {Intensive};
\node [below of = c21] (c22) {Veille};


\node [below of = c3, xshift=15pt] (c31) {Scénari};
\node [below of = c31] (c32) {Aspects techniques};
\node [below of = c32] (c33) {Illustrations};

\node [below of = c4, xshift=15pt] (c41) {Livrable};
\node [below of = c41] (c42) {Rapport};
\node [below of = c42] (c43) {Poster};
\end{scope}

% lines from each level 1 node to every one of its "children"
\foreach \value in {1,2,3}
  \draw[->] (c1.195) |- (c1\value.west);

\foreach \value in {1,...,2}
  \draw[->] (c2.195) |- (c2\value.west);

\foreach \value in {1,...,3}
  \draw[->] (c3.195) |- (c3\value.west);

\foreach \value in {1,...,3}
  \draw[->] (c4.195) |- (c4\value.west);
\end{tikzpicture}
}
\caption{WBS du projet}
\end{figure}
\FloatBarrier
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Planning (diagramme de Gantt)}
Les différentes tâches s'enchaînent assez naturellement du fait de leur forte dépendance. Le planning initialement prévu que l'on donne ci-après a une forme simple. Le projet en tant que tel démarrera le 1er Février pour une durée de 15 semaine.
\begin{figure}[ht!]
\begin{ganttchart}{1}{15}
    \gantttitle{Du 1er Février au 9 Mai}{15} \\
    \gantttitlelist{1,...,15}{1} \\
    \ganttgroup{Préparation}{1}{3} \\
    \ganttbar{Recherche de ressources}{1}{3} \\
    \ganttbar{Définition des contraintes}{1}{3} \\
    \ganttbar{Recherche de méthode d'archivage}{1}{1} \\
    \ganttlinkedbar{Mise en place archivage}{2}{3} \\
\end{ganttchart}
\caption{Diagramme de Gantt pour le projet SN3D}
\end{figure}
\subsection{Ressources}
Le groupe de travail est constitué de cinq membres : Telem Avidor, Léo En terme d'exécution, il est prévu que tous les membres de l'équipe jouent des rôles interchangeables en fonction de la situation.
\subsection{Communication}
\end{document}

答案1

我认为你缺少textcomp包,至少我需要添加它。在添加它和babelTikZ 库之后,我还必须在 中添加括号\draw\foreach不太确定为什么会这样,但从

\foreach \value in {1,2,3}
  \draw[->] (c1.195) |- (c1\value.west);

\foreach \value in {1,...,2}
  \draw[->] (c2.195) |- (c2\value.west);

\foreach \value in {1,...,3}
  \draw[->] (c3.195) |- (c3\value.west);

\foreach \value in {1,...,3}
  \draw[->] (c4.195) |- (c4\value.west);

\foreach \myvalue in {1,2,3}{
  \draw[->] (c1.195) |- (c1\myvalue.west);
  \draw[->] (c3.195) |- (c3\myvalue.west);
  \draw[->] (c4.195) |- (c4\myvalue.west);
}

\foreach \myvalue in {1,...,2}{
  \draw[->] (c2.195) |- (c2\myvalue.west);
}

解决了。

使用\value可能不是一个好主意,因为这是一个现有的宏。完整的代码。

\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel} 
\usepackage{graphicx}
\usepackage{stmaryrd,textcomp}
\usepackage{amssymb}
\usepackage{dsfont}
%Pour les images (gantt, WBS)
\usepackage{tikz}
%Pour délimiter les flottants
\usepackage{placeins}
\usepackage{pgfgantt}

\usetikzlibrary{arrows,backgrounds,calc,patterns,shapes,positioning,shadows,trees,babel}
\usepackage{pgfcalendar}

\tikzset{
  basic/.style  = {draw, text width=2cm, drop shadow, font=\sffamily, rectangle},
  root/.style   = {basic, rounded corners=2pt, thin, align=center,
                   fill=green!30},
  level 2/.style = {basic, rounded corners=6pt, thin,align=center, fill=green!60,
                   text width=8em},
  level 3/.style = {basic, thin, align=left, fill=pink!60, text width=6.5em}
}
\title{Plan de développement}
\author{Groupe PEI n\textsuperscript{o}44 \\ \\ Entreprise SN3D}
\date{le 3 Février 2016}
\begin{document}
\maketitle
\tableofcontents
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                              PARTIE 1                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Définition du projet}
\subsection{Contexte du projet}
\subsection{Objectifs de la mission}
\subsection{Livrables}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                              PARTIE 2                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Modalités d'exécution}
\subsection{Cycle de vie}
\subsection{Work Breakdown Structure du projet}
L'objectif fixé est de rendre au client un livrable recensant une sélection de capteurs intégrés ou modules assortie de cas d'utilisation précis. \`A cette fin, le travail sera décomposé de la manière suivante : \newline
%%%%%%%%%%% WBS %%%%%%%%%%%%%%%
\FloatBarrier
\begin{figure}[ht!]
%makebox pour centrer les figures trop larges
\makebox[\textwidth][c]{
\begin{tikzpicture}[level 1/.style={sibling distance=40mm},
edge from parent/.style={->,draw},>=latex]
% root of the the initial tree, level 1
\node[root] {Projet SN3D}
% The first level, as children of the initial tree
  child {node[level 2] (c1) {Choix des outils de travail}}
  child {node[level 2] (c2) {Recherche des capteurs}}
  child {node[level 2] (c3) {Définition de cas d'usage}}
    child {node[level 2] (c4) {Synthèse et mise en forme}};

% The second level, relatively positioned nodes
\begin{scope}[every node/.style={level 3}]
\node [below of = c1, xshift=15pt] (c11) {Archivage};
\node [below of = c11] (c12) {Sources};
\node [below of = c12] (c13) {Mise en forme};

\node [below of = c2, xshift=15pt] (c21) {Intensive};
\node [below of = c21] (c22) {Veille};


\node [below of = c3, xshift=15pt] (c31) {Scénari};
\node [below of = c31] (c32) {Aspects techniques};
\node [below of = c32] (c33) {Illustrations};

\node [below of = c4, xshift=15pt] (c41) {Livrable};
\node [below of = c41] (c42) {Rapport};
\node [below of = c42] (c43) {Poster};
\end{scope}

% lines from each level 1 node to every one of its "children"
\foreach \myvalue in {1,2,3}{
  \draw[->] (c1.195) |- (c1\myvalue.west);
  \draw[->] (c3.195) |- (c3\myvalue.west);
  \draw[->] (c4.195) |- (c4\myvalue.west);}

\foreach \myvalue in {1,...,2}{
  \draw[->] (c2.195) |- (c2\myvalue.west);
}
\end{tikzpicture}
}
\caption{WBS du projet}
\end{figure}
\FloatBarrier
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Planning (diagramme de Gantt)}
Les différentes tâches s'enchaînent assez naturellement du fait de leur forte dépendance. Le planning initialement prévu que l'on donne ci-après a une forme simple. Le projet en tant que tel démarrera le 1er Février pour une durée de 15 semaine.
\begin{figure}[ht!]
\begin{ganttchart}{1}{15}
    \gantttitle{Du 1er Février au 9 Mai}{15} \\
    \gantttitlelist{1,...,15}{1} \\
    \ganttgroup{Préparation}{1}{3} \\
    \ganttbar{Recherche de ressources}{1}{3} \\
    \ganttbar{Définition des contraintes}{1}{3} \\
    \ganttbar{Recherche de méthode d'archivage}{1}{1} \\
    \ganttlinkedbar{Mise en place archivage}{2}{3} \\
\end{ganttchart}
\caption{Diagramme de Gantt pour le projet SN3D}
\end{figure}
\subsection{Ressources}
Le groupe de travail est constitué de cinq membres : Telem Avidor, Léo En terme d'exécution, il est prévu que tous les membres de l'équipe jouent des rôles interchangeables en fonction de la situation.
\subsection{Communication}
\end{document}

相关内容