![Biblatex/同一作者的参考文献列表](https://linux22.com/image/467886/Biblatex%2F%E5%90%8C%E4%B8%80%E4%BD%9C%E8%80%85%E7%9A%84%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E5%88%97%E8%A1%A8.png)
正如预期的那样,biblatex 会在列表中第一个参考文献之后用破折号替换作者姓名。但是,如果列表中的第二个参考文献位于新页面中,它会重复该姓名。我无法在 MWE 中重现这种情况,很抱歉,但它确实发生在我的参考书目中。有没有办法在分页符后强制使用破折号?
\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
这里应该没有异常行为。当您的设置pagetracker=true,
处于活动状态时,它会在单面模式下分别跟踪所有页面,并在双面模式下一起跟踪双页(跨页),这要归功于该类book
。这意味着如果条目从左页顶部开始,您将不会得到破折号,但您会在右页顶部得到一个破折号(因为它在同一个跨页上)。
如果您不想biblatex
考虑此处的页面,请从相关宏中删除测试。
\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}