Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I need to use Russian in my article, but the default language has to be English. How do I do this?

I use:

\usepackage[russian]{babel}

Result: all chapter names and date are in Russian.

Change to:

\usepackage[russian,english]{babel}

Result is the same.

Change to:

\usepackage[russian,ukrainian,english]{babel}

Result: all chapter names and dates are in Ukrainian.

It looks like english is ignored. How to fix this?

Here the code which doesn't work:

\documentclass[a4paper,11pt,english]{article}

\usepackage[cp1251]{inputenc}

\usepackage[russian,ukrainian,english]{babel}

\begin{document}

\title{A}

\maketitle

\end{document}
share|improve this question
    
Can you provide an MWE? I was quite convinced that the last specified language should be the default. –  jmc Apr 3 '12 at 19:39
    
It's working if I delete ,english from the first line, but then I can't use russian... –  klm123 Apr 3 '12 at 19:57
    
You can't use russian with \selectlanguage etc? That would be a bug in my eyes. –  jmc Apr 3 '12 at 20:02
    
It helped. Thank you! –  klm123 Apr 3 '12 at 20:10

2 Answers 2

The problem is in the english option in \documentclass. Let's see what happens:

  1. english is a global option, so that it's passed to every package
  2. 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.

share|improve this answer

To be a bit more explicit, after my comments above. According to the Wikibooks on LaTeX and babel, you can:


"If you call babel with multiple languages:

\usepackage[languageA,languageB]{babel}

then the last language in the option list will be active (i.e. languageB), and you can use the command

\selectlanguage{languageA}

to change the active language. You can also add short pieces of text in another language using the command

\foreignlanguage{languageB}{Text in another language}

Babel also offers various environments for entering larger pieces of text in another language:

\begin{otherlanguage}{languageB}
  Text in language B. This environment switches all language-related 
  definitions, like the language 
  specific names for figures, tables etc. to the other language.
\end{otherlanguage}

The starred version of this environment typesets the main text according to the rules of the other language, but keeps the language specific string for ancillary things like figures, in the main language of the document. The environment hyphenrules switches only the hyphenation patterns used; it can also be used to disallow hyphenation by using the language name 'nohyphenation'.

The babel manual provides much more information on these and many other options."


So far my citation and answer.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.