Ciao a tutti. Sono un estimatore dello stile di Ivan, che carico così:
`\usepackage[style=philosophy-modern,hyperref,backref,square,natbib]{biblatex}`
Nella bibliografia finale, compare la scritta “Citato alle pp. …” e “Citato a p. …”. Come si fa per sostituire “p.” con “pagina” e “pp.” con “pagine”?Grazie mille,
L.Lehman ha introdotto su mia richiesta due nuove stringhe per le back references: backrefpage e backrefpages. Nel file italian.lbx vengono definite nelle due forme, abbreviata ed estesa con:
“citato a pagina” e “cit. a p.”
“citato alle pagine” e “cit. alle pp.”
gli stili philosophy usano una forma intermedia e per questo le due stringhe vengono ridefinite nel file italian-philosophy.lbx. Detto questo, una volta che uno stile ha i propri file di localizzazione è un problema modificare la definizione delle stringhe. Anche se si deve modificare una sola stringa vanno ridefinite tutte.`\DeclareLanguageMapping{italian}{italian}
\NewBibliographyString{transtolang,cit}
\DefineBibliographyStrings{italian}{%
[color=red]backrefpage = citato a pagina,
backrefpages = citato alle pagine,
[/color]sequens = s\adddot,
sequentes = ss\adddot,
transtolang = trad\adddotspace it\adddot,
andothers = \mkbibemph{et\addabbrvspace al\adddot},
editor = \mkpureparens{a cura di},
editors = \mkpureparens{a cura di},
loccit = ibidem,
cit = cit\adddot,
ibidem=ivi,
}`
La prima riga richiama il file di localizzazione standard; la seconda riga definisce le nuove stringhe necessarie per lo stile; le righe successive ridefiniscono le altre stringhe.
La cosa migliore sarebbe che nel file italian.lbx le stringhe backrefpage(s) venissero definite nelle due forme:
“citato a pagina” e “citato a p.”.
“citato alle pagina” e “citato alle p.”.
In questo modo, eviterei di ridefinirle nel file italian.lbx e per modificarle basterebbe
`\DefineBibliographyStrings{italian}{%
backrefpage = citato a pagina,
backrefpages = citato alle pagine}`Ma non so da chi dipenda, se da Lehman o da chi ha definito le stringhe per l’italiano (Enrico?). Nel secondo caso chiedo lumi 😉
Mettendo nel preambolo un comando \DefineBibliographyStrings, non ottengo alcuna ridefinizione. Dato “nudo” o in \AtBeginDocument, è ignorato.
Boh. Secondo me è un baco di biblatex, perché nella definizione di \DefineBibliographyStrings si fa riferimento a un comando che non è definito in alcun posto: il codice viene aggiunto al testo di sostituzione della macro
`\blx@hook@strings@italian`
che non è mai definita (la stringa blx@hook@strings compare solo lì).
Riesco a definire le stringhe in modo soddisfacente con
`\appto\bibsetup{%
\def\abx@str@backrefpage{citato a pagina}%
\def\abx@str@backrefpages{citato alle pagine}}%
}`
ma non mi pare la strada giusta. 🙂
Non credo si debbano comunque ridefinire tutte: la riga \DeclareLanguageMapping{italian}{italian} può essere sostituita con \DeclareLanguageMapping{italian}{italian-philosophy}. Ma rimane il baco.
Rimando l’invito a contribuire proposte di modifica alle definizioni del modulo italiano di biblatex e a completare quelle ancora mancanti.
Ciao
Enrico