Re: Ridefinizione maldestra in Biblatex-Verbose trad-1

#94112
Up
0
Down
::

Teodoro Studita” post=93700Salve di nuovo! 😛
Pensavo di aver fatto una cosa meravigliosa per avere i due punti a introdurre l’intervallo di pagine citate di un articolo, come richiesto dallo stile di citazione di Analecta Augustiniana. Piccolo problema: se cito l’articolo intero ottengo lo stesso i due punti seguiti dal nulla!
Questa la mia fantastica ridefinizione

`\DeclareFieldFormat*[article]{postnote}{#1}
\DeclareFieldFormat*[article]{pages}{\mkpageprefix[pagination]{#1}\addcolon}`

E questo un esempio minimo che evidenzia il problema.
Devo fare un condizionale? Non lo so fare!!! 😕
Grazie!

`\begin{filecontents}{archivio.bib}

@article{Taft:Tra,
Author = {Robert Taft},
Date-Added = {2012-11-12 10:00:00 +0000},
Date-Modified = {2012-11-12 10:00:00 +0000},
Journal = {Logos},
Number = {39},
Pages = {155-184},
Title = {Translating Liturgically},
Year = {1998}}

\end{filecontents}

%%%%%%%%%%%%%%%%%%%%%%%%%%% PREAMBOLO %%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[twoside]{article}
\usepackage[paperwidth=17cm, paperheight=24cm, includefoot, textwidth=116mm, textheight=188mm, footskip=6mm, footnotesep=6mm]{geometry}
\usepackage{polyglossia} % Per le sillabazioni
\setmainlanguage{italian}

\usepackage{fontspec} % Per caricare correttamente i font Garamond
%\setmainfont[Ligatures=TeX]{Garamond Premier Pro} % Sceglie il Font di Studi sull'Oriente Cristiano
\usepackage{xpatch} % Per customizzare Idem in Biblatex-verbose

%%%%%%%%%%%%%%%%%%%COMANDI DI BILIOGRAFIA%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[ style=verbose-trad1, % Stile generale della bibliografia
language=italian,
useprefix=true, % Van, Von, etc.
firstinits=true, % Nomi puntati
backend=biber, % Compilare l'aux con texworks e biber (NON bibtex!)
]{biblatex}

\DeclareFieldFormat[article, inbook, incollection, inproceedings]{title}{\mkbibemph{#1}} % Titolo in corsivo
\DeclareFieldFormat[article]{journaltitle}{\mkbibquote{#1}} % Titolo rivista tra virgolette a caporale
\DeclareFieldFormat[book, inbook, incollection, inproceedings]{volume}{#1} % Elimina “vol.”
\DeclareListFormat[article, book, inbook, incollection, inproceedings]{publisher}{} % Elimina il campo publisher (nota che pub è una list, non un field)

\DeclareFieldFormat*[article]{postnote}{#1} % Queste due ridefinizioni per avere : prima della pagina citata
\DeclareFieldFormat*[article]{pages}{\mkpageprefix[pagination]{#1}\addcolon}

\renewcommand*{\newunitpunct}{\addcomma\space} % Virgola tra le unità
\renewcommand*{\mkibid}{\emph} % ibid, op cit e latinitates in enfatico
\renewcommand\mkbibnamelast[1]{\textsc{#1}} % Nomi in maiuscoletto
\renewcommand{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand{\mkbibnameaffix}[1]{\textsc{#1}}

\usepackage[autostyle=true]{csquotes} % Per citare in altre lingue

\addbibresource{archivio.bib}

%%%%%%%%%%%%%%%%%%%%%%%%%%%% INIZIO DOCUMENTO %%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

{\centering
\vspace*{20mm}
\fontsize{16}{19.2}\selectfont
\textbf{Tanti problemi con \LaTeX} % Qui va il titolo
\par
\vspace*{10mm}
\fontsize{13}{16}\selectfont
\textsc{Pinco Pallino} % Qui l'autore
\par
\vspace*{14mm}
}
\fontsize{11}{13.5}\selectfont

Devo verificare se nel caso si citi un articolo senza specificare una pagina o un intervallo di pagine preciso\footcite[]{Taft:Tra}, si stampino i due punti seguiti dal nulla cosmico.

\end{document}
\endinput

`

`
\DeclareFieldFormat*[article]{postnote}{#1}
\usepackage{xpatch}
\xpatchbibmacro{postnote}{\setunit{\postnotedelim}}{\ifentrytype{article}{\setunit{\addcolon\space}}{\setunit{\postnotedelim}}}{}{}`
Il codice è abbastanza chiaro. Se la voce è @article invece di \setunit{\postnotedelim} si usa \setunit{\addcolon\space}, come voluto.
\DeclareFieldFormat serve in ogni caso per eliminare “p.” prima di postnote

Ciao
Ivan

Go to top