我有一份文件需要用英语和阿拉伯语书写,在序言中我添加了:
\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE]{fontenc}
\usepackage[arabic,english]{babel}
我正在使用Overleaf 中的 Latex 阿拉伯语示例。 刚刚添加english
。
完整对应的源代码如下:
\documentclass[11pt,a4paper]{report}
\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE]{fontenc}
\usepackage[arabic,english]{babel}
\title{
\Huge\textsc{اللغة العربية}
}
\author{سالم البوزيدي}
\begin{document}
\maketitle
\tableofcontents
\chapter{علوم الحاسوب}
\section{تاريخ}
...يعود تاريخ علوم الحاسوب إلى اختراع أول حاسوب رقمي حديث. فقبل العشرينات من القرن العشرين
\section{English section}
Trying to type in English but it doesn't work.
\end{document}
我无法编译该文档并出现此错误:
LaTeX 错误:命令 \ayn 在编码 OT1 时不可用。
答案1
[免责声明/披露:我是 Overleaf 的支持人员。]
如果您需要使用 pdflatex 编译您的项目(可能是由于期刊出版商的要求),那么您的代码只需要进行一些更改:
假设您想要将文档主要排版为阿拉伯语并包含一些英语部分,则您应该将其arabic
作为 的最后一个选项加载babel
,或将其明确标记为main
:
\usepackage[main=arabic,english]{babel}
然后将英文文本标记为“otherlanguage”:
\begin{otherlanguage}{english}
\section{English section}
Trying to type in English, it works now.
\end{otherlanguage}
如果您需要将主要语言保留为英语:那么阿拉伯语文本部分需要用\begin{otherlanguage}{arabic}...\end{otherlanguage}
.包装fontenc
,还需要一个额外的T1
选项。完整的代码重写示例:
\documentclass[11pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE,T1]{fontenc}
\usepackage[arabic,main=english]{babel}
\title{
\Huge\textsc{اللغة العربية}
}
\author{سالم البوزيدي}
\begin{document}
\begin{otherlanguage}{arabic}
\maketitle
\end{otherlanguage}
\tableofcontents
\begin{otherlanguage}{arabic}
\chapter{علوم الحاسوب}
\section{تاريخ}
...يعود تاريخ علوم الحاسوب إلى اختراع أول حاسوب رقمي حديث. فقبل العشرينات من القرن العشرين
\end{otherlanguage}
\section{English section}
Trying to type in English; it works now.
\end{document}
如果你是允许使用 XeLaTeX 或 LuaLaTeX,然后参阅 Overleaf 上的帮助页面,了解fontspec
如何选择字体。XeLaTeX/LuaLaTeX 在处理 unicode 输入方面更强大。您可以使用polyglossia
或者babel
。