Skip to content

The good news is that we can specify custom TEXINPUTS directories using the latexmkrc file, so that Overleaf knows it needs to search in that directory for the package files.

To do this, let's say you've put these package files in a folder called tex/; and respectively bibliography style files in a folder called bst/:

  1. Click on “Add file” on the top of the Project side bar.
  2. Select “Blank file”, and save the file name as latexmkrc (if it's not already there).
  3. Put the following line in latexmkrc:
    $ENV{'TEXINPUTS'}='./tex//:' . $ENV{'TEXINPUTS'}; 
    $ENV{'BSTINPUTS'}='./bst//:' . $ENV{'BSTINPUTS'};
    

    (or change to the relevant folder names in your project)

Overleaf will now search the tex/ folder first before searching the system TEXINPUTS to locate package files, and bst/ folder first before searching the system BSTINPUTS to locate bibliography style files.

(Source: http://tex.stackexchange.com/a/50847/226)

Note: Your main document file and your latexmkrc file must remain at the top level of your project, not in a folder.

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