2

I am using verbose-trad1 in biblatex, with some modifications required by the publisher. Everything worked fine (my example notes 6, 7, 9), except for two things.

The program prints the postnote part with loc. cit. or ibid., which it should not do: how to eliminate this? In my example, it happens for notes 3/5 (with loc. cit) and 8/9 (with Ibid.).

I have entries in the bib file with the same author and title, but different dates (and it matters). The op. cit. system correctly recognizes when it is the same or not, but as it writes only the author and the title, it is confusing. In my example, it happens with note 10 (which refers to the volume 3, not 2). Is there a mean to tell verbose which abbreviated title should be written, for instance, or to add something to the title if two references have the same author and title?

I have looked at some other articles here on verbose, but could not find a solution.

Here is a MWE:

\documentclass[a4paper,11pt,twoside,openright]{book}
\usepackage[body={110mm, 185mm}, headheight=20pt]{geometry} 
\usepackage[french]{babel}   
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}   
\usepackage[ibidpage=true,autopunct=false, style=verbose-trad1,backend=bibtex]{biblatex} 

\DeclareCiteCommand{\smartcite}[\iffootnote\textnormal\mkbibfootnote]
 {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

 \let\cite=\smartcite

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{lucas1883vol2,
  title={R{\'e}cr{\'e}ations math{\'e}matiques},
volume={2},
author={Lucas, {\'E}douard},
 year={1883},
  publisher={Gauthier-Villars},
  address={Paris}}

@book{lucas1893vol3,
  title={R{\'e}cr{\'e}ations math{\'e}matiques},
  volume={3},
  author={Lucas, {\'E}douard},
  year={1893},
  publisher={Gauthier-Villars},
  address={Paris}}

@book{montucla1798,
title={Histoire des mathématiques},
  volume={1},
  author={Montucla, Jean-Étienne},
  year={1798},
  publisher={Agasse},
  address={Paris}}

@inproceedings{zermelo1913,
  title={{\"U}ber eine Anwendung der Mengenlehre auf die Theorie des Schachspiels},
  author={Zermelo, Ernst},
  booktitle={Proceedings of the  Fifth International Congress of Mathematicians},
  volume={2},
  pages={501--504},
  year={1913},
  publisher={Cambridge University Press}, 
  address={Cambridge}}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Blabla remplissage\cite{lucas1893vol3}.  Tempore quo primis auspiciis in mundanum fulgorem surgeret             victura dum erunt homines Roma, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat summitatem\cite{lucas1893vol3}. Tempore quo primis  auspiciis\cite[partie I,  p. 3]{montucla1798}  in mundanum  fulgorem \footnote{\cite{zermelo1913}. Lundanum fulgorem surgeret.}. Tempore quo primis auspiciis\cite[partie I, p. 3]{montucla1798} in mundanum fulgorem surgeret victura dum erunt homines Roma, ut augeretur sublimibus incrementis. FilerFiller Filling\cite[p. 129]{lucas1893vol3}.


Tempore quo primis auspiciis in mundanum fulgorem surgeret victura dum erunt homines Roma\cite[p. 130]{lucas1893vol3}, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat\cite[p. 90]{lucas1883vol2}. Filler filler Filler \cite[p. 90]{lucas1883vol2}. Tempore quo primis auspiciis in mundanum fulgorem surgeret victura dum erunt homines Roma, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat summitatem\cite[p. 129]{lucas1893vol3}.
\end{document}

And the result

Text with footnotes

  • Make your definition of \smartcite read \newrobustcmd{\mkbibnoop}[1]{#1} \DeclareCiteCommand{\smartcite}[\iffootnote\mkbibnoop\mkbibfootnote] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite}} {\multicitedelim} {\usebibmacro{cite:postnote}} (modulo line breaks - if you copy and paste from here, sometimes invisible characters sneak in, if something fails, re-type manually). You need to use cite:postnote, not postnote for full functionality with this style. – moewe Sep 11 '16 at 6:16
  • Thank you very much, moewe, it works perfectly for the first problem ! Does anybody have an idea for the second problem (the confusion when verbose writes only author+title and this is ambiguous). Thanks a lot. CG – Catherine Sep 11 '16 at 7:09
  • Do the volumes have separate titles like "Volume 1: Blah Blah"? Then you could move R{\'e}cr{\'e}ations math{\'e}matiques to maintitle and Blah Blah to title. – moewe Sep 11 '16 at 7:18
  • No, unfortunately only a common title. I have tried to add a maintitle and a title (with the volume in it) in different ways, but verbose seems to take either always the maintitle or is confused for the ibid/Loc cit thing. I can add what I need by hand in a few cases, but I would like to understand how to do it generally. For instance indeed by adding another type of entry (but not maintitle/title apparently) in the ref, which will be chosen for the ibid/op). – Catherine Sep 11 '16 at 7:26
  • The problem is you can't really know beforehand if adding the volume or year field is going to be enough. Anyhow, have a look at my answer, I have added one solution that always adds the volume field it is present and one that uses biblatex 3.5's new \ifuniquework to print the year if it is needed. – moewe Sep 11 '16 at 7:34
1

For your first problem you could use

\newrobustcmd{\mkbibnoop}[1]{#1}
\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibnoop\mkbibfootnote]
 {\usebibmacro{prenote}}
 {\usebibmacro{citeindex}%
 \usebibmacro{cite}}
 {\multicitedelim}
 {\usebibmacro{cite:postnote}}

In verbose-trad1 the cite commands use the cite:postnote macro and not plain postnote.

For your second problem we could just add

\renewbibmacro*{cite:title}{%
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
    \setunit{\addcomma\space}%
    \printfield{volume}}}

which also prints the volume in short citations.

If you use Biber instead of BibTeX (backend=biber instead of backend=bibtex; plus Biblatex with Biber: Configuring my editor to avoid undefined citations) and the just released version 3.5 of biblatex there is the test \ifuniquework which tests if an author+title combination is unique. The test needs to be enabled with the uniquework option. Here we also print the date if name and title are not enough

\renewbibmacro*{cite:title}{%
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
    \ifuniquework
      {}
      {\setunit{\addcomma\space}%
       \printfield{year}}}}

MWE for the second suggestion

\documentclass[french]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}   
\usepackage{babel}   
\usepackage{csquotes}   
\usepackage[ibidpage=true,autopunct=false, style=verbose-trad1,backend=biber,uniquework]{biblatex} 

\newrobustcmd{\mkbibnoop}[1]{#1}
\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibnoop\mkbibfootnote]
 {\usebibmacro{prenote}}
 {\usebibmacro{citeindex}%
 \usebibmacro{cite}}
 {\multicitedelim}
 {\usebibmacro{cite:postnote}}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{lucas1883vol2,
  title={R{\'e}cr{\'e}ations math{\'e}matiques},
  volume={2},
  author={Lucas, {\'E}douard},
  year={1883},
  publisher={Gauthier-Villars},
  address={Paris}}

@book{lucas1893vol3,
  title={R{\'e}cr{\'e}ations math{\'e}matiques},
  volume={3},
  author={Lucas, {\'E}douard},
  year={1893},
  publisher={Gauthier-Villars},
  address={Paris}}

@book{montucla1798,
  title={Histoire des mathématiques},
  volume={1},
  author={Montucla, Jean-Étienne},
  year={1798},
  publisher={Agasse},
  address={Paris}}

@inproceedings{zermelo1913,
  title={{\"U}ber eine Anwendung der Mengenlehre auf die Theorie des Schachspiels},
  author={Zermelo, Ernst},
  booktitle={Proceedings of the  Fifth International Congress of Mathematicians},
  volume={2},
  pages={501--504},
  year={1913},
  publisher={Cambridge University Press}, 
  address={Cambridge}}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\renewbibmacro*{cite:title}{%
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
    \ifuniquework
      {}
      {\setunit{\addcomma\space}%
       \printfield{year}}}}

\begin{document}
Blabla remplissage\smartcite{lucas1893vol3}.  Tempore quo primis auspiciis in mundanum fulgorem surgeret             victura dum erunt homines Roma, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat summitatem\smartcite{lucas1893vol3}. Tempore quo primis  auspiciis\smartcite[partie I, \pno~3]{montucla1798}  in mundanum  fulgorem \footnote{\smartcite{zermelo1913}. Lundanum fulgorem surgeret.}. Tempore quo primis auspiciis\smartcite[partie I, \pno~3]{montucla1798} in mundanum fulgorem surgeret victura dum erunt homines Roma, ut augeretur sublimibus incrementis. FilerFiller Filling\smartcite[129]{lucas1893vol3}.

Tempore quo primis auspiciis in mundanum fulgorem surgeret victura dum erunt homines Roma\smartcite[130]{lucas1893vol3}, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat\smartcite[90]{lucas1883vol2}. Filler filler Filler \smartcite[90]{lucas1883vol2}. Tempore quo primis auspiciis in mundanum fulgorem surgeret victura dum erunt homines Roma, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat summitatem\smartcite[129]{lucas1893vol3}.

Lorem\smartcite{knuth:ct:a} ipsum\smartcite{knuth:ct:b} dolor\smartcite{knuth:ct:c} sit\smartcite{knuth:ct:a} amet\smartcite{knuth:ct:b}.
\end{document}

example output

Note how you don't have to write p. before page numbers, biblatex does that for you automatically. \smartcite[129]{lucas1893vol3} is enough, you can use \pno~ to force the page prefix if you don't have a fully numeric postnote: \smartcite[partie I, \pno~3]{montucla1798} (use \ppno for plural pages, i.e. ranges).

  • Wonderful ! I am not free to change to biber und unicode just now, but you have certainly solved my problem in general. (Sorry for the p. thing, it comes from another issue, I should have erased them in the MWE). Thank you very much for your help ! – Catherine Sep 11 '16 at 8:24
  • @Catherine You should certainly think about using Biber, especially for non-English texts it is a great improvement. Normally the transition should be very smooth (and you don't have to use UTF-8 with Biber, if you only use ASCII you're also fine.) In newer versions BibTeX is only supported as "legacy backend". (Now I'm intrigued what other issue the "p."s come from.) – moewe Sep 11 '16 at 8:27
  • The issue with p. is not technical, but diplomatic :) I had to convince some people (not familiar with LaTeX) to use it in this project and thus minimize the choices and macros. Here I copied some references in the MWE, but erased some parts of the references while forgetting to erase the "p." (sorry !). I have also to deal with a French non-scientific publisher which means certain twists (for instance, we had to forget \dots and use three points instead ...). But I am convinced about biber etc. Next project ! In any case, thank you again, you have been tremendously helpful. – Catherine Sep 11 '16 at 8:48
  • @Catherine Aha. I'd have thought though that the fact that TeX adds the "p." automatically would be seen as a plus rather than a negative, but who knows... – moewe Sep 11 '16 at 9:58
  • I thought that it was easier to tell "put every complement inside the brackets as you want it to appear" than "put every complement etc except the page numbers, for them put only the numbers, not p." Especially in this verbose style where you may have to write "in this case, p. x" into the brackets. But I may be wrong :) In any case, I shoud have cleaned the MWE. Again, thanks a lot. – Catherine Sep 11 '16 at 10:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.