From 51c3e14795211f872e8e687276329cf19d0de1db Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Thu, 1 May 2014 09:23:14 +0200 Subject: [PATCH] adds the documentation of bibtexbrowser to the Git repository --- bibtexbrowser-documentation.wiki | 299 +++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 bibtexbrowser-documentation.wiki diff --git a/bibtexbrowser-documentation.wiki b/bibtexbrowser-documentation.wiki new file mode 100644 index 0000000..34e386b --- /dev/null +++ b/bibtexbrowser-documentation.wiki @@ -0,0 +1,299 @@ + + +bibtexbrowser is a PHP script that creates publication lists from Bibtex files. + bibtexbrowser is stable, mature and easy to install. It is used in [[users|100+ different universities]] around the globe (in 329 different domains according to Google). + ++++TOC+++ + +=====Major features===== +* bibtexbrowser generates [[http://www.monperrus.net/martin/accurate+bibliographic+metadata+and+google+scholar|Google Scholar metadata]] so as to improve the visibility of your papers on Google Scholar. +* More and more academics use bibliographic software like [[http://www.zotero.org/|Zotero]] or [[http://www.mendeley.com/|Mendeley]]. bibtexbrowser generates [[http://ocoins.info/|COinS]] for automatic import of bibliographic entries with [[http://www.zotero.org/|Zotero]] and [[http://www.mendeley.com/|Mendeley]]. +* People can subscribe to the RSS publication feed of an individual or a group so as to being kept up-to-date: bibtexbrowser generates RSS feeds for all queries (simply add &rss at the end of the URL)! [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&all&rss|demo]] +* bibtexbrowser can display all entries for an author with an academic style (i.e book, articles, conference, workshop): [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&academic=Ducasse|demo]] +* bibtexbrowser can be used to embed a publication list into another page: [[http://www.monperrus.net/martin/publications|demo]] +* bibtexbrowser is easy to install: just a single file. + +=====Other features===== +* **(10/2013)** support for localization (see below) +* **(07/2012)** new label types (see config value ABBRV_TYPE) +* **(10/2011)** if a bibtex entry contains a field gsid (like Google Scholar ID), bibtexbrowser includes a link [cites] to the cited-by page of Google Scholar (e.g. [[http://scholar.google.com/scholar?cites=15080874515065717592]]) +* **(03/2011)** bibtexbrowser includes a hide/show mechanism for bibtex entries (in Javascript, see configuration variable BIBTEXBROWSER_USE_PROGRESSIVE_ENHANCEMENT) +* **(10/2010)** bibtexbrowser now supports cross-references (Bibtex crossref) +* **(09/2010)** bibtexbrowser now supports multiple bibtex files (''bibtexbrowser.php?bib=file1.bib;file2.bib'') +* **(05/2010)** bibtexbrowser adds links to your co-author pages if you define the corresponding @string (see function addHomepageLink) +* **(01/2010)** bibtexbrowser can handle user-defined bibliographic styles +* **(10/2009)** bibtexbrowser is able to generate a bibtex file containing only the selected entries (simply add &astext at the end of the link) +* **(10/2009)** bibtexbrowser is now independent of the configuration of register_globals +* **(01/2009)** bibtexbrowser allows multi criteria search, e.g. [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&type=inproceedings&year=2004|demo]] +* bibtexbrowser replaces constants defined in @STRING +* bibtexbrowser is very fast because it keeps a compiled version of the bibtex file (PHP object serialized) +* bibtexbrowser is compatible with PHP 4.x and PHP 5.x +* bibtexbrowser can display the menu and all entries without filtering from the file name passed as parameter [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib|demo]] +* bibtexbrowser can display all entries out of a bibtex file [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&all|demo]] +* bibtexbrowser can display all entries for a given year [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&year=2004|demo]] +* bibtexbrowser can display a single bibtex entry [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&key=monperrus08d|demo]] +* bibtexbrowser can display found entries with a search word (it can be in any bib field) [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&search=ocl|demo]] +* bibtexbrowser can display all entries with a bib keyword e.g. "?keywords=components". It matches against the "keywords" bibtex field. [[http://bibtexbrowser.sourceforge.net/bibtexbrowser.php?bib=metrics.bib&keywords=components|demo]] +* bibtexbrowser outputs valid XHTML 1.0 Transitional +* bibtexbrowser can display all entries for an author [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib&author=Barbara+A.+Kitchenham|demo]] +* bibtexbrowser can be used with different encodings (change the default iso-8859-1 encoding if your bib file is in UTF-8 ''define('ENCODING','UTF-8')'' ) + + +=====Download===== +You may try bibtexbrowser without installation by uploading your bibtex file at [[http://my.publications.li]]. +For feature requests or bug reports, please comment this page below; patches can be contributed as pull requests on [[https://github.com/monperrus/bibtexbrowser|github]]:) + + +//Stable Version//: [[http://www.monperrus.net/martin/bibtexbrowser.php.txt|bibtexbrowser.php]] +[[http://www.monperrus.net/martin/bibtexbrowser/changelog|Changelog]] + +Don't hesitate to contact me to be added in the [[users|lists of bibtexbrowser users]]:-) + +=====Bibtexbrowser Ecosystem===== + +The following uses bibtexbrowser under the hood: +* [[http://github.com/KaiBi/IEEEStyleForBibtexbrowser|A custom citation style for bibtexbrowser adhering to the IEEE citations guidelines (on github)]] +* Generating publication lists in Latex using [[http://www.monperrus.net/martin/bibtex2latex]] +* [[http://www.monperrus.net/martin/feeding-mysql-database-with-bibtexbrowser|Feeding a MySQL database from the content of a bibtex file]] +* Publication lists in Wordpress with [[http://www.monperrus.net/martin/wp-publications|wp-publications]] +* Hosted publication lists at [[http://my.publications.li]] + +=====Demo and screenshot===== + +Demo: [[http://www.monperrus.net/martin/bibtexbrowser.php?bib=metrics.bib|Here, you can browse a bibtex file dedicated to software metrics]] + +bibtexbrowser screenshot + +=====Basic installation===== +Create a bib file with the publication records (e.g. csgroup2008.bib) and upload it to your server. +* Use the link ''bibtexbrowser.php?bib=csgroup2008.bib'' (frameset based view) +* Use the link ''bibtexbrowser.php?bib=csgroup2008.bib&all'' (pub list sorted by year) +* Use the link ''bibtexbrowser.php?bib=csgroup2008.bib&all&academic'' (pub list sorted by publication type, then by year, see "Sectioning in academic mode" below) + +** Warning **: bibtexbrowser maintains a cached version of the parsed bibtex, for high performance, check that PHP can write in the working directory of PHP. + +**Handling mutliple bibtex files**: If you want to include several bibtex files, just give bibtexbrowser the files separated by semi-columns e.g: +''bibtexbrowser.php?bib=strings.bib;csgroup2008.bib'' + + + +=====FAQ===== + +====How to embed a publication list in an home page?==== + + + + + + + + + + + +
Sorted by year Sorted by publication type
For a group/team/lab +<?php +$_GET['bib']='csgroup2008.bib'; +$_GET['all']=1; +include( 'bibtexbrowser.php' ); +?> + +<?php +$_GET['bib']='csgroup2008.bib'; +$_GET['all']=1; +$_GET['academic']=1; +include( 'bibtexbrowser.php' ); +?> +
For an individual + <?php +$_GET['bib']='mybib.bib'; +$_GET['author']='Martin Monperrus'; +include( 'bibtexbrowser.php' ); +?> + +<?php +$_GET['bib']='mybib.bib'; +$_GET['author']='Martin Monperrus'; +$_GET['academic']=1; +include( 'bibtexbrowser.php' ); +?> +
+ + + +====How to change the reference style?==== + +**By modifying the CSS** + +If bibtexbrowser.css exists, it is used, otherwise bibtexbrowser uses its own embedded CSS style (see function bibtexbrowserDefaultCSS). An example of CSS tailoring is: +
+.date {   background-color: blue; }
+.btb-header { }
+.rheader {  font-size: large }
+.bibref {  padding:3px; padding-left:15px;  vertical-align:top;}
+.bibtitle { font-weight:bold; }
+.bibbooktitle { font-style:italic; }
+
+ +  + + +**By setting your own style function** +The bibliography style is encapsulated in a function. If you want to modify the bibliography style, you can copy the default style in a new file, say ''bibtexbrowser-yourstyle.php'', and rename the function ''DefaultBibliographyStyle'' in say ''MyFancyBibliographyStyle''. +Then, add in the file ''bibtexbrowser.local.php'': +
+<?php
+function MyFancyBibliographyStyle(&$bibentry) {
+  return $bibentry->getTitle().' ('.$bibentry->formattedAuthors(.')';
+}
+define('BIBLIOGRAPHYSTYLE','MyFancyBibliographyStyle');
+?>
+
+  + +See Janos Tapolcai's style, which looks like IEEE references (see function JanosBibliographyStyle), and Kai's one [[http://github.com/KaiBi/IEEEStyleForBibtexbrowser|another custom citation style for bibtexbrowser adhering to the IEEE citations guidelines (on github)]]. + +For contributing with a new style, [[http://www.monperrus.net/martin/|please drop me an email ]] + + +====How to specify the encoding of bibtex files (UTF-8/ISO-8859-1/etc.)? ==== + + +By default, bibtexbrowser assumes that the bibtex file is UTF-8 encoded. If you want to change it to e.g. ISO-8859-1, add into ''bibtexbrowser.local.php'': + ''define('ENCODING','ISO-8859-1');'' + +Note that if the bibtex only contains latex-encoded diacritics (e.g. ''\'e''), it does not matter. The encoding of the bibtex file and the one of the generated HTML is identical. + + +====How to disable Javascript progressive enhancement?==== +add into ''bibtexbrowser.local.php'': +''define('BIBTEXBROWSER_USE_PROGRESSIVE_ENHANCEMENT',false);'' + +====How to remove the "[bibtex]" links?==== +''@define('BIBTEXBROWSER_BIBTEX_LINKS',false);'' + +====How to change the reference indices?==== +
+
+// index => [1] The essence of metamodeling
+// year => [2005] The essence of metamodeling
+// x-abbrv => [SoSyM] The essence of metamodeling if the bibtex entry contains a field x-abbrv
+define('ABBRV_TYPE','year');// may be year/x-abbrv/key/none/index
+
+ + +====How to use the "Academic style"?==== + +The default academic mode creates four sections: +- books +- articles and book chapters +- workshop papers (for entries containing "workshop" in the field booktitle) +- others. + +You may create your own one in ''bibtexbrowser.local.php'' (see also "By creating a bibtexbrowser.local.php" below): +
+define('BIBLIOGRAPHYSECTIONS','my_sectioning');
+function my_sectioning() {
+return  
+  array(
+  // Books
+    array(
+      'query' => array(Q_TYPE=>'book'),
+      'title' => 'Books'
+    ),
+  // Articles
+    array(
+      'query' => array(Q_TYPE=>'article'),
+      'title' => 'Refereed Articles'
+    ),
+  // Conference and Workshop papers
+    array(
+      'query' => array(Q_TYPE=>'inproceedings'),
+      'title' => 'Conference and Workshop  Papers'
+    ),
+  // others
+    array(
+      'query' => array(Q_TYPE=>'misc|phdthesis|mastersthesis|bachelorsthesis|techreport'),
+      'title' => 'Other Publications'
+    )
+  );
+}
+
+ + +====How to get the individual bib pages embedded as well?==== +''define('BIBTEXBROWSER_URL',""); '' + + +====How to add links to the slides of a conference/workshop paper?==== +You can simply fill the ''comment'' field of the bib entry with an HTML link: + +@inproceedings{foo, +author="Jean Dupont", +title="Bibtexbrowser", +year=2009, +booktitle="Proceedings of the BIB conference", +comment={<a href="myslides.pdf">[slides]</a>} +} + + +This comment field can also be used to add acceptance rates and impact factors. + +====How to localize bibtexbrowser?==== +Add in ''bibtexbrowser.local.php'': +
+<?
+global $BIBTEXBROWSER_LANG;
+$BIBTEXBROWSER_LANG=array();
+$BIBTEXBROWSER_LANG['Refereed Conference Papers']="Conférences avec comité de lecture";
+... 
+$BIBTEXBROWSER_LANG['Year']="Année";
+?>
+
+ +====How to change the default frame?==== +Add in ''bibtexbrowser.local.php'': +
+<?
+// or any valid query: year=2010, author=Jane, etc.
+@define('BIBTEXBROWSER_DEFAULT_FRAME','all');
+?>
+
+ + +=====Related tools===== + +Old-fashioned: +[[http://nxg.me.uk/dist/bibhtml/|bibhtml]], [[http://www.litech.org/~wkiri/bib2html/|bib2html]], [[http://ilab.usc.edu/bibTOhtml/|bibtohtml]], [[http://people.csail.mit.edu/rahimi/bibtex/|bibtextohtml]], [[http://www.lri.fr/~filliatr/bibtex2html/|bibtex2html]], [[http://people.csail.mit.edu/mernst/software/bibtex2web.html |bibtex2web]], [[http://strategoxt.org/Stratego/BibtexTools|stratego bibtex module]] +Unlike them, **bibtexbrowser is dynamic**.i.e.; generates the HTML pages on the fly. Thus, you do not need to regenerate the static HTML files each time the bib file is changed. + +Heavyweight: +[[http://www.rennes.supelec.fr/ren/perso/etotel/PhpBibtexDbMng/|PHP BibTeX Database Manager]], [[http://gforge.inria.fr/projects/bibadmin/|bibadmin]], [[http://artis.imag.fr/Software/Basilic/|basilic]], [[http://phpbibman.sourceforge.net/|phpbibman]], [[http://www.aigaion.nl/|aigaion]], [[http://www.refbase.net/|refbase]], [[http://wikindx.sourceforge.net/|wikindx]], [[http://refdb.sourceforge.net/|refdb]] +Unlike them, **bibtexbrowser does not need a MySQL database** + + +Main competitor: +[[http://code.google.com/p/simplybibtex/|SimplyBibtex]] has the same spirit, but the project seems dead since 2006 + +Misc: +[[http://www.sat.ltu.se/publications/publications.m|This matlab script is similar]] + +=====Copyright===== + +This script is a fork from an excellent script of Joel Garcia, Leonardo Ruiz, and Yoonsik Cheon from the University of Texas at El Paso. + +Bibtexbrowser is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + +=====Discussion/Comments/Feedback=====