bibtex: Parse, format and processing BibTeX files

[ bsd3, library, text ] [ Propose Tags ] [ Report a vulnerability ]

This package allows parsing, formatting and processing of BibTeX files. BibTeX files are databases for literature for the natbib package of the LaTeX typesetting system.

The package contains two examples:

  • The first example demonstrates the BibTeX parser by generating a publication overview from a .bib file.

  • The second example demonstrates the BibTeX generation by producing a large .bib file from the tar archive that cabal-install downloads to your local cabal directory.

Both examples will be build as stand-alone executable when running

cabal install -fbuildExamples bibtex

For the first example see the publications directory of this package. You can start the program and build an example document by running

make pubs

Technically the program generates a list of custom \nocite commands for the LaTeX package multibib. You can add the custom bibtex field subtype to BibTeX entries for more detailed categorization of an entry. See "publications/publications.bib" for examples.

The second example can be executed using

make hackbib

The file hackage.bib is written to the hackage subdirectory. The hackage-bibtex program reads an uncompressed tar archive from standard input and writes the result bibliography file to standard output.

Note that hackage.bib exceeds some limits of standard BibTeX and LaTeX: There are currently much more than 5000 versions of packages, the maximum my BibTeX can handle at once. That is, you can use the bibliography file, but you cannot cite all entries with \nocite*. If there are more than 26 uploads by the same author in a year, the BibTeX style alpha generates identifiers including curly braces which interacts badly with LaTeX's handling of them. If you reduce the Bibliography file to 5000 entries and try to generate an overview of all entries with \nocite, then pdflatex hits its limits:

TeX capacity exceeded, sorry [save size=5000]

Flags

Automatic Flags
NameDescriptionDefault
base2

Choose the new smaller, split-up base package.

Enabled
buildexamples

Build example executables

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.6.1, 0.1, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7
Dependencies base (>=1.0 && <5), bibtex, bytestring (>=0.9 && <0.13), Cabal (>=3.6 && <3.11), latex (>=0.1 && <0.2), old-time (>=1.0 && <1.2), parsec (>=2.1 && <3.2), special-functors (>=1.0 && <1.1), tar (>=0.3 && <0.6), utf8-string (>=0.3.4 && <2), utility-ht (>=0.0.5 && <0.1) [details]
Tested with ghc ==6.12.3
License BSD-3-Clause
Author Henning Thielemann <haskell@henning-thielemann.de>
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Category Text
Home page http://www.haskell.org/haskellwiki/BibTeX
Source repo head: darcs get http://code.haskell.org/~thielema/bibtex/
this: darcs get http://code.haskell.org/~thielema/bibtex/ --tag 0.1.0.7
Uploaded by HenningThielemann at 2023-07-20T09:46:25Z
Distributions LTSHaskell:0.1.0.7, NixOS:0.1.0.7, Stackage:0.1.0.7
Reverse Dependencies 4 direct, 23 indirect [details]
Executables hackage-bibtex, publication-overview
Downloads 12121 total (95 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]