What is the quickest way to check (on Linux) whether I already have a given package? In particular I'm interested in whether there is something that will take less time than the 20 seconds or so it would take me to create a tiny latex document and try to compile it.

kpsewhich pkgname.sty
kpsewhich clsname.cls
  • 4
    And this not only tells you if you have the package, but also the path where it's installed. – Juan A. Navarro Aug 16 '10 at 14:25

The standard tool works not only on Linux but also on Windows systems: at the command prompt, the command

kpsewhich name.sty

prints path and file name of one file name.sty if it can be found, otherwise nothing.

kpsewhich -all name.sty

prints all occurences if there are several (try kpsewhich -all texmf.cnf).

It uses ls-R files but could search the disk as well if you specify the option -must-exist. kpsewhich recognizes a lot of format names. Beside tex formats like .cls, .sty, .tex it finds font files, bib files and many more.


kpsewhich --help


man kpsewhich

to learn more or have a look at this kpsewhich manpage.

This standalone program belongs to the kpathsea library. To read about it, type

texdoc kpathsea

at the command prompt. As you may know, texdoc is another very useful command for the shell.

  • 1
    Although the additional information in your answer is useful, I've accepted Geoffrey's because he was first, and besides, you don't need the extra rep. – Mark Meckes Aug 16 '10 at 14:42
  • @Mark: don't worry, it's fine :) I was just typing and thought I'll send as well. – Stefan Kottwitz Aug 16 '10 at 14:46
  • @Mark, @Stefan: yay! rep! :)) – Geoffrey Jones Aug 16 '10 at 14:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.