Index: /anr/anr.sty
===================================================================
--- /anr/anr.sty	(revision 150)
+++ /anr/anr.sty	(revision 151)
@@ -126,5 +126,5 @@
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\writeganttinfo#1#2#3#4#5{{%
+\def\writeganttinfo#1#2#3#4#5#6{{%
     \let\xcoach\relax
     \let\xcoachplus\relax
@@ -143,5 +143,5 @@
       T=\the\taskcnt\space S=\the\subtaskcnt\space%
       D=\the\livrablecnt\space V=\vers\space%
-      BM=#1 EM=#2 R=#3 PART={#4} TITLE=#5%
+      BM=#1 EM=#2 R=#3 PART={#4} KIND={#5} TITLE=#6%
     }
 }}
@@ -173,5 +173,5 @@
     \def\vers{V\the\verscnt}
     \global\edef\name{D\the\taskcnt\the\subtaskcnt\the\livrablecnt-\vers}%
-    \writeganttinfo{##1}{##2}{none}{##4}{##5}
+    \writeganttinfo{##1}{##2}{none}{##4}{##3}{##5}
     \\\hline
     \ifLivrableTopLine
@@ -198,5 +198,5 @@
     \def\vers{VF}
     \global\edef\name{D\the\taskcnt\the\subtaskcnt\the\livrablecnt-\vers}%
-    \writeganttinfo{##1}{##2}{##6}{##4}{##5}
+    \writeganttinfo{##1}{##2}{##6}{##4}{##3}{##5}
     \\\hline
     \ifLivrableTopLine
Index: /anr/gantt.l
===================================================================
--- /anr/gantt.l	(revision 150)
+++ /anr/gantt.l	(revision 151)
@@ -59,4 +59,5 @@
     int tn,stn,dn,vn;  // task, sub-task, number
     char v;            // 0, 1, 2, ..., F 
+    char* kind;
     char* title;
     int   bm,em;       // mois de bebut et de fin
@@ -214,5 +215,5 @@
 
 %%
- int tn,stn,dn,v,bm,em; char* title;
+ int tn,stn,dn,v,bm,em; char* title; char* kind;
  double an[3];
  char*  an_comment;
@@ -236,5 +237,6 @@
         int status = sscanf(yytext+2,"%lf:%lf:%lf:%s",an+0,an+1,an+2,tmp);
         if (status<3) {
-            fprintf(stderr,"%s: is not resource definition, expected format \"N:N:N\" (near D%d%d%d-V%c)\n",
+            fprintf(stderr,
+                "%s: is not resource definition, expected format \"N:N:N\" (near D%d%d%d-V%c)\n",
                yytext+2,tn,stn,dn,v);
             an[0]=0; an[1]=0; an[2]=0; an_comment=0;
@@ -258,4 +260,15 @@
             partner=0;
         }
+    }
+KIND="{"[^}]+"}"  {
+        yytext[yyleng-1]=0;
+        kind= strdup(yytext+6);
+        if ( strcmp(kind,"x")!=0 && strcmp(kind,"d")!=0 && strcmp(kind,"h")!=0 &&
+             strcmp(kind,"d+x")!=0 )
+          fprintf(stderr,"ERROR:D%d%d%d invalid KIND: %s\n",tn,stn,dn,kind);
+    }
+KIND="{}"  {
+        yytext[yyleng-1]=0;
+        kind= strdup(yytext+6);
     }
 TITLE=.*\n {
@@ -276,4 +289,5 @@
         p->bm = bm;
         p->em = em;
+        p->kind = kind;
         gen_titleLines(p);
 
@@ -281,4 +295,9 @@
         data_org.ls[tn][stn][dn][v] = p;
 //fprintf(stderr,"ADDED: %d %d %d %d\n",tn,stn,dn,v);
+        tn=stn=dn=v=bm=em=0;
+        title=kind=0;
+        an[0]= an[1]=an[1]=0; 
+        an_comment=0;
+        partner=0;
     }
 [ \t\n] ;
@@ -783,5 +802,9 @@
     }
     fprintf(curr->os,"\\begin{tabular}[t]{|l|c|c|c|p{\\desclen}|}\\hline\n");
-    fprintf(curr->os,"number & resp. & T0+ & kd & description\\\\\\hline\\hline\n");
+    fprintf(curr->os,"number");
+    fprintf(curr->os," & resp.");
+    fprintf(curr->os," & \\makebox[2mm]{T0+}");
+    fprintf(curr->os," & \\makebox[2mm]{kind}");
+    fprintf(curr->os," & description\\\\\\hline\\hline\n");
 }
 
@@ -809,6 +832,6 @@
             gen_label_full(label,l);
             sprintf(resp,"\\S%s",partner_table[l->partner].key);
-            sprintf(date,"%d",l->em);
-            sprintf(kind,"%s","x");
+            sprintf(date,"\\makebox[2mm][r]{%d}",l->em);
+            sprintf(kind,"\\makebox[1mm]{%s}",l->kind);
             if ( top->nbvers == 1 )
                 sprintf(desc,"%s \\\\\\hline\n",last->title);
@@ -824,6 +847,6 @@
              fprintf(curr->os,"%-15s", label);
              fprintf(curr->os," & %-10s", resp);
-             fprintf(curr->os," & %-10s", date);
-             fprintf(curr->os," & %-8s", kind);
+             fprintf(curr->os," & %-30s", date);
+             fprintf(curr->os," & %-30s", kind);
              fprintf(curr->os," & %s", desc);
              nblines -= 1;
