.PS # hexagon.m4 #https://tex.stackexchange.com/questions/708149/how-to-draw-a-regular-rounded-corners-hexagons-with-tikz gen_init command "{\tiny" CI: circle thick 4 rad 5/8 CO: circle rad CI.rad*1.35 at CI prad = CO.rad*4/5 for i=1 to 6 do { P[i]: polygon(6,rad=prad;radv=CO.rad/10) \ at CO+(Rect_(CO.rad*7/4,i*60-30)) circle rad CI.rad*2/3 at P[i] } for i=1 to 6 do { ii = pmod(i,6)+1 A: move from P[i]+(Rect_(prad,i*60)) to P[i]+(Rect_(prad,i*60+60)) B: move from P[ii]+(Rect_(prad,i*60)) to P[ii]+(Rect_(prad,i*60-60)) C: Intersect_(A,B) move to A.end; arcto(C,B,CO.rad/10); line to B.end } foreach_(`term',`r_text(eval((((m4Lx-1)*60+90)%180)-90),term, at CO+(Rect_(CO.rad*1.45,(m4Lx-1)*60)))', \sf NEUTRON,\sf ALNITAK,\sf ALNILAM,\sf MINTAKA,\sf PROTON,\sf ELECTRON) command "}%" .PE