为什么 biber-biblatex 不能与 memoir 一起使用?

为什么 biber-biblatex 不能与 memoir 一起使用?

为什么 biber-biblatex 不能与 memoir 一起使用?这似乎是一个长期存在的问题,但我还没有找到任何可靠的解决方案。在这个 mwe 中,我得到了错误(我总结了一下),例如未定义的引用和引文、找不到 .bib 文件、biber 未找到 bib 文件、无法解析 1 个引文。[biber 1.9、biblatex 2.9a、memoir 3.7b、macOS X]

有几份参考资料建议您删除终端中的 biber par-cache,位于:

$ biber——缓存

我已多次这样做了,但仍然没有效果。

顺便说一句,我已经使用标准文章和书籍类运行了 biber-biblatex。大多数情况下,文件都会编译。当我遇到错误时,删除缓存通常有效。但 memoir 并非如此。我已将 .bib 文件放在与主文件相同的目录中,并放在指定的目录中 - 例如 /Users/username/Library/texmf/bibtex/bib/bibfile.bib(我的偏好)。用户应该注意哪些注意事项、最佳实践、秘密、提示才能在 memoir 中实现此功能?

\begin{filecontents}{sbk.bib}
@book{knu86,
    Address = {New York},
    Author = {Donald E. Knuth },
    Publisher = {Addison-Wesley},
    Title = {The TeXbook},
    Year = {1986}}
\end{filecontents}

\documentclass[openany]{memoir}  
\usepackage[%
    backend=biber,
    %style=authoryear,
    %citestyle=authoryear,
]{biblatex}
\addbibresource{sbk.bib}
%\addbibresource{/Users/username/Library/texmf/bibtex/bib/sbk.bib}

\begin{document}

The TeX reference \cite{knu86}
%The TeX reference \parencite{knu86}

%\nocite{*}
\printbibliography

\end{document}

答案1

Andrew Swann 和 moewe 在使用 memoir 和 biber/biblatex 时注意到了以下一种或多种情况。因此,这是为了收集他们的评论或其他人的评论,并结束这个问题。没有迹象表明这个问题仅限于 memoir。

(1)“缓存删除是一个(令人讨厌的)无关问题”。目前看来,我们所有人都必须继续忍受它。

(2)documentclass 通常不会影响你的 biblatex 体验

(3)删除缓存并重新运行文件似乎已经上升到了方法的层面(根据众多用户的证据和建议来判断)。

(4)检查 .blg 文件,看是否有有用的信息

(5)你可以从一个干净的目录开始,只保留 main.tex 和 bibfile.bib,以提高编译成功的机会。(图形文件、.sty 文件和其他文件可能不算在内)

(6) .bib 文件可能以某种不易检测到的方式损坏。我注意到 BibDesk 在其文件中插入了几行。可能还有其他行。

Date-Added = {2015-03-13 01:03:59 +0000},
Date-Modified = {2015-03-13 01:05:31 +0000},

这些线条可能会给 BibDesk 用户带来麻烦。手动删除它们似乎对我的情况有帮助。

(7)如果文件中隐藏着虚假字符,通过 BBEdit 的“Zap Gremlins”等实用程序运行您的 BibDesk 或其他 .bib 文件可能会有所帮助。

在这里,我重复一下其他用户之前说过的关于查找和删除缓存的内容。他们来这里只是为了补充帖子评论。

要在终端中找到缓存,请运行

biber --cache   

可以说一举删除缓存

rm -rf `biber --cache` 

相关内容