Hay dos formas principales de escribir LaTeX en Emacs: AUCTeX, el entorno completo TeX/LaTeX, y YaTeX (野鳥), que es fuerte en japonés. Ambos funcionan con teclado y le permiten compilar, completar, realizar referencias cruzadas y obtener una vista previa directamente desde el editor. La curva de aprendizaje es pronunciada, pero una vez que se adapta a tus manos es muy rápido. Esta página recorre la configuración de AUCTeX, su complemento RefTeX y preview-latex para representar matemáticas en línea en el búfer, luego pasa a YaTeX para japonés.
¿Qué es AUCTeX?
Emacs no escribe TeX. La compilación real la realiza una distribución que instala en su máquina: TeX Live (o MacTeX/MiKTeX). AUCTeX es el paquete que une el editor y esa distribución: genera latex o latexmk como un proceso secundario, detecta errores y salta a la línea ofensiva, y agrega finalización de entornos y macros, resaltado de sintaxis, plegado de documentos y ayuda para la entrada matemática. El único requisito previo es que latexmk --version funcione en una terminal, es decir, los comandos TeX están en su PATH.
Históricamente, AUCTeX tiene dos modos principales: LaTeX-mode para documentos LaTeX y TeX-mode para TeX/plain TeX sin formato. Abra un archivo .tex y AUCTeX lo inspecciona para ingresar el correcto. La distribución actual se centra en GNU ELPA, el archivo de paquetes integrado de Emacs; GNU ELPA incluyó 14.1.2 en enero de 2026. Por lo tanto, instalarlo hoy es una sola línea con package.el, como se muestra a continuación.
Si la notación de teclas Emacs no le resulta familiar: C-c significa Control sostenido con c, C-c C-c significa presione c y luego c nuevamente mientras mantiene presionado Control, y M-x significa Meta (Alt o ESC) + x. Casi todos los comandos AUCTeX se encuentran en una clave que comienza con C-c.
configuración AUCTeX
La instalación tiene dos pasos. Primero instale una distribución como TeX Live (en 2026, TeX Live 2026) y colóquela en su PATH. Luego instale AUCTeX desde dentro de Emacs. GNU ELPA está habilitado de forma predeterminada, por lo que M-x package-install RET auctex RET es todo lo que necesita. En su init.el (o ~/.emacs.d/init.el), comience con TeX-PDF-mode para establecer de forma predeterminada la salida PDF y TeX-source-correlate-mode para vincular la fuente a PDF (SyncTeX).
Aquí hay un init.el práctico usando use-package. Configurar TeX-source-correlate-method en synctex y activar TeX-source-correlate-start-server permite la búsqueda inversa desde el espectador hasta la fuente. También activa reftex-mode y LaTeX-math-mode automáticamente en los buffers LaTeX:
;; GNU ELPA is enabled by default; ensure it is initialised.
(require 'package)
(package-initialize)
(use-package tex
:ensure auctex
:hook ((LaTeX-mode . TeX-source-correlate-mode) ; SyncTeX
(LaTeX-mode . reftex-mode) ; cross-references
(LaTeX-mode . LaTeX-math-mode)) ; ` math shortcuts
:config
(setq TeX-auto-save t ; write parse data (the auto/ dir)
TeX-parse-self t ; scan the file for \usepackage etc.
TeX-PDF-mode t) ; produce PDF, not DVI
;; Tie source lines to PDF positions and run a server for inverse search.
(setq TeX-source-correlate-method 'synctex
TeX-source-correlate-start-server t))TeX-parse-self y TeX-auto-save le dicen a AUCTeX que analice el documento (extraiga las macros de los paquetes que \usepackage) y almacene en caché el resultado en un directorio auto/. La recompensa es una finalización que se adapta a los paquetes que realmente carga.
El corazón de la compilación es C-c C-c (TeX-command-master). Presiónelo y el minibúfer pregunta qué ejecutar a continuación, proponiendo un valor predeterminado basado en el estado del documento (primero LaTeX, LaTeX nuevamente si las referencias no están resueltas, BibTeX si hay una bibliografía, luego View). Aceptar con Enter y repetir es el bucle básico. Por el contrario, C-c C-a (TeX-command-run-all) encadena los pasos necesarios automáticamente hasta que se produce un error o se completan y, en caso de éxito, abre el visor. Cuando solo desea avanzar hasta un PDF terminado, C-c C-a es el camino rápido.
Para estandarizar latexmk como compilador, instale el paquete auctex-latexmk y llame a (auctex-latexmk-setup). Eso agrega una entrada LatexMk a las opciones de C-c C-c, y configurar TeX-command-default en "LatexMk" lo convierte en el valor predeterminado. Debido a que latexmk inspecciona las dependencias y las vuelve a ejecutar exactamente tantas veces como sea necesario, nunca cuenta los pases para las referencias cruzadas o la tabla de contenido. auctex-latexmk también hereda TeX-PDF-mode y TeX-source-correlate-mode de AUCTeX, agregando salida PDF y -synctex=1 automáticamente.
(use-package auctex-latexmk
:ensure t
:after tex
:config
;; Make latexmk pick up TeX-PDF-mode (pass -pdf when PDF output is on).
(setq auctex-latexmk-inherit-TeX-PDF-mode t)
(auctex-latexmk-setup)
;; Offer LatexMk as the default action for C-c C-c.
(setq-default TeX-command-default "LatexMk"))Los detalles del motor y la bibliografía están más limpios en .latexmkrc en la raíz del proyecto (independientemente de la configuración de AUCTeX; el latexmk iniciado desde C-c C-c también lo lee). Para japonés, por ejemplo, asigne upLaTeX + dvipdfmx a $latex / $dvipdf y elija $pdf_mode = 3. Consulte la página de herramientas de compilación para obtener más detalles.
Las claves AUCTeX que utiliza a diario, reunidas en una tabla (la columna name es la secuencia de claves literal):
| clave | Comando | que hace |
|---|---|---|
C-c C-c | TeX-command-master | Elija y ejecute el siguiente paso (LaTeX → Ver,…) |
C-c C-a | TeX-command-run-all | Ejecute toda la cadena hasta completarla y luego vea |
C-c ` | TeX-next-error | Saltar al siguiente error (comilla invertida) |
C-c C-e | LaTeX-environment | Insertar un entorno (\begin..\end) |
C-c C-m | TeX-insert-macro | Insertar una macro por nombre (solicita argumentos) |
C-c C-f | TeX-font | Insertar una macro de fuente: \textbf, \emph,… |
RefTeX - referencias cruzadas y citas
RefTeX es un complemento centrado en la gestión de \label, \ref y \cite. Está separado de AUCTeX y incluido con el propio Emacs (sin instalación separada). Active reftex-mode en los buffers LaTeX como en init.el arriba y déjelo cooperar con AUCTeX, y el etiquetado y las referencias se vuelven dramáticamente más fáciles.
El quid de la cuestión es que nunca hay que inventar etiquetas a mano. C-c ( (reftex-label) observa dónde se encuentra (figura, tabla, ecuación, sección) y propone una etiqueta con un prefijo sensato (fig:, tab:, eq:,…) para insertar. Para consultar, C-c ) (reftex-reference) simplemente le permite elegir entre etiquetas existentes. Para citas, C-c [ (reftex-citation) busca su .bib mediante expresión regular e inserta \cite{...} para la entrada que elija. Y C-c = (reftex-toc) abre un búfer de tabla de contenido para todo el documento en otra ventana, para que pueda saltar a una sección o examinar la estructura.
Para una integración profunda con AUCTeX, configure reftex-plug-into-AUCTeX. La propia inserción \label de AUCTeX y la finalización de \ref/\cite luego pasan por RefTeX, y los dos paquetes se sienten como uno solo. Incluso en proyectos de varios archivos (\include/\input), RefTeX sigue el archivo maestro para recopilar todas las etiquetas y todas las citas de todo el documento.
(use-package reftex
:ensure nil ; bundled with Emacs
:hook (LaTeX-mode . turn-on-reftex)
:config
(setq reftex-plug-into-AUCTeX t ; cooperate with AUCTeX
reftex-cite-format 'natbib)) ; or 'biblatex, etc.vista previa-latex - vista previa en línea
preview-latex en realidad escribe matemáticas, figuras, tikzpictures y similares con LaTeX, luego superpone el resultado como una imagen allí mismo en el búfer de origen. Se envía con AUCTeX, por lo que no es necesario instalar nada adicional. La fuente de un entorno $...$, \[...\] o equation sigue siendo editable, pero se muestra como matemática configurada cuando desea verificarla: una sensación similar a la de WYSIWYG sin dejar de ser texto sin formato.
Los comandos comienzan con C-c C-p (Vista previa). C-c C-p C-p (preview-at-point) obtiene una vista previa solo del objeto en el cursor (presione nuevamente para regresar a la fuente). C-c C-p C-b hace todo el búfer, C-c C-p C-d todo el documento y C-c C-p C-r una región seleccionada. C-c C-p C-c C-p borra las vistas previas de una región. Debajo del capó, ejecuta LaTeX para generar las imágenes, por lo que la primera pasada lleva un momento.
vista previa-latex se basa en Ghostscript y dvipng (o un paso PDF-to-image) para crear las imágenes, por lo que deben estar presentes en su distribución (TeX Live normalmente las tiene). Resulta más rentable en documentos llenos de ecuaciones largas o diagramas conmutativos, donde desea ver el resultado establecido de un vistazo mientras escribe.
YaTeX (野鳥): la opción de orientación japonesa
YaTeX (野鳥, “pájaro salvaje”) es un modo principal de LaTeX para Emacs de Yuuji Hirose. A nivel internacional, AUCTeX es la opción más común, pero en Japón YaTeX goza de una popularidad duradera y de abundante documentación japonesa. La última es 1,84 (febrero de 2025). Instálelo desde MELPA con M-x package-install RET yatex RET (o, manualmente, colóquelo en site-lisp y extienda load-path).
Su filosofía difiere un poco de AUCTeX, apoyándose en “escribir las primeras letras más completar” para insertar macros y entornos rápidamente. El prefijo es C-c de forma predeterminada. C-c b es finalización de tipo inicio (entornos, \begin{...}...\end{...}), C-c s es de tipo sección (\section,…), C-c l es de tipo grande (tamaño/cara como \large) y C-c m es de tipo maketitle (macros sin argumentos como \maketitle, \item). La composición tipográfica comienza con C-c C-t: composiciones tipográficas C-c C-t j y vistas previas de C-c C-t p (inicia el visor).
Algunas variables anclan la configuración japonesa. YaTeX-kanji-code es la codificación kanji al guardar; Dado que UTF-8 ahora es estándar, configúrelo en nil (respete la codificación existente del archivo) si no desea que los archivos se vuelvan a codificar silenciosamente. tex-command es el comando de composición tipográfica realmente invocado, p.e. "latexmk", "lualatex -synctex=1" o "uplatex". Configurar bibtex-command y makeindex-command en upbibtex y upmendex hace que las bibliografías e índices japoneses funcionen. Aquí hay un init.el mínimo:
(use-package yatex
:ensure t ; from MELPA
:mode ("\\.tex\\'" . yatex-mode)
:config
(setq YaTeX-kanji-code nil ; keep the file's own encoding (UTF-8)
tex-command "latexmk" ; or "lualatex -synctex=1", "uplatex"
bibtex-command "upbibtex"
makeindex-command "upmendex"
;; Use C-c C-t style prefixes (C-c C-t j, C-c C-t p, ...).
YaTeX-inhibit-prefix-letter t))Configurar YaTeX-inhibit-prefix-letter en t hace que las teclas tipográficas sean C-c C-t ... (el modismo Emacs sostenido por el modificador) en lugar de C-c t .... YaTeX también incluye un modo hermano para HTML, yahtml. AUCTeX y YaTeX son mejores comprometidos con uno u otro en lugar de mezclarlos: elija AUCTeX para trabajos principalmente en inglés o para usarpreview-latex/RefTeX al completo, y YaTeX para escribir documentos japoneses rápidamente.
Un práctico bucle de escritura Emacs
Después de escribir la configuración, no comience con una tesis extensa. Primero arregle el bucle editar, componer, referencia, check-PDF en un main.tex pequeño. En AUCTeX, ejecute C-c C-a; Una vez que se abra PDF, cree etiquetas para ecuaciones o figuras con C-c (, luego inserte referencias de la prosa con C-c ). Cuando aparezca un error, salte al siguiente con C-c \` y mantenga la lectura del registro dentro de Emacs. Una vez que ese bucle esté en sus dedos, Emacs ya no estará simplemente “configurado”; se convierte en el banco de trabajo donde los capítulos de tesis avanzan cada día.
En la primera media hora, decide quién es el propietario de la compilación, no el tema ni los colores. Puede avanzar con el C-c C-c estándar de AUCTeX o delegar la cadena de latexmk a auctex-latexmk. Una vez que se combina con un proyecto .latexmkrc, el mismo PDF se puede reproducir desde Emacs, otro editor o CI.