
Latexmk runs LaTeX the correct number of times to resolve cross references, etc; it also runs auxiliary programs (bibtex, makeindex if necessary, and dvips and/or a previewer as requested). It has a number of other useful capabilities, for example to start a previewer and then run LaTeX whenever the source files are updated, so that the previewer gives an up-to-date view of the document.