---
name: "Text::BibTeX::BibFormat"
section: "3pm"
platform: "linux"
package: "perl-text-bibtex"
version: "0.91-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Text::BibTeX::BibFormat"
---

# Text::BibTeX::BibFormat(3pm)

formats bibliography entries

## NAME

Text::BibTeX::BibFormat - formats bibliography entries

## SYNOPSIS

```
   # Assuming $entry comes from a database of the 'Bib' structure
   # (i.e., that it's blessed into the BibEntry class, which inherits
   # the format method from BibFormat):
   @blocks = $entry->format;
```

## DESCRIPTION

The `"Text::BibTeX::BibFormat"` class is a base class of `"Text::BibTeX::BibEntry"` for formatting bibliography entries.  It thus performs the main job of any program that would hope to supplant BibTeX itself; the other important job (sorting) is handled by its companion class, `"Text::BibTeX::BibSort"`.

`"BibFormat"` (the `"Text::BibTeX"` prefix will be dropped for brevity) pays attention to almost all of the structure options described in Text::BibTeX::Bib; it only ignores those that cover sorting, currently just `"sortby"`.  In particular, all of the "markup" options control what language is generated by `"BibFormat"`; if none of those options are set, then it will generate plain, unmarked text.

The only method in `"BibFormat"`'s documented interface (so far) is `"format"`.  (The class defines many other methods, but these should not be necessary to outsiders, so they are undocumented and subject to change.)

## METHODS

- format ()

  Formats a single entry for inclusion in the bibliography of some document.  The exact processing performed is highly dependent on the entry type and the fields present; in general, you should be able to join `"format"`'s outputs together to create a single paragraph for inclusion in a document of whatever markup language you're working with.

  Returns a list of "blocks," which can either be jammed together like sentences (for a traditional "tight" bibliography) or printed on separate lines (for an "open" bibliography format).  Each block is a reference to a list of sentences; sentences should be joined together with an intervening period.  Each sentence is either a single string or a list of clauses; clauses should be joined together with an intervening comma.  Each clause is just a simple string.

  See the source code for `"btformat"` for an example of how to use the output of `"format"`.

## SEE ALSO

Text::BibTeX::Structure, Text::BibTeX::Bib, Text::BibTeX::BibSort

## AUTHOR

Greg Ward \<gward@python.net\>

## COPYRIGHT

Copyright (c) 1997-2000 by Gregory P. Ward.  All rights reserved.  This file is part of the Text::BibTeX library.  This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
