我在用着2019 年美国国际纺织展览会作为我的 LaTeX 环境。除了这个之外,一切似乎都正常工作。出于某种原因,底部的最小示例给出了以下错误:
main.tex:23: Undefined control sequence.
\lbx@us@mkdaterangetrunc@short ...}}}}}\endngroup
如果我将选项更改为或以外alldates
的其他选项,错误就会消失。terse
long
short
我该如何让该terse
选项起作用,因为这是我想要使用的格式?我在这里做错了什么吗?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage{filecontents}
\begin{filecontents*}{ref.bib}
@online{foo,
title={Foo},
url={https://example.com},
}
\end{filecontents*}
\usepackage[backend=biber, alldates=terse]{biblatex}
\addbibresource{ref.bib}
\begin{document}
\section{Introduction}
Introduction \cite{foo}.
\printbibliography
\end{document}
答案1
该问题是由 3.13 中解决的一个错误引起的
biblatex
。请更新您的 TeX 发行版以获取当前版本的
biblatex
Biber。
这是一个令人尴尬的拼写错误,将 改为english.lbx
。此问题已在版本中修复(\endngroup
\endgroup
dev
biblatex
https://github.com/plk/biblatex/commit/c33c966736762a6158830512f65f5a54c745952b),此修复已包含在biblatex
v3.13 中。
暂时,您可以修补相关的宏(请注意,您必须在 中\AtBeginDocument
或之后执行此操作\begin{document}
,因为补丁必须在english.lbx
加载之后进行)。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, alldates=terse]{biblatex}
\addbibresource{biblatex-examples.bib}
\makeatletter
\AtBeginDocument{%
\patchcmd{\lbx@us@mkdaterangetrunc@short}
{\endngroup}
{\endgroup}
{}{}%
}
\makeatother
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}