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