Dork” post=90786Ciao e buon anno a tutti. La mia prima catena di problemi dell’anno è composta da tre questioni per le quali aprirò un argomento ciascuna.
Cominciamo.
Per chi lo sa o chi non lo sa, sto scrivendo la tesi con le classi coma, e stile ClassicThesis modificato da Lorenzo Pantieri (più qualche piccolo ritocco). In particolare uso la numerazione romana maiuscola ma piccola nella prima parte (frontmatter) grazie a una modifica di Enrico Gregorio.
Il problema, molto semplice, è che volendo attivare backref per la bibliografia (opzione che permette di far comparire nelle voci stampate in bibliografia il riferimento alle pagine del testo nelle quali sono state citate) non funziona e da errore.
Riporto l’esempio minimo del sorgente
`% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex\documentclass{scrbook}% classe Book KOMA-script
\usepackage[T1]{fontenc}% Codifica caratteri di stampa (lettere accentate, ecc)
\usepackage[utf8]{inputenc}% Codifica caratteri in ingresso (del file .tex)
\usepackage[italian]{babel}% Sillabazione locale
\usepackage{classicthesis}% stile ClassicThesis\makeatletter% numerazione romana maiuscola piccola (va in conflitto con mparhack)
\renewcommand{\frontmatter}{%
\cleardoublepage\@mainmatterfalse
\pagenumbering{smallRoman}}
\DeclareRobustCommand{\@smrc}[1]{%
\begingroup\check@mathfonts\fontsize{\sf@size}{\sf@size}%
\selectfont#1\endgroup}
\def\smallRoman#1{\expandafter\@smallRoman\csname c@#1\endcsname}
\def\@smallRoman#1{\@smrc{%
\expandafter\@slowromansmallcap\romannumeral #1@}}
\def\@slowromansmallcap#1{\ifx @#1% then terminate
\else
\if i#1I\else
\if v#1V\else
\if x#1X\else
\if l#1L\else
\if c#1C\else
\if d#1D\else
\if m#1M\else
#1\fi\fi\fi\fi\fi\fi\fi
\expandafter\@slowromansmallcap
\fi}
\pdfstringdefDisableCommands{\let\@smrc\@iden}
\makeatother\usepackage{csquotes}% citazioni (necessario a biblatex)
\usepackage[backref,% riferimenti in bibliografia alle pagine in citazione
backend=biber,% motore
]{biblatex}% bibliografia
\bibliography{bibliografia}% database bibliografico personale (da inserire nella cartella principale con il file .tex)\begin{document}
\frontmatter
\pagenumbering{smallRoman}% numarazione pagine frontmatter in romano maiuscolo piccolo
Abbiamo sfruttato l'opera \cite{Pinco:prova}
\printbibliography
\end{document}`e qui il contenuto del mio file
(che ovviamente non centra nulla col problema ma lo riporto comunque) `% !TEX encoding = UTF-8 Unicode
@unpublished{Pinco:prova,
Author = {Pinco, Pallino},
Title = {Prova}}
`
Il problema è lo stesso che in Problema backref di biblatex e philosophy-modern
Nell’esempio uso [tt]filecontents*[/tt] per la bibliografia. Usa il nome del tuo file in [tt]\addbibresource[/tt] (da preferire a [tt]\bibliography[/tt], attento a mettere anche l’estensione [tt].bib[/tt]):
`
\begin{filecontents*}{\jobname.bib}
@unpublished{Pinco:prova,
Author = {Pinco, Pallino},
Title = {Prova}}
\end{filecontents*}
\documentclass{scrbook}% classe Book KOMA-script
\usepackage[T1]{fontenc}% Codifica caratteri di stampa (lettere accentate, ecc)
\usepackage[utf8]{inputenc}% Codifica caratteri in ingresso (del file .tex)
\usepackage[italian]{babel}% Sillabazione locale
\usepackage{classicthesis}% stile ClassicThesis
\usepackage{csquotes}% citazioni (necessario a biblatex)
\usepackage[
backref,
]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter% numerazione romana maiuscola piccola (va in conflitto con mparhack)
\renewcommand{\frontmatter}{%
\cleardoublepage\@mainmatterfalse
\pagenumbering{smallRoman}}
\DeclareRobustCommand{\@smrc}[1]{%
\begingroup\check@mathfonts\fontsize{\sf@size}{\sf@size}%
\selectfont#1\endgroup}
\def\smallRoman#1{\expandafter\@smallRoman\csname c@#1\endcsname}
\def\@smallRoman#1{\@smrc{%
\expandafter\@slowromansmallcap\romannumeral #1@}}
\def\@slowromansmallcap#1{\ifx @#1% then terminate
\else
\if i#1I\else
\if v#1V\else
\if x#1X\else
\if l#1L\else
\if c#1C\else
\if d#1D\else
\if m#1M\else
#1\fi\fi\fi\fi\fi\fi\fi
\expandafter\@slowromansmallcap
\fi}
\pdfstringdefDisableCommands{\let\@smrc\@iden}
\let\original@abx@aux@backref\abx@aux@backref
\def\abx@aux@backref#1#2#3#4#5{%
\begingroup\let\@smrc\@firstofone
\edef\x{\endgroup
\noexpand\original@abx@aux@backref{#1}{#2}{#3}{#4}{#5}}\x}
\makeatother
\begin{document}
\frontmatter
\pagenumbering{smallRoman}% numarazione pagine frontmatter in romano maiuscolo piccolo
Abbiamo sfruttato l'opera \cite{Pinco:prova}
\printbibliography
\end{document}
`
Nella “back reference” avrai il numero romano maiuscolo, però. Su quello non so che farci. Il rimedio più semplice è non usare affatto numeri romani.
Ciao
Enrico