[Tex/LaTex] How does latexmk find package files

latexmkpackages

I installed TexLive on Arch Linux together with texlive-latexextra in order to use the package todonotes, but latexmk does not find the todonotes.sty file. This is what it prints:

$ latexmk —

pdf latex-preview.tex 
Latexmk: This is Latexmk, John Collins, 5 February 2015, version: 4.43a.
Latexmk: applying rule 'pdflatex'...
Rule 'pdflatex': File changes, etc:
   Non-existent destination files:
      'latex-preview.pdf'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex  -recorder  "latex-preview.tex"'
------------
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Arch Linux) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./latex-preview.tex
LaTeX2e <2015/10/01> patch level 2
Babel <3.9m> and hyphenation patterns for 79 languages loaded.
(/usr/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size10.clo))

! LaTeX Error: File `todonote.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 

I located it manually, it is in /usr/share/texmf-dist/tex/latex/todonotes/.

For some reason, this folder has not been added to the locations latexmk searches for sty files.

So, how does latexmk look for sty files and how do I add folders for it to search through?

Running texhash gives this:

texhash: Updating /etc/texmf/ls-R... 
texhash: Updating /usr/share/texmf-dist/ls-R... 
texhash: Updating /var/lib/texmf/ls-R... 
texhash: Done.

But it does not work after that or after rebooting..

texhash claims to watch ls -R /usr/share/texmf-dist/. It should find it in there, considering this:

$ ls -R /usr/share/texmf-dist/ | grep todonotes
fixmetodonotes
todonotes
/usr/share/texmf-dist/tex/latex/fixmetodonotes:
fixmetodonotes.sty
/usr/share/texmf-dist/tex/latex/todonotes:
todonotes.sty
luatodonotes
/usr/share/texmf-dist/tex/lualatex/luatodonotes:
luatodonotes.lua
luatodonotes.sty
todonotes-xetex-bidi.def

And

$ kpsewhich todonotes.sty
/usr/share/texmf-dist/tex/latex/todonotes/todonotes.sty

Best Answer

! LaTeX Error: File `todonote.sty' not found.

and

/usr/share/texmf-dist/tex/latex/todonotes:
todonotes.sty

one has an s and one does not....

Related Question