Bundle-PBib

 view release on metacpan or  search on metacpan

lib/Biblio/bp/lib/bp-refer.pl  view on Meta::CPAN

#
# bibliography package for Perl
#
# refer/endnote routines
#
# Dana Jacobsen (dana@acm.org)
# 12 January 1995 (last modified 17 March 1996)
#
# This reads the refer format, as described in the web page:
# <http://www.ecst.csuchico.edu/~jacobsd/bib/formats/refer.html>
#
# It also has an option to conform to EndNote standards for refer.
# Using this option does:
#  1) turns on the reverseauthor option, since names are in Last, First order.
#  2) enables parsing of some extra fields.
#  3) uses the %0 field to determine the entry type rather than guessing.
#
# XXXXX It still has some limitations however.  They include:
#  1) it doesn't change the character set.  Do we need another module?
#  2) it doesn't properly handle some of the %0 types (distinguising between
#     magazine, newspaper, and journal article; artwork vs. avmaterial)
#  3) it doesn't handle all the extra fields.
#  4) how does EndNote want the %E field formatted?
#

package bp_refer;

$version = "refer (dj 17 mar 96)";

######

&bib'reg_format(
  'refer',    # name
  'ref',      # short name
  'bp_refer', # package name
  'troff',    # default character set
  'suffix is ref',
# functions
  'open      is standard',
  'close     is standard',
  'write     is standard',
  'clear     is standard',
  'options',
  'read',
  'explode',
  'implode',
  'tocanon',
  'fromcanon',
);

######

$opt_order = 'L A Q E T B J R S V N P I C D $ * K M G l U X O Y Z';

# A-C Achilles's bibtex2refer uses this instead (no $*MGlY):
#$opt_order = 'L A Q T J B R S E V N D P I C K U X O';

# set this if you want checks for proper fields in implode and explode.
# It will slow the routines down somewhat.
$opt_validate = 1;

# These are the fields that can be multiply defined.
$opt_multFieldList = 'A E K';

# Read in by line rather than paragraph.  A tad bit slower, but we get the
# line number of the record instead of just the record number.
$opt_readline = 1;

# Which method should be used for implosion.  Doesn't really matter.
$opt_implodeMethod = 0;

# Set this if authors are in format "Last, First, Jr."
# (which is incorrect according to the refer documentation, by the way)
$opt_reverseauthor = 0;

# Set this if you want EndNote specific formatting.  This implies



( run in 0.769 second using v1.01-cache-2.11-cpan-a49fcb8fa48 )