LaTeX is the de facto standard for scientific typesetting; in a nutshell, it's the markup language for maths-oriented print media, in the same way that HTML is the language with which hypertext on the web is formatted. But LaTeX had "style sheets" long before they appeared on the internet as CSS.
LaTeX is capable of essentially everything that you can do in HTML/CSS, including hyperlinks and multimedia, but it can do much more because its foundation, TeX, is actually a kind of programming language, albeit not one that implements the latest fashions. It is from a time when graphical user interfaces (GUIs) were still in their infancy, and most user-interfaces were text or script based. Of course as GUIs matured, they themselves became "scriptable" (see, e.g., ApppleScript on the Mac). The moral of the story is that scripting is still the only way to do serious work on a computer, so why abandon a powerful program like TeX only because it isn't GUI-oriented?
Unfortunately, schools and even Colleges do not teach this, and instead perpetuate the erroneous notion that efficient and professional writing requires Microsoft Word or similar software. Equating "Computer Literacy" with mastery of Microsoft Office is the same as equating "Literacy" with mastery of McDonald's menus.
Typing LaTeX feels more like typing a program, and the editor you'll end up using for this may lack some features familiar from Word. But that isn't necessarily a shortcoming: One thing that traditional word processors do is to breed a reliance on "on-the-fly spell checking". This may be useful in some contexts, but it can also be detrimental for several reasons:
LaTeX allows you to produce high-quality PDF output, and can also be converted to other formats such as RTF, OpenOffice or HTML. But just like HTML, it isn't so easy to see what the output will look like while you're typing the source code. That immediate feedback is something you only get with WYSIWYG editors, i.e., the garden-variety word processor to which MS Word has become eponymous. This is a drawback of LaTeX; but it is at the same time a potential advantage. This is because LaTeX allows you to adjust and tune the appearance of the output pretty much independently of the content. So if you really want to focus on the content and logical structure, LaTeX can provide an environment in which you can essentially "tune out" all worries about what things are going to look like on the printed page. Of course once you actually do address that part, there can still be a lot of work involved, just like with web page design. But at that point, one can often rely completely on pre-existing stylisitc work that has been done by others, and which can be made available to your document by simple one-line instructions that load such styles in the form of "packages".
If you want the best of both worlds, you may find yourself using WYSIWYG word processors for small and simple documents, and LaTeX for large and complex works, especially when mathematical typesetting is required. Before diving into LaTeX, it's therefore useful to realize that the two worlds aren't completely disconnected: one can, within limits, convert a given document from word processor format to LaTeX format and back. Here are two pages that deal with the conversion problem under various aspects:
The return journey from LaTeX to word processor format is, however, a more advanced topic, because it involves the tex4ht package - a highly customizable but also highly intricate system for translating both the semantic and stylistic content of a LaTeX document into HTML and related markup languages. I'll write more about that later.
Here is an example for the uses of tex4ht.
scalefnt package, and the rotating package. With these you can create text that is either huge or microscopically small, and criscrosses the page at any desired angle. Scaling to arbitrary sizes doesn't work with all maths fonts (the age of TeX shows here), but it does work, e.g., with mathtime or mathpazo.
Perhaps the best way to learn LaTeX is to place the student in front of a computer from which Microsoft Word has been surgically removed for therapeutic reasons. On a Windows PC, this is admittedly risky and perhaps not worth the side effects. Treatement of the patient should therefore ideally be initiated in a Mac OS X or Linux environment. Alternatively, one may just have to wait a few more years until Microsoft Office automatically removes itself from all computers through some virus.
If the subject shows resistance or withdrawal symptoms upon removal of the Windows platform, a simple LaTeX installation on a PC can be achieved using freeley available packages:
In cases like this, it may be advisable to require a vow of abstinence from Word for the duration of the LaTeX training.
Seriously, LaTeX on a PC is just as easy and powerful as on any other platform. My own experience is that I learned LaTeX on a system where there was no other typesetting program available at all, and hence you were forced to do everything with LaTeX/TeX (I first used LaTeX on an Atari ST connected as a terminal to a VAX station at the I. Institute for Theoretical Physics in Hamburg, to write my master's thesis in 1991/1992).
There are reasons for using Office-like programs once in a while, if only to read files that others send you. My kids like AppleWorks a lot, and that's OK because you can do cool stuff with it. But I would tend to categorize such software as somewhere between toy and edutainment, and under this aspect there is a justification even for Word. See my Pages pages for a discussion of alternatives replacing Word, especially geared toward Mac OS X, but essentially under the premise that you're looking for something to play with.
So can you survive without Word? Some people need expensive toys, some have more fun with cheap ones. In either case, you can survive. But if you spend your money on expensive toys, you may be all the more frustrated if they don't work as advertised.
That can be very easy if you don't have complicated formatting going on, and if you aren't using math formulas, cross references and other fancy things. OK, so in other words, for the audience I'm talking to here, it is not easy.
So don't even start with Word for serious work. It's hard to keep it future-proof and portable (unless you're able to spend the money on upgrades and site-licensing etc.)
For people who want to go through with the switch, I'll try to give some advice on a separate page.
There is an inexhaustible amount of information on LaTeX on the web -
png images of equations, if you don't have LaTeX on your computer.
dvi format. The following programs can open dvi files:
xdvi(k), the original Xwindow program. It is the only one (in this list) that does not need to build an auxiliary PDF file from the dvi input first.
texdoc; for example, to get general information about the latex command itself, type texdoc latex.
texexec --pdfarrange --result=merged.pdf file1.pdf file22.pdftexexec utility can also be used to extract pages from a file, and much more (see the manual page).
Automator, it's easy to create a workflow containing the steps "Combine PDF Pages", followed by "Open Images in Preview". Saved this as a Finder Plugin to be accessed by right-clicking any set of PDFs in a Finder window. In Mac OS Leopard, the Preview application provides this functionality.
Start with a multi-page file "newfile1.pdf" in an otherwise empty working directory. I'm assuming I want the page numbers 2, 4 and 5 extracted. The code for this could look like this (in tcsh):
foreach i ( 2 4 5) foreach? gs -dSAFER -dBATCH -dNOPAUSE -dFirstPage=$i -dLastPage=$i -sDEVICE=pdfwrite -sOutputFile=im$i.pdf newfile1.pdf foreach? end gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=combine.pdf `ls -t im*.pdf`With this, the output file "combine.pdf" has the desired three pages and also the original page format. You have to use
tcsh so that the "foreach" command is recognized, which I use to loop through the list of pages to be extracted. The loop creates one file each per extracted page, and the last line after the loop combines these pages back into a single document. The ls -t above sorts the individual pages in the order in which they were created.
pdflatex and the pdfpages package. Instead of doing the same thing again, here is another example for the use of pdfpages:LaTeX code:
\documentclass{minimal}
\usepackage{xcolor}
\pagecolor[HTML]{B0A030}\usepackage{pdfpages}
\begin{document}
\includepdf[fitpaper,pages=-]{inputfile.pdf}
\end{document}
Here, the desired background color is given in hexadecimals, e.g., B0A030 (as one does in HTML code, too). The screenshot below shows what this looks like:
Incidentally, the script removes access restrictions from the PDF file while recompiling it (it's not my script that does that, it's the pdfpages package). Obviously, you should use it on such files only with the proper permission.
Based on pdfpages, I wrote a script that can not only color the background of a PDF file, but also re-arrange its pages so that there are n×m original pages per physical output page. This is also called "n-up" printing. Details about the script are on a separate page.