> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/vi/ngon-ngu/05-arabic.md).

# Tiếng Ả Rập

## Giới thiệu

Trong bài viết này chúng tôi giải thích cách sắp chữ tiếng Ả Rập bằng [`arabtex`](https://ctan.org/pkg/arabtex?lang=en) gói `pdfLaTeX`. Tuy nhiên, bộ máy pdfTeX nền tảng (phần mềm), bộ máy dùng để sắp chữ/xử lý tài liệu pdfLaTeX của bạn, có hỗ trợ tương đối hạn chế đối với việc sắp chữ các ngôn ngữ có chữ viết phức tạp như [Tiếng Ả Rập](https://en.wikipedia.org/wiki/Arabic), [Tiếng Hebrew](https://en.wikipedia.org/wiki/Hebrew_language), [Devanagari](https://en.wikipedia.org/wiki/Devanagari) hoặc [Tiếng Malayalam](https://en.wikipedia.org/wiki/Malayalam). Việc sắp chữ các ngôn ngữ như vậy đòi hỏi hỗ trợ đầy đủ hơn cho đầu vào văn bản dựa trên Unicode, việc sử dụng phông OpenType và các khả năng khác không có trong pdf(La)TeX.

Nhiều tác giả bị bắt buộc phải dùng pdfLaTeX do yêu cầu của quy trình làm việc, nhưng nếu bạn *đang* có thể chọn trình biên dịch LaTeX, **cách tiếp cận hiện đại để sắp chữ tiếng Ả Rập là dùng XeLaTeX (bộ máy XeTeX) hoặc LuaLaTeX (bộ máy LuaHBTeX)**. LuaLaTeX, thông qua LuaHBTeX, cung cấp các giải pháp dựa trên TeX tiên tiến và đầy đủ nhất cho việc sắp chữ ngôn ngữ có chữ viết phức tạp. **Xem các trang này về** [**polyglossia**](/latex/vi/ngon-ngu/01-multilingual-typesetting-on-overleaf-using-polyglossia-and-fontspec.md) **và** [**babel**](/latex/vi/ngon-ngu/02-multilingual-typesetting-on-overleaf-using-babel-and-fontspec.md).

### Ghi chú về gói arabtex

Klaus Lagally bắt đầu làm việc trên `arabtex` gói vào năm 1991, chủ yếu như một dự án cá nhân—xem [Phụ lục B của tài liệu gói](https://mirror.apps.cam.ac.uk/pub/tex-archive/language/arabic/arabtex/doc/pdf/arabdoc.pdf). Nguồn gốc và quá trình phát triển ban đầu của nó có trước khi pdfTeX ra đời khoảng 5 năm và trước LuaHBTeX và XeTeX hơn một thập kỷ—và từ rất lâu trước sự trỗi dậy của Unicode và phông OpenType. Gói `arabtex` là một kỳ công trong lập trình TeX phức tạp, nhưng nhiều tệp thành phần cốt lõi hiện nay có niên đại khoảng năm 2003, nghĩa là tuổi đời của gói `arabtex` có thể dẫn đến không tương thích với các phiên bản LaTeX hiện tại hoặc các gói LaTeX.

## Ví dụ arabtex đầu tiên

Ví dụ cơ bản sau đây dùng `arabtex` gói để sắp chữ một từ duy nhất bằng tiếng Ả Rập:

```latex
\documentclass[a4paper,10pt]{article}
\usepackage{arabtex}
\usepackage{utf8}
\setcode{utf8}
\begin{document}
Đây là từ ``Arabic'' được viết bằng tiếng Ả Rập:  \<اَلْعَرَبِيَّةُ>. Bạn cũng có thể dùng lệnh \verb|\RL{arabic text}| như sau: \RL{اَلْعَرَبيَّةُ}.
\end{document}
```

[Mở `pdfLaTeX` và `arabtex` ví dụ trên Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+Arabic+text+example\&snip=%5Cdocumentclass%5Ba4paper%2C10pt%5D%7Barticle%7D%0A%5Cusepackage%7Barabtex%7D%0A%5Cusepackage%7Butf8%7D%0A%5Csetcode%7Butf8%7D%0A%5Cbegin%7Bdocument%7D%0AHere+is+the+word+%60%60Arabic%27%27+written+in+Arabic%3A++%5C%3C%D8%A7%D9%8E%D9%84%D9%92%D8%B9%D9%8E%D8%B1%D9%8E%D8%A8%D9%90%D9%8A%D9%8E%D9%91%D8%A9%D9%8F%3E.+You+can+also+use+the+command+%5Cverb%7C%5CRL%7Barabic+text%7D%7C+like+this%3A+%5CRL%7B%D8%A7%D9%8E%D9%84%D9%92%D8%B9%D9%8E%D8%B1%D9%8E%D8%A8%D9%8A%D9%8E%D9%91%D8%A9%D9%8F%7D.%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Ví dụ chữ Ả Rập được sắp chữ bằng arabtex](/files/7ebe64384264b3369c9622ce205bf2c6f3455310)

Lưu ý rằng `*văn bản tiếng Ả Rập*` được dùng với lệnh `\RL{*văn bản tiếng Ả Rập*}` không nên chứa nhiều hơn một đoạn văn bản từ phải sang trái.

### arabtex: phiên âm hoặc đầu vào UTF-8

Tính năng `arabtex` gói hỗ trợ khả năng sắp chữ văn bản tiếng Ả Rập bằng cách viết nó theo một dạng phiên âm đặc biệt: biểu diễn văn bản Ả Rập bằng chữ Latin. Đây là một đoạn trích từ một ví dụ trong `arabtex` tài liệu—lưu ý cách văn bản Ả Rập được biểu diễn bằng văn bản Latin, rồi được chuyển đổi sang tiếng Ả Rập:

```latex
\documentclass[12pt]{article}
\usepackage{arabtex}
\begin{document}
\setarab % chọn các quy ước dành riêng cho ngôn ngữ
\vocalize % bật dấu phụ cho nguyên âm ngắn
%\transtrue % hiển thị phần phiên âm
\arabtrue % in văn bản Ả Rập (mặc định bật)
\centerline {\RL{^gu.hA wa-.himAruhu}} % sắp chữ một dòng văn bản Ả Rập căn giữa
\begin{RLtext}
fa-qAla lahu ^gu.hA:

.garIbuN 'amruka yA .sadIqI!
'a-tu.saddiqu al-.himAra wa-tuka_d_dibunI?
\end{RLtext}
\end{document}
```

[Mở `pdfLaTeX` và `arabtex` ví dụ trên Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+Arabic+text+example\&snip=%5Cdocumentclass%5B12pt%5D%7Barticle%7D%0A%5Cusepackage%7Barabtex%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetarab+%25+choose+the+language+specific+conventions%0A%5Cvocalize+%25+switch+diacritics+for+short+vowels+on%0A%25%5Ctranstrue+%25+display+the+transliteration%0A%5Carabtrue+%25+print+arabic+text+%28on+by+default%29%0A%5Ccenterline+%7B%5CRL%7B%5Egu.hA+wa-.himAruhu%7D%7D+%25+typeset+a+centred+line+of+Arabic+text%0A%5Cbegin%7BRLtext%7D%0Afa-qAla+lahu+%5Egu.hA%3A%0A%0A.garIbuN+%27amruka+yA+.sadIqI%21%0A%27a-tu.saddiqu+al-.himAra+wa-tuka_d_dibunI%3F%0A%5Cend%7BRLtext%7D%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Ví dụ chữ Ả Rập được sắp chữ bằng arabtex](/files/18b84fa61949fdf1b97a8f5602916be23f5a335f)

Nếu chúng ta muốn `arabtex` dùng văn bản Ả Rập thực sự làm đầu vào, chứ không phải văn bản Latin phiên âm, thì chúng ta phải yêu cầu `arabtex` dùng đầu vào UTF-8 thay vào đó, bằng cách viết

```latex
\usepackage{utf8}
\setcode{utf8}
```

Tính năng `utf8` gói là một phần của `arabtex` gói.

## Ví dụ arabtex thứ hai

Ví dụ sau đây chứa một đoạn văn bản Ả Rập đáng kể hơn, trong đó cũng có một số từ bằng tiếng Anh:

```latex
\documentclass[a4paper,10pt]{article}
\usepackage{arabtex}
\usepackage{utf8}
\begin{document}
\setcode{utf8}
Đây là từ ``Arabic'' được viết bằng tiếng Ả Rập:  \<اَلْعَرَبِيَّةُ>. Bạn cũng có thể dùng lệnh \verb|\RL{arabic text}| như sau: \RL{اَلْعَرَبيَّةُ}.

\vspace{10pt}
Đây là một phần dài hơn của tiếng Ả Rập, chứa một số từ tiếng Anh bên trong lệnh \verb|\LR|:

\vspace{10pt}
\begin{RLtext}
يعود تاريخ علوم الحاسوب إلى اختراع أول حاسوب رقمي حديث. فقبل العشرينات من القرن العشرين، كان مصطلح حاسوب \LR{Computer} يشير إلى أي أداة بشرية تقوم بعملية الحسابات. ما هي القضايا أو الأشياء التي يمكن لآلة أن تحسبها باتباع قائمة من التعليمات مع ورقة وقلم، دون تحديد للزمن اللازم ودون أي مهارات أو بصيرة (ذكاء)؟ وكان أحد دوافع هذه الدراسات هو تطوير آلات حاسبة \LR{computing machines} يمكنها إتمام الأعمال الروتينية والعرضة للخطأ البشري عند إجراء حسابات بشرية.
خلال الأربعينات، مع تطوير آلات حاسبة أكثر قوة وقدرة حسابية، تتطور مصطلح حاسوب ليشير إلى الآلات بدلا من الأشخاص الذين يقومون بالحسابات. وأصبح من الواضح أن الحواسيب يمكنها أن تقوم بأكثر من مجرد عمليات حسابية وبالتالي انتقلوا لدراسة تحسيب أو التحسيب بشكل عام. بدأت المعلوماتية وعلوم الحاسب تأخذ استقلالها كفرع أكاديمي مستقل في الستينات، مع إيجاد أوائل أقسام علوم الحاسب في الجامعات وبدأت الجامعات تعطي إجازات في هذه العلوم [1].
\end{RLtext}
\end{document}
```

[Mở `pdfLaTeX` và `arabtex` ví dụ trên Overleaf.](<https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+more+complete+arabtex+example\&snip=\documentclass\[a4paper,10pt]{article}&#xA;\usepackage{arabtex}&#xA;\usepackage{utf8}&#xA;\begin{document}&#xA;\setcode{utf8}&#xA;Here+is+the+word+``Arabic''+written+in+Arabic:++\\\<اَلْعَرَبِيَّةُ\>.+You+can+also+use+the+command+\verb|\RL{arabic+text}|+like+this:+\RL{اَلْعَرَبيَّةُ}.+&#xA;&#xA;\vspace{10pt}&#xA;Here+is+a+larger+section+of+Arabic,+containing+some+words+in+English+within+the+\verb|\LR|+command:&#xA;&#xA;\vspace{10pt}&#xA;\begin{RLtext}&#xA;يعود+تاريخ+علوم+الحاسوب+إلى+اختراع+أول+حاسوب+رقمي+حديث.+فقبل+العشرينات+من+القرن+العشرين،+كان+مصطلح+حاسوب+\LR{Computer}+يشير+إلى+أي+أداة+بشرية+تقوم+بعملية+الحسابات.+ما+هي+القضايا+أو+الأشياء+التي+يمكن+لآلة+أن+تحسبها+باتباع+قائمة+من+التعليمات+مع+ورقة+وقلم،+دون+تحديد+للزمن+اللازم+ودون+أي+مهارات+أو+بصيرة+(ذكاء)؟+وكان+أحد+دوافع+هذه+الدراسات+هو+تطوير+آلات+حاسبة+\LR{computing+machines}+يمكنها+إتمام+الأعمال+الروتينية+والعرضة+للخطأ+البشري+عند+إجراء+حسابات+بشرية.&#xA;خلال+الأربعينات،+مع+تطوير+آلات+حاسبة+أكثر+قوة+وقدرة+حسابية،+تتطور+مصطلح+حاسوب+ليشير+إلى+الآلات+بدلا+من+الأشخاص+الذين+يقومون+بالحسابات.+وأصبح+من+الواضح+أن+الحواسيب+يمكنها+أن+تقوم+بأكثر+من+مجرد+عمليات+حسابية+وبالتالي+انتقلوا+لدراسة+تحسيب+أو+التحسيب+بشكل+عام.+بدأت+المعلوماتية+وعلوم+الحاسب+تأخذ+استقلالها+كفرع+أكاديمي+مستقل+في+الستينات،+مع+إيجاد+أوائل+أقسام+علوم+الحاسب+في+الجامعات+وبدأت+الجامعات+تعطي+إجازات+في+هذه+العلوم+\[1].+&#xA;\end{RLtext}&#xA;\end{document}>)

## Một ví dụ arabtex cũng sử dụng babel

Các ví dụ sau đây sử dụng `arabtex` cùng với phần `babel` và `inputenc` các gói, vì những lý do sẽ được nêu bên dưới.

```latex
\documentclass[11pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{arabtex}
%\usepackage[LAE]{fontenc} %Không cần nhờ tùy chọn [arabic] của gói babel
\usepackage[arabic]{babel}
\title{
    \Huge\textsc{اللغة العربية}
}
\author{سالم البوزيدي}
\begin{document}
\maketitle
\tableofcontents
\chapter{علوم الحاسوب}
\section{تاريخ}
\begin{otherlanguage}{arabic}
يعود تاريخ علوم الحاسوب إلى اختراع أول حاسوب رقمي حديث. فقبل العشرينات من القرن العشرين، كان مصطلح حاسوب \textLR{Computer} يشير إلى أي أداة بشرية تقوم بعملية الحسابات. ما هي القضايا أو الأشياء التي يمكن لآلة أن تحسبها باتباع قائمة من التعليمات مع ورقة وقلم، دون تحديد للزمن اللازم ودون أي مهارات أو بصيرة (ذكاء)؟ وكان أحد دوافع هذه الدراسات هو تطوير آلات حاسبة \textLR{computing machines} يمكنها إتمام الأعمال الروتينية والعرضة للخطأ البشري عند إجراء حسابات بشرية.
خلال الأربعينات، مع تطوير آلات حاسبة أكثر قوة وقدرة حسابية، تتطور مصطلح حاسوب ليشير إلى الآلات بدلا من الأشخاص الذين يقومون بالحسابات. وأصبح من الواضح أن الحواسيب يمكنها أن تقوم بأكثر من مجرد عمليات حسابية وبالتالي انتقلوا لدراسة تحسيب أو التحسيب بشكل عام. بدأت المعلوماتية وعلوم الحاسب تأخذ استقلالها كفرع أكاديمي مستقل في الستينات، مع إيجاد أوائل أقسام علوم الحاسب في الجامعات وبدأت الجامعات تعطي إجازات في هذه العلوم [1].
\end{otherlanguage}
\end{document}
```

[Mở ví dụ văn bản Ả Rập này trong Overleaf](<https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Typesetting+Arabic+with+pdfLaTeX\&snip=\documentclass\[11pt,a4paper]{report}&#xA;\usepackage\[utf8]{inputenc}&#xA;\usepackage{arabtex}&#xA;%\usepackage\[LAE]{fontenc}+%Not+needed+due+to+\[arabic]+option+of+the+babel+package&#xA;\usepackage\[arabic]{babel}&#xA;\title{&#xA;++++\Huge\textsc{اللغة+العربية}&#xA;}&#xA;\author{سالم+البوزيدي}&#xA;\begin{document}&#xA;\maketitle&#xA;\tableofcontents&#xA;\chapter{علوم+الحاسوب}&#xA;\section{تاريخ}&#xA;\begin{otherlanguage}{arabic}&#xA;يعود+تاريخ+علوم+الحاسوب+إلى+اختراع+أول+حاسوب+رقمي+حديث.+فقبل+العشرينات+من+القرن+العشرين،+كان+مصطلح+حاسوب+\textLR{Computer}+يشير+إلى+أي+أداة+بشرية+تقوم+بعملية+الحسابات.+ما+هي+القضايا+أو+الأشياء+التي+يمكن+لآلة+أن+تحسبها+باتباع+قائمة+من+التعليمات+مع+ورقة+وقلم،+دون+تحديد+للزمن+اللازم+ودون+أي+مهارات+أو+بصيرة+(ذكاء)؟+وكان+أحد+دوافع+هذه+الدراسات+هو+تطوير+آلات+حاسبة+\textLR{computing+machines}+يمكنها+إتمام+الأعمال+الروتينية+والعرضة+للخطأ+البشري+عند+إجراء+حسابات+بشرية.&#xA;خلال+الأربعينات،+مع+تطوير+آلات+حاسبة+أكثر+قوة+وقدرة+حسابية،+تتطور+مصطلح+حاسوب+ليشير+إلى+الآلات+بدلا+من+الأشخاص+الذين+يقومون+بالحسابات.+وأصبح+من+الواضح+أن+الحواسيب+يمكنها+أن+تقوم+بأكثر+من+مجرد+عمليات+حسابية+وبالتالي+انتقلوا+لدراسة+تحسيب+أو+التحسيب+بشكل+عام.+بدأت+المعلوماتية+وعلوم+الحاسب+تأخذ+استقلالها+كفرع+أكاديمي+مستقل+في+الستينات،+مع+إيجاد+أوائل+أقسام+علوم+الحاسب+في+الجامعات+وبدأت+الجامعات+تعطي+إجازات+في+هذه+العلوم+\[1].+&#xA;\end{otherlanguage}&#xA;\end{document}>)

![LanguageEx2.png](/files/12caab82afdbe646234f310b615845e908116b95)

### Mã hóa đầu vào

Để hỗ trợ nhiều kiểu mã hóa đầu vào cho các nhóm ngôn ngữ khác nhau và/hoặc trên các nền tảng máy tính khác nhau, LaTeX sử dụng `inputenc` gói. Trước khi phát hành TeX Live 2018, việc dùng văn bản mã hóa UTF-8 với pdfLaTeX đòi hỏi `inputenc` gói bằng cách viết

```latex
\usepackage[utf8]{inputenc}
```

trong phần mở đầu tài liệu của bạn.

Như đã lưu ý trong bài đăng trên blog Overleaf [Nâng cấp TeX Live—tháng 9 năm 2019](https://www.overleaf.com/blog/tex-live-upgrade-september-2019), LaTeX đã chuyển sang UTF-8 làm mã hóa đầu vào mặc định; do đó, hiện giờ không *thường* cần phải viết rõ `\usepackage[utf8]{inputenc}` nếu bạn đang dùng bản phát hành TeX Live sau năm 2018. Tuy nhiên, với ví dụ trên, việc viết `\usepackage[utf8]{inputenc}` vẫn là bắt buộc.

### Các thành phần tài liệu theo ngôn ngữ

Tính năng `arabic` tùy chọn của `babel` gói cung cấp hỗ trợ cho ngôn ngữ Ả Rập:

```latex
\usepackage[arabic]{babel}
```

bao gồm sắp chữ hai chiều và sử dụng tên tiếng Ả Rập cho các thành phần tài liệu. Nếu bạn cần chèn một ít `văn bản Latin` vào trong tài liệu tiếng Ả Rập của bạn, bạn dùng `\textLR{...}` lệnh; ví dụ, bằng cách viết

```latex
\textLR{văn bản Latin}
```

### Mã hóa phông

Ngoài việc sử dụng đúng *đầu vào* mã hóa, việc sắp chữ một tài liệu LaTeX có chứa văn bản Ả Rập đòi hỏi các phông có đúng *kết quả* mã hóa thích hợp để cung cấp các glyph (hình dạng) biểu diễn chữ Ả Rập đã sắp chữ. Việc sắp chữ ví dụ trên cần tương đương với việc viết

```latex
\usepackage[LAE]{fontenc}
```

nhưng, như đã lưu ý trong [trả lời này trên tex.stackexchange](https://tex.stackexchange.com/a/518665), bằng cách dùng `arabic` tùy chọn của `babel` dẫn đến việc tải các `LAE` tệp mã hóa `laeenc.def` và `laeenc.dfu`.

## Đọc thêm

Để biết thêm thông tin, xem

* [Sắp chữ đa ngôn ngữ trên Overleaf bằng polyglossia và fontspec](/latex/vi/ngon-ngu/01-multilingual-typesetting-on-overleaf-using-polyglossia-and-fontspec.md)
* [Sắp chữ đa ngôn ngữ trên Overleaf bằng babel và fontspec](/latex/vi/ngon-ngu/02-multilingual-typesetting-on-overleaf-using-babel-and-fontspec.md)
* [Hỗ trợ phông hiện đại với XƎLaTeX](/latex/vi/phong-chu/03-xelatex.md)
* [Dàn trang dấu trích dẫn và dấu ngoặc kép](/latex/vi/ngon-ngu/04-typesetting-quotations.md)
* [Hỗ trợ ngôn ngữ quốc tế](/latex/vi/ngon-ngu/03-international-language-support.md)
* [Tiếng Trung](/latex/vi/ngon-ngu/06-chinese.md)
* [Tiếng Pháp](/latex/vi/ngon-ngu/07-french.md)
* [Tiếng Đức](/latex/vi/ngon-ngu/08-german.md)
* [Tiếng Hy Lạp](/latex/vi/ngon-ngu/09-greek.md)
* [Tiếng Ý](/latex/vi/ngon-ngu/10-italian.md)
* [Tiếng Nhật](/latex/vi/ngon-ngu/11-japanese.md)
* [Tiếng Hàn](/latex/vi/ngon-ngu/12-korean.md)
* [Tiếng Bồ Đào Nha](/latex/vi/ngon-ngu/13-portuguese.md)
* [Tiếng Nga](/latex/vi/ngon-ngu/14-russian.md)
* [Tiếng Tây Ban Nha](/latex/vi/ngon-ngu/15-spanish.md)
* [Phần giới thiệu về LaTeX2ε không quá ngắn](http://www.ctan.org/tex-archive/info/lshort/)
* [LaTeX/Quốc tế hóa trên WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Internationalization)
* [LaTeX/Ký\_tự\_đặc\_biệt trên WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Special_Characters)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/vi/ngon-ngu/05-arabic.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
