在 Babel 中使用阿拉伯语时出现奇怪的错误(TeXLive 2019)

在 Babel 中使用阿拉伯语时出现奇怪的错误(TeXLive 2019)

我遇到了一个奇怪的问题。在 的早期版本上正确编译的文件TeXLive在 上无法运行TeXLive 2019。问题似乎出在babelarabic(或修改后的波斯语)上。

看看这个例子:

% !TEX TS-program = LuaLaTeX
\documentclass{article}
\usepackage[arabic]{babel}
\begin{document}
سلام.
\end{document}

给出此错误:

This is LuaTeX, Version 1.10.0 (TeX Live 2019/W32TeX) 
 restricted system commands enabled.
(./x.tex
LaTeX2e <2018-12-01>

luaotfload | main : initialization completed in 0.235 seconds
(c:/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(c:/texlive/2019/texmf-dist/tex/latex/base/size10.clo))
(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.sty
(c:/texlive/2019/texmf-dist/tex/generic/babel/switch.def)
(c:/texlive/2019/texmf-dist/tex/generic/babel/luababel.def)
(c:/texlive/2019/texmf-dist/tex/latex/arabi/arabic.ldf
(c:/texlive/2019/texmf-dist/tex/generic/babel/babel.def
(c:/texlive/2019/texmf-dist/tex/generic/babel/luababel.def))
Loading the definitions for the LaTeX{} Arabic encoding
(c:/texlive/2019/texmf-dist/tex/latex/arabi/laeenc.def)
Loading the Common definitions for Arabic and Farsi
(c:/texlive/2019/texmf-dist/tex/latex/arabi/arabicore.sty
  Arabi Core switching commands v1.0  2006/01/01   (may still change)  
! String contains an invalid utf-8 sequence.
l.137 \ifcase#1\or 
                 ��������� � \ \or �����������^^@�^^@^^@
? 

答案1

我猜你的系统使用的是旧方法arabipdflatex这里介绍如何使用 babel 来书写阿拉伯语lualatex

\documentclass{article}
\usepackage[bidi=basic-r]{babel}
\babelprovide[import=ar, main]{arabic}
\babelfont{rm}{Amiri}
\begin{document}
سلام.
\end{document}

在此处输入图片描述

相关内容