2011-01-24 3 views
9

Многие научные статьи, особенно в области наук о жизни, публикуются в формате pdf.Рекомендации по компиляции PDF-файлов во время работы в Emacs?

Я хочу работать как можно больше внутри emacs (org-mode в частности). Я знаю режим DocView, который, по крайней мере, позволяет мне просматривать pdf-файлы в emacs. Я подозреваю, что он может сделать больше для меня, но я не получил больше, чем просто просмотр рендеринга PDF-файла, основанного на изображении.

Может ли кто-нибудь рекомендовать способы работы с pdf-файлами, в частности, ссылки на файлы, текст и добавление аннотаций к pdf-файлам (электронный эквивалент записи на полях)?

Редактировать: Просто чтобы уточнить, я не хочу фактически редактировать изображение в формате PDF. Скорее я хочу гиперссылки или закладки с закладками в org-файле. Раньше я не видел текстовый режим DocView, который мог бы дать мне то, что я хочу, но я не знаю, могу ли я добавить закладку/гиперссылку на него.

ответ

7

IMO, нет единого оптимального рабочего процесса для управления публикациями в emacs. Я лично просто храню ссылки на PDF-файлы в режиме org и открываю их во внешнем зрителе (evince или Acrobat, в зависимости от платформы). Существуют решения для аннотирования PDF-файлов, буквально написанные на полях PDF (в принципе, Xournal, Jarnal и некоторые проприетарные программы для Windows могут это сделать), но я никогда не нашел их очень пригодными для использования. Когда я делаю заметки в документах, я либо храню их как сложенные элементы в структуре org-mode, либо как ссылки на внешние файлы.

Другие люди придумали с аналогичными рабочими процессами - смотри, например, хороший скринкаст здесь: http://tincman.wordpress.com/2011/01/04/research-paper-management-with-emacs-org-mode-and-reftex/

Для меня идеальная среда бумажно-управление будет орг-режим сопряжен с Mendeley. К сожалению, природа Менделей с закрытым исходным кодом делает это весьма маловероятным.

+0

I second Xournal - выглядит хорошо и позволяет вам вручную аннотировать PDF-документы, если вы используете LINUX на планшетном компьютере. – Tilo

4

Режим DocView может переключаться между редактированием и просмотром. Но с информационных страниц doc-view-mode PDF не (легко) редактируется человеком, и в документах ничего не говорится о возможностях аннотации PDF.

В противном случае Xournal или такие инструменты должны быть способом аннотации PDF, если вы не найдете способ заставить его работать под управлением Emacs.

10

pdf-tools, среди прочего, позволяет комментировать файлы PDF в emacs. Молодой, но перспективный проект!

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

+0

Я хотел бы знать, почему этот ответ был опущен. Есть ли недостаток в pdf-инструментах? – YoungFrog

+0

Я только что установил pdf-инструменты и дал ему попробовать linux - работал как рекламируемый. Был способен быстро просмотреть pdf-файл, сделать аннотацию и сохранить ее. –

+0

Спустя пару лет после этого ответа я должен сказать, что 'pdf-tools' - лучший способ управления аннотациями. Emacs может суммировать все аннотации для вас. И если это недостаточно для вашей симпатии, проверьте 'interleave-mode', чтобы делать заметки непосредственно в файле org. – KevinG

0

Это не совсем ответ, но в PDF-инструментов это можно прикрепить функции обработчика с отобранными аннотациями. Просто кто-то должен ее реализовать.

;; 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

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – Ethaan

+0

@Ethaan, трудно сделать, когда у вас нет привилегии комментировать ... – Vivi

Смежные вопросы