biblatex-chicago 更新後出現問題

biblatex-chicago 更新後出現問題

今天更新我的 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其中先前隱式的參數變得顯式且簡短,因為所討論的巨集使用了\defand 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}

相關內容