我在一个文件中保存了 30 年的 bibtex,里面还有一些其他的注释。Bibtex 不介意,但 biblatex 介意。此外,某些出版商(Nature、APA、MIT)不提供 bibtex,但提供 dois 或 ris。我查看了 bibdesk 和 zotero,但他们也对我的文件感到很失望,因为 bibtex 可以很好地处理这些文件。我希望某件事或某件事能解决这些问题,这太疯狂了吗?
- 仅解析文件的可解析部分,然后支持 biblatex
- 从 .ris 或 dois 或其他什么文件中提取内容,然后将其整齐地放在我的 ascii 文件的末尾,并且不尝试整理其他所有内容(更不用说更改我的标签了)?
显然,只要能做到以上任何一点,那就太好了。
答案1
我将从 BibDesk 应该做什么的角度来回答这个问题,因为它在原始问题中被特别提到。
example.bib
以下是我将用于此演示的文件内容:
@comment{Here is a comment}
As far as BibTeX is concerned, this is also a comment.
article{test1,
title = "This is missing the opening token, so will be a comment",
year = 2014,
author = "Weiser, Bud",
journal = "Irreproducible Results"
}
@article{test2,
title = "This is a legitimate entry",
year = 2014,
author = "Weiser, Bud",
journal = "Irreproducible Results"
}
@article{,
title = "This is a broken entry",
year = 2014,
author = "Loon, Some",
journal = "Irreproducible Results"
}
@article{test3,
title = {This is another legitimate entry},
year = {2014},
month = sep,
author = {Ann Author},
journal = {Irr. Res. J.}
}
语法问题
如果我在 BibDesk 中打开此文件,它会弹出一个包含三个选项的警报。
- 編輯文件
- 继续前进
- 放弃
編輯文件
如果您选择“编辑文件”,它将打开一个文本编辑器,其中包含您的文件内容(未显示;在图中,我使用的是 TextMate)。双击警告和错误列表中的一行将带您到有问题的行,您可以在其中进行编辑,然后重试。
继续前进
如果您选择“继续”,它将继续处理下一个错误,或者以通常的方式打开文件(您将看到一个引用列表)。这基本上会忽略语法错误(如果可能)。我不记得是否全部错误可以忽略。
放弃
最后一个选项是不言自明的。在这里,您可以自行在文本编辑器中解决问题。
编码问题
编码问题与语法问题无关,但经常混淆。要设置要使用的特定编码,请从 BibDesk 的文件菜单中选择“打开文件…”,然后设置适当的编码。如果您不知道它是什么,选择 ASCII 是安全的,因为如果遇到非 ASCII 字符,您将收到错误。它不会尝试猜测编码!如果您无论如何都要打开该文件并冒着数据损坏的风险,请使用无间隙编码(例如 Mac OS Roman)或常见的 Windows 编码之一。
RIS
RIS 数据应被视为注释/垃圾,除非它包含字符@
;在这种情况下,您将看到难以辨认的错误,并且行号可能没有那么有用。但一般来说,将 RIS 数据与 BibTeX 混合是一个非常糟糕的主意,即使bibtex
允许这样做。
危险
按照原始发件人要求执行的程序显然会丢失数据,大多数负责任的程序员都会尽力避免这种情况。语法错误导致失败是一种特征,并且可以防止您丢失那些费力输入、难以找到的数据!