biblatex:“警告:输入值超出范围……”

biblatex:“警告:输入值超出范围……”

我在 Mac OS X 10.7.1 上安装了最新版本的 latexmk (4.26)。通过以下方式进行编译时,我经常收到以下消息(基本上,对于文中的所有引用)latexmk -pvc -pdf

Package biblatex Warning: Value out of range
(biblatex)                at entry 'foo' on input 
line bar.

有人见过这种情况并知道哪里出了问题吗? 类似的问题已发布在这里https://groups.google.com/group/comp.text.tex/browse_thread/thread/5a2a0d7ab113a151?hl=de(参见上一篇文章),但尚未得到答复。键“foo”与 .bib 文件中的有效条目相关,并且还找到了 .bib 文件(因此排除了这两个错误来源)。

*编辑:这是一个最小的例子*

% (1) Compile with latexmk minimal.tex
% (2) I had the latest version: Latexmk, John Collins, 9 August 2011. Version 4.26
% (3) My latex distribution is: TeXLive-2011 v. 2.0 (Build 150) installed via the latest MacTeX distribution. 
% (4) I work on Mac OS X 10.7.2
% Note: I used latexmk and biblatex on 10.6 with TeXLive-2010 for quite some time (also with DeclareFieldFormat{labelyear}) without flaws 

\documentclass{scrartcl}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[american]{babel}
\usepackage[
style=authoryear,
uniquename=false,
hyperref=true,
maxnames=2,
date=short
]{biblatex}

\DeclareFieldFormat{labelyear}{\mknumalph{#1}} % => comment this out and it works!

\usepackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{mykey,
author={TeX, L.},
journal={Journal of LaTeX questions},
pages={1--10},
title={{Minimal title}},
volume={1},
number={1},
year={2011}}
\end{filecontents}

\bibliography{mybib}

\begin{document} 
Some text
\par\bigskip
\textcite{mykey}
\par\bigskip
Some more text
\printbibliography 
\end{document}

答案1

比布拉特克斯文件:

\mknumalph{⟨integer⟩}
以 1–702 范围内的整数作为参数,并将其转换为字符串,如下所示:1=a, ... , 26=z, 27=aa, . . . , 702=zz。这旨在用于 extrayear 和 extraalpha 字段的格式化指令。

当您将其应用于年份标签时,就会超出范围。该命令必须应用于extrayearextraalpha字段,以区分同一年出版的不同项目,而不是字段year:您可能不想按字母顺序打印年份。

相关内容