AUCTeX

AUCTeX is an extensible package for writing and formatting TeX files in Emacs and XEmacs.
AUCTeX provides syntax highlighting, smart indentation and formatting, previews of mathematics and other elements directly in the editing buffer, smart folding of syntactical elements, macro and environment completion. It also supports the self-documenting .dtx format from the LaTeX project and, to a limited extent, ConTeXt and plain TeX.
AUCTeX, originating from the ‘tex-mode.el’ package of Emacs 16, was created by students from Aalborg University Center (now Aalborg University), hence the name AUCTeX. Lars Peter Fischer wrote the first functions to insert font macros and Danish characters back in 1986. Per Abrahamsen wrote the functions to insert environments and sections, and to indent the text, as well as the outline minor mode in 1987. Kresten Krab Thorup wrote the buffer handling and debugging functions, the macro completion, and much more, including much improved indentation and text formatting functions, and made the first public release of AUCTeX in 1991.
AUCTeX is distributed under the GNU General Public License.