# Editors

Editors are simply that. They can edit raw text, and have some benefit for editing TeX over TextEdit (at least syntax highlighting).

Many specialised editors for TeX have built-in viewers. These are often called 'front ends' and are described on their own page. If you are just starting to learn TeX, you may wish to start by using a front end which offers a unified GUI interface and straightforward configuration options.

If you cannot find a front end which meets all your needs, it is still worth exploring what the available front ends have to offer since many TeX front ends can be used with external editors or viewers if required. For example, TeXShop, a popular front end for Mac OS X, can also be used as either an editor with an external viewer or a viewer for an external editor.

New to TeX is SyncTeX, the pdfsync replacement. Please refer to the SyncTeX page for more information.

## Alpha

Multi-purpose programmable text editor. (Original Alpha (for OS9) by Pete Keleher; AlphaX maintained by The Alpha Cabal; AlphaTk by Vince Darley.)

Some features of Alpha's TeX mode: syntax coloring, macros for all standard latex commands and environments; command and environment completion, \ref and \cite completion, extensive support for manipulating .bib files, automatic indentation and comment handling, shortcuts for paragraph and section navigation. Provides a smooth interface to any unix tex installation, spawning a previewer when needed. Alternatively, Alpha can work as external editor for a frontend like TeXShop or iTeXMac. The native tex interface sports advanced features like synchronisation, typeset-selection, many options for compile automatisation (based on log-file scanning behind the scenes), and smart error browsing.

Beginner's comment: the learning curve can be a bit steep for the fancier features, but there is an active Alpha Users' Mailing List where you can ask questions and often get an answer the same day.

Expert's comment: Alpha uses Tcl as extension language (just as emacs uses lisp) --- in fact most of Alpha's functionality is implemented in Tcl. This means it is easy to add new features or modify the existing ones. There is an active Alpha Developers' Mailing List where such issues are discussed.

### AlphaX

by The Alpha Cabal

Shareware (although this is not enforced)

This is the current implementation for OSX.

### AlphaTk

by Vince Darley

Shareware

Platform independent implementation in Tcl/TK.

### AlphaTcl

Open source (BSD)

Open-source library implementing most of Alpha's functionality. This library is used by both AlphaX and AlphaTk and lives inside the application bundle - a normal user will never have to care about this or download AlphaTcl separately. (You can browse Subversion repository at SourceForge.)

## BBEdit

by Bare Bones Software

Commercial

Very nice Macintosh text editor. BBedit integrates well with OzTeX, CMacTeX and MacTeX.

### LaTeX Glossary

by Gianluca Gorni
Freeware
Requires BBEdit 6 or later
This is a very nice and large glossary for BBEdit of LaTeX commands. As you can see from the following excerpt from the ReadMe, it has a lot of stuff. It also contains a Mathematica Glossary Tool and four AppleScripts.
Be aware that with BBEdit 9 the contents of the glossary are also used for the auto-completion. Since many of the items in this glossary rely on knowing in which folder they are located, you may get some unexpected results for common commands in auto-completion.

### BBEdit TeX Tools

by Ujwal S. Sathyam
Free-ware
Requires BBEdit (not the Lite version)
This is version 1.0 initial release of Tex Tools plug-in for BBEdit, a popular text editor for the Macintosh. It provides an integrated interface between BBEdit and various TeX-related software such as the typesetter, DVI previewer, BibTeX, Excalibur, etc. This tool is a 68K BBEdit tool and should work on a 68K or PowerPC Macintosh with BBEdit version 3.5.2 or later, though I have tested it with only version 4.0.3 and the 5.1 demo version on a PowerPC. Since this is a tool providing a floating palette rather than an extension, it will not work with BBEdit Lite. MacOS 7.0 or greater is also required. To use it, drop the tool into the BBEdit Extensions (BBEdit 4.0) or BBEdit Plug-ins (BBEdit > 4.5) folder. The TeX Tools plug-in scans your system for most TeX-related applications and provides a floating palette showing the icons of the applications it found. Clicking on an icon executes an appropriate task. For example, clicking on the OzTeX icon typesets the current window. Clicking on BibTeX icon runs the *.aux file through BibTeX, clicking on the Ghost-Script icon opens the *.ps file.The applications currently recognized are:

• OzTeX (TeX, DVI viewer, and dvips)
• Textures
• CMacTeX (TeX, DVI viewer, dvips, and PDF-Tex)
• BibTeX
• Excalibur
• Make-Index
• Ghost-Script
• Acrobat Keyboard modifiers change the action taken. Read the file TeXToolsDoc.dvi or TeXToolsDoc.pdf for a complete documentation.

### TeX-Scripts-BBEdit

Claus Gerhardt's scripts (no longer recommended, use Flashmode BBEdit instead)

### BBEdit plug-ins for teTeX

Freeware

From the author: If you want to use BBEdit Lite as a text editor with teTeX I have written a suite of BBEdit plug-ins that allow you to run TeX, PDF-TeX, dvips, ps2pdf, etc, from BBEdit Lite. These plug-ins are similar to the BBEdit plug-ins I have provided for CMacTeX.

### BBEdit, TextWrangler and TeX integration scripts

Open source (public domain)

This is a collection of AppleScripts and a shell script that allow you to run common (and slightly less common) commands directly from BBEdit or TextWrangler. Some parts are related to my use of MetaPost for figures. A fast draft method is available, without the need to alter your LaTeX file.

Forward synchronization with Skim is included in the current release which works with both BBEdit 8 and 9. Installation instruction are available on the download site.

### BBEdit ChkTeX integration

by Ramón M. Figueroa-Centeno

Script to call ChkTeX from BBEdit.

## Emacs

Platform-independent, extensible and multi-purpose text editor with support for a wide range of programming languages.

### AquaMacs

Open source (GPL)

Based on GNU Emacs, Aquamacs integrates with OS X thanks to its specially adapted user interface. Comes with AucTeX/Preview (preview equations, figures inside emacs) and is set for Skim integration/synchronization by default.

AquaMacs Emacs is included in MacTeXtras.

### Carbon Emacs

Packaged emacs for the Mac. Needs some configuration, but comes with a plethora of packages embedded.

### GNU Emacs

Open source (GPL)

From the homepage:

GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. The features of GNU Emacs include:
• Content-sensitive editing modes, including syntax coloring, for a wide variety of file types including plain text, source code, and HTML.
• Complete built-in documentation, including a tutorial for new users.
• Support for many languages and their scripts, including all the European “Latin” scripts, Russian, Greek, Japanese, Chinese, Korean, Thai, Vietnamese, Lao, Ethiopian, and some Indian scripts.
• Highly customizable, using Emacs Lisp code or a graphical customization interface.
• A large number of extensions that add other functionality, including a project planner, mail and news reader, debugger interface, calendar, and more. Many of these extensions are distributed with GNU Emacs; others are available separately.

A commandline version of GNU Emacs is included with Mac OS X. Type

man emacs

for details.

### XEmacs

Open source (GPL)

Based on GNU Emacs. The homepage describes the XEmacs project as one whose

emphasis is on modern graphical user interface support and an open software development model, similar to Linux.

XEmacs is available as source code from the main site or may be installed using Fink or MacPorts.

#### Easymacs

by Peter J. Heslin

Open source (GPL)

From the homepage:

Easymacs is an easy-to-learn, one-size-fits-all configuration for new users of GNU Emacs. ... Easymacs was designed with the non-programmer in mind, someone who would like to use Emacs to edit mainly text files, especially LaTeX and TEI-conforming XML.

#### Enhanced Carbon Emacs

by Enrico Franconi

Licence?

Adds menus for use with LaTeX and includes many packages that are optional installs for GNU Emacs.

Enhanced Carbon Emacs is now a universal enhancement plugin for arbitrary (unix, carbon, or aqua) emacs distributions (such as Yaced, Aquamacs, CarbonEmacs Tiger, or the native darwin emacs in /usr/bin/emacs).

Warning: This may mess up the polish of AquaMacs (changing which AucTeX is used, buttons, etc). To remove, quit emacs, open your terminal and type

 rm -r /Library/Application\ Support/emacs

Alternatively, you may need to type

 sudo rm -r /Library/Application\ Support/emacs

Alternatively, drag the folder

 sudo rm -r /Library/Application\ Support/emacs

to the trash and restart emacs. If you edited your .emacs file, remove the lines you added in (shown on the Enhanced Carbon Emacs page).

#### WhizzyTeX

Open source (GPL)

From the project page:

An Emacs minor mode for incremental viewing of LaTeX documents.

Instructions for installing WhizzyTeX on Mac OS X can be found on this WizzyTeX page. Note that these instructions are both out of date and misleading in various ways. In particular, the instructions have not been updated for use with TeXLive and it is neither necessary nor advisable to use sudo as frequently as suggested. For example, you should not need to use sudo to edit configuration files in the source directory. It is also better to use:

make
sudo make install

rather than simply:

sudo make install

as suggested to minimise the processes to which you grant root privileges.

#### YaTeX

Licence?

Yet Another LaTeX mode for Emacs. Includes a YaTeX-compatible mode supporting html editing.

## jEdit

by Slava Pestov

Open source (GPL)

I have not used jEdit, but have recently received some very enthusiastic recommendations for it. The following text is directly from the jEdit web site

jEdit is a mature programmer's text editor with hundreds (counting the time developing plugins) of person-years of development behind it.
...
Some of jEdit's features include:
• Written in Java, so it runs on Mac OS X, OS/2, Unix, VMS and Windows.
• Built-in macro language; extensible plugin architecture. Dozens of macros and plugins available.
• Plugins can be downloaded and installed from within jEdit using the "plugin manager" feature.
• Auto indent, and syntax highlighting for more than 130 languages.
• Supports a large number of character encodings including UTF8 and Unicode.
• Folding for selectively hiding regions of text.
• Word wrap.
• Highly configurable and customizable.
• Every other feature, both basic and advanced, you would expect to find in a text editor. See the Features page for a full list.

## mi (formerly MMKEdit)

by Daisuke Kamiyama

There isn't much documentation with this application, but it has been recommended by a number of people. It includes a mode for TeX. Please contact the author if you want to know more. From the included "README":
mi is a text editor to write HTML source, C language source, and so on. It supports your editing by many features such as keyword colorize feature.

Note that work on the English version has been suspended although the last version supported in English is available for download.

## Smultron

Cocoa text editor with syntax highlighting for various kinds of source code, including LaTeX. Versions for OS X 10.3.9 and later.

## SubEthaEdit

Commercial

Collaborative and extensible text editor supporting simultaneous edits, unicode, html export and AppleScript. Range of supported programming languages includes LaTeX.

## TeXworks

TeXworks which is more recent than TeXShop but based on it, has the advantage of being available on the three main OSs, Windows, MaC OS/X and Linux. It is free software and is distributed with TeXLive2010. LuaTeX can be incorporated in version 0.4 as a TeX Engine with other older engines like pdfTeX and XeTeX. It uses SyncTeX in order to sync the PDF output with the tex source code within the editor.

Currently (April 2011), the spell checker hunspell (a successor of myspell) is not installed by default for checking a text from the TeXworks editor, but since OS/X Leopard uses hunspell, it doesn't need to be installed. But the dictionaries (a .aff and a .dic file for each language) have to be installed. For an unknown reason TeXworks 0.4 asks for a specific place (~/Library/TeXworks/dictionaries instead of the generic place for hunspell ~/Library/Spelling) .

If you installed OpenOffice, the installation of the dictionaries can done by simple links (otherwise you have to download them from openoffice.org) :

$ln -s /Applications/OpenOffice.org.app/Contents/share/extensions/dict-en/en_US.aff ~/Library/TeXworks/dictionaries$ ln -s /Applications/OpenOffice.org.app/Contents/share/extensions/dict-en/en_US.dic ~/Library/TeXworks/dictionaries

and by restarting TeXworks.

## TextWrangler

Freeware

Free cousin of BBEdit. See the BBEdit scripts for a set of TeX integration scripts, these scripts work with both editors.

## Vim

by Benji Fisher

Vim charityware (GPL-compatible)

Vim is the other highly popular Unix editor. Check our Benji's site for info and links. OS X comes with vim from the terminal. The command vi (vim's predeessor) links to vim. You're not a hacker if you don't know vim/vi.

### MacVim

Open source (BSD)

A modern GUI version that works well.

### LaTeX-suite

Vim charityware (GPL-compatible)

An essential plugin for anyone contemplating the use of Vim and LaTeX.

## XcodeLaTeX

by John F. Skoda

Licence? (donations requested)

From the author:

XcodeLaTeX is an add-on to Xcode that will syntax color LaTeX and BiBTeX files.