I've heard good things about LaTex.<br>