Xelatex、Biblatex:biber.exe 无法正常工作(IPC::Run)错误

Xelatex、Biblatex:biber.exe 无法正常工作(IPC::Run)错误

我在我的 tex 文档中使用 biber.exe 和 biblatex 以及以下序言

\documentclass[fontsize =10pt, BCOR=0mm, DIV=default]{scrartcl} 
 \usepackage{fontspec} 
\usepackage{xunicode} 
\usepackage{xltxtra} 
\usepackage{polyglossia} 
\usepackage{graphicx} % support the \includegraphics command and options 
\setmainlanguage{english} 
\usepackage{csquotes} 
\usepackage[bibstyle= nature, citestyle=numeric-comp, sorting=none, backend = biber]{biblatex}%this style compresses the numbering 

\usepackage{setspace} %setting interline spacing 
\onehalfspacing 
\KOMAoptions{DIV=last} 
\bibliography{c} %sets the .bib database \begin{document} \section{Results} 

\section{This is a section}
\subsection{This is a subsection} 
\emph{this is emphasized} This is a reference 
\cite{Beaumont2004} 
\end{document} 

从那天起,我就遇到了很多 biber.exe 问题。这些问题是在使用我的 MikTex 安装的自动更新方法更新许多软件包后开始出现的。无论我尝试哪个 bib 文件或 tex 文件,biber.exe 都无法正常工作。错误看起来与我曾经使用旧版本的 biber.exe 时类似(这是我在 .bcf 文件上手动执行 biber.exe 时得到的错误)

G:\Hierarchische clustering manuscript>biber.exe TESTC.bcf 
Could not find or check module 'IPC::Run' [THIS MAY BE A PROBLEM!] at IPC/Cmd.pm line 125 Already tried to use 'IO::Select', which was unsuccessful [THIS MAY BE A PROBLEM !] at IPC/Cmd.pm line 154 INFO - Logfile is 'TESTC.blg' INFO - Found 'TESTC.bcf' INFO - Reading TESTC.bcf INFO - Found 1 citekeys in bib section 0 INFO - Processing bib section 0 INFO - Found 'c.bib' INFO - Processing bibtex format file 'c.bib' for section 0 INFO - Decoding LaTeX character macros into UTF-8 c.bib.utf8, line 4, warning: 36 characters of junk seen at toplevel 

        Unicode::Collate: Can't locate Unicode\Collate\allkeys.txt in @INC (@INC contain s: F:\temp\par-homantg\cache-fa06d357fc5a676eeabf7d32fcd743b55bd08598\inc\lib F: \temp\par-homantg\cache-fa06d357fc5a676eeabf7d32fcd743b55bd08598\inc CODE(0x1262 454) CODE(0x1262754)) 
at Biber.pm line 1412 

这是乳胶日志文件的输出(截断)

LaTeX Warning: Citation 'Beaumont2004' on page 1 undefined on input line 104.

[1] ("G:\Hierarchische clustering manuscript\TESTD.aux")

LaTeX Warning: There were undefined references.


Package biblatex Warning: Please (re)run Biber on the file:
(biblatex)                TESTD
(biblatex)                and rerun LaTeX afterwards.

我希望有位用户或开发人员能更详细地介绍此错误。这是否与我的机器有关,是否与我的 .bib 文件有关(编码方式错误?再次参阅我之前关于 biber.exe 的问题)或其他什么。?

我正在使用最新版本的 biber.exe(从 sourceforge 手动下载)和 biblatex 1.0

最小最小工作示例

\documentclass[11pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\title{clustering analysis}
\author{Tim Homan}
\date{oktober 2010} % 
    \usepackage[backend = biber]{biblatex} 
    \bibliography{testlibrary} %sets the .bib database
    \begin{document}
\section{Results}
text
\subsection{This is a subsection}
This is a reference \cite{Beaumont2004}
\end{document}

图书馆下载

我用于测试的库可以在这里下载(rar 以保存编码):

在这里下载

答案1

(我是一名 biber 开发者)

如果您使用的是二进制文件,biber 应该不可能找不到 Unicode::Collat​​e,因为它包含在 biber 中。“-f”标志使用 perl 的内置排序,该排序可识别区域设置,但完全依赖于您的操作系统区域设置(对于许多操作系统而言,这通常不是最佳的)。有关更多详细信息,请参阅 sourceforge 上的 biber PDF 手册。

您是否在任何地方安装了旧的 biber 二进制前 perl?在我看来就是这样的。我会对您的驱动器进行全面扫描以查找 biber 安装。

答案2

我从这里下载了当前的 biber http://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/current/binaries/Windows/biber.zip/download

并尝试了您的 bib 和示例文档,并且效果良好。

I:\Z-Test\testlibrary>biber -v
biber version: 0.6

I:\Z-Test\testlibrary>biber test-utf8
INFO - Logfile is 'test-utf8.blg'
INFO - Found 'test-utf8.bcf'
INFO - Reading test-utf8.bcf
INFO - Found 1 citekeys in bib section 0
INFO - Processing bib section 0
INFO - Found 'testlibrary.bib'
INFO - Processing bibtex format file 'testlibrary.bib' for section 0
INFO - Decoding LaTeX character macros into UTF-8
INFO - Sorting entries with Unicode::Collate (level => 3, upper_before_lower =
1, locale => English_United States.1252, UCA version: 5.2.0)
INFO - No sort tailoring available for locale 'English_United States.1252'
INFO - Writing 'test-utf8.bbl' with encoding 'UTF-8'
INFO - Output to test-utf8.bbl

我在一个空文件夹中安装了 biber.exe、您的示例和 bib 文件。为了保险起见,我还使用空的 PATH 变量进行了测试,这样像 perl 这样的外部资源就不会干扰。您在哪里安装了 biber.exe?

答案3

解决方案

Unicode::Collate显然,当 biber 尝试使用进行排序但无法找到/使​​用它时,就会发生错误

而是使用基于语言区域设置(或其他)的 Perls 内置排序算法。不知道这一切到底意味着什么,但以下设置有效。

Biber -f xxx.bcf

相关内容