##Precise alignment with margins
##precise alignment mbottom mtop mleft mright right left bottom top percent coordinate
##When using the 'left', 'right', 'top', 'bottom', 'middle' and 'center'  attributes to align a block (or 'mleft', 'mright', 'mtop' or 'mbottom to adjust side with margin), use a percentage of the target block if you want alignment to something different than its sides or midpoint. You can prepend the 'm' letter before the percentage - in this case the margin extended size of the target block is used.##If you want an arrow or line start or end somewhere other than a block, you can use the '(' syntax to specify the x and y coordinate independently (but still in relation to boxes laid out. Just mentioning a block will mean its midpoint, but you can also use the @ syntax to specify some other place. If you omit a coordinate (such as the Y coordinate after 'D,') it will be the same as on the other end of the arrow/line resulting in horizontal/vertical lines.box A;
box B [mbottom=A@m40%];
box C [mbottom=A@m20%];
box D [mbottom=A@m0%];
rightof A box E [mtop=A@m60%];
box F [mtop=A@m80%];
box G [mtop=A@m100%];

arrows use draw_before=A;
(A, A@mtop)..(D,);
(A, A@mbottom)..(D,);
