Biblatex-chicago 编译错误(粗体字符)

Biblatex-chicago 编译错误(粗体字符)

我正在尝试在 Windows 计算机上通过 TeXstudio 使用 bibtex-chicago 正确编译依赖于外部 .bib 文件的文本。我得到的是粗体书目标签而不是参考文献。例如,我得到banfield1967道德作为输出。

梅威瑟:

\documentclass[12pt]{article}\usepackage[]{graphicx}
\usepackage[american]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[authordate, backend=biber, bibencoding=utf8, natbib, isbn=false,safeinputenc]{biblatex-chicago}

\bibliography{BIBLIO}

\begin{document}

\cite{banfield1967moral}
\printbibliography
\newpage

\end{document}

BIBLIO.bib:

@article{banfield1967moral,
title={The moral basis of a backward society},
author={Banfield, Edward C.},
year={1967},
publisher={Free Press}
}

和 TEX_FILE.tex 位于同一文件夹中。默认参考书目工具是 Biber 和

为了编译,我调用 txs:///latex | txs:///biber | txs:///latex | txs:///latex。

.blg文件是不是创建。

.log文件建议无法创建.bbl 文件,并发现以下其他错误:

("C:\Users\...\MiKTeX 2.9\tex\latex\biblatex\blx-dm.def" File: blx-dm.def 2018/03/04 v3.11 biblatex localization (PK/MW))
Package biblatex Info: Trying to load biblatex style data model...
Package biblatex Info: ... file 'chicago-authordate.dbx' not found.
Package biblatex Info: Trying to load biblatex custom data model...
Package biblatex Info: ... file 'biblatex-dm.cfg' not found.

编译时我进入“消息”部分:

进程已启动:biber.exe“文档”

在 C:\Windows\TEMP\par-4361737469676c696f6e69\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\inc\lib/IPC/Run3.pm 第 128 行使用 unlink0 取消链接文件 C:\Windows\TEMP\bkLU5r9bip 时出错。

进程因错误而退出

在 TeXstudio 上,我使用“Bild and View”(双绿色箭头)进行编译;它按顺序调用 LaTeX、Bieber 和 LaTex。

在此处输入图片描述

答案1

错误消息

Process started: biber.exe "document"

Error unlinking file C:\Windows\TEMP\bkLU5r9bip using unlink0 at
C:\Windows\TEMP\par-4361737469676c696f6e69\
cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\inc\lib/IPC/Run3.pm
line 128.

Process exited with error(s)

(我的换行符)显示了问题的根本原因。

Biber 是一个自解压二进制文件,需要将自身解压到缓存位置才能正常运行。通常,这在第一次运行 Biber 时发生。然后,Biber 在适合临时文件的位置创建缓存并从那里运行。如果删除了缓存,只需重新创建即可。但要正常工作,Biber 需要对缓存位置具有完全的读写访问权限。您可以在第 4 章中阅读更多有关此内容的信息Biber 手册

你可以通过输入以下命令找到缓存的位置

biber --cache

进入你的命令行。

Biber 用于执行打包和解包的底层库(PAR::包装机/ppTMPDIR) 通常根据环境变量、TEMPDIRTEMP来选择临时/缓存文件夹的位置TMP

如注释中所述(使用set TEMPset TMP),您的环境变量设置方式是指示 Biber 将其缓存解压到C:\Windows\TEMP\。但似乎出于安全原因,您的操作系统没有授予 Biber 对此目录的完全读写权限。这意味着 Biber 无法正常工作。

您可以要求您的系统管理员以某种方式将 Biber 列入白名单并授予其对其缓存位置的完全读写权限。如果这不可能,您可以尝试告诉 Biber 写入您具有完全读写权限的其他位置。为此,您需要设置环境变量的值PAR_GLOBAL_TEMP

  1. 找到您具有完全读写权限的目录(用户目录中的目录似乎是一个不错的选择C:\Users\<User>\...)。
  2. 现在设置PAR_GLOBAL_TEMP为指向该目录。打开命令行并输入

    set PAR_GLOBAL_TEMP=<your-writeable-directory>
    
  3. 运行 Biber 并让它自行解压到新目录

    biber --version
    

    等待该过程完成,可能需要一段时间。

  4. 验证缓存的位置

    biber --cache
    

    输出应显示您传递给的目录中的文件夹名称PAR_GLOBAL_TEMP

  5. 如果可能的话,请清理旧的 Biber 缓存C:\Windows\TEMP。当然,这只有当您对这些文件有写权限时才有效。

相关的讨论可以在https://github.com/plk/biber/issues/70

相关内容