biber 混淆作者姓名

biber 混淆作者姓名

我正在尝试使用 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}

在此处输入图片描述

相关内容