Would like to convey some belated but serious gratitude for this. When I was working on some heavy-duty LaTeX academic publishing a year or so ago, this was one of the few available resources for full source code of a serious, professional-looking, non-math document. I find it incredibly helpful and inspiring.
As a side note, I am always amazed at the playful-but-ugly aesthetics that are common in the TeX community. While talking about having a professional-level typesetting engine, TeX-related publications are frequently painfully ugly. It somewhat undermines the cause.
How appropriate, I just finished a paper today and submitted it for review. LaTeX is awesome and sucky at the same time. On the awesome side, you have structure separate from formatting. This comes with lots of benefits as mentioned in the article. It also allows you to use the concept of imports (or includes if you will), so you can have a well factored paper. It also allows you to do sane things like footnote, cite and reference diagrams and sources without a need for explicit number tracking -- just give everything a unique identifier that works for you. Finally if you do well enough with your structuring you can output not just different file formats like pdf or ps or whatnot, you can also output completely different styles. It is pretty simple to wrap your core with the trappings of IEEE style for one version and a book-like style for another.
On the sucky side, the toolchain is notoriously difficult and cryptic. For some reason you have to make multiple passes of various tools by hand (or with a makefile -- i reccommend http://code.google.com/p/latex-makefile/ it just works). The syntax can be a bit inconsistent. The worst is the errors tho, sometimes it is impossible to figure out why all your figures are showing up at the end of the document instead of in-place, or why all your references are failing to point at anything.
I've started using org-mode to write my papers, then convert to LaTeX. Not perfect, but I find it's more natural to write in org-mode and helps me focus on the content instead of drifting off onto the internet to research macros. (Now I can drift off to read HN instead, a vast improvement in non-productivity.)
I've started thinking of TeX as the assembly language of document formatting, LaTeX as C, and org-mode as... pick your favorite higher-level language here, I'll go with Python.
Not a perfect metaphor, but in terms of paper productivity it feels that way.
You probably know, but the reason there are multiple passes is because once a page is typeset, you can't go back and "fix" it. TeX is very page-centric. So references, for example, aren't "knowable" until you've typeset all the pages. Then the next pass goes through and updates the forward references.
It could be done another way, but in the era that TeX was developed, it would have required more memory than was realistically available most of the time. I find that once I've run it twice, I can get away with single runs usually after that until I'm ready for the "definitive" version. Until then, I'm less concerned with whether the cross-reference is right, than whether there is a cross-reference in that location at all.
After using (and writting) several ugly Makefiles for compiling LaTeX, I discovered rubber (http://www.pps.jussieu.fr/~beffara/soft/rubber/) and never looked back. It is packaged at least in the standard Ubuntu and Fedora repos.
I took a look at the Makefile, and I'm not entirely comfortable using it while not knowing exactly what it's doing. I normally don't require to know and have control over everything, but with Latex, the less unknowns I have, the better I feel.
This is what I've been using, inherited from a colleague/committee member/friend:
For a remedy to the "sucky side" if you have a mac + TextMate, it all _just works_. You do everything you would normally do, and then hit cmd + R which will run the typesetter.
My buddy during my undergrad used LaTeX, at the time the thought of debugging my documents seemed insane (though he could do some amazing ninja stuff like rebuilding his graphs in matlab and importing them on build). Since starting my masters, I've taken it up, and yes it is awesome.
You can do "imports", and you can also factor anything that's repeated into macros. The problem is that the lack of namespaces and weird scoping rules are so antiquated that it's painful to use when I know many programming languages that do the job far better.
On the other hand, it does support currying of macros!
It always blows my mind that someone (a philanthropist or the government) hasn't just thrown down a few million bucks to make a truly user friendly version of LaTeX. The amount of grad student and professor time wasted dealing with the flaws in LaTeX is mind-boggling.
Or am I naive in this cost estimate? Does anyone know roughly how much money and developer time went into the currently best editors, like TeXShop and TeXnicCenter?
Speaking as a grad student who has been reading a lot of papers/theses lately, we can tell if you used LaTeX or Word, and if you used Word we mock you for your ugly fonts and amateurish layout.
Most research papers typeset using LaTeX use ugly fonts as well -- the computer modern fonts. In fact, when it comes to presenting equations, even major publications use these ugly CM fonts. They usually use Times Roman for the text itself. The mismatch is horrible.
There is a reason why there are people specializing in book design. And LaTeX specifically encourages ignoring presentation.
[But overall, I agree. Word documents tend to look even worse, unless formatted carefully]
Sadly, some publishers actually expect Word documents. The same publishers then have all kinds of problems where they need considerable help from the authors to get the layout right.
Including, embarassingly, the magazine of SIGCSE (the ACM SIG for CS education). I was going to submit something a year or two ago, couldn't find the LaTeX stylesheet, and sent an email to the editor---who breezily responded that Word was required, and that their authors didn't really complain about this. Self-fulfilling: I decided it was more trouble than it was worth and published it elsewhere, so although I have complained, I'm not one of their authors!
It does explain why the typesetting is so bad, though. Figures are especially atrocious, and there are pixellation issues and routine font problems throughout.
For a gentle start, it's worth looking at LyX -- http://www.lyx.org/ -- a structured document processor that generates LaTeX output. Available for *IX/Mac/Windows, with more features than you can shake a stick at -- and it's open source, so you can try it for free.
FWIW, Word's text layout engine is as sophisticated as LaTeX. IMO, there's just a large layer of other "stuff" that ends up on top of it that usually results in your typical looking Word document.
It's better in Word 2007/2010, but still doesn't seem to be all the way there.
> Once I create a LaTeX document I can easily convert it to any format I am interested in, including XHTML and Microsoft Word Document.
Am I the only one who finds it impossible to convert a LaTeX document into a Word document without it looking like total crap? What am I missing? I build my resume with LaTeX, and have tried multiple times to get a proper Word document for all those idiots that don't like PDFs, and every time it looks like such crap that I break down and send them a plain text version instead...
Depending on your definition of "total crap", you might find LaTeX2rtf gives you acceptable output with minimal manual tweaking. It works for me, though I'm far from a type snob.
On a Mac, the MacTex suite simplifies things pretty well [1]. I typically write my documents in Vim, and then render them to PDFs with TeXShop. It installs all of the standard TeXLive stuff, so if command-line LaTeX is where you're comfortable, that works too.
Technology changes all the time but there are a few arguments that never seem to die... WYSIWIG vs. doc prep languages like TeX (or Scribe, remember that?) was a hot topic even back in the 80's, with similar arguments being made. Everything old is new again.
It's amazing to see people getting enthused (again!) about LaTeX.
[+] [-] uggedal|15 years ago|reply
[+] [-] asolove|15 years ago|reply
As a side note, I am always amazed at the playful-but-ugly aesthetics that are common in the TeX community. While talking about having a professional-level typesetting engine, TeX-related publications are frequently painfully ugly. It somewhat undermines the cause.
[+] [-] tincholio|15 years ago|reply
[+] [-] Tycho|15 years ago|reply
[+] [-] auxbuss|15 years ago|reply
[+] [-] whereas|15 years ago|reply
[deleted]
[+] [-] sophacles|15 years ago|reply
On the sucky side, the toolchain is notoriously difficult and cryptic. For some reason you have to make multiple passes of various tools by hand (or with a makefile -- i reccommend http://code.google.com/p/latex-makefile/ it just works). The syntax can be a bit inconsistent. The worst is the errors tho, sometimes it is impossible to figure out why all your figures are showing up at the end of the document instead of in-place, or why all your references are failing to point at anything.
Overall tho, it is a fantastic system :)
[+] [-] drunkpotato|15 years ago|reply
I've started thinking of TeX as the assembly language of document formatting, LaTeX as C, and org-mode as... pick your favorite higher-level language here, I'll go with Python.
Not a perfect metaphor, but in terms of paper productivity it feels that way.
[+] [-] petrilli|15 years ago|reply
It could be done another way, but in the era that TeX was developed, it would have required more memory than was realistically available most of the time. I find that once I've run it twice, I can get away with single runs usually after that until I'm ready for the "definitive" version. Until then, I'm less concerned with whether the cross-reference is right, than whether there is a cross-reference in that location at all.
[+] [-] rbonvall|15 years ago|reply
I use the following Makefile wrapper around it:
It handles biblography, knows how many times recompile and discovers dependencies.[+] [-] scott_s|15 years ago|reply
This is what I've been using, inherited from a colleague/committee member/friend:
[+] [-] joegaudet|15 years ago|reply
My buddy during my undergrad used LaTeX, at the time the thought of debugging my documents seemed insane (though he could do some amazing ninja stuff like rebuilding his graphs in matlab and importing them on build). Since starting my masters, I've taken it up, and yes it is awesome.
[+] [-] tome|15 years ago|reply
On the other hand, it does support currying of macros!
[+] [-] scottdw|15 years ago|reply
[+] [-] Lewisham|15 years ago|reply
My main TeX annoyance is tables, but I don't think anyone has come up with a decent way of expressing them in a textual manner.
[+] [-] jessriedel|15 years ago|reply
Or am I naive in this cost estimate? Does anyone know roughly how much money and developer time went into the currently best editors, like TeXShop and TeXnicCenter?
[+] [-] indigoviolet|15 years ago|reply
[+] [-] jff|15 years ago|reply
[+] [-] smackfu|15 years ago|reply
[+] [-] nimrody|15 years ago|reply
There is a reason why there are people specializing in book design. And LaTeX specifically encourages ignoring presentation.
[But overall, I agree. Word documents tend to look even worse, unless formatted carefully]
[+] [-] dpritchett|15 years ago|reply
Is learning LaTeX anywhere near as useful to a professional developer as say learning vim or emacs?
[+] [-] spicyj|15 years ago|reply
http://tex.stackexchange.com/
[+] [-] serichsen|15 years ago|reply
[+] [-] blahedo|15 years ago|reply
It does explain why the typesetting is so bad, though. Figures are especially atrocious, and there are pixellation issues and routine font problems throughout.
[+] [-] cstross|15 years ago|reply
[+] [-] scott_s|15 years ago|reply
[+] [-] Splines|15 years ago|reply
It's better in Word 2007/2010, but still doesn't seem to be all the way there.
[+] [-] nuclear_eclipse|15 years ago|reply
Am I the only one who finds it impossible to convert a LaTeX document into a Word document without it looking like total crap? What am I missing? I build my resume with LaTeX, and have tried multiple times to get a proper Word document for all those idiots that don't like PDFs, and every time it looks like such crap that I break down and send them a plain text version instead...
[+] [-] skymt|15 years ago|reply
[+] [-] elasticdog|15 years ago|reply
[1] http://www.tug.org/mactex/2009/
[+] [-] helmut_hed|15 years ago|reply
It's amazing to see people getting enthused (again!) about LaTeX.
[+] [-] gaius|15 years ago|reply
[+] [-] rhettinger|15 years ago|reply
[+] [-] obsaysditto|15 years ago|reply
[+] [-] graywh|15 years ago|reply
[+] [-] eegilbert|15 years ago|reply