You need to announce LaTeX the languages you intend to use (T2A is for cyrillic):
\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,french,english]{babel}
\begin{document}
In Dahl’s dictionary there is a similar sounding word “\foreignlanguage{russian}{дуван}”.
\begin{otherlanguage*}{french}
“C’est auprès de son père, écrivain de la nation pisane à la douane de Bougie, à
la fin du douzième siècle[todo], que le célèbre mathématicien Léonard
Bonacci
\end{otherlanguage*}
\end{document}
![enter image description here](https://i.stack.imgur.com/EmjoS.png)
The main problem is that fonts have only 256 slots available for glyphs and writing in French and Russian requires more than 256 glyphs. (Maybe this is not strictly true, but even if the number of glyphs were less than 256, a special output encoding for French and Russian would be needed; what about German and Russian, Polish and Russian, or a mixing of three languages?)
You can always define an abbreviation, say \RUS
, for typesetting isolated words in Russian
\newcommand{\RUS}[1]{\foreignlanguage{russian}{#1}}
(or, more efficiently, \newcommand{\RUS}{\foreignlanguage{russian}}
). You have the benefit that hyphenation will be correct.
A different approach requires using an OpenType font that contains all the needed glyphs, but of course XeLaTeX or LuaLaTeX with fontspec
are required.
The problem is in the english
option in \documentclass
. Let's see what happens:
english
is a global option, so that it's passed to every package
- the list of local options to
babel
is russian
, ukrainian
, english
.
So babel
gets first the global option english
and loads the language file english.ldf
; then it loads russian.ldf
and ukrainian.ldf
but does nothing with english
, because it has already read that option.
Consequence: the last loaded language is Ukrainian.
Remedies: don't put language options in \documentclass
if you plan to load babel
with multiple languages, or specify all languages, in the desired order, as options to \documentclass
.
Best Answer
While I have no idea where your problem comes from and I’ve never needed to typeset Russian, replacing
mathptmx
withnewtxmath
seems to fix it. The times tag wiki gave me the idea, and while I usually don’t typeset math (and if I did, I wouldn’t use Times),newtxmath
seems to be intended as a successor formathptmx
.P.S.: This also works with the configuration of your initial MWE.
P.P.S.: Someone more knowledgable in these kinds of font issues might be able to give you a solution without switching packages.