50

I'm reading this, where one of the respondents says to "get a package from CTAN". There are no installation instructions in the package mentioned.

I've installed texlive-full and use the long-term support version of Ubuntu precisely so I won't have to deal with this stuff, so everything will "just work".

Is there a command I can run from the terminal, like ctan-install or latex-install, that will find the packages I need, update them, etc.?

(sudo apt-get upgrade doesn't show that texlive-full needs updating.)

update: Thank you for the help, everyone. I think this is going to work (eventually). However as I keep downloading iso's, the synaptic package for texlive-full, and install-tl, my hard drive is now close to full with all of these TeX libraries! What should I delete after this is all over, and how? (I tried to remove the texlive-full meta-package in Synaptic and it said it would remove teXmacs as well.) Also: how am I ever going to keep this up to date and working with other programs I may install in the future?

10
  • 3
    Have you tried tlmgr update --all? tlmgr is the TeX Live manager and would download & install packages (from a default or given repository) from the command line.
    – Werner
    Commented Sep 9, 2011 at 19:58
  • 4
    This is related to the long-standing issue that Ubuntu uses an old version of TeX Live for 'stability', and so you are much better off installing TeX Live directly from TUG so that you can use tlmgr for installations. (The TL team sort out sorting out CTAN packages - it's not as simple as 'download and put in the right place'.)
    – Joseph Wright
    Commented Sep 9, 2011 at 20:46
  • 2
    @Joseph: sadly, I don't think stability is the reason really, rather that packaging TeXLive as deb packages is a huge mess nobody wants to do once a year...
    – raphink
    Commented Sep 9, 2011 at 23:16
  • 2
    @laotzu if you're going to use recent packages, I'd really recommend you drop the packaged version of TeXLive and install it with install-tl.
    – raphink
    Commented Sep 9, 2011 at 23:17
  • 2
    @laotzu: Follow the instructions over at tug.org/texlive/quickinstall.html
    – raphink
    Commented Sep 10, 2011 at 6:37

4 Answers 4

27

Another solution is to download TeX Live 2011 from here. After having installed it, and having performed the post-installation step, you can then use tlmgr to list the packages that are available for download or have been updated as follows:

sudo -i tlmgr update --list

You can also use the following command, for example, to get all the packages available for download/update:

sudo -i tlmgr update --all

To select a particular package for download/update, type the following command:

sudo -i tlmgr update <package-name>

This requires you to know the name of the package you want to download/update.

Alternatively, you may run the tlmgr in GUI mode by typing the following command:

sudo -i tlmgr --gui

This will allow you to select the packages that you want to install/update/remove.

Note that, in order to run tlmgr in GUI mode, you will need to install perl-tk.

P.S. Yes, I am using Ubuntu, and have not had a problem thus far....

P.P.S. The post installation step requires that you add the path to your TeXLive 2011 binaries in $PATH. To do this for all users, create a file called zzz-texlive.sh in /etc/profile.d/:

export PATH=/usr/local/texlive/2010/bin/`uname -i`-linux:$PATH
export MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH
unset TEXINPUTS
unset TEXMFCONFIG

Note that you will have to be logged in as root to do this. If you can't log in as root, create the file using the following command:

sudo vi zzz-texlive.sh

vi is a text editor that will allow you to create the file. You may, however, use other editors if vi is not your thing. Once you set up the paths correctly, and reboot your system, you can then run tlmgr as indicated above.

Note that the above post-installation solution was proposed by @Herbert here.

14
  • 1
    I installed Tex Live 2011 from the .iso but I still don't have tlmgr. Commented Sep 10, 2011 at 18:49
  • @Lao - <code>tlmgr</code> should come with TeXLive 2011. Have you set the paths correctly, as part of the post installation step? FYI - I will modify my answer to include this.
    – Bill
    Commented Sep 10, 2011 at 21:49
  • I think so. The post-installation step was to append PATH=/usr/x/y/z/:$path and more to the end of ~/.bashrc, right? Commented Sep 10, 2011 at 22:01
  • Yes, that is right. Try typing 'which tlmgr' at the system prompt. What does that give you?
    – Bill
    Commented Sep 10, 2011 at 22:04
  • BTW - You also need to capitalize $path (i.e. $PATH).
    – Bill
    Commented Sep 10, 2011 at 22:06
9

You can simply download it using wget, but this is off topic:

wget http://mirror.ctan.org/<package path+packagename.zip>

This command saves the package in the current working folder. You can change the target with

wget -O $HOME/Download http://mirror.ctan.org/<package path+packagename.zip>

Once downloaded, you can unpack the archive .zip with unzip.

Now you must copy the package (files) in a search path of TeXLive. I recommend a local folder. You can find the local folder with:

kpsexpand '$TEXMFHOME'

Normally it is saved in:

/home/<user>/texmf

Note: TEXMFHOME, like all trees, must be organized according to the TDS, or files may not be found. For details see: TexLive Directories

Lastly: Sometimes it is necessary to call mktexlsr to update TeX's filename database (FNDB).

7
  • 3
    But this just downloads the entire package (as a packed .zip). Could you add some detail about unpacking it in either the local directory, or migrating it to your distribution folder (and running texhash)?
    – Werner
    Commented Sep 9, 2011 at 20:03
  • Ah. I didn't know kpsexpand. I had found the word texmf in /usr/share/texmf/ so I was putting LyX / Sweave stuff in there (that's what started this whole multi-day installation process: trying to get Sweave to work). Did I maybe cause a problem by putting files there? Commented Sep 9, 2011 at 22:21
  • @LaoTzu: Private files should always been locate in the home directory. You can install such programs in /usr. For details see: Filesystem Hierarchy Standard. With the command kpsexpand '$TEXMFHOME' you didn't find the folder `/usr/share/texmf/ definitely. But I think you should ask such question on AskUbuntu Commented Sep 9, 2011 at 22:31
  • Right, I hadn't heard of kpsexpand until today. I was just looking around in the file system. I probably did ls -R / | grep texmf. I've looked at that Wikipedia article before and it doesn't make sense to me. Yes, this question is kind of a hybrid between (3) fora. Are TeX libraries "private"? Commented Sep 10, 2011 at 0:44
  • @LaoTzu: If the package author provided a TDS ZIP file then it should be under http://www.ctan.org/tex-archive/install/macros/latex/contrib/<name>.tds.zip. Simply unzip it over your TEXMF tree. Commented Sep 10, 2011 at 6:40
1

I think that, contrary to the blog instructions I found, it would have been easier to do a net-install of texlive as per http://www.tug.org/texlive/acquire-netinstall.html, rather than torrenting an iso, mounting the iso, and more instructions after that.

There seem to be fewer commands to run and fewer ways to get lost with the net-install.

Once the installation is finished, TeX Live will prompt you to edit ~/.bashrc, mutatis mutandi. Do that, then run mktexlsr and/or texhash. (I'm not sure what either command really does, but they seem to be important—and running them doesn't seem to muck anything up.)

Finally, you will have the CTAN command-line package management program tlmgr. This page lists several commands you should run with tlmgr, such as updating self and updating all.

If things go amiss, try reinstalling or updating packages with tlmgr and running texhash again.

-1
  1. wget http://mirror.ctan.org/package-path+packagename.zip
  2. unzip packagename.zip
  3. mkdir /usr/share/texlive/texmf-dist/tex/latex/packagename
  4. sudo cp /path/to/packagename/packagename.sty /usr/share/texlive/texmf-dist/tex/latex/packagename
  5. sudo mktexlsr
  6. Be happy.

Tested on Ubuntu.

You must log in to answer this question.

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