17
votes

I've just started using org-mode, and so far find it quite useful. I have a very large collection of technical papers in a directory tree, and I'd like to go through them and index them through org-mode. What I'd like is to have a way of going through them and look at the unannotated ones, and annotate them one by one. I imagine doing this by first making up a file of links like [[xxx.pdf][not done yet]], and then being presented with the not done ones, glancing at them and deciding how what annotations to put in. In addition I'd like to add tags. What I'd really like is to be able to make up new tags on the fly. Has anyone done anything like this in org-mode?

Victor

2
If you don't get an answer here then try the orgmode list. All the org gurus are there.Tom
There is nothing here that you can't do just with stock org-mode and Emacs. What exactly is stopping you?event_jr

2 Answers

16
votes

If you have your papers organized like this,

% ls -1 ~/References/functional-programming
The Lambda Calculus.pdf
Recursive Functions of Symbolic Expressions and Their.pdf

you can run a quick script to build an org-file. Save the following as make-org and run it from your directory of papers (sh make-org > papers.org).

#! /bin/sh
#
# make-org -- generates an org-mode file from a directory of PDFs
#
# AUTHOR:
#   Jon-Michael Deldin
# USAGE:
#   cd ~/path/to/papers && make-org > papers.org
#

echo "#+TITLE:   Research Papers"
echo "#+STARTUP: align hidestars indent lognotedone"
echo

for f in *.pdf; do
    name=${f%.*} # strip extension
    path=$(echo $f | sed 's/ /%20/') # encode spaces as %20
    echo "* TODO $name :unread:"
    echo
    echo "[[file:$path][$name]]"
    echo
done

Open papers.org in Emacs, run C-u C-c C-q to realign the tags. Your file should now look like this:

org-mode research papers

In addition I'd like to add tags. What I'd really like is to be able to make up new tags on the fly.

Once you have a headline (thing with * at the beginning, you can hit C-c C-c and add any tag you want.

You may find this detailed write-up of using org-mode and RefTeX or this alternate approach useful, especially if you use LaTeX.

3
votes

Heres is the modified version that works on a directory.

#! /bin/sh
#
# make-org -- generates an org-mode file from a directory of PDFs
#
# AUTHOR:
#   Jon-Michael Deldin
# USAGE:
#   cd ~/path/to/papers && make-org > papers.org
#

echo "#+TITLE:   Research Papers"
echo "#+STARTUP: align hidestars indent lognotedone"
echo

for f in $(find . -name '*.pdf'); do
name=${f%.*} # strip extension
path=$(echo $f | sed 's/ /%20/') # encode spaces as %20
echo "* TODO $name :unread:"
echo
echo "[[file:$path][$name]]"
echo
done