我正在尝试在 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::包装机/pp
TMPDIR
) 通常根据环境变量、TEMPDIR
和TEMP
来选择临时/缓存文件夹的位置TMP
。
如注释中所述(使用set TEMP
和set TMP
),您的环境变量设置方式是指示 Biber 将其缓存解压到C:\Windows\TEMP\
。但似乎出于安全原因,您的操作系统没有授予 Biber 对此目录的完全读写权限。这意味着 Biber 无法正常工作。
您可以要求您的系统管理员以某种方式将 Biber 列入白名单并授予其对其缓存位置的完全读写权限。如果这不可能,您可以尝试告诉 Biber 写入您具有完全读写权限的其他位置。为此,您需要设置环境变量的值PAR_GLOBAL_TEMP
。
- 找到您具有完全读写权限的目录(用户目录中的目录似乎是一个不错的选择
C:\Users\<User>\...
)。 现在设置
PAR_GLOBAL_TEMP
为指向该目录。打开命令行并输入set PAR_GLOBAL_TEMP=<your-writeable-directory>
运行 Biber 并让它自行解压到新目录
biber --version
等待该过程完成,可能需要一段时间。
验证缓存的位置
biber --cache
输出应显示您传递给的目录中的文件夹名称
PAR_GLOBAL_TEMP
。如果可能的话,请清理旧的 Biber 缓存
C:\Windows\TEMP
。当然,这只有当您对这些文件有写权限时才有效。