Install vanilla LaTeX on Ubuntu 14.04

<note> There is now a PPA to install TeX Live 2016 for both Ubuntu 14.04 and 16.04– checkout the new post: Install TeX Live 2016 on Ubuntu 16.04. </note>

In this post I will go through a vanilla installation of Tex Live– you may not want to do this. I’m choosing this installation method because of the ability to stay current with LaTeX updates and greater flexibility. However, for most people I would suggest installing the LaTeX setup in Ubuntu 14.04 repositories– search for texlive-full.

I will do the vanilla installation following the very thorough guide provided here: vanila LaTeX at stackexchange. The guide is for Ubuntu 12.10 but I’ll be doing this on Ubuntu 14.04. This will install TeX Live 2013, which is scheduled to be replaced by TeX Live 2014 in July 2014. However, TeX Live 2013 is the current implementation at this point.

First, get the installer:

$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar -xzf install-tl-unx.tar.gz

This will create the directory install-tl-*** where *** will be numbers (looks like a date to me) that depends on when you try this installation. Next, change into the directory and start the installer. For me, this was:

$ cd install-tl-20140417
$ sudo ./install-tl

This will start the installer and you can specify the options you like. I took this opportunity to set the default paper size to letter instead of A4. Once satisfied, press I to start the install– this will take quite a while (hours) due to the large size of the distribution.

Path for LaTeX

If you type:

$ pdflatex --version

at this point Ubuntu will still not know where to find the installation and suggest that you install something from the repository. To fix this, we create a link:

$ sudo ln -s /usr/local/texlive/2013/bin/* /opt/texbin

Then, we add the path to our environment file (I’ll use vim, but you can use nano, emacs, etc.):

$ sudo vim /etc/environment

Before the edit, I had the following in environment:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

which I change, to add our path:

PATH="/opt/texbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Now, to get these changes working you have to logout. When you login again, try the following to make sure that the changes worked:

$ which tex
/opt/texbin/tex

Telling Ubuntu LaTeX is installed

Now, because we didn’t use apt-get to install Tex Live, Ubuntu needs to be told that it’s installed. This can be accomplished with the equivs package in the Ubuntu repository:

$ sudo apt-get install equivs --no-install-recommends
$ mkdir /tmp/tl-equivs
$ cd /tmp/tl-equivs
$ equivs-control texlive-local

This will create the texlive-local file. An example of what the contents of this fill should look like is here: debian-equivs-2013-ex.txt. I copied the contents into my texlive-local and changed the maintainer information to my details. Finally, we create this fake Debian package and install:

$ equivs-build texlive-local
$ sudo dpkg -i texlive-local_2013-1_all.deb

Updating LaTeX

The Tex Live manager, tlmgr, can be used from the terminal as described in this post: vanila LaTeX at stackexchange. However, the full path will have to used. For example:

  • Update all packages that can be updated:
$ sudo /usr/local/texlive/2013/bin/x86_64-linux/tlmgr update --all
  • List packages that can be updated:
$ sudo /usr/local/texlive/2013/bin/x86_64-linux/tlmgr update --list

If you try either of the above commands at this date (June 2014) you will be told that TeX is frozen and no updates are allowed. This is done each year as the new TeX Live release is assembled and tested.

Finally, this install can moved to use TeX Live 2014 when it is released. See the notes here: vanila LaTeX at stackexchange.

Tags

api [1]   arduino [1]   audio [2]   audio features [1]   babel [1]   Bayesian [7]   Beta [1]   blog setup [1]   bootstrap [1]   bottleneck [1]   c++ [1]   caret [1]   cmpy [1]   conditional probability [6]   coursera [1]   coursera intro to data science [3]   css [1]   cython [1]   d3 [2]   decision trees [2]   diy [1]   dropbox [1]   dsp [1]   e1071 [1]   essentia [1]   garmin [1]   geojson [1]   ggplot2 [1]   gis [2]   git [1]   gnuplot [1]   graphs [1]   html5 [1]   igraph [1]   ipython [1]   javascript [7]   joint probability [6]   json [1]   LaTeX [2]   LDA [1]   Lea [2]   machine learning [3]   marginal probability [6]   matplotlib [1]   meteor [2]   mir [1]   MongoDB [3]   music [2]   my python setup [5]   my ubuntu setup [10]   mysql [3]   networks [1]   networkx [1]   nodejs [5]   npm [3]   numexpr [1]   numpy [1]   octave [1]   Open Oakland [2]   openpyxl [1]   pandas [3]   patsy [1]   pip [2]   pweave [1]   pygraphviz [1]   pymc [1]   PySoundFile [2]   python [15]   Python [1]   python 2.7 [5]   python 3.4 [2]   pyyaml [1]   qgis [1]   R [1]   randomForest [1]   restview [1]   resume [1]   rpart [1]   running [1]   scikit-learn [3]   scipy [1]   screen [1]   server setup [1]   shapefile [1]   social networks [1]   Socrata [1]   sound [2]   sphinx [1]   sql [4]   sqlite3 [1]   ssh [1]   ssh keys [1]   statsmodels [1]   supervised learning [2]   sympy [1]   tableau [1]   tinkerer [2]   topic models [1]   tree [1]   ubuntu 14.04 [13]   Ubuntu 14.04 [3]   ubuntu 16.04 [4]   vim [2]   virtualbox [1]   virtualenv [4]   virtualenvwrapper [3]   VPS [1]   vundle [1]   webpack [1]   yaml [1]