At the risk of being too intrusive, may I ask for your reasons to not use XeTeX or LuaTeX?
–
Andrey VihrovMar 5 '12 at 13:15

Sorry, I didn't meant to be rude ;-) Basically it's because I use vim-latex plugin, and it's setup to run LaTex and preview in Yap (which is dvi previewer). What I love about this setup, is when I recompile my document, yap automatically refreshes - but keeps the location in the document (i.e. when I recompile my book, I don't have to navigate to page 245 again!)
–
drozzyMar 5 '12 at 16:07

1

You should be able to switch easily. Googling shows results on how to use XeTeX with VIM-LaTeX, and for the previewer you can use Evince (it auto-refreshes and is available for Windows). You should even be able to get SyncTeX to work. And this website has many examples for XeTeX (like this one).
–
Andrey VihrovMar 5 '12 at 17:33

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.

That seems like a lot of foreignlanguage commands... especially if I have a lot of different quotes in different languages. I was hoping latex unicode would be able to figure things out by itself by now :-(
–
drozzyMar 5 '12 at 6:26

As extension to egreg's answer: babel and \foreignlanguage are not really needed to print cyrillic. The main point in his answer is the T2A: It tells latex that you wants to use cyrillic in your document and so latex activates the needed definitions for the utf8 (don't forget that there are a lot chars in unicode, it would slow down latex a lot if it would load definitions for all of them everytime).

You will still have to change to the font encoding T2A before using the cyrillic. You can avoid this by setting up defaults: