我的书目数据库包含某些项目的预设简写。但是,有时我必须使用数字引用样式,而预设的简写最终会覆盖数字标签。有没有办法在不修改书目数据库的情况下避免这种情况?
答案1
如果不想使用sourcemap
定义,可以shorthand
使用以下方法将(或其他字段) 的值置为无效:\DeclareFieldInputHandler
这里字段的值是从.bbl
文件中读取的(因此在它被生成之后biber
)
\DeclareFieldInputHandler{shorthand}{\def\NewValue{}}
答案2
如果你只是想摆脱shorthand
以确保标签只是一个普通的数字标签,你可以使用
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=shorthand, null]
}
}
}
这确保shorthand
在标签生成之前 Biber 会忽略。(\AtEveryCitekey
此处方法无效。)
平均能量损失
\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=shorthand, null]
}
}
}
\begin{document}
\cite{kant:kpv}
\printbibliography
\end{document}