我使用模板并尝试引用用西里尔文编写的内容。在我的模板中,有一部分定义语言:
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3}
\selectfont}
\changefont{ptm}{m}{n}
我怎样才能添加西里尔字母?
答案1
最简单的方法是使用 XeLaTeX 或 LuaLaTeX 并使用支持两种语言的字体。
此外,您还应加载babel
支持文档中使用的每种语言的软件包,最后加载主要语言。因此,如果您的文档是德语,其中一小部分是俄语,则可以使用
\usepackage[russian,ngerman]{babel}
babel
然后,您可以使用宏\foreignlanguage
或将文档的各部分切换到其他语言\begin{otherlanguage}
。
如果您没有支持所有语言的字体(或者您想要用于某种语言的主要字体不支持),您也可以为特定语言设置不同的字体。为此,您可以使用它来\babelfont
定义使用的字体:
\babelfont{rm}{TeX Gyre Pagella}
\babelfont[russian]{rm}{Liberation Serif}
将默认为 rm 系列设置 TeX Gyre Pagella 字体,但在俄语部分使用 Liberation Serif。
fontenc
请注意,如果您决定使用 XeLaTeX 或 LuaLaTeX ,则无需使用inputenc
。
一个(非常)小的示例文档,设置了三种字体系列 rm、sf 和 tt:
\documentclass[]{article}
\usepackage[russian,ngerman]{babel}
\babelfont{rm}{TeX Gyre Pagella}
\babelfont{sf}{TeX Gyre Heros}
\babelfont{tt}{TeX Gyre Cursor}
\babelfont[russian]{rm}{Liberation Serif}
\babelfont[russian]{sf}{Liberation Sans}
\babelfont[russian]{tt}{Liberation Mono}
\begin{document}
Das ist Deutsch.
\foreignlanguage{russian}{Это русский.}
Das ist Deutsch.
\begin{otherlanguage}{russian}
Это русский.
Это русский.
Это русский.
\end{otherlanguage}
Das ist Deutsch.
Das ist Deutsch.
Das ist Deutsch.
\end{document}