TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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

It seems to me that everyone agrees that no one should use the latex built-in eqnarray environment. So much so that packages have been made to fix it, and several alternatives have been made, ie. align from amsmath, just to name one.

But seeing as everyone agrees the latex built-in eqnarray environment is broken, why is it never fixed in the latex core?

Surely there is some big obvious reason, and I am just missing it, but I have ragged my brain and googled and searched to no avail in the attempt to find out why.

share|improve this question
8  
If you have a gun that always overshoots to the right and you know that, you will still get your target. If somebody fixes your gun and it works perfectly now, you will not get your target anymore, or with a lot of redoing stuff. In other words, old documents would not be the same. – Johannes_B Feb 1 at 14:50
1  
compatibility is a good reason as the two command letter as \it – Romain Picot Feb 1 at 14:50
    
For instance, eqnarray doesn't work well with hyperref; a real fix should also take care of this. – egreg Feb 1 at 15:29
3  
Fixing it would hurt the demand for new packages. With the CTAN repository growth at 0.2% this last quarter, prognosticators worry that the package-nomic indicators might plunge LaTeX into a recession. A call for quantitative easing has already been raised to counter these trends. I'm just kidding! Really – Steven B. Segletes Feb 1 at 15:32
1  
@Born2Smile no. no one has ever discovered that eqnarray was broken, it works as designed. the fact that amsmath offers a different layout which more people recommend does not mean that eqnarray is broken. or needs fixing. – David Carlisle Feb 1 at 20:45
up vote 3 down vote accepted

I vaguely remember reading that Donald E. Knuth has frozen the codebase except for actual errors in function that cannot be worked around reliably. His versioning system is a key to what his thoughts on this matter were, his popular projects have version numbers that approach (but can never reach) various trancendental numbers.

Then as mentioned there is no point in rocking a seaworthy boat.

Also we should try and get in Donald's head where he offered bounties for finding errors in his books (of which he paid out some $2.56 cheques of which most were framed and not cashed). He was a pragmatic perfectionist. Do what need to be done to get the job done but no more, the version numbers would keep getting longer if the code was tinkered with endlessly which will discourage random tinkering.

TeX was just Donald's way of getting presentable typesetting for his own books that could no longer be served by Hot metal typesetting and hand tuned equations. We should be thankful that he has had a lot of foresight many of us would have run past blindly.

share|improve this answer
6  
Elvis is dead, Jim Morrison is dead, but DEK is still living. Apart from that, LaTeX is built on top of TeX and LaTeX changes (recently quite a bit). – Johannes_B Feb 2 at 8:41
    
@Johannes_B I'd be wary of saying LaTeX has 'recently [changed] quite a bit'. The team have made adjustments to deal with Unicode engines and the fact they need some fundamentally different assumptions to 8-bit engines, but other than that no changes are being made to latex.ltx. – Joseph Wright Feb 2 at 10:00
    
@JosephWright My point was to mark the difference between TeX (and other implementations) and LaTeX. – Johannes_B Feb 2 at 10:06
2  
This answer does not address the question at all: eqnarray was never implemented by Donald Knuth or affected by the development or freezing of tex-the-program. – David Carlisle Feb 2 at 16:10

Fixing it would have mostly disadvantages.

Firstly for any serious math use you probably want amsmath anyway, that adds far more than a better eqnarray and if you are loading amsmath and not using eqnarray then fixing it has no benefit.

eqnarray has been the way it is for 30 years and the main thing wrong with it is over-wide spacing around the = in that time many people have fixed that in various ways many of them equivalent to ...\!&=&\!... If the spacing were changed these documents would get no warning but the left and right sides of the equation would start over-printing the relation. It is not clear that everyone would see that as an improvement.

LaTeX can not absolutely guarantee that a 30 year old document processes without error but we would not make a change that knowingly broke such documents.

share|improve this answer
2  
A reason is, what a reason is, I guess.. however, I am still perplexed.. How can the fact that latex core is in such a poor state that it oughtn't be used without amsmath, be a justification for not fixing it? I should think it the contrary. Also, if people were fixing it with hacks like that, why wasn't it fixed then, once and for all? Surely the hacks just prove people knew about the problem and didn't fix it, or? – Born2Smile Feb 1 at 20:25
2  
@Born2Smile saying you need amsmath for mathematics isn't that different to saying you need to load article to define \section the format is determined by the memory requirements of emtex in 1993. Lots functionality is loaded by external files, that;s how latex works (and how it has been able to adapt so well to changing circumstances). But what could have been done in an alternative universe isn't that relevant, the fact is now I can see no advantages in changing something that has been in continuous use for 30 years. – David Carlisle Feb 1 at 20:44
    
@Born2Smile -- eqnarray is the way it is by design. it's the approach that leslie lamport thought was appropriate; the reason for this opinion is not known, or at least i've never seen it documented. – barbara beeton Feb 3 at 16:08

Your Answer

 
discard

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.