Biblatex:在指定条件下用自定义条目类型替换标题

Biblatex:在指定条件下用自定义条目类型替换标题

我使用biblatex+ Biber 来记录我的论文参考书目,但我的主要参考数据库是 EndNote。我有超过 1400 个条目,所以我不会更改它!这不是一个大问题,因为我可以从 EndNote 导出到.bib适当格式的文件中。

我已经设法解决了诸如 Unicode 字符和希腊字母之类的问题,但仍有一些东西需要调整(例如期刊文章标题中的上标和下标)。这类问题相对较少,所以我想做的是使用 EndNote 中的自定义字段(我们称之为latextitle)来放置经过 LaTeX 调整的期刊文章标题版本(例如\textsuperscript) 。所以最后我得出了我的问题:如果字段不为空\textsubscript,有什么方法可以biblatex替换latextitle字段?titlelatextitle

我知道这是一个相当“地方性”的问题,所以我已经做好了被批评的充分准备!

答案1

显然,最好有一个格式正确的.bib文件,即biblatexBiber 可以顺利处理的文件。但在某些情况下,这实际上是不可能的(甚至不是理想的)。

使用 Biber 可以很容易地即时修改源文件。

在您的情况下,您建议有一个latextitle用于 LaTeX/ 使用的字段biblatex和“正常”title字段,可以使用以下直接映射

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
      \step[fieldsource=latextitle, final]
      \step[fieldset=title, origfieldval]
    }
  }
}

它将现有的映射latextitletitle覆盖后者,如果latextitle不存在则不执行任何操作。

平均能量损失

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage[backend=biber]{biblatex}

\begin{filecontents*}{\jobname.bib}
@article{test,
  author = {Arnold Uthor},
  title  = {Uhh. LaTeX won't like \this},
  latextitle = {But we're fine here},
  journal = {Journal of Confusing TeX},
  date    = {2014-10-10},
}
\end{filecontents*}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
      \step[fieldsource=latextitle, final]
      \step[fieldset=title, origfieldval]
    }
  }
}

\nocite{test,wilde} 

\begin{document}
\printbibliography 
\end{document}

在此处输入图片描述

相关内容