aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bib-key.awk
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bib-key.awk')
-rw-r--r--lib/bib-key.awk11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/bib-key.awk b/lib/bib-key.awk
index 41534ba..4223155 100644
--- a/lib/bib-key.awk
+++ b/lib/bib-key.awk
@@ -4,14 +4,12 @@
# <surname><year><word>, e.g. knuth1984literate.
function bib_pass(raw) {
- if (bib_out_n++)
- print ""
+ bib_sep()
print raw
}
function bib_entry(type, key, k, n) {
- if (bib_out_n++)
- print ""
+ bib_sep()
k = bib_mkkey()
# disambiguate collisions with b, c, ... suffixes
if (k in BIB_KEYS_SEEN) {
@@ -30,10 +28,9 @@ function bib_mkkey( a, y, t, surname, word, n, parts, i, w) {
t = bib_get("title")
# surname of the first author
+ a = bib_clean(a)
if (match(a, / [Aa][Nn][Dd] /))
a = substr(a, 1, RSTART - 1)
- gsub(/[{}]/, "", a)
- a = bib_trim(a)
if (index(a, ",") > 0)
surname = substr(a, 1, index(a, ",") - 1)
else {
@@ -52,7 +49,7 @@ function bib_mkkey( a, y, t, surname, word, n, parts, i, w) {
y = ""
# first significant word of the title
- gsub(/[{}]/, "", t)
+ t = bib_clean(t)
word = ""
n = split(tolower(t), parts, /[^a-z0-9]+/)
for (i = 1; i <= n; i++) {