使用阿拉伯文字排版文档

使用阿拉伯文字排版文档

我在 Ubuntu 10.04 上使用 TeXlive (2009-7)。我已经安装了texlive-lang-arabic,但我不知道该如何编写序言才能使用它。我在网上找到了 babel 的文档http://www.tug.org/texlive/Contents/live/texmf-dist/doc/generic/babel/可能已经过时(2009 年 9 月),因为没有提到阿拉伯语是受支持的语言,aptitude show texlive-lang-arabic结果如下:

This package includes the following CTAN packages: 
 arabi -- (La)TeX support for Arabic and Farsi, compliant with Babel.
 arabtex -- Macros and fonts for typesetting Arabic.
 hyphen-arabic --
 hyphen-farsi --

我找不到任何有关新安装的软件包的文档。我甚至不确定该软件包是否允许我想要的功能,即直接使用阿拉伯文字书写,而不是像 那样使用arabtex转录(阿拉伯文字只出现在输出中)。

如果我遗漏了一些相关信息,我可以完成我的问题。

更新

谢谢大家。首先,我尝试应用 Mustail 的解决方案。我根据他的例子编写了序言(大部分相同,只是没有波斯语)。我运行了 XeLaTeX。编译失败,文件.log说我需要xetex包。我已经texlive-xetex安装了,并且xetex被提及为其中的一部分。在互联网上进一步搜索后,我发现我能找到的所有关于 XeLaTeX 的信息与我的 LaTeX 安装不匹配。

我决定尝试 Caramdir 提出的解决方案,并按照链接中的说明进行了新的 TeX Live 安装。我无法编译任何文件,因为我没有安装 LaTeX 或 pdfLaTeX,而且我不想以其他方式安装它,我已经安装了 TeX Live。在有关安装的文档中,我发现我应该运行 tlmgr 来管理我的 LaTeX 安装,但我做不到command not found

我之前在一台计算机上仍然安装了 TeX Live,我可以测试两者(通过 aptitude 和从 tug.org 下载)。

也许我应该在 tug.org 上发布另一个有关安装 TeX Live 的问题,但我在这里先尝试,也许这不是一个真正的问题,而只是我遗漏了某些显而易见的东西。

更新2

我尝试编译 Mehro 的示例文档(使用从 Ubuntu 软件包安装的 LaTeX),但没有成功。这是终端的输出(从第一个警告开始):

Package polyglossia Warning: No hyphenation patterns were loaded for `arabic'
(polyglossia)                I will use the patterns loaded for \language=0
(polyglossia)                instead on input line 7.

) (./mehro.aux)
kpathsea: Running mktextfm 
/usr/share/texmf/web2c/mktexnam: Could not map source abbreviation 6 for 600.
/usr/share/texmf/web2c/mktexnam: Need to update /usr/share/texmf-texlive/fonts/map/fontname/special.map?
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input 
This is METAFONT, Version 2.718281 (TeX Live 2009/Debian)


kpathsea: Running mktexmf 
! I can't find file `'.
<*> \mode:=ljfour; mag:=1; nonstopmode; input

Please type another input file name
! Emergency stop.
<*> \mode:=ljfour; mag:=1; nonstopmode; input

Transcript written on mfput.log.
grep: .log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ' failed to make .tfm.
kpathsea: Appending font creation commands to missfont.log.

! Font \zf@basefont="" not loadable: Metric (TFM) file or installed font not fo
und.
<to be read again> 
                   \zf@family@fontdeflmr 
l.15 ...abic: \textarabic{السلام عليكم}

? ^C! Interruption.
<argument> ...@family@fontdef\f@family \endcsname 
                                                  " at \f@size pt \zf@check@...

我查看了 Polyglossia 文档,但没有发现任何可以帮助我编译文档的内容。

看来我遇到了 XeTeX 字体方面的更普遍的问题。Fontspec文档打开了,但应该缺少一些字体,因为我看到有些地方有白色间隙。终端输出相当长,几乎都是“错误”消息。这只是其中的几行:

Error: Missing language pack for 'Adobe-Japan1' mapping 
Error: Unknown font tag 'F5.1' 
Error (24124): No font in show 
Error: Unknown font tag 'F5.1' 

更新 3

我已经设法通过 Ubuntu Sotware Center 进行安装Linux Liberation OScheherazade尽管我仍然不明白为什么我不能通过 Synaptic 或 aptitude 进行安装......),因此 Meho 和 Alan 的示例文件已成功编译。

安装后,文档变得可读poppeler data。我仍然无法编译 Mustail 的示例文件,但可以访问文档,我可以尝试解决它。

非常感谢大家的帮助。

答案1

我通常将 XeLaTeX 与 Polyglossia 结合使用。一个简单的例子:

\documentclass{book}

\usepackage{setspace}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguage{arabic}

\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}

\begin{document}

Some latin text and inline arabic: \textarabic{السلام عليكم}

And for larger blocks of text you can use Arabic environment:

\begin{Arabic}

العربية أكثر لغات المجموعة السامية متحدثينَ، وإحدى أكثر اللغات انتشارًا في العالم، يتحدثها أكثر من 422 مليون نسمة،1 ويتوزع متحدثوها في المنطقة المعروفة باسم الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي السنغال وإرتيريا. اللغة العربية ذات أهمية قصوى لدى المسلمين، فهي لغة مقدسة (لغة القرآن)، ولا تتم الصلاة (وعبادات أخرى) في الإسلام إلا بإتقان بعض من كلماتها. العربية هي أيضا لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كتبت بها الكثير من أهم الأعمال الدينية والفكرية اليهودية في العصور الوسطى. وأثّر انتشار الإسلام، وتأسيسه دولاً، في ارتفاع مكانة اللغة العربية، وأصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون، وأثرت العربية، تأثيرًا مباشرًا أو غير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والكردية والأوردية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية، وبعض اللغات الأوروبية وخاصةً المتوسطية منها كالإسبانية والبرتغالية والمالطية والصقلية. كما أنها تدرس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.

العربية لغة رسمية في كل دول الوطن العربي إضافة إلى كونها لغة رسمية في تشاد وإريتيريا وإسرائيل. وهي إحدى اللغات الرسمية الست في منظمة الأمم المتحدة.

تحتوي العربية على 28 حرفًا مكتوبًا. ويرى بعض اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبح عدد الحروف 29. تكتب العربية من اليمين إلى اليسار - مثلها اللغة الفارسية والعبرية وعلى عكس الكثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.

\end{Arabic}

To get even spacing between lines, you can use \verb|\lineskiplimit| command (locally or globally, preferably locally) and set spacing with \verb|setspace| or \verb|leading| package to avoid possible overlapping:

\begin{Arabic}
\lineskiplimit=-1000pt
\setstretch{1.2}

العربية أكثر لغات المجموعة السامية متحدثينَ، وإحدى أكثر اللغات انتشارًا في العالم، يتحدثها أكثر من 422 مليون نسمة،1 ويتوزع متحدثوها في المنطقة المعروفة باسم الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي السنغال وإرتيريا. اللغة العربية ذات أهمية قصوى لدى المسلمين، فهي لغة مقدسة (لغة القرآن)، ولا تتم الصلاة (وعبادات أخرى) في الإسلام إلا بإتقان بعض من كلماتها. العربية هي أيضا لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كتبت بها الكثير من أهم الأعمال الدينية والفكرية اليهودية في العصور الوسطى. وأثّر انتشار الإسلام، وتأسيسه دولاً، في ارتفاع مكانة اللغة العربية، وأصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون، وأثرت العربية، تأثيرًا مباشرًا أو غير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والكردية والأوردية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية، وبعض اللغات الأوروبية وخاصةً المتوسطية منها كالإسبانية والبرتغالية والمالطية والصقلية. كما أنها تدرس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.

العربية لغة رسمية في كل دول الوطن العربي إضافة إلى كونها لغة رسمية في تشاد وإريتيريا وإسرائيل. وهي إحدى اللغات الرسمية الست في منظمة الأمم المتحدة.

تحتوي العربية على 28 حرفًا مكتوبًا. ويرى بعض اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبح عدد الحروف 29. تكتب العربية من اليمين إلى اليسار - مثلها اللغة الفارسية والعبرية وعلى عكس الكثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.

\end{Arabic}

\end{document}

答案2

虽然我不是 LaTeX 和阿拉伯语排版方面的专家,但我有一些在 TeX 环境中使用阿拉伯语和波斯语的经验,可以分享。

我曾经尝试过arabibabel效果很好,但是字体方面出现了问题。然后,和大多数人一样,我改用 XeLaTeX(或 XeTeX,我不确定哪个是什么意思,但我还是用它...),它是 LaTeX 在字体和语言使用方面的进化。

我建议你看一下 XeLaTeX。在 XeLaTeX 中你不再需要 babel 包,而且根据我的经验arabxetex,LaTeX 包arabi或 的XeLaTeX 对应包arabtex比这两个都好。

我的序言如下:

\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{arabxetex}

\newfontfamily\arabicfont[Script=Arabic, Scale=1]{Traditional Arabic}
\newfontfamily\farsifont[Script=Arabic, Scale=1]{Farsi Simple Bold}
\defaultfontfeatures{Mapping=tex-text}

\usepackage[T1]{fontenc}

\setsansfont[Mapping=text-text]{Latin Modern Sans}

我的阿拉伯语和波斯语字体分别是传统阿拉伯语和波斯语简易字体,它们可以在 Windows 中使用。

这就是我在文章中处理阿拉伯语和波斯语的方式:

\textarab[utf]{ ...كمثل الحمار يحمل أسفاراً ...}

\textfarsi[utf]{هم عمل هم علم باهم یار داشت}

不幸的是,与 LaTeX 和许多其他开源软件一样,XeLaTeX 中的文档很少或呈现得不好。(我无意贬低为这些项目付出的大量工作,但我希望进入的门槛可以降低。)学习需要时间,但最终会有所回报。

希望这可以帮助。

答案3

我不知道阿拉伯语排版,但我确实看过本次演讲Idris Hamid 在 TUG 2010 上发表了关于一个名为 Oriental TeX 的项目的文章,我记得当时对它印象非常深刻。

我理解它使用 ConTeXt mkIV 和 LuaTeX。

答案4

我对使用 LaTeX 排版阿拉伯语一无所知。以下内容应该是注释,但对于注释字段来说太长了。

  • CTAN 始终拥有最新的稳定软件包。
  • 与您安装的软件包相比,2009 年 9 月的版本并不算过时。Ubuntu 10.04(和 10.10)包含 TeX Live 2009,它是 2009 年夏季的某个时候发布的软件包。
  • 通常,您可以在命令行上找到已安装软件包的文档texdoc 〈packagename〉。但是,这种机制似乎对 Ubuntu 软件包不太适用(至少在我的系统上)。
  • 文档(如果有)始终可以在以下位置找到氯化三乙胺.例如arabiarabtex。不过这两个软件包最近都没有太大的进展。
  • 您可以使用 XeLaTeX 或 LuaLaTeX 来代替传统的 pdfTeX 引擎来处理文档,这两个引擎可以接受所有 Unicode 输入以及任意 TrueType 和 OpenType 字体。您可以尝试适应针对天城文的类似问题的答案xelatex. 使用而不是 来编译文档(pdf)latex
  • 如果你使用最后一条建议,我还建议你将 Ubuntu 软件包替换为最新版本的 TeX Live能够利用所有最新发展成果。

相关内容