I have tried various different markup/markdown languages and have found myself coming back to TeX for the ease of typing. I have always wondered what are the features which make TeX such an easy-to-type language. For example, the backslash \ is an excellent method to differentiate commands from the text since they do not require much more than a single keypress.

Also, I have found that customizing/writing small shortcuts for features in LaTeX is quite easy due to the same features. Does this flexibility extend to the bigger packages as well? Is this the reason almost every university is able to model its own thesis class and every guy is able to model his own paper style?

I would like to study the features of TeX which make it so easy to customize and write. At the same time, I want to study the features which make it so hard to operate with the backend programmatically. I am aware that some of the features are dual in nature, they increase writing prowess and as an effect reduce the programming ease.

So, basically, I am interested in three kinds of lists:

  1. Features which make TeX easy to write/customize
  2. Features which make TeX hard to program at the backend
  3. Features which inherently do both of the above.

The idea is that if the backend can be written in a more maintainable language and a frontend to backend compiler can be built to easily convert the user written package code into a backend. Then, it will be possible for us to develop a programmatically better version of TeX.

The bottom line is that the TeX code is really great for user customization and writing technical stuff, however, the same code causes lot of anguish at programming level. However, if it is possible to "shift gears" at some level, then there might be a better way to implement TeX.

closed as not a real question by yo', Qrrbrbirlbel, lockstep, diabonas, Martin Schröder Oct 25 '12 at 20:37

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 7
    So many have tried. So many have failed. – morbusg Oct 25 '12 at 18:13
  • @morbusg : Yes! I am interested in analyzing either the failures or the success of TeX. If TeX is really one of the best trade-offs, then I would interested in analyzing why. It may not be possible, but it just might be? – user7013 Oct 25 '12 at 18:15
  • Because so far, TeX is best in seperating content and form, and the default form has a high standard itself (with tables being the only exceptions for both "seperating" and "high standard"). I can have a 400-page-long thesis, and without changing more than the document header, I can customize its appearance completely. On the other hand, I can make a letter to my ISP in moreorless the same time as someone else can in a "clickable document tool". – yo' Oct 25 '12 at 18:44
  • 10
    tex was created by a mathematician/computer scientist for the purpose of producing his own books. he intended for the input language to be usable by his secretary as well as by himself; he (of course) was fully capable of making adjustments to the back end. only later (though not by much) did it creep out into general use. much of the history has been written down and published from interviews and q&a sessions; knuth's book "digital typography" has most of this. this doesn't really answer your questions about features, but it should explain the rationale. – barbara beeton Oct 25 '12 at 18:48
  • 7
    TeX macro programming is hard because Knuth didn’t want it to be programmable from the start, he didn’t like the fact that each application was inventing its programming language, those features were added later after “kicking and screaming” when it was absolutely necessary, Knuth imagined people who want to customise TeX would modify its Pascal code, but this didn’t happen to a large extent and people did all sorts of crazy things using macros instead. – Khaled Hosny Oct 25 '12 at 19:42