diff --git a/collects/scriblib/autobib.rkt b/collects/scriblib/autobib.rkt index 35c7b90dc1..a6b8730a10 100644 --- a/collects/scriblib/autobib.rkt +++ b/collects/scriblib/autobib.rkt @@ -10,14 +10,19 @@ (for-syntax syntax/parse racket/base) scheme/string - setup/main-collects) + setup/main-collects + racket/contract) (provide define-cite author+date-style number-style make-bib in-bib (rename-out [auto-bib? bib?]) proceedings-location journal-location book-location techrpt-location dissertation-location - author-name org-author-name authors other-authors editor) + author-name org-author-name + (contract-out + [authors (->* (content?) #:rest (listof content?) element?)]) + other-authors + editor) (define autobib-style-extras (let ([abs (lambda (s) diff --git a/collects/scriblib/scribblings/autobib.scrbl b/collects/scriblib/scribblings/autobib.scrbl index c26f0b0f1a..b7bd07239a 100644 --- a/collects/scriblib/scribblings/autobib.scrbl +++ b/collects/scriblib/scribblings/autobib.scrbl @@ -193,10 +193,11 @@ describing an author's name, especially where the last name is not merely a sequence of ASCII alphabet letters or where the name has a suffix (such as ``Jr.'').} -@defproc[(authors [name any/c] ...) element?]{ +@defproc[(authors [name content?] [names content?] ...) element?]{ Combines multiple author elements into one, so that it is rendered and -alphabetized appropriately. If a @racket[name] is a string, it is +alphabetized appropriately. Any of @racket[name] or @racket[names] +that are strings are parsed in the same way as by @racket[make-bib].} @defproc[(org-author-name [name any/c]) element?]{