CiteMaster is a smart Python package that helps you automatically generate formatted citations from research paper titles or files of titles. No more manual DOI searching or formatting—CiteMaster does it all for you!
- Extracts DOI from paper titles using the CrossRef API
- Fetches corresponding BibTeX data
- Formats citations in APA, MLA, or IEEE
- Supports batch citation generation from
.txt
or.csv
files - Saves formatted citations and BibTeX entries to text files (
citations_output.txt
andbibtex_output.txt
). - Progress tracking for batch processing of large lists of papers.
- Error handling with detailed logs stored in
errors.log
.
Clone and install CiteMaster locally:
git clone https://github.com/yourusername/CiteMaster.git
cd CiteMaster
pip install requirements.txt
OR you can use the:
pip install cite_master
Note: Make sure you’re using Python 3.7 or higher.
CiteMaster provides an interactive interface.
from cite_master import main
main()
You'll be prompted to input:
- A paper title or a file path (
.txt
or.csv
) - A citation format:
apa
,mla
, orieee
- Whether to include BibTeX citations along with formatted ones.
- Whether to save the formatted citations and/or BibTeX entries to output files.
Input:
Enter a paper title or provide a file path (txt/csv): Deep Learning for Solar Energy Forecasting: A Review
Enter citation format (apa, mla, ieee): apa
Do you want the BibTeX citation as well? (yes/no): yes
Do you want to save formatted citations to outputs/citations_output.txt? (yes/no): yes
Do you want to save BibTeX entries to outputs/bibtex_output.txt? (yes/no): yes
Output:
DOI: 10.1016/j.rser.2020.109984
BibTeX:
@article{DeepLearning2020,
title={Deep Learning for Solar Energy Forecasting: A Review},
author={John Smith and Alice Johnson},
journal={Renewable and Sustainable Energy Reviews},
volume={132},
pages={109984},
year={2020},
publisher={Elsevier}
}
Formatted Citation (APA):
Smith, J., & Johnson, A. (2020). Deep Learning for Solar Energy Forecasting: A Review. *Renewable and Sustainable Energy Reviews*, 132, 109984. https://doi.org/10.1016/j.rser.2020.109984
The formatted citation and BibTeX entry will be saved to outputs/citations_output.txt
and outputs/bibtex_output.txt
.
Input:
Enter a paper title or provide a file path (txt/csv): C:\path\to\your\file\paper_titles.txt
Enter citation format (apa, mla, ieee): mla
Do you want the BibTeX citation as well? (yes/no): no
Do you want to save formatted citations to outputs/citations_output.txt? (yes/no): yes
In this case, BibTeX entries will not be fetched, and the formatted citations will be saved to outputs/citations_output.txt
.
- .txt file: One paper title per line
- .csv file: First column should contain the titles
Example paper_titles.txt
:
Artificial Intelligence for Smart Grids
Machine Learning in Climate Forecasting
- Formatted Citations: All formatted citations will be saved to
outputs/citations_output.txt
. - BibTeX Entries: BibTeX entries will be saved to
outputs/bibtex_output.txt
if requested. - Error Logs: Any errors during processing will be logged in
errors.log
.
pip uninstall citemaster
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to open issues or submit pull requests. Suggestions and improvements are welcome!
- CrossRef API
- BibTeX Format
- Citation styles follow official formatting guidelines.
If you have any suggestion or want to contribute to the project you can reach me out at mehmooulhaq1040@gmail.com
Made ❤️ by [Mehmood Ul Haq]