我正在使用模板,並嘗試引用用西里爾字母編寫的內容。在我的模板中有一個定義語言的部分:
\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。
請注意,如果您決定使用 XeLaTeX 或 LuaLaTeX,則不需要使用fontenc
Nor 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}