From a02fa6709c70a921fb65aa49d384c5b8d82f0c74 Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Tue, 14 Jul 2009 23:53:24 +0000 Subject: [PATCH] autobib fixed author list commas svn: r15447 --- collects/scriblib/autobib.ss | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/collects/scriblib/autobib.ss b/collects/scriblib/autobib.ss index a2fed0ba08..29e0461d47 100644 --- a/collects/scriblib/autobib.ss +++ b/collects/scriblib/autobib.ss @@ -248,14 +248,18 @@ (let ([names (map parse-author (cons name names))]) (make-author-element #f - (let loop ([names names]) + (let loop ([names names] [prefix 0]) (if (null? (cdr names)) - (list (car names)) - (append (loop (list (car names))) - (list (if (null? (cddr names)) - ", and " - ", ")) - (loop (cdr names))))) + (case prefix + [(0) (list (car names))] + [(1) (list " and " (car names))] + [else (list ", and " (car names))]) + (case prefix + [(0) (list* (car names) + (loop (cdr names) (add1 prefix)))] + [else (list* ", " + (car names) + (loop (cdr names) (add1 prefix)))]))) (string-join (map author-element-names names) " / ") (case (length names) [(1) (author-element-cite (car names))]