5 ms·
For the reader who is not familiar with Tex/Latex: Tex is a typesetting system designed by Knuth with the purpose of enabling him (Knuth) to typeset a math pape
by wirrbel 12y ago
For the reader who is not familiar with Tex/Latex: Tex is a typesetting system designed by Knuth with the purpose of enabling him (Knuth) to typeset a math paper in a way that a good classical typesetter would have done (with the skils aquired in years of training).
Latex is a set of Tex macros that turns Tex into something more similar to a Markup language where one does mark up headings for headings etc.
While Tex is exceptional in its quality, robustness and beauty (it is probably one of the oldes software pieces still in wide use), Latex has a lot more dark corners as user norswap points out.
Latex enables average users to use Tex without having to think about how to lay out a document. Latex makes a lot of good choices in Layout (and a few bad ones too).
Nevertheless -- and that continues to amaze me -- Latex and its documentclasses continue to be the only viable choice for scientific typesetting by PhD students who just don't have the time to learn plain Tex.
There are a few Tex-based alternatives (Context for example) that could be considered equal, but Latex seems to offer a reasonable experience.
In the WYSIWYG realm, there is hardly viable competition. Word or LibreOffice/OpenOffice, Docbook/XSLT/XML:FO, etc. Most of them produce inferior results or provide an inferior user experience.
I have heard countless stories of people who opted to not use Latex for their thesis/drafts, and the pain is unspeakable. A friend realized - when turning in his thesis - that page numbering was off on odd pages in the copy he meant to turn in last minute (was there on the draft printed out 3 hours before). A lecturer had his PhD dissertation published by its subtitle because by accident it vanished during the title. Countless How-to-write-your-thesis guides of the early 2000s adviced to not write more than 20 pages within the same document of a popular word processor since it was known to easily crash then. And have I mentioned how much more painful handling citations is in most word processors? Bibtex et. al is not comfortable, but I would prefer it to most other solutions on the market. The manual for a product at a company where I worked at had odd page numbers in serif fonts and even in sans serif fonts. It was produced not with a consumer word processor but with a "professional" tool. An XSL:FO based report generator that I once had to use produced horrible typesetting (and made the machine swap while formatting that textual output, 4GB of RAM were not enough). And changing things was nightmarish.
I wonder what the future of Tex and Latex is, but I do not see serious competition on the horizon, especially not in areas, where people have to get things done.
My best bet is, that the haskell folks will be able to provide an alternative in a few years, the diagrams library has already taken on Metafont and pandoc has been proven to be great for parsing text markup. The meta language of the diagrams library has shown that Haskell is actually suitable and expressive for drawing and arranging items. Until then, Tex will rule the world of outstanding scientific typesetting for the average scientist.
- freyfogle 12y agoGood summary of the state of play, but I think you overlook one thing - there are now viable online WYSIWIG (at least partially) editors that hopefully can make it easier fr the novice to be nudged towards best practice (besides all the other benefits of SaaS) See https://www.writelatex.com https://www.writelatex.com
- apricot 12y agoI'd love to see a Haskell-based alternative to LaTeX. Like the Xmonad window manager, it could become a niche product with its own small but lively community.
- deleted 12y ago[deleted]
- wirrbel 12y agoIt would have great potential because it would provide a very robust building ground for a program. One of Latex's Building blocks, Metafont, a domain specific language for curve definition (as in fonts) is already implemented in Haskell, and it does not look anything like what people expect Haskell to look like, its part of the diagrams library [1] http://projects.haskell.org/diagrams/doc/metafont.html http://projects.haskell.org/diagrams/doc/metafont.html What would be next is probably to port the layout algorithm for paragraphs (the rubber and boxes stuff). This could then be used within a framework for page layout. As a big conceptional change it would probably mean that one separates the Macro stuff from the markup. As writing the plain text within a haskell sourcefile is probably not what one wants (Strings, quoting, etc.). [1] The diagrams library by itself has resemblances to the immensly powerful Tikz package. http://projects.haskell.org/diagrams http://projects.haskell.org/diagrams
- fiddlosopher 12y agoFor a while I was working on a Haskell-based macro system that compiles TeX-like source to HTML and LaTeX (and whatever else you like) (https://github.com/jgm/HeX https://github.com/jgm/HeX). You'd write your macro definitions in a Haskell program, then run this program on the textual source to produce output. What's nice about this is that you can use Haskell's module system to organize your macros, and Haskell's type checker to check for errors. The macros are just Haskell functions, and the types of the functions determine what kinds of arguments are consumed by the macro. I'd like to come back to this some time.