I was an early member of the TeX user's group (TUG) and have been a serious and happy TeX user for 15 years.
I use TeX itself just as Knuth wrote it and rarely have anything to do with LaTeX or any of the other extensions or preprocessors.
The TeX installation I use is ProTeX 1.2, which now is relatively old. From ProTeX 1.2, beyond TeX itself, I make heavy use of three more programs: (1) The screen preview program YAP (yet another previewer). (2) The program DVIPDFM.EXE for converting TeX output files with extension DVI (device independent file) to PDF. (3) The spell checker Aspell.
I type my input into my favorite, general-purpose, programmable editor KEdit. Nearly all my typing for anything goes into KEdit -- blog posts, e-mail, notes on cooking to car and house maintenance, programming in ASP.NET, Visual Basic .NET, C, PL/I, Fortran, Rexx, etc. And I use Aspell for essentially all my spell checking.
Point: My means of input to TeX is just this general purpose text editor. I do a lot of typing, use this editor heavily and have for 25 years, and, thus, have good facility with it. So, I minimize typing into anything else and am pleased that for TeX I can type just into this same text editor. In particular, for entering TeX I want nothing to do with any other tools for typing. I would consider converting to an editor better than KEdit, but I see no candidates.
I have a Ph.D. in applied math, and for me TeX is one of my most important professional tools. Why? A crucial reason is, for typing math TeX is well designed.
Since TeX has high quality in many respects, I also use it for nearly all my higher quality word processing -- letters, foils, technical documentation, business plans, etc.
II. How to Use TeX.
There is a book, Knuth's 'The TeXBook'. It is polished documentation, very carefully written to make first and easy things easy but still contains a lot of detail. Really you need a copy of the book and to read at least the easier parts cover to cover.
In its internal design as software, TeX makes heavy use of the idea of 'macros'. The main idea of the macros is just string substitution. The main use of the macros is just to replace some frequently used long patterns of typing with short patterns.
The macro language is powerful enough that TeX is really a programming language. Yes, the language supports arithmetic, string manipulations, if-then, loops, and reading and writing files.
The language also has an elegant 'architecture' of scope of names. So there is the nested and static scoping of what is typed in and also the nested and dynamic scoping as the macros execute. For this scoping, there is memory management with a push down stack with some enhancements.
So, a good TeX user will write some macros, and I have over 100 that I have used for years and write new ones occasionally. I have macros for tables of contents, automatic numbering of chapters, sections, tables, and figures, cross referencing, bibliographic entries, simple lists, ordered lists, and lists with bullet points, putting TeX annotation on figures, using some of the special math fonts from the AMS (American Mathematical Society), more in memory management, etc.
TeX has a concept 'verbatim' which means to produce output 'just as entered' and that might contain characters such as '$_%\' usually treated in special ways in TeX. I have several macros for verbatim, and some of these are good for listing source code and TeX macros.
To create a new document with TeX, I make use of the windows in Windows: So, I have one window with KEdit with the document I am creating, one window for the screen preview program YAP, and one window to run the TeX program itself. These three windows work well.
So, I type in my document, run TeX, and look at the output in YAP. The process works well.
If there is some tricky TeX usage in my document, then at the tricky part I repeatedly execute a fast loop of type, run TeX, and look at YAP.
TeX is so efficient that on a PC with a 1.8 GHz processor, usually TeX is done in less than two seconds, maybe less than the time it takes for me to get my finger off the Enter key.
I have enough experience with TeX that now I rarely have to look at my copy of 'The TeXBook'. E.g., my main collection of TeX macros are all in one directory and have documentation, and I have a KEdit macro that displays the directory of TeX macros so that I can easily check details. I have many examples of TeX usage, and for something tricky I've done before I just look at the old example.
Generally in my computer usage, I want to script things; TeX is easy to drive with scripts, and I do that.
Going back at least to Xerox PARC, there is a 'paradigm' of computer 'graphical user interface' (GUI) based heavily on buttons like on a kitchen appliance and a mouse for pushing the buttons. Microsoft's Word, Excel, and PowerPoint are based heavily on this paradigm. There are 'integrated development environments' (IDEs) for writing software that make heavy use of this paradigm. There are Web browsers, and now there is more with 'smart phones'.
GUIs have revolutionized computing: E.g., on the Internet GUI Web browsers are one of the main differences between the current Web which is changing the world and various 'bulletin board' systems that came before which changed little.
But GUIs have some problems; TeX is not based on GUIs, and I don't want it to be.
There is an old description: "With 'what you see is what you get' (WYSIWYG), what you see is all you've got.". To see the importance of the difference, with TeX your input is explicit, in text, in a file, and, if you wish, with some documentation of any tricky parts. E.g., my simplest verbatim macro has 54 lines of documentation and 7 lines of TeX code. So, with the 'explicitness', you know what you did, can copy it, use it again, document it, modify it, etc., and all such things are more difficult to worse with GUI WYSIWYG approaches.
No single piece of software is everything, and neither is TeX.
It is possible to look at TeX and wish for more.
So, just what is TeX and what is it good for?
The history is clear: For Knuth's series of books, 'The Art of Computer Programming', the publisher Addison-Wesley told Knuth that for his next edition they were going to use an approach to typesetting that would reduce the 'typesetting quality' of the results. So, Knuth wrote TeX so that he could do the 'typesetting' for his books himself and deliver to the publisher 'camera-ready' copy or perhaps just some files.
So, Knuth wrote TeX to let him write his books.
Knuth presented his work to the American Mathematical Society that quickly took TeX seriously. Why? For typing math, TeX is terrific, was much better than anything else, and mostly still is. Otherwise, the typesetting quality is about as high as typesetting gets.
So, TeX is also good for developing camera ready versions of papers in mathematics.
Quickly TeX became the international standard for word processing of more mathematical material in all of the more mathematical fields in science and engineering.
Since then, TeX has been used for the word processing for many books in mathematical fields.
TeX is good for such word processing: TeX was designed for such work and is heavily used for it.
Note: With TeX, Knuth was essentially looking backwards in time, not forward. So, he was writing software to automate, with high quality, what was old and solid but slow and expensive in manual typesetting for mathematics and to be printed on paper. So, he was not trying to do all of word processing, graphical design, interactive user interface, and software development for the future of information, computing, the Web, and civilization.
Notice the typesetting and 'graphical design' in Knuth's 'The Art of Computing' and 'The TeXBook' and in papers with a lot of mathematics:
(1) There isn't a lot of color; mostly it's just black and white.
(2) There fonts are not 'stylish' like can find in printed advertising.
(3) There are only a few tables and figures, and the figures are mostly simple line drawings, X-Y graphs, or photographs.
(4) The output is to be on paper and not 'interactive' or continually updated. That output can also be converted to PDF and still not be interactive.
(5) Typically the writing is by no more than a few authors so that the techniques for coordinating the work of many people on one large software development project are not relevant.
Net, the emphasis is on the technical content and not the typography, graphical design, GUIs, or large work groups.
So, now we know what TeX is good for.
IV. Warnings.
For the math, be well advised to stay with just Knuth's math fonts standard in TeX and the AMS fonts and symbols. Once you are staying with these math fonts, for the text just stay with Knuth's Computer Modern fonts that are standard in TeX and work well with the math fonts.
For developing your own high quality math fonts for TeX, that'd be a LOT of work. For using fonts for text other than Knuth's standard Computer Modern, it would be a lot of work to get them to work well with Knuth's math fonts.
If you are not doing math, then you can work to use fonts Helvetica, Bookman, Century School Book, etc. for your text, but then there will be some question just why you are using TeX.
If you are developing a Web page, then use HTML and whatever, maybe ASP.NET, that helps writing HTML. TeX and HTML have very different purposes.
If, compared with TeX, you want a lot more or something very different, then you will likely run into problems from limitations from the original intentions of TeX.
If you want something as good as TeX where TeX is good plus a lot more, then don't hold your breath while waiting for it.
If you want to write a better TeX yourself, then start with Knuth's voluminous, exemplary, polished, very finely detailed documentation in volumes A-E of 'Computers and Typesetting'. After reading that material, you may decide that you have better things to do than writing a better TeX.
Don't think that TeX and HTML compete: They are designed for very different purposes.
Actually, I'd argue that HTML had a very similar goal to TeX with a very different philosophy. That goal was purely the sharing of information. Some early browsers even had postscript interpreters so you could link to papers and view them in the browser. The first website at SLAC (first site in the US) was purely meant to be a gateway to the SPIRES database.
I guess what I'm trying to say is that their histories are interwoven, and despite being different technologies, they shared a common goal and worked together. It's possible philosophy of what a web browser is probably led to their divergence more than anything.
I've suspected that Tim Berners-Lee knew TeX before he did HTML. That he was a physicist in computing at CERN means that he had to have seen TeX.
I'd say that the main difference is that TeX was looking backwards and HTML, forwards. Again, TeX was trying to computerize old, stable, slow, expensive, high quality manual typesetting for math, and HTML, at least now, is on the way to being the main way people view nearly all information and interact with computers. The emphasis on the 'typographic quality' of the results is very different: TeX goes for the highest quality, and HTML is to be quick and dirty.
Yes, both had smaller beginnings: For TeX, Knuth wanted to write his books. For HTML, Berners-Lee wanted a physics newsletter.
At this point there is a huge difference: TeX is solidly frozen, and HTML continues with changes as fast as Jeff Jaffe and the rest of computing can implement,
In the future, sure, HTML could replace TeX. For the very high quality paragraph setting, there's no fundamental reason HTML could not specify and implement that. For the math, similarly. There does need to be an 'executing language' (TeX is a programming language, maybe Turing machine equivalent, and not just static text), but JavaScript might suffice.
A big advantage would be that HTML now knows about all the characters in all the languages.
But such high interest in math is likely in conflict with reality!
I can respond here in sections:
I. My Background.
II. How to Use TeX.
III. What TeX is Good for.
IV. Warnings.
below:
I. My Background.
I was an early member of the TeX user's group (TUG) and have been a serious and happy TeX user for 15 years.
I use TeX itself just as Knuth wrote it and rarely have anything to do with LaTeX or any of the other extensions or preprocessors.
The TeX installation I use is ProTeX 1.2, which now is relatively old. From ProTeX 1.2, beyond TeX itself, I make heavy use of three more programs: (1) The screen preview program YAP (yet another previewer). (2) The program DVIPDFM.EXE for converting TeX output files with extension DVI (device independent file) to PDF. (3) The spell checker Aspell.
I type my input into my favorite, general-purpose, programmable editor KEdit. Nearly all my typing for anything goes into KEdit -- blog posts, e-mail, notes on cooking to car and house maintenance, programming in ASP.NET, Visual Basic .NET, C, PL/I, Fortran, Rexx, etc. And I use Aspell for essentially all my spell checking.
Point: My means of input to TeX is just this general purpose text editor. I do a lot of typing, use this editor heavily and have for 25 years, and, thus, have good facility with it. So, I minimize typing into anything else and am pleased that for TeX I can type just into this same text editor. In particular, for entering TeX I want nothing to do with any other tools for typing. I would consider converting to an editor better than KEdit, but I see no candidates.
I have a Ph.D. in applied math, and for me TeX is one of my most important professional tools. Why? A crucial reason is, for typing math TeX is well designed.
Since TeX has high quality in many respects, I also use it for nearly all my higher quality word processing -- letters, foils, technical documentation, business plans, etc.
II. How to Use TeX.
There is a book, Knuth's 'The TeXBook'. It is polished documentation, very carefully written to make first and easy things easy but still contains a lot of detail. Really you need a copy of the book and to read at least the easier parts cover to cover.
In its internal design as software, TeX makes heavy use of the idea of 'macros'. The main idea of the macros is just string substitution. The main use of the macros is just to replace some frequently used long patterns of typing with short patterns.
The macro language is powerful enough that TeX is really a programming language. Yes, the language supports arithmetic, string manipulations, if-then, loops, and reading and writing files.
The language also has an elegant 'architecture' of scope of names. So there is the nested and static scoping of what is typed in and also the nested and dynamic scoping as the macros execute. For this scoping, there is memory management with a push down stack with some enhancements.
So, a good TeX user will write some macros, and I have over 100 that I have used for years and write new ones occasionally. I have macros for tables of contents, automatic numbering of chapters, sections, tables, and figures, cross referencing, bibliographic entries, simple lists, ordered lists, and lists with bullet points, putting TeX annotation on figures, using some of the special math fonts from the AMS (American Mathematical Society), more in memory management, etc.
TeX has a concept 'verbatim' which means to produce output 'just as entered' and that might contain characters such as '$_%\' usually treated in special ways in TeX. I have several macros for verbatim, and some of these are good for listing source code and TeX macros.
To create a new document with TeX, I make use of the windows in Windows: So, I have one window with KEdit with the document I am creating, one window for the screen preview program YAP, and one window to run the TeX program itself. These three windows work well.
So, I type in my document, run TeX, and look at the output in YAP. The process works well.
If there is some tricky TeX usage in my document, then at the tricky part I repeatedly execute a fast loop of type, run TeX, and look at YAP.
TeX is so efficient that on a PC with a 1.8 GHz processor, usually TeX is done in less than two seconds, maybe less than the time it takes for me to get my finger off the Enter key.
I have enough experience with TeX that now I rarely have to look at my copy of 'The TeXBook'. E.g., my main collection of TeX macros are all in one directory and have documentation, and I have a KEdit macro that displays the directory of TeX macros so that I can easily check details. I have many examples of TeX usage, and for something tricky I've done before I just look at the old example.
Generally in my computer usage, I want to script things; TeX is easy to drive with scripts, and I do that.
Going back at least to Xerox PARC, there is a 'paradigm' of computer 'graphical user interface' (GUI) based heavily on buttons like on a kitchen appliance and a mouse for pushing the buttons. Microsoft's Word, Excel, and PowerPoint are based heavily on this paradigm. There are 'integrated development environments' (IDEs) for writing software that make heavy use of this paradigm. There are Web browsers, and now there is more with 'smart phones'.
GUIs have revolutionized computing: E.g., on the Internet GUI Web browsers are one of the main differences between the current Web which is changing the world and various 'bulletin board' systems that came before which changed little.
But GUIs have some problems; TeX is not based on GUIs, and I don't want it to be.
There is an old description: "With 'what you see is what you get' (WYSIWYG), what you see is all you've got.". To see the importance of the difference, with TeX your input is explicit, in text, in a file, and, if you wish, with some documentation of any tricky parts. E.g., my simplest verbatim macro has 54 lines of documentation and 7 lines of TeX code. So, with the 'explicitness', you know what you did, can copy it, use it again, document it, modify it, etc., and all such things are more difficult to worse with GUI WYSIWYG approaches.