俄语语言粗体字体与 newxtext 的问题

俄语语言粗体字体与 newxtext 的问题

我正在用英语写一篇文章,其中有几页是俄语的。

\documentclass[12pt]{article} 
\usepackage[T1,T2A]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[russian,english]{babel} 
\usepackage{newtxmath}
\usepackage{newtxtext}
\begin{document} 
hello \textbf{hello} 
\selectlanguage{russian} привет \textbf{привет} 
\end{document}

输出:

你好你好預告 預告

\selectlanguage{}在需要时用它来切换语言。

但是,我注意到,当我尝试\textbf{}在俄语模式下使用时,由于 newtxttext(我将其用于数学公式),它不起作用。

有谁知道如何解决这个问题?

谢谢。

答案1

您会收到两个警告:

LaTeX Font Warning: Font shape `T2A/ntxtlf/m/n' undefined
(Font)              using `T2A/cmr/m/n' instead on input line 12.

LaTeX Font Warning: Font shape `T2A/ntxtlf/bx/n' undefined
(Font)              using `T2A/ntxtlf/m/n' instead on input line 12.

因为newtxtext不支持西里尔文。因此,标准字体系列被替换(第一个警告),但第二个替换指向相同的字体,因为 LaTeX 对ntxtlfT2A 编码一无所知。

解决方案:用 Times 字体系列替代,但支持西里尔字母。

\documentclass[12pt]{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
%\usepackage{newtxtext}
\usepackage{tempora} % this supports Cyrillic
\usepackage{newtxmath}


\begin{document}

English: hello \textbf{hello}

Russian: \foreignlanguage{russian}{привет \textbf{привет}}

\end{document}

请注意,无论如何,newtxmath 必须在文本的字体包之后加载,无论是tempora还是newtxtext

在此处输入图片描述

newtxtext但是,只要您将 Tempora 设置为西里尔文,您就可以使用。

\documentclass[12pt]{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage{newtxtext}
\usepackage{newtxmath}
\usepackage{substitutefont}

\substitutefont{T2A}{\rmdefault}{Tempora-TLF}


\begin{document}

English: hello \textbf{hello}

Russian: \foreignlanguage{russian}{привет \textbf{привет}}

\end{document}

相关内容