mirror of
https://github.com/K-Dense-AI/claude-scientific-skills.git
synced 2026-03-27 07:09:27 +08:00
2.5 KiB
2.5 KiB
Export Formats
BibTeX
zot.add_parameters(format='bibtex')
bibtex_db = zot.top(limit=50)
# Returns a bibtexparser BibDatabase object
# Access entries as list of dicts
entries = bibtex_db.entries
for entry in entries:
print(entry.get('title'), entry.get('author'))
# Write to .bib file
import bibtexparser
with open('library.bib', 'w') as f:
bibtexparser.dump(bibtex_db, f)
CSL-JSON
zot.add_parameters(content='csljson', limit=50)
csl_items = zot.items()
# Returns a list of dicts in CSL-JSON format
Bibliography HTML (formatted citations)
# APA style bibliography
zot.add_parameters(content='bib', style='apa')
bib_entries = zot.items(limit=50)
# Returns list of HTML <div> strings
for entry in bib_entries:
print(entry) # e.g. '<div>Smith, J. (2024). Title. <i>Journal</i>...</div>'
Note: format='bib' removes the limit parameter. The API enforces a max of 150 items.
Available Citation Styles
Pass any valid CSL style name from the Zotero style repository:
'apa''chicago-author-date''chicago-note-bibliography''mla''vancouver''ieee''harvard-cite-them-right''nature'
In-Text Citations
zot.add_parameters(content='citation', style='apa')
citations = zot.items(limit=50)
# Returns list of HTML <span> elements: ['<span>(Smith, 2024)</span>', ...]
Other Formats
Set content to any Zotero export format:
| Format | content value |
Returns |
|---|---|---|
| BibTeX | 'bibtex' |
via format='bibtex' |
| CSL-JSON | 'csljson' |
list of dicts |
| RIS | 'ris' |
list of unicode strings |
| RDF (Dublin Core) | 'rdf_dc' |
list of unicode strings |
| Zotero RDF | 'rdf_zotero' |
list of unicode strings |
| BibLaTeX | 'biblatex' |
list of unicode strings |
| Wikipedia Citation Templates | 'wikipedia' |
list of unicode strings |
Note: When using an export format as content, you must provide a limit parameter. Multiple simultaneous format retrieval is not supported.
# Export as RIS
zot.add_parameters(content='ris', limit=50)
ris_data = zot.items()
with open('library.ris', 'w', encoding='utf-8') as f:
f.write('\n'.join(ris_data))
Keys Only
# Get item keys as a newline-delimited string
zot.add_parameters(format='keys')
keys_str = zot.items()
keys = keys_str.strip().split('\n')
Version Information (for syncing)
# Dict of {key: version} for all items
zot.add_parameters(format='versions')
versions = zot.items()