你好。
之后我更新了 MikTeX 数据库,每当我使用 ABNT 风格的 biblatex 编译任何 latex 代码时,都会发生以下错误:
Undefined control sequence. \xpretobibmacro{textcite} after updating MikTeX database.
我可以使用 TeXStudio 作为命令行进行编译,但这个错误总是重复出现。我打算放一个 MWE 进行分析和测试。
我提前感谢你的帮助。
\documentclass{report}
\usepackage[style=abnt,ittitles]{biblatex}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{bbding}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{TELFORD1990,
author = {William Murray Telford and Lloyd Philip Geldart and Robert Edward Sheriff},
title = {Applied geophysics},
edition = {2},
address = {Cambridge},
publisher = {Cambridge University Press},
year = {1990}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\begin{table}[ht]
\caption{Estilo \texttt{abnt}}
\vspace{1em}
\begin{tabular}{lll}
\toprule
COMANDO & SAÍDA ATUAL & SUGERIDA \\ \midrule
\verb+\cite{TELFORD1990}+ & \cite{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\cite*{TELFORD1990}+ & \cite*{TELFORD1990} & --- \\ \midrule
\verb+\citetitle{TELFORD1990}+ & \citetitle{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citetitle*{TELFORD1990}+ & \citetitle*{TELFORD1990} & Applied geophysics\\ \midrule
\verb+\citeyear{TELFORD1990}+ & \citeyear{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citeyear*{TELFORD1990}+ & \citeyear*{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citeauthor{TELFORD1990}+ & \citeauthor{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citeauthor*{TELFORD1990}+& \citeauthor*{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\textcite{TELFORD1990}+ & \textcite{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\textcite*{TELFORD1990}+ & \textcite*{TELFORD1990} & Telford, Geldart e Sheriff \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
您的 版本xpatch
已过时:您有xpatch 2012/10/02 v0.3
,但是 MikTeX 中的当前版本是xpatch 2020/03/25 v0.3a
。
您的系统上 xpatch
已安装在 MikTeX 管理树中。因此,在管理模式下的 MikTeX 控制台中运行包更新就足够了。如果这没有帮助,请删除包(如果可能)并通过 MikTeX 控制台重新安装(再次在管理模式下)。