Biblatex 与 pdflatex 配合使用效果很好,但使用 Xelatex 编译时,重音符号突然消失。
梅威瑟:
\documentclass{article}
\usepackage[
backend=biber,
style=alphabetic,
citestyle=authoryear
]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{temp.bib}
@article{Beck_Johnson_2013,
title ={The Effect of Temperature on \textit{{Anopheles}} Mosquito Population},
author ={Bj{\' o}rnstad, Ottar N.},
year ={2013},
journaltitle ={PLOS ONE}
}
\end{filecontents*}
\addbibresource{temp.bib}
\begin{document}
\cite{Beck_Johnson_2013}
\printbibliography
\end{document}
答案1
Xe(La)TeX 使用 Computer Modern 作为默认字体。Computer Modern 不包含真正的重音字符,而是可以通过宏由多个字符组成。
因此,您会注意到,\'o
直接在文档中使用会产生“ó”,但书写ó
不会产生效果。默认情况下,Biber 会将这些宏转换为其对应的 Unicode 字符,并将其发送到文件。因此,即使您在文件中书写.bbl
,我们实际上请求的ó
也是 而不是文档中的。\'o
\'o
.bib
您可以通过使用--output-safechars
命令行选项进行编译,使 Biber 输出组合宏而不是 Unicode 字符。
然而,我主张采取不同的方法。如果你加载fontspec
\usepackage{fontspec}
默认字体设置为 Latin Modern,它本身包含大量重音字符。因此我们可以继续ó
在文档中使用,它将出现在最终的 PDF 中。
平均能量损失
\documentclass{article}
\usepackage{fontspec}
\usepackage[
backend=biber,
style=alphabetic,
citestyle=authoryear
]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{Beck_Johnson_2013,
title ={The Effect of Temperature on \textit{{Anopheles}} Mosquito Population},
author ={Bj{\'o}rnstad, Ottar N.},
year ={2013},
journaltitle ={PLOS ONE}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\cite{Beck_Johnson_2013}
\printbibliography
\end{document}