如何让 lualatex+babel 使用“经典” TeX 字体系列?

如何让 lualatex+babel 使用“经典” TeX 字体系列?

我正在(重新)熟悉用于多语言文档的 babel 和 lualatex。我知道我可以使用以下方法设置单个字体系列:

\babelfont[english]{rm}{Latin Modern Roman}

但是我该如何告诉 babel “对所有字体模式/样式使用所有经典 TeX 默认字体系列”(包括小型大写字母、无衬线字体等)?我想告诉它一些与“Computer Modern”有关的内容,但显然没有具有类似名称的 lualatex 可用字体。

笔记:

  • 我不介意它是多个命令。
  • 我使用 TeXLive 2019(在 Devuan Beowulf ~= Debian Buster 上)。

答案1

同时定义\babelfont{sf}\babelfont{tt}。例如:

\usepackage[greek,english]{babel}
\usepackage{fontspec}

\babelfont{rm}
          {CMU Serif}
\babelfont{sf}
          {CMU Sans Serif}
\babelfont{tt}
          {CMU Typewriter Text}

您可能希望使用\defaultfontfeaturesafter\usepackage{fontspec}和 before设置大多数选项\babelfont,例如,

\documentclass{article}
\usepackage[greek.ancient,english]{babel}
\usepackage{fontspec}

\defaultfontfeatures[NewComputerModern]{
   UprightFont = {NewCM10-Regular},
   ItalicFont = {NewCM10-Italic},
   BoldFont = {NewCM10-Bold},
   BoldItalicFont = {NewCM10-BoldItalic},
   % Can define SizeFeatures to use NewCM08-* here.
   Extension = {.otf} }

\babelfont[english]{rm} % Language=Default suppresses a harmless warning.
          [Ligatures=Common, Language=Default]{NewComputerModern}
\babelfont[greek]{rm}
          [Language=Default]{NewComputerModern}

\begin{document}
Homer’s \textit{\foreignlanguage{greek}{Ὀδύσσεια}} begins,
“\foreignlanguage{greek}{ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς
μάλα πολλὰ πλάγχθη}.”
\end{document}

您还可以为每种语言定义rmsf和字体,例如:tt

\usepackage[english]{babel}
\usepackage{fontspec}

\babelprovide[import=ar]{arabic}

\defaultfontfeatures{ Scale=MatchUppercase,
                      Ligatures=TeX }

\babelfont{rm}
          [Scale=1.o]{Libertinus Serif}
\babelfont[arabic]{rm}
          {Amiri}
\babelfont{tt}
          {Libertinus Mono}
\babelfont[arabic]{tt}
          {ALM Fixed}

相关内容