Extended TeX: Past, Present, and Future
First time accepted submitter Hamburg writes "Frank Mittelbach, member of the LaTeX Project and LaTeX3 developer, reviews significant issues of TeX raised already 20 years ago. Today he evaluates which issues are solved, and which still remain open and why. Examples of issues are managing consecutive hyphens, rivers of vertical spaces and identical words across lines, grid-based design, weighed hyphenation points, and overcoming the the mouth/stomach separation. Modern engines such as pdfTeX, XeTeX and LuaTeX are considered with regard to solutions of important problems in typesetting." Note: When TeX was first released, Jimmy Carter was president.
Interesting.
When TeX was new people were not accustomed to seeing well type set documents unless they came from a legitimate publisher. I wrote several college papers in TeX and I think the presentation let me get a few mistakes past my teachers. I've not seen anything better for formulas - even today TeX documents have a more polished feel to them.
All generalizations are false, including this one. Mark Twain
\Post{first}
Oh dear oh dear, I hope Donald Knuth doesn't see that Slashdot doesn't seem to allow the correct METAFONT for displaying the program name! Pissing off Donald Knuth would be like kicking the Dalai Lama.
Is it possible to represent it in it's proper format via this version of Slashcode?
I deny that I have not avoided attaining the opposite of that which I do not want.
I just recently reviewed the landscape of document writing systems for a client.
TeX (and LaTeX, and such) are a fine choice for specific purposes. There's a lot of functionality, it's robust and widely used. If you're writing a journal submission paper, it's a good choice.
The publishing landscape has changed. There are now many more types of document (help files, web pages, books, articles, owner's manuals, laws, contracts) that people want to write, and the TeX family is inconvenient for many of them.
XML is a more comprehensive document content specification. It easily covers all of the common document types (including those for which the TeX family is useful) and is extensible in a straightforward manner.
As a specific example, DocBook (a specific XML scheme) covers all cases where TeX is useful, and many more. An XML processing system can convert to any presentation format (HTML, XHTML, PDF, Microsoft Help, Text), and it's straightforward to build converters for new formats.
(There are also other XML schemas.)
The drawback of DocBook and XML in general is that installation is a nightmare. So far, there's no "one package install" that gets the author up and running. XML processing is a series of steps, with each step served by one of several open source packages. The author must choose and install software for each step, usually without any indication which is best for his purposes. This only needs to be done once, though. (For open source - paid software packages have this sorted out.)
(For example, see how long it takes you to install DocBook 5.x on a windows system.)
The TeX family is a good choice, but if you're not already using it consider learning a more recent solution.
nothing that old can possibly be relevant anymore (cf "trust no one over 30"). it should be replaced with something more responsive to a one-hand touch interface abbrev friendly imho. math, a central theme in TeX, no longer has any relevance to the modern world (just ask any millionaire agile scrum extreme php programmer). any remaining bits of math are done entirely by app; the vestigial remnants of the usefulness of "math" can only be found in the interjections of animated characters. only a tiny ancient dying breed of tenured academics (and i suspect *europeans*) would ever seek typography beyond the standards of MSWord. page layout was forever perfected by expensive per seat layout software around 1996 and requires no more changes. markup languages are too hard to learn. anything that requires a compiling phase has gone the way of C++. the world is better now as everything old and outmoded quickly recedes. sine-die.
TFA doesn't address the extreme crapitude of embedding pictures in Tex. I could drive myself to drink converting everything to EPS, or poorly scalable bitmaps before embedding them, but I don't want to.
The issues of imperfect typesetting are not the barrier to entry for potential TeX users. Picture embedding is.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
TeX works fine until you try to use it with more than just text. The second you try to add any images or floats it becomes retarded it does stupid things like put images in wrong chapters, makes large areas of blank space, renders text overlapping with images, etc...
Couple of good reads regarding LaTeX. 50 Shades of LaTeX: The Pain the Pleasure http://airminded.org/2005/11/18/latex-the-pain-the-pleasure/ http://crookedtimber.org/2005/04/27/fetishizing-the-text/
Beware of those who profit off the docile and persecute the unbelievers.
I always thought of TeX as the last gasp of the RUNOFF/nroff/troff/ditroff line of document preparation; the last of the command-line oriented word processors. Having had access to Interleaf from 1985. TeX seemed so retro. (Interleaf was like Microsoft Word for Sun workstations. It was very early, very good, and very expensive.) TeX still had a compile-run-debug workflow, and without a graphic display, you had to run a hard copy on something like an electrostatic printer or a daisy wheel printer to check the results. Then you could go to the phototypesetting machine.
Once everybody got an interactive display good enough to view the output of TeX, formatting via macro calls was obsolete. Which is why almost everybody uses something like Microsoft Word now.
> and overcoming the the mouth/stomach separation
Can someone please explain what "mouth/stomach separation" means?
Note: When TeX was first released, Jimmy Carter was president.
And books were created thousands of years ago, yet we still use these antiquated instruments. Personally, I still find plain TeX useful for all my typesetting needs.
If you're trying to learn LaTeX, the biggest barrier is that you'll do a search and find tutorials that recommend using old, broken modules. Then you'll change something and wonder "WTF does LaTeX not ever work?!"
It's a great idea, if LaTeX is behaving mysteriously, to use nag and l2tabu, and especially ChkLatex to flag typos and mistakes \macro word. (The macro will eat the whitespace before word, either \macro{} word or \macro\ word is what you meant.) It's also best to stick with only packages in TeXLive.
But always, always before you use a package, find it on CTAN and make sure you've got the latest and greatest, and check the docs that there's not some disclaimer like, "by the way, this package is only here for compatibility, please use package X."
in the HTML version of TFA:
more specifically
became
more speci[0xff]cally
You have to read the beginning of the TeXbook.
It's sort of like C where you have a preprocessor ("mouth") which does macro expansion and text replacement and then the actual compiler ("stomach").
Quoting this paper:
It means that the contents of your stomach should not return to your mouth when you work with TeX, as it does now.
I use LaTeX for almost everything from articles to memos, and have been doing so since the late 1980s. Last year I needed to print part of my dissertation, which is from 1990. With my current system, using a modern version of LaTeX, but including the special macros I used for the dissertation, it formatted the same in 2012 as it did in 1990. Try that with MSWord. :)
In addition, having text files with macros certainly makes storage/searching/organizing much easier. The files compress well, and searches, etc., can be done using standard tools such as grep.
Best wishes,
Bob
Hyphens and perfect justification are great when you want to replicate the unreadability of a newspaper from a century ago.
When you actually want something readable that doesn't look like shit, you need to stop it with the stupid stunts. Screwing with the kerning is not acceptable. Splitting words is not acceptable. You shouldn't even be splitting phrases or clauses onto different lines, and preferably not even sentences.
Yes, I'm sure you can disable the hyphenation and justification crap. (right...?) You shouldn't be able to enable it. These "features" are one of two major reasons why TeX documents normally look like crap, the other reason being the horrible Computer Modern font.
while i have written a thesis in latex, and could not imagine using anything else for papers, i still get frustrated by it.
* any problem is solvable with enough searching online, but the solutions are often like magic. for example i often have figure filenames like "x2.3_y3.4.pdf" latex gives a weird message, search around and eventually you find a forum thread that tells you to put some extra arguments in the includegraphics call, or if you are lucky you might find a mention of the grffile package. in all the years of using it I have never built up an intuition for solving these issue (by comparison programming and linux pretty much make sense to me).
* multiple ways of doing things. should i use \begin{center} or {\centering text text tex}. probably they both work fine, but each of them breaks something else in some obscure case.
* why are some things \command{text text text}, some {\command text text text} and some \begin{command}. compare with XML/SGML where everything is achieved with nesting tags.
* can the output be cleaned up? when i run pdflatex i get several screen-fulls of messages. really it should be showing me errors and optionally warnings.
* the interactive mode when it hits an error. i am sure there is nothing productive i can do in that shell. why is it so hard to get out of. why is -halt-on-error not default?
* why do i have to run pdflatex twice? why can't it figure out if a reference has changed? latexmk (or a good makefile) helps, but it took me years to find it.
TFA seems to focus mainly on esoteric typesetting tweaks being worked on in the LaTeX 3 engine. That's cool for people who care a lot about rivers of whitespace in their documents, but there are other things going on in the tex world that I would consider to be more the main event.
Tex predates unicode, postscript and PDF, and modern font formats. There are now versions of tex such as xetex and luatex that accept utf-8 input, generate PDF output directly, and can use whatever fonts you have on your system rather than special-purpose fonts packaged for use with tex. Luatex allows lua to be used as an extension language, which is a great idea considering how much tex sucks as a general-purpose programming language.
The other thing to realize about tex is that today it's the de facto standard input format that people use for creating mathml (since mathml itself is much too cumbersome for humans to write directly). There are technologies like mathjax that support this and that allow mathml to be displayed even in IE, which has never had standards-compliant mathml support.
Find free books.
Fun to see just how many of the people that jump on a discussion like this one have 4- and 5-digit user numbers :^)
Like what InDesign?
Things which InDesign has trouble with:
- can't insert index entries using XML
- can't put in character style as part of an index entry
- can't _not_ make index entries interactive (this is an option for ToCs)
- can't define a head to have a variable amount of space above it
- only vertical justify option is to feather the entire text block
&c.
The only limitations w/ TeX are processor speed, available memory and storage and human ingenuity when writing macros. I work around limitations of InDesign and Quark constantly at my day job and most of solutions involve endless manual intervention.
Sphinx of black quartz, judge my vow.
the U.S. got reputation as tech powerhouse in the 1950s onward, that'd be Eisenhower
If you really think, XML is an advance over LaTeX, you are a sorry idiot. It's a serious regression, because it is stupidly verbose and lengthy. You essentially bury content in a sea of "tags".
XML is one of the many regressions which come over the computer science world in periodic intervals, almost. So please excuse me if I vomit.
If you need to do expert-level math formula rendering in MS Word, you use LaTeX syntax.
Raw TeX is a disaster in terms of usability and extendability. It's like writing your documents in machine language, complete with numbered registers. It doesn't produce usable error messages, doesn't recover from errors like a decent compiler should, and is hell to integrate into any kind of environment. Knuth should permanently lose the right to call himself a "computer scientist" just for producing this monster; it doesn't matter how nice the output looks. True to form and bad taste, his next effort is iTeX, a kind of TeX based on XML. LaTeX is fairly usable, mostly because it hides most of the crap in TeX from you. What you end up with is a simple markup language, a horrific style sheet language, and fairly good looking output (if you don't use Knuth's bad-looking fonts).
Where should TeX/LaTeX go? The way of the dinosaurs. Few people care about the fiddly typographic details that TeX used to worry about (and that it was really doing a half-assed job at anyway). Most "typesetting" these days is done in wiki languages with jsMath, or in simple WYSIWYG editors, using HTML as an intermediate format and PDF as output.
It's all about workflow, Once you have some bibliography files, an editor you know how to use, a few tools you can trust for making graphics in the right formats (I have to admit to using ... xFig) then LaTeX is fast and easy and far more cross-platform than a word processor.
For papers in physics and maths, LaTeX is a winner. But it has the learning curve issue. Now and again I _have_ to write a paper in a word processor for a conference that will not handle LaTeX and it drives me mad. If you don't like embedding pictures in LaTeX, then you must have doing it in word, What are they anchored to? If you try to copy and paste, which properties come with the image, which don't? Half the time if you try to drag an image word sits the image off the bottom off the page or makes it go invisible. Open Office is even worse, half the time you can;t tell if it is linking to a file or embedding it and they just vanish leaving big red X everywhere.
And if you've never tried it, I suggest https://www.writelatex.com/
Note that TeX nowadays has more "faces" than it used to have in the time of VT100 terminals.
While writing scientific papers, theses and monographs is probably still the most popular application by far, TeX is also the basis for very modern data based publishing applications like DocScape (plug: http://www.docscape.de/opencms/web/docscape/en/home/).
DocScape customers are producing millions (and printing tens of thousands) of pages a year in highest design quality, using a modern, data-driven and fully automated process. This is clearly technologically much more advanced than manual creation in DTP software, in the same sense that the fully automatic robot-based manufacturing of cars is technologically more advanced than manual assembly.
The stability, efficiency and versatility (in the sense that it is fully programmable and can produce arbitrary PDF structures) of the TeX engine is an all-important basis for such modern technology.
Yeah, it looks great, but typing that amount of markup for a few lines of equations is hardly efficient.
Really? What is more efficient? If you're thinking of something like the toolbar-based equation editors in Word and the like, please try typing your next paper using nothing but a point-and-click keyboard, and you'll soon figure out why they haven't taken off.
And the only condolence with the layout of graphics is that people almost expect them to look shit.
That's another little irony, because the serious charting and drawing packages for TeX also produce more practical and professional-looking illustrations than a lot of supposedly high-end drawing packages today.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The tables are still a pain with LaTeX. Ideally tables ought to be layed-out automatically like most of the other things.
Processor speed? In 2013? You're kidding, right? I don't mean to be snide, but in my experience with TeX lately, it's been pretty much instantaneous. It's not like 1984 when things took a long time to compile into a DVI file. Seriously, what are you doing that processor speed is an issue? (That's a serious question.)
My point was that hardware isn't a significant limitation these days.
I deal w/ some really large and complex macro formats which take a long while to compile / run, but yes, it is pretty much instantaneous compared to the past (I can recall waiting minutes for a given page, and a particular database publishing routine which ran overnight (when we first set it up, it looked like it would take a week w/ a full dataset on then available hardware, but it was much faster not quite a year later when we put it on a new top-end machine) I have found that network access can be a significant limit if one is pulling in large graphics --- even then, one can put the graphic into a box and then re-use the box if it's a single graphic multiple times.
Sphinx of black quartz, judge my vow.