
今天更新我的 TeXLive 2020 發行版後,biblatex-chicago 已停止為我工作。
以下MWE:
\documentclass{article}
\usepackage[authordate]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{test2020,
title = {Test title},
author = {Author},
date = {2020},
publisher = {test},
location = {test},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{test2020}
\printbibliography
\end{document}
產生這個錯誤:
Runaway argument?
{
! Paragraph ended before \blx@defformat@i was complete.
<to be read again>
\par
l.2523 \DeclareFieldFormat{annotation}{\par
\nobreak \vskip \bibitemsep #1}
我認為罪魁禍首一定是在這些包之一中,但我無法檢測到是哪一個:
[ 5/24, 00:31/15:37] update: biber.x86_64-darwin [27659k] (53064 -> 56144) ... done
[ 6/24, 02:37/05:09] update: biber [1165k] (53064 -> 56144) ... done
[ 7/24, 02:42/05:07] update: biblatex [7408k] (53063 -> 56143) ... done
[ 8/24, 02:54/04:26] update: biblatex-ext [617k] (56081 -> 56150) ... done
[ 9/24, 02:57/04:26] update: biblatex-jura2 [367k] (53243 -> 56133) ... done
我在 Mac 和 Linux 機器上遇到了這個問題(自今天的更新以來)。 (我還沒有更新另一台仍然可以正常編譯這個 MWE 的 Linux 機器。)
有任何想法嗎?
答案1
更新
biblatex
修正了此錯誤的 v3.15a 於 2020 年 8 月 23 日發布,並56165
在同一晚發佈到 CTAN 並進入 TeX live(您至少需要修訂版)。
如果您仍然遇到此錯誤,請更新您的系統。
這是 3.15 中的一個錯誤biblatex
(在https://github.com/plk/biblatex/issues/1037並被引入https://github.com/plk/biblatex/commit/089ce33f1e3cbde9433fda6e8ab4c82e96018b80其中先前隱式的參數變得顯式且簡短,因為所討論的巨集使用了\def
and not \long\def
)。
我將看看最好的解決方案。同時,這裡有一個臨時且快速的解決方法。解決方法使用新的檔案載入掛鉤(因此該功能會派上用場)。您需要為您加載的每個使用長字段格式的文件.bbx
添加掛鉤代碼。.cbx
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\makeatletter
\csdef{blx@filehook@[email protected]}{%
\def\blx@defformat@i##1##2##3[##4]##5{%
\notblank{##3}
{\blx@resetformat{##2}{##5}}
{}%
\def\blx@defformat@a{##2}%
\def\blx@defformat@b{##4}%
\blx@xsanitizeafter{\def\blx@defformat@c}{##5}%
\afterassignment\blx@defformat@ii
##1}}
\makeatother
\usepackage{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}