Ene 20

Doc-view : ver pdf desde emacs

Tag: basicoverdrive @ 6:57 pm

En el articulo anterior explicabamos como instalar, configurar y manejar minimamente AUCTeX (obviamente AuCTeX es mucho mas extenso e interesante de lo que mostramos en dicho articulo, pero ahora el usuario ya tiene la capacidad de indagar y ese empujoncito que a veces necesita para tener ese interes).

Este articulo es en parte, un complemento del anterior, pero que he decidido separar debido a que es otro paquete diferente al anterior, tambien externo a emacs y que busca otro proposito; el de poder ver o cargar pdf en emacs. Para ello, podemos tomar el ejemplo del texto anterior y generar asi un pdf o cargar un pdf cualquiera (aprovecho para promocionar el R5RS e invito a cargarlo en nuestro emacs -de paso de su lectura-).

Una vez tengamos nuestro fichero pdf en nuestro sistema. Pasamos a descargar y configurar el paquete (no es mas que uno o dos ficheros elisp cortesia de Tassilo Horn) que nos permitira cargar y visualizar pdfs en emacs: doc-view.

Los pasos que debemos seguir son muy simples:

Prerequisitos:

  • Instalar xpdf:
    • # apt-get install xpdf
  • Instalar ghostscript:
    • # apt-get install ghostscript

Descarga y configuracion de doc-view:

Esto lo podemos poner en un directorio cualquiera de nuestro sistema, en mi caso no me complique mucho para el articulo y cree uno en mi $HOME llamado docview donde meti ahi los ficheros .el. Luego simplemente debeis incluir las siguientes lineas en vuestro .emacs para cargar el nuevo path donde se encuentren esos scripts elisp:

(add-to-list ‘load-path «~/docview/»)
(require ‘doc-view)
(require ‘doc-view-extension)

Luego tan solo debemos abrir emacs o recagar el .emacs con la vieja tecnica de M-x load-path y cargar el propio fichero de configuracion. Abrir nuestro fichero fichero y simplemente cargar el preview con M-x doc-view-mode. Y voila! aqui tenemos el resultado:

Ejemplo de emacs con doc-view visualizando un pdf

Nota: Podemos incluir en nuestro .emacs que cada vez que carguemos un fichero pdf automaticamente cargue el modo doc-view-mode y evitar tener que realizar este paso cada vez:

(setq auto-mode-alist
‘((“\\.pdf$” . doc-view-mode)))

Existen algunos problemas que me han surgido por despiste:

Trobleshooting

En un principio, la primera vez que configure doc-view, solo anadi el load-path, sin embargo olvide el require del doc-view, lo que no evita que podamos cargar y leer pdfs, sin embargo aparece una especie de refresco horizontal de pantalla sobre la ventana donde es cargado el pdf. Esto es precisamente por la falta de este require, asi que si os ocurre ya sabeis que es por la ausencia de esa linea.

Por otra parte he visto ese mismo comportamiento algunas otras veces al cargar algunos pdf, desconozco realmente por que ocurre, sin embargo perdiendo el foco de la propia ventana y volviendolo a colocar en emacs (hacer click en otra ventana y luego en la de emacs de nuevo), el problema se solventa (ya que sino puede hacer la lectura bastante molesta; intentare informar de esto a Tassilo; el creador de este script. Para ver si es un problema de versiones, etc.) de momento os dejo este workaround, para salir del paso.

Nota importante: Desde la version 23.1 doc-view esta incluido en GNU/Emacs y no es necesaria esta configuracion a menos que se use una version anterior. En Emacs 24, doc-view soporta zoom real por lo que +/- no llamara desencadenara la reconversion del documento completo.

Leave a Reply

You must be logged in to post a comment.