This question might belong elsewhere but I figured if I posted it here I might come across someone that deals behind the scenes of LaTeX. I'm an assistant Linux Admin at my school and we install LaTeX for our professors that obviously need it. Why is it, though, that doing a "yum install" of LaTeX results in installation of nearly 2500 different packages? I realize we may be installing more than the "average joe" might, but doesn't this seem like over-modularization of an application?
The obvious answer is: because it can. Most systems are less flexible and die at a much younger age than TeX. Look at other successful systems and you will find the same traits: Perl, Python, Java, Ruby, C, and Unix - to name a few.
However, it's actually quite surprising that LaTeX developed such a strong eco system of packages because TeX's DNA isn't really wired for it. TeX lacks proper modules, scopes and abstraction mechanisms that we are taking today as granted in programming languages. This means that modularity in TeX and LaTeX is based mostly on conventions and therefore is quite fragile (much like modularity in C).
So, while I understand that the many packages (and sometimes their incompatibilities) can be inconvenient, especially for less experienced users, it's actually a sign of strength. I'd suggest to play to TeX's strengths rather than fighting its weaknesses.
The last sentence might suggest that I see no point in improving TeX or LaTeX in particular with respect to modularity. Quite the opposite indeed, as I consider projects like LaTeX3 or LuaTeX as very important to carry TeX and LaTeX forward. I said it more in the sense that one should embrace the power and flexibility of TeX/LaTeX rather than trying to restrict it to make it simpler. With respect to the installation, projects like TeX Live already do the heavy lifting for users and administrators.
I think that's the best thing about LaTeX: you can customize it as you wish and add your own bits and pieces :D
You never know when you might need something specific, so you have a lot to choose from...
An answer is perhaps :
An extract :
I think this is a bit of a problem that arises with package managers and shared environments in general. In your Linux administrated systems you have the problem that only authorised people may install software – and more or less only software that has been packaged into the distribution may be installed.
In many cases it would be favourable that each user decides on their own which Tex packages they need to install – and in the best case, this package would virtually install itself. (I think Miktex on Windows made this possible.)
The tex structure makes the local installation a bit complicated though, because of its pretty special directory structure and therefore a it is rather impractical to have anybody install a package locally. The only way out for these systems seems to be the global installation routine – which means that 2500 packages need to be shipped to satisfy all needs.
protected by Martin Scharrer♦ Apr 5 '11 at 19:17
Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.
Would you like to answer one of these unanswered questions instead?