2011-01-24 9 views
9

Muchos artículos científicos, especialmente en las ciencias de la vida, se publican en formato pdf.¿Recomendaciones sobre cómo anotar archivos PDF mientras trabaja con Emacs?

Quiero trabajar tanto como sea posible dentro de emacs (especialmente el modo org). Conozco el modo DocView, que al menos me permite ver archivos PDF en emacs. Sospecho que puede hacer más por mí, pero no he ido más allá de simplemente ver la representación basada en imágenes de un archivo pdf.

¿Alguien puede recomendar formas de trabajar con archivos PDF, especialmente enlaces a archivos, escribir texto y agregar anotaciones a archivos PDF (el equivalente electrónico de escritura en los márgenes)?

Editar: Solo para aclarar, no estoy buscando realmente editar la imagen en pdf. Más bien quiero anotaciones hipervinculadas o marcadas en un archivo org. No había visto el modo de texto de DocView antes, eso podría darme lo que quiero, pero no sé si puedo marcarlo/hacer un hipervínculo.

Respuesta

7

IMO, no hay un flujo de trabajo óptimo para administrar publicaciones en emacs. Personalmente, simplemente almaceno enlaces a archivos PDF en modo org y los abro en el visor externo (evince o Acrobat, dependiendo de la plataforma). Existen soluciones para anotar PDFs escribiendo literalmente en los márgenes del PDF (en principio, Xournal, Jarnal y algunos software patentados de Windows pueden hacerlo), pero nunca encontré ninguno de ellos muy útil. Cuando tomo notas sobre los documentos, o bien los guardo como artículos plegados dentro de la estructura de modo orgánico o como enlaces a archivos externos.

Otras personas han llegado con los flujos de trabajo similares - véase, por ejemplo, un buen screencast aquí: http://tincman.wordpress.com/2011/01/04/research-paper-management-with-emacs-org-mode-and-reftex/

Para mí, un ambiente ideal de gestión de papel sería org-mode interfaz con Mendeley. Desafortunadamente, la naturaleza de código cerrado de Mendeley lo hace bastante improbable.

+0

I second Xournal: se ve bien, y le permite anotar manualmente los documentos PDF si está utilizando LINUX en una tableta. – Tilo

4

El modo DocView puede alternar entre edición y visualización. Pero desde las páginas de información de doc-view-mode, PDF no es (fácilmente) editable por humanos y los documentos no hablan nada acerca de las capacidades de anotación de PDF.

De lo contrario, Xournal o tales herramientas deberían ser la forma de anotar PDF a menos que encuentre la manera de hacerlo funcionar bajo Emacs.

10

El pdf-tools, entre otras cosas, permite anotar archivos PDF en emacs. Proyecto joven pero prometedor!

https://github.com/politza/pdf-tools

+0

Me gustaría saber por qué esta respuesta fue downvoted. ¿Hay algún inconveniente para las herramientas de pdf? – YoungFrog

+0

Acabo de instalar pdf-tools y lo probé en Linux, funcionó según lo anunciado. Pude ver rápidamente un pdf, hacer una anotación y guardarlo. –

+0

Un par de años después de esta respuesta, debo decir que 'pdf-tools' es la mejor manera de administrar las anotaciones. Emacs puede resumir todas las anotaciones por usted. Y si eso no es lo suficientemente bueno para su gusto, consulte 'interleave-mode' para tomar notas directamente en un archivo org. – KevinG

0

Esto no es realmente una respuesta, pero en pdf-herramientas Es posible adjuntar funciones de controlador con anotaciones seleccionadas. Es solo que alguien tiene que implementarlo.

;; Toy Example for custom annotations. 

(require 'pdf-annot) 

(add-hook 'pdf-annot-activate-handler-functions 'pdf-org-annotation-handler) 
(add-hook 'pdf-annot-print-annotation-functions 'pdf-org-print-annotation) 

(setq pdf-annot-activate-created-annotations t) 

(defvar pdf-org-annot-label-guid "www.orgmode.org/annotation" 
    "Unique annotation label used for org-annot annotations.") 

(defun pdf-org-add-annotation (pos) 
    (interactive 
    (list (pdf-util-read-image-position "Click ..."))) 
    (pdf-util-assert-pdf-buffer) 
    (pdf-annot-add-text-annotation 
    pos 
    "Circle" 
    `((color . "orange") 
    (label . ,pdf-org-annot-label-guid)))) 

(defun pdf-org-annotation-handler (a) 
    (when (equal (pdf-annot-get a 'label) 
       pdf-org-annot-label-guid) 
    (pop-to-buffer (get-buffer-create 
        (format "%s-annotations.org" 
          (pdf-annot-get-buffer a)))) 
    ;; Do SOMETHING. 
    t)) 

(defun pdf-org-print-annotation (a) 
    (when (equal (pdf-annot-get a 'label) 
       pdf-org-annot-label-guid) 
    "Org annotation, click to do SOMETHING")) 

(provide 'pdf-org) 
+0

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación. – Ethaan

+0

@Ethaan, difícil de hacer cuando uno no tiene el privilegio de comentar ... – Vivi

Cuestiones relacionadas