scopus / README.md
mnoorchenar's picture
Update 2026-01-28 20:43:15
760d086
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

  1. Paste BibTeX into the input box
  2. 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
  3. Process and view results in table, BibTeX, or JSON format
  4. 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.txt with 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