Nov 16 2014
Emacs + AucTeX + LaTeX Preview Pane
En articulos anteriores ya explique como utilizar AucTeX en emacs. El uso fundamental de AucTeX estando en LaTeX-mode es muy simple, los keybindings mas fundamentales son:
- C-c C-c : compilamos el fichero .tex, el cual generara ficheros .dvi, pdf, etc.
- C-c C-v : para visualizar el fichero pdf resultante, mediante alguna aplicacion externa tal que okular.
Sin embargo, y como ya explique en otros articulos anteriores, emacs tiene Doc-view, el cual esta integrado ya sin necesidad de paquetes e instalaciones externas (no como anteriormente ocurria). Es decir que si intentamos hacer un C-x C-f y abrimos un fichero .pdf podremos verlo incrustado dentro de nuestro emacs sin necesidad de aplicaciones externas.
Pero y si usasemos ese C-c C-v para visualizar el pdf compilado dentro de nuestro emacs? o mejor aun, y si al compilar o cada vez que modifiquemos nuestro fichero .tex podamos previsualizar de manera rapida en una ventana adicional los cambios realizados mostrando actualizaciones practicamente en tiempo real? Eso es precisamente lo que LaTeX Preview Pane nos ofrece.
Los pasos para comenzar a usar LaTeX Preview Pane son los siguientes:
Instalacion
En un buffer cualquiera ponemos las siguientes lineas para realizar la instalacion por medio de MELPA:
(require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
Seleccionamos las 3 lineas y hacemos un M-x eval-buffer.
Inmediatamente despues pulsamos M-x package-install <RET> latex-preview-pane <RET>. Esto instalara LaTeX Preview Pane de manera sencilla.
Configuracion
En nuestro .emacs podemos anadir las siguientes lineas:
(setq text-mode-hook '(lambda() (flyspell-mode t) ))
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'latex-preview-pane-mode)
Laslineas respecto a flyspell no son necesarias pero si recomendables, debido a que generalmente cuando escribimos texto queremos resaltar los posibles errores.
Y hacemos un M-x load-file <RET> .emacs <RET> para actualizar los cambios (la opcion alternativa es seleccionar dicha linea y evaluarla como hemos hecho con anterioridad.
Pantalla inicial de LaTeX Preview Pane
Uso
El uso es extremadamente sencillo, en un buffer creamos un fichero de ejemplo de LaTeX (en pangea de la Universidad de Stanford se puede encontrar un buen ejemplo).
Entonces debemos pulsar C-x C-s para guardar los cambios del buffer. Esto automaticamente hara un preview de nuestro fichero .tex en .pdf en una ventana contigua a la que estamos editando. Cada vez que guardemos el fichero .tex generara una nueva previsualizacion o bien podemos forzar un update del visualizado con M-p. Ahora si pulsamos C-c C-c realizara una compilacion y previsualizacion externa (por ejemplo con okular). O bien si pulsamos C-c C-v realizara una previsualizacion externa de la compilacion anteriormente realizada. Aunque realmente esto ya no sera necesario por norma general. Y aqui tenemos el resultado:
LaTeX Preview Pane previsualizando a la derecha en cada C-x C-s que se produzca en el buffer de la izquierda
Para el autocompletado podemos usar los siguientes keybindings (los primeros son los 3 principales para este modo):
- Ctrl+TAB : Activara TeX-Complete-Symbol.
- C-M-/ : Activara dabbrev-completion.
- TAB : activara el spell de emacs.
- C-M-i o ESC TAB : Completion normal de emacs, activa corrections.
- M-/ : Activa el default completion de emacs.
- C-c C-m : Activa el TeX-Insert-Macro de emacs.
Algunas referencias adicionales usadas en este articulo:
- Emacs wiki LaTeX Preview Pane: http://www.emacswiki.org/emacs/LaTeXPreviewPane
- Official website of LaTeX Preview Pane: https://github.com/jsinglet/latex-preview-pane
- Discusion relacionada en tex.stackexchange.com: http://tex.stackexchange.com/questions/190882/what-is-the-best-side-by-side-preview-method-for-emacs24-auctex
- Ejemplos de LaTeX: https://pangea.stanford.edu/computing/unix/formatting/latexexample.php
Para informacion fundamental de LaTeX se puede consultar:
- LaTeX quick overview: http://www.aps.org/meetings/abstract/latex.cfm
Para informacion basica adicional de LaTeX:
- LaTeX Primer: http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
- The Very basics of LaTeX: http://www.cs.nyu.edu/courses/spring05/V22.0480-005/latex.html
- LaTeX basics for students: http://www.cs.nyu.edu/~yap/student/LatexBasics.html
- LaTeX basics: http://www.stat.pitt.edu/stoffer/freetex/latex%20basics.pdf
- Basic LaTeX: http://www.math.wisc.edu/~mitchell/learntex.pdf