You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Additional information and usage instructions](#additional-information-and-usage-instructions)
15
-
-[`verify`](#verify)
16
-
-[`compare`](#compare)
17
-
-[`commit`](#commit)
17
+
-[`bibcheck verify`](#verify)
18
+
-[`bibcheck compare`](#compare)
19
+
-[`bibcheck commit`](#commit)
18
20
-[Using the bibtex file as a common bibliography for all *local* LaTeX files](#using-the-bibtex-file-as-a-common-bibliography-for-all-local-latex-files)
19
21
-[General Unix/Linux Setup (Command Line Compilation)](#general-unixlinux-setup-command-line-compilation)
20
22
-[MacOS Setup with TeXShop and TeX Live](#macos-setup-with-texshop-and-tex-live)
@@ -35,10 +37,27 @@ You may find the included bibtex file and/or readme file useful for any of the f
35
37
- Instructions for adding this repository as a sub-module to Overleaf projects, so that you can share a common bibtex file across your Overleaf projects
36
38
37
39
## Using the bibtex checker tools
38
-
You may find the bibtex checker tools useful for:
39
-
- Verifying the integrity of a .bib file
40
+
41
+
This repository includes two complementary verification tools:
42
+
43
+
1.**bibcheck.py** - Verifies formatting and consistency
44
+
- Checks key naming conventions
45
+
- Validates author/editor name formatting
46
+
- Ensures proper capitalization
47
+
- Verifies page number formatting
48
+
- Removes duplicate entries
49
+
50
+
2.**bibverify.py** - Verifies accuracy against external sources
51
+
- Cross-references entries with CrossRef database (170M+ records)
52
+
- Validates volume, issue/number, and page fields
53
+
- Detects common errors (e.g., DOI in pages field)
54
+
- Uses conservative matching to prevent false positives
55
+
56
+
You may find these tools useful for:
57
+
- Verifying the integrity and accuracy of a .bib file
40
58
- Autocorrecting a .bib file (use with caution!)
41
59
- Automatically generating change logs and commit messages
60
+
- Finding and fixing metadata errors
42
61
43
62
### Installation
44
63
The bibtex checker has only been tested on MacOS, but it will probably work without modification on other Unix systems, and with minor modification on Windows systems.
@@ -51,7 +70,9 @@ pip install -r requirements.txt
51
70
52
71
### Overview
53
72
54
-
The included checker has three general functions: `verify`, `compare`, and `commit`:
73
+
#### bibcheck.py - Format Verification
74
+
75
+
The format verification tool has three main functions: `verify`, `compare`, and `commit`:
55
76
```bash
56
77
Usage: bibcheck.py [OPTIONS] COMMAND [ARGS]...
57
78
@@ -68,25 +89,95 @@ Commands:
68
89
verify
69
90
```
70
91
92
+
#### bibverify.py - Accuracy Verification
93
+
94
+
The accuracy verification tool checks entries against the CrossRef database:
- Year discrepancies (preprint vs published versions)
145
+
```
146
+
147
+
**Performance:** With 10 workers, verifies ~17 entries/second. Full bibliography verification takes approximately 6 minutes.
148
+
149
+
**Note:** 23% of entries may not be found in CrossRef (arXiv preprints, technical reports, very new/old publications). The tool correctly rejects uncertain matches rather than suggesting false corrections.
150
+
71
151
# Suggested workflow
72
152
73
153
After making changes to `cdl.bib` (manually, using
74
154
[bibdesk](https://bibdesk.sourceforge.io/), etc.), please follow the suggested
75
155
workflow below in order to safely update the shared lab resource:
76
156
77
-
1. Verify the integrity of the modified cdl.bib file (correct any changes until this passes):
157
+
1.**(Optional) Verify accuracy against CrossRef:**
# Review verification_report.txt and fix any genuine errors found
161
+
```
162
+
163
+
2. Verify the formatting/integrity of the modified cdl.bib file (correct any changes until this passes):
78
164
```bash
79
165
python bibcheck.py verify --verbose
80
166
```
81
-
2. Generate a change log and commit your changes:
167
+
168
+
3. Generate a change log and commit your changes:
82
169
```bash
83
170
python bibcheck.py commit --verbose
84
171
```
85
-
3. Push your changes to your fork:
172
+
173
+
4. Push your changes to your fork:
86
174
```bash
87
175
git push
88
176
```
89
-
4. Create a pull request for pulling your changes into the ContextLab fork
177
+
178
+
5. Create a pull request for pulling your changes into the ContextLab fork
179
+
180
+
**Note:** The bibverify step is optional but recommended for catching metadata errors. It's especially useful when adding new entries or updating existing ones.
0 commit comments