Russian
LaTeX supports many worldwide languages by means of some special packages. In this article is explained how to import and use those packages to create documents in Russian.
Introduction
Russian language uses the Cyrillic alphabet, therefore a special font encoding is used for this type of documents. Below is an example:
\documentclass{article}
%Russian-specific packages
%--------------------------------------
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
%--------------------------------------
%Hyphenation rules
%--------------------------------------
\usepackage{hyphenat}
\hyphenation{ма-те-ма-ти-ка вос-ста-нав-ли-вать}
%--------------------------------------
\begin{document}
\tableofcontents
\begin{abstract}
Это вводный абзац в начале документа.
\end{abstract}
\section{Предисловие}
Этот текст будет на русском языке. Это демонстрация того, что символы кириллицы
в сгенерированном документе (Compile to PDF) отображаются правильно.
Для этого Вы должны установить нужный язык (russian)
и необходимую кодировку шрифта (T2A).
\section{Математические формулы}
Кириллические символы также могут быть использованы в математическом режиме.
\begin{equation}
S_\textup{ис} = S_{123}
\end{equation}
\end{document}
There are several packages in this document related to the encoding and the special characters. These packages will be explained in the next sections.
Input encoding
Modern computer systems allow you to input letters of national alphabets directly from the keyboard. In order to handle a variety of input encodings used for different groups of languages and/or on different computer platforms LaTeX employs the inputenc package to set up input encoding. In this case the package properly displays characters in the Cyrillic alphabet. To use this package add the next line to the preamble of your document:
\usepackage[utf8]{inputenc}
The recommended input encoding is utf-8, see the reference guide for a list of Cyrillic-compatible document encodings.
Font encoding
To proper LaTeX document generation you must also choose a font encoding which has to support specific characters for the Russian language, this is accomplished by the fontenc
package:
\usepackage[T2]{fontenc}
Other font encodings will also work, it all depends on the compiler and the operating system you are using. The default LaTeX encoding is OT1
.
Language-specific packages and commands
To extended the default LaTeX capabilities, for proper hyphenation and translating the names of the document elements, import the babel package for the Russian language.
\usepackage[russian]{babel}
As you may see in the example at the introduction, instead of "abstract" and "Contents" the Russian words "Аннотация" and "Содержание" are used. Cyrillic characters can also be used in mathematical mode.
If you need to include more than one language, for instance Russian and English, see the International language support article to learn how to achieve this.
Note: In modern LaTeX distributions you can also define commands in Russian if you're using XeLaTeX or LuaLaTeX as your compiler, but that won't work on older compilers since they treat Cyrillic characters as reserved symbols;
Hyphenation
Sometimes for formatting reasons some words have to be broken up in syllables separated by a -
(hyphen) to continue the word in a new line. For example, математика could become мате-мати-ка. The package babel, whose usage was described in the previous section, usually does a good job breaking up the words correctly, but if this is not the case you can use a couple of commands in your preamble.
\usepackage{hyphenat}
\hyphenation{мате-мати-ка восста-навливать}
The first command will import the package hyphenat and the second line is a list of space-separated words with defined hyphenation rules. On the other side, if you want a word not to be broken automatically, use the {\nobreak word}
command within your document.
Reference guide
Cyrillic code-pages
- cp855. Standard MS-DOS Cyrillic code-page.
- cp866. Standard MS-DOS Russian code-page.
- cp1251. Standard Ms Windows Cyrillic code-page.
- koi8-r. Standard Unix-Like systems Cyrillic code-page.
Further reading
For more information see
- Supporting modern fonts with XƎLaTeX
- Typesetting quotations and quotation marks
- International language support
- Chinese
- French
- German
- Greek
- Italian
- Japanese
- Korean
- Portuguese
- Arabic
- Spanish
- The not so short introduction to LaTeX2ε
- LaTeX/Internationalization on WikiBooks
- LaTeX/Special_Characters on WikiBooks
Overleaf guides
- Creating a document in Overleaf
- Uploading a project
- Copying a project
- Creating a project from a template
- Including images in Overleaf
- Exporting your work from Overleaf
- Working offline in Overleaf
- Using Track Changes in Overleaf
- Using bibliographies in Overleaf
- Sharing your work with others
- Debugging Compilation timeout errors
- How-to guides
LaTeX Basics
- Creating your first LaTeX document
- Choosing a LaTeX Compiler
- Paragraphs and new lines
- Bold, italics and underlining
- Lists
- Errors
Mathematics
- Mathematical expressions
- Subscripts and superscripts
- Brackets and Parentheses
- Fractions and Binomials
- Aligning Equations
- Operators
- Spacing in math mode
- Integrals, sums and limits
- Display style in math mode
- List of Greek letters and math symbols
- Mathematical fonts
Figures and tables
- Inserting Images
- Tables
- Positioning Images and Tables
- Lists of Tables and Figures
- Drawing Diagrams Directly in LaTeX
- TikZ package
References and Citations
- Bibliography management in LaTeX
- Bibliography management with biblatex
- Biblatex bibliography styles
- Biblatex citation styles
- Bibliography management with natbib
- Natbib bibliography styles
- Natbib citation styles
- Bibliography management with bibtex
- Bibtex bibliography styles
Languages
- Multilingual typesetting on Overleaf using polyglossia and fontspec
- International language support
- Quotations and quotation marks
- Arabic
- Chinese
- French
- German
- Greek
- Italian
- Japanese
- Korean
- Portuguese
- Russian
- Spanish
Document structure
- Sections and chapters
- Table of contents
- Cross referencing sections and equations
- Indices
- Glossaries
- Nomenclatures
- Management in a large project
- Multi-file LaTeX projects
- Hyperlinks
Formatting
- Lengths in LaTeX
- Headers and footers
- Page numbering
- Paragraph formatting
- Line breaks and blank spaces
- Text alignment
- Page size and margins
- Single sided and double sided documents
- Multiple columns
- Counters
- Code listing
- Code Highlighting with minted
- Using colours in LaTeX
- Footnotes
- Margin notes
Fonts
Presentations
Commands
Field specific
- Theorems and proofs
- Chemistry formulae
- Feynman diagrams
- Molecular orbital diagrams
- Chess notation
- Knitting patterns
- CircuiTikz package
- Pgfplots package
- Typing exams in LaTeX
- Knitr
- Attribute Value Matrices
Class files
- Understanding packages and class files
- List of packages and class files
- Writing your own package
- Writing your own class
- Tips