带有 newtx 的西里尔文从可扩展更改为位图

带有 newtx 的西里尔文从可扩展更改为位图

喂食

\documentclass{standalone}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,ngerman]{babel}
\usepackage{newtxtext}
\begin{document}
\foreignlanguage{russian}{%
  \fontencoding{T2A}\selectfont%%% using this line has no effect.
  %\CYRL\cyre\cyro\cyrn\cyri\cyrd\ \CYRV\cyri\cyrt\cyra\cyrl\cyrsftsn\cyre\cyrv\cyri\cyrch\ \CYRK\cyra\cyrn\cyrt\cyro\cyrr\cyro\cyrv\cyri\cyrch%%% or same as
  Леонид Витальевич Канторович%
}
\end{document}

https://texlive.net/run现在,在 2022-08-03,或者从 2022 年 5 月 4 日起在 Debian 稳定版中安装 TeX Live,可获得具有可扩展字体的版本:

可扩展,输出良好

pdflatex而从 Debian 中的当前 TeX Live输入相同的输入会产生一个带有位图字体的版本:

位图,输出不良

显然,第一个(在我看来,可扩展的)输出更可取,而第二个输出的粗糙度有时会以令人不快的方式表现出来。哪个变化导致了这种恶化?为什么要这样做?有没有简单的开关或命令可以让可扩展的俄语/西里尔字体重新出现在 Debian 中(最好不加载额外的软件包)?

我在 Debian 中使用的版本:

  • texlive软件包版本:2021.20211217-1

  • pdfTeX,版本 3.141592653-2.6-1.40.22(TeX Live 2022/dev/Debian)(预加载格式=pdflatex 2022.1.7)

  • LaTeX2e <2021-11-15> 补丁级别 1

  • L3编程层 <2021-11-22>

  • 独立 2018/03/26 v1.3a

  • fontenc 2021/04/29 v2.0v

  • 输入enc 2021/02/14 v1.3d

  • 巴贝尔 2021/11/29 3.67

  • russianb.ldf 2021/01/10 1.3m

  • ngerman 2021/02/27 v2.13

  • ngermanb 2021/02/27 v2.13

  • newtxttext 2021/10/13 v1.658

答案1

位图西里尔字体意味着您拥有的 TeX 发行版不完整,缺少 CM-Super 字体。但将 CM 与 Times 克隆混合并不是最好的选择。

另一方面,NewTX 字体不支持西里尔文,但不难看出pdflatex使用兼容的字体系列(即 Tempora)可以支持俄语部分。

这需要 2020 年 2 月或之后发布的 LaTeX。

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage[russian,ngerman]{babel}
\usepackage{newtxtext}

\AtBeginDocument{%
  \DeclareFontFamilySubstitution{T2A}{\rmdefault}{Tempora-TLF}%
}

\begin{document}

\foreignlanguage{russian}{Леонид Витальевич Канторович}

\textit{\foreignlanguage{russian}{Леонид Витальевич Канторович}}

\textbf{\foreignlanguage{russian}{Леонид Витальевич Канторович}}

\end{document}

在此处输入图片描述

我们需要\AtBeginDocument因为newtxtext的重新定义而延迟\rmdefault到最后一刻。

为了查看字体是否匹配,以下是输出

eo\textsc{h}\foreignlanguage{russian}{еон}

在此处输入图片描述

小型大写字母 h 比 н 宽一点,但这并不是什么问题。

答案2

你在评论中写道,

是的,我看到我获得了类似 Computer-Modern 的字体。有没有办法获得类似 Times 的字体?

我不太熟悉 Debian,但我认为最好的选择是从 pdfLaTeX 切换到 LuaLaTeX 或 XeLaTeX,使用该fontspec软件包,并使用 (a) 接近 Times Roman 和 (b) 具有西里尔字母的系统字体。

例如,我的系统(MacOS 12.5 “Monterey”,MacTeX2022)自带一种名为“Times New Roman”的系统字体。在 LuaLaTeX 下编译下面显示的测试代码,得到以下截图:

在此处输入图片描述

\documentclass[border=1pt]{standalone} 
\usepackage{iftex}
\ifpdftex
  \usepackage[T1,T2A]{fontenc}  
  \usepackage{newtxtext} % lacks easy-to-access Cyrilic glyphs, sadly
\else
  \usepackage{fontspec}
  \setmainfont{Times New Roman} % choose an available font with Cyrillic glyphs
\fi

\usepackage[russian,ngerman]{babel} 

\begin{document} 
\foreignlanguage{russian}{Леонид Витальевич Канторович} 
\end{document}

相关内容