Automated Publication Management
Automated Publication Management
This repository now includes an automated system for managing publications using BibTeX format.
Overview
Instead of manually maintaining the publication list in _includes/all_publications.md, you can now:
- Add publications to
_data/publications.bibin standard BibTeX format - Run the generation script to automatically create the formatted markdown
- Easily include links to arXiv, code repositories, and paper PDFs
Quick Start
- Install dependencies:
make install Edit publications: Add your publications to
_data/publications.bib- Generate the publication list:
make publications - Optional: Set up Git hook for automatic generation:
git config core.hooksPath .githooks
BibTeX Format
Standard Fields
title: Paper titleauthor: Authors (standard BibTeX format)year: Publication yearbooktitle: Conference name (for @inproceedings)journal: Journal name (for @article)
Custom Fields for Links
arxiv: URL to arXiv preprintpaperurl: URL to official paper (PDF/DOI)code: URL to code repositorystatus: Either “preprint” or “accepted” (defaults to “accepted”)
Example Entry
@inproceedings{my_paper_2024,
title={My Amazing Paper Title},
author={Smith, John and Doe, Jane},
booktitle={ICML},
year={2024},
arxiv={https://arxiv.org/abs/2401.00000},
code={https://github.com/user/repo},
status={accepted}
}
Venue Mapping
The system automatically maps venue names to the proper format:
ACL→ACL'25KDD→KDD'24orKDD'25(based on year)IJCAI→IJCAI'25NeurIPS→Neurips'24- etc.
File Structure
_data/
publications.bib # BibTeX source file
_includes/
all_publications.md # Generated markdown (don't edit manually)
scripts/
generate_publications.py # Generation script
requirements.txt # Python dependencies
Makefile # Convenient commands
Adding New Publications
- Open
_data/publications.bib - Add your new publication in BibTeX format
- Set the
statusfield to “preprint” or “accepted” - Add URLs for
arxiv,code, andpaperurlas needed - Run
make publicationsto regenerate the list
Customization
To modify the output format, edit scripts/generate_publications.py:
- Venue mapping: Update the
venue_mapdictionary informat_venue() - Link formatting: Modify the
format_links()function - Section organization: Adjust the
generate_markdown()function
Troubleshooting
Missing Dependencies
pip install bibtexparser==1.4.0
BibTeX Parsing Errors
- Ensure proper BibTeX syntax
- Check for unmatched braces
{} - Verify all required fields are present
Custom Venues
Add new venue mappings in the venue_map dictionary in scripts/generate_publications.py.
Git Hook (Optional)
A pre-commit hook is provided that automatically regenerates the publication list when _data/publications.bib is modified:
- Enable the hook:
git config core.hooksPath .githooks - How it works:
- When you commit changes to
_data/publications.bib - The hook automatically runs
scripts/generate_publications.py - The updated
_includes/all_publications.mdis added to your commit
- When you commit changes to
This ensures the publication list is always up-to-date with your BibTeX file.
