我需要在 PdfLaTeX 中为整个文档设置俄语西里尔文 Times New Roman 字体。
我的系统: — Windows 10; — TeXStudio; — TeXLive;
我已经尝试过的:
1)我使用 XeLaTeX 安装了俄语西里尔字体 Times New Roman。
%!TEX TS-program = xelatex
\usepackage[english,russian]{babel}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX},Renderer=Basic}
\setmainfont[Ligatures={TeX,Historic}]{Times New Roman}
它对我有用,但在另一个项目中。
2)我为 PdfLaTeX 安装了 Times 字体。
\usepackage{tempora}
但这是 Times 字体,而不是 Times New Roman。
3)我找到了适用于 PdfLaTeX 的 Times New Roman 字体。
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
但它只对我的英文文本有效。俄语文本无效,会产生错误:
Command \cyrp unavailable in encoding T1.
我收到上述错误的代码示例:
\documentclass[14pt, a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{indentfirst}
\frenchspacing
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
%%% Page
\usepackage{extsizes}
\usepackage{geometry}
\geometry{top=20mm, bottom=20mm, left=20mm, right=15mm}
\begin{document}
This is any text in English. Works fine.
Below is written the Russian text, on which I get an error.
Это не работающий русский текст. Выдаёт ошибку при компиляции. 5
\end{document}
更新:如果我使用
\usepackage[english, russian]{babel}
\usepackage{mathptmx}
反而
\usepackage[english]{babel}
\usepackage{mathptmx}
那么我不会收到错误。但我使用的字体不是 Times 或 Times New Roman。
答案1
使用 Tempora,但它基于 (Linotype) Times Roman 而不是 (Monotype) Times New Roman。据我所知,TeX 发行版中没有后者的免费克隆。
\documentclass[a4paper]{article}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{tempora}
\usepackage{indentfirst}
\frenchspacing
%%% Page
\begin{document}
\begin{otherlanguage*}{english}
This is any text in English. Works fine.
\end{otherlanguage*}
Это не работающий русский текст. Выдаёт ошибку при компиляции. 5
\end{document}
如果需要数学,您还可以添加\usepackage{newtxmath}
。
Times New Roman 和 XeLaTeX 也是如此:
\documentclass[a4paper]{article}
\usepackage[english,russian]{babel}
\usepackage{fontspec}
\usepackage{indentfirst}
\setmainfont{Times New Roman}
\frenchspacing
%%% Page
\begin{document}
\begin{otherlanguage*}{english}
This is any text in English. Works fine.
\end{otherlanguage*}
Это не работающий русский текст. Выдаёт ошибку при компиляции. 5
\end{document}