参考书目中的 Caron 重音符导致微打字错误

参考书目中的 Caron 重音符导致微打字错误

当我尝试编译包含带有抑扬符 ( ,即 ǎ ) 的! Argument of \MT@res@a has an extra }.字符的 BibLaTeX 书目时,出现了与微类型相关的错误。\v{a}

这是一个最小的例子(文件microtype.tex):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents}{microtype.bib}
@Article{         ref,
  author        = {Name, \v{a}},
}
\end{filecontents}
\bibliography{microtype.bib}
\begin{document}
\cite{ref}
\printbibliography
\end{document}

编译此文件时如下:

pdflatex microtype
biber microtype
pdflatex microtype

我收到以下错误:

(/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx)
(./microtype.aux) (/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
) (./microtype.bbl)
! Argument of \MT@res@a has an extra }.
<inserted text> 
                \par 
l.16 \end
         {document}
? 

关于如何解决此问题有什么想法吗?提前谢谢您!

如果我运行 ,问题仍然会发生biber --output-safechars microtype。奇怪的是,其他口音不会发生此问题,即,文档使用\'{a}而不是编译成功\v{a}可以正常编译。我遇到的错误也在另一个问题但并没有具体的见解。

答案1

该错误似乎与Biber 2.4、微型字体和特殊字符

解决方法似乎在于修复以下内容的定义\ifempty

\begin{filecontents}{\jobname.bib}
@Article{ref,
  author = {Name, \v{a}},
}
\end{filecontents}

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{biblatex}
\addbibresource{\jobname.bib}

% fix the bad definition of \ifempty 
\makeatletter
\def\ifempty#1{%
  \protected@edef\z{#1}\expandafter\ifblank\expandafter{\z}%
}
\makeatother

\begin{document}

\cite{ref}

\printbibliography

\end{document}

相关内容