Zotero, Neovim e citazioni
Il titolo del post è incompleto e dovrebbe comprendere anche Quarto. Per gli approfondimenti su Quarto c’è una buona documentazione da leggere sul sito, ma per gli scopi attuali basti dire che è una sorta di interfaccia a Pandoc. I file vengono scritti in markdown, ma possono contenere anche frammenti di codice che vengono eseguiti. Potrei utilizzare Quarto anche per scrivere i post di questo blog, ma per ora continuo alla vecchia maniera.
Come mi sono attrezzato ¶
Quarto genera i documenti finali supportati da Pandoc, così ho provato a scrivere qualcosa come se dovessi preparare un articolo con citazioni. Descriverò dapprima il flusso di lavoro usando Zotero e poi senza.
Il mio editor di riferimento è Neovim e l’accoppiata con zotcite è vincente e convincente. Dello stesso sviluppatore non posso fare a meno di raccomandare anche Nvim-R, che indovinate un po’ dove viene utile?
I passi da seguire.
Istallazione
require 'paq' {
'savq/paq-nvim',
'jalvesaq/zotcite',
'jalvesaq/Nvim-R',
...
}
Configurazione
-- opzioni per zotcite
vim.g['$ZoteroSQLpath'] = "/Users/mimmo/Zotero/zotero.sqlite"
vim.g['zotcite_conceallevel'] = 0 -- con 1 non si vede la stringa interna di Zotero
vim.g['zotcite_quarto_render'] = 1 -- a ogni salvataggio parte la compilazione
Quella che chiamo stringa interna di Zotero è una sequenza alfanumerica compresa tra @
e #
della citazione, per esempio
@VDSC89KZ#Bartram_HallCraggs_1987
Uso
bibliography: temp.bib
collection: ['emorroidi']
filters:
- "/Users/mimmo/.local/share/nvim/site/pack/paqs/start/zotcite/python3/zotref.py"
Queste ultime righe meritano un commento. Zotcite si collega direttamente al database di Zotero (zotero.sqlite) e quindi ha a disposizione tutte le voci disponibili. Nei file qmd si deve specificare un file bib, anche vuoto, e può essere specificata una collection di Zotero per ridurre il numero di voci in cui ricercare. Il percorso al filtro zotref.py comprende il path completo.
Nella documentazione del plugin è spiegato come utilizzarlo in file md, Rmd con Nvim-R.
Senza Zotero ¶
Per chi non usa Zotero, ma usa Neovim, c’è la possibilità di utilizzare telescope-bibtex.nvim alla cui documentazione rinvio per istallazione e uso.
File tex ¶
Creare, editare e compilare file latex con neovim è relativamente semplice. La combinazione di LSP (language server protocol), Treesitter e eventualmente degli snippet sono la ricetta base. In ambiente latex zotcite non ci viene in aiuto perché l’autore di zotcite afferma:
However, I’m no longer using LaTeX to write academic papers because it’s difficult to convert to other formats. Now, I use LaTeX only to write pandoc templates to convert Markdown into PDF the way I want. So, I’m sorry, but someone else would have to do a push request for this feature to be implemented, and he or she should become responsible for maintaining the code.
In questi frangenti telescope-bibtex.nvim potrebbe essere la soluzione.