-->
LaTeX is a professional system specifically created for scientific documents. It is pronounced ``lay-TECH'' because the ``X'' is actually the Greek letter Chi.
LaTeX is basically a programming language for writing papers (the proper name for it would be a ``mark-up language''). In this respect, it is conceptually similar to HTML. In fact, one familiar with HTML will see several parallels, although LaTeX is in fact much more powerful than HTML. It has numerous strengths. LaTeX can produce perfectly formatted documents. It has extensive mathematical formatting capabilities. It is modular and extensible. It can produce numerous forms of output, including HTML, PostScript and PDF. It is an open source program. It is available on a variety of platforms. It may be downloaded and used free of charge. It contains internal mechanisms to automatically keep track of references, equation numbers, chapter numbers, headings, figure numbers, table numbers, etc.
The fundamental philosophy behind writing papers with LaTeX is that you should concentrate on what you are saying, not formatting. Formatting is the job of the computer, and the computer will follow rules which have been researched and established by experts. The structured nature of the LaTeX language can actually help you write better papers.
The primary drawback to LaTeX is the learning curve. It is not a difficult language, but you need to put a little time into learning it before you can use it effectively. Another drawback is that you may need to spend some time debugging your code. Still another drawback is that you will need a book to reference the commands (many free ones are available on the Internet). However, once you know what you are doing, it can actually be much easier (and faster) to write papers with LaTeX than with Word, especially if mathematical equations are involved.
LaTeX is free and comes with most Linux distributions. A good Linux Integrated Development Environment (IDE) is available for KDE 2 based systems called KTeXMaker2. The version for KDE 3 based systems (most of the newest distributions come with KDE 3) is now called Kile. Both of these GUI programs are free and open source.
If you want to run LaTeX on Windows, you probably would like to use MikTeX . It is free and open-source. It is available only for 32-bit windows systems (Win95, 98, NT 4, 2000, XP). It is also huge. With all optional components it can be a 500 MB download. MikTeX is easy to install but is command line based. If you want a IDE for it, you can add on the TeXnic center, which is also free and open-source.
LaTeX also runs on Mac OSX. There are versions for many other operating systems (such as DOS, OS/2, Atari, and OpenVMS) which are available at CTAN.
I would also recommend that beginners and advanced users alike check out LyX, a graphical front-end to LaTeX.
LaTeX's default templates(e.g., article, book) are designed to produce high quality formatting in documents. However, there are times when you, the user, will need to override some default characteristics. Unless a special package is available, this is usually done with a \renewcommand line in the preamble. For example:
\renewcommand{\familydefault}{\sfdefault}
will cause the default font in the document to be a sans-serif font (Computer-Modern Sans-Serif or, if the pslatex package is also used, Arial). Similarly, a paper can be made doublespaced with:
\renewcommand{\baselinestretch}{2.0}
However, it is a better idea to use the new doublespace package instead of resetting \baselinestretch. Many other kinds of default behaviors can be tweaked in this way. It is best to search the tutorials and other pieces of documentation for commonly needed tweaks.
As stated before, LaTeX is modular and extensible. Here I will briefly describe what I think are the most important extension packages.
All packages are loaded in the LaTeX preamble with the line
\usepackage[package_options]{package_name}
Documents to be submitted to professors or journals usually need to be double spaced. The extra space between printed lines gives the reader room to write corrections. Calling the doublespace package is one easy way to do this with LaTeX. No options are needed with this package.
The setspace package is another method for changing the line spacing of a document and is more powerful than the old doublespace package. Calling the setspace package (no arguments are needed) will define three new commands which can be used anywhere in the document: \singlespacing, \onehalfspacing, and \doublespacing.
By default, LaTeX uses rather large margins. Large margins improve readability of documents, so they are a good idea in general. However, some journals and professors will want more conservatively sized margins. Calling the fullpage package will reset the default margins to a smaller value (about 1 inch if you do not use options.) All of the options for this package are discussed fully in the fullpage package documentation.
You can include graphs and pictures in your documents with the graphicx package. This package replaces most of the older packages, such as the epsf package. You can embed all sorts of pictures with this, including png, jpeg, gif, Windows bitmap, PDF, and encapsulated postscript. It can also be used to include pictures made with the native LaTeX picture commands. Generally, it is good to use encapsulated postscript (eps) if you want to include text information in the picture. Graphicx is designed to be used with postscript-type output (including PDF files). If you want to use pdflatex to create PDF files directly, you cannot include eps files. You should convert them to PDF files with the epstopdf command.
Options can be useful with the graphicx \usepackage statement. The option will be the name of the postscript-type output program that you use, such as dvips for dvips or pdftex for pdflatex . Please note that the use of this option means that you can use only one kind of postscript-type output program (dvips or pdflatex) unless you change the LaTeX file.
The picture can then be inserted with the line
\includegraphics[options]{filename.ext}
You do not have to specify options, but one very useful one is scale=xx where xx is a scaling factor.
LaTeX2e removed support for eleven mathematical symbols, including the \leadsto and \Box symbol. The latexsym package restores these symbols. No options are needed with the \usepackage statement.
Many journals like to have references listed in a bibliography, numbered in order of appearance. They are referenced in the main text by superscripted numbers. The overcite package automatically converts the journal cross-reference styles to this format. It will work with BibTeX type bibliographies or with internal document bibliographies (such as would be created with \begin{thebibliography}...). It will even convert sequential cross references to series. For example, if you \cite three references in a row (say 6, 7, and 8), it will put the first and last references, separated with a hyphen (6-8 instead of 6,7,8).
No options are used with the overcite \usepackage statement.
The computer modern fonts by Donald Knuth are the defaults used in LaTeX. However, one may wish to use default PostScript fonts instead. The pslatex package replaces the computer modern fonts with default PostScript fonts (such as Times New Roman and Arial). One particular circumstance people may wish to do this is for PDF files. This allows PDF files to contain fonts that Acrobat Reader has internal support for, and which some may consider easier to read onscreen. For more information about fonts in PDF files and why this package may be desirable, see the PDF in Linux and PDF in Windows pages.
No options are used with the pdflatex \usepackage statement. Nothing else needs to be done in the LaTeX document, as font substitution is automatic.
A LaTeX package is a file with a filename in the format packagename.sty. It is highly likely that most of the packages you will ever need came with your LaTeX distribution. However, if you don't havea particular one you want, you just need to find the corresponding .sty file (or compile it) and put it in with the rest of your packages. Alternatively, you should be able to put the package in the same directory as the LaTeX paper you are writing.
If you need to compile the package, it's really not very hard. You need to find a package source code file called packagename.ins. Run LaTeX on it and you will obtain the appropriate .sty file. For example:
latex fullpage.ins
will create a fresh copy of the fullpage.sty package. Note that some .ins files for the more complex packages (like graphicx) must have many different files (e.g., .dtx or .def files) in the same directory as the .ins file in order to compile! It's best to have a look at the README before trying to compile a .ins file.
You can buy a book on LaTeX and/or you can find documentation on the web. Here are some links for beginners and advanced users:
Many more can be found with a search on Google.