ロシア語とドイツ語を組み合わせる方法

ロシア語とドイツ語を組み合わせる方法

私はテンプレートを使用していて、キリル文字で書かれたものを引用しようとしました。私のテンプレートには言語を定義する部分があります:

\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}

すべての言語をサポートするフォントがない場合 (または、1 つの言語に使用したいメイン フォントがない場合)、特定の言語に別のフォントを設定することもできます。これを行うには、\babelfont使用するフォントを定義します。

\babelfont{rm}{TeX Gyre Pagella}
\babelfont[russian]{rm}{Liberation Serif}

デフォルトでは、rm ファミリに TeX Gyre Pagella フォントを設定しますが、ロシア語の部分では Liberation Serif を使用します。

XeLaTeX または LuaLaTeX のいずれかを使用する場合は、fontencも も使用する必要がないことに注意してくださいinputenc

3 つのフォント ファミリ 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}

関連情報