bkyk8rc3zvpnsf5inmcqq4n3k98cv6hj-my-site-hyper-literate-git.test.suzanne.soy-0.0.1

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 865ad8584c4290f6a55d7d35433e2480798cca73
parent 1f37c2230a72556053b9fefd1fe1dac7692f32d9
Author: Sam Tobin-Hochstadt <samth@racket-lang.org>
Date:   Tue, 16 Nov 2010 13:27:50 -0500

Sort bib entries by year when authors are equal.

Works only when just the year is specified.

original commit: d50eac2effe61bcd7e3fa9584b5dab652b54938f

Diffstat:
Mcollects/scriblib/autobib.rkt | 15++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/collects/scriblib/autobib.rkt b/collects/scriblib/autobib.rkt @@ -88,12 +88,21 @@ (define (extract-bib-key b) (author-element-names (auto-bib-author b))) +(define (extract-bib-year b) + (string->number (auto-bib-date b))) + + (define (gen-bib tag group) - (let* ([author<? (lambda (a b) - (string<? (extract-bib-key a) (extract-bib-key b)))] + (let* ([author/date<? + (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) (lambda (k v) k)) - author<?)]) + author/date<?)]) (make-part #f `((part ,tag))