International language support
Introduction
If you are a non-English speaker, you can load the babel
package which enables LaTeX to typeset in many different languages. Another option for multilingual typesetting is the polyglossia
package which uses LuaLaTeX and XeLaTeX—readers interested to know more can read the Overleaf article Multilingual typesetting on Overleaf using polyglossia and fontspec.
We will start with a simple babel
package example that typesets a document in Spanish:
\documentclass{article}
\usepackage[spanish]{babel}
\begin{document}
\tableofcontents
\vspace{2cm} %Add a 2cm space
\begin{abstract}
Este es un breve resumen del contenido del
documento escrito en español.
\end{abstract}
\section{Sección Introductoria}
Esta es la primera sección, podemos agregar
algunos elementos adicionales y todo será
escrito correctamente. Más aún, si una palabra
es demaciado larga y tiene que ser truncada,
babel tratará de truncarla correctamente
dependiendo del idioma.
\section{Sección con teoremas}
Esta sección es para ver que pasa con los comandos
que definen texto
\end{document}
Open this example in Overleaf.
This example produces the following output:
The babel
package not only makes it possible to typeset Spanish language text but also changes the language used to typeset elements; for example, instead of "abstract" and "Contents" the Spanish words "resumen" and "Índice" are used.
Input encoding
Prior to 2018, LaTeX’s handling of input files encoded in UTF-8 required users to add the line
\usepackage[utf8]{inputenc}
to their document preamble. With the release of TeX Live 2018, LaTeX was enhanced to adopt UTF-8 as its default text encoding, removing the need to add \usepackage[utf8]{inputenc}
—as demonstrated by examples in this article.
- Note: If you can’t input some letters of national alphabets directly from the keyboard, you can use LaTeX alternative commands for accents and special characters. See the reference guide.
Font encoding
To ensure LaTeX can typeset your document you need to use fonts which have the character shapes required to typeset the language(s) being used. In addition, when using pdfLaTeX the fontenc
package may still be required to ensure that input characters are correctly mapped to the appropriate output character shape (glyph) in the fonts being used:
\usepackage[encoding]{fontenc}
where encoding
is a comma-separated list of encodings reflecting the languages being used. The default LaTeX font encoding is OT1
, but it contains only the 128 characters. The T1
encoding contains letters and punctuation characters for most European languages using the Latin script. For languages using Cyrillic script you can use T2A, T2B, T2C, or X2 font encodings.
Users needing support for advanced multi-language typesetting should consider switching from pdfLaTeX to LuaLaTeX or XeLaTeX.
Babel
The babel
package presented in the introduction allows the use of characters from a range of languages and also translates some elements within the document. babel
also automatically activates the appropriate hyphenation rules for the language you choose.
You can activate the babel package by adding the following command to the preamble:
\usepackage[language]{babel}
Change the language
to the name of the language you need. You can see a list of the languages available in the babel package documentation, under section 1.27 Languages supported by babel with ldf files.
Using more than one language in a document
The babel package enables typesetting multiple languages in the same document:
\documentclass{article}
\usepackage[T1, T2A]{fontenc}% T2A for Cyrillic font encoding
\usepackage[english, russian]{babel}
\begin{document}
\begin{abstract}
Это вводный абзац в начале документа.
\end{abstract}
Этот текст будет на русском языке. Это демонстрация того, что символы кириллицы
в сгенерированном документе (Compile to PDF) отображаются правильно.
Для этого Вы должны установить нужный язык (russian)
и необходимую кодировку шрифта (T2A).
\selectlanguage{english}
This text will be in English. The elements within this
block of text will also be set in the right language.
\begin{abstract}
A brief description of the main subject to be
explained in the entire document.
\end{abstract}
\selectlanguage{russian}
Кириллические символы также могут быть использованы в математическом режиме.
\begin{equation}
S_\textup{ис} = S_{123}
\end{equation}
\end{document}
Open this example in Overleaf.
This example produces the following output:
Note how the fontenc
and babel
packages are each passed two parameters:
- two encodings for
fontenc
:T1
for Latin-script languages andT2A
for Cyrillic languages. - two languages for
babel
:english
andrussian
. When using this syntax the last language in the option list will be active (i.e. Russian), and you can use the command\selectlanguage{english}
at any point to change the active language.
Right-to-Left writing
Arabic language
LaTeX users wishing to typeset languages such as Arabic or Hebrew should use either LuaLaTeX or XeLaTeX. However, if the use of pdfLaTeX is unavoidable you can typeset Arabic using the arabtex
package, which is further discussed and demonstrated in an Overleaf article on Arabic typesetting. Here, we’ll give an example without repeating material contained in the article dedicated to Arabic.
- Note: Possibly due to the age of the package,
arabtex
depends on\usepackage[utf8]{inputenc}
and will not work without it.
\documentclass[11pt,a4paper]{report}
\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE]{fontenc}
\usepackage[arabic]{babel}
\title{
\Huge\textsc{اللغة العربية}
}
\author{سالم البوزيدي}
\begin{document}
\maketitle
\tableofcontents
\chapter{علوم الحاسوب}
\section{تاريخ}
\begin{otherlanguage}{arabic}
يعود تاريخ علوم الحاسوب إلى اختراع أول حاسوب رقمي حديث. فقبل العشرينات من القرن العشرين، كان مصطلح حاسوب \textLR{Computer} يشير إلى أي أداة بشرية تقوم بعملية الحسابات. ما هي القضايا أو الأشياء التي يمكن لآلة أن تحسبها باتباع قائمة من التعليمات مع ورقة وقلم، دون تحديد للزمن اللازم ودون أي مهارات أو بصيرة (ذكاء)؟ وكان أحد دوافع هذه الدراسات هو تطوير آلات حاسبة \textLR{computing machines} يمكنها إتمام الأعمال الروتينية والعرضة للخطأ البشري عند إجراء حسابات بشرية.
خلال الأربعينات، مع تطوير آلات حاسبة أكثر قوة وقدرة حسابية، تتطور مصطلح حاسوب ليشير إلى الآلات بدلا من الأشخاص الذين يقومون بالحسابات. وأصبح من الواضح أن الحواسيب يمكنها أن تقوم بأكثر من مجرد عمليات حسابية وبالتالي انتقلوا لدراسة تحسيب أو التحسيب بشكل عام. بدأت المعلوماتية وعلوم الحاسب تأخذ استقلالها كفرع أكاديمي مستقل في الستينات، مع إيجاد أوائل أقسام علوم الحاسب في الجامعات وبدأت الجامعات تعطي إجازات في هذه العلوم [1].
\end{otherlanguage}
\begin{thebibliography}{99}
[1]
من ويكيبيديا، الموسوعة الحرة
\end{thebibliography}
\end{document}
Open this example in Overleaf.
This example produces the following output:
Examples of Supported Languages
Reference guide
Accents and special characters
If you can't input some letters of national alphabets directly from the keyboard, you can use LaTeX commands for accents and special characters.
LaTeX command (universal) | Output |
---|---|
\`{o} |
ò |
\'{o} |
ó |
\^{o} |
ô |
\"{o} |
ö |
\H{o} |
ő |
\~{o} |
õ |
\c{c} |
ç |
\k{a} |
ą |
\={o} |
ō |
\b{o} |
o |
\.{o} |
ȯ |
\d{u} |
ụ |
\r{a} |
å |
\u{o} |
ŏ |
\v{s} |
š |
\t{oo} |
o͡o |
LaTeX command | Output |
---|---|
\aa |
å |
\AA |
Å |
\ae |
æ |
\AE |
Æ |
\l |
ł |
\L |
Ł |
\o |
ø |
\O |
Ø |
\i |
ı |
\j |
|
!` |
¡ |
?` |
¿ |
Further reading
For more information see
Overleaf guides
- Creating a document in Overleaf
- Uploading a project
- Copying a project
- Creating a project from a template
- Using the Overleaf project menu
- 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
- Using the History feature
- Debugging Compilation timeout errors
- How-to guides
- Guide to Overleaf’s premium features
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
- Matrices
- 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
- Using the Symbol Palette in Overleaf
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 with bibtex
- Bibliography management with natbib
- Bibliography management with biblatex
- Bibtex bibliography styles
- Natbib bibliography styles
- Natbib citation styles
- Biblatex bibliography styles
- Biblatex citation styles
Languages
- Multilingual typesetting on Overleaf using polyglossia and fontspec
- Multilingual typesetting on Overleaf using babel 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, equations and floats
- 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
- Typesetting 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