我正在用法语写一本书,但我需要用阿拉伯语写一章。为此,我使用了 arabtex。
\usepackage{arabtex}
在序言之后我做了这个
\chapter*{\<السلام عليكم>}
编译我的代码后我得到了这个:
! Illegal arabic command: ?.\a@cmderr ...age {Illegal arabic command: \nxp #1}\a@@cmd = {{\a@puttt #1\ar... \chapter{\<?????? ?????>}
但是当我用 \<> 标签更改阿拉伯字母时
\chapter*{\<this is an arabic message>}
我有 :
这有点随机且无关紧要,那么我如何在我的 texmaker 编辑器中用阿拉伯语书写并正确编译我的代码?
编辑:这是一个完整的例子:
\documentclass[parskip=full,12pt,a4paper,twoside,frenchb,openany,fleqn]{book}
\usepackage{arabtex}
\usepackage[latin1]{inputenc}
\usepackage{titlesec}
\usepackage{ae}
\usepackage{aecompl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[Sonny]{fncychap}
\begin{document}
\chapter{\<سلام>}
\end{document}
答案1
文档中介绍了这一点。手册第 34 页解释了如何使用 UTF-8 编码。将说明应用于您的示例:
\documentclass[parskip=full,12pt,a4paper,twoside,frenchb,openany,fleqn]{book}
\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage{utf8}
\setcode{utf8}
\usepackage{titlesec}
\usepackage{ae}
\usepackage{aecompl}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage[Sonny]{fncychap}
\begin{document}
\setarab
\chapter{\<سلام>}
\end{document}
\usepackage[utf8]{inputenc}
不是必需的,但您无法以两种输入编码保存文件,因此您需要 或utf8
。latin1
因此,您需要更改 选项,如图inputenc
所示,因为您想对阿拉伯语使用 UTF-8。
请注意,此代码使用的是过时的命令。(例如,某些命令仍在使用 LaTeX2e 之前的字体开关。)此外,您还应考虑切换ae
并使用包含字符cm-super
且lmodern
不需要模拟的字体。
保存文件时,您必须确保以正确的编码保存。如果您使用的是latin1
,请尝试保存新版本并仔细检查编辑器使用的编码。否则您会发现字符变成了问号。