这个问题是如何在没有参考书目条目的情况下进行 \cite?。
我的文件中有一个条目.bib
我想在当前文档中引用,但我不想让它出现在参考书目中。我可以biblatex
通过设置来跳过参考书目中的条目OPTIONS = "skipbib = true"
,但这会使biblatex
我在每次制作的文档中引用此条目时都跳过此条目。我只想在当前文档中跳过它一次。
所以问题是,我可以在当前文档的序言中添加什么内容以便添加OPTIONS = "skipbib = true"
到lennon1970
条目中?
\documentclass{article}
\usepackage[style = authoryear-comp]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{lennon1970,
AUTHOR = "John Lennon",
TITLE = "My life with the Beatles",
YEAR = "1970",
OPTIONS = "skipbib = true"}
@BOOK{lennon1971,
AUTHOR = "John Lennon",
TITLE = "Moving on",
YEAR = "1971"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\citeauthor{lennon1970} published a book called \citetitle{lennon1970} in \citeyear{lennon1970}, cf. \cite{lennon1971} for more details.
\printbibliography
\end{document}
答案1
\DeclareSourcemap
您可以通过对每个特定文档使用来实现相同的结果。只需包括
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldsource=entrykey, match=\regexp{lennon1970}, fieldset=options, fieldvalue={skipbib=true}]
}
}
}
动态加载options="skipbib=true"
所需的 bibtex 条目。