[Tex/LaTex] \printbibliography only with \citetitle occurrences

back-referencingbiblatexsortingsubdividing

I want to print two bibliographies:

  • first, a classic bibliography with documents I cited in my text, I always use \footcite{}
  • and a second who references only occurrences \citetitle{}

Actually, I mark my references of pictures, artworks, musical works, performances, art exhibitions, museum exhibitions or architectural works in my text with \citetitle{}. I don't need use \footcite{} for that. I reserved to verbal works: books, articles, podcasts, etc. But I want they be referenced in another final references section, named here "Œuvres & monuments", possibly classifed by type of document.

Classify by type of document is a section named "film" with all my films referenced, another one named "paintings" with all my paintings, "photographies" etc. Types appears in my '.bib' with '@misc' for exemple. (Of course, other problem is the translation from my reference management software : @film becomes @electronic or here @painting -> @misc…)

So, it's between bibliography & index: I have a lot of entries referenced (author, title, date…) like in a bibliography but I want to facilitate indexing like in an index. My solution is using [backref=true]… Well, subsidiary question: is it possible using backref in a bibliography and not in another ?

I resume my questions:

  • \printbibliography with only \citetitle references ?
  • classify my first bibliography by sorting=nyvt & my second by type (@image,@movie…) ?
  • using backref in a bibliography and not in another ?

An idea ? Thank you.

\documentclass{scrbook}
\usepackage[style=authortitle-ticomp,sorting=nyvt,isbn=false,doi=false,backref=true]{biblatex}
\usepackage[english,frenchb]{babel}
\addbibresource{Biblio.bib}

\begin{document}
… some \footnote{MerleauPonty:1985wh}, some \citetitle{Burton:1982td,Leradeaudelamedu:1819wn,Persepolis:2007wt} & some words indexed.

\printbibheading
\printbibliography[heading=subbibliography,title={Bibliographie},backref=false]
\printbibliography[heading=subbibliography,title={Œuvres & monuments},backref=true]
\printindex[nam]
\printindex[loc]

\end{document}

My biblio.bib

@electronic{Burton:1982td,
author = {Burton, Tim},
title = {{Vincent}},
year = {1982},
language = {anglais}}

@book{MerleauPonty:1985wh,
author = {Merleau-Ponty, Maurice and Lefort, Claude},
title = {{L'{\OE}il et l'Esprit}},
publisher = {Gallimard},
year = {1985},
series = {Folio. Essais},
address = {Paris},
language = {fran{\c c}ais}}

@electronic{Persepolis:2007wt,
author = {Satrapi, Marjane and Paronnaud, Vincent},
title = {{Persepolis}},
year = {2007},
language = {fran{\c c}ais}}

@misc{Leradeaudelamedu:1819wn,
title = {{Le radeau de la m{\'e}duse}},
author = {G{\'e}ricault, Th{\'e}odore},
year = {1819},
read = {Yes}}

Best Answer

We can redefine \citetitle to add all entries cited via \citetitle to a bibliography category oeuvres.

\DeclareBibliographyCategory{oeuvres}
\DeclareCiteCommand{\citetitle}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\addtocategory{oeuvres}{\thefield{entrykey}}%
   \ifciteindex
     {\indexfield{indextitle}}%
     {}%
   \printfield[citetitle]{labeltitle}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

The first bibliography can then ignore oeuvres, while the second only includes oeuvres.

\printbibliography[heading=subbibliography,title={Bibliographie},notcategory=oeuvres]
\printbibliography[heading=subbibliography,title={Œuvres \& monuments},category=oeuvres]

To get rid of the page references in the first bibliography, we use

\AtNextBibliography{\renewbibmacro*{pageref}{}}

right before the first \printbibliography. Globally, backref is enabled, but the macro printing the backreferences is temporarily disabled in the first bibliography.

I'm not sure about your sorting requests, but is no problem to specify the sorting in the \printbibliography command:

\printbibliography[sorting=nyt, heading=subbibliography, title={Bibliographie}, notcategory=oeuvres]
\printbibliography[sorting=ynt, heading=subbibliography, title={Œuvres \& monuments}, category=oeuvres]

MWE

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,frenchb]{babel}
\usepackage{csquotes}
\usepackage[style=authortitle-ticomp,isbn=false,doi=false,backref=true,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\DeclareBibliographyCategory{oeuvres}
\DeclareCiteCommand{\citetitle}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\addtocategory{oeuvres}{\thefield{entrykey}}%
   \ifciteindex
     {\indexfield{indextitle}}%
     {}%
   \printfield[citetitle]{labeltitle}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}
some \footcite{cicero,gillies}, some \citetitle{wilde,coleridge} \& some words indexed.

\printbibheading
\AtNextBibliography{\renewbibmacro*{pageref}{}}
\printbibliography[heading=subbibliography,title={Bibliographie},notcategory=oeuvres,sorting=nyt]
\printbibliography[heading=subbibliography,title={Œuvres \& monuments},category=oeuvres,sorting=ynt]
\end{document}

enter image description here


To sort the bibliography by type we need to define a new sorting scheme: tnyvt. Unfortunately,

\sort{
  \field{entrytype}
}

did not work for me, so we use a workaround: The entrytype is parked in the temporary field usera which is used for sorting.

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=usera, origentrytype]
    }
  }
}

\DeclareSortingScheme{tnyvt}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort{
    \field{usera}
  }
  \sort{
    \field{sortname}
    \field{author}
    \field{editor}
    \field{translator}
    \field{sorttitle}
    \field{title}
  }
  \sort{
    \field{sortyear}
    \field{year}
  }
  \sort{
    \field[padside=left,padwidth=4,padchar=0]{volume}
    \literal{0000}
  }
  \sort{
    \field{sorttitle}
    \field{title}
  }
}
Related Question