The styles, contents and layout in a LaTeX document are defined by means of tags or commands in a plain .tex file, this file can be used to generate several types of "human-readable" versions of the document. The easiest way to generate this final output is to use ShareLaTeX, ShareLaTeX has a ready-to-use LaTeX distribution and final documents can be generated by simply clicking the "Recompile" button; if this is your case you can skip this article. Otherwise, if you need to learn how to compile documents in your computer, this article describes how to generate PS, DVI and PDF output from a LaTeX file.
LaTeX documents are plain documents with a .tex extension (see the Creating a document in LaTeX article for examples), this plain text file has some markup commands that are meant to format the document but, how do you actually generate the final output?. It depends on the type of document you want to generate.
Suppose you saved your document and named the file "mydocument.tex". To create a .PDF file just run this command in the system terminal.
And a file named "mydocument.pdf" will appear.
The set of programs that make possible to compile TeX and LaTeX documents is called a TeX typesetting or a TeX distribution. There are many TeX distributions available for different operating systems:
Of course, if you don't want to go through the process of installing a TeX distribution, you can use an on-line ready to use option like ShareLaTeX.
There are many advanced text editors specifically dedicated to LaTeX for the most popular operating systems, some of them can be downloaded for free while others are proprietary software:
There are also general-purpose editors that add LaTeX-friendly options by means of plugins. For example the well known editors emacs and vim have both a LaTeX extension.
It's worth to mention that the editor in ShareLaTeX can be customized to emulate the emacs or vim behaviour. It is also themeable, so you can choose the same syntax highlighting of some of the aforementioned editors.
There are three output formats available in all TeX distributions. To generate a specific output the document has to be compiled by running a command in a terminal (linux and osx) or the command prompt (windows).
For example, if you want to compile a file named "mydocument.tex" you can use one of the next commands:
There are some additional commands that allow conversion between formats, PS images are also supported. See the reference guide for a schematic description of commands and output formats.
A description of each output format is provided below:
Note: Most of the editors nowadays include quick-access icons to compile to different output formats so you don't have to actually run the commands in a system prompt.
In some cases, when your document includes cross-references, you must compile the source twice. It is necessary to include the correct numbers in the table of contents, list of images, reference numbers to theorems and so on.
During the first compilation the LaTeX compiler writes the .aux file for informations about different numbering and during the second one the compiler reads these informations in order to properly generate a table of contents, bibliography, etc.
This process can be automatized by the command
latexmk. For example, to create a pdf out of the "mydocument.tex" file, run
latexmk -pdf mydocument.tex
only once, even if the document has referenced images and bibliography. You can change -pdf to -dvi to set a different file type.
LaTeX compilation file flow