\DeclareDatamodelEntryfields:使 biber 不起作用

\DeclareDatamodelEntryfields:使 biber 不起作用

这就是我的问题的补充biblatex、hashname 和 biber 中的数据模型,但由于问题比较大,我又提出了一个新问题。

如果任何根想要合并,都没有问题。

我想声明新的条目类型和新字段。我有两个解决方案: - 用于\DeclareSourceMap将条目字段(在 bib 中)映射到另一个输出字段(用于\printfield{} - 使用新的数据映射模型,以允许在我的输出文件中有新字段。

由于某些原因,我更喜欢使用第二种方式。所以我阅读了 biblatex 手册。

我创建了一个manuscripts.dbx文件,内容如下

\DeclareDatamodelEntrytypes{manuscript}
\DeclareDatamodelFields{datation}
\DeclareDatamodelEntryfields{datation}

如果我正确阅读了手册,它足以允许在我的文件中拥有datation字段。.bbl

我的.bib文件包含此内容

@manuscript{P1470,
    Library={BNF},
    Address={Paris},
    Datation={\textsc{viii}\textsuperscript{e} s.}
}

我的主文件包含以下内容

\documentclass{article}
\usepackage{fontspec}
\usepackage[datamodel=manuscripts,bibstyle=verbose,citestyle=verbose]{biblatex}
\bibliography{titi.bib}
\begin{document}
\nocite{*}
s
\printbibliography
\end{document}

当我运行 xelatex -> 没有问题

当我运行 biber -> bbl 输出文件是空的。

如果我注释\DeclareDatamodelEntryfields{datation}->bbl输出文件不为空,但该字段datation未添加到bbl输出文件中。

如果我注释Datation={\textsc{viii}\textsuperscript{e} s.}->->bbl输出文件不为空,但该字段datation未添加到bbl输出文件中。

我在 Os X 上,使用 Biber 1.8

II 使用 latemk 运行,latexmk 说“'biber example' 命令给出返回代码 6400”

答案1

当您用 定义新字段时,\DeclareDatamodelField您必须指定typedatatype。根据您的情况,您需要。

\DeclareDatamodelFields[type=field,datatype=literal]{datation}

手册biblatex没有指定是否需要这样的选项。

相关内容