我在 中使用 verbose-trad1 biblatex
,并根据出版商的要求进行了一些修改。除了两件事外,一切都运行良好(我的示例注释了 6、7、9)。
该程序打印附注部分位置同上。或者同上。,它不应该发生这种情况:如何消除这种情况?在我的例子中,它发生在注释 3/5(位置城市)和 8/9(同上。)。
我在 bib 文件中有一些条目,它们的作者和标题相同,但日期不同(这很重要)。同上。同上。系统可以正确识别是否相同,但由于它只写作者和标题,因此很容易混淆。在我的例子中,注释 10 就出现了这种情况(它指的是第 3 卷,而不是第 2 卷)。例如,有没有办法告诉 verbose 应该写哪个缩写标题,或者如果两个参考文献的作者和标题相同,则在标题中添加一些内容?
我查看了此处有关详细的一些其他文章,但未能找到解决方案。
以下是 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}
结果
答案1
对于第一个问题你可以使用
\newrobustcmd{\mkbibnoop}[1]{#1}
\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibnoop\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
在verbose-trad1
cite 命令中使用cite:postnote
宏而不是普通的postnote
。
对于你的第二个问题,我们可以添加
\renewbibmacro*{cite:title}{%
\printtext[bibhyperlink]{%
\printfield[citetitle]{labeltitle}%
\setunit{\addcomma\space}%
\printfield{volume}}}
它还打印了volume
简短的引文。
如果您使用 Biber 而不是 BibTeX(backend=biber
而不是backend=bibtex
; 加上Biblatex 与 Biber:配置我的编辑器以避免未定义的引用) 和刚刚发布的 3.5 版本中,biblatex
有一个测试\ifuniquework
,用于测试作者+标题组合是否唯一。需要使用选项启用该测试uniquework
。如果名称和标题不够,我们还会在这里打印日期
\renewbibmacro*{cite:title}{%
\printtext[bibhyperlink]{%
\printfield[citetitle]{labeltitle}%
\ifuniquework
{}
{\setunit{\addcomma\space}%
\printfield{year}}}}
MWE 的第二条建议
\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}
请注意,您不必p.
在页码前写字,biblatex
它会自动为您完成。\smartcite[129]{lucas1893vol3}
就足够了,\pno~
如果您没有完全数字的后记,您可以使用强制页面前缀:(\smartcite[partie I, \pno~3]{montucla1798}
用于\ppno
复数页面,即范围)。