Formatting of bibliographic references

0 views
Skip to first unread message

Frank Bennett

unread,
Jul 19, 2009, 9:47:29 PM7/19/09
to Knowledge Waves
Just posted the jottings below as a comment to Cameron's latest blog
post, but after hitting the button I realized it's more appropriate to
this forum, so here it is again:

***

Hi. I’m the author of citeproc-js, a citation formatting engine under
development for use with the Zotero reference management tool. The
citeproc-js engine is a Javascript implementation of the Citation
Style Language (CSL) specification, the lead editor of which is Bruce
D’Arcus. As Zotero followers will be aware, hundreds of styles have
been defined in CSL, and these can be leveraged by any CSL-conformant
citation formatting system.

The CSL processor currently used by Zotero is coded as an integral
part of the Zotero application. The citeproc-js project aims to
cleanly separate the CSL processor from Zotero proper, so that the
former can be more easily embedded in webservers and other
applications. The citeproc-js code is written in portable Javascript,
without special dependencies, so when it’s done it should be possible
to drop it into a JS environment anywhere, on either client- or server-
side, and put it straight to work.

The bulk of the citeproc-js processor code is now complete. Most of
the difficult issues (names formatting, bib-reference disambiguation,
various context-driven joins around punctuation, various forms of cite
truncation) have been resolved. I’m now working with the Zotero team
on the task of refactoring the API to provide the functionality needed
for efficient word-processor integration. We’re not running against a
deadline, but I think the aim is to have this work done maybe within
this calendar year.

As a hobbyist programmer and middle-aged auto-didact, my knowledge of
these things is limited, but it seems to me that citeproc-js is a
likely building block for an authoring system built around Wave. I
would be very excited to see that happen, and would be happy to help
things forward. But I should mention a couple of items here at the
threshold.

I would have two handicaps as a participant in an effort to adapt
citeproc-js as a formatting engine for use in the Wave environment.

The first is expertise. I’ve been fashioning little tools in code for
a couple of decades, but I am not a trained programmer, which gives me
a limited sense of design, and a limited vocabulary for swapping
ideas. I fear that I would be as likely to clutter things up with
misunderstanding as to move discussions forward, if I were the only
person in the circle able to speak to citeproc-js internals.

The second is lack of time. Apart from being a hobbyist programmer and
middle-aged auto-didact, I am a full-time member of academic staff in
a law faculty (in Japan). I took on the initial drafting of citeproc-
js out of a desire to further strengthen Zotero, which I see as a
useful tool for students in our writing programs. I can justify the
time I have spent on it one the basis of direct short-term benefits.
But I also have responsibilities to publish in my professional field
of comparative law, and the pressure in that regard has been building
up during the six months of coding spent on citeproc-js. While I will
be more than happy to correspond with developers concerning the code,
barring some revolutionary change in the University work environment,
I really can’t justify dedicating significant time to Wave-related
coding, either on the processor itself or on supporting modules.

This is not to cast a wet blanket on the general enthusiasm, in which
I share. On the contrary, I want to flag early on that this code is
available, and that the door is open for someone else to familiarize
themselves with CSL and with the citeproc-js code base, with a view to
hitting the ground running when the effort to produce a Wave-based
authoring platform kicks in in earnest.

Sincerely,
Frank Bennett
Faculty of Law
Nagoya University

Frank Bennett

unread,
Jul 19, 2009, 9:50:47 PM7/19/09
to Knowledge Waves
On Jul 20, 10:47 am, Frank Bennett <biercena...@gmail.com> wrote:
> On the contrary, I want to flag early on that this code is
> available, and that the door is open for someone else to familiarize
> themselves with CSL and with the citeproc-js code base, with a view to
> hitting the ground running when the effort to produce a Wave-based
> authoring platform kicks in in earnest.

Neglected to provide the all-important link to the citeproc-js
sources:

http://bitbucket.org/fbennett/citeproc-js/wiki/Home

Bruce D'Arcus

unread,
Jul 19, 2009, 10:34:52 PM7/19/09
to knowled...@googlegroups.com
On Sun, Jul 19, 2009 at 9:50 PM, Frank Bennett<bierc...@gmail.com> wrote:
>
> On Jul 20, 10:47 am, Frank Bennett <biercena...@gmail.com> wrote:
>> On the contrary, I want to flag early on that this code is
>> available, and that the door is open for someone else to familiarize
>> themselves with CSL and with the citeproc-js code base, with a view to
>> hitting the ground running when the effort to produce a Wave-based
>> authoring platform kicks in in earnest.
>
> Neglected to provide the all-important link to the citeproc-js
> sources:
>
> http://bitbucket.org/fbennett/citeproc-js/wiki/Home

My python version if considerably less far along, but FWIW:

<http://github.com/bdarcus/citeproc-py/tree/master>

I think in any case, while I'm of course biased, I think CSL is
nicely-designed for implementation in Wave.

Bruce

Cameron Neylon

unread,
Jul 20, 2009, 4:11:05 AM7/20/09
to Knowledge Waves
Frank, Bruce

Thanks for those pointers. Perhaps this is a good time to start
brainstorming funding/resourcing opportunities to see how we can best
take these things forward. Also great to have a starting point for
discussions about how to build reference formatters. We also have
several new members of the group now so all should feel free to pitch
in ideas. And if people feel we should move to wiki type format at any
point when we start to move towards specifications and/or
documentation then just shout. I've already got one possible place set
up with no content thus far.

Finally just a reminder to those who don't yet have developer sandbox
accounts, Google are now working through the backlog of online
applications so if you haven't put one in do so ASAP. This is
happening on a first in first out basis.

Cheers

Cameron

Daniel Mietchen

unread,
Jul 20, 2009, 6:00:49 AM7/20/09
to knowled...@googlegroups.com
Hello together,

with respect to referencing systems, I was wondering whether any of
the tools currently available
would allow to extend the "one webpage per book" philosophy of
http://openlibrary.org/ (or of "one
DOI per paper") to "one URI per any citable item", where citable items
could be anything from
a wiki or database edit to a blog post, PhD thesis or grant proposal,
or comments upon that.

Daniel

Daniel Mietchen

unread,
Jul 20, 2009, 7:57:37 AM7/20/09
to knowled...@googlegroups.com
poking around on data DOI, I just came across this discussion at friendfeed:
http://ff.im/5s2Dc
which mentions
http://www.std-doi.de/front_content.php and
http://doi.pangaea.de/10.1594/PANGAEA.119754 .

Daniel

Bruce D'Arcus

unread,
Jul 20, 2009, 8:51:39 AM7/20/09
to knowled...@googlegroups.com
On Mon, Jul 20, 2009 at 6:00 AM, Daniel
Mietchen<daniel....@googlemail.com> wrote:
>
> Hello together,
>
> with respect to referencing systems, I was wondering whether any of
> the tools currently available
> would allow to extend the "one webpage per book" philosophy of
> http://openlibrary.org/ (or of "one
> DOI per paper") to "one URI per any citable item", where citable items
> could be anything from
> a wiki or database edit to a blog post, PhD thesis or grant proposal,
> or comments upon that.

I'm a big fan of linked data and RDF, and I've come to the conclusion
that you need two things for this to work well: solid, distributed,
global identifiers (URIs), and embedded data (the specifics would
probably depend on Wave).

So I'm imagining something like a user inserts (through drag-and-drop,
auto-completion, whatever) a URI in a Wave, the robot can grab the
metadata for that source from a variety of different sources (sort of
like a hierarchy of trusted sources, as configured by the users), and
then maybe a separate robot formats it in-place.

Bruce

Bruce D'Arcus

unread,
Jul 20, 2009, 8:53:07 AM7/20/09
to knowled...@googlegroups.com
On Mon, Jul 20, 2009 at 7:57 AM, Daniel
Mietchen<daniel....@googlemail.com> wrote:
>
> poking around on data DOI, I just came across this discussion at friendfeed:
> http://ff.im/5s2Dc
> which mentions
> http://www.std-doi.de/front_content.php and
> http://doi.pangaea.de/10.1594/PANGAEA.119754 .

OTOH, URIs do the same thing, without the headaches of centralized resolvers?

Bruce

Reply all
Reply to author
Forward
0 new messages