0

As expected, biblatex substitutes a dash to the name of the author after the first reference in a list. But it repeats the name if the, say, second reference of the list falls in a new page. I cannot reproduce this in a MWE, sorry, but it happens in my bibliography. Any way to force the dash even after a page break?

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{gordon2004,
  title = {Continental divide: {{Ernst Cassirer}} and {{Martin Heidegger}} at {{Davos}}, 1929 -- an allegory of intellectual history},
  author = {Gordon, Peter E.},
  date = {2004},
  journaltitle = {Modern Intellectual History},
  shortjournal = {Modern Intellectual History},
  volume = {1},
  number = {2},
  pages = {219--248},
  publisher = {{Cambridge University Press}},
  issn = {1479-2451}
}
@article{gordon2005,
  title = {Myth and modernity: {{Cassirer}}'s critique of {{Heidegger}}},
  author = {Gordon, Peter E.},
  date = {2005},
  journaltitle = {New German Critique},
  number = {94},
  pages = {127--168}
}
\end{filecontents}

\documentclass{book}
\usepackage[style=philosophy-verbose, maxbibnames=2, minbibnames=1, maxsortnames=2, scauthorsbib=false, doi=false, isbn=false,url=false,eprint=false, citepages=suppress]{biblatex}
\bibliography{Mybib.bib}
\begin{document}
\cite{gordon2004} e \cite{gordon2005}.
\printbibliography
\end{document}
1
  • In fact I realize the substitution sometimes happens even across pages but it is erratic...
    – Haim
    Aug 10, 2023 at 7:09

1 Answer 1

0

There should be no erratic behaviour here. With your setting pagetracker=true, is active, which tracks all pages separately in onesided mode and tracks double pages (spreads) together in twosided mode (which is active in the MWE thanks to the book class). That means that you get no dash if the entry starts at the top of a left page, but you do get a dash at the top of a right page (because it is on the same spread).

If you don't want biblatex to take into account pages here, remove the test from the relevant macro.

\documentclass[british]{book}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[
  style=philosophy-verbose,
  maxbibnames=2, minbibnames=1, maxsortnames=2,
  scauthorsbib=false,
  doi=false, isbn=false, url=false, eprint=false,
  citepages=suppress,
]{biblatex}

\addbibresource{biblatex-examples.bib}

\defbibnote{filler}{A\\B\\C\\D\\E\\F}

\makeatletter
\renewbibmacro*{bbx:dashcheck}[2]{%
  \ifboolexpr{
    test {\iffieldequals{fullhash}{\bbx@lasthash}}
    and
    (
       not bool {bbx@inset}
       or
       test {\iffieldequalstr{entrysetcount}{1}}
    )
  }
    {#1}
    {#2}}
\makeatother

\begin{document}
\nocite{*}

\printbibliography[prenote=filler]
\end{document}

Dash on top of page.

1
  • It works but you point me to a reasonable approach of repeating the name if the second citation is on an odd page, considering the first citation is not under the eyes of the reader... Thanks!
    – Haim
    Aug 13, 2023 at 21:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .