我正在使用 MikTeX (4.8),在上次更新后,我收到一些与“__text_expand_loop:w has an extra }”相关的奇怪错误消息,我花了一段时间才找到问题的可能根源,它似乎与两个包有关(就我而言):babel 和 biblatex
‘生成’错误消息的命令是 \MakeUppercase(如果我使用 babel 包)和 \cite \fullcite(如果我使用带有 abnt 样式的 biblatex 包)。
\documentclass{article}
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
%%using the two packages bellow it won't compile
\RequirePackage{babel}
\RequirePackage[backend=biber,style=abnt,pretty,giveninits,extrayear,repeatfields]{biblatex}
%% if, instead, the babel package isn't loaded and biblatex is used as below, it will work
%%\RequirePackage[backend=biber]{biblatex}
\addbibresource{modeloTCC.bib}
\begin{document}
\MakeUppercase{aâãàá b}
\cite{ABNT:NBR-14724-2011}
\fullcite{ABNT:NBR-14724-2011}
\end{document}
文件 modeloTCC.bib
@manual{ABNT:NBR-14724-2011,
title="{NBR}-14724: Informação e Documentação - Trabalhos Acadêmicos - Apresentação",
author="ABNT",
organization="ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS",
address="Rio de Janeiro",
year="2011",
pages="6"
}
我收到的错误消息类型是:
! Argument of \__text_expand_loop:w has an extra }.
<inserted text>
\par
l.14 \MakeUppercase
{aâãàá b}
和/或
! Argument of \__text_expand_loop:w has an extra }.
<inserted text>
\par
l.17 \cite{ABNT:NBR-14724-2011}
我不确定这是否真的是 babel/biblatex 错误,或者与 latex3 或(也许)MiKTeX 特定相关。
欢迎任何帮助/想法!
答案1
miktex 也未能更新 firstaid 包。此包包含对 babel 的修复,并关闭了其对 的重新定义\MakeUppercase
。
在 miktex 中纠正这个问题之前,你可以在加载 babel 之前定义一个命令来关闭 hack:
\def\BabelCaseHack{}
\RequirePackage{babel}