logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

BibTeX::Author - Contains a single author for a BibTeX document.

Author

       Gerhard Gossen <gerhard.gossen@googlemail.com> and  Boris  Veytsman  <boris@varphi.com>  and  Karl  Berry
       <karl@freefriends.org>

Functions

new
       Create new author object. Expects full name as parameter.

   first
       Set or get first name(s).

   von
       Set or get 'von' part of name.

   last
       Set or get last name(s).

   jr
       Set or get 'jr' part of name.

   split
       Split name into (firstname, von part, last name, jr part). Returns array with four strings, some of them
       possibly empty.

   to_string
       Return string representation of the name.

Name

       BibTeX::Author - Contains a single author for a BibTeX document.

Notes

       BibTeX allows three representations of a person's name:

       1.  First von Last

       2.  von Last, First

       3.  von Last, Jr, First

       The module always converts the first form to the second of third one to allow simple string comparisons.

       The  algorithm  to  determine  the von part is the following: von part consists of tokens where the first
       letter at brace level 0 is in lower case.  Anything in a "special characters" is on brace level 0.   Thus
       the  following  tokens are considered von parts:  "von", "\NOOP{von}Von", and the following token is not:
       "{von}"

Synopsis

       This class ist a wrapper for a single BibTeX author. It is usually created by a BibTeX::Parser.

           use BibTeX::Parser::Author;

           my $entry = BibTeX::Parser::Author->new($full_name);

           my $firstname = $author->first;
           my $von       = $author->von;
           my $last      = $author->last;
           my $jr        = $author->jr;

           # or ...

           my ($first, $von, $last, $jr) = BibTeX::Author->split($fullname);

Version

       version 1.04

See Also