Fork me on GitHub

While Emacs alone is very powerful, one of it's most important strengths is its ability to inter-operate with other software programs. Links to the download pages for several programs that can be used from with emacs are provided below (they are also very useful on their own!). Installation of all these programs follows normal conventions on each platform, just download, run the installer, and follow the instructions. Everything besides Emacs itself is optional, but installing everything is highly recommended.

Installation

Everything (windows only!)
For searching files by name: http://www.voidtools.com/
R
The platform and environment for statistical computing: http://cran.r-project.org/
LaTeX

For the best typesetting around.

Windows
http://miktex.org/download
Mac
http://tug.org/mactex/
Linux
Use your package manager, or see https://www.tug.org/texlive/quickinstall.html
git
For revision control: http://git-scm.com/download/
Pandoc
For converting documents from one format to another: https://github.com/jgm/pandoc/releases
Stardict (linux only)

If you want to use a local stardict dictionary, use your package manager to install stardict and sdcv. Word lookup will fall back to a web-based tool if sdcv is not available.

Basic configuration

While a detailed instructions on how to use these programs would take years, you can get started with the quickly. Here are some quick pointers and links to more detailed tutorials.

R

R is a free language and environment for statistical computing. It works well out of the box and does not require much in the way of configuration. If you want to learn more about R the official R website is a good place to start and includes many excellent manuals and tutorials.

LaTeX

LaTeX is a typesetting system that excels at formatting structured documents. LaTeX files are written in plain text using a markup syntax, and this markup is used to format the typeset document. LaTeX works well out of the box and does not typically require much in the way of configuration. If you want to learn more about LaTeX try these LaTeX tutorials by Andrew Roberts.

git

Initial configuration

git is a revision control system that allows you to track changes, merge changes with those made by collaborators, revert to previous versions, and more. While git can be used without any configuration, it is a good idea to at least set your user name and email; instructions for doing so are available at http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup; a detailed introduction to git is available at http://git-scm.com/book/en/. Once installed you can use git from the command line; on Windows use the git bash application, on other platforms use your regular terminal emulator.

It is often convenient to tell git not to track some types of files (e.g., temporary files, or large binary files). LaTeX users in particular may be annoyed that git tries to track their .aux, .log, and other ephemeral files produced by LaTeX. You can tell git to ignore certain types of files by listing the in a .gitignore file. Details on .gitignore files are available at http://git-scm.com/docs/gitignore, and many useful templates (including one designed for LaTeX users) are available at https://github.com/github/gitignore.

github

Many git users host their repositories on http://github.com; helpful guides are available at https://guides.github.com/. You can clone from and push to github over https, and that is the recommended method; no configuration is required. If for some reason you prefer to use ssh you will need an ssh key pair; see https://help.github.com/articles/generating-ssh-keys/ for instructions.

Using git from emacs

This Emacs configuration includes magit, the best interface to git there is. It also configures Emacs as the editor so that working with version control systems in a shell inside Emacs should be pleasant.

  1. Pandoc

    Pandoc is a program for converting markup files from one markup language to another. Documentation and examples are available on the pandoc website.