% Free sample LaTeX file from 99helpers.com/file-types/tex % UTF-8 text in several scripts. Build it with: xelatex sample-unicode.tex % pdflatex can't: it reads UTF-8 but only has 8-bit fonts, so Greek, Cyrillic, % Japanese, Arabic and Hebrew need XeLaTeX or LuaLaTeX with OpenType fonts. % 1. Languages: babel loads hyphenation, quotes and script rules for each one. \documentclass[a4paper,11pt]{article} \usepackage[bidi=default]{babel} \babelprovide[import, main]{english} \babelprovide[import]{greek} \babelprovide[import]{russian} \babelprovide[import]{japanese} \babelprovide[import]{arabic} \babelprovide[import]{hebrew} % 2. Fonts: OpenType fonts installed on the system, chosen per language. \babelfont{rm}{DejaVu Serif} \babelfont{tt}{DejaVu Sans Mono} \babelfont[japanese]{rm}{Noto Serif CJK JP} \babelfont[arabic,hebrew]{rm}{DejaVu Sans} \usepackage[margin=25mm]{geometry} \usepackage[hidelinks]{hyperref} \hypersetup{pdftitle={UTF-8 sample for XeLaTeX}, pdfsubject={Free sample LaTeX file from 99helpers.com/file-types/tex}} \setlength{\parindent}{0pt} \setlength{\parskip}{6pt} \begin{document} \section*{UTF-8 in a \LaTeX{} source file} % 3. Characters typed directly, no escape commands needed with XeLaTeX. English with accents: café, naïve, Zürich, São Paulo, łódź, € 12,50. % 4. Each \foreignlanguage switches hyphenation and, here, the font. \foreignlanguage{greek}{Ελληνικά: Η γρήγορη καφέ αλεπού πηδά πάνω από τον σκύλο.} \foreignlanguage{russian}{Русский: Съешь же ещё этих мягких французских булок.} \foreignlanguage{japanese}{日本語:これは \LaTeX{} の文字コードのテストです。} % 5. Right-to-left scripts: babel's bidi option sets the direction, and the % otherlanguage environment makes the whole paragraph run right to left. \begin{otherlanguage}{arabic} العربية: هذا ملف تجريبي. \end{otherlanguage} \begin{otherlanguage}{hebrew} עברית: זהו קובץ לדוגמה. \end{otherlanguage} % 6. Maths is the same in every engine. Maths: $\alpha^2 + \beta^2 = \gamma^2$ and $\int_0^1 x\,dx = \frac{1}{2}$. \texttt{Free sample from 99helpers.com/file-types/tex} \end{document}