summaryrefslogtreecommitdiff
path: root/.i3/scripts/getbib
blob: bf02694f7ff673c862661b663aaace10d058fe65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

# Give this script a .pdf and it will attempt
# to return a proper .bib citation via doi.
# Internet connection required.

if [ -f "$1" ];
then
	# Get the doi from metadata, if not possible, get
	# doi from pdftotext output, if not possible, exit.
	doi=$(pdfinfo "$1" | grep -io "doi:.*") ||
	doi=$(pdftotext "$1" 2>/dev/null - | grep -o "doi:.*" -m 1) ||
	exit 1
else
	# If not given file, assume argument is doi
	doi="$1"
fi

# Check crossref.org for the bib citation.
curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n" |
	sed -e "/^[^\\(\\t\\|@\\|}\\)]/d"