> 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/zh-tw/yu-yan/05-arabic.md).

# 阿拉伯語

## 簡介

在本文中，我們說明如何使用 [`arabtex`](https://ctan.org/pkg/arabtex?lang=en) 套件與 `pdfLaTeX`。然而，底層的 pdfTeX 引擎（軟體）會排版／處理你的 pdfLaTeX 文件，對於排版像 [阿拉伯文](https://en.wikipedia.org/wiki/Arabic), [希伯來語](https://en.wikipedia.org/wiki/Hebrew_language), [天城文](https://en.wikipedia.org/wiki/Devanagari) 或 [馬拉雅拉姆語](https://en.wikipedia.org/wiki/Malayalam)這類複雜書寫系統語言的支援相對有限。排版這類語言需要更完整地支援以 Unicode 為基礎的文字輸入、使用 OpenType 字型，以及 pdf(La)TeX 中不存在的其他功能。

由於其工作流程的需求，許多作者被規定必須使用 pdfLaTeX，但如果你 *已* 能夠選擇 LaTeX 編譯器， **那麼排版阿拉伯文的現代做法是使用 XeLaTeX（XeTeX 引擎）或 LuaLaTeX（LuaHBTeX 引擎）**。LuaLaTeX 透過 LuaHBTeX，提供了基於 TeX 的、最先進且最完整的複雜書寫系統語言排版解決方案。 **請參閱這些關於** [**polyglossia**](/latex/zh-tw/yu-yan/01-multilingual-typesetting-on-overleaf-using-polyglossia-and-fontspec.md) **和** [**babel**](/latex/zh-tw/yu-yan/02-multilingual-typesetting-on-overleaf-using-babel-and-fontspec.md).

### arabtex 套件說明

Klaus Lagally 於 `arabtex` 套件在 1991 年開始著手，最初主要是一個個人專案——請見 [套件文件的附錄 B](https://mirror.apps.cam.ac.uk/pub/tex-archive/language/arabic/arabtex/doc/pdf/arabdoc.pdf)。它的起源與早期發展大約早於 pdfTeX 的出現 5 年，也早於 LuaHBTeX 和 XeTeX 超過十年——更早於 Unicode 與 OpenType 字型的普及。 `arabtex` 這個套件是複雜 TeX 程式設計的傑作，但其許多核心元件檔案如今可追溯至約 2003 年，這表示 `arabtex` 套件的年代可能會與目前版本的 LaTeX 或 LaTeX 套件產生不相容。

## 第一個 arabtex 範例

以下基本範例使用 `arabtex` 套件來排版一個阿拉伯文單字：

```latex
\documentclass[a4paper,10pt]{article}
\usepackage{arabtex}
\usepackage{utf8}
\setcode{utf8}
\begin{document}
這裡是以阿拉伯文寫出的 ``Arabic'' 一詞：  \<اَلْعَرَبِيَّةُ>。你也可以像這樣使用指令 \verb|\RL{arabic text}|：\RL{اَلْعَرَبيَّةُ}。
\end{document}
```

[在 Overleaf 中開啟這個 `pdfLaTeX` 和 `arabtex` 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)

此範例會產生以下輸出：

![由 arabtex 排版的阿拉伯文範例](/files/72bf59275fd44373b7d50f9a394cd59b50ecc331)

請注意， `*arabic text*` 與指令 `\RL{*arabic text*}` 一起使用時，不應包含超過單一段落的由右至左文字。

### arabtex：音譯或 UTF-8 輸入

該 `arabtex` 套件支援透過寫成特定形式的音譯來排版阿拉伯文字：也就是用拉丁字母表示阿拉伯文字。以下是 `arabtex` 文件中的一個範例片段——請注意阿拉伯文字如何以拉丁文字表示，並被轉換成阿拉伯文：

```latex
\documentclass[12pt]{article}
\usepackage{arabtex}
\begin{document}
\setarab % 選擇語言專用約定
\vocalize % 開啟短母音變音符號
%\transtrue % 顯示音譯
\arabtrue % 列印阿拉伯文字（預設為啟用）
\centerline {\RL{^gu.hA wa-.himAruhu}} % 置中排版一行阿拉伯文字
\begin{RLtext}
fa-qAla lahu ^gu.hA:

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

[在 Overleaf 中開啟這個 `pdfLaTeX` 和 `arabtex` 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)

此範例會產生以下輸出：

![由 arabtex 排版的阿拉伯文範例](/files/b66fb8af4af9b7a42393be32f5c85dba6078168a)

如果我們想 `arabtex` 以實際的阿拉伯文字作為輸入，而不是音譯的拉丁文字，我們必須告訴 `arabtex` 改用 UTF-8 輸入，方法是寫入

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

該 `utf8` 套件是 `arabtex` 套件。

## 第二個 arabtex 範例

以下範例包含一段較長的阿拉伯文字，其中也包含一些英文單字：

```latex
\documentclass[a4paper,10pt]{article}
\usepackage{arabtex}
\usepackage{utf8}
\begin{document}
\setcode{utf8}
這裡是以阿拉伯文寫出的 ``Arabic'' 一詞：  \<اَلْعَرَبِيَّةُ>。你也可以像這樣使用指令 \verb|\RL{arabic text}|：\RL{اَلْعَرَبيَّةُ}。

\vspace{10pt}
以下是較長的一段阿拉伯文，其中在 \verb|\LR| 指令內包含一些英文單字：

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

[在 Overleaf 中開啟這個 `pdfLaTeX` 和 `arabtex` 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}>)

## 同時使用 babel 的 arabtex 範例

以下範例使用 `arabtex` 再加上前面的 `babel` 和 `inputenc` 套件，原因將在下文說明。

```latex
\documentclass[11pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{arabtex}
%\usepackage[LAE]{fontenc} % 由於 babel 套件的 [arabic] 選項，故不需要
\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}
```

[在 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/443ba2528fe26057b9bcdb38d2c37cfca4a613d0)

### 輸入編碼

為了支援不同語言群組及／或不同電腦平台上的多種輸入編碼，LaTeX 採用 `inputenc` 套件。在 TeX Live 2018 發行之前，若要在 pdfLaTeX 中使用以 UTF-8 編碼的文字，必須透過 `inputenc` 套件，方法是在

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

中寫入。

如 Overleaf 部落格文章 [TeX Live 升級——2019 年 9 月](https://www.overleaf.com/blog/tex-live-upgrade-september-2019)所述，LaTeX 已改用 UTF-8 作為預設輸入編碼；因此，現在 *通常* 不需要明確寫入 `\usepackage[utf8]{inputenc}` ，如果你使用的是 2018 年之後的 TeX Live 版本。不過，對於上述範例，寫入 `\usepackage[utf8]{inputenc}` 仍然是必要的。

### 語言專屬的文件元素

該 `arabic` 選項來指定影像的（排版後）大小： `babel` 套件為阿拉伯語提供支援：

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

其中包括雙向排版以及對文件元素使用阿拉伯名稱。如果你需要在你的阿拉伯文文件中插入一些 `拉丁文字` ，你可以使用 `\textLR{...}` 指令；例如，寫成

```latex
\textLR{Latin text}
```

### 字型編碼

除了使用正確的 *輸入* 編碼之外，排版包含阿拉伯文字的 LaTeX 文件，還需要具有適當正確 *輸出* 編碼的字型，以提供代表已排版阿拉伯文字的字形（glyphs）。排版上述範例需要相當於寫入

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

，但如本 [在 tex.stackexchange 上的回覆](https://tex.stackexchange.com/a/518665)，使用 `arabic` 所指出， `babel` 選項會導致載入所需的 `LAE` 編碼檔案 `laeenc.def` 和 `laeenc.dfu`.

## 延伸閱讀

更多資訊請參見

* [使用 polyglossia 和 fontspec 在 Overleaf 上進行多語言排版](/latex/zh-tw/yu-yan/01-multilingual-typesetting-on-overleaf-using-polyglossia-and-fontspec.md)
* [使用 babel 和 fontspec 在 Overleaf 上進行多語言排版](/latex/zh-tw/yu-yan/02-multilingual-typesetting-on-overleaf-using-babel-and-fontspec.md)
* [使用 XƎLaTeX 支援現代字型](/latex/zh-tw/zi-xing/03-xelatex.md)
* [引號與引號符號的排版](/latex/zh-tw/yu-yan/04-typesetting-quotations.md)
* [國際語言支援](/latex/zh-tw/yu-yan/03-international-language-support.md)
* [中文](/latex/zh-tw/yu-yan/06-chinese.md)
* [法文](/latex/zh-tw/yu-yan/07-french.md)
* [德文](/latex/zh-tw/yu-yan/08-german.md)
* [希臘文](/latex/zh-tw/yu-yan/09-greek.md)
* [義大利文](/latex/zh-tw/yu-yan/10-italian.md)
* [日文](/latex/zh-tw/yu-yan/11-japanese.md)
* [韓語](/latex/zh-tw/yu-yan/12-korean.md)
* [葡萄牙文](/latex/zh-tw/yu-yan/13-portuguese.md)
* [俄文](/latex/zh-tw/yu-yan/14-russian.md)
* [西班牙文](/latex/zh-tw/yu-yan/15-spanish.md)
* [LaTeX2ε 不那麼簡短的入門介紹](http://www.ctan.org/tex-archive/info/lshort/)
* [WikiBooks 上的 LaTeX/國際化](http://en.wikibooks.org/wiki/LaTeX/Internationalization)
* [WikiBooks 上的 LaTeX/特殊字元](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/zh-tw/yu-yan/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.
