poniedziałek, 24 listopada 2008

Poprawianie plików PDF w edytorze Emacs

Opisany wcześniej skrypt uruchamiam ,,spod'' Emacsa działającego w trybie BibTeX. Konkretniej poniższa funkcja bibtex-adjust-pdf-filename pobiera wartości pól author, title, year oraz tp:keywords, a następnie przekazuje te wartości w postaci argumentów ww. skryptu uruchamianego jako polecenie systemowe. Mam nadzieję dzięki temu mieć większy porządek w przechowywanych dokumentach pobranych z różnych archiwów elektronicznych.


(defun bibtex-adjust-pdf-filename (file)
"Dla bieżącego rekordu bibtexa modyfikuje plik zawierający relewantny dokument PDF
(dodaje co trzeba do słownika Info oraz modyfikuje nazwę). Oryginalna nazwa pliku
PDF jest podana z minibufora. Modyfikacja jest dokonywana przez zewnętrzny skrypt.
Cała ta procedura jest po to żeby można łatwiej później odszukać plik na dysku...."
(interactive "fNazwa pliku: ")
(save-excursion
(bibtex-beginning-of-entry)
(let* ( (author (bibtex-text-in-field "author"))
(year (bibtex-text-in-field "year"))
(keywords (bibtex-text-in-field "tp:keywords"))
(title (bibtex-text-in-field "title"))
(command (format "%s -rename -f \"%s\" -t \"%s\" -a \"%s\" -k \"%s\" -y \"%s\""
(executable-find "pdf_set_info.pl") ;; script name
(expand-file-name file) title author keywords year)) )
(progn (shell-command command)
(previous-line)
(beginning-of-line)
(insert (concat "%% patched with pdf_set_info.pl %%" ))))))

Przy okazji namiar na bloga anonimowego użytkownika Emacsa zawierającego parę ciekawych rzeczy.

Brak komentarzy:

Prześlij komentarz