Para escribir LaTeX en Sublime Text, la opción estándar es el paquete LaTeXTools. Instálelo desde Package Control y obtendrá un sistema de compilación, finalización de \ref/\cite, finalización de comandos, finalización de nombres de archivos y saltos bidireccionales con su visor PDF, todo sin salir del editor. Esta página explica la instalación y configuración de LaTeXTools, cómo funciona la compilación, su configuración para japonés, su finalización y búsqueda directa/inversa a través de SyncTeX.
¿Qué es LaTeXTools?
Sublime Text no escribe TeX; la compilación real se realiza mediante una instalación TeX en su máquina: TeX Live, MacTeX o MiKTeX. LaTeXTools es el paquete que une los dos. Mientras edita un archivo .tex, habilita automáticamente comandos de compilación, análisis del registro con errores surgidos, finalización según el contexto, salto a la definición para \labels y claves de citas, e inicia/sincroniza su visor PDF. Por sí solo, LaTeXTools no produce nada: asume una distribución local TeX y un visor PDF.
Se requieren dos piezas externas. Primero, una distribución TeX: MacTeX en macOS (el BasicTeX más ligero también funciona, pero debes agregar latexmk por separado; ver más abajo); MiKTeX o TeX Live en Windows; TeX Live de TUG en Linux. En segundo lugar, un visor PDF: para habilitar la búsqueda directa e inversa, LaTeXTools asume un visor predeterminado por plataforma.
| OS | Visor PDF predeterminado | Notas |
|---|---|---|
macOS | Skim | Admite búsqueda directa/inversa; Preview.app utilizable con configuración adicional |
Windows | SumatraPDF | El único visor compatible con Windows; ligero, con capacidad de sincronización |
Linux | Evince | Okular, Zathura, etc. seleccionables mediante la configuración viewer |
La instalación pasa por el Control de paquetes (el método recomendado). Si aún no tiene Package Control, instálelo primero; luego abra la Paleta de comandos (Ctrl+Shift+P en Windows/Linux, Cmd+Shift+P en macOS), elija Control de paquetes: Instalar paquete y seleccione LaTeXTools de la lista. No es necesario reiniciar: abra un archivo .tex, la sintaxis cambia a LaTeX y las funciones cobran vida.
Dos cosas que hacer después. Primero, prepare un archivo de configuración: desde la paleta de comandos ejecute LaTeXTools: Restablecer la configuración del usuario a los valores predeterminados, o use Preferencias | Paquete Settings | LaTeXTools | Settings – Usuario, para crear un LaTeXTools.sublime-settings editable en su directorio User (nunca edite el archivo predeterminado en la carpeta del complemento; se sobrescribe al actualizar). En segundo lugar, verifique la configuración: LaTeXTools: Check System comprueba si los comandos TeX y su visor son accesibles desde LaTeXTools. Cuando algo no funciona, este es el primer comando que se ejecuta.
edificio
Las compilaciones se ejecutan en la clave estándar de Sublime Text, Ctrl+B (Cmd+B en macOS). Con una compilación, el generador predeterminado (traditional) hace todo lo siguiente: guarda el archivo actual, invoca el comando de compilación TeX, analiza el registro y enumera errores, advertencias y (si están habilitados) cuadros defectuosos en un panel en la parte inferior, luego abre el visor PDF y realiza una búsqueda directa hasta el cursor. Haga clic en un error en el panel para saltar a la línea correspondiente.
El hecho clave es que el constructor traditional ejecuta latexmk bajo el capó. Precisamente: invoca latexmk en TeX Live y MacTeX, y texify en MiKTeX. latexmk descubre qué cambió y vuelve a ejecutar la cadena de herramientas tantas veces como sea necesario, manejando las repeticiones hasta que las referencias cruzadas y la tabla de contenido se estabilicen. Su línea de comando predeterminada es aproximadamente:
latexmk -cd -f -%E -interaction=nonstopmode -synctex=1Leyendolo: -cd cambia al directorio de origen antes de procesarlo; -f continúa yendo lo más lejos posible incluso después de un error; -interaction=nonstopmode evita paradas interactivas; y -synctex=1 emite los datos de sincronización que necesita la búsqueda directa/inversa a continuación. %E es un marcador de posición que LaTeXTools reemplaza con -pdf (pdfLaTeX), -lualatex, -xelatex, etc. según el motor elegido, por lo que la selección del motor equivale a intercambiar a qué se expande %E.
La forma más sencilla de elegir un motor es un comentario mágico en la parte superior del archivo. Coloque esto en la primera línea de su .tex y se utilizará el motor correspondiente (sin él, pdfLaTeX). En un proyecto de varios archivos, esta línea va en el archivo raíz (maestro). Para compatibilidad con TeXShop, TS-program funciona en lugar de program:
%!TEX program = lualatexSólo se aceptan tres valores: pdflatex, lualatex y xelatex. Del mismo modo, %!TEX options = ... pasa opciones al motor (por ejemplo, --shell-escape) y %!TEX root = <master> nombra el archivo raíz. En lugar de comentarios mágicos, también puedes configurarlos en tu archivo de configuración o proyecto Sublime. En el bloque builder_settings de LaTeXTools.sublime-settings puede ajustar program (el motor), options, command y env (variables de entorno):
{
"builder_settings": {
"program": "lualatex",
"options": ["--shell-escape"]
}
}Otro elemento esencial es la configuración texpath: el PATH se utiliza para encontrar los comandos LaTeX al invocar latexmk y sus amigos. Especialmente en macOS, un Sublime Text iniciado desde GUI tiene un PATH diferente al de su shell, por lo que un valor incorrecto falla con "comando no encontrado". La regla: texpath debe incluir $PATH (primero sus propias rutas, luego $PATH). Un valor típico de macOS es "/Library/TeX/texbin:$PATH"; en Windows, algo así como "C:\\texlive\\2026\\bin\\windows;$PATH", ajustado a su instalación. En Windows, configure también distro en "texlive" o "miktex" para que coincida con su distribución.
Si traditional no es suficiente, la configuración builder le permite cambiar a basic (un constructor mínimo que ejecuta el motor más bibtex/biber) o script (un constructor avanzado donde escribe su propia secuencia de comandos en script_commands). Tenga en cuenta que --output-directory, --aux-directory y --jobname funcionan solo con latexmk (el constructor traditional en OS X/Linux), basic o script; texify de MiKTeX los ignora.
Configuración para japonés
Aquí es donde los usuarios japoneses suelen tropezar. %!TEX program acepta solo pdflatex, lualatex y xelatex; no puedes nombrar uplatex o platex directamente. Si escribe japonés con LuaLaTeX, es simple: escriba %!TEX program = lualatex y use una clase familiar luatexja/ltjsclasses.
Por otro lado, para usar upLaTeX + dvipdfmx (la combinación clásica de papel japonés en ciencias, que construye un DVI y luego lo convierte a PDF), el enfoque más limpio es dejar que .latexmkrc elija el motor. Dado que el constructor traditional llama a latexmk bajo el capó, colocando un .latexmkrc en el proyecto. El directorio (o su directorio de inicio) cambia la cadena de herramientas al procesamiento japonés sin casi ningún cambio en la configuración propia de LaTeXTools. Aquí hay un ejemplo de upLaTeX + dvipdfmx:
$latex = 'uplatex -synctex=1 -interaction=nonstopmode -file-line-error %O %S';
$bibtex = 'upbibtex %O %B';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
$max_repeat = 5;Los puntos clave: asigne uplatex a $latex y dvipdfmx a $dvipdf, luego configure $pdf_mode = 3 para elegir la ruta “construir un DVI, luego convertir a PDF con dvipdfmx”. Pasar -synctex=1 a $latex también transporta los datos de SyncTeX al PDF incluso a través de DVI, por lo que la búsqueda a continuación funciona. En el lado de LaTeXTools, es más seguro no escribir una línea %!TEX program (al hacerlo, se seleccionaría pdfLaTeX %E).
Para ser más explícito, puede nombrar latexmk directamente mediante la clave command en builder_settings. Escribir "command": "latexmk" (manteniendo opciones como -pdfdvi en .latexmkrc) garantiza que se ejecute latexmk configurado en japonés. La personalización de command desactiva la selección automática del motor a través de %!TEX program, pero en una configuración que corrige la cadena de herramientas en .latexmkrc, como lo hacen los flujos de trabajo japoneses, eso no es una pérdida.
Finalización
La finalización de LaTeXTools se divide en tres familias: finalización de comando, finalización de \ref/\cite y finalización de nombre de archivo/paquete (el asistente de relleno). Primero, completar el comando. LaTeXTools incluye las listas de palabras de finalización de TeXStudio-derived (CWL) y muestra una ventana emergente de candidatos tan pronto como inicia un comando con \. Escriba \te, por ejemplo, y aparecerán \textit y similares. El comportamiento está controlado por la configuración command_completion: prefixed (predeterminado; solo cuando la palabra comienza con \), always o never. Los candidatos para los paquetes cargados en su documento se agregan automáticamente a través de cwl_autoload (activado de forma predeterminada). Habilite env_auto_trigger y los nombres de entorno se completarán cuando escriba \begin{/\end{ también.
A continuación, finalización de referencias y citas: uno de los aspectos más destacados de LaTeXTools. De forma predeterminada, en el instante en que escribe \ref{ o \cite{, aparece un panel rápido (una lista de candidatos) en la parte superior de la pantalla: para \ref{, todos los \labels del documento; para \cite{, todas las entradas en las bibliografías a las que hace referencia mediante \bibliography{} o \addbibresource{} de biblatex. Escriba algunos caracteres para realizar un filtro difuso, seleccione y presione Entrar, y se insertará el comando completo, p. \ref{my-label}. Escriba una coma justo antes de la llave de cierre, como en \cite{paper1,, y seleccione la segunda clave y las posteriores de una cita múltiple de la misma manera.
Dos advertencias. Primero, LaTeXTools recopila candidatos del archivo guardado; Si una etiqueta o clave que acaba de agregar no se muestra, guárdela primero. En segundo lugar, solo se admiten archivos .bib externos; los \bibitems escritos en línea no. Si este disparador automático parece intrusivo, un interruptor o una configuración lo desactiva. Para invocarlo manualmente, presione Ctrl+l, x (Cmd+l, x en macOS) o Ctrl+l, Ctrl+f justo después de \ref{ y similares (la misma tecla que el asistente de relleno a continuación, que también funciona para \ref/\cite). También se reconocen los comandos de referencias y citas de Cleveref, Fancyref, Varioref, Natbib y Biblatex.
El tercero es Fill Helper. Escriba \usepackage{, \include{, \input{, \includegraphics{ y similares, y ofrecerá una lista de paquetes o archivos disponibles: paquetes instalados para \usepackage{ y archivos en el directorio actual para los comandos de archivo (filtrados a archivos de imagen para \includegraphics). Esto también se muestra automáticamente de forma predeterminada o se invoca manualmente con Ctrl+l, Ctrl+f. El único paso de preparación es completar el paquete: ejecute LaTeXTools: Build cache for LaTeX packages desde la paleta de comandos una vez para crear el caché del paquete.
SyncTeX (búsqueda directa/inversa)
SyncTeX registra la correspondencia entre las líneas de origen y las posiciones en PDF, lo que permite la búsqueda directa (saltar desde su posición de edición al PDF) y la búsqueda inversa (ir desde un lugar en PDF hasta la línea de origen). El comando de compilación predeterminado de LaTeXTools incluye -synctex=1, por lo que una compilación normal de Ctrl+B emite los datos de sincronización (.synctex.gz) por usted. Para japonés a través de DVI, el punto es pasar -synctex=1 a $latex en .latexmkrc también, como se indicó anteriormente. Los antecedentes de cómo funciona esto se tratan en la página SyncTeX.
La búsqueda directa se ejecuta desde una clave LaTeXTools. Mientras edita un .tex, presione Ctrl+l, j (Cmd+l, j en macOS) y se mostrará la página PDF que coincide con su cursor. Una búsqueda directa también se ejecuta automáticamente justo después de una compilación, por lo que Ctrl+B por sí solo abre el lugar correcto. (Ctrl+l normalmente es “expandir selección a línea”, pero para archivos .tex con LaTeXTools activo se reasigna a Ctrl+l, Ctrl+l, liberando Ctrl+l como prefijo para los comandos del complemento). Para simplemente abrir PDF sin sincronizar, use Ctrl+l, v.
La búsqueda inversa (PDF → fuente) necesita que el espectador vuelva a llamar a Sublime Text. El gesto de hacer clic varía según el espectador:
- Skim (macOS) —
Cmd+Shift+clicken PDF. - SumatraPDF (Windows) — doble clic en PDF.
- Evince (Linux) —
Ctrl+clic izquierdo en PDF (Okular:Shift+clic izquierdo; Zathura:Ctrl+clic izquierdo).
En macOS — Skim, habilite la búsqueda inversa en las preferencias de Skim: abra la pestaña Preferencias → Sincronización, desmarque “Comprobar cambios en archivos” y simplemente elija el ajuste preestablecido “Sublime Text”. En compilaciones anteriores de Skim sin el ajuste preestablecido, elija "Personalizado" y establezca Comando en la ruta absoluta de subl (/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl) y Argumentos en "%file":%line.
En Windows — SumatraPDF, primero agregue SumatraPDF a su PATH para que LaTeXTools pueda encontrarlo fácilmente. La configuración de búsqueda inversa UI aparece solo cuando abres un PDF que tiene datos de sincronización (.synctex.gz), así que compila una vez con Ctrl+B, abre PDF en Sumatra y en Settings → Opciones registra la línea de comando de búsqueda inversa a continuación (ajusta la ruta ST a tu instalación):
"C:\\Program Files\\Sublime Text\\sublime_text.exe" "%f:%l"Con un visor que carece de soporte, la tecla de búsqueda hacia adelante (Ctrl+l, j) simplemente se comporta como "abre PDF". Cuando la búsqueda inversa no funciona correctamente, verifique en este orden: si la compilación se ejecutó con -synctex=1, si el comando/preajuste del visor es correcto y, a través de LaTeXTools: Check System, si sublime_executable (la ubicación de subl) es visible.
Comprobación LaTeXTools de primer paso
- Primera verificación: ejecute
LaTeXTools: Check Systemy confirme que los comandos TeX, el visor PDF y el ejecutablesublestén visibles. - Decisión de documento japonés: use
program = lualatexpara LuaLaTeX; para upLaTeX, omita%!TEX programy coloque la ruta en.latexmkrc. - Cuando falla: si
Ctrl+Bdice que falta un comando, inspeccionetexpath; si las referencias no se actualizan, guárdelas y reconstrúyalas; Si PDF-to-source falla, verifique la configuración de búsqueda inversa del visor. - Cuándo convertirlo en un proyecto: una vez que las figuras o los archivos de capítulos se multipliquen, fije el maestro con un proyecto Sublime o
%!TEX rootpara queCtrl+Bdesde cualquier pestaña apunte al mismo PDF.