目前,各种引用跟踪器都是全局的,无法在条目类型或类别级别进行设置。我想要实现的是,或biblatex's
之类的东西只跟踪某些条目类型或类别。ibidtracker
loccittracker
请考虑以下示例:
\begin{filecontents}{\jobname.bib}
@movie{Abrams.JJ:2015,
Address = {USA},
Author = {Abrams, J.J.},
Subtitle = {Star Wars: Episode VII – Das Erwachen der Macht},
Title = {Star Wars: The Force Awakens},
Year = {2015}}
@incollection{Abramov.N:2006a,
Address = {Jackson},
Author = {Abramov, Naum},
Booktitle = {Andrei Tarkovsky : Interviews},
Editor = {Gianvito, John},
Origdate = {1970},
Pages = {32--37},
Publisher = {University Press of Mississippi},
Series = {Conversations with Filmmakers},
Title = {Dialogue with Andrei Tarkovsky about Science-Fiction on the Screen},
Year = {2006}}
\end{filecontents}
\documentclass[]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[%
style=fiwi
,yearatbeginning
,backend=biber
]{biblatex}
\usepackage{csquotes}
\addbibresource{\jobname.bib}
\begin{document}
\cite[]{Abramov.N:2006a}
\citefilm{Abrams.JJ:2015}
\cite[]{Abramov.N:2006a}
\end{document}
由于在两个 之间有一个条目,因此\cite{Abramov.N:2006a}
我两次都得到了完整的条目。这是正确的行为,但由于中间引用的项目是电影,因此混淆的危险很小。所以我想要的是跟踪器忽略 类型的条目movie
,这样我就可以得到以下输出:
阿布拉莫夫 2006 星球大战:原力觉醒 (2015) ebd。
如果它使事情变得更容易,我也可以接受由类别而不是条目类型组成的解决方案。
不知怎的,我以为我已经运行过一次了,但这显然不是真的。
答案1
禁用某些条目类型的跟踪器相对容易,但我不建议您这样做。首先,您可能会让读者感到困惑,即使您相信他们不会去寻找“星球大战,第 15 页”。其次,通过禁用某些条目类型的跟踪器,您将无法获得 ibid. 等,即使它们是按顺序引用的。但如果您真的想要它,您可以选择:
\AtEveryCitekey{\ifentrytype{movie}{\citetrackerfalse}{}}
完整的 MWE:
\begin{filecontents}{\jobname.bib}
@movie{Abrams.JJ:2015,
Address = {USA},
Author = {Abrams, J.J.},
Subtitle = {Star Wars: Episode VII – Das Erwachen der Macht},
Title = {Star Wars: The Force Awakens},
Year = {2015}}
@incollection{Abramov.N:2006a,
Address = {Jackson},
Author = {Abramov, Naum},
Booktitle = {Andrei Tarkovsky : Interviews},
Editor = {Gianvito, John},
Origdate = {1970},
Pages = {32--37},
Publisher = {University Press of Mississippi},
Series = {Conversations with Filmmakers},
Title = {Dialogue with Andrei Tarkovsky about Science-Fiction on the Screen},
Year = {2006}}
\end{filecontents}
\documentclass[]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[%
style=fiwi
,yearatbeginning
,backend=biber
]{biblatex}
\usepackage{csquotes}
\addbibresource{\jobname.bib}
\AtEveryCitekey{\ifentrytype{movie}{\citetrackerfalse}{}}
\begin{document}
\cite[]{Abramov.N:2006a}
\citefilm{Abrams.JJ:2015}
\citefilm{Abrams.JJ:2015}
\cite[]{Abramov.N:2006a}
\end{document}