biber 和 ~ 提供不正确的输出

biber 和 ~ 提供不正确的输出

和往常一样,我~在参考书目中使用缩写时会使用 。令我惊讶的是,当我使用 时,biber它会重复缩写的首字母。不过,如果我将其更改为backend=bibtex,一切都会按预期进行。

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{biblio.bib}
@inproceedings{Batista:2014b,
  title={Power Prediction prior to Scheduling Combined with Equal Power Allocation for the {OFDMA} {UL}},
  author={Rodrigo L.~Batista and Carlos F.~M.~e~Silva and Jos\'{e} M.~B.~da~Silva~Jr.\@ and Tarcisio F.~Maciel and Francisco R.~P.~Cavalcanti},
    booktitle={European Wireless},
  year=2014,
  address={Barcelona, Spain},
  month=may,
}
\end{filecontents*}

\usepackage[%
    backend=biber,
    %backend=bibtex,
    style=ieee,
    ]{biblatex}

\addbibresource{biblio.bib}

\begin{document}
\cite{Batista:2014b}
\printbibliography
\end{document}

在上面的 MWE 中,它给出

RLL Batista、CFMFM e Silva、JMBMB da Silva Jr.、TFF Maciel 和 FRPRP Cavalcanti,《OFDMA UL 调度前的功率预测与均等功率分配相结合》,《欧洲无线》,西班牙巴塞罗那,2014 年 5 月。

但正确的输出应该如下所示,这是通过以下方式实现的backend=bibtex

RL Batista、CFM e Silva、JMB da Silva Jr.、TF Maciel 和 FRP Cavalcanti,《OFDMA UL 调度前的功率预测与均等功率分配相结合》,《欧洲无线》,西班牙巴塞罗那,2014 年 5 月。

问题是:如何biber在不移除的情况下使其正确操作~,或者通过移除,~我在每个中间之后是否会有正确的间距.

答案1

根据我应该如何在 bib 文件中输入作者姓名?给出作者姓名的正确方法是

author = {Rodrigo L. Batista and e Silva, Carlos F. M. and
          da Silva, Jr., Jos\'{e} M. B. and Tarcisio F. Maciel and 
          Francisco R. P. Cavalcanti},

我认为您不应该使用~s 来格式化名称。显然,BibTeX 在分解名称时会忽略它们(这意味着文件的内容.bbl无论是否带有~s 都是相同的),但 Biber 会卡住。

鉴于~在 BibTeX 中没有用处,并且会惊吓 Biber,我会摆脱它们。姓名部分和首字母之间的间距由biblatex§3.12.4 中解释的控制名称部分和名称间距,第 119-121 页,biblatex文档

\bibinitdelim控制首字母之间的间距。

如果你不想删除~文件里的.bib(但你应该这么做!),我们可以使用 Biber 的源映射将它们映射掉

\DeclareSourcemap{
  \maps{
    \map{\step[fieldsource=author, match=\regexp{~}, replace={\ }]}
    \map{\step[fieldsource=editor, match=\regexp{~}, replace={\ }]}
    \map{\step[fieldsource=translator, match=\regexp{~}, replace={\ }]}
  }
}

相关内容