void create_ps_skeleton(DDSkeleton *sk){
  DDSEdgeVect edges = sk->getEdges();
  DDSEdgeVect::iterator I;

  std::cout << "%!PS-Adobe-2.0\n/Arial-Normal findfont\n";
  std::cout << "7 scalefont\nsetfont\n";
  std::cout << "75 setlinewidth\n";
  
  // draw the edges
  for(I = edges.begin(); I != edges.end(); I++){
    DDSEdge *e = *I;
    FluxPointList fpl = e->getFluxPoints();
    FluxPointList::iterator II;
    for(II = fpl.begin(); II != (fpl.end() - 1); II++){
      Point p1 = (*II).p;
      Point p2 = (*(II+1)).p;
      ps_draw_line(p1, p2, 
		   fabs((*II).val) / 7.0, 
		   fabs((*II).val) / 7.0);
    }
  }
  
  // now draw the contour
  Curve *c = sk->getShape()->getCurves()->front();
  const double step = 0.5;
  double t=0;
  for(t = 0; t < c->getLength()-2*step; t += step){
    ps_draw_line(c->atT(t), c->atT(t+step));
  }
  ps_draw_line(c->atT(t), c->atT(0));

  // finally, finish the PS page
  std::cout << "\nshowpage\n";
}