I have used etoolbox to reset the page counter in each non-starred chapter, and I've changed \thepage to print both the chapter number and the page number:
\pretocmd{\@chapter}{\setcounter{page}{1}}{}{}
\renewcommand*{\thepage}{\thechapter-\arabic{page}}
Besides that I'm using biblatex to print partial (in a chapter, if wanted) and global bibliographies (as a chapter* at the end). When a reference is cited in several pages of a chapter and in different chapters the backref option prints quite an ugly result, because of the chosen page numbering format (see MWE). I'd like to:
Make
biblatexgroup the pages into chapters in the backrefs when the[heading=bibliography]option is used to print it.Make
biblatexshow just the list pages (without the chapter number) in the backref, when then[heading=subbibliography]option is used to print it.
In the MWE the backref of [ODO95] we show the following backrefs:
In
page I:[cit. on chapters 1 (pp. 1, 3), 2 (p. 1)]In
page 1-3:[cit. on pp. 1, 3];In
page 2-1:[cit. on p. 1].
When a citation is made out of any chapter, the backref in the global bibliography should show the pages too. Say we uncomment the three lines after \begin{document} in the MWE, the backref in page I would be [cit. on chapters 1 (pp. 1, 3), 2 (p. 1); and page i].
MWE:
\documentclass[a4paper,titlepage,10pt,twoside,openright]{report}
\usepackage[backend=biber,style=ieee-alphabetic,natbib=true,backref=true]{biblatex}
\addbibresource{IEEEfull.bib}
\addbibresource{IEEEexample.bib}
\usepackage{lipsum}
\usepackage{etoolbox}
\makeatletter
\pretocmd{\@chapter}{\setcounter{page}{1}}{}{}
\makeatother
\begin{document}
%\renewcommand*{\thepage}{\roman{page}}
%\cite{IEEEexample:articledualmonths}
%\clearpage
\renewcommand*{\thepage}{\thechapter-\arabic{page}}
\chapter{Introduction}
\begin{refsegment}
\cite{IEEEexample:articledualmonths} \lipsum[1-10] \cite{IEEEexample:articledualmonths}
\printbibliography[segment=\therefsegment,heading=subbibliography]
\end{refsegment}
\chapter{Second chapter}
\begin{refsegment}
\cite{IEEEexample:articledualmonths}
\cite{IEEEexample:IEEEwebsite}
\nocite{IEEEexample:book_typical,IEEEexample:article_typical}
\printbibliography[segment=\therefsegment,heading=subbibliography]
\end{refsegment}
\cleardoublepage
\setcounter{page}{1}
\renewcommand*{\thepage}{\Roman{page}}
\printbibliography[heading=bibliography]
\end{document}
I've read some questions about formatting the backrefs with biblatex [a, b], but they don't target changing the "content" of the list, just the format. However, I took one of those answers as a reference to achieve this format:
\newbibmacro*{pageref}{\iflistundef{pageref}{}
{\finentrypunct\addspace\renewcommand\finentrypunct{}%
\printtext[parens]{%
\ifnumgreater{\value{pageref}}{1}%
{\bibstring{backrefpages}\ppspace}%
{\bibstring{backrefpage}\ppspace}%
\printlist[pageref][-\value{listtotal}]{pageref}}}}
I believe that the content is shown with \printlist[pageref][-\value{listtotal}]{pageref}. I read about it and about \DeclareListFormat in the documentation of biblatex. I feel that I should declare a new list format, but I don't how to do it, neither how the content is fed into pageref or read from it.
I asked another question to know how to show just the backrefs inside a segment when [heading=subbibliography] is used, instead of showing the occurrences in the whole document.
However, if a new \DeclareListFormat has to be described, both answers may be merged.



chapter-pageformat. – umarcor Sep 29 '14 at 20:30(cit. on chapters 1 (pp. 1, 3), 2; and page i). – umarcor Sep 29 '14 at 21:53