当我引用一本书后的文章时,我遇到了一个问题,似乎 idemtracker 不适用于 article 或 inbook 等文档类。
例如:biblioessai.tex:
\documentclass[a4paper,12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[style=verbose-trad2,citestyle=verbose-trad2,backend=biber,uniquename=false,citepages=suppress]{biblatex}
\usepackage{csquotes}
\usepackage[french]{babel}
\addbibresource{essai.bib}
\begin{document}
\cite{article1}
\cite{article2}
\cite{book}
\end{document}
essai.bib:
@article{article1,
author = "My Author",
journal = "A Journal",
title = "Titletitle",
date = "2005",
pages = "49-62",
volume = "12",
number = "1-2"
}
@book{book,
address = "Address",
author = "My Author",
origyear = "1994",
pagetotal = "349",
publisher = "A publisher",
title = "An other title",
year = "2004"
}
@article{article2,
author = "My Author",
journal = "A Journal",
title = "An other article",
date = "2008",
pages = "51-63",
volume = "1",
number = "15"
}
编译后我有:
我的作者。标题title. Dans : A Journal 12.1-2 (2005)
我的作者。另一篇文章. Dans : A Journal 1.15(2008)
我的作者。另一个标题. 地址:A出版社,2004年
我想要的是:
我的作者。标题title。 Dans:A Journal 12.1-2 (2005)
同上。另一篇文章。 Dans:A Journal 1.15 (2008)
同上。另一个标题. 地址:A出版社,2004年
有什么想法吗?谢谢
答案1
这里的“问题”是verbose-trad2
如果第一次看到引用,则总是打印完整的引用。在那之后 idem
/ibidem
等都可以。
cite
请参阅bibmacro 的定义verbose-trad2.cbx
。
因此如果你在代码中重复
\cite{article1}
\cite{article2}
\cite{book}
就会idem
出现。
编辑:由于您也需要
idem
显示完整引用,因此最好修改作者宏本身:
将以下几行添加到你的序言中:
\usepackage{xpatch}
\xpatchbibmacro{author}{\printnames{author}}{\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}%
{\usebibmacro{cite:idem}}{\printnames{author}}}{}{}
这将交换\printnames{author}
来自authortitle.bbx
(由 verbose-trad2 使用)的命令,并测试它是否是,idem
并使用适当的宏。
我不知道这是否是最好的解决方案,但对于您的 MWE 来说,它是有效的。也许您还必须交换editor
宏和其他宏。