我的.bib
文件字段中有许多条目Title
被双括号括起来。这样会保留标题中的小写字母,而我并不需要。我希望我的参考书目样式能够区分大写字母。以下是说明该问题的缩写条目。
@Article{ Widerker2013,
Author = {Widerker, D. and Goetz, S.},
Title = {{Fischer against the dilemma defence: the defence
prevails}}
}
我想要得到的是这样的:
@Article{ Widerker2013,
Author = {Widerker, D. and Goetz, S.},
Title = {Fischer against the dilemma defence: the defence
prevails},
}
我一直在使用 BibTool 的rewrite.rule
命令来尝试修复这个问题。我一直在使用正则表达式来指定所需的输出格式。但它不起作用,我不知道为什么。这是我在文件中使用的命令.rsc
。
rewrite.rule { Title # "^\{\{(.*)\}\}$" # "^\{\1\}$" }
使用此命令运行 BibTool 不会返回错误。但它似乎也什么也没做。该Title
字段完全相同。
我一直在桌面上的目录中运行 BibTool,但我无法想象这就是问题的根源。以下是我在命令行中执行的操作:
./bibtool -r lib/myresource -i old.bib -o new.bib
是什么赋予了?
答案1
您可以使用 Biber 及其工具模式,而不是 bibtool(我从未使用过)。
创建一个名为的文件,stripbraces.conf
内容如下
<?xml version="1.0" encoding="UTF-8"?>
<config>
<output_align>true</output_align>
<output_fieldcase>lower</output_fieldcase>
<sourcemap>
<maps datatype="bibtex" level="user">
<map>
<map_step map_field_source="title" map_match="\A\{(.*)\}\Z" map_replace="$1"/>
</map>
</maps>
</sourcemap>
</config>
与您的文件位于同一目录中.bib
。
然后运行
biber --tool --configfile=stripbraces.conf <yourbibfile>.bib
然后,Biber 将处理该.bib
文件并生成一个名为的文件,<yourbibfile>_bibertool.bib
其中标题字段的括号已被删除。
正则表达式\A\{(.*)\}\Z
在某些情况下可能过于急切,因此可以尝试\A\{([^\}\{]*)\}\Z
在某些情况下不够急切的表达式。