Aller au contenu

Hands up if you've heard of a latexmkrc file? Now keep your hands up if you know what it does. Now keep your hands up if you've ever written your own. Anyone with their hands still up—you probably don't need to read the rest of this post.

Why the interest in latexmkrc? We've recently had a number of users get in touch to ask how to do certain things with Overleaf, to which our answer has begun: "Firstly, create a custom latexmkrc file in your project...". Given that this isn't the most intuitive part of LaTeX, and documentation on the web (and examples in particular) are quite sparse, we thought we'd explore it here in a bit more detail.

What is a latexmkrc file?

If you've never seen it before, a latexmkrc file is a configuration / initialization (RC) file for the Latexmk package. Latexmk is used by Overleaf to control the compilation of your source LaTeX document into the final typeset PDF file. By using a customized configuration file called Latexmk you can override the default compilation commands to allow Overleaf to compile your document in a special way.

Why would I want to use a latexmkrc file?

Well, as an example, did you know that all the dates and times in the PDF compiled on Overleaf are the dates and times of the server’s by default. What if instead you'd like to use your local date/time?

To display the date/time local to your timezone, you can change the TZ (timezone) environment variable using a custom latexmkrc file:

  1. In your project editor window, click on the “Upload” icon on the top of the file tree panel.
  2. Select “New file”, and name the file latexmkrc.
  3. Add the following line to the file latexmkrc:
    $ENV{'TZ'}='Canada/Central';
    
    or whichever timezone required. Here's a list of supported time zones for reference.

Dates and times (e.g. \today and \currenttime from the datetime package) in the PDF should then give values local to the specified time zone.

A latexmkrc file is very useful used to debug a project that has fatal errors; read more about that in the Compile timeout help page.

Where can I find more examples of latexmkrc commands?

As a start, check out the following examples from our help pages:

If those don't help, please feel free to contact us page or try the popular TeXStackExchange and LaTeXCommunity forums.

Overleaf guides

LaTeX Basics

Mathematics

Figures and tables

References and Citations

Languages

Document structure

Formatting

Fonts

Presentations

Commands

Field specific

Class files

Advanced TeX/LaTeX