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.