проблема biblatex-chicago после обновления

проблема biblatex-chicago после обновления

После обновления моего дистрибутива TeXLive 2020 сегодня у меня перестал работать biblatex-chicago.

Следующие МВЭ:

\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-машине. (Я не обновлял другую Linux-машину, на которой MWE все еще нормально компилируется.)

Есть идеи?

решение1

Обновлять

biblatex56165Версия 3.15a с исправлением этой ошибки была выпущена 23 августа 2020 г. и в ту же ночь попала в CTAN и TeX live (вам нужна как минимум редакция ).

Обновите систему, если эта ошибка все еще наблюдается.


Это ошибка в biblatexверсии 3.15 (она отслеживается наhttps://github.com/plk/biblatex/issues/1037и был представлен вhttps://github.com/plk/biblatex/commit/089ce33f1e3cbde9433fda6e8ab4c82e96018b80где аргумент, который ранее подразумевался, был сделан явным и коротким только потому, что рассматриваемый макрос использует , \defа не \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}

Связанный контент