I know that LaTeX is big in the world of academia, and was probably a big name in desktop publishing before the glory days of WordPerfect and Microsoft Office but as a Windows user that is interested in the power of LaTeX and the general smoothness of a LaTeX generated page is it really worth learning?
In a couple of months I'll be starting my final year in Computer Science and LaTeX has been bounced around the campus by many of the Linux geeks. In reality, is there any need to use it today? What will I actually gain from it and will I enjoy using it?
Finally, how does one use LaTeX on a Windows machine? What software do I really need? I've read a couple of guides but many of them seem like overkill.
Please help break a LaTeX newbie into the world of professional academic publishing!
EDIT: I've toyed with LaTeX for a while, and have even learned that it's pronounced "lay-tech", not "lay-tecks". I'll agree once again with the accepted answer in saying that MiKTeX [1] is the best solution for Windows users.
I'd say it's definitely still worth learning. LaTeX documents continue to be one of the de facto standards for research papers and conference submissions, regardless of whether they're academic or not. Additionally, I'd say that I (subconsciously?) give a certain amount of street cred to developers who submit their resumes in LaTeX.
However, if you're interested in the general separation of content from form, there are a number of reasonable alternatives to LaTeX; DocBook [1], for example, is very popular in the technical community for writing books.
edit: The OP added some additional questions later.
Finally, how does one use LaTeX on a Windows machine? What software do I really need? I've read a couple of guides but many of them seem like overkill.
Using LaTeX on Windows is a less than terrific experience because many of the binaries you'll need won't come installed by default. But it's not too bad; try just downloading MiKTeX [2] and seeing if that does the job for you.
To get LaTeX working, you need the following (all of which come with MikTeX)
Text editor, so you can compose documents. There's no shortage of these. Pick an effective one that you like and that you'll grow into.
Virtual PostScript printer to convert graphics into EPS. Sometimes printer drivers come with these (e.g. specialized Print-to-File mechanisms), but often not. Getting the Generic PostScript printer [3] from Adobe is easiest.
LaTeX compiler. You need a way to turn your LaTeX source into PostScript documents. MiKTeX provides this.
PostScript viewer. Finally, you'll want a way to see the resulting documents themselves! MiKTeX also provides this, but there are plenty of alternatives, like GSView [4].
You can also get a GUI wrapper around LaTeX composition, like that provided by LyX [5]. This may be a good way to hit the ground running and then drop into source mode as your comfort level with LaTeX increases.
[1] http://www.docbook.org/My opinions of LaTex. These are not set in stone but are based on my experience with LaTeX.
Where LaTeX is good
Where LaTeX isn't that great
Getting started on Windows
I learned it and I'm not sorry I did, but I'm probably one of those Linux geeks, so decide for yourself :)
[1] http://en.wikibooks.org/wiki/LaTeX/Bibliography_ManagementThe thing I like about it is it turns paper writing into programming. And the result looks great.
NO NO NO. If you ever look forward to a professional life outside of the university, do not expend the effort to learn LaTeX! If you place value on being commercially relevant, do not travel down that academic cul-de-sac. There are many better things to do with your time than spend it on a baroque 1970's technology for page layout.
I think there's a named disorder in the DSM-IV for the phenomenon where after a person has invested (time, money, emotion) in a particular thing, the thing becomes more lovely or more valuable in his or her eyes. The responses from people above about LaTeX seem to fit that pattern to me. They say: "I spent my entire life in LaTeX, and finally figured out how to get a sub-bullet to appear the way I had imagined... I love LaTeX!" It's the Patty Hearst syndrome or something. Based on the effort expended and the skill so hard won, LaTeX becomes precious. To admit otherwise is to admit that they have frittered away their time, that they have made sub-optimal choices. No one wants to admit that.
The things you can do with a modern word processing program are astounding. It's not just page layout - it's collaboration with markup notes; it's versioning, rights management, instant re-sizing of graphics, embedding other documents, embedding data from external applications, voice dictation, automation. And WYSIWYG is implicitly valuable. Anyone who dismisses modern word processing tools is engaging in a dramatic self-deception, or willful ignorance.
Look at some of the things LaTeX experts have said:
Have you ever used the speech-to-text feature of Word to dictate a document? Have you ever compared two versions of a doc side-by-side in WYSIWYG mode? Reset a paragraph property and watch the page breaks re-flow automatically in front of your eyes? This is useful stuff.
If you did not know about some of these features or have not used them, then are you really fit to make pronouncements about how good LaTeX is in comparison to the alternatives?
Why are all you LaTeX people not using the Motif library for constructing GUI applications? or better, X-Intrinsics? Why? Because there are better tools and frameworks out there now, that's why. And the same is true for LaTeX.
Why are you not all using TCP and ONC RPC? Because better tools and frameworks - HTTP and REST and JSON and XML - have come around. Modern tools are commercially useful, beyond the academic arena.
LaTeX advocates to me are like expert C programmers who swore off learning anything new 20 years ago, who assert that OO is too memory inefficient, that scripting is for kids, that GUI designers are shortcuts, that garbage collection is for sloppy programmers. Whatever. Have that opinion if you like. Everyone is entitled to hold unfounded opinions.
Here is the radical thing that no one has mentioned: if you really prefer markup languages, OOXML is a markup language that you can work in directly, yet still allow normal humans to read your work in MS-Word. You get all the joys of non-WYSIWYG emacs-based document construction, yet other people can actually use what you've produced.
LaTeX was justified when the cost of commercial tools was high, and the quality was low. Now, for any university student, the cost of modern word-processing tools is very low. Once upon a time, LaTeX made sense. Not anymore.
Update: What I find funny is that this answer got upvoted and downvoted many times - but I still see nothing in the comments that disputes what I wrote. Only variations on "I disagree." Clearly the topic is subjective. But the interesting thing is how LaTeX advocates are so unwilling to admit that alternative viewpoints are valuable. I bet all you downvoters think you are open-minded, huh?
Pros and cons have already been discussed in other answers, so I'll just my 2*10^-2€.
Last year, a lot of my friends began writing their master thesis. I suggested (both when prompted and on my initiative) using LyX (a frontend for TeX), but was confronted with the usual diffidence: "I don't have the time to learn to use another program". My answer: "I don't have the time nor the will to learn how to cope with MS Word (or OpenOffice, or NeoOffice, etc) nonsense".
None of them did switch, and they all fought with word processors to have them to their job.
Since you're a programmer, learning a new language is in your mindset: if you at least once in your life found yourself struggling to get a word processor do what you told him, then probably LaTeX is a very good choice for you.
Community support is great also, so any issue can be easily solved (at least IME).
I'm currently in my final year at uni, and believe me, LaTeX is actually brilliant.
If I'd had to do my project, or even 90% of the pieces of coursework I've done this year, in Open Office or Word, I would have spent twice as long and they would not have looked half as nice.
Also, LaTeX's referencing and general formatting abilities completely destroy any WYSIWGY document editor, once you get your head around the odd way you have to format tables, and putting pictures inside figures, etc., it's actually remarkably simple and intuitive.
Also, the fact that it's basically code means you can work remotely using something like VIM over SSH, which for me was a big bonus as it meant I could work from home without having to carry around multiple copies of my entire report!
If you ever consider going to grad school and eventually publishing anything in a scientific journal or publication, LaTeX is practically the only way to go. If this is your case, it is never too early to start getting some real experience with it.
Other than that, one of the more popular uses for it is for writing formulas an math equations where it is arguably much better than any other solution, most notably MS Equation.
Word is easier for small, simple tasks; LaTeX is easier for large, complex tasks. It's easier to do a resume in Word. But past some level of complexity, LaTeX becomes easier. I'd rather write a memo in Word but write a book in LaTeX.
LaTeX wins hands down for mathematical typesetting. That's why math and CS journals accept (sometimes require) LaTeX.
But LaTeX is also good for complex non-mathematical typesetting. For example, if you need to have fine control of typographical details (e.g. kerning) or you need to mix languages (e.g. using right-to-left language like Arabic or Hebrew and a left-to-right language like English in one document).
If you are going to be doing academic publishing in CS - yes, definitely learn LaTeX. As you handle more figures, more references, more stringent formatting requirements, more math, etc., LaTeX is the way to go.
Many conferences will only give a Word template as a secondary option - to really adhere to their requirements, you should use LaTeX. The only exception is typically HCI conferences where more people come from a non-CS background.
If you version control your stuff (e.g., dissertation, large papers, etc.) - LaTeX is great. Better than Word. Things also really look the same on every machine - I have not yet been able to achieve that with MS tools.
To me the main drawback of LaTeX used to be that I could not see the source file and the result at the same time, back when I was writing my masters thesis 9 years ago on my old T20. As far as I am concerned the drawback is gone - If you have dual monitors.
I really don't think that "learning" LaTeX is such a problem, and you can always use books or google searches or SO for small things.
Just use it when it applies - You'll probably write your CVs, cover letters, etc. in Word, there is no point using LaTeX for them although it is possible.
LaTeX is also extremely portable - I use Linux, Mac, and Windows and can compile my text on all of them. The only drawback is that the good editor for Windows (WinEDT) costs money but it is quite worth it. The LaTeX distribution (MikTeX) is of course free. Installation on Mac is much easier, and on Linux it is trivial.
I don't use LaTeX for much else, but I do find it indispensible for academic publishing. What you gain compared to e.g. Office, is:
Sane and straightforward handling of figures, equations and references. Sure you can sort of get that in Office with external add-ons (MathType, Endnote) but if you're moving between computers or exchanging the file with others, as you often will, you can't rely on these being installed.
Compatibility: It's just a text file, it works the same on any architecture and OS.
What you lose:
WYSIWYG, of course.
Precise control over the appearance of the document. Yes it's possible but depending on what you want to do it can be a major pain. But for academic papers you don't care anyway, since it will be reformatted for the journal later.
What I'd suggest is getting a copy of LyX [1]. It's a "what you see is what you mean" GUI that will generate (readable) LaTeX. It's free, and bridges the gap between a word processor and LaTeX code. It's a great way to learn LaTeX since if you want you can highlight any part of your document and look at a live view of the generated code. And generating a PDF is just a click of a button.
[1] http://www.lyx.org/It's not hard to learn and it is very good for math typesetting. I say it's definitely worth it.
Can't help to agree that LaTeX is a fantastic tool for publication. I'm currently writing my thesis with a friend, and before we did anything we sat up a subversion repo for the .tex files. Two things that is worth mentioning: You can divide your project into smaller .tex files. Let's say you have a "part1.tex", with the command: /input{part1} you can simply include the contents of that file.
Another thing you have to look into is BibTeX, which simply is staggering. More info here: http://www.bibtex.org/Using/
As stated above LaTeX and a version control system (like svn or git) works great, since it is just text. No problem with branching and merging when you work more that one person on a file.
The possibility to add comments in your document that don't show in print.
Have scripts that add stuff into the LaTeX file when you create the pdf, I usually add some "svn info" to the end so I know what version I printed.
etc etc
So if you like stuff like that, LaTeX is really worth the time it takes to learn it.
(On windows you probably just install cygwin...? )
/Johan
Update: Pictures and LaTeX is often painful thou...
Update: WYSIWYG takes focus away content and forces you to focus on layout, it happens since you react on the things you see. But if you write something important you should not react to layout issues, you shall focus on what you are writing.
Update: And your text will be readable in 10-20 years time, that has definitely not been the case for the different office programs. Try open a 20 year old MS Office document and see if Office 2007 can read it?
Shall we call this long term stability, since LaTeX is open source it will still be around 20 years from now....
I'm a high school math teacher by day, and I write absolutely everything in LaTeX, for many reasons, most of which have already been mentioned. But I'll add one more:
Because LaTeX files are plain text, it's incredibly easy to generate them programmatically. For example, I've written a number of Python scripts that randomly generate certain quiz questions (e.g. sin(pi/3), cos(5pi/6), etc.), based on parameters that I can specify. And because I can invoke LaTeX from the command line (I'm running it on Mac OS X, btw, not sure if this applies to Windows), the scripts automatically take the resulting plain text file, run it through pdflatex, and produce the final pdf. This way I can produce multiple versions of the same quiz really easily and with minimal effort.
FWIW, no one else in my department ever learned LaTeX, or had even heard of it until I arrived. The steep learning curve still prevents them from learning it -- everyone else still uses MathType in Word -- and yet everyone is amazed at the high quality of the printed output, so much so that my department head thinks I should consider submitting my worksheets for publication. Nevermind that the content of the worksheets don't merit publication; she's that impressed by the beauty of the printed page.
The depth you need to go into to get a simple document out is pretty simple. Anything fancier than that, you can learn as you go. It makes formatting math stuff really easy, too. You might as well learn it.
I've had plenty of terrible experiences with Word and OO.o when editing large files. Usually at some point styles, references, and numbering just break down and there's no easy way to fix those.
I've done several larger documents in Latex and I've never had such problems with it. It is likely because in Latex you edit mainly the structure, not the presentation. In addition, Bibtex is really nice for managing citations as all the major article databases give you the Bibtex codes.
I just finished writing my Bachelor's thesis with Latex and had pretty much no problems whatsoever whereas people using Word were complaining about everything breaking down all the time. I'm currently of the opinion that when writing lond and complex documents, people using Latex are much more productive than people using Word or OO.o. But for short documents I wouldn't use Latex because of its initial overhead.
Whatever your platform is, Tex Live is currently the shiznit.
I wouldn't consider myself a LaTeX expert, but I have used it to write a book I later self-published using Create Space [1]. You can probably guess that I like it.
Here are a few points which might be of interest:
That said, if you're looking to tweak a document to make it look exactly so, you might drive yourself crazy in the process. The design of LaTeX favors a more relaxed attitude towards placement: don't worry, LaTeX will find a spot for everything. Usually everything works out okay, and the placements are acceptable. Sometimes you need to debug.
A WYSIWYG editor generally gives faster feedback and generally leaves layout up to you. That said, Word sometimes responds to formatting tweaks by throwing all the images randomly across the document. Then you get to spend an hour dragging everything back into place. Pick your poison.
[1] https://www.createspace.com/Added bonus -- LaTeX is amenable to source control, which can come in handy if you're writing program documentation in it.
While a lot of reasons for using LaTeX have already been named I'm still missing something:
There is a rather important difference between both. I learned LaTeX during my uni years and I'd never regretted it. Why? Because it teaches you the beauty of typesetting. Even if you have to use worse tools later (like MS Word -- it is much worse than LaTeX, even with the problems LaTeX does have!) you get a good feeling about how a text should look like and the system behave. For example, correct spacing between words and paragraphs (Word completely fails to do this pleasantly looking to the eye), formulae (this is one thing where you can easily see the difference between Word and LaTeX: Word look butt-ugly. Wrong spacing in almost every possible location, I've seen formulae that got almost unreadable due to broken spacing), producing PDF files (if you have Acrobat you can create a hyperlinked PDF from Word. If you don't, you almost can't), handling references and other things generated from the text like table of contents. LaTeX just works in this aspect while Word does somewhat work.
One important hint from my perspective: don't use DVI. While the idea is nice pdflatex
works absolutely fine, can (in contrast to the standard latex
) cope with jpg, png and other image formats directly and is a format everyone should be able to read.
If you care for a good typographic result: never use Word. And as a side-note: I even used LaTeX for typesetting sheet music in the past. Once you get used to it the syntax isn't that confusing anymore, and the result is amongst the best I've ever seen for sheet music.
For your last question:
how does one use LaTeX on a Windows machine? What software do I really need?
I use MiKTeX [1] as the LaTeX compiler and write the source .tex file in some texteditor like notepad, programmer's notepad or notepad++.
[1] http://miktex.org/For anybody looking to use LaTeX on Mac OS X, I can recommend TexShop. It provides a nice GUI (not WYSIWYG) for text editing and macros and has a 1-click publish to PDF. Very easy to setup and get going with.
Yes, because LaTeX appeals to programmers.
LaTeX is not without problems, but for many it's about using the same tools (like your favourite text editor) for your code and your documentation or thesis or whatever on the same platform side by side.
You don't necessarily need to write LaTeX in order to get the benefits of a LaTeX. MultiMarkdown [1] lets you use an extended version of Markdown [2] to generated LaTeX documents. (Markdown in the markup language used for Stackoverflow messages). The webpage has samples of what you can do with it. For some documents you are still going to need to hand write LaTeX, you'd be surprised at how far you can get without resorting to that.
[1] http://fletcherpenney.net/multimarkdown/What will I actually gain from it
I prefer my documents to appear the same within the limits of the output device's ability to put dots on media, whether it's an old impact printer or a phototypesetter. The DVI (device independent) output format is my friend, and may be yours too.
(Skip this paragraph if you don't care for an illustrative anecdote.) Back in the mid '90s our corporate Standard Operating Environment included MS Office, and we had a couple of generations of HP LaserJet printer around the site. Having been a LaTeX and DVI fan for some time, I naively expected that a document would look identical, modulo resolution issues (e.g. 300dpi vs 600dpi), whatever printer I pushed it out to. But no, Word insisted that the printers were so different that changing from a LaserJet III to a LaserJet 4 caused the line breaks to move (i.e. break after different words). After the next version of Office was released and we were all sent to a training course I asked the trainer if the behaviour of the new Word was the same. The response was "Of course - why wouldn't it be?"
and will I enjoy using it?
That depends on what type of programmer you are, and what front-end you choose to drive *TeX (LaTeX being a macro package on the front of TeX, and BiBTeX [1] a companion tool).
make foo.{dvi,lj,pdf}
; Xdvi auto-refreshes when the DVI file changes).With Latex, everything that defines the document is visible in an easily editable format. With Word and friends, much of the document state is hidden and editable only through a long winded process of menus or dialogs. The editing is less predictable because you're editing the underlying state through a rendered presentation which doesn't show all of that state.
What makes it unbeatable for me is the ability to use the vast array of tools which operate on plain text, and the way you get consistent styles by default.
It depends on what your needs are. For me, using LaTeX is overkill, I use XHTML instead.
There is basically one very big downside to it, which is that XHTML is rather limited, and definitely not suited for publishing on paper. So you will often have to add a number of custom XML tags, with some XSL style sheets to parse them and replace them with whatever you need. (For example, princexml doesn't generate a table of contents for you, this isn't too complicated to do with some XSLT, but it will be quite a challenge if you don't speak XPath).
I really can't speak for everyone. However, learning how to use LaTeX is in my opinion the single most worthy knowledge that I gained in the realm of academic publication. I find LaTeX invaluable in helping me to focus on the content and less on the way the document is to be formatted. This is important because back when I was writing my thesis, I felt like I spent a quarter of my life trying to tame Microsoft Word, dealing with stuff like page number, citations, mathematical equations etc. In terms of using LaTeX, I did took a shortcut that enable me to not learn the LaTeX syntax. What I did was I got a copy of Bakoma TeX WYSIWYG editor. As such, I do not really consider myself a real LaTeX user. But, suffice to say that if you are going to write thesis with many mathematical equations, or you're writing a conference paper and you wanted it to look professional, you will find that LaTeX is a godsend. Do note however, do expect to google around for LaTeX-related problems even if you're using WYSIWYG editor. It's a small price to pay; It's not going to be free. At least not for me.
I agree that latex has the edge over MS word for publishing in intensively mathematical sciences, but talk of word's lousy formula layout is a bit complacent: Word 2007 has tremendously improved support for formulae; the word team essentially started from scratch with a new formula layout engine modelled on the tex algorithm. A blog post by Murray Sargent of the Word team, talking [1] of his meeting with Knuth about representation of equations, may be of interest.
[1] http://blogs.msdn.com/murrays/archive/2006/11/15/lineservices.aspxYes, but learn only what you need. If you just need to submit a paper to a conference then that conference will already provide you with a style file (.sty or .cls) which you can use, along with a sample document that will look like:
\documentclass{conferencestyle}
\begin{document}
\title{Title of my paper}
\author{Jose M Vidal}
\begin{abstract}
This is my abstract
\end{abstract}
\section{Intoduction}
blah
\subsection{Related Work}
blah
\subsection{Description}
and so on....
\end{document}
All you have to do replace the text with your own, re-compile, and now you have a PDF that will likely look much better than one created with word. If you have math, which you probably do, then you have to learn how to type that in like: $E = mc^2$, and $\sum_{i = 0 \ldots 100} i^2$. This will take a few minutes and you will likely want to have a symbol reference handy.
You can learn all this in a couple of hours and this is most of what 90% of the people who use latex will need to learn, the other stuff includes figures (\begin{figure}), references \ref{fig:1} and citations \cite{turing42}.
The other 10% of the people are interested in controlling the layout of the final paper, as in "I want my paragraphs' first line to start with an indentation of 1cm". These people will need to buy a latex book and take a few days to learn this, and a lifetime to master. You probably only want to invest this time if you plan to be generating many pretty-looking papers/books/whatevers in the future.
I have a slightly different answer but still believe people should learn LaTeX.
I'm a graduate student in a social science Ph.D program but I use a lot of quantative methods. Latex wins, hands down, if you need to write out any sort of math. Moreover, the beamer class makes such pretty (and waaaay) better slides than power point. The Bibtex bibliography 'program' is also one of the best.
I spent so long dealing with formatting issues in Word that I just hate. I hate having to try to keep headers consistent, I hate dealing with differing fonts, and I hate dealing with spacing. Latex makes that stuff so simple.
Also. I use winedit to edit my latex documents. You'll still need some sort of latex compiler (like lyx) but the front end is very useful and the ide features are great.
It is of my strong believe that all depends on what you need to do. For example, I use my leisure time to create math teaching materials for all acadeic levels and I would not consider any other tool besides LaTeX to this task.
The quality of the products are far beyond Word or any other tool I know. Chech this document done in LaTeX (everything in the document comes from source-code + complination tasks) http://www.aprendematematicas.org.mx/obras/DICM.pdf
The size of the document is small (1095 kb), considering it has 333 figures in it. If I would use something as a WYSWYG I would need to insert jpg images (or the like) causing a huge file size.
Quality of the equations, formatting, figures, etc., is quite good. And besides all, it is free.
I agree with some comments, It is not the easiest tool to learn. But if you have tasks like mine, it helps a lot.
Greetings.
Another option is to use XeTeX which allows you to use UTF-8 and system fonts easily. See: Wikipedia Article on XeTeX [1]
[1] http://en.wikipedia.org/wiki/XetexFor me, it boils down to two things:
I would say that Latex is definitely worth learning. With Luatex, and Xetex, it is also keeping up with the times.
[1] http://en.wikipedia.org/wiki/KerningOne thing to use LaTeX is that the source code is (naturally) human readable. It allows you to use any content versioning system you ever want. Not sure how or what Microsoft Office features in the CVS errands but with LaTeX you have the whole market. For instance, the traditional options such as git
and subversion
with their nice, colorised diff outputs easy tracking the progress. And you can collaborate with others using these de-facto applications.
For Windows there is also the LeD LaTeXeditor, which is free, and helps writing LaTeX files much easier, and decreases the learning curve
Finally, how does one use LaTeX on a Windows machine? What software do I really need? I've read a couple of guides but many of them seem like overkill.
Everybody likes MikTeX but TeXWorks is not the best, if you have installed MikTeX, have a look at
TeXMaker
[1] and enjoy using LaTeX with TeXMaker-bidi. It provides a lot of eases with LaTeX :-) and is very nice tool for getting start...
I have been using Latex both in the acedemic and in the professional environment and I must say it is worth mastering it. Most of the other people said enough, but I want to add the simplicity that Latex provides handling the layout of your document. Immediately looks professional, readable and immutable.
Latex does not work properly on Windows 7. Perl.exe crashes during installation. I was unable to use LiveTex 2011 for writing a paper for Elsevier. Sometimes you need to run de program several times to see a preview of your final draft. Commands does not work for all .tex editor. There are no detailed instructions to install LaTex on Windows 7 on the internet, the ones you find on the internet do not consider the installation of auxiliary programs. I couldn't find what program should have been installed first. Sometimes you can install different program, auxiliary programs, but then you need to make them interact somehow. I couldn't not work out how to use %path% on Window 7. Knowledge people of LaTex can talk about GUI, auxiliary programs, compiler, pdftext, etc, but the practicability of this software still remains hiden. Should we use it just because it seems to make things beautiful? Jornals mentioned that you can submit your Latex files but they will change many settings. So, why should we wait too much time using Latex if at the end journals will display your paper differently. If you commit an error, it's good to know it, but there is a lack of information on how to solve it. I don't see the point of using LaTex when Word can give you good results and many ways to display whatever you want.