Main version

Latexmk (whose current released version is 4.85 dated 7 April 2024) is a perl script for running 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. The script runs on the main operating systems, including Linux, macOS and MS-Windows. Here is the documentation in plain text format, and in pdf format.

Latexmk is also available at CTAN at, and is/will be in the TeXLive and MiKTeX distributions.

New versions being tested. Archive of old versions

Sometimes there are updates being tested that are not yet in the main version. You can try out any new version from the collection of new and archived versions of latexmk. You can also see archives of old versions there.

How to use dvipdfm and dvipdfmx with latexmk

Users trying to use dvipdfm and dvipdfmx with latexmk have run into trouble because the format of the command-line arguments for these programs are incompatible with that for dvipdf. This problem was solved in versions 4.01 or higher of latexmk. They allow a flexible specification of the commands executed by latexmk. To use dvipdfm, put the following in one of latexmk's initialization files (e.g., ~/.latexmkrc):
         $dvipdf = "dvipdfm %O -o %D %S";
To use dvipdfmx, just change the string dvipdfm to dvipdfmx.

For more details, see latexmk's documentation.

Up to software by John Collins.
This page is maintained by John Collins, 11 April 2024