我正在尝试排版一份包含多种语言的文档,但由于全局字体中缺少该语言的粗体,我需要对其中一种语言使用不同的字体。
我尝试做以下事情
\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[serbianc,french,english]{babel}
\babelfont{rm}{Linguistics Pro}
\babelfont[Language=serbian]{tt}{FreeSerif}
\begin{document}
\Serbianc{Hello, \texttt\Huge{Поздрав}!}
\end{document}
但是,我得到了“未定义的控制序列“错误。我尝试运行 babel 文档第 1.14 节中的示例,但仍然收到相同的错误。我不知道发生了什么。
有没有办法加载 \babelfont,或者以其他方式做我需要的事情?
答案1
由于我最近遇到了同样的问题,无法从 pdfLaTeX 更改编译器,因此我做了以下操作希腊语文本:
\usepackage[greek,english]{babel}
\usepackage[LGR,T1]{fontenc}
% This is my main font
\usepackage{mlmodern}
% Switch back to Computer Modern for Greek
\usepackage{substitutefont}
\substitutefont{LGR}{\rmdefault}{cmr}
对于塞尔维亚语,你需要找到一个T2A兼容字体,可让您将其变为粗体,而不是 OpenType,因为这不适用于 pdfLaTeX。
编辑
我认为以下 MWE 会产生您想要的结果:
\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[serbianc,english]{babel}
\usepackage{substitutefont}
\substitutefont{T2A}{\ttdefault}{iwona}
\begin{document}
\Serbianc{Hello, \texttt{\Huge\textbf{Поздрав!}}}
\end{document}
关键在于使用支持 T2A 编码的字体(此处伊沃纳使用),看看这个: