23.03.2010

BibTex Citation Management within MediaWiki

A couple of days ago I star­ted an ex­pe­ri­ment to use a Wiki sys­tem to or­ga­nize my re­se­arch pro­ject about buil­ding a pat­tern lan­guage. For this pur­pose its es­sen­tial to cite other peo­p­les work as its com­mon in sci­en­ti­fic ar­ti­cles. In other con­texts like wri­t­ing with La­tex or ma­na­ging pa­pers with Men­de­ley the Bib­Tex data for­mat showed up as very use­ful to ma­nage and reuse a whole lot of ci­ta­ti­ons. The ques­tion was how to in­clude a Bib­Tex ci­ta­tion ma­na­ger into a Wiki sy­t­sem?

These de­si­ra­ble fea­ture has been mis­sing in po­pu­lar Wiki sys­tems like Me­dia­Wiki or TKWiki. In case of Me­dia­Wiki there were two pro­mi­sing ex­ten­si­ons. The first is cal­led Bib­tex but lacks on ef­fi­ci­ent ci­ta­tion ma­nage­ment across se­veral pa­ges. The se­cond is cal­led Bi­blio which pro­vi­des an ex­cel­lent ci­ta­tion ma­na­ger in­clu­ding sup­port for for ISBN and other me­di­cal do­cu­ment in­de­xes. But un­for­t­u­na­tely Bi­blio has no built in Bib­Tex support.

The so­lu­tion on how to com­bine the ex­ten­si­ons Bi­blio and Bib­tex needs four steps:

  1. Down­load Bi­blio Ex­ten­sion from their home­page and in­stall it as it is men­tio­ned there.
  2. Se­arch for func­tion "func­tion render_​biblio(" and paste a new variable:
    $bibtexx = new BibTex();
  3. Open the file Biblio.php in the Ex­ten­sion di­rec­tory. Se­arch for the string "$text = $this->get($ref, 'text');" and in­sert the fol­lo­wing code be­hind it:
    if(strcmp(substr($text, 0, 10), '&lt ;bibtex') == 0){
       $bibtexx->BibTex($text);
       $text = $bibtexx->html();
    }
  4. Now you can ren­der bib­tex ent­ries like:
    #localref local reference
    #[[Literature]]
    #somebook @book{Alexander1979,
    	Author = {Christopher Alexander},
    	Publisher = {Oxford University Press},
    	Title = {The Timeless Way of Building},
    	Year = {1979}}
    #someusualbook MySelf. "Me Myself and I". Self.
    #x ...

Es­pe­cially if you store all Bib­Tex ent­ries in one sin­gle Wiki page (e.g. [[Li­te­ra­ture]]) it gi­ves you the ad­van­tage of syn­chro­ni­zing your lo­cal Bib­Tex da­ta­base with the ent­ries in­side the Wiki.

Posted by nise | Filed in english, Tech | 2 Kommentare »Share this on del.icio.us Digg this! Share this on Facebook Share this on Technorati Tweet This!

Schlagwörter: , , ,


2 Responses to “BibTex Citation Management within MediaWiki”

  1. Bill Flanagan Says:

    In­te­res­ting en­han­ce­ment. I'm fi­xing Bi­blio be­cause of an un­re­la­ted pro­blem and hope to re­lease a new re­vi­sion over the next month. I'd be glad to in­cor­po­rate your mods into the ex­ten­sion. Get in touch with me and let's see if we can add it to the release.

    Thanks.

    Bill

  2. nise Says:

    You're wel­come!
    The so­lu­tion above suits my needs and should be easy to add to the new re­lease anyway.

    --nise

Leave a Comment