22

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, 2015 at 1:43
  • @cfr Thanks. I would like to use these letters as mathematical symbols in English texts.
    – user71878
    Feb 6, 2015 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, 2015 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, 2015 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, 2015 at 0:10

4 Answers 4

18

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, 2015 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, 2015 at 7:31
19

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, 2018 at 2:32
  • @DXsmiley I take your word on this and edit.
    – egreg
    Aug 27, 2018 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, 2018 at 12:03
  • @tatojo That's a completely different question.
    – egreg
    Sep 27, 2018 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, 2020 at 20:47
2

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.

0

I found it most convenient to use the cjhebrew package, see: https://ctan.org/pkg/cjhebrew

It's in standard packages so trivial to include and very easy to use, supports also more advanced things such as changing direction (right-to-left, as in Hebrew) and adjusting the fonts as necessary for end-of-word characters (which are different in Hebrew for some characters). Very easy to use (definitely if you only need few characters).

1
  • Thanks for the contribution and welcome. However, the question is not how to typeset Hebrew, but how to get Hebrew letters as math symbols.
    – egreg
    Jun 9, 2022 at 7:51

You must log in to answer this question.