背景:我使用 BibLaTeX/Biber 来style=authoryear-icomp
生成“(ibid.)”只要有连续相同的引用。但是,在某些时候,我\citetext{foo}
输入的手动引用不是引用键,我不需要将其包含在参考书目中。(例如,这可以是一篇报纸文章,我将其引用为“(纽约时报,2008 年 4 月 23 日)”)。
问题:BibLaTeX 似乎忽略了\citetext{foo}
判断是否存在两个相同的连续引用。例如
\parencite{Smith2001} some text \textcite{New York Times, 23 April 2008}
some text \parencite{Smith2001}
生产
(Smith 20001) some text (New York Times, 23 April 2008) some text (ibid.)
问题:有没有一种简单的方法可以告诉 BibLaTeX 不要生成“ibid.”而是在给定点生成完整引用?这对于禁止在页面的第一个引用中使用“ibid.”的样式手册也很有用。
非常感谢任何提示!
答案1
\citetrackertrue
您可以使用和命令打开或关闭引用跟踪器功能\citetrackerfalse
。第二个选项是使用\mancite
(在出现手动引用的相同上下文中使用);\mancite
还执行用定义的钩子\OnManualCitation
。第三个选项是使用\citereset
(它重置所有后续引用),并且有一个同名的全局选项,以文档细分(例如part
,,,chapter
...)作为其参数。
\documentclass[10pt]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{first,
title = {First Title},
author = {Author, Author},
journal = {Journal title},
pages = {10-11},
year = 2015,
}
@book{second,
title = {Second Title},
author = {Duthor, Duthor},
year = 2015,
}
\end{filecontents}
\usepackage[style=authoryear-icomp]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\autocite{first}
\autocite{second}
\smallskip
\verb|\citetrackerfalse/\citertrackertrue|
\citetrackerfalse
\autocite{second}
\citetrackertrue
\autocite{second}
\smallskip
\verb|\mancite|
\begingroup\mancite
\autocite{second}
\endgroup
\smallskip
\verb|\citereset|
\citereset
\autocite{second}
\printbibliography
\end{document}
biblatex
还提供了一个pagetracker
选项,其可能值为true
、和false
,用于在新页面中重复引用的情况。page
spread