我正在尝试使用 biblatex 的 biber 后端,但作者姓名总是混乱的。
\usepackage[backend=biber,style=numeric]{biblatex}
作为测试,我尝试引用我放入 .bib 文件中的以下文章:
@article{einstein,
author = "Albert Einstein",
title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
journal = "Annalen der Physik",
volume = "322",
number = "10",
pages = "891--921",
year = "1905",
DOI = "http://dx.doi.org/10.1002/andp.19053221004",
keywords = "physics"
}
生成的参考部分的结果条目显示作者为“_i_iA.E.”
[3] 伊阿。 E.“关于身体电气变化的问题。 (德语)[论运动物体的电动力学]”。出处:Annalen der Physik 322.10 (1905),第 891-921 页。网址:http://dx.頁面。組織/10。 1002 / 和页。 19053221004。
我书目中的所有条目都同样混乱。如果我将后端从 biber 更改为 bibtex,作者将正确显示:
[3] 爱因斯坦. “由于电力传动装置的运转。 (德语)[论运动物体的电动力学]”。出处:Annalen der Physik 322.10 (1905),第 891-921 页。 doi:http://dx.doi.org/10.1002/andp。 19053221004。
有人能告诉我问题出在哪里吗?
编辑:
看起来问题出在 underscore 包上;没有它,参考书目看起来没问题。此示例应生成混乱的作者姓名:
\documentclass[10pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{underscore}
\usepackage{filecontents}
\usepackage[backend=biber,sorting=none,style=numeric,citestyle=numeric,bibstyle=numeric]{biblatex}
\addbibresource{example.bib}
\begin{filecontents}{example.bib}
@Article{einstein,
Author = "A Einstein",
Title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
Journal = "Annalen der Physik",
Volume = "322",
Number = "10",
Pages = "891--921",
Year = "1905",
DOI = "http://dx.doi.org/10.1002/andp.19053221004",
keywords = "physics"
}
\end{filecontents}
\begin{document}
Testing biber~\cite{einstein}.
\printbibliography
\end{document}
example.blg 的内容:
[0] Config.pm:340> INFO - This is Biber 2.4
[0] Config.pm:343> INFO - Logfile is 'example.blg'
[54] biber:287> INFO - === Wed Aug 17, 2016, 16:52:51
[141] Biber.pm:348> INFO - Reading 'example.bcf'
[281] Biber.pm:742> INFO - Found 1 citekeys in bib section 0
[287] Biber.pm:3151> INFO - Processing section 0
[319] Biber.pm:3308> INFO - Looking for bibtex format file 'example.bib' for section 0
[322] bibtex.pm:1113> INFO - Decoding LaTeX character macros into UTF-8
[325] bibtex.pm:974> INFO - Found BibTeX data source 'example.bib'
[353] UCollate.pm:65> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable'
[353] UCollate.pm:65> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized'
[354] Biber.pm:3028> INFO - Sorting list 'none/global' of type 'entry' with scheme 'none' and locale 'en-US'
[354] Biber.pm:3032> INFO - No sort tailoring available for locale 'en-US'
[355] bbl.pm:519> INFO - Writing 'example.bbl' with encoding 'UTF-8'
[361] bbl.pm:615> INFO - Output to example.bbl
答案1
您还会收到一些错误:
! Missing \endcsname inserted.
<to be read again>
\unhbox
l.31 \end
{document}
?
! Extra \endcsname.
\KV@split ...csname \KV@prefix \@tempa \endcsname
\ifx \@tempc \relax \KV@er...
l.31 \end
{document}
?
! Missing \endcsname inserted.
<to be read again>
\unhbox
l.31 \end
{document}
?
! Extra \endcsname.
\KV@split ...csname \KV@prefix \@tempa \endcsname
\ifx \@tempc \relax \KV@er...
l.31 \end
{document}
而此类错误不应该被忽视。
您仍然可以使用underscore
,但您需要更改活动的含义,_
以便它在使用时不会中断\csname...\endcsname
:
\begin{filecontents}{\jobname.bib}
@Article{einstein,
Author = "A Einstein",
Title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
Journal = "Annalen der Physik",
Volume = "322",
Number = "10",
Pages = "891--921",
Year = "1905",
DOI = "http://dx.doi.org/10.1002/andp.19053221004",
keywords = "physics"
}
\end{filecontents}
\documentclass[10pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{underscore}
\AtBeginDocument{%
\begingroup\lccode`~=`_\lowercase{\endgroup
\let\usunderscore~%
\protected\def~{%
\ifincsname\string_\else\expandafter\usunderscore\fi
}}%
}
\usepackage[backend=biber,sorting=none,style=numeric,citestyle=numeric,bibstyle=numeric]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
A_A
Testing biber~\cite{einstein}.
\printbibliography
\end{document}