samiel” post=92690Come già formulato in un altro post, mi trovo nella necessità di aggiungere al campo “volume” il campo “tomo”
(il che, peraltro, non mi pare così strano, anche se nella messe dei campi già previsti da biblatex “tomo” non esiste proprio.
Ora, so che l’impresa non è affatto banale. Al momento ho un workaround funzionante perché dovevo finire in fretta un lavoro,
ma vorrei capire come risolvere in maniera adeguata. Rispetto a un tread piuttosto vecchio di questo forum
http://www.guitex.org/home/it/forum/5-tex-e-latex/87696-usare-campo-bibliografico-non-standard-con-iblatex
la mia esigenza è più complessa. Non si tratta infatti di modificare un record, ma di far sì che per una serie di formati (@book, @inbook, ecc.)
sia disponibile questo campo come opzionale. Ho visto il manuale di biblatex, che ho trovato tuttavia molto teorico e che non spiega
i passaggi che si dovrebbero seguire. Posta la richiesta in stackexchange, un esperto ha suggerito di usare
`\xpatchbibdriver{#1}{\printfield{volume}}{\printfield{volume}\newunit\newblock\printfield{tome}}{}{}`
aggiungendo tuttavia che è quindi necessario «to alter bibmacros as well». Solo che per me è come dire che devo fare
esattamente quello che va fatto, consiglio il cui significato pratico non capisco affatto. Io credevo di aver capito
che è necessario seguire tre passaggi (il che potrebbe essere però tutto sbagliato…):
1) creare un file .dbx con i campo \DeclaredatamodelField
2) creare un opportuno driver
3) patchare i driver preesistenti perché includano il nuovo campo.
Usando la patch sopra riportata, forse è sufficiente il punto 3).
Purtroppo in rete non ho trovato nessuna guida che spieghi in maniera comprensibile e generale come operare.
Ogni aiuto degli esperti sul tema è ben accetto…grazie
m
Il codice sopra non serve a nulla se prima non definisci il nuovo campo. Siccome il campo tome non esiste, l’unico modo è di usare il campo usera e rimapparlo su tome usando \DeclareSourcemap. A quel punto la macro sopra funziona, se al posto di tome scrivi usera.
La cosa è più facile a farsi che a dirsi. Domani, se vuoi, ti mando il codice.
Ciao
Ivan