Biblatex 和 newtxttext 一起使用时无法正确产生某些重音

Biblatex 和 newtxttext 一起使用时无法正确产生某些重音

我正在为我的项目使用newtxtextbiblatex后端biber。但我注意到参考书目中缺少一些重音符号(如 Erd\H{o}s)。这是一个带有屏幕截图的极简示例。(使用 XeLaTeX 和 TeXLive 2020 或 2021)

\documentclass{article}
\usepackage{newtxtext}
\usepackage[backend=biber, style=alphabetic, defernumbers=true, hyperref=auto, backref=true, giveninits=true]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
    @article{erdos1983greatest,
        title={The greatest angle among $n$ points in the $d$-dimensional Euclidean space},
        author={Erd\H{o}s, P. and F{\"u}redi, Z.},
        journal={Annals of Discrete Mathematics},
        volume={17},
        pages={275--283},
        year={1983},
        publisher={Citeseer}
    }
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
    Paul Erd\H{o}s published the paper \cite{erdos1983greatest}.
    \printbibliography
\end{document}

在此处输入图片描述

请注意,主体中的重音已正确显示。

我几乎可以肯定这是newtxtext的问题,因为一旦我将其版本从 1.64 升级到 1.70/71(最新版本),问题就消失了。但是,由于其他一些兼容性问题,我不想这样做(新版本破坏了我的其他字体设置,并且我正在pst-xxx使用的一些软件包在 TeXLive 2021 中不起作用)。有没有什么解决方法?

答案1

在您的主文档中,您将字符定义为\H{o}适用于旧版本的newtxtext,但 Biber 用实际的 ő 替换它,而这是一个缺失的字符。

解决方法:用 自己定义角色\newunicodechar

\documentclass{article}
\usepackage{newtxtext}
\usepackage{newunicodechar}
\newunicodechar{ő}{\H{o}}
\usepackage[backend=biber, style=alphabetic, defernumbers=true, hyperref=auto, backref=true, giveninits=true]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
    @article{erdos1983greatest,
        title={The greatest angle among $n$ points in the $d$-dimensional Euclidean space},
        author={Erd\H{o}s, P. and F{\"u}redi, Z.},
        journal={Annals of Discrete Mathematics},
        volume={17},
        pages={275--283},
        year={1983},
        publisher={Citeseer}
    }
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
    Paul Erd\H{o}s published the paper \cite{erdos1983greatest}.

    \printbibliography
\end{document}

在此处输入图片描述

这是四年前的字体包版本:

(/usr/share/texlive/texmf-dist/tex/latex/newtx/newtxtext.sty
Package: newtxtext 2018/03/27 v1.531

`newtxtext' v1.531, 2018/03/27 Text macros taking advantage of TeX-Gyre Termes 
fonts (msharpe)

相关内容