Thanks for these inputs. I also prefer to use opensource software where possible. In my own case the only expertise we had at that time was in Corel and as we also had access to a laptop with Corel installed we used that. However, the publishing company I run, Rasala, uses Latex (actually Xetex) to lay out - but that requires the services of a hired specialist as Latex is not in my experience that easy for the novice to use.
I'd be interested to hear more about graphviz, I haven't heard of it before. In fact a group of Sanskrit enthusiasts are trying to lay out several children's books (Sanskrit translations of Pratham Books' books) and would like to use opensource software so further information on this would be much appreciated.