例如:“Philos Trans R Soc”应该变成“Philos. Trans. R. Soc.”
答案1
我使用新biber
功能准备了一个解决方案。请先将您的版本更新biber
至 0.9.6。
我准备了这个最小的输入文件:
\documentclass{article}
\usepackage[backend=biber, style=numeric-comp]{biblatex}
\addbibresource{manuell.bib}
\begin{document}
\fullcite{Reynolds:1950p3730}
\end{document}
使用这个manuell.bib
文件
@article{Reynolds:1950p3730,
author = {C. Reynolds and B. Serin and W. Wright and L. Nesbitt},
journal = {Philos Trans R Soc},
title = {Superconductivity of isotopes of mercury},
pages = {487},
volume = {78},
year = {1950}
}
LaTeX、biber、LaTeX 导致:
这是未改变的输出。现在,我们使用biber
正则表达式匹配将期刊名称更改为带句点的新版本。名为的文件biber.conf
具有以下内容:
<map>
<bibtex>
BMAP_OVERWRITE 1
<globalfield journal>
BMAP_MATCH Philos\sTrans\sR\sSoc
BMAP_REPLACE "Philos. Trans. R. Soc."
</globalfield>
</bibtex>
</map>
biber
手册部分对此进行了解释3.1.1 The map option
。请注意正则表达式\s
以匹配空格。将biber.conf
文件放入实际目录后,我们得到 (LaTeX, biber, LaTeX):
这是所需的更改。使用一个正则表达式对所有期刊完全自动执行此操作很可能是不可能的,因为(参见评论@Michael Palmer)如果在每个单词后简单地添加一个句号,CNS Drugs rev
就会变成这样。CNS Drugs. rev.
另请注意,输入文件格式将在 0.9.7 中发生变化,并且新版本发布后必须更新此解决方案。
引用@PLK:
由于 biber 0.9.7 的限制过多,配置文件格式将会改变。
以下是 biber 0.9.8 及以上版本的配置文件格式:
<config>
<sourcemap>
<maps datatype="bibtex" map_overwrite="1">
<map>
<map_step
map_field_source="journal"
map_match="Philos\sTrans\sR\sSoc"
map_replace="Philos. Trans. R. Soc." />
</map>
</maps>
</sourcemap>
</config>