Spaces:
Sleeping
Sleeping
metadata
title: Reference Management System
emoji: π
colorFrom: blue
colorTo: purple
sdk: docker
sdk_version: latest
app_file: app.py
pinned: false
Reference Management System
A simple web app to process and organize BibTeX references.
What It Does
Input: Paste your BibTeX entries
Process: Enrich metadata, abbreviate journals, protect acronyms
Output: View results and save to database
No local files needed (main.tex, Refs.bib). Everything happens online.
Quick Start
Local Setup
pip install -r requirements.txt
python app.py
# Open http://localhost:5000
Hugging Face Spaces
Already deployed at: huggingface.co/spaces/mnoorchenar/scopus
How to Use
- Paste BibTeX into the input box
- Choose options:
- π Enrich: Fetch latest data from Crossref API (~3-5 sec per reference)
- π Abbreviate: Shorten journal names (requires
ltwa.txt) - π‘οΈ Protect: Wrap acronyms in braces for LaTeX (
{RNN},{LSTM}) - πΎ Save: Store in database for later use
- Process and view results in table, BibTeX, or JSON format
- Export as CSV or .bib file
Options Explained
| Option | What it does | Notes |
|---|---|---|
| Enrich with Crossref | Updates references from online database | Slower but most accurate |
| Journal Abbreviations | Converts "Nature" β "Nature" using LTWA standard | Needs ltwa.txt file |
| Protect Acronyms | Wraps multi-uppercase words in braces | Prevents LaTeX from lowercasing |
| Save to Database | Stores all versions locally | SQLite - portable & persistent |
File Structure
app.py # Main application
templates/index.html # Web interface
requirements.txt # Dependencies
refs_management.db # Database (auto-created)
ltwa.txt # Journal abbreviations (optional)
Database
All processed references saved to refs_management.db:
- Original BibTeX
- Enriched metadata from Crossref
- Abbreviated journal names
- Acronym-protected versions
- Import timestamp
Notes
- No files to upload: Paste content directly
- Crossref API: Free but rate-limited (~3-5 sec per entry)
- Journal abbreviations: Optional, but requires
ltwa.txtwith tab-separated format - Database: SQLite - runs locally, no internet needed after processing
- Export: Download as CSV or BibTeX anytime
Example Input
@article{Smith2024,
author = {Smith, John},
title = {Machine Learning for NLP},
journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
year = {2024}
}
Troubleshooting
App won't start: Check python app.py runs on port 7860 (Hugging Face Spaces)
"ltwa.txt not found": Optional file - app works without it (abbreviation feature just won't activate)
Crossref slow: Normal - API has rate limits. 10 references β 30-50 seconds
Results not saving: Ensure "Save to Database" checkbox is enabled
Learn More
- Crossref API: https://crossref.org
- Journal abbreviations: https://www.nlm.nih.gov/bsd/ltwa_mainpage.html