BibTeX...Author(3pm)

πŸ’… BibTeX::Author(3pm) β€” the perl doc your bestie actually reads

okay so real talk: this is BibTeX...Author(3pm), one of those User Contributed Perl Documentation pages, and it's literally about one (1) single author in a BibTeX document. iconic. let's get into it πŸŽ€


✨ NAME ✨

BibTeX::Author β€” contains a single author for a BibTeX document. that's it. that's the whole vibe. one author. no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

so this class is a wrapper for a single BibTeX author, and it's usually created by a BibTeX::Parser. think of it as the main character of your bibliography entry, okay?

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);

look at that. so clean. so demure. 🫢


πŸ’– FUNCTIONS πŸ’–

new

creates a brand new author object. it expects the full name as its parameter β€” yes, the whole name, don't be shy. ✨

first

set or get the first name(s). plural! because people can have more than one. slay.

von

set or get the 'von' part of the name. yes, that's a real thing, keep reading, i promise it makes sense. πŸ’…

last

set or get the last name(s). also plural. also valid.

jr

set or get the 'jr' part of the name. junior representation fr fr.

split

splits the name into (firstname, von part, last name, jr part). returns an array with four strings β€” and heads up, some of them might be empty. that's normal, don't panic. πŸ™ˆ

to_string

returns a string representation of the name, "as described next" β€” so like, keep scrolling bestie, the notes got you. ⭐


πŸ¦‹ NOTES πŸ¦‹

okay this is the part where it gets lowkey interesting. BibTeX allows three representations of a person's name:

  1. First von Last
  2. von Last, First
  3. von Last, Jr, First

and the module always converts the first form to the second or third one β€” so that simple string comparisons actually work. the way that's such a glow-up for consistency. 😭

the algorithm to determine the von part is the following: the von part consists of tokens where the first letter at brace level 0 is in lowercase. anything in a "special characters" is on brace level 0. so like, the following tokens are considered von parts:

  • "von"
  • "\NOOP{von}Von"

and the following token is not:

  • "{von}"

brace level 0 is doing so much heavy lifting here, iykyk. 🧚


πŸŽ€ VERSION πŸŽ€

version 1.95 β€” she's serving. πŸ‘‘


🌈 AUTHOR 🌈

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

three legends. we stan. πŸ’œ


Copyright 2013-2026 Gerhard Gossen, Boris Veytsman, Karl Berry

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. periodt. πŸ“


ngl, free software under the same terms as Perl 5 itself? that's the energy we love to see.

and that's the page, bestie! 🫢 this was generated by perl v5.40.1 on 2026-06-26 β€” shoutout to BibTeX...Author(3pm) for being the moment. bye pookie, go parse some authors πŸ’–βœ¨

πŸ“¦ where this page comes from