我正在尝试向 biblatex 添加一个带有新字段的新条目类型。但这些字段未添加到 bbl(因此自然无法在文档中使用)。我可能忽略了一些显而易见的东西,但是什么呢?
\begin{filecontents}{ufbibstyle.dbx}
\DeclareDatamodelEntrytypes{uftype}
\DeclareDatamodelFields[type=field,datatype=literal]{uffieldA,uffieldB}
\DeclareDatamodelEntryfields[uftype]{uffieldA,uffieldB}
\end{filecontents}
\begin{filecontents}{ufdbx.bib}
@uftype{testdbx,
uffieldA={A},
uffieldB={B},
titleaddon = {something},
}
\end{filecontents}
\documentclass{article}
\usepackage[datamodel=ufbibstyle]{biblatex}
\DeclareBibliographyDriver{uftype}{%
\printfield{uffieldA},\printfield{uffieldB}}
\addbibresource{ufdbx.bib}
\begin{document}
\cite{testdbx}
\printbibliography
\end{document}
然后 bbl 只显示 titleaddon 字段:
\refsection{0}
\datalist[entry]{nty/global//global/global}
\entry{testdbx}{uftype}{}
\field{sortinit}{}
\field{sortinithash}{495dc9894017a8b12cafa9c619d10c0c}
\field{titleaddon}{something}
\endentry
\enddatalist
\endrefsection
答案1
显然,字段名称需要小写。据我所知,biblatex
手册中没有提到这一点。我猜应该是(或者biber
应该修改以允许数据模型中不区分大小写的字段名称)。
我在https://github.com/plk/biber/issues/278为了这。
平均能量损失
\RequirePackage{filecontents}
\begin{filecontents}{ufbibstyle.dbx}
\DeclareDatamodelEntrytypes{uftype}
\DeclareDatamodelFields[type=field,datatype=literal]{uffielda,uffieldb}
\DeclareDatamodelEntryfields[uftype]{uffielda,uffieldb}
\end{filecontents}
\begin{filecontents}{ufdbx.bib}
@uftype{testdbx,
uffielda={A},
uffieldb={B},
titleaddon = {something},
}
\end{filecontents}
\documentclass{article}
\usepackage[datamodel=ufbibstyle]{biblatex}
\DeclareBibliographyDriver{uftype}{%
\printfield{uffielda},\printfield{uffieldb}}
\addbibresource{ufdbx.bib}
\begin{document}
\cite{testdbx}
\printbibliography
\end{document}