[Tex/LaTex] pdflatex + Babel + Arabic & Hebrew

arabicbabelhebrew

I'm trying to use Babel for Arabic & Hebrew (both as secondary to English) in pdflatex. I had it working for just Arabic with

\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[arabic,hebrew,english]{babel}   

\usepackage{hyperref}
\usepackage{times}
\usepackage{latexsym}
\usepackage{booktabs}
\usepackage{url}
\begin{document}
\AR{أهلاً}
%\foreignlanguage{hebrew}{שלום}
\end{document}

But I can't figure out how to extend this for Hebrew. As soon as I try to add Hebrew (uncomment the line above), it gives me an encoding error on the Hebrew. If I switch to utf8x, it gives me an encoding error on the Arabic.

As suggested, I've tried switching to xelatex and polyglossia. This can display Arabic and Hebrew, however when I add in the style file I need with hyperref, it breaks. Here's that minimal working example:

\documentclass[11pt,a4paper]{article}

\usepackage[hyperref]{sty_file}
\usepackage{times}
\usepackage{latexsym}
\usepackage{booktabs}
\usepackage{url}

\usepackage{polyglossia}

\setdefaultlanguage{english}
%\setotherlanguage{arabic}
%\setotherlanguage{hebrew}

%\newfontfamily\arabicfont{Amiri}[Script=Arabic]
%\newfontfamily\hebrewfont{Noto Sans Hebrew}[Script=Hebrew]

\title{Hebrew Arabic Test}

\begin{document}
\maketitle

English

%\begin{Arabic}
%أهلاً
%\end{Arabic}

%\begin{hebrew}
%שלום
%\end{hebrew}

\end{document}

As soon as you uncomment the first commented lines, it breaks my styling. It would be a lot to paste the style file here, but it is included in this overleaf document.

Any ideas? I've tried everything else I found on this stack exchange with no luck. :/ Thanks!

Best Answer

Update

This appears to work for this simple example. The stylesheet loads several packages in an order that conflicted with the packages loaded from polyglossia, and also used some NFSS font commands that needed to be redefined for fontspec.

It must be compiled in XeLaTeX.

\documentclass[11pt,a4paper]{article}

%\usepackage{times}
\usepackage{fontspec}
\RequirePackage{xcolor}
\RequirePackage{hyperref}
\RequirePackage{natbib}
\usepackage{polyglossia}
\setmainfont{TeX Gyre Termes}[
  SizeFeatures = {
    {Size=-10,     OpticalSize=8 },
    {Size= 10,     OpticalSize=10},
    {Size= 11,     OpticalSize=11},
    {Size= 12-13,  OpticalSize=12},
    {Size= 14-18,  OpticalSize=14},
    {Size=    18-, OpticalSize=18}}
]
\defaultfontfeatures{Scale=MatchUppercase}

\setmainlanguage{english}
\setotherlanguage{arabic}
\setotherlanguage{hebrew}

\newfontfamily\arabicfont{Amiri}[Script=Arabic]
\newfontfamily\hebrewfont{Noto Sans Hebrew}[Script=Hebrew]

\usepackage[hyperref]{sty_file}
%% sty_file defines the legacy font command:
% \font\naaclhv  = phvb at 8pt 
%% This is Helvetica Bold.
\makeatletter
\newfontface\@hv{TeX Gyre Heros Bold}[Scale=1.0, OpticalSize=8]
\renewcommand\naaclhv{\fontsize{8}{8}\@hv}
\makeatother

\usepackage{booktabs}
\usepackage{url}

\title{Hebrew Arabic Test}

\begin{document}
\maketitle

English

\begin{Arabic}
أهلاً
\end{Arabic}

\begin{hebrew}
שלום
\end{hebrew}

\end{document}

Possibly-Correct Example

Previous

The following works for me in XeLaTeX:

\documentclass[preview]{standalone}

%\usepackage[hyperref]{sty_file}
%\usepackage{times}
\usepackage{latexsym}
\usepackage{booktabs}
\usepackage{url}

\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguage{arabic}
\setotherlanguage{hebrew}

\setmainfont{TeX Gyre Termes}
%\defaultfontfeatures{Scale=MatchUppercase} % Should uncomment this.
\newfontfamily\arabicfont{Amiri}[Script=Arabic]
\newfontfamily\hebrewfont{Noto Sans Hebrew}[Script=Hebrew]

\title{Hebrew Arabic Test}

\begin{document}
\maketitle

English

\begin{Arabic}
أهلاً
\end{Arabic}

\begin{hebrew}
שלום
\end{hebrew}

\end{document}

English/Arabic/Hebrew Sample

Previous

Thank you for posting a link to the stylesheet. It isn’t compatible with fontspec in a number of ways. Some can be easily fixed; for example, the line \font\naaclhv = phvb at 8pt can be patched over by adding this afterward:

\makeatletter
\newfontface\@hv{TeX Gyre Heros Bold}[Scale=1.0, OpticalSize=8]
\renewcommand\naaclhv{\fontsize{8}{8}\@hv}
\makeatother

This makes the line, “Confidential Review Copy. DO NOT DISTRIBUTE.” display properly. Similarly, you can replace times with TeX Gyre Termes or Times New Roman.

However, you would need to rewrite large parts of the stylesheet to get your submission to work the way you want, starting with its \maketitle, and you really should ask the journal itself how to proceed.

Related Question