top | item 7158168

(no title)

JonSkeptic | 12 years ago

LaTeX was built to typeset documents. You have pages in documents and pagination is of critical importance in LaTeX. In the web you don't have pages, it's evolved to be seamless and scrollable. Natuarally, LaTeX was not designed for such an environment.

That doesn't mean that LaTeX is worthless on the web. The gluing algorithms that Knuth used for creating sentences and paragraphs do (for the most part) work, even in documents without pages. In all honesty, the web could benefit greatly from LaTeX, pagination aside.

I'm glad that the author seems to have a practical perspective on this: >We think LaTeX is still the best programming language to tell a computer how to place text on a page. But the TeX project started pre-web, in 1978, and its scope and function are tightly linked to the printed page, not the webpage.

He goes on to give an example of constructing a table in LaTex which requires (or assumes by default) a suggested location for LaTeX to place the table in the page; something which is currently nonsensical in all but a few web environments. Like the author, I also find CSS appealing for a potential "LaTeX" on the web solution.

However, LaTeX was designed from the very first to be the next standard in type setting and is a turing complete language. CSS is still under debate for being turing complete, and it lacks nearly all of the features that are iconic of LaTeX, except for the ability to format math equations ( and even then...).

I'm not sure what the next standard in typesetting will be, but it will be designed to be device agnostic (with book existing as a supported format), it will target the web and similar digital media, it will be turing complete, and it will be created specifically to fulfill each of those goals, not to have them retroactively attached in a ham-fisted way.

discuss

order

mehrdada|12 years ago

"We think LaTeX is still the best programming language to tell a computer how to place text on a page."

No. The output might be beautiful, but the language is most certainly not. Awful to debug.

I consider a more modern language that compiles to LaTeX and leverage its rendering engine for paper docs (while giving you sufficient control over the output) and also gives you a nice web output more pragmatic and a nicer way to approach the problem.

hyperbovine|12 years ago

Strongly agree. It's taboo to criticize TeX because of who wrote it, but let's be honest: from a usability perspective it's atrocious. Cryptic error messages, code that rivals assembler for readability ... hell even the directory layout makes no sense to me, and I've been using TeX daily for over ten years. I hold Knuth in high regard as a scientist, and there's no arguing that TeX is a technical masterpiece which revolutionized the field of mathematics--but this is not the typesetting language that's going to carry us through to the next century (I hope).

ghswa|12 years ago

"No. The output might be beautiful, but the language is most certainly not. Awful to debug."

Absolutely agree but, as far as I'm aware, this "more modern alternative" does not exist.

m_mueller|12 years ago

> I consider a more modern language that compiles to LaTeX and leverage its rendering engine for paper docs (while giving you sufficient control over the output) and also gives you a nice web output more pragmatic and a nicer way to approach the problem.

I'm currently looking for exactly such a solution. Have you found any?

Sidenote: Ideal would be a language that comes with either Word or E-Pub conversion tools (in order to migrate existing word documents over). I say E-Pub because there is a relatively nice migration path from Word to there: Get on a Mac, open the Word in Pages, export to E-Pub. Can also be used to get a sane xhtml output, since it's just a zipped folder with xhtml and some images.

pcwalton|12 years ago

Be careful what you wish for re. Turing completeness. One of the things we're discovering is that, when implemented properly, basic modern CSS (i.e. 2.1) parallelizes beautifully across multiple threads and cores for large speedups, with only a few exceptions in wide use, like floats. But if CSS hadn't been so declarative, we'd be stuck in the computing model of the 90's era it was designed in when implementing it.

marcosdumay|12 years ago

Turing completelness does not mean that the execution paths are specified.

Or, in a simpler way, do you know Haskell?

dllthomas|12 years ago

"CSS is still under debate for being turing complete"

So far as I'm aware, that's not the case. CSS is not Turing complete, in terms of what it can calculate in a single calculation. It is Turing complete if you string those calculations together, feeding the output of the last into the input of the next, which can only be done with some external source of events, but that is a larger system than "CSS". A UTM run for up to 1000 steps is not Turing complete.

Turing completeness is arguably a bug, not a feature, when the goal is producing something quickly.

tantalor|12 years ago

> In the web you don't have pages

It can be done. For example Google docs supports headers, footers, and footnotes, but you are still free to decide whether to use the "print layout" or more webpage-like seamless layout for both editing and publishing ("publish to the web").

3rd3|12 years ago

Wouldn’t Turing-complete file formats be difficult to search because the output could have arbitrary syntax and the crawler would have to run the code. On the other hand, why not make use of faster machines.