Sort bib entries by year when authors are equal.
Works only when just the year is specified. original commit: d50eac2effe61bcd7e3fa9584b5dab652b54938f
This commit is contained in:
parent
1f37c2230a
commit
865ad8584c
|
@ -88,12 +88,21 @@
|
||||||
(define (extract-bib-key b)
|
(define (extract-bib-key b)
|
||||||
(author-element-names (auto-bib-author b)))
|
(author-element-names (auto-bib-author b)))
|
||||||
|
|
||||||
|
(define (extract-bib-year b)
|
||||||
|
(string->number (auto-bib-date b)))
|
||||||
|
|
||||||
|
|
||||||
(define (gen-bib tag group)
|
(define (gen-bib tag group)
|
||||||
(let* ([author<? (lambda (a b)
|
(let* ([author/date<?
|
||||||
(string<? (extract-bib-key a) (extract-bib-key b)))]
|
(lambda (a b)
|
||||||
|
(or
|
||||||
|
(string<? (extract-bib-key a) (extract-bib-key b))
|
||||||
|
(and (string=? (extract-bib-key a) (extract-bib-key b))
|
||||||
|
(extract-bib-year a) (extract-bib-year b)
|
||||||
|
(< (extract-bib-year a) (extract-bib-year b)))))]
|
||||||
[bibs (sort (hash-map (bib-group-ht group)
|
[bibs (sort (hash-map (bib-group-ht group)
|
||||||
(lambda (k v) k))
|
(lambda (k v) k))
|
||||||
author<?)])
|
author/date<?)])
|
||||||
(make-part
|
(make-part
|
||||||
#f
|
#f
|
||||||
`((part ,tag))
|
`((part ,tag))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user