语法问题

语法问题

我在一个文件中保存了 30 年的 bibtex,里面还有一些其他的注释。Bibtex 不介意,但 biblatex 介意。此外,某些出版商(Nature、APA、MIT)不提供 bibtex,但提供 dois 或 ris。我查看了 bibdesk 和 zotero,但他们也对我的文件感到很失望,因为 bibtex 可以很好地处理这些文件。我希望某件事或某件事能解决这些问题,这太疯狂了吗?

  1. 仅解析文件的可解析部分,然后支持 biblatex
  2. 从 .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 中打开此文件,它会弹出一个包含三个选项的警报。

  1. 編輯文件
  2. 继续前进
  3. 放弃

編輯文件

如果您选择“编辑文件”,它将打开一个文本编辑器,其中包含您的文件内容(未显示;在图中,我使用的是 TextMate)。双击警告和错误列表中的一行将带您到有问题的行,您可以在其中进行编辑,然后重试。

继续前进

如果您选择“继续”,它将继续处理下一个错误,或者以通常的方式打开文件(您将看到一个引用列表)。这基本上会忽略语法错误(如果可能)。我不记得是否全部错误可以忽略。

放弃

最后一个选项是不言自明的。在这里,您可以自行在文本编辑器中解决问题。

BibDesk 解析错误对话框

编码问题

编码问题与语法问题无关,但经常混淆。要设置要使用的特定编码,请从 BibDesk 的文件菜单中选择“打开文件…”,然后设置适当的编码。如果您不知道它是什么,选择 ASCII 是安全的,因为如果遇到非 ASCII 字符,您将收到错误。它不会尝试猜测编码!如果您无论如何都要打开该文件并冒着数据损坏的风险,请使用无间隙编码(例如 Mac OS Roman)或常见的 Windows 编码之一。

RIS

RIS 数据应被视为注释/垃圾,除非它包含字符@;在这种情况下,您将看到难以辨认的错误,并且行号可能没有那么有用。但一般来说,将 RIS 数据与 BibTeX 混合是一个非常糟糕的主意,即使bibtex允许这样做。

危险

按照原始发件人要求执行的程序显然会丢失数据,大多数负责任的程序员都会尽力避免这种情况。语法错误导致失败是一种特征,并且可以防止您丢失那些费力输入、难以找到的数据!

相关内容