memoir documentclass 下 utf8 和 arabtex 的替代方案

memoir documentclass 下 utf8 和 arabtex 的替代方案

我想使用下的utf8和包,但这似乎不太可能发生(arabtexmemoir documentclass先前的讨论)。有什么好的替代方案吗,不需要音译,而且可以与 T1 编码配合使用?

\documentclass[a4paper,oneside,12pt]{memoir}
\usepackage[T1]{fontenc}
\usepackage{arabtex}
\usepackage{utf8}


\begin{document}

بسم الله الرحمن الرحيم

\end{document}

这将产生一个错误:

("C:\Program Files\MiKTeX\tex\latex\arabtex\arabtex.sty"
("C:\Program Files\MiKTeX\tex\latex\arabtex\aconfig.sty")
("C:\Program Files\MiKTeX\tex\latex\arabtex\arabaux.sty")

! Class memoir Error: Font command \it is not supported.

See the memoir class documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.551 \settransfont {\rm \it }
                              % standard font for transliteration

答案1

您可以通过在之后写入来恢复“旧”字体命令的功能\documentclass[<options>]{memoir}

\makeatletter
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\makeatother

然而,正如扬尼斯所说,

\documentclass[<options>,oldfontcommands]{memoir}

无需额外代码即可完成此操作。这里<options>代表您要传递给的所有其他选项memoir,在您的例子中将其称为

\documentclass[a4paper,oneside,12pt,oldfontcommands]{memoir}

答案2

如果您不介意切换到其他引擎,以下内容应该可以与 XeTeX(xelatex)一起使用,并且您可以访问任何阿拉伯语 OpenType 字体:

\documentclass[a4paper,oneside,12pt]{memoir}

\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}

\newfontfamily\arabicfont[Script=Arabic]{Amiri} % or any other font


\begin{document}

\textarabic{بسم الله الرحمن الرحيم}

\begin{Arabic}
بسم الله الرحمن الرحيم
\end{Arabic}

\end{document}

答案3

Khaled 的答案在很多情况下都很好用,但对我来说,当我写阿拉伯语时,总会与一个或多个包发生冲突。如果我不想用阿拉伯语输入整个文本,我在一个 TexShop 模板中找到的解决方案是:

\newfontfamily{\A}{Geeza Pro} %or any other font
{\A بسم الله الرحمن الرحيم}

相关内容