As some of you know (since we talked about it in a racketcon talk a
couple of year ago), my spouse Morgan (cc'ed) is writing her art history
dissertation in Scribble.  She's getting close to finishing it (yay!)
and we've been very happy with Scribble for this use in general, except
for one thing that we've been procrastinating on... the apparent
inflexibility of Scribble's bibliography support.

As far as I can tell, both scriblib bibliographies and the
scribble/manual bibliography toolings both just assume "welp, here's the
citation style we support, and we're going to hardcode that":

  (define (bib-entry #:key key
                     #:title title
                     #:is-book? [is-book? #f]
                     #:author [author #f]
                     #:location [location #f]
                     #:date [date #f]
                     #:url [url #f])
       (if author `(,@(decode-content (list author)) ", ") null)
       (if is-book? null '(ldquo))
       (if is-book?
         (list (italic title))
         (decode-content (list title)))
       (if location '(",") '("."))
       (if is-book? null '(rdquo))
       (if location
         `(" " ,@(decode-content (list location)) ,(if date "," "."))
       (if date `(" " ,@(decode-content (list date)) ".") null)
       (if url `(" " ,(link url (tt url))) null)))))

I was... really surprised when I saw this.  What I thought was the more
"Racket'y way" would be to store it as abstract data that then could be
rendered to the appropriate style (that's what BibTeX and everything
else does).  So it seems like:

  1) This is very inflexibly tied to a specific citation style... the
     format we need is preferably AJA, but Chicago Style or MLA also
     are acceptable.
  2) What about new fields?  There are some citations we're pulled in
     from Morgan's Zotero database that have important fields that
     don't appear to be in the bib-entry.

I wonder if I'm missing something?  Maybe the bibtex system is what I
should look at, but I'll admit that I really don't understand how it
works based on its documentation.

I suppose if worst comes to worst I can roll my own thing or kludgily
fork one from scribble's modules but I'd rather not if possible.

Thoughts welcome.  Thank you!

 - Chris

You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Reply via email to