17

As far as I saw in most TeX code manuals, only four letters of the Hebrew alphabet are available in LaTeX for mathematical symbols. i.e. \aleph, \beth, \gimel, \dalet.

Question: I would like to know whether there are TeX codes for other Hebrew letters or not. And if not, can anybody help to define some codes for them particularly the followings:

Lamed, Mim, Ayin, Tsadi, Qof, Shin

In order to make my question more clear let me add some additional explanations:

I want to use new Hebrew letters in research level mathematical papers. That means, I am looking for a simple code, say \shin, which could be used between dollar symbols $ ... $ (formula environment) in an English-language text and can interact with other mathematical operators like index and power. For example, as we write $\aleph_{8}^{2}$ I would like to write $\shin^{3}$.

5
  • Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. CTAN has a topic on typesetting Hebrew: ctan.org/topic/hebrew. What you've probably read is just concerned with letters which happen to be used in typesetting maths? You should probably look at XeTeX/LuaTeX for typesetting Hebrew as you can use non-TeX fonts and unicode input is default.
    – cfr
    Feb 6 '15 at 1:43
  • @cfr Thanks. I would like to use these letters as mathematical symbols in English texts.
    – user71878
    Feb 6 '15 at 1:49
  • 2
    Well, you need a font which provides the symbols. You can then define them as mathematical symbols. But if you are using LaTeX or pdfLaTeX, I don't think you will find these to match your maths fonts. So you will need to find something which works sufficiently well with whatever you are using. If you are using XeLaTeX or LuaLaTeX, you might be able to use one of the unicode-maths enabled fonts, if there's one which includes these symbols. Otherwise, when you write $\aleph$, that's coming from a TeX maths font (if you are not using unicode maths)...
    – cfr
    Feb 6 '15 at 3:13
  • 1
    and those fonts do not include additional Hebrew characters. (No more do they include all Greek characters, although the coverage is obviously wider in that case.) In any case, there is no general answer to this question. You would need to post a a minimal working example (MWE) showing your font setup, tell us what engine you are using etc.
    – cfr
    Feb 6 '15 at 3:15
  • 2
    The command for the 4th letter of the Hebrew alphabet is \daleth, i.e. with an 'h' on the end. Sep 1 '15 at 0:10
17

I can show you how to do this in clear plain TeX and in plain TeX with OPmac. First clear plain TeX:

\newfam\hebfam
\font\tmp=rcjhbltx at10pt \textfont\hebfam=\tmp
\font\tmp=rcjhbltx at7pt  \scriptfont\hebfam=\tmp
\font\tmp=rcjhbltx at5pt  \scriptscriptfont\hebfam=\tmp

\edef\declfam{\ifcase\hebfam 
     0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or A\or B\or C\or D\or E\or F\fi}

\mathchardef\shin   = "0\declfam 98 % 98 is hexa code of shin
\mathchardef\aleph  = "0\declfam 27
\mathchardef\beth   = "0\declfam 62
\mathchardef\gimel  = "0\declfam 67
\mathchardef\daleth = "0\declfam 64
\mathchardef\lamed  = "0\declfam 6C
\mathchardef\mim    = "0\declfam 6D
\mathchardef\ayin   = "0\declfam 60
\mathchardef\tsadi  = "0\declfam 76
\mathchardef\qof    = "0\declfam 72

Now I can use $A_\shin, \shin$ or $B^\shin$.

\bye

The solution is based on the font rcjhbltx which is present in common TeX distributions. The encoding of this font is described in the file cjhebltx.enc. You can look into this file in order to find another codes you need.

The main disadvantage of clear plain TeX is that the main font size is fixed to 10pt and the math typesetting is set to fixed 10pt/7pt/5pt. On the other hand, OPmac provides arbitrary size of main font (and derived math typesetting). Finally, the declaration of new math family is more simple:

\input opmac
\addto\normalmath {\loadmathfamily 15 rcjhbltx } \normalmath
\addto\boldmath   {\loadmathfamily 15 rcjhbltx }

\mathchardef\shin   = "0F98  % 98 is hexa code of shin
\mathchardef\aleph  = "0F27
\mathchardef\beth   = "0F62
\mathchardef\gimel  = "0F67
\mathchardef\daleth = "0F64
\mathchardef\lamed  = "0F6C
\mathchardef\mim    = "0F6D
\mathchardef\ayin   = "0F60
\mathchardef\tsadi  = "0F76
\mathchardef\qof    = "0F72

Now I can use $A_\shin, \shin$ or $B^\shin$. (10pt size)

\typosize[12.3/15]

Now I can use $A_\shin, \shin$ or $B^\shin$. (12.3pt size)

\bye

shin

2
  • 1
    Thanks a lot! It works properly. Just two points! (1) Would you please let me know what are the hexa code of the other characters of Hebrew alphabet? (2) In the resulting pdf file, the Hebrew letters looks a bit "bold" with respect to other mathematical symbols or other characters of the text. Is there any way to fix this problem?
    – user71878
    Feb 10 '15 at 6:34
  • 1
    @Ali Ad (1) Create a font table. After the command tex testfont and on the prompt Name of the font to test = write rcjhbltx and on the prompt * write \table\end. The table testfont.dvi is created. Ad (2). Try to find another hebrew font.
    – wipet
    Feb 10 '15 at 7:31
16

A LaTeX complement to wipet's excellent answer.

\documentclass{article}
\usepackage{amsmath,amssymb}

\DeclareFontFamily{U}{rcjhbltx}{}
\DeclareFontShape{U}{rcjhbltx}{m}{n}{<->rcjhbltx}{}
\DeclareSymbolFont{hebrewletters}{U}{rcjhbltx}{m}{n}

% remove the definitions from amssymb
\let\aleph\relax\let\beth\relax
\let\gimel\relax\let\daleth\relax

\DeclareMathSymbol{\aleph}{\mathord}{hebrewletters}{39}
\DeclareMathSymbol{\beth}{\mathord}{hebrewletters}{98}\let\bet\beth
\DeclareMathSymbol{\gimel}{\mathord}{hebrewletters}{103}
\DeclareMathSymbol{\daleth}{\mathord}{hebrewletters}{100}\let\dalet\daleth

\DeclareMathSymbol{\lamed}{\mathord}{hebrewletters}{108}
\DeclareMathSymbol{\mem}{\mathord}{hebrewletters}{109}\let\mim\mem
\DeclareMathSymbol{\ayin}{\mathord}{hebrewletters}{96}
\DeclareMathSymbol{\tsadi}{\mathord}{hebrewletters}{118}
\DeclareMathSymbol{\qof}{\mathord}{hebrewletters}{113}
\DeclareMathSymbol{\shin}{\mathord}{hebrewletters}{152}

\begin{document}

Now I can use $A_\shin$, $\shin$ or $B^\shin$.

$X\aleph\beth\gimel\daleth\lamed\mem\ayin\tsadi\qof\shin X$

$\bet\dalet\mim$

\end{document}

We declare a new font family in the generic U encoding and then assign it a font. Then a math symbol font is defined and the codes assigned to the commands.

The glyphs from amssymb and Computer Modern (aleph) are disabled and reassigned for uniformity.

enter image description here

I also add a table of the rcjhbltx font so that codes for other glyphs can be derived.

enter image description here

6
  • The numeric code for \qof should be 113, not 114. I'd edit the answer, but the site isn't allowing an edit that small.
    – DXsmiley
    Aug 27 '18 at 2:32
  • @DXsmiley I take your word on this and edit.
    – egreg
    Aug 27 '18 at 8:24
  • How to get the same in LuaLaTeX? I want to use Mayan Numerals from 'BabelStone Mayan Numerals' font in math mode!
    – tatojo
    Sep 27 '18 at 12:03
  • @tatojo That's a completely different question.
    – egreg
    Sep 27 '18 at 12:50
  • @egreg: Thanks, very useful. Can you explain how to increase the size? I would like my Hebrew letters be of the size of Latin capital letters. May 17 '20 at 20:47
1

As of 2021, this question could use an update. In PDFTeX, the Culmus Project fonts are now available for 8-bit LaTeX, through the culmus-latex package.

\documentclass{article}
\usepackage{amsmath,amssymb}
% The culmus-latex package is available for free  at:
% https://sourceforge.net/projects/ivritex/files/culmus-latex/
\usepackage{culmus}

% Use Frank Ruehl CLM as a math symbol font:
\DeclareSymbolFont{alephbet}{HE8}{frank}{m}{n}
\SetSymbolFont{alephbet}{bold}{HE8}{frank}{b}{n}

% remove the definitions from amssymb
\let\aleph\relax\let\beth\relax
\let\gimel\relax\let\daleth\relax

\DeclareMathSymbol{\aleph}{\mathord}{alephbet}{"E0}
\DeclareMathSymbol{\beth}{\mathord}{alephbet}{"E1}
\DeclareMathSymbol{\gimel}{\mathord}{alephbet}{"E2}
\DeclareMathSymbol{\daleth}{\mathord}{alephbet}{"E3}
\DeclareMathSymbol{\he}{\mathord}{alephbet}{"E4}
\DeclareMathSymbol{\vav}{\mathord}{alephbet}{"E5}
\DeclareMathSymbol{\zayin}{\mathord}{alephbet}{"E6}
\DeclareMathSymbol{\het}{\mathord}{alephbet}{"E7}
\DeclareMathSymbol{\tet}{\mathord}{alephbet}{"E8}
\DeclareMathSymbol{\yod}{\mathord}{alephbet}{"E9}
\DeclareMathSymbol{\kaf}{\mathord}{alephbet}{"EB}
\DeclareMathSymbol{\lamed}{\mathord}{alephbet}{"EC}
\DeclareMathSymbol{\mem}{\mathord}{alephbet}{"EE}
\DeclareMathSymbol{\nun}{\mathord}{alephbet}{"F0}
\DeclareMathSymbol{\samech}{\mathord}{alephbet}{"F1}
\DeclareMathSymbol{\ayin}{\mathord}{alephbet}{"F2}
\DeclareMathSymbol{\pe}{\mathord}{alephbet}{"F4}
\DeclareMathSymbol{\tsadi}{\mathord}{alephbet}{"F6}
\DeclareMathSymbol{\qof}{\mathord}{alephbet}{"F7}
\DeclareMathSymbol{\resh}{\mathord}{alephbet}{"F8}
\DeclareMathSymbol{\shin}{\mathord}{alephbet}{"F9}
\DeclareMathSymbol{\tav}{\mathord}{alephbet}{"FA}


\begin{document}

Now I can use $A_\shin$, $\shin$ or $B^\shin$.

{\bfseries\boldmath Also, $A_\shin$, $\shin$ or $B^\shin$.}

$X\aleph\beth\gimel\daleth\he\vav\zayin\het\tet\yod\kaf\lamed\mem\nun\samech\ayin\pe\tsadi\qof\resh\shin\tav X$

\end{document}

Frank Ruehl sample

To install the package, decompress the files to your local TeX tree, then run

texhash
updmap-sys --enable Map=culmus.map

I used Frank Ruehl for this example, but many other fonts are supported.

In LuaLaTeX or XeLaTeX, it is probably more convenient to switch to text mode and use an OpenType font. (Although it is also possible to declare Hebrew letters from a Unicode-encoded symbol font.) In this example, I use Libertinus Serif with Libertinus Math:

\documentclass{article}
\usepackage{Libertinus} % For example

\newcommand\vav{\textup{\rmfamily\symbol{"05D5}}} % ו
\newcommand\shin{\textup{\rmfamily\symbol{"05E9}}} % ש

\begin{document}
\section*{The Symbol \(\shin\)}

\( f(t) \cdot \shin \)
\end{document}

Libertinus Serif sample

The hex codes here are the Unicode codepoints of the Hebrew letters.

You can insert any text-mode commands within \textup or \textnormal, including switching to a Hebrew font that you load with fontspec.

If you need so many symbol alphabets that you’re using Hebrew, you will not run out if you use unicode-math.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy