我尝试在\foreignlanguage
条目中使用俄语。因此,我例如这样写:
\foreignlanguage{russian}{Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций}
现在,由于我的主文档包含几种其他语言(主要语言是德语),我将把它添加到babel
和isodate
:
\usepackage[norsk, english, german, russian, ngerman]{babel}
\usepackage[norsk, english, german, russian, ngerman]{isodate}
\usepackage{lmodern} % font
我需要安装texlive-babel-russian
(或类似安装,具体取决于您的 Tex 发行版)
当然,我的文档总是使用 UTF-8:
% !TeX program = lualatex
% !TeX encoding = UTF-8
% !TeX spellcheck = de_DE
\documentclass[12pt,a4paper,titlepage,numbers=noenddot,oneside]{scrbook}
\KOMAoption{listof}{totocnumbered, leveldown}
% unicode
%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[utf8]{luainputenc}
但是,我收到了这个错误(并且对于其他任何语言我都没有收到这个错误):
!包 isodate 错误:未找到 Isodate 定义文件 russian.idf。
请参阅 isodate 包文档以了解解释。输入 H 可立即获得帮助。...
l.79 \进程选项*
也许您拼错了语言选项?
编辑:
如果我看一下,/usr/share/texlive/texmf-dist/tex/latex/isodate
那里确实没有俄语的定义。
所以我至少已经russian
从其中删除了编译。isodate
但是它仍然不能显示任何俄语字符?
答案1
好的,@moewe我注意到,删除russian
可以避免isodate
这个错误。
为了真正看到字符,你仍然需要选择合适的字体尽管。
幸运的是,在 LuaLaTex 和新版 Babel 中,你似乎可以让 babel 选择它取决于语言。
因此,您只需在序言中添加以下内容:
\babelfont[russian]{rm}{CMU Serif} % DejaVu Serif, FreeSerif, Linux Libertine
它会自动选择给定语言的字体。
CMU 是“计算机现代 Unicode”,您可能需要单独安装它,例如作为 Fedora 中的包texlive-cm-unicode
。