for crossfref vid

This commit is contained in:
Luke Smith 2019-04-10 08:11:55 -04:00
parent f10999d02b
commit 359421442d

View file

@ -1,21 +1,14 @@
#!/bin/sh #!/bin/sh
[ -z "$1" ] && echo "Give either a pdf file or a DOI as an argument." && exit
# Give this script a .pdf and it will attempt if [ -f "$1" ]; then
# to return a proper .bib citation via doi. # Try to get DOI from pdfinfo or pdftotext output.
# 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=$(pdfinfo "$1" | grep -io "doi:.*") ||
doi=$(pdftotext "$1" 2>/dev/null - | grep -o "doi:.*" -m 1) || doi=$(pdftotext "$1" 2>/dev/null - | grep -io "doi:.*" -m 1) ||
exit 1 exit 1
else else
# If not given file, assume argument is doi
doi="$1" doi="$1"
fi fi
# Check crossref.org for the bib citation. # Check crossref.org for the bib citation.
curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n" | curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n"
sed -e "/^[^\\(\\t\\|@\\|}\\)]/d"