I'm going to second LaTeX. It takes a little bit of playing around with to get the hang of it, but once you do, it's eassily the most powerful
typesetting program out there. It saved me in University. Essentially the idea of the program is that you "code" the document, and then based on settings (predefined in a header), it will typeset the whole document for you a certain way. It can ...