PHPackages                             monperrus/bibtexbrowser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. monperrus/bibtexbrowser

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

monperrus/bibtexbrowser
=======================

bibtexbrowser is a PHP script that creates publication lists from Bibtex files. bibtexbrowser is stable, mature and easy to install.

896655[11 issues](https://github.com/monperrus/bibtexbrowser/issues)PHPCI passing

Since Aug 9Pushed 5mo ago14 watchersCompare

[ Source](https://github.com/monperrus/bibtexbrowser)[ Packagist](https://packagist.org/packages/monperrus/bibtexbrowser)[ RSS](/packages/monperrus-bibtexbrowser/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (2)Used By (0)

bibtexbrowser is a PHP script that creates publication lists from Bibtex files. bibtexbrowser is stable, mature and easy to install. It is used in [hundreds of different universities and institutions](http://www.monperrus.net/martin/bibtexbrowser/users) (over 469 different domains according to Google).

This documentation is collaborative, you can improve it using a [pull request](https://github.com/monperrus/bibtexbrowser/edit/master/README.wiki).

Table of Contents
-----------------

[](#table-of-contents)

- [Features](#user-content-Features)
- [Download](#user-content-Download)
- [Bibtexbrowser Ecosystem](#user-content-Bibtexbrowser_Ecosystem)
- [Demo and screenshot](#user-content-Demo_and_screenshot)
- [Basic installation](#user-content-Basic_installation)
- [FAQ](#user-content-FAQ)

- [How to embed Bibtexbrowser into a website?](#user-content-How_to_embed_Bibtexbrowser_into_a_website)
- [How to embed a publication list in an home page?](#user-content-How_to_embed_a_publication_list_in_an_home_page)
- [How to change the reference style?](#user-content-How_to_change_the_reference_style)
- [How to use the IEEE bibliographic style?](#user-content-How_to_use_the_IEEE_bibliographic_style)
- [How to change the link style?](#user-content-How_to_change_the_link_style)
- [How to specify the encoding of bibtex files (UTF-8/ISO-8859-1/etc.)?](#user-content-How_to_specify_the_encoding_of_bibtex_files_UTF8ISO88591etc)
- [How to disable Javascript progressive enhancement?](#user-content-How_to_disable_Javascript_progressive_enhancement)
- [How to remove the "\[bibtex\]" links?](#user-content-How_to_remove_the_bibtex_links)
- [How to change the reference indices?](#user-content-How_to_change_the_reference_indices)
- [How to use the "Academic style"?](#user-content-How_to_use_the_Academic_style)
- [How to get the individual bib pages embedded as well?](#user-content-How_to_get_the_individual_bib_pages_embedded_as_well)
- [How to add links to the slides of a conference/workshop paper?](#user-content-How_to_add_links_to_the_slides_of_a_conferenceworkshop_paper)
- [How to localize bibtexbrowser?](#user-content-How_to_localize_bibtexbrowser)
- [How to change the default frame?](#user-content-How_to_change_the_default_frame)
- [How to configure the sorting order of Bibtex entries?](#user-content-How_to_configure_the_sorting_order_of_Bibtex_entries)
- [How to change the title of the result page?](#user-content-How_to_change_the_title_of_the_result_page)
- [How to disallow crawler indexing?](#user-content-How_to_disallow_crawler_indexing)
- [How to load Bibtex from a dynamic string?](#user-content-How_to_load_Bibtex_from_a_dynamic_string)
- [How to load bibliographic data in other formats?](#user-content-How_to_load_bibliographic_data_in_other_formats)
- [How to remove fields from the bibtex text?](#user-content-How_to_remove_fields_from_the_bibtex_text)
- [How to activate page numbering in the output?](#user-content-How_to_activate_page_numbering_in_the_output)
- [How to override framesets and headers?](#user-content-How_to_override_framesets_and_headers)
- [How to add hyperlink to the authors' web pages?](#user-content-How_to_add_hyperlink_to_the_authors_web_pages)
- [How to modify bibtex entries on the command line?](#user-content-How_to_modify_bibtex_entries_on_the_command_line)
- [How to use with composer?](#user-content-How_to_use_with_composer)
- [How to add a banner to the main view in frameset mode?](#user-content-How_to_add_a_banner_to_the_main_view_in_frameset_mode)
- [How to configure the type of metadata that bibtexbrowser generates?](#user-content-How_to_configure_the_type_of_metadata_that_bibtexbrowser_generates)
- [How to run the test for another PHP version?](#user-content-How_to_run_the_test_for_another_PHP_version)
    - [Related tools](#user-content-Related_tools)
    - [Copyright](#user-content-Copyright)
    - [Discussion/Comments/Feedback](#user-content-DiscussionCommentsFeedback)

##### Features

[](#features)

- (09/2021) add support for generating CITATION.cff files with helper script bibtex-to-cff.php
- (01/2017) support basic composer support
- (02/2016) support for [OpenGraph metadata](http://ogp.me/)
- (10/2015) support for filtering bibtex fields
- (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. )
- (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
- bibtexbrowser generates publication RSS feeds (simply add &amp;rss at the end of the URL)! [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;all&amp;rss)
- (10/2009) bibtexbrowser is able to generate a bibtex file containing only the selected entries (simply add &amp;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. [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;type=inproceedings&amp;year=2013)
- bibtexbrowser generates [COinS](http://ocoins.info/) metadata for automatic import of bibliographic entries with [Zotero](http://www.zotero.org/) and [Mendeley](http://www.mendeley.com/).
- bibtexbrowser generates [Google Scholar metadata](http://www.monperrus.net/martin/accurate+bibliographic+metadata+and+google+scholar) so as to improve the visibility of your papers on Google Scholar.
- 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 with framesets [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib)
- bibtexbrowser can display all entries out of a bibtex file [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;all)
- bibtexbrowser can display all entries for a given year [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;year=2014)
- bibtexbrowser can display a single bibtex entry [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;key=monperrus08d)
- bibtexbrowser can display found entries with a search word (it can be in any bib field) [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;search=repair)
- bibtexbrowser can display all entries with a bib keyword e.g. "?keywords=components". It matches against the "keywords" bibtex field. [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&keywords=repair)
- bibtexbrowser outputs valid XHTML 1.0 Transitional
- bibtexbrowser can display all entries for an author [demo](http://www.monperrus.net/martin/bibtexbrowser.php?bib=monperrus.bib&amp;author=Bartel)
- bibtexbrowser can be used with different encodings (change the default iso-8859-1 encoding if your bib file is in UTF-8 *define('BIBTEX\_INPUT\_ENCODING','UTF-8')* )
- bibtexbrowser is easy to install: just a single file.

##### Download

[](#download)

For feature requests or bug reports, please comment this page below; patches can be contributed as pull requests on [github](https://github.com/monperrus/bibtexbrowser):)

**Stable Version**: [bibtexbrowser.php](http://www.monperrus.net/martin/bibtexbrowser.php.txt)[Changelog](https://github.com/monperrus/bibtexbrowser/commits/master)

Don't hesitate to contact me to be added in the [lists of bibtexbrowser users](http://www.monperrus.net/martin/bibtexbrowser/users):-)

##### Bibtexbrowser Ecosystem

[](#bibtexbrowser-ecosystem)

The following uses bibtexbrowser under the hood:

- [A pretty-printer and cleaner for Bibtex](http://www.monperrus.net/martin/bibtex-prettyprint)
- [A custom citation style for bibtexbrowser adhering to the IEEE citations guidelines (on github)](http://github.com/KaiBi/IEEEStyleForBibtexbrowser)
- Generating publication lists in Latex using
- [Feeding a MySQL database from the content of a bibtex file](http://www.monperrus.net/martin/feeding-mysql-database-with-bibtexbrowser)
- Publication lists in Wordpress with [wp-publications](http://www.monperrus.net/martin/wp-publications)
- [Publication lists with HAL and bibtexbrowser](http://www.monperrus.net/martin/publication-lists-with-hal-and-bibtexbrowser)
- Generating publication lists in DokuWiki using the [bb4dw plugin](https://www.dokuwiki.org/plugin:bb4dw)

##### Demo and screenshot

[](#demo-and-screenshot)

Demo: [Here, you can browse a bibtex file of Martin's papers.](https://www.monperrus.net/martin/bibtexbrowser.php)

[![](https://camo.githubusercontent.com/f172f349a855a7ccd11a442bd853af1a25aaa4debcd177fec0876cf5c68db84f/68747470733a2f2f7777772e6d6f6e7065727275732e6e65742f6d617274696e2f62696274657862726f777365722f62696274657862726f777365722d73637265656e73686f742e706e67)](https://camo.githubusercontent.com/f172f349a855a7ccd11a442bd853af1a25aaa4debcd177fec0876cf5c68db84f/68747470733a2f2f7777772e6d6f6e7065727275732e6e65742f6d617274696e2f62696274657862726f777365722f62696274657862726f777365722d73637265656e73686f742e706e67)

##### Basic installation

[](#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&amp;all* (pub list sorted by year)
- Use the link *bibtexbrowser.php?bib=csgroup2008.bib&amp;all&amp;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

[](#faq)

#### How to embed Bibtexbrowser into a website?

[](#how-to-embed-bibtexbrowser-into-a-website)

To embed Bibtexbrowser into a website, you could use it as a library:

```

```

#### How to embed a publication list in an home page?

[](#how-to-embed-a-publication-list-in-an-home-page)

Sorted by year Sorted by publication typeFor a group/team/labFor an individual In the above snippets, only the bibtex-entries containing 'Martin Monperrus' as an auhor will be extracted, but not 'Monperrus, Martin'. To remedy this, you need to add *define('USE\_FIRST\_THEN\_LAST',true);* either to the php-query, or to *bibtexbrowser.local.php*

#### How to change the reference style?

[](#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; }
```

For instance, one can tweak the output by disabling the display of some headers and pieces of information.

```
.bibmenu {display:none} /* disables the [bibtex] and the like */
.bibanchor {display:none} /* disables the index [1] or [Name2010], etc. depending on the value of the configuration value ABBRV_TYPE and BIBTEXBROWSER_LAYOUT
.theader {display:none}
.sheader {display:none} /* disables the year header e.g., 2001 */
```

**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*:

```
