46

I understand that the following question has been answered

Why is the MacTeX distribution so large? Is there anything smaller for OS X?

but my question differs from it. I just installed MacTeX and it used over 4 gigabytes of space on my computer. I understand the full LaTeX uses many, many libraries, but this is as big or bigger than an operating system. So my question is:

Why can't the developers of TeX Live create it so it has very low overhead?

Details would be really appreciated.

I can only imagine the possibilities such as including it in web browsers and other applications/plugins (keynote, powerpoint, etc.).

9
  • 12
    Then install TeXLive manually. The advanced installer include various schemes which vary in size.
    – daleif
    Commented Jun 18, 2013 at 14:33
  • 4
    I guess, since the price of 1GB of internal (non-SSD) hard disk storage is currently in the order of 5 cent (US), none of the developers really cares enough.
    – Caramdir
    Commented Jun 18, 2013 at 23:13
  • @Caramdir I understand why it is that size, but if you see the last point I made, I care more about reducing the size so that maybe in the near future LaTeX becomes a more widespread standard. It would make no sense to install a browser that needed 4GB space just for a TeX library.
    – lababidi
    Commented Jun 19, 2013 at 17:56
  • 2
    @lababid: If you take just the lualatex executable (and necessary supporting programs), a minimal amount of packages and use system fonts you'll probably only need a couple of megabytes. But that won't be "TeX Live" anymore. Also your TeX-in-browser idea will very likely need a special implementation anyway. The standard TeX engine can't just be plugged into a browser rendering engine.
    – Caramdir
    Commented Jun 20, 2013 at 2:06
  • 1
    FWIW, ConTeXt Minimals with all the installed packages is 300MB. If you strip away the MkII stuff (including binaries), then the size will be reduced by more than half.
    – Aditya
    Commented Aug 23, 2014 at 13:43

5 Answers 5

36

As you can see from

$ du -sch /usr/local/texlive/2012/texmf-dist/* | sort -hr

3,8G    insgesamt
1,5G    /usr/local/texlive/2012/texmf-dist/doc
1,4G    /usr/local/texlive/2012/texmf-dist/fonts
726M    /usr/local/texlive/2012/texmf-dist/source
218M    /usr/local/texlive/2012/texmf-dist/tex
22M     /usr/local/texlive/2012/texmf-dist/tex4ht
16M     /usr/local/texlive/2012/texmf-dist/bibtex
11M     /usr/local/texlive/2012/texmf-dist/scripts
6,6M    /usr/local/texlive/2012/texmf-dist/dvips
3,9M    /usr/local/texlive/2012/texmf-dist/metapost
2,1M    /usr/local/texlive/2012/texmf-dist/omega
1,9M    /usr/local/texlive/2012/texmf-dist/ls-R
1008K   /usr/local/texlive/2012/texmf-dist/context
444K    /usr/local/texlive/2012/texmf-dist/metafont
308K    /usr/local/texlive/2012/texmf-dist/makeindex
256K    /usr/local/texlive/2012/texmf-dist/pbibtex
48K     /usr/local/texlive/2012/texmf-dist/texdoctk
36K     /usr/local/texlive/2012/texmf-dist/mft
20K     /usr/local/texlive/2012/texmf-dist/texdoc
12K     /usr/local/texlive/2012/texmf-dist/web2c

the major part is documentation and fonts. If you are satisfied with a single font and without documentation, the distribution can be much smaller. There were several attempts to create such a minimalistic distribution, but I'm not sure if they are still available (edit: I just rediscovered one: grailtex).

And as daleif stated in his comment, you can install a much smaller TeX Live as well.

As real overhead, maybe the source directory counts, which is also quite large. It consists of sources of most of the stuff in the other directories such as LaTeX packages etc. But this is rather a political than a technical question, therefore I leave it to the TeX Live people to answer it (IIRC they already answered it, maybe on the TeX Live mailing list).

7
  • Would it really be without documentation, though? Isn't there a way to keep all of the dtx sources? (Thinking out loud; I'm not even sure the sources are distributed.) Commented Jun 18, 2013 at 20:59
  • 1
    @SeanAllred: The sources are distributed (in /source), but the PDF versions are probably more useful to most people.
    – Caramdir
    Commented Jun 18, 2013 at 23:06
  • @Caramdir True -- I'm still struggling with how to compile one of those dtx-fangled things (although it may have something to do with not having doc or docstrip?). It's plain to see though that source/, while sizable, is significantly smaller than doc/. Your documentation can be generated ad-hoc if need be. Commented Jun 18, 2013 at 23:12
  • 1
    @SeanAllred but who other than extremists would generate documentation when needed? If I have a problem and need to look in the manual, I don't want to have to compile the manual first, that is a waste of my time.
    – daleif
    Commented Jun 21, 2013 at 8:24
  • @daleif It's not a waste of your time if you need the manual. (And are we really talking about how long it (doesn't) take to compile a document?) Commented Jun 21, 2013 at 12:35
16

[Slightly tangential but perhaps useful.] The LaTeX3 team have recently set up an automated test system which needs to install 'just enough' TeX Live to work. That's done using a script but the key ideas are

  • Install only the minimal scheme (so install-tl -scheme scheme-minimal)
  • Deselect installation of sources and documentation
  • Add on only a minimum of required packages after installation

For us, this is wrapped up using a profile inside the script:

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

# Set up the automated install
cat << EOF >> texlive.profile
selected_scheme scheme-minimal
TEXDIR /tmp/texlive
TEXMFCONFIG ~/.texlive2015/texmf-config
TEXMFHOME ~/texmf
TEXMFLOCAL /tmp/texlive/texmf-local
TEXMFSYSCONFIG /tmp/texlive/texmf-config
TEXMFSYSVAR /tmp/texlive/texmf-var
TEXMFVAR ~/.texlive2015/texmf-var
option_doc 0
option_src 0
EOF

./install-tl --profile=./texlive.profile
export PATH=/tmp/texlive/bin/x86_64-linux:$PATH

# Core requirements for the test system
tlmgr install babel babel-english latex latex-bin latex-fonts latexconfig xetex

You might notice we install without sudo (due to the set up of the automation) and as we don't know the user name for the installation we put it somewhere reliable and writeable (/tmp): that would obviously be different in a 'production' system. The above installation is less than 25 Mb to download and the installation is small (under 200 Mb). We are aiming more to minimise download size than disk use, but this gives some idea of what is possible. (For example, the minimal scheme installs BibTeX and MakeIndex, which we don't need but there is no point in removing for us. To reduce disk use even more one could uninstall those after the initial installation, again something that could be scripted.)


Update: there is now a scheme infra-only which installs only enough stuff to allow tlmgr to work. This is there for specialist cases such as test rigs, and doesn't include TeX itself! If you really want a small system, starting from there and adding packages is the way to go at the cost of a tricky time working out what to install.

6

You can install a much more minimalistic texlive using profiles. Have a look at this install script I use in my github repo. I have this install just the packages I need to build the PDFs using travis-ci:

https://github.com/BPA-CSIRO-Workshops/handout-template/blob/master/developers/texlive_install.sh

The profile file is in the same directory.

4

Specifically on OS X you can install the much smaller, yet very capable, BasicTeX distribution of TeXLive and install select packages on top of that. I have been doing this for years and the size of my installation is 376 MB.

3
  • Do you have a handy command to install missing packages?
    – drevicko
    Commented Jun 15, 2020 at 23:21
  • Sorry, I don't. I haven't updated my LaTeX installation recently but relied on the TeXLive Utility to do that. Commented Jun 16, 2020 at 7:35
  • texliveonfly looks to do the job.
    – drevicko
    Commented Jun 18, 2020 at 0:18
0

All the docs and fonts on my system were installed through installing texlive-full (while convenient, is true to its name). I never use the builtin docs since looking things up online such as on this site is faster for me, and maybe only one or two fonts.

https://askubuntu.com/questions/129566/remove-documentation-to-save-hard-drive-space has instructions on how to remove most of the docs, or you can uninstall texlive-full completely and then reinstall only the needed components, ex. How to remove everything related to TeX Live for fresh install on Ubuntu?

You must log in to answer this question.

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