Suite à une demande sur la liste AmiTeX, voici la réponse en Metapost.
matthes.mp [ source brut ]
input geometriesyr16; vardef hachurerectangle(expr pas,aa,bb)= pair AA,BB,CC,DD,EE; AA=aa; BB=(xpart(bb),ypart(aa)); CC=bb; DD-CC=AA-BB; EE=rotation(AA,DD,-90); picture result; result=image( trace polygone(AA,BB,CC,DD); marque_p:="plein"; pointe(AA,BB,CC,DD); for k=0 upto round(abs(CC-EE)/pas): trace segment(EE+pas*k*(1,0),AA+pas*k*(1,0)) cutbefore segment(AA,DD) cutafter segment(AA,BB) cutafter segment(BB,CC) withcolor orange; endfor; ); result enddef;

figure(0,0,10u,10u); trace hachurerectangle(2mm,u*(1,1),u*(5,3)); trace hachurerectangle(5mm,u*(4,4),u*(8,8)); fin; end