I've been happily using the solution found by Paul Stanley to the question I asked last year : https://tex.stackexchange.com/a/172777/50288
However, there's one detail that bothers me, and I can't figure out how to fix it. The citepages
option from verbose-trad2 doesn't seem to have any effet when this case applies. I get :
"in: Holzwege. Op. cit., pp. 75–113, p. 90."
whatever option of citepages
I choose. The ideal solution would suppress the "pp. 75–113".
Working example (sorry, quite long) :
\documentclass{memoir}
\usepackage[T1]{fontenc}
\makeatletter
%% Biblatex %%
\usepackage[style=verbose-trad2,%
strict,%
citepages=suppress,%
related=true,%
backend=biber]%
{biblatex}%
\newbibmacro*{cite:seen:related}{%
{\xifinlistcs{\thefield{crossref}}{blx@bsee@\the\c@refsection}
{}
{\listcsxadd{blx@bsee@\the\c@refsection}{\thefield{crossref}}}}}
\newcommand{\ifrelatedunseen}[2]{%
\xifinlistcs{\thefield{crossref}}{blx@bsee@\the\c@refsection}
{#2}
{#1}}
\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:fullcite}%
\global\togglefalse{cbx:loccit}%
\bibhypertarget{cite\the\value{instcount}}{%
\ifciteseen
{\iffieldundef{shorthand}
{\ifciteibid
{\usebibmacro{cite:ibid}}
{\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
{\usebibmacro{cite:idem}}
{\usebibmacro{cite:name}}%
\usebibmacro{cite:title}}%
\usebibmacro{cite:save}}
{\usebibmacro{cite:shorthand}}}
{\ifboolexpr {
test {\iffieldundef{crossref}}
or not ( test {\ifentrytype{inbook}}
or test {\ifentrytype{incollection}} ) }
{\usebibmacro{cite:full}%
\usebibmacro{cite:save}}
{\ifrelatedunseen
{\usebibmacro{cite:seen:related}%
\usebibmacro{cite:full}%
\usebibmacro{cite:save}}
{\usebibmacro{related:info}}}}}}
\newbibmacro*{related:info}{%
\usedriver{}{inbook:rel}}
\DeclareBibliographyDriver{inbook:rel}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{maintitle+booktitle}%
\newunit%
\bibstring{opcit}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{MH_Holzwege,
keywords = {MH,D},
author = {Martin Heidegger},
title = {Holzwege},
publisher = {Vittorio Klostermann},
address = {Frankfurt a. M.},
year = 2003,
series = {Gesamtausgabe},
number = 5,
edition = {8},
addendum = {\autocap{p}remi\`{e}re publication: 1950},
related = {MH_Kunstwerk,MH_Weltbild},
relatedtype = {bookchapters},
relatedstring = {textes :}}
@InBook{MH_Kunstwerk,
keywords = {MH,D},
author = {Martin Heidegger},
title = {Der Ursprung des Kunstwerkes},
pages = {1--74},
crossref = {MH_Holzwege}
}
@InBook{MH_Weltbild,
keywords = {MH,D},
author = {Martin Heidegger},
title = {Die Zeit des Weltbildes},
pages = {75--113},
crossref = {MH_Holzwege}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\makeatother
\begin{document}
\title{Titre}
\author{A. Teur}
\maketitle
Texte\footcite{MH_Kunstwerk}
Plus\footcite[90]{MH_Weltbild}
\end{document}
In the case of the first citation, the "pp. 1-74" is indeed suppressed.
How to get the citepages
influence back in the second case ?
\renewbibmacro*{chapter+pages}{% \printfield{chapter}% \iffieldundef{pages} {} {\nopunct \printtext[parens]{% \printfield{pages}% }}}
But the ideal would be to have verbose-trad2's citepages functionality here.