![从 EndNote 导出时如何格式化 bibtex 键](https://linux22.com/image/279352/%E4%BB%8E%20EndNote%20%E5%AF%BC%E5%87%BA%E6%97%B6%E5%A6%82%E4%BD%95%E6%A0%BC%E5%BC%8F%E5%8C%96%20bibtex%20%E9%94%AE.png)
我从 EndNote 导出了引文,但它们不起作用。这是为什么?
@article{Fox, TA-1991-97,
author = {Fox, TA},
title = {Wake characteristics of two circular cylinders arranged perpendicular to each other},
journal = {Journal of fluids engineering},
volume = {113},
number = {1},
pages = {45-50},
ISSN = {0098-2202},
year = {1991},
type = {Journal Article}
}
答案1
从其他书目管理器导出引文时,您需要能够生成合法的引用密钥bibtex
。如果您可以指定密钥格式,那么最好只包含字母和数字以及一些其他字符。
不允许使用以下字符:
““@',\#}{~%
并且您也不应该使用&^$
(下划线_
字符也会导致问题。)
答案2
如果你有很多参考资料,或者只是讨厌做重复性的手工劳动,贾布雷夫对于从 EndNote 到 BibTeX 的正确格式化非常有帮助。
如果你还没有,你需要 Endnote 到 BibTeX 样式(可用这里)。只需下载该文件并双击即可安装(它应该使用 EndNote 打开)。然后在要导出的库中,转到File > Export
,然后选择Text Only
。BibTeX Export
这将保存一个.txt
文件。
获得该 .txt 文件后,打开 JabRef,转到File > Import into new database
,然后选择从 EndNote 导出的文件。这会将您的图书馆加载到 JabRef 中。
然后,如果您转到 ,JabRef 可以自动为您的所有条目创建引文键Tools > Autogenerate BibTeX keys
。默认格式为 Lastnameyear ( Smith2013
),但可以在Options > Preferences > BibTex key generator
),但可以通过使用术语更改键模式这里。例如,您可以smith13
通过将图案更改为 ,使按键显示为[auth:lower][shortyear]
。
一旦您获得了喜欢的数据,请将其保存为.bib
可以在编译文档时根据需要引用的文件。
不幸的是,特殊字符往往不能很好地从 EndNote 导出为文本格式,如果您从事化学等标题中含有大量特殊字符的领域,这可能会成为一个问题。您很可能需要手动检查特殊字符的错误,并将其格式化为纯文本或 LaTeX 可识别的内容。此外,如果您需要特殊的大写例外(同样,在化学中氧化态和化学式很常见),则{}
需要在文本周围添加以指示BibTeX
保留该文本的大写。不建议在整个标题周围放置括号,因为这可能会导致大写不一致。
参见此维基教科书入口有关 LaTeX 书目及其实施的一般说明。
注意,还有其他有用的书目管理器,BibTeX
但我发现 JabRef 可以很好地导入 EndNote 格式不佳的导出文件(不像比比桌无法导入我导出的库),自动密钥生成非常有用。其他一些可能的软件选择列在 wikibooks 条目中这里
答案3
这个简短的 awk 命令按数字顺序为已导出为没有唯一标签的 BibTex 的尾注文件分配唯一的 Bibtex 标签。
awk 'BEGIN{c=1}{if($1~/^@/){c++}; gsub("{", "{REF:"c",", $1)}' Endnote.bib > EndnoteCorrect.bib
答案4
上面的 awk 脚本对我(MacOS)不起作用。我做了如下修改:
awk 'BEGIN{c=1}{if($1~/^@/){c++; gsub("{", "{REF:"c",", $1)};print}' Endnote.bib > EndnoteCorrect.bib