1signature SHIP_OUT = 2sig 3 val shipOut: BoxTypes.hlist list -> unit 4end 5 6structure ShipOut: SHIP_OUT = 7struct 8 open Out; open DviCmd; open SetBox 9 open Distance 10 11 val mag = 2000 12 val lineSkip = distInt 50 13 14 fun lines [] = ( ) 15 | lines [l] = ( setHList l ) 16 | lines (h :: t) = ( setHList h; Down lineSkip; lines t ) 17 18 fun shipOut hlists = 19 ( startOut "das.dvi"; 20 Pre mag; 21 Bop (); 22 lines hlists; 23 Eop (); 24 Post mag; 25 endOut (); 26 () 27 ) 28 29end 30