Bienvenido a la web de la Oficina del Software Libre y Conocimiento Abierto de la Universidad de Cádiz

Creación de ficheros LaTeX con GNU Emacs

Por casualidad, he encontrado en internet un interesante documento que se centra en la creación de ficheros LaTeX con GNU Emacs, cuyo autor es Joaquín Ataz López, de la Universidad de Murcia. Me ha impresionado: llevo muchos años usando emacs para la edición de ficheros LaTeX, y la verdad es que no lo cambio por ninguno de los editores especializados en la composición de LaTeX (como Kile, LyX o TeXmacs, los dos últimos de tipo WYSWYG). Pero nunca pensé que alguien se decidiría a poner en blanco sobre negro, en más de 100 páginas en español, detallando nombres de funciones, variables configurables y combinaciones de teclado, todas las posibilidades que ofrece, a los amantes de TeX, este editor global, a través de modos como auctex, reftex y bibtex. Entre ellas:

  • resaltado de sintaxis,
  • auto-completado,
  • inserción de entornos y secciones,
  • navegación por el documento,
  • acceso a etiquetas y referencias cruzadas,
  • entradas bibliográficas y ficheros bibtex,
  • y un largo etcétera.

En una primera rápida lectura, he encontrado unos cuantos detalles que desconocía y que me han interesado. Así que, me temo, estoy obligado a sacar tiempo de donde no hay para leerlo con más cuidado. Aunque, en esta primera revisión, no he visto ninguna referencia a algunos otros detalles de emacs que, creo, pueden ser interesantes en lo que a LaTeX se refiere:

  • Uso del modo menor Flyspell para la corrección automática de sintaxis con ispell o aspell.
  • Uso de whizzytex para ver la evolución de la salida LaTeX (dvi) mientras se escribe.
  • Pre-visualización del resultado dentro del editor, incluyendo fórmulas y gráficos (preview-latex)
  • ...

Y, por supuesto: el documento tiene licencia libre, GFDL.

Gracias por la información

¡Hola Rafa! Acabo de instalar Guadalinex v.3 y después de configurarlo un poco he buscado recomendaciones sobre el uso de LaTeX en Guadalinex: ¿encontraré algo que me haga dejar de depender de mis queridos MiKTeX + WinEdt, que tan buen servicio me han prestado siempre? Ha sido una suerte que las primeras recomendaciones que me ha devuelto google sean tuyas. Intentaré familiarizarme con emacs. Un buen principio (salvo que recomiendes otro) será leer el documento de Ataz López, exactamente igual que tú: sacando tiempo de donde sea... sin quitarle demasiado a las dos cucharras que tengo a mi cargo ;) .

¡Gracias por toda la información, un abrazo y hasta pronto!

Más sobre LaTeX y emacs

¡Hombre, Jesús!

Hay que ver, qué pequeño es el mundo... y, quién lo diría, qué pequeña es internet :-)

Me alegro de que te haya ido bien con la Guadalinex v3... y por cierto, ya ya está cercana la publicación de la v4, basada en una versión más moderna de Ubuntu.

Con respecto a LaTeX, auque yo sea un fan de emacs irreductible, siempre aconsejo a la gente que está entrando en Linux desde MiKTeX + WinEdt que utilicen Kile. En Guadalinex, lo puedes instalar con el gestor de paquetes "Synaptic" (que está en Sistema/Administración). También he oído hablar bien de TexMaker aunque creo que en este caso no existe el paquete para Guadalinex y te lo tendrás que bajar directamente desde su página web (existe un binario precompilado que puedes probar).

Dicho esto, como sé que eres valiente (de hecho a veces te pongo como ejemplo para argumentar que el uso de LaTeX puede ser beneficioso en muchos ámbitos y no tiene por qué estar restringido a documentos científicos o informáticos), te hablo sobre emacs. Recuerdo que cuando empecé en esto, hace años, yo era reacio a utilizarlo porque no se parecía a los editores "habituales", especialmente en el mundo windows. Además, las combinaciones de teclas son diferentes (por ejemplo cortar y pegar ya no es Ctrl-C , Ctrl-V). Pero por aquéllas fechas, era realmente el único editor válido para LaTeX, que además me era perfecto para programar en cualquier lenguaje. Así que poco a poco comencé a usarlo... hasta que me enganchó.

Lo bueno (y para mucha gente lo malo) de Emacs con respecto a otros editores del tipo kile es su filosofía: aunque es posible utilizarlo a golpe de ratón, la forma en que realmente se le puede sacar partido es empleando sus combinaciones de teclas [aquí puedes ver una guía de referencia de combinaciones de teclas de emacs y aquí una guía de referencia del modo AUC TeX].

De esta forma, por ejemplo, utilizando el modo AUC TeX en emacs, para introducir una sección/subsección/capítulo escribo Ctrl-c Ctrl-s y emacs me pregunta el resto de los datos (el Ctrl-"c" inicial se utiliza en muchos comandos de AUC TeX y la "s" viene de "sección"). Para escribir un entorno \begin (...) \end escribo Ctrl-c Ctrl-e y de nuevo emacs me pregunta. Para insertar un \item pulso Ctrl-Retorno. Incluso para poner texto "enfatizado", en vez de escribir \emph{} pulso Ctrl-c Ctrl-f Ctrl-e (la "f" viene de "font" y la "e" viene de "emph").

Una de las características que enganchan es el uso de la tecla tabulador para completar comandos, como se explica en el manual de Joaquín Ataz. Incluso, con una configuración adecuada, se pueden completar palabras que se hayan escrito antes, por ejemplo si has escrito una vez la palabra "chiripitifláutico", la siguiente vez la puedes escribir introduciendo por ejemplo "chiri" y después pulsando el una combinación teclas que hayas definido, por ejemplo Ctrl+Tabulador.

Eso sí, la configuración no es sencilla, con frecuencia hay que editar el fichero ~/.emacs e introducir comandos lisp. Si quieres, te paso mi fichero de configuración, lo copias en el .emacs de tu directorio $HOME y te debería funcionar casi todo (casi porque a lo mejor yo he instalado paquetes adicionales, que también puedes instalar si quieres).

Bueno, suerte, espero que des con el editor adecuado... o sea, emacs ;-)

Rafa.

P.D. Un beso a las cucharrinas.

Esc-Meta-Alt-Ctrl-Shift

A ver, un detalle: las combinaciones de teclas de Emacs no son diferentes de las de Windows, sino que las combinaciones de teclas de Windows son diferentes de las de Emacs. Cuando el dios Richard M. Stallman inventó Emacs Bill Gates no había nacido; bueno, al menos MS-DOS era un juguete y Windows aún significaba Ventanas y nada más.

Emacs es venerable. Es el primer programa del proyecto GNU. Originalmente significaba Editing MACros, o sea, macro-instrucciones de edición, porque nació como un conjunto de macros para un editor anterior llamado TECO, si no recuerdo mal. Luego el dios RMS escribió un núcleo en C (mayormente las partes críticas, por rendimiento), un intérprete de Lisp que evidentemente se llama Emacs Lisp, y sobre él un conjunto de funciones básicas y luego paquetes que ampliaban su funcionalidad. De paso le incorporó el sistema de ayuda en hipertexto Info, como alternativa al Manual de referencia (man) de UNIX.

Como Emacs es programable y extensible, se adapta a cualquier cosa. Yo suelo decir de broma que con un núcleo (Linux) y el Emacs, lo demás sobra. Puedes navegar por Internet, jugar al Tetris, conectarte por FTP o Telnet, leer el correo electrónico, consultar las News... ah, y editar ficheros.

Cuando se inventó X-Window System, al poco adaptaron Emacs para el sistema gráfico, y a esta versión se la llamó Epoch; era muy pobre, apenas una ventana X sin menús ni nada. Una compañía, creo recordar que Lucid, inc., necesitaba un editor y adoptó y adaptó GNU Emacs para X-Window; lamentablemente no pudieron coordinarse con los de GNU y se acabó en una bifurcación (fork): GNU Emacs y Lucid Emacs, que más tarde se llamó X-Emacs. Ahora ambos son igual de buenos y funcionan tanto en X-Window como en consola de texto. También hay muchas imitaciones, y se ha transportado a Windows y otros sistemas no Unix.

Es adictivo: si te acostumbras, no querrás otro. Yo, personalmente, lo uso para escribir programas o documentos en LaTeX, mientras que para modificaciones pequeñas en ficheros ya existentes o para escribir ficheros pequeños uso el vi (vim).

Si lo tienes instaolado, la referencia que decía cucharro está en formato Postscript en algo como /usr/share/emacs/21.3/etc/refcard.ps; ahí hay más cosas curiosas, algunas muy antiguas. Por ejemplo, si sabes inglés, echa un vistazo a las «páginas del manual» echo.msg, celibacy.1 o sex.6 (la sección 6 del manual de Unix es la de juegos).

N.B.: Nosotros pronunciamos [emáx], pero los angloparlantes o los vacilones dicen [ímax].

Emacs y X-Emacs

X-Emacs es una abominación a los ojos del Creador.

PD:

M-x doctor

Como castigo por vuestros pecados, cuando termine de ejecutarse:

M-6 M-4 M-x hanoi

se acabará el mundo.

---
Francisco Palomo Lozano
Departamento de Lenguajes y Sistemas Informáticos
Escuela Superior de Ingeniería
Universidad de Cádiz

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Distribuir contenido