% !TEX encoding = UTF-8
% !TeX program = pdflatex
% !TeX spellcheck = fr_FR
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
%\usepackage[all]{utf8ext}
%\makeatletter\chardef\l@hebrew=255 \makeatother
\makeatletter\let\l@hebrew\l@nohyphenation\makeatother
\usepackage{silence}
\WarningsOff[caption]
\usepackage[greek.polutoniko,french]{babel}
\let\mainlangage\languagename
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern}
%\usepackage{cbgreek}
\usepackage{cjhebrew}
\usepackage{caption}
\usepackage{etoolbox}
\usepackage[margin=25mm]{geometry}
%\usepackage{mathtools,amssymb}
\usepackage[rgb,svgnames,fixpdftex,hyperref]{xcolor}
\usepackage{graphicx}
%\usepackage{lipsum}
\usepackage{enumitem}
\usepackage{array}
\newcommand{\mymeaning}[1]{{\small\noindent{\bfseries \string #1} = \meaning #1\par\medskip}}
%\usepackage[colorlinks]{hyperref}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Charactères hébreux avec leur "equivalent" Latin selon cjhebrew
\usepackage{newunicodechar}
\AtBeginDocument{%
\languageshorthands{none}
%  aleph % bet % gimel % dalet
\newunicodechar{א}{'} \newunicodechar{ב}{b} \newunicodechar{ג}{g} \newunicodechar{ד}{d} 
%  he%  vav%  zayin %  het
\newunicodechar{ה}{h} \newunicodechar{ו}{w} \newunicodechar{ז}{z} \newunicodechar{ח}{.h}
%  tet %  yod %  kaf final %  kaf
\newunicodechar{ט}{.t} \newunicodechar{י}{y} \newunicodechar{ך}{K} \newunicodechar{כ}{k} 
%  lamed %  mem final %  mem% nun final %  nun
\newunicodechar{ל}{l}  \newunicodechar{ם}{M} \newunicodechar{מ}{m} \newunicodechar{ן}{N} \newunicodechar{נ}{n} 
%  samekh %  ayin %  pe final %  pe
\newunicodechar{ס}{s} \newunicodechar{ע}{`} \newunicodechar{ף}{P} \newunicodechar{פ}{p} 
%  tsadi final %  tsadi %  kof  %  rech
\newunicodechar{ץ}{.S} \newunicodechar{צ}{.s} \newunicodechar{ק}{q} \newunicodechar{ר}{r}
%  shin %  tav
\newunicodechar{ש}{/s} \newunicodechar{ת}{t} 
% Autres (à completer selon les besoins)
\newunicodechar{אָ}{A'} % aleph quamats
\newunicodechar{אַ}{a'} % aleph patah
\newunicodechar{בּ}{b*} % bet dagesh
\newunicodechar{שׂ}{,s} % shin point sine
\newunicodechar{שׁ}{+s} % shin point shin
\newunicodechar{שּׁ}{+s*} % shin daguesh point shin
%\newunicodechar{ְ}{:} % cheva
\languageshorthands{\mainlangage}
}
\AtBeginEnvironment{cjhebrew}{\languageshorthands{none}}
\AtEndEnvironment{cjhebrew}{\languageshorthands{\mainlangage}}
\patchcmd{\cjRL}{\beginR}{\languageshorthands{none}\beginR}{}{}
%%%%%%%%
% Greek
\newcommand*{\lishape}{\fontshape{li}\selectfont}
\DeclareTextFontCommand{\textli}{\lishape}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
{\centering \Large \bfseries Écrire de l’hébreu (et du grec) en pdfLaTeX\par}
\bigskip

\noindent\textgreek{ἀλλ' οὐ λέγουσι τὸ διὰ τί περὶ οὐδενός, οἷον διὰ}\\
\textgreek{\itshape ἀλλ' οὐ λέγουσι τὸ διὰ τί περὶ οὐδενός, οἷον διὰ} \quad \quad Voir le document source\\
\textgreek{\lishape ἀλλ' οὐ λέγουσι τὸ διὰ τί περὶ οὐδενός, οἷον διὰ}\\

Pour quelques phases (ou mots)  en hébreu, il n’est pas nécessaire de passez à XeLaTeX.
Il suffit d’installer le paquet \textsf{cjhebrew} qui contient les polices et le fichier de style qui les configure.
On n’a même pas réeelement besoin du  paquet \textsf{babel-hebrew}. 

\noindent On doit alors le charger avec \verb+\usepackage{cjhebrew}+ (et si on y tient, passer l’option \texttt{hebrew} à \textsf{babel} avec \verb+\usepackage[,...,french]{babel}+, \texttt{french} étant ainsi alors le langage par défaut).


%\noindent 
Le paquet  \textsf{cjhebrew} utilise une translittération en ASCII, (voir tableaux ci-dessous) mais si on veut pouvoir «lire» la source, et éventuellement faire des copier-coller depuis un autre document, on peut définir les équivalences entre les caractères unicodes et les codes de \textsf{cjhebrew}, comme ébauché dans le préambule de ce document, à l’aide du paquet \textsf{newunicodechar} par exemple. Naturellement, il faut aussi choisir  une police d’éditeur qui contient des glyphes hébreux raisonnables.

%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}[b]
\centering
\includegraphics[width=0.6\textwidth]{codecjheb}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%

On dispose alors de l’environnement \texttt{cjhebrew}, qui est utilisé ci-dessous pour écrire le  premier verset de la Genèse, écrit à la fois  avec avec des caractères  hébreux unicodes, et avec les codes ASCII. Noter que :
\begin{itemize}[label=\textendash]
\item  Les \emph{nikkoud} (voyelles), si on veut les utiliser, restent codées par des caractères ASCII car les caractères unicodes correspondants (U+2591--U+05C4) ne se prêtent pas à la méthode \verb+\newunicodechar+, car ils ont une chasse nulle, voire négative). Et il est préférable de les saisir \emph{après} avoir placé les consonnes.
\item L’environnement \verb+\begin{cjhebrew}...\end{cjhebrew}+
respecte pleinement  l'écriture de droite à gauche (RTL), même si les caractères ASCII sont donnés de droite à gauche. Toutefois, si on utilise les unicodes, la plupart des éditeurs basculent automatiquement en  affichage de droite à gauche.
\item Dans le préambule, on désactive les «shorthand» de \textsf{babel} pour l’environnement \verb+cjhebrew+ (et aussi pour la commande  \verb+\cjRL+ discutée plus bas) afin de rétablir le fonctionnement attendu de  «\verb+:+» qui rend la diacritique «cheva»\footnote{La solution normale serait de faire 
\texttt{\string\selectlanguage{hebrew}} 
mais cela conduirait à remplacer les polices de \textsf{cjhebrew} par d’autres, non nécessairement installées, moins belles, et non vectorielles.}

\fbox{\Large\begin{minipage}{0.7\linewidth}
\begin{cjhebrew}
בּ:רeאשׁiית בּAרAא אE:לoהiים אeת  הaשּׁAמaיiם ו:אeת הAאAרEץ

b*:re'+siyt b*ArA' 'E:lohiym 'et ha+s*Amayim w:'et hA'ArE.s 
\end{cjhebrew}
\end{minipage}%
}
\end{itemize}

Pour des mots hébreux isolés dans un paragraphe en alphabet latin, on a aussi la macro \verb+\cjRL+, qui ne bascule l’affichage du paragraphe, mais écrit le mot dans l’ordre RTL. Ainsi le mot \cjRL{'E:lohiym}  sera obtenu avec \verb+\cjRL{'E:lohiym}+ ou encore \raisebox{-0.25ex}{\includegraphics[height=2.3ex]{cjRL}}.
\cjRL{אE:לoהiים}
\end{document}
 
     



