I've searched online, but I have not found any clear instructions how to permanently add .sty files to my TeXShop installation. I'm using a Mac with OSX (TeXShop is a mac only program).

What is the best way of doing this? The one comprehensive set of instructions I found here.

I've got as far as extracting the files (running LaTeX on the .ins and . dtx files) but after that I don't know what to do. I also don't understand how to update the index of my distribution, and whether there are particular OSX specifics (the instructions are for Windows).

  • Are you sure the package isn't already on your system? If it's from CTAN, then it most likely is.
    – Alan Munn
    Commented Feb 4, 2011 at 15:02

6 Answers 6


The first question you should ask is whether the package you are trying to install is already installed on your system. If you are using MacTeX as your distribution (which you probably are) then most packages are already available. Within TeXShop you can choose the "Show Help for Package" item from the Help menu and enter your package name. (Or make a simple document that loads the package to see if it doesn't exist.)

Installing packages or classes

If the package doesn't exist, then this answer:

covers everything you need to know.

On a Mac, local additions go into the Library/texmf folder of your Home folder (~/Library/texmf). Unfortunately on OS 10.7 and above, the user Library folder is typically hidden from view. It is, however, easy to access it through the Finder's Go menu: hold down the Option key while choosing the Go menu, and the local Library folder will appear in the list. Alternatively if you type Command-Shift-G you can enter the folder path directly (~/Library/texmf)

You never need to update the file database for local additions to this folder.

If the texmf folder doesn't exist, you will need to create it yourself along with the subfolders necessary for TeX to find things properly (see the linked question for the correct hierarchy). For a one-click version of this you can use this utility:

Installing fonts for pdfLaTeX

Fonts which are to be used with pdfLaTeX should never be installed in this folder. See the following question for details about how to install fonts properly.

Installing fonts for XeLaTeX or LuaLaTeX

These fonts should not go in this folder either, but should be installed as system fonts in the same place that any font on your machine would go. On a Mac this is `/Library/Fonts`.
  • Perhaps you should mention something about the TDS...
    – Seamus
    Commented Feb 4, 2011 at 15:09
  • 2
    @Seamus that's what the linked answer is.
    – Alan Munn
    Commented Feb 4, 2011 at 15:46
  • 3
    Alternatively to permanently unhide your ~/Library directory on 10.7 (Lion), simply run chflags nohidden ~/Library/ in Terminal. :-)
    – user2473
    Commented Jan 26, 2012 at 0:26
  • For Mac OS 10.7, I recommend XtraFinder, which works on top of the Finder, and which has the option View -> Show Hidden Items
    – PatrickT
    Commented Feb 15, 2014 at 7:04
  • 1
    Amazing, ur app really works and helps!!!! Commented Jun 9, 2016 at 15:13

To add cls package (like moderncv) in my OS distribution with texlive 2015, I just unzip package under /usr/local/texlive/2015basic/texmf-dist/tex/latex. Don't forget to run sudo texhash!

Hope this help.


If you’re using BasicTeX (86 MB) instead of full-blown MacTeX (2.3 GB), e.g. to save valuable disk space on a MacBook Air, you’ll only find the most common packages and classes in your installation. To add more, the simplest option is the TeX Live Utility which you should find in your application folder. It also updates packages to the most recent version found on CTAN.

My /usr/local/texlive folder structure currently weighs in at well below 400 MB.

  • 1
    I'm afraid this approach will not work under "El Capitan", the latest OSX flavor.
    – atmosx
    Commented Oct 2, 2015 at 5:38
  • 2
    Is there a particular reason? Commented Dec 11, 2015 at 15:16
  • 3
    Just to clarify the comments, this method will absolutely work with El Capitan.
    – Alan Munn
    Commented Jun 4, 2016 at 20:03
  • 2
    I needed o install LexLive from github.com/amaxwell/tlutility/releases as it did not come with BasicTex. Then things worked great. (I'm running Sierra.)
    – Loren
    Commented Oct 27, 2016 at 15:47

If you're using mactex, just follow the instruction you have provided in the description, move the relevant file into the directory, e.g., move *.sty file to /usr/local/texlive/texmf-local/tex/latex/local, then run sudo texhash

  • This seems to be covered, to some extent, by the other short answers.
    – Werner
    Commented Oct 23, 2018 at 22:31
  • Unless you're installing a package for use by multiple users on the same machine, it's much simpler to put things into ~/Library/texmf, since you don't need to run texhash and can do everything from the Finder.
    – Alan Munn
    Commented Oct 24, 2018 at 2:15

How to put .sty and .cls Files where TexShop will find them:

Personalised sty files are stored in ~/Library/texmf/tex/latex.

The folder ~Library is a hidden folder. In Finder, click on your home folder in the Finder directory tree on the left hand panel of the Finder.

Next, the hidden folders then need to be made visible. This is done from a terminal. The terminal should open by default in your home folder.

Type into the command line:

defaults write com.apple.finder AppleShowAllFiles YES

followed by

killall Finder

The hidden files in you home folder should now be visible.

Choose the Library folder, then texmf, then tex, then latex. The sty files, or folders contain sty and cls files, can be placed into this folder.

Next, we need to make the hidden files invisible again. To do this, type into the terminal:

defaults write com.apple.finder AppleShowAllFiles NO

Then type

killall Finder

The hidden folders should now no longer be visible.

  • Welcome, using a terminal to make folders visible, move files, make folders unvisible again? Wow, OS X is complicated. Can't you just mv the files in your terminal? A decent bash will show you everything with the very simple ls -a.
    – Johannes_B
    Commented Jun 4, 2016 at 12:09
  • 1
    This really is not necessary. You can access hidden folders from the Go menu (see my answer for how). Also, once you've unhidden the folders, there's really no need to hide them again. Furthermore, since unhiding the Library is a generally useful thing, rather than unhiding all hidden files, it's better to selectively unhide the Library folder only by using chflags nohidden ~/Library/.
    – Alan Munn
    Commented Jun 4, 2016 at 20:02
  • @Johannes_B: that can be done on the Mac too. Under Yosemite and later you can also make it permanently visible in Finder by simply opening the HOME folder, typing Cmd-J and choosing to make it visible. From then it's visible in the HOME folder. Commented Jun 8, 2016 at 0:47
  • @AlanMunn So does Mac OS X no longer fade everything if you show so-called invisible files? That's what it started doing - bloody nuisance and certainly the only reason I started hiding them again.
    – cfr
    Commented Jan 12, 2018 at 0:26
  • @cfr I really have no idea. I never use the Finder for system files anyway, so I've never encountered the problem.
    – Alan Munn
    Commented Jan 12, 2018 at 4:17

This worked for me on Catalina without digging into ~/Library/texmf

sudo chown -R ${USER}:staff /usr/local/texlive
tlmgr install wrapfig
  • Welcome to TeX.se. Had you installed BasicTeX? wrapfig should have been installed with a full MacTeX installation, so you shouldn't have needed to install it manually.
    – Alan Munn
    Commented Apr 14, 2020 at 19:45
  • 1
    Also instead of changing the owner of /usr/local/texlive you should have just run tlmgr using sudo.
    – Alan Munn
    Commented Apr 14, 2020 at 21:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .