0

I try to use Russian in a \foreignlanguage entry. So here is what I e.g. write:

\foreignlanguage{russian}{Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций}

Now, as my main document contains several other languages (main language is German), I'll add this to babel and isodate:

\usepackage[norsk, english, german, russian, ngerman]{babel}
\usepackage[norsk, english, german, russian, ngerman]{isodate}
\usepackage{lmodern} % font

And I need to install texlive-babel-russian (or similar depending on your Tex distro)

Also, of course my document always uses 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}

However, i get this error (and I don't get this one for any other language):

! Package isodate Error: Isodate definition file russian.idf not found.

See the isodate package documentation for explanation. Type H for immediate help. ...

l.79 \ProcessOptions*

Maybe you misspelled the language option?

Edit: If I look in /usr/share/texlive/texmf-dist/tex/latex/isodate there is indeed no definition for Russian in there.

So I've just removed russian from isodate it compiles, at least.

However it can still not display any characters in Russian?

rugk
  • 1,090
  • 1
  • 10
  • 27
  • Does it help not to pass russian as an option to isodate? I.e. \usepackage[norsk, english, german, ngerman]{isodate}. I wouldn't have thought you need it unless you want to print the date in Russian. – moewe Jun 22 '20 at 18:15
  • Probably not directly related, but still important: If you are running LuaLaTeX you should absolutely drop \usepackage[T1]{fontenc}. With LuaLaTeX \usepackage[utf8]{luainputenc} is pretty pointless since LuaLaTeX assumes UTF-8 input anyway. – moewe Jun 22 '20 at 18:16
  • For proper Russian typesetting with LuaLaTeX you need a font that has Cyrillic characters. When I need Cyrillic for examples on this site I usually say \usepackage{libertinus}, which loads Libertinus. – moewe Jun 22 '20 at 18:22

1 Answers1

0

Okay, as @moewe and I noticed, removing russianfrom isodate prevents this one error.

To then actually see the chars, you still need to select a proper font though.

Fortunately, in LuaLaTex and new babel versions, it seems you can let babel select it depending on the language.

You may thus just add this in your preamble:

\babelfont[russian]{rm}{CMU Serif} % DejaVu Serif, FreeSerif, Linux Libertine

It automatically selects the font for the given language.

CMU is the „Computer Modern Unicode” and you may need to install it separately, e.g. as the package texlive-cm-unicode in Fedora.

rugk
  • 1,090
  • 1
  • 10
  • 27