TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use MiKTeX on Windows and quite satisfied with it. Recently I started switching all my tasks toward open-source alternatives, and in the course I would love to use Linux. But the problem is in Linux TeXLive is available. The thing I really like about MiKTeX, is its ability to install packages automatically. Can I do the same in TeXLive too? Is there a way I can enable or install some plugins for it?

I am using Fedora 18, if that's needed.

share|improve this question
Welcome to TeX.sx! – Jubobs Apr 24 '13 at 14:20
You are new, so @Jubobs was being friendly :-) – Joseph Wright Apr 24 '13 at 14:27
Oh!! That link scared me!! – rafee Apr 24 '13 at 14:30
If you install the complete TeX Live collection (~2400 packages) you'll never ever need to add new packages. Everything will work just fine and all you'll need to do will be a matter of tlmgr update -all from time to time or tlmgr update <package> if you need something specific. As a Linux user I strongly suggest you not to install your distribution packages but go directly to the source and install TeX Live via one of these methods. This is closer to the Unix way of doing things and you will not regret it in the long run. – domenico Apr 24 '13 at 14:48
up vote 20 down vote accepted

While in MiKTeX an installation process is automatically triggered if you have, say, \usepackage{beamer} in a document preamble without the corresponding package installed, there is no such feature on TeX Live.

The last statement is not true actually, as pointed out by wasteofspace in the comments there is the texliveonfly package that implements the on demand installation in TeX Live 2010 and later. I never tested it and don't know if it has drawbacks.

However, if you install the full (or almost full) TeX Live collection of packages (~2400) you will not need to add new packages, a periodic tlmgr update -all will take care of everything, including the installation of packages added to the TeX Live collection after you first full installation. This feature is explained in the tlmgr manual.

Analogously, if a package has been added to a collection on the server that is also installed locally, it will be added to the local installation. This is called auto-install and is announced as such when using the option --list. This auto-installation can be suppressed using the option --no-auto-install

The manual has lots of info on useful commands and it is a recommended reading for every user.

The downside is of course that you need the full set of packages installed in your machine, which may be a problem if you don't have enough free space. If you really can't spare 2GB from your HD, it is also possible to install TeX Live in a, say, 4GB USB key and live happily ever after :)

Everything I just wrote requires that you install TeX Live with one the methods described here. If you decide to use the TeX packages from your distro you are forced to follow their update policy, which is different for different distros

share|improve this answer
never???! so the op will never be interested in an update, or in a new package? intriguing. i would suggest the texliveonfly package. (i can’t recommend it, since i’ve never used it, but it looks appropriate.) – wasteofspace Apr 25 '13 at 9:04
The OP will never have to care about packages because (i) he already has all available packages at the time of installation and (ii) packages added to TeX Live list after the first install will automatically be added via tlmgr update -all. I think that in the end you will install the vast majority of packages anyway, so it is simpler to just install everything and forget about it. However the package you mentioned looks interesting, didn't know about it, too bad I can't test since I already have the full installation ;) – domenico Apr 25 '13 at 12:04
can I use texliveonfly with TeXstudio? I tried replacing pdflatex command with "texliveonfly.py %tex", but that didn't do the job – rafee Apr 28 '13 at 15:04
It works for me with the following command: texliveonfly --compiler=pdflatex <filename>.tex (issued from a terminal, I don't know about TeXstudio). If you aren't using lualatex you need to specify the compiler with an option, since the default is set to lualatex. Also the documentation of the package is outdated, since the option --engine is no longer recognized. To be sure that everything is set to work, check if the a script called texliveonfly is inside your /bin directory. – domenico Apr 28 '13 at 15:14
thanks, I found the way. Its "/bin/texliveonfly" %.tex in place of pdflatex window. And the package works like a charm. Thanks to @wasteofspace for that – rafee Apr 28 '13 at 15:25

My rather simplistic approach was to search for \usepackage, extract the contents and install using the distribution's package manager.

cat *.tex | sed -n 's/^[^%]*\\usepackage[^{]*{\([^}]*\)}.*$/tex\(\1.sty\)/p' | paste -sd ' ' -

This returns a list of packages with .sty and surrounded by tex(), e.g. tex(amsmath.sty) tex(enumitem.sty) tex(graphicx.sty). I can pass these straight to yum/dnf (I'm using Fedora).

sudo dnf install $( cat *.tex | sed -n 's/^[^%]*\\usepackage[^{]*{\([^}]*\)}.*$/tex\(\1.sty\)/p' | paste -sd ' ' - )

There were a couple of packages I had split over multiple lines that the sed expression missed, which I installed manually using sudo dnf install 'tex(some-package-name.sty)'.

Hopefully there's a simple .sty installing equivalent for apt-get on ubuntu.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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