tadd getrefer - scholarref - tools for DOI and BiBTeX reference extraction, fet… | |
git clone git://src.adamsgaard.dk/scholarref | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit bd2a773edb46da707fe848d805390ab9acd37c63 | |
parent 35e9fa3443bfcd8066f13e76eb2638a3c4b62a10 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Wed, 24 Nov 2021 19:04:37 +0100 | |
add getrefer | |
Diffstat: | |
M Makefile | 2 ++ | |
A getrefer | 40 +++++++++++++++++++++++++++++… | |
2 files changed, 42 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -7,6 +7,7 @@ install: | |
mkdir -p $(DESTDIR)$(PREFIX)/share/scholarref | |
install -m 775 getdoi $(DESTDIR)$(PREFIX)/bin | |
install -m 775 getref $(DESTDIR)$(PREFIX)/bin | |
+ install -m 775 getrefer $(DESTDIR)$(PREFIX)/bin | |
install -m 775 scholarref $(DESTDIR)$(PREFIX)/bin | |
install -m 775 shdl $(DESTDIR)$(PREFIX)/bin | |
install -m 775 articlesearch $(DESTDIR)$(PREFIX)/bin | |
t@@ -16,6 +17,7 @@ install: | |
uninstall: | |
rm -f $(DESTDIR)$(PREFIX)/bin/getdoi | |
rm -f $(DESTDIR)$(PREFIX)/bin/getref | |
+ rm -f $(DESTDIR)$(PREFIX)/bin/getrefer | |
rm -f $(DESTDIR)$(PREFIX)/bin/scholarref | |
rm -f $(DESTDIR)$(PREFIX)/bin/shdl | |
rm -f $(DESTDIR)$(PREFIX)/bin/articlesearch | |
diff --git a/getrefer b/getrefer | |
t@@ -0,0 +1,40 @@ | |
+#!/bin/sh | |
+# reads DOIs (without URL prefix) as stdin and returns refer(1) format referen… | |
+ | |
+while read -r doi | |
+do | |
+ curl -sLH "Accept: application/x-research-info-systems" "https://doi.o… | |
+done | \ | |
+awk ' | |
+function rmlbl(s) { | |
+ sub(/[A-Za-z][A-Za-z0-9] - /, ""); | |
+} | |
+ | |
+BEGIN { delete authors[0] } | |
+ | |
+/DO - / { doi = $3 } | |
+/TI - / { rmlbl($0); title = $0 } | |
+/T2 - / { rmlbl($0); journal = $0 } | |
+/AU - / { rmlbl($0); authors[length(authors)] = $0 } | |
+/PY - / { year = $3 } | |
+/SP - / { page = $3 } | |
+/IS - / { issue = $3 } | |
+/VL - / { volume = $3 } | |
+ | |
+END { | |
+ firstauthor = authors[0] | |
+ sub(/,.*/, "", firstauthor) | |
+ printf "%%L %s%d\n", firstauthor, year | |
+ for (i in authors) | |
+ printf "%%A %s\n", authors[i] | |
+ printf "%%T %s\n", title | |
+ printf "%%J %s\n", journal | |
+ printf "%%D %d\n", year | |
+ printf "%%N %s", volume | |
+ if (issue) | |
+ printf "(%s)", issue | |
+ printf "\n%%P %s\n", page | |
+ if (doi) | |
+ printf "%%O https://doi.org/%s\n", doi | |
+} | |
+' |