Reference Field Comparison
When verifying your bibliography against DBLP or OpenAlex, Extenote compares each field (title, authors, year, venue) individually. The comparison is fuzzy - it handles differences in case, punctuation, diacritics, and name formats.
Step 1: matches identical titles
Titles are compared after normalizing case and whitespace. Identical titles match perfectly with no edit distance reported.
Test: matches identical titles
File: packages/refcheck/tests/compare.test.ts:37
it("matches identical titles", () => {
const result = compareTitle("Attention Is All You Need", "Attention Is All You Need");
expect(result.match).toBe(true);
expect(result.edit_distance).toBeUndefined();
});
Step 2: matches titles ignoring punctuation
Punctuation like colons and hyphens is ignored during comparison. This handles variations in how titles are formatted across different databases.
Test: matches titles ignoring punctuation
File: packages/refcheck/tests/compare.test.ts:53
it("matches titles ignoring punctuation", () => {
const result = compareTitle(
"BERT: Pre-training of Deep Bidirectional Transformers",
"BERT Pre-training of Deep Bidirectional Transformers"
);
expect(result.match).toBe(true);
});
Step 3: reports mismatch with edit distance for different titles
When titles don’t match, the edit distance (Levenshtein) is reported so you can see how different they are. Small differences might indicate typos.
Test: reports mismatch with edit distance for different titles
File: packages/refcheck/tests/compare.test.ts:66
it("reports mismatch with edit distance for different titles", () => {
const result = compareTitle("Paper About Cats", "Paper About Dogs");
expect(result.match).toBe(false);
expect(result.edit_distance).toBeGreaterThan(0);
});
Step 4: matches titles with diacritics
Diacritics (accents) are normalized so “Café” matches “Cafe”. This is essential for international author names and venues.
Test: matches titles with diacritics
File: packages/refcheck/tests/compare.test.ts:104
it("matches titles with diacritics", () => {
const result = compareTitle("Café-Résumé Analysis", "Cafe-Resume Analysis");
expect(result.match).toBe(true);
});
This documentation is generated from test annotations. Edit the source test file to update.