normalizeFieldName function

String normalizeFieldName(
  1. String name
)

Normalizes a BibTeX field name by capitalizing the first letter and any letter immediately following a hyphen, lowercasing all other characters.

normalizeFieldName('TITLE') == 'Title'
normalizeFieldName('archiveprefix') == 'Archiveprefix'
normalizeFieldName('booktitle') == 'Booktitle'

Implementation

String normalizeFieldName(String name) => name.toLowerCase().replaceAllMapped(
  _fieldNameBoundary,
  (m) => '${m[1]}${m[2]?.toUpperCase() ?? ''}',
);