Bibliography manager written in awk
Just like shbib, but better.
- Minimal (only require POSIX compliant awk)
- Search BibTeX on crossref and google scholar
- Create and modify bib file on the fly
- Automatically and manually rename and encode metadata to pdf file
- Create, view and edit sublibrary
- Write notes for BibTeX entry
Contribution to use it in repository in distro is welcome. Here is a simple guide for manual installation:
git clone https://github.com/huijunchen9260/bib.awkto download bib.awk to directory.- To install on linux:
- Run
sudo make installto install bothbib.awk.
- Run
- Configuration is necessary. You definitely need to set
BIBFILEandPDFPATHfor basic function to work. For detailed explanation, see Configuration.
Configuration is done within the first section of bib.awk file.
Configuration explanation:
- If you want to use environment variable
VAR:ENVIRON["VAR"] BIBFILEdefines the location of your.bibfileBIBUKEYdefines the university url for journal authenticationPDFPATHdefines the location of all your research papers-needs to have slash at the BEGINNING and the END of the stringOPENERdefines the system default file openerREADERdefines the pdf file openerEDITORdefines the text file openerBROWSERdefines the browser to open urlTEXTEMPdefines the location for tex template for Notes- needs to have slash at the BEGINNING of the string
CLIPINWdefines the command to copy into clipboardCLIPOUTdefines the command to copy out from clipboard
- clipboard:
xcliporxselfor linux (require configuration),pbcopyandpbpastefor Mac OS - file opener:
xdg-openfor linux,openfor Mac OS gs(ghostscript) for pdf metadata encoding, [MacOS], [Linux and Windows]curlto search on Internetxdotoolto hide / show terminal when open graphical software, not necessary- other shell utilities:
rm,mv,file,printf,mkdir,stty
NUMBERS:
[num] - move cursor to entry [num]
[num]+G - Go to page [num]
NAVIGATION:
k/↑ - up j/↓ - down
l/→ - right h/← - left
Ctrl-f - Half Page Down Ctrl-u - Half Page Up
n - PageDown p - PageUp
g/Home - first page G/End - last page
MODES:
/ - search
←/→ - move left/right
⌫ - backspace on one character
PREVIEW:
v - toggle preview on pdf file (file selection)
MISC:
r - refresh q - quit
? - show keybinds
- search on crossref by text
- search on crossref using the following shell command:
read the API manual!
curl -s "https://api.crossref.org/works? \ query.bibliographic=string+to+search \ &select=indexed,title,author,type,DOI, \ published-print,published-online,container-title"
- directly pull out field needed.
- If search text is DOI, then directly pull out bibtex.
- search on crossref using the following shell command:
- search on crossref by metadata
- search on google scholar
- search using following url:
https://scholar.google.com/scholar?q=string+to+search 2>&1 1>/dev/null &
- search using following url:
- open research paper
- configure
PDFPATHvariable inbib.awk
- configure
- open research paper website
- copy BibTeX label
- write note
- Notes stored in
PDFPATH/Notes
- Notes stored in
- open research appendices
- Appendices stored in
PDFPATH/appendices
- Appendices stored in
- edit existing BibTeX entry
- manually create file hierarchy
- create
PDFPATH/Notes,PDFPATH/appendices, andPDFPATH/Libsfor selected BibTeX entry
- create
- automatically create file hierarchy
- create
PDFPATH/Notes,PDFPATH/appendices, andPDFPATH/Libsfor all pdf files inPDFPATH
- create
- manually build database
- encode metadata in chosen pdf file using
gs.
- encode metadata in chosen pdf file using
- automatically update database
- loop over pdf files in
PDFPATHand encode metadata if missing.
- loop over pdf files in
- open sublibraries
- Libraries stored in
PDFPATH/Libs
- Libraries stored in
- create sublibraries
- edit sublibraries
- add/delete BibTeX entry
- remove the chosen sublibrary
