summaryrefslogtreecommitdiff
path: root/language/hebrew/hebtex/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/hebrew/hebtex/macros
Initial commit
Diffstat (limited to 'language/hebrew/hebtex/macros')
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/8859-8.def159
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/babel/babel.def666
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/babel/babel.sty228
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/babel/hebrew.sty98
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/cp1255.def202
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/cp862.def178
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebcal.sty593
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebfont.sty109
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebrew.fdd785
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebrew.ldf223
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebrew_newcode.sty87
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebrew_oldcode.sty87
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebrew_p.sty87
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/hebtech.cls485
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lheclas.fd100
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lhecmr.fd106
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lhecmss.fd112
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lhecmtt.fd106
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lhecrml.fd100
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lheenc.def124
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lhefr.fd112
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lheredis.fd123
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lheshold.fd91
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lheshscr.fd91
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/lheshstk.fd91
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/rlbabel.def809
-rw-r--r--language/hebrew/hebtex/macros/latex_macros/si960.def87
-rw-r--r--language/hebrew/hebtex/macros/readme7
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/dots.tex90
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/epsf.tex194
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/fonttable.tex58
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/hclassic.tex21
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/heb_cs_guide.tex96
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/heb_macros.tex268
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/heb_macros_newcode.tex273
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/heb_pc.tex273
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/hebcal.tex908
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/hebcal_newcode.tex908
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/hebcal_p.tex908
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/hletter1.tex92
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/null.tex2
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/rotate.tex44
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/rotsample.tex33
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/testfont.tex208
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/verbatim.tex42
-rw-r--r--language/hebrew/hebtex/macros/tex_macros/vowels.tex71
46 files changed, 10535 insertions, 0 deletions
diff --git a/language/hebrew/hebtex/macros/latex_macros/8859-8.def b/language/hebrew/hebtex/macros/latex_macros/8859-8.def
new file mode 100644
index 0000000000..57c0d9bb99
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/8859-8.def
@@ -0,0 +1,159 @@
+%%
+%% This is file `8859-8.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebinp.dtx (with options: `8859-8')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+ \ProvidesFile{8859-8.def}
+ [1997/12/07 v1.0a Input encoding file (test version)]
+\makeatletter
+\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
+\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
+\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
+\ProvideTextCommandDefault{\textthreequarters}{\ensuremath{\frac34}}
+\ProvideTextCommandDefault{\textcent}
+ {\TextSymbolUnavailable\textcent}
+\ProvideTextCommandDefault{\textyen}
+ {\TextSymbolUnavailable\textyen}
+\ProvideTextCommandDefault{\textcurrency}
+ {\TextSymbolUnavailable\textcurrency}
+\ProvideTextCommandDefault{\textbrokenbar}
+ {\TextSymbolUnavailable\textbrokenbar}
+\providecommand{\mathonesuperior}{{^1}}
+\providecommand{\maththreesuperior}{{^3}}
+\providecommand{\mathtwosuperior}{{^2}}
+\DeclareInputText{160}{\nobreakspace}
+\DeclareInputText{162}{\textcent}
+\DeclareInputText{163}{\pounds}
+\DeclareInputText{164}{\textcurrency}
+\DeclareInputText{165}{\textyen}
+\DeclareInputText{166}{\textbrokenbar}
+\DeclareInputText{167}{\S}
+\DeclareInputText{168}{\"{}}
+\DeclareInputText{169}{\textcopyright}
+\DeclareInputMath{170}{\times}
+\DeclareInputText{171}{\guillemotleft}
+\DeclareInputMath{172}{\lnot}
+\DeclareInputText{173}{\-}
+\DeclareInputText{174}{\textregistered}
+\DeclareInputText{175}{\@tabacckludge={}}
+\DeclareInputText{176}{\textdegree}
+\DeclareInputMath{177}{\pm}
+\DeclareInputMath{178}{\mathtwosuperior}
+\DeclareInputMath{179}{\maththreesuperior}
+\DeclareInputText{180}{\@tabacckludge'{}}
+\DeclareInputMath{181}{\mu}
+\DeclareInputText{182}{\P}
+\DeclareInputText{183}{\textperiodcentered}
+\DeclareInputText{184}{\c\ }
+\DeclareInputMath{185}{\mathonesuperior}
+\DeclareInputMath{186}{\div}
+\DeclareInputText{187}{\guillemotright}
+\DeclareInputText{188}{\textonequarter}
+\DeclareInputText{189}{\textonehalf}
+\DeclareInputText{190}{\textthreequarters}
+\DeclareInputText{224}{\alef}
+\DeclareInputText{225}{\bet}
+\DeclareInputText{226}{\gimel}
+\DeclareInputText{227}{\dalet}
+\DeclareInputText{228}{\he}
+\DeclareInputText{229}{\vav}
+\DeclareInputText{230}{\zayin}
+\DeclareInputText{231}{\het}
+\DeclareInputText{232}{\tet}
+\DeclareInputText{233}{\yod}
+\DeclareInputText{234}{\finalkaf}
+\DeclareInputText{235}{\kaf}
+\DeclareInputText{236}{\lamed}
+\DeclareInputText{237}{\finalmem}
+\DeclareInputText{238}{\mem}
+\DeclareInputText{239}{\finalnun}
+\DeclareInputText{240}{\nun}
+\DeclareInputText{241}{\samekh}
+\DeclareInputText{242}{\ayin}
+\DeclareInputText{243}{\finalpe}
+\DeclareInputText{244}{\pe}
+\DeclareInputText{245}{\finaltsadi}
+\DeclareInputText{246}{\tsadi}
+\DeclareInputText{247}{\qof}
+\DeclareInputText{248}{\resh}
+\DeclareInputText{249}{\shin}
+\DeclareInputText{250}{\tav}
+\makeatother
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `8859-8.def'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/babel/babel.def b/language/hebrew/hebtex/macros/latex_macros/babel/babel.def
new file mode 100644
index 0000000000..c512b5e06f
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/babel/babel.def
@@ -0,0 +1,666 @@
+%%
+%% This is file `babel.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babel.dtx (with options: `core')
+%% Copyright 1989-1997 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information see any other copyright notices in
+%% this file.
+%%
+%% This file is part of the Babel system release 3.6.
+%% --------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%% Permission is granted to copy this file to another file with a
+%% clearly different name and to customize the declarations in that
+%% copy to serve the needs of your installation, provided that you
+%% comply with the conditions in the file legal.txt from the LaTeX2e
+%% distribution.
+%%
+%% However, NO PERMISSION is granted to generate or to distribute a
+%% modified version of this file under its original name.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system. You should also ensure that
+%% your modified source file does not generate any modified file with
+%% the same name as a standard file.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, taking care to
+%% observe the conditions in legal.txt; this will ensure that other
+%% users can safely use your modifications.
+%%
+%% You will also need to produce your own, suitably named, .ins file to
+%% control the generation of files from your source file; this file
+%% should contain your own preambles for the files it generates, not
+%% those in the standard .ins files.
+%%
+%% The names of the source files used are shown above.
+%%%\iffalse
+%%% @LaTeX-file{
+%%% author = "Johannes L. Braams",
+%%% version = "3.6h",
+%%% date = "23 January 1997",
+%%% time = "23:49:49 MET",
+%%% filename = "babel.dtx",
+%%% address = "Kooienswater 62
+%%% The Netherlands",
+%%% telephone = "(3179) 352 28 19",
+%%% FAX = "(3170) 343 23 95",
+%%% checksum = "20446 4113 18260 157597",
+%%% email = "JLBraams@cistron.nl (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "babel",
+%%% supported = "yes",
+%%% docstring = "This file, babel.dtx contains the core of
+%%% the babel system as it was described in
+%%% TuGboat Volume 12 no 2 and Volume 14 no 1.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% \fi
+%%
+%% Copyright (C) 1989 -- 1997 by Johannes Braams,
+%% TeXniek
+%% all rights reserved.
+%% Please report errors to: J.L. Braams
+%% JLBraams@cistron.nl
+\ifx\ProvidesFile\@undefined
+ \def\ProvidesFile#1[#2 #3 #4]{%
+ \wlog{#4 #3 <#2>}%
+ }
+\fi
+\ProvidesFile{babel.def}
+ [1997/01/23 v3.6h
+ Babel common definitions]
+\ifx\AtBeginDocument\@undefined
+ \input plain.def\relax
+\fi
+\ifx\iflanguage\@undefined
+ \input switch.def\relax
+\fi
+\def\LdfInit#1#2{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \let\bbl@tempa\relax
+ \expandafter\if\expandafter\@backslashchar
+ \expandafter\@car\string#2\@nil
+ \ifx#2\@undefined
+ \else
+ \def\bbl@tempa{\ldf@quit{#1}}
+ \fi
+ \else
+ \expandafter\ifx\csname#2\endcsname\relax
+ \else
+ \def\bbl@tempa{\ldf@quit{#1}}
+ \fi
+ \fi
+ \bbl@tempa
+ \ifx\originalTeX\@undefined
+ \let\originalTeX\@empty
+ \else
+ \originalTeX
+ \fi}
+\def\ldf@quit#1{%
+ \expandafter\main@language\expandafter{#1}%
+ \catcode`\@=\atcatcode \let\atcatcode\relax
+ \endinput
+}
+\def\ldf@finish#1{%
+ \loadlocalcfg{#1}
+ \expandafter\main@language\expandafter{#1}%
+ \catcode`\@=\atcatcode \let\atcatcode\relax
+ }
+\@onlypreamble\LdfInit
+\@onlypreamble\ldf@quit
+\@onlypreamble\ldf@finish
+\def\main@language#1{%
+ \def\bbl@main@language{#1}%
+ \let\languagename\bbl@main@language
+ \language=\csname l@\languagename\endcsname\relax
+ }
+\ifx\l@english\undefined
+ \let\l@english\z@
+\fi
+\main@language{english}
+\AtBeginDocument{%
+ \expandafter\selectlanguage\expandafter{\bbl@main@language}}
+\def\bbl@add@special#1{\begingroup
+ \def\do{\noexpand\do\noexpand}%
+ \def\@makeother{\noexpand\@makeother\noexpand}%
+ \edef\x{\endgroup
+ \def\noexpand\dospecials{\dospecials\do#1}%
+ \expandafter\ifx\csname @sanitize\endcsname\relax \else
+ \def\noexpand\@sanitize{\@sanitize\@makeother#1}%
+ \fi}%
+ \x}
+\def\bbl@remove@special#1{\begingroup
+ \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty
+ \else\noexpand##1\noexpand##2\fi}%
+ \def\do{\x\do}%
+ \def\@makeother{\x\@makeother}%
+ \edef\x{\endgroup
+ \def\noexpand\dospecials{\dospecials}%
+ \expandafter\ifx\csname @sanitize\endcsname\relax \else
+ \def\noexpand\@sanitize{\@sanitize}%
+ \fi}%
+ \x}
+\def\bbl@afterelse#1\else#2\fi{\fi#1}
+\def\bbl@afterfi#1\fi{\fi#1}
+\def\peek@token#1#2{%
+ \expandafter\let\expandafter\bbl@nexta\csname #1\string#2\endcsname
+ \expandafter\let\expandafter\bbl@nextb
+ \csname system@active\string#2\endcsname
+ \futurelet\bbl@token\test@token}
+\def\test@token{%
+ \let\bbl@next\bbl@nexta
+ \ifcat\noexpand\bbl@token a%
+ \else
+ \ifcat\noexpand\bbl@token=%
+ \else
+ \ifcat\noexpand\bbl@token\noexpand\bbl@next
+ \else
+ \let\bbl@next\bbl@nextb
+ \fi
+ \fi
+ \fi
+ \bbl@next}
+\begingroup
+ \catcode`\~\active
+ \def\x{\endgroup
+ \def\initiate@active@char##1{%
+ \ifcat\noexpand##1\noexpand~\relax
+ \expandafter\edef\csname normal@char\string##1\endcsname{##1}%
+ \expandafter\gdef
+ \expandafter##1%
+ \expandafter{%
+ \expandafter\active@prefix\expandafter##1%
+ \csname normal@char\string##1\endcsname}
+ \else
+ \@activated{##1}%
+ \@namedef{normal@char\string##1}{##1}%
+ \ifx##1'%
+ \let\pr@m@s\bbl@pr@m@s
+ \fi
+ \ifx\KeepShorthandsActive\@undefined
+ \edef\bbl@tempa{\catcode`\noexpand##1\the\catcode`##1}
+ \expandafter\AtEndOfPackage\expandafter{\bbl@tempa}%
+ \fi
+ \@tempcnta=\lccode`\~
+ \lccode`~=`##1%
+ \lowercase{%
+ \catcode`~\active
+ \expandafter\bbl@add@special
+ \csname \string##1\endcsname
+ \AtBeginDocument{\catcode`##1\active}%
+ \expandafter\gdef
+ \expandafter~%
+ \expandafter{%
+ \expandafter\active@prefix\expandafter##1%
+ \csname normal@char\string##1\endcsname}}%
+ \lccode`\~\@tempcnta
+ \fi
+ \@namedef{active@char\string##1}{%
+ \if@safe@actives
+ \bbl@afterelse\csname normal@char\string##1\endcsname
+ \else
+ \bbl@afterfi\csname user@active\string##1\endcsname
+ \fi}%
+ \@namedef{user@active\string##1}{%
+ \expandafter\ifx
+ \csname \user@group @sh@\string##1@\endcsname
+ \relax
+ \bbl@afterelse\csname @sh@\string##1@sel\endcsname
+ {user@active@arg\string##1}{language@active\string##1}%
+ \else
+ \bbl@afterfi\csname \user@group @sh@\string##1@\endcsname
+ \fi}%
+ \@namedef{user@active@arg\string##1}{%
+ \peek@token{@user@active@arg}{##1}}
+ \long\@namedef{@user@active@arg\string##1}####1{%
+ \expandafter\ifx
+ \csname \user@group @sh@\string##1\string####1@\endcsname
+ \relax
+ \bbl@afterelse
+ \csname language@active\string##1\endcsname####1%
+ \else
+ \bbl@afterfi
+ \csname \user@group @sh@\string##1\string####1@%
+ \endcsname
+ \fi}%
+ \@namedef{language@active\string##1}{%
+ \expandafter\ifx
+ \csname \language@group @sh@\string##1@\endcsname
+ \relax
+ \bbl@afterelse\csname @sh@\string##1@sel\endcsname
+ {language@active@arg\string##1}{system@active\string##1}%
+ \else
+ \bbl@afterfi
+ \csname \language@group @sh@\string##1@\endcsname
+ \fi}%
+ \@namedef{language@active@arg\string##1}{%
+ \peek@token{@language@active@arg}{##1}}
+ \long\@namedef{@language@active@arg\string##1}####1{%
+ \expandafter\ifx
+ \csname \language@group @sh@\string##1\string####1@\endcsname
+ \relax
+ \bbl@afterelse
+ \csname system@active\string##1\endcsname####1%
+ \else
+ \bbl@afterfi
+ \csname \language@group @sh@\string##1\string####1@%
+ \endcsname
+ \fi}%
+ \@namedef{system@active\string##1}{%
+ \expandafter\ifx
+ \csname \system@group @sh@\string##1@\endcsname
+ \relax
+ \bbl@afterelse\csname @sh@\string##1@sel\endcsname
+ {system@active@arg\string##1}{normal@char\string##1}%
+ \else
+ \bbl@afterfi\csname \system@group @sh@\string##1@\endcsname
+ \fi}%
+ \@namedef{system@active@arg\string##1}{%
+ \peek@token{@system@active@arg}{##1}}
+ \long\@namedef{@system@active@arg\string##1}####1{%
+ \expandafter\ifx
+ \csname \system@group @sh@\string##1\string####1@\endcsname
+ \relax
+ \bbl@afterelse\csname normal@char\string##1\endcsname####1%
+ \else
+ \bbl@afterfi
+ \csname \system@group @sh@\string##1\string####1@\endcsname
+ \fi}%
+ }%
+ }\x
+\def\active@prefix#1{%
+ \ifx\protect\@typeset@protect
+ \else
+ \bbl@afterfi\protect#1\@gobble
+ \fi}
+\newif\if@safe@actives
+\@safe@activesfalse
+\def\bbl@activate#1{%
+ \expandafter\def
+ \expandafter#1\expandafter{%
+ \expandafter\active@prefix
+ \expandafter#1\csname active@char\string#1\endcsname}%
+}
+\def\bbl@deactivate#1{%
+ \expandafter\def
+ \expandafter#1\expandafter{%
+ \expandafter\active@prefix
+ \expandafter#1\csname normal@char\string#1\endcsname}%
+}
+\def\bbl@firstcs#1#2{\csname#1\endcsname}
+\def\bbl@scndcs#1#2{\csname#2\endcsname}
+\def\declare@shorthand#1#2{\@decl@short{#1}#2\@nil}
+\def\@decl@short#1#2#3\@nil#4{%
+ \def\bbl@tempa{#3}%
+ \ifx\bbl@tempa\@empty
+ \expandafter\let\csname @sh@\string#2@sel\endcsname\bbl@scndcs
+ \else
+ \expandafter\let\csname @sh@\string#2@sel\endcsname\bbl@firstcs
+ \fi
+ \@namedef{#1@sh@\string#2\string#3@}{#4}}
+\def\textormath#1#2{%
+ \ifmmode
+ \bbl@afterelse#2%
+ \else
+ \bbl@afterfi#1%
+ \fi}
+\def\user@group{}
+\def\language@group{english}
+\def\system@group{system}
+\def\useshorthands#1{%
+ \def\user@group{user}%
+ \initiate@active@char{#1}%
+ \bbl@activate{#1}}
+\def\defineshorthand{\declare@shorthand{user}}
+\def\languageshorthands#1{\def\language@group{#1}}
+\def\aliasshorthand#1#2{%
+ \@tempcnta\lccode`\~
+ \lccode`~=`#2%
+ \lowercase{\catcode`~\active\let~#1\catcode`#112\relax}%
+ \lccode`\~\@tempcnta}
+\declare@shorthand{system}{"}{\csname normal@char\string"\endcsname}
+\declare@shorthand{system}{'}{%
+ \textormath{\csname normal@char\string'\endcsname}%
+ {\sp\bgroup\prim@s}}
+\declare@shorthand{system}{`}{\csname normal@char\string`\endcsname}
+\begingroup
+ \catcode`\'\active\let'\relax
+ \def\x{\endgroup
+ \def\bbl@pr@m@s{%
+ \ifx'\@let@token
+ \expandafter\pr@@@s
+ \else
+ \ifx^\@let@token
+ \expandafter\expandafter\expandafter\pr@@@t
+ \else
+ \egroup
+ \fi
+ \fi}%
+ }
+\x
+\initiate@active@char{~}
+\declare@shorthand{system}{~}{\penalty\@M\ }
+\bbl@activate{~}
+\expandafter\def\csname OT1dqpos\endcsname{127}
+\expandafter\def\csname T1dqpos\endcsname{4}
+\ifx\f@encoding\@undefined
+ \def\f@encoding{OT1}
+\fi
+\def\babel@beginsave{\babel@savecnt\z@}
+\newcount\babel@savecnt
+\babel@beginsave
+\def\babel@save#1{%
+ \expandafter\let\csname babel@\number\babel@savecnt\endcsname #1\relax
+ \begingroup
+ \toks@\expandafter{\originalTeX \let#1=}%
+ \edef\x{\endgroup
+ \def\noexpand\originalTeX{\the\toks@ \expandafter\noexpand
+ \csname babel@\number\babel@savecnt\endcsname\relax}}%
+ \x
+ \advance\babel@savecnt\@ne}
+\def\babel@savevariable#1{\begingroup
+ \toks@\expandafter{\originalTeX #1=}%
+ \edef\x{\endgroup
+ \def\noexpand\originalTeX{\the\toks@ \the#1\relax}}%
+ \x}
+\def\bbl@frenchspacing{%
+ \ifnum\the\sfcode`\.=\@m
+ \let\bbl@nonfrenchspacing\relax
+ \else
+ \frenchspacing
+ \let\bbl@nonfrenchspacing\nonfrenchspacing
+ \fi}
+\let\bbl@nonfrenchspacing\nonfrenchspacing
+\def\addto#1#2{%
+ \ifx#1\@undefined
+ \def#1{#2}
+ \else
+ \ifx#1\relax
+ \def#1{#2}
+ \else
+ {\toks@\expandafter{#1#2}%
+ \xdef#1{\the\toks@}}%
+ \fi
+ \fi
+}
+\def\allowhyphens{\penalty\@M \hskip\z@skip}
+\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}%
+ \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@%
+ \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@}
+\def\save@sf@q#1{{\ifhmode
+ \edef\@SF{\spacefactor\the\spacefactor}\else
+ \let\@SF\@empty \fi \leavevmode #1\@SF}}
+\def\bbl@disc#1#2{%
+ \penalty\@M\discretionary{#2-}{}{#1}\allowhyphens}
+\ProvideTextCommand{\quotedblbase}{OT1}{%
+ \save@sf@q{\set@low@box{\textquotedblright\/}%
+ \box\z@\kern-.04em\allowhyphens}}
+\ProvideTextCommandDefault{\quotedblbase}{%
+ \UseTextSymbol{OT1}{\quotedblbase}}
+\ProvideTextCommand{\quotesinglbase}{OT1}{%
+ \save@sf@q{\set@low@box{\textquoteright\/}%
+ \box\z@\kern-.04em\allowhyphens}}
+\ProvideTextCommandDefault{\quotesinglbase}{%
+ \UseTextSymbol{OT1}{\quotesinglbase}}
+\ProvideTextCommand{\guillemotleft}{OT1}{%
+ \ifmmode
+ \ll
+ \else
+ \save@sf@q{\penalty\@M
+ \raise.2ex\hbox{$\scriptscriptstyle\ll$}\allowhyphens}%
+ \fi}
+\ProvideTextCommand{\guillemotright}{OT1}{%
+ \ifmmode
+ \gg
+ \else
+ \save@sf@q{\penalty\@M
+ \raise.2ex\hbox{$\scriptscriptstyle\gg$}\allowhyphens}%
+ \fi}
+\ProvideTextCommandDefault{\guillemotleft}{%
+ \UseTextSymbol{OT1}{\guillemotleft}}
+\ProvideTextCommandDefault{\guillemotright}{%
+ \UseTextSymbol{OT1}{\guillemotright}}
+\ProvideTextCommand{\guilsinglleft}{OT1}{%
+ \ifmmode
+ <%
+ \else
+ \save@sf@q{\penalty\@M
+ \raise.2ex\hbox{$\scriptscriptstyle<$}\allowhyphens}%
+ \fi}
+\ProvideTextCommand{\guilsinglright}{OT1}{%
+ \ifmmode
+ >%
+ \else
+ \save@sf@q{\penalty\@M
+ \raise.2ex\hbox{$\scriptscriptstyle>$}\allowhyphens}%
+ \fi}
+\ProvideTextCommandDefault{\guilsinglleft}{%
+ \UseTextSymbol{OT1}{\guilsinglleft}}
+\ProvideTextCommandDefault{\guilsinglright}{%
+ \UseTextSymbol{OT1}{\guilsinglright}}
+\DeclareTextCommand{\ij}{OT1}{%
+ \allowhyphens i\kern-0.02em j\allowhyphens}
+\DeclareTextCommand{\IJ}{OT1}{%
+ \allowhyphens I\kern-0.02em J\allowhyphens}
+\DeclareTextCommand{\ij}{T1}{\char188}
+\DeclareTextCommand{\IJ}{T1}{\char156}
+\ProvideTextCommandDefault{\ij}{%
+ \UseTextSymbol{OT1}{\ij}}
+\ProvideTextCommandDefault{\IJ}{%
+ \UseTextSymbol{OT1}{\IJ}}
+\def\crrtic@{\hrule height0.1ex width0.3em}
+\def\crttic@{\hrule height0.1ex width0.33em}
+\def\ddj@{%
+ \setbox0\hbox{d}\dimen@=\ht0
+ \advance\dimen@1ex
+ \dimen@.45\dimen@
+ \dimen@ii\expandafter\rem@pt\the\fontdimen\@ne\font\dimen@
+ \advance\dimen@ii.5ex
+ \leavevmode\rlap{\raise\dimen@\hbox{\kern\dimen@ii\vbox{\crrtic@}}}}
+\def\DDJ@{%
+ \setbox0\hbox{D}\dimen@=.55\ht0
+ \dimen@ii\expandafter\rem@pt\the\fontdimen\@ne\font\dimen@
+ \advance\dimen@ii.15ex % correction for the dash position
+ \advance\dimen@ii-.15\fontdimen7\font % correction for cmtt font
+ \dimen\thr@@\expandafter\rem@pt\the\fontdimen7\font\dimen@
+ \leavevmode\rlap{\raise\dimen@\hbox{\kern\dimen@ii\vbox{\crttic@}}}}
+\DeclareTextCommand{\dj}{OT1}{\ddj@ d}
+\DeclareTextCommand{\DJ}{OT1}{\DDJ@ D}
+\ProvideTextCommandDefault{\dj}{%
+ \UseTextSymbol{OT1}{\dj}}
+\ProvideTextCommandDefault{\DJ}{%
+ \UseTextSymbol{OT1}{\DJ}}
+\DeclareRobustCommand{\glq}{%
+ \textormath{\quotesinglbase}{\mbox{\quotesinglbase}}}
+\DeclareRobustCommand{\grq}{%
+ \textormath{\kern-.0125em\textquoteleft\kern.07em}%
+ {\mbox{\textquoteleft}}}
+\DeclareRobustCommand{\glqq}{%
+ \textormath{\quotedblbase}{\mbox{\quotedblbase}}}
+\DeclareRobustCommand{\grqq}{%
+ \textormath{\save@sf@q{\kern-.07em\textquotedblleft\kern.07em}}%
+ {\mbox{\textquotedblleft}}%
+ }
+\DeclareRobustCommand{\flq}{%
+ \textormath{\guilsinglleft}{\mbox{\guilsinglleft}}}
+\DeclareRobustCommand{\frq}{%
+ \textormath{\guilsinglright}{\mbox{\guilsinglright}}}
+\DeclareRobustCommand{\flqq}{%
+ \textormath{\guillemotleft}{\mbox{\guillemotleft}}}
+\DeclareRobustCommand{\frqq}{%
+ \textormath{\guillemotright}{\mbox{\guillemotright}}}
+\def\umlauthigh{%
+ \def\bbl@umlauta##1{{%
+ \expandafter\accent\csname\f@encoding dqpos\endcsname
+ ##1\allowhyphens}}%
+ \let\bbl@umlaute\bbl@umlauta}
+\def\umlautlow{%
+ \def\bbl@umlauta{\protect\lower@umlaut}}
+\def\umlautelow{%
+ \def\bbl@umlaute{\protect\lower@umlaut}}
+\umlauthigh
+\expandafter\ifx\csname U@D\endcsname\relax
+ \csname newdimen\endcsname\U@D
+\fi
+\def\lower@umlaut#1{%
+ {\U@D 1ex%
+ {\setbox\z@\hbox{%
+ \expandafter\char\csname\f@encoding dqpos\endcsname}%
+ \dimen@ -.45ex\advance\dimen@\ht\z@
+ \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
+ \expandafter\accent\csname\f@encoding dqpos\endcsname
+ \fontdimen5\font\U@D #1}}
+\AtBeginDocument{%
+ \DeclareTextCompositeCommand{\"}{OT1}{a}{\bbl@umlauta{a}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{e}{\bbl@umlaute{e}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{i}{\bbl@umlaute{\i}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{\i}{\bbl@umlaute{\i}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{o}{\bbl@umlauta{o}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{u}{\bbl@umlauta{u}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{A}{\bbl@umlauta{A}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{E}{\bbl@umlaute{E}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{I}{\bbl@umlaute{I}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{O}{\bbl@umlauta{O}}%
+ \DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}%
+}
+{\def\format{lplain}
+\ifx\fmtname\format
+\else
+ \def\format{LaTeX2e}
+ \ifx\fmtname\format
+ \else
+ \aftergroup\endinput
+ \fi
+\fi}
+\def\bbl@redefine#1{%
+ \edef\bbl@tempa{\expandafter\@gobble\string#1}%
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1
+ \expandafter\def\csname\bbl@tempa\endcsname}
+\@onlypreamble\bbl@redefine
+\def\bbl@redefine@long#1{%
+ \edef\bbl@tempa{\expandafter\@gobble\string#1}%
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1
+ \expandafter\long\expandafter\def\csname\bbl@tempa\endcsname}
+\@onlypreamble\bbl@redefine@long
+\def\bbl@redefinerobust#1{%
+ \edef\bbl@tempa{\expandafter\@gobble\string#1}%
+ \expandafter\ifx\csname \bbl@tempa\space\endcsname\relax
+ \expandafter\let\csname org@\bbl@tempa\endcsname#1
+ \expandafter\edef\csname\bbl@tempa\endcsname{\noexpand\protect
+ \expandafter\noexpand\csname\bbl@tempa\space\endcsname}%
+ \else
+ \expandafter\let\csname org@\bbl@tempa\expandafter\endcsname
+ \csname\bbl@tempa\space\endcsname
+ \fi
+ \expandafter\def\csname\bbl@tempa\space\endcsname}
+\@onlypreamble\bbl@redefinerobust
+\bbl@redefine\newlabel#1#2{%
+ \@safe@activestrue\org@newlabel{#1}{#2}\@safe@activesfalse}
+\def\@testdef #1#2#3{%
+ \expandafter\let\expandafter\bbl@tempa\csname #1@#2\endcsname
+ \def\bbl@tempb{#3}%
+ \ifx\bbl@tempa\relax\else
+ \edef\bbl@tempa{\expandafter\strip@prefix\meaning\bbl@tempa}\fi
+ \edef\bbl@tempb{\expandafter\strip@prefix\meaning\bbl@tempb}%
+ \ifx \bbl@tempa \bbl@tempb
+ \else \@tempswatrue \fi}
+\bbl@redefinerobust\ref#1{%
+ \@safe@activestrue\org@ref{#1}\@safe@activesfalse}
+\bbl@redefinerobust\pageref#1{%
+ \@safe@activestrue\org@pageref{#1}\@safe@activesfalse}
+\bbl@redefine\@citex[#1]#2{%
+ \@safe@activestrue\org@@citex[#1]{#2}\@safe@activesfalse}
+\bbl@redefine\nocite#1{%
+ \@safe@activestrue\org@nocite{#1}\@safe@activesfalse}
+\bbl@redefine\@bibitem#1{%
+ \@safe@activestrue\org@@bibitem{#1}\@safe@activesfalse}
+\bbl@redefine\@lbibitem[#1]#2{%
+ \@safe@activestrue\org@@lbibitem[#1]{#2}\@safe@activesfalse}
+\ifx\nfss@catcodes\@undefined
+\else
+ \addto\nfss@catcodes{%
+ \@makeother\'%
+ \@makeother\"%
+ }
+\fi
+\ifx\loadlocalcfg\@undefined
+ \def\loadlocalcfg#1{%
+ \InputIfFileExists{#1.cfg}
+ {\typeout{*************************************^^J%
+ * Local config file #1.cfg used^^J%
+ *}%
+ }
+ {}}
+\fi
+\ifx\@unexpandable@protect\@undefined
+ \def\@unexpandable@protect{\noexpand\protect\noexpand}
+ \long\def \protected@write#1#2#3{%
+ \begingroup
+ \let\thepage\relax
+ #2%
+ \let\protect\@unexpandable@protect
+ \edef\reserved@a{\write#1{#3}}%
+ \reserved@a
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+\fi
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `babel.def'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/babel/babel.sty b/language/hebrew/hebtex/macros/latex_macros/babel/babel.sty
new file mode 100644
index 0000000000..801fcf400e
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/babel/babel.sty
@@ -0,0 +1,228 @@
+%%
+%% This is file `babel.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babel.dtx (with options: `package')
+%% Copyright 1989-1997 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information see any other copyright notices in
+%% this file.
+%%
+%% This file is part of the Babel system release 3.6.
+%% --------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%% Permission is granted to copy this file to another file with a
+%% clearly different name and to customize the declarations in that
+%% copy to serve the needs of your installation, provided that you
+%% comply with the conditions in the file legal.txt from the LaTeX2e
+%% distribution.
+%%
+%% However, NO PERMISSION is granted to generate or to distribute a
+%% modified version of this file under its original name.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system. You should also ensure that
+%% your modified source file does not generate any modified file with
+%% the same name as a standard file.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, taking care to
+%% observe the conditions in legal.txt; this will ensure that other
+%% users can safely use your modifications.
+%%
+%% You will also need to produce your own, suitably named, .ins file to
+%% control the generation of files from your source file; this file
+%% should contain your own preambles for the files it generates, not
+%% those in the standard .ins files.
+%%
+%% The names of the source files used are shown above.
+%%%\iffalse
+%%% @LaTeX-file{
+%%% author = "Johannes L. Braams",
+%%% version = "3.6h",
+%%% date = "23 January 1997",
+%%% time = "23:49:49 MET",
+%%% filename = "babel.dtx",
+%%% address = "Kooienswater 62
+%%% The Netherlands",
+%%% telephone = "(3179) 352 28 19",
+%%% FAX = "(3170) 343 23 95",
+%%% checksum = "20446 4113 18260 157597",
+%%% email = "JLBraams@cistron.nl (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "babel",
+%%% supported = "yes",
+%%% docstring = "This file, babel.dtx contains the core of
+%%% the babel system as it was described in
+%%% TuGboat Volume 12 no 2 and Volume 14 no 1.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% \fi
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+%% Copyright (C) 1989 -- 1997 by Johannes Braams,
+%% TeXniek
+%% all rights reserved.
+%% Please report errors to: J.L. Braams
+%% JLBraams@cistron.nl
+\ProvidesPackage{babel}
+ [1997/01/23 v3.6h
+ The Babel package]
+\ifx\LdfInit\undefined\input{babel.def}\fi
+\DeclareOption{afrikaans}{\input{dutch.ldf}}
+\DeclareOption{american}{\input{english.ldf}}
+\DeclareOption{austrian}{\input{germanb.ldf}}
+\DeclareOption{bahasa}{\input{bahasa.ldf}}
+\DeclareOption{brazil}{\input{portuges.ldf}}
+\DeclareOption{brazilian}{\input{portuges.ldf}}
+\DeclareOption{breton}{\input{breton.ldf}}
+\DeclareOption{british}{\input{english.ldf}}
+\DeclareOption{catalan}{\input{catalan.ldf}}
+\DeclareOption{croatian}{\input{croatian.ldf}}
+\DeclareOption{czech}{\input{czech.ldf}}
+\DeclareOption{danish}{\input{danish.ldf}}
+\DeclareOption{dutch}{\input{dutch.ldf}}
+\DeclareOption{english}{\input{english.ldf}}
+\DeclareOption{esperanto}{\input{esperant.ldf}}
+\DeclareOption{estonian}{\input{estonian.ldf}}
+\DeclareOption{finnish}{\input{finnish.ldf}}
+\DeclareOption{francais}{\input{frenchb.ldf}}
+\DeclareOption{frenchb}{\input{frenchb.ldf}}
+\IfFileExists{french.ldf}{%
+ \DeclareOption{french}{\input{french.ldf}}%
+ }{%
+ \DeclareOption{french}{\input{frenchb.ldf}}%
+ }
+\DeclareOption{galician}{\input{galician.ldf}}
+\DeclareOption{german}{\input{germanb.ldf}}
+\DeclareOption{germanb}{\input{germanb.ldf}}
+\DeclareOption{greek}{\input{greek.ldf}}
+\DeclareOption{hebrew}{\input{rlbabel.def}\input{hebrew.ldf}}%Rama
+\DeclareOption{hungarian}{\input{magyar.ldf}}
+\DeclareOption{irish}{\input{irish.ldf}}
+\DeclareOption{italian}{\input{italian.ldf}}
+\DeclareOption{lowersorbian}{\input{lsorbian.ldf}}
+\DeclareOption{magyar}{\input{magyar.ldf}}
+\DeclareOption{norsk}{\input{norsk.ldf}}
+\DeclareOption{nynorsk}{\input{norsk.ldf}}
+\DeclareOption{polish}{\input{polish.ldf}}
+\DeclareOption{portuges}{\input{portuges.ldf}}
+\DeclareOption{portuguese}{\input{portuges.ldf}}
+\DeclareOption{romanian}{\input{romanian.ldf}}
+\DeclareOption{russian}{\input{russianb.ldf}}
+\DeclareOption{scottish}{\input{scottish.ldf}}
+\DeclareOption{slovak}{\input{slovak.ldf}}
+\DeclareOption{slovene}{\input{slovene.ldf}}
+\DeclareOption{spanish}{\input{spanish.ldf}}
+\DeclareOption{swedish}{\input{swedish.ldf}}
+\DeclareOption{turkish}{\input{turkish.ldf}}
+\DeclareOption{uppersorbian}{\input{usorbian.ldf}}
+\DeclareOption{welsh}{\input{welsh.ldf}}
+\DeclareOption{UKenglish}{\input{english.ldf}}
+\DeclareOption{USenglish}{\input{english.ldf}}
+\DeclareOption{activeacute}{}
+\DeclareOption{activegrave}{}
+\DeclareOption{KeepShorthandsActive}{%
+ \def\KeepShorthandsActive{}}
+\ProcessOptions*
+\def\substitutefontfamily#1#2#3{%
+ \immediate\openout15=#1#2.fd\relax
+ \immediate\write15{%
+ \string\ProvidesFile{#1#2.fd}%
+ [\the\year/\two@digits{\the\month}/\two@digits{\the\day}
+ \space generated font description file]^^J
+ \string\DeclareFontFamily{#1}{#2}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/bx/n}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/bx/it}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/bx/sl}{}^^J
+ \string\DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/bx/sc}{}^^J
+ }%
+ \closeout15
+ }
+\@onlypreamble\substitutefontfamily
+\AtBeginDocument{%
+ \@ifpackageloaded{ifthen}{%
+ \bbl@redefine@long\ifthenelse#1#2#3{%
+ \let\bbl@tempa\pageref
+ \let\pageref\org@pageref
+ \@safe@activestrue\org@ifthenelse{#1}{#2}{#3}%
+ \@safe@activesfalse
+ \let\pageref\bbl@tempa
+ }%
+ }{}%
+ }
+\AtBeginDocument{%
+ \@ifpackageloaded{varioref}{%
+ \bbl@redefinerobust\@@vpageref#1[#2]#3{%
+ \@safe@activestrue
+ \org@@@vpageref{#1}[#2]{#3}%
+ \@safe@activesfalse}%
+ }{}%
+ }
+\AtBeginDocument{%
+ \@ifpackageloaded{hhline}
+ {\expandafter\ifx\csname normal@char:\endcsname\relax
+ \else
+ \makeatletter
+ \def\@currname{hhline}\input{hhline.sty}\makeatother
+ \fi}
+ {}}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `babel.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/babel/hebrew.sty b/language/hebrew/hebtex/macros/latex_macros/babel/hebrew.sty
new file mode 100644
index 0000000000..d5a6c91cbb
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/babel/hebrew.sty
@@ -0,0 +1,98 @@
+%%
+%% This is file `hebrew.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bbcompat.dtx (with options: `hebrew')
+%% Copyright 1989-1998 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information see any other copyright notices in
+%% this file.
+%%
+%% This file is part of the Babel system release 3.6.
+%% --------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%% Permission is granted to copy this file to another file with a
+%% clearly different name and to customize the declarations in that
+%% copy to serve the needs of your installation, provided that you
+%% comply with the conditions in the file legal.txt from the LaTeX2e
+%% distribution.
+%%
+%% However, NO PERMISSION is granted to generate or to distribute a
+%% modified version of this file under its original name.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system. You should also ensure that
+%% your modified source file does not generate any modified file with
+%% the same name as a standard file.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, taking care to
+%% observe the conditions in legal.txt; this will ensure that other
+%% users can safely use your modifications.
+%%
+%% You will also need to produce your own, suitably named, .ins file to
+%% control the generation of files from your source file; this file
+%% should contain your own preambles for the files it generates, not
+%% those in the standard .ins files.
+%%
+%% The names of the source files used are shown above.
+%% Please report errors to: J.L. Braams
+%% JLBraams@cistron.nl
+\ifx\LdfInit\@undefined
+ \def\LdfInit{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \input babel.def\relax
+ \catcode`\@=\atcatcode \let\atcatcode\relax
+ \LdfInit}
+\fi
+\input rlbabel.def\input hebrew.ldf\relax
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `hebrew.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/cp1255.def b/language/hebrew/hebtex/macros/latex_macros/cp1255.def
new file mode 100644
index 0000000000..2b6e78ac95
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/cp1255.def
@@ -0,0 +1,202 @@
+%%
+%% This is file `cp1255.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebinp.dtx (with options: `cp1255')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+ \ProvidesFile{cp1255.def}
+ [1997/12/07 v1.0a Input encoding file (test version)]
+\makeatletter
+\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
+\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
+\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
+\ProvideTextCommandDefault{\textthreequarters}{\ensuremath{\frac34}}
+\ProvideTextCommandDefault{\textflorin}{\textit{f}}
+\ProvideTextCommandDefault{\textcent}
+ {\TextSymbolUnavailable\textcent}
+\ProvideTextCommandDefault{\textyen}
+ {\TextSymbolUnavailable\textyen}
+\ProvideTextCommandDefault{\newsheqel}
+ {\TextSymbolUnavailable\newsheqel}
+\ProvideTextCommandDefault{\textbrokenbar}
+ {\TextSymbolUnavailable\textbrokenbar}
+\ProvideTextCommandDefault{\textperthousand}
+ {\TextSymbolUnavailable\textperthousand}
+\providecommand{\mathonesuperior}{{^1}}
+\providecommand{\maththreesuperior}{{^3}}
+\providecommand{\mathtwosuperior}{{^2}}
+\DeclareInputText{130}{\quotesinglbase}
+\DeclareInputText{131}{\textflorin}
+\DeclareInputText{132}{\quotedblbase}
+\DeclareInputText{133}{\dots}
+\DeclareInputText{134}{\dag}
+\DeclareInputText{135}{\ddag}
+\DeclareInputText{136}{\^{}}
+\DeclareInputText{137}{\textperthousand}
+\DeclareInputText{139}{\guilsinglleft}
+\DeclareInputText{145}{\textquoteleft}
+\DeclareInputText{146}{\textquoteright}
+\DeclareInputText{147}{\textquotedblleft}
+\DeclareInputText{148}{\textquotedblright}
+\DeclareInputText{149}{\textbullet}
+\DeclareInputText{150}{\textendash}
+\DeclareInputText{151}{\textemdash}
+\DeclareInputText{152}{\~{}}
+\DeclareInputText{153}{\texttrademark}
+\DeclareInputText{155}{\guilsinglright}
+\DeclareInputText{160}{\nobreakspace}
+\DeclareInputText{162}{\textcent}
+\DeclareInputText{163}{\pounds}
+\DeclareInputText{164}{\newsheqel}
+\DeclareInputText{165}{\textyen}
+\DeclareInputText{166}{\textbrokenbar}
+\DeclareInputText{167}{\S}
+\DeclareInputText{168}{\"{}}
+\DeclareInputText{169}{\textcopyright}
+\DeclareInputText{171}{\guillemotleft}
+\DeclareInputMath{172}{\lnot}
+\DeclareInputText{173}{\-}
+\DeclareInputText{174}{\textregistered}
+\DeclareInputText{175}{\@tabacckludge={}}
+\DeclareInputText{176}{\textdegree}
+\DeclareInputMath{177}{\pm}
+\DeclareInputMath{178}{\mathtwosuperior}
+\DeclareInputMath{179}{\maththreesuperior}
+\DeclareInputText{180}{\@tabacckludge'{}}
+\DeclareInputMath{181}{\mu}
+\DeclareInputText{182}{\P}
+\DeclareInputText{183}{\textperiodcentered}
+\DeclareInputMath{185}{\mathonesuperior}
+\DeclareInputText{187}{\guillemotright}
+\DeclareInputText{188}{\textonequarter}
+\DeclareInputText{189}{\textonehalf}
+\DeclareInputText{190}{\textthreequarters}
+\DeclareInputText{192}{\sheva}
+\DeclareInputText{193}{\hatafsegol}
+\DeclareInputText{194}{\hatafpatah}
+\DeclareInputText{195}{\hatafqamats}
+\DeclareInputText{196}{\hiriq}
+\DeclareInputText{197}{\tsere}
+\DeclareInputText{198}{\segol}
+\DeclareInputText{199}{\patah}
+\DeclareInputText{200}{\qamats}
+\DeclareInputText{201}{\holam}
+\DeclareInputText{203}{\qubuts}
+\DeclareInputText{204}{\dagesh}
+\DeclareInputText{205}{\meteg}
+\DeclareInputText{206}{\maqaf}
+\DeclareInputText{207}{\rafe}
+\DeclareInputText{208}{\paseq}
+\DeclareInputText{209}{\shindot}
+\DeclareInputText{210}{\sindot}
+\DeclareInputText{211}{\sofpasuq}
+\DeclareInputText{212}{\doublevav}
+\DeclareInputText{213}{\vavyod}
+\DeclareInputText{214}{\doubleyod}
+\DeclareInputText{224}{\alef}
+\DeclareInputText{225}{\bet}
+\DeclareInputText{226}{\gimel}
+\DeclareInputText{227}{\dalet}
+\DeclareInputText{228}{\he}
+\DeclareInputText{229}{\vav}
+\DeclareInputText{230}{\zayin}
+\DeclareInputText{231}{\het}
+\DeclareInputText{232}{\tet}
+\DeclareInputText{233}{\yod}
+\DeclareInputText{234}{\finalkaf}
+\DeclareInputText{235}{\kaf}
+\DeclareInputText{236}{\lamed}
+\DeclareInputText{237}{\finalmem}
+\DeclareInputText{238}{\mem}
+\DeclareInputText{239}{\finalnun}
+\DeclareInputText{240}{\nun}
+\DeclareInputText{241}{\samekh}
+\DeclareInputText{242}{\ayin}
+\DeclareInputText{243}{\finalpe}
+\DeclareInputText{244}{\pe}
+\DeclareInputText{245}{\finaltsadi}
+\DeclareInputText{246}{\tsadi}
+\DeclareInputText{247}{\qof}
+\DeclareInputText{248}{\resh}
+\DeclareInputText{249}{\shin}
+\DeclareInputText{250}{\tav}
+\DeclareInputText{253}{\lefttorightmark}
+\DeclareInputText{254}{\righttoleftmark}
+\makeatother
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `cp1255.def'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/cp862.def b/language/hebrew/hebtex/macros/latex_macros/cp862.def
new file mode 100644
index 0000000000..5cce6a65c4
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/cp862.def
@@ -0,0 +1,178 @@
+%%
+%% This is file `cp862.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebinp.dtx (with options: `cp862')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+ \ProvidesFile{cp862.def}
+ [1997/12/07 v1.0a Input encoding file (test version)]
+\makeatletter
+\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
+\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
+\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
+\ProvideTextCommandDefault{\textflorin}{\textit{f}}
+\ProvideTextCommandDefault{\textpeseta}{Pt}
+\ProvideTextCommandDefault{\textblacksquare}
+ {\vrule \@width .3em \@height .4em \@depth -.1em\relax}
+\ProvideTextCommandDefault{\textcent}
+ {\TextSymbolUnavailable\textcent}
+\ProvideTextCommandDefault{\textyen}
+ {\TextSymbolUnavailable\textyen}
+\providecommand{\mathtwosuperior}{{^2}}
+\providecommand{\mathordmasculine}{{^o}}
+\providecommand{\mathordfeminine}{{^a}}
+\DeclareInputText{128}{\alef}
+\DeclareInputText{129}{\bet}
+\DeclareInputText{130}{\gimel}
+\DeclareInputText{131}{\dalet}
+\DeclareInputText{132}{\he}
+\DeclareInputText{133}{\vav}
+\DeclareInputText{134}{\zayin}
+\DeclareInputText{135}{\het}
+\DeclareInputText{136}{\tet}
+\DeclareInputText{137}{\yod}
+\DeclareInputText{138}{\finalkaf}
+\DeclareInputText{139}{\kaf}
+\DeclareInputText{140}{\lamed}
+\DeclareInputText{141}{\finalmem}
+\DeclareInputText{142}{\mem}
+\DeclareInputText{143}{\finalnun}
+\DeclareInputText{144}{\nun}
+\DeclareInputText{145}{\samekh}
+\DeclareInputText{146}{\ayin}
+\DeclareInputText{147}{\finalpe}
+\DeclareInputText{148}{\pe}
+\DeclareInputText{149}{\finaltsadi}
+\DeclareInputText{150}{\tsadi}
+\DeclareInputText{151}{\qof}
+\DeclareInputText{152}{\resh}
+\DeclareInputText{153}{\shin}
+\DeclareInputText{154}{\tav}
+\DeclareInputText{155}{\textcent}
+\DeclareInputText{156}{\pounds}
+\DeclareInputText{157}{\textyen}
+\DeclareInputText{158}{\textpeseta}
+\DeclareInputText{159}{\textflorin}
+\DeclareInputText{160}{\@tabacckludge'a}
+\DeclareInputText{161}{\@tabacckludge'\i}
+\DeclareInputText{162}{\@tabacckludge'o}
+\DeclareInputText{163}{\@tabacckludge'u}
+\DeclareInputText{164}{\~n}
+\DeclareInputText{165}{\~N}
+\DeclareInputMath{166}{\mathordfeminine}
+\DeclareInputMath{167}{\mathordmasculine}
+\DeclareInputText{168}{\textquestiondown}
+\DeclareInputMath{170}{\lnot}
+\DeclareInputText{171}{\textonehalf}
+\DeclareInputText{172}{\textonequarter}
+\DeclareInputText{173}{\textexclamdown}
+\DeclareInputText{174}{\guillemotleft}
+\DeclareInputText{175}{\guillemotright}
+\DeclareInputMath{224}{\alpha}
+\DeclareInputText{225}{\ss}
+\DeclareInputMath{226}{\Gamma}
+\DeclareInputMath{227}{\pi}
+\DeclareInputMath{228}{\Sigma}
+\DeclareInputMath{229}{\sigma}
+\DeclareInputMath{230}{\mu}
+\DeclareInputMath{231}{\tau}
+\DeclareInputMath{232}{\Phi}
+\DeclareInputMath{233}{\Theta}
+\DeclareInputMath{234}{\Omega}
+\DeclareInputMath{235}{\delta}
+\DeclareInputMath{236}{\infty}
+\DeclareInputMath{237}{\phi}
+\DeclareInputMath{238}{\varepsilon}
+\DeclareInputMath{239}{\cap}
+\DeclareInputMath{240}{\equiv}
+\DeclareInputMath{241}{\pm}
+\DeclareInputMath{242}{\ge}
+\DeclareInputMath{243}{\le}
+\DeclareInputMath{246}{\div}
+\DeclareInputMath{247}{\approx}
+\DeclareInputText{248}{\textdegree}
+\DeclareInputText{249}{\textperiodcentered}
+\DeclareInputText{250}{\textbullet}
+\DeclareInputMath{251}{\surd}
+\DeclareInputMath{252}{\mathnsuperior}
+\DeclareInputMath{253}{\mathtwosuperior}
+\DeclareInputText{254}{\textblacksquare}
+\DeclareInputText{255}{\nobreakspace}
+\makeatother
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `cp862.def'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebcal.sty b/language/hebrew/hebtex/macros/latex_macros/hebcal.sty
new file mode 100644
index 0000000000..1c4ae944ad
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebcal.sty
@@ -0,0 +1,593 @@
+%%
+%% This is file `hebcal.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.dtx (with options: `calendar')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+%% TeX & LaTeX macros for computing Hebrew date from Gregorian one
+%% Copyright (C) 1991 by Michail Rozman, misha@iop.tartu.ew.su
+%%
+\ProvidesPackage{hebcal}
+ [1998/01/01 v2.0a
+ Hebrew calendar
+ (test version: still liable to change)]
+\newcount\Hebrewday \newcount\Hebrewmonth \newcount\Hebrewyear
+\def\Hebrewdate#1#2#3{%
+ \HebrewFromGregorian{#1}{#2}{#3}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \ifundefined{if@rl}%
+ \FormatForEnglish{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \else%
+ \FormatDate{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \fi}
+\def\Hebrewtoday{\Hebrewdate{\day}{\month}{\year}}
+\let\hebrewtoday=\Hebrewtoday
+\def\Hebrewsetreg{%
+ \HebrewFromGregorian{\day}{\month}{\year}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}}
+\def\FormatDate#1#2#3{%
+ \if@rl%
+ \FormatForHebrew{#1}{#2}{#3}%
+ \else%
+ \FormatForEnglish{#1}{#2}{#3}
+ \fi}
+\def\HebrewYearChar{'}
+\def\ShortHYName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \def\HY{}% the string of hundreds, tens and ones
+ \ifnum #1 > 799 \strcat{\HY}{\tav\tav}\advance#1 by -800 \fi%
+ \ifnum #1 > 399 \strcat{\HY}{\tav}\advance#1 by -400 \fi%
+ \ifnum #1 > 299 \strcat{\HY}{\shin}\advance#1 by -300 \fi%
+ \ifnum #1 > 199 \strcat{\HY}{\resh}\advance#1 by -200 \fi%
+ \ifnum #1 > 99 \strcat{\HY}{\qof}\advance#1 by -100 \fi%
+ \ifnum #1 > 0
+ \ifnum #1 = 16 %
+ \strcat{\HY}{\tet\zayin}%
+ \else%
+ \ifnum #1 = 15 %
+ \strcat{\HY}{\tet\vav}%
+ \else%
+ \Remainder{#1}{10}{\count0 }%
+ \divide #1 by 10 %
+ \ifnum\count0 = 0%
+ \strcat{\HY}{\TensInHebrewEnd{#1}}%
+ \else%
+ \strcat{\HY}{\TensInHebrew{#1}}%
+ \strcat{\HY}{\DigitInHebrew{\count0 }}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \countdef\HYLength=0 % \HYLength==\count0 = strlen(\HY)
+ \HYLength =0 \expandafter\getlength\HY\end%
+ \ifnum\HYLength > 0 %
+ \ifnum\HYLength = 1 %
+ \HY\HebrewYearChar%
+ \else%
+ \expandafter\Insert\HY%
+ \fi%
+ \else%
+ \relax%
+ \fi}}
+\def\HebrewYearName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{10000}{#1}% macro only for year <= 9999
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \divide \count2 by 1000 % E.g., for 5752: \count2 = 5
+ \countdef\thousand=2 % \thousand==\count2
+ \def\Thousands{}% the string of thousands
+ \strcat{\Thousands}{\DigitInHebrew{\thousand }}% output 1000'
+ \ifnum\thousand = 5 % Change it in the next Hebrew Millennium..
+ \ifnum#1 > 0 % if 5000 < year < 6000
+ \def\Thousands{}% don't mention thousands
+ \fi%
+ \fi%
+ \countdef\ThousandsLength=0 %
+ % \ThousandsLength==\count0 = strlen(\Thousands)
+ \ThousandsLength =0 \expandafter\getlength\Thousands\end%
+ % if the letter of thousands is not empty
+ \ifnum\ThousandsLength > 0
+ \strcat{\Thousands}{'}% add '
+ \fi%
+ \def\HY{\ShortHYName{#1}}% the string of hundreds, tens and ones
+ \def\PratGadol{}% An additional string to date. Default: empty
+ \ifnum\thousand < 1%
+ \def\PratGadol{\ )\lamed\pe"\gimel(}%
+ \fi%
+ \ifnum #1 = 0%
+ \def\PratGadol{\ )\lamed\pe"\gimel(}%
+ \fi%
+ \Thousands\HY\PratGadol}}
+\def\HebrewMonthName#1#2{%
+ \ifnum #1 = 7 %
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap \alef\dalet\resh\ \bet'%
+ \else \alef\dalet\resh%
+ \fi%
+ \else%
+ \ifcase#1%
+ % nothing for 0
+ \or\tav\shin\resh\yod%
+ \or\het\shin\vav\finalnun%
+ \or\kaf\samekh\lamed\vav%
+ \or\tet\bet\tav%
+ \or\shin\bet\tet%
+ \or\alef\dalet\resh\ \alef'%
+ \or\alef\dalet\resh\ \bet'%
+ \or\nun\yod\samekh\finalnun%
+ \or\alef\yod\yod\resh%
+ \or\samekh\yod\vav\finalnun%
+ \or\tav\mem\vav\zayin%
+ \or\alef\bet%
+ \or\alef\lamed\vav\lamed%
+ \fi%
+ \fi}
+\def\HebrewDayName#1{%
+ \ifcase#1%
+ % nothing for 0
+ \or\alef'%
+ \or\bet'%
+ \or\gimel'%
+ \or\dalet'%
+ \or\he'%
+ \or\vav'%
+ \or\zayin'%
+ \or\het'%
+ \or\tet'%
+ \or\yod'%
+ \or\yod''\alef%
+ \or\yod''\bet%
+ \or\yod''\gimel%
+ \or\yod''\dalet%
+ \or\tet''\vav%
+ \or\tet''\zayin%
+ \or\yod''\zayin%
+ \or\yod''\het%
+ \or\yod''\tet%
+ \or\kaf'%
+ \or\kaf''\alef%
+ \or\kaf''\bet%
+ \or\kaf''\gimel%
+ \or\kaf''\dalet%
+ \or\kaf''\he%
+ \or\kaf''\vav%
+ \or\kaf''\zayin%
+ \or\kaf''\het%
+ \or\kaf''\tet%
+ \or\lamed'%
+ \or\lamed''\alef%
+ \fi}
+\def\DigitInHebrew#1{%
+ \ifcase#1%
+ % nothing for 0
+ \or\alef% 1
+ \or\bet% 2
+ \or\gimel% 3
+ \or\dalet% 4
+ \or\he% 5
+ \or\vav% 6
+ \or\zayin% 7
+ \or\het% 8
+ \or\tet% 9
+ \fi}
+\def\TensInHebrew#1{%
+ \ifcase #1%
+ % nothing for 0
+ \or\yod% 10
+ \or\kaf% 20
+ \or\lamed% 30
+ \or\mem% 40
+ \or\nun% 50
+ \or\samekh% 60
+ \or\ayin% 70
+ \or\pe% 80
+ \or\tsadi% 90
+ \fi}
+\def\TensInHebrewEnd#1{%
+ \ifcase #1%
+ % nothing for 0
+ \or\yod% 10
+ \or\finalkaf% 20
+ \or\lamed% 30
+ \or\finalmem% 40
+ \or\finalnun% 50
+ \or\samekh% 60
+ \or\ayin% 70
+ \or\finalpe% 80
+ \or\finaltsadi% 90
+ \fi}
+\def\FormatForHebrew#1#2#3{%
+ \HebrewDayName{#1}~\bet\HebrewMonthName{#2}{#3},~\HebrewYearName{#3}}
+\def\HebrewMonthNameInEnglish#1#2{%
+ \ifnum #1 = 7%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap Adar II\else Adar\fi%
+ \else%
+ \ifcase #1%
+ % nothing for 0
+ \or Tishrei%
+ \or Heshvan%
+ \or Kislev%
+ \or Tebeth%
+ \or Shebat%
+ \or Adar I%
+ \or Adar II%
+ \or Nisan%
+ \or Iyar%
+ \or Sivan%
+ \or Tammuz%
+ \or Av%
+ \or Elul%
+ \fi
+ \fi}
+\def\FormatForEnglish#1#2#3{%
+ \HebrewMonthNameInEnglish{#2}{#3} \number#1,\ \number#3}
+\newcount\@common
+\def\Remainder#1#2#3{%
+ #3 = #1% % c = a
+ \divide #3 by #2% % c = a/b
+ \multiply #3 by -#2% % c = -b(a/b)
+ \advance #3 by #1}% % c = a - b(a/b)
+\newif\if@Divisible
+\def\CheckIfDivisible#1#2{%
+ {%
+ \countdef\tmp = 0% \tmp == \count0 - temporary variable
+ \Remainder{#1}{#2}{\tmp}%
+ \ifnum \tmp = 0%
+ \global\@Divisibletrue%
+ \else%
+ \global\@Divisiblefalse%
+ \fi}}
+\def\strcat#1#2{\edef#1{#1#2}}
+\def\getlength#1{%
+ \ifx#1\end%
+ \let\next=\relax%
+ \else%
+ \advance\count0 by 1%
+ \let\next=\getlength%
+ \fi%
+ \next}
+\def\Insert#1{%
+ \ifnum\count0 = 1%
+ #1%
+ \let\next=\relax%
+ \else%
+ #1%
+ \ifnum\count0 = 2%
+ "%
+ \fi
+ \advance\count0 by -1%
+ \let\next=\Insert%
+ \fi%
+ \next}
+\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
+\newif\if@GregorianLeap
+\def\IfGregorianLeap#1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap}
+\def\GregorianDaysInPriorMonths#1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or% % no month number 0
+ 0 \or%
+ 31 \or%
+ 59 \or%
+ 90 \or%
+ 120 \or%
+ 151 \or%
+ 181 \or%
+ 212 \or%
+ 243 \or%
+ 273 \or%
+ 304 \or%
+ 334%
+ \fi%
+ \IfGregorianLeap{#2}%
+ \ifnum #1 > 2% % if month after February
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3}
+ #3 = \@common}
+\def\GregorianDaysInPriorYears#1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1% %
+ \advance \tmpb by -1% %
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2}
+ #2 = \@common}
+\def\AbsoluteFromGregorian#1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4}
+ #4 = \@common}
+\newif\if@HebrewLeap
+\def\CheckLeapHebrewYear#1{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \tmpa = #1%
+ \multiply \tmpa by 7%
+ \advance \tmpa by 1%
+ \Remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7% % \tmpb = (7*year+1)%19
+ \global\@HebrewLeaptrue%
+ \else%
+ \global\@HebrewLeapfalse%
+ \fi}}
+\def\HebrewElapsedMonths#1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+ \tmpa = #1% %
+ \advance \tmpa by -1% %
+ #2 = \tmpa% % #2 = \tmpa = year-1
+ \divide #2 by 19% % Number of complete Meton cycles
+ \multiply #2 by 235% % #2 = 235*((year-1)/19)
+ \Remainder{\tmpa}{19}{\tmpb}% \tmpa = years%19-years this cycle
+ \tmpc = \tmpb% %
+ \multiply \tmpb by 12% %
+ \advance #2 by \tmpb% % add regular months this cycle
+ \multiply \tmpc by 7% %
+ \advance \tmpc by 1% %
+ \divide \tmpc by 19% % \tmpc = (1+7*((year-1)%19))/19 -
+ \advance #2 by \tmpc% % add leap months
+ \global\@common = #2}
+ #2 = \@common}
+\def\HebrewElapsedDays#1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+ \HebrewElapsedMonths{#1}{#2}%
+ \tmpa = #2% %
+ \multiply \tmpa by 13753% %
+ \advance \tmpa by 5604% % \tmpa=MonthsElapsed*13758 + 5604
+ \Remainder{\tmpa}{25920}{\tmpc}% \tmpc == ConjunctionParts
+ \divide \tmpa by 25920%
+ \multiply #2 by 29%
+ \advance #2 by 1%
+ \advance #2 by \tmpa% % #2 = 1 + MonthsElapsed*29 +
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440%
+ \ifnum \tmpc < 9924%
+ \else% % New moon at 9 h. 204 p. or later
+ \ifnum \tmpa = 2% % on Tuesday ...
+ \CheckLeapHebrewYear{#1}% of a common year
+ \if@HebrewLeap%
+ \else%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum \tmpc < 16789%
+ \else% % New moon at 15 h. 589 p. or later
+ \ifnum \tmpa = 1% % on Monday ...
+ \advance #1 by -1%
+ \CheckLeapHebrewYear{#1}% at the end of leap year
+ \if@HebrewLeap%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \advance #2 by 1% % new moon at or after midday
+ \fi%
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0% % if Sunday ...
+ \advance #2 by 1%
+ \else% %
+ \ifnum \tmpa = 3% % Wednesday ...
+ \advance #2 by 1%
+ \else%
+ \ifnum \tmpa = 5% % or Friday
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \global\@common = #2}
+ #2 = \@common}
+\def\DaysInHebrewYear#1#2{%
+ {%
+ \countdef\tmpe = 12% % \tmpe==\count12
+ \HebrewElapsedDays{#1}{\tmpe}%
+ \advance #1 by 1%
+ \HebrewElapsedDays{#1}{#2}%
+ \advance #2 by -\tmpe%
+ \global\@common = #2}
+ #2 = \@common}
+\def\HebrewDaysInPriorMonths#1#2#3{%
+ {%
+ \countdef\tmpf= 14% % \tmpf==\count14
+ #3 = \ifcase #1% % Days in prior month of regular year
+ 0 \or% % no month number 0
+ 0 \or% % Tishri
+ 30 \or% % Heshvan
+ 59 \or% % Kislev
+ 89 \or% % Tebeth
+ 118 \or% % Shebat
+ 148 \or% % Adar I
+ 148 \or% % Adar II
+ 177 \or% % Nisan
+ 207 \or% % Iyar
+ 236 \or% % Sivan
+ 266 \or% % Tammuz
+ 295 \or% % Av
+ 325 \or% % Elul
+ 400% % Dummy
+ \fi%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap% % in leap year
+ \ifnum #1 > 6% % if month after Adar I
+ \advance #3 by 30% % add 30 days
+ \fi%
+ \fi%
+ \DaysInHebrewYear{#2}{\tmpf}%
+ \ifnum #1 > 3%
+ \ifnum \tmpf = 353% %
+ \advance #3 by -1% %
+ \fi% % Short Kislev
+ \ifnum \tmpf = 383% %
+ \advance #3 by -1% %
+ \fi% %
+ \fi%
+ \ifnum #1 > 2%
+ \ifnum \tmpf = 355% %
+ \advance #3 by 1% %
+ \fi% % Long Heshvan
+ \ifnum \tmpf = 385% %
+ \advance #3 by 1% %
+ \fi% %
+ \fi%
+ \global\@common = #3}
+ #3 = \@common}
+\def\AbsoluteFromHebrew#1#2#3#4{%
+ {%
+ #4 = #1%
+ \HebrewDaysInPriorMonths{#2}{#3}{#1}%
+ \advance #4 by #1% % Add days in prior months this year
+ \HebrewElapsedDays{#3}{#1}%
+ \advance #4 by #1% % Add days in prior years
+ \advance #4 by -1373429% % Subtract days before Gregorian
+ \global\@common = #4} % 01.01.0001
+ #4 = \@common}
+\def\HebrewFromGregorian#1#2#3#4#5#6{%
+ {%
+ \countdef\tmpx= 17% % \tmpx==\count17
+ \countdef\tmpy= 18% % \tmpy==\count18
+ \countdef\tmpz= 19% % \tmpz==\count19
+ #6 = #3% %
+ \global\advance #6 by 3761% approximation from above
+ \AbsoluteFromGregorian{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1%
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4% %
+ \global\advance #6 by -1% Hyear = Gyear + 3760
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi% %
+ \advance #4 by -\tmpx% % Days in this year
+ \advance #4 by 1% %
+ #5 = #4% %
+ \divide #5 by 30% % Approximation for month from below
+ \loop% % Search for month
+ \HebrewDaysInPriorMonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4%
+ \advance #5 by 1%
+ \tmpy = \tmpx%
+ \repeat%
+ \global\advance #5 by -1%
+ \global\advance #4 by -\tmpy}}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `hebcal.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebfont.sty b/language/hebrew/hebtex/macros/latex_macros/hebfont.sty
new file mode 100644
index 0000000000..6f872a500b
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebfont.sty
@@ -0,0 +1,109 @@
+%%
+%% This is file `hebfont.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `hebfont')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesPackage{hebfont}
+ [1998/01/01 v1.0a
+ Hebrew font switching commands
+ (test version: still liable to change)]
+\DeclareTextFontCommand{\textjm}{\rmfamily\selectfont}
+\DeclareTextFontCommand{\textds}{\bfseries\selectfont}
+\DeclareTextFontCommand{\textoj}{\itshape\selectfont}
+\DeclareTextFontCommand{\textta}{\sffamily\selectfont}
+\DeclareTextFontCommand{\textcrml}{\fontfamily{crml}\selectfont}
+\DeclareTextFontCommand{\textfr}{\fontfamily{fr}\selectfont}
+\DeclareTextFontCommand{\textredis}{\fontfamily{redis}\selectfont}
+\DeclareTextFontCommand{\textclas}{\fontfamily{clas}\selectfont}
+\DeclareTextFontCommand{\textshold}{\fontfamily{shold}\selectfont}
+\DeclareTextFontCommand{\textshscr}{\fontfamily{shscr}\selectfont}
+\DeclareTextFontCommand{\textshstk}{\fontfamily{shstk}\selectfont}
+\if@compatibility
+ \DeclareOldFontCommand{\jm}{\normalfont\rmfamily\selectfont}%
+ {\@nomath\jm}
+ \DeclareOldFontCommand{\ds}{\normalfont\bfseries\selectfont}%
+ {\@nomath\ds}
+ \DeclareOldFontCommand{\oj}{\normalfont\itshape\selectfont}%
+ {\@nomath\oj}
+ \DeclareOldFontCommand{\ta}{\normalfont\sffamily\selectfont}%
+ {\@nomath\ta}
+\fi
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `hebfont.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebrew.fdd b/language/hebrew/hebtex/macros/latex_macros/hebrew.fdd
new file mode 100644
index 0000000000..4d322e533d
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebrew.fdd
@@ -0,0 +1,785 @@
+% \iffalse meta-comment
+%
+% Copyright 1997-1998 Boris Lavva and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% For further copyright information see any other copyright notices in
+% this file.
+%
+% This file is contributed to the Babel system release 3.6.
+% ---------------------------------------------------------
+% This system is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%
+% For error reports concerning UNCHANGED versions of this file no
+% more than one year old, see bugs.txt.
+%
+% Please do not request updates from me directly. Primary
+% distribution is through the CTAN archives.
+%
+%
+% IMPORTANT COPYRIGHT NOTICE:
+%
+% You are NOT ALLOWED to distribute this file alone.
+%
+% You are allowed to distribute this file under the condition that it
+% is distributed together with all the files listed in manifest.txt.
+%
+% If you receive only some of these files from someone, complain!
+%
+% Permission is granted to copy this file to another file with a
+% clearly different name and to customize the declarations in that
+% copy to serve the needs of your installation, provided that you
+% comply with the conditions in the file legal.txt from the LaTeX2e
+% distribution.
+%
+% However, NO PERMISSION is granted to produce or to distribute a
+% modified version of this file under its original name.
+%
+% You are NOT ALLOWED to change this file.
+%
+% File `hebrew.fdd' for installing the Hebrew encodings and fonts.
+% Copyright (C) 1997 -- 1998 Boris Lavva.
+%
+% Babel package for LaTeX version 2e
+% Copyright (C) 1989 -- 1997 by Johannes Braams,
+% TeXniek
+% All rights reserved.
+% \fi
+% \CheckSum{214}
+%
+% \iffalse
+%<LHEenc>\ProvidesFile{lheenc.def}
+%<LHEcmr>\ProvidesFile{lhecmr.fd}
+%<LHEcmss>\ProvidesFile{lhecmss.fd}
+%<LHEcmtt>\ProvidesFile{lhecmtt.fd}
+%<LHEclas>\ProvidesFile{lheclas.fd}
+%<LHEshold>\ProvidesFile{lheshold.fd}
+%<LHEshscr>\ProvidesFile{lheshscr.fd}
+%<LHEshstk>\ProvidesFile{lheshstk.fd}
+%<LHEfr>\ProvidesFile{lhefr.fd}
+%<LHEcrml>\ProvidesFile{lhecrml.fd}
+%<LHEredis>\ProvidesFile{lheredis.fd}
+%<hebfont>\ProvidesPackage{hebfont}
+%<*driver>
+\ProvidesFile{hebrew.drv}
+%</driver>
+% \fi
+% \ProvidesFile{hebrew.fdd}
+ [1998/01/01 v1.0a
+% \iffalse
+%<LHEenc> 7-bit Hebrew font encoding
+%<LHEcmr> Hebrew default font
+%<LHEcmss> Hebrew sans-serif font
+%<LHEcmtt> Hebrew typewriter font
+%<LHEclas> Hebrew classic font (by Joel M. Hoffman)
+%<LHEshold> Hebrew shalom old font (by Jonathan Brecher)
+%<LHEshscr> Hebrew shalom script font (by Jonathan Brecher)
+%<LHEshstk> Hebrew shalom stick font (by Jonathan Brecher)
+%<LHEfr> Hebrew frank-ruehl font
+%<LHEcrml> Hebrew carmel font (by Dr. Samy Zafrany)
+%<LHEredis> Hebrew redis font (by Prof. Jacques J. Goldberg)
+%<hebfont> Hebrew font switching commands
+%<driver> Driver file for hebrew.fdd file
+% \fi
+% Hebrew font encodings support
+ (test version: still liable to change)]
+%
+% \font\manual=logo10
+% \providecommand\MF{{\manual META}\-{\manual FONT}}
+% \providecommand\PS{\textsc{PostScript}}
+% \providecommand\dst{\textsc{docstrip}}
+% \providecommand\LHE{\texttt{LHE}}
+% \providecommand\file[1]{\texttt{#1}}
+% \providecommand\pkg[1]{\texttt{#1}}
+% \GetFileInfo{hebrew.fdd}
+%
+% \changes{hebfdd~1.0a}{1998/01/01}{%
+% Initial version. Supports only 7-bit LHE font encoding and all
+% available Hebrew \TeX\ fonts (by Boris Lavva)}
+%
+% \section{Hebrew font encodings}\label{sec:hebfdd}
+%
+% The file \file{\filename}\footnote{The files described in this
+% section have version number \fileversion{} and were last revised
+% on \filedate.} contains the Local Hebrew Encoding (\LHE)
+% definition, the external font information needed to use the
+% Hebrew 7-bit fonts (old code fonts) and \pkg{hebfont} package
+% that provides Hebrew font switching commands.
+%
+% Using this file as an input, |lheenc.def| encoding definition
+% file, all |.fd| files (font definition files) and font switching
+% package for available Hebrew fonts are generated. We chose to use
+% 7-bit encoding as default font encoding, because:
+% \begin{enumerate}
+% \item There are many 7-bit encoded Hebrew fonts available, more
+% then for any other encoding.
+% \item Available \TeX{} Hebrew fonts do not include latin
+% alphabet, and we can safely map Hebrew glyphs to the
+% \texttt{ASCII} positions (0 -- 127).
+% \end{enumerate}
+%
+% Current definition of the \LHE{} encoding supports only Hebrew
+% letters (|\alef|--|\tav|), but not Hebrew points, such as
+% |\dagesh|, |\qamats|, |\patah|, |\shindot|, etc. We are working
+% now on such addition.
+%
+% \StopEventually{}
+%
+% \iffalse
+% \subsection{A driver for this document}
+%
+% The next bit of code contains the documentation driver file for
+% \TeX{}, i.e., the file that will produce the documentation you are
+% currently reading. It will be extracted from this file by the \dst{}
+% program.
+%
+% \begin{macrocode}
+%<*driver>
+\documentclass{ltxdoc}
+\title{Hebrew font encodings for use with \LaTeXe}
+\author{Boris Lavva}
+\date{Printed \today}
+\begin{document}
+ \maketitle
+ \DocInput{hebrew.fdd}
+\end{document}
+%</driver>
+% \end{macrocode}
+% \fi
+%
+% \subsection{The {\normalfont\dst{}} modules}
+%
+% The following modules are used in the implementation to direct
+% \dst{} in generating external files:
+% \begin{center}
+% \begin{tabular}{@{}ll}
+% driver & produce a documentation driver file \\[4pt]
+% LHEenc & produce the encoding definition for Local Hebrew
+% Encoding (\LHE)\\[4pt]
+% LHEcmr & make Hebrew default font in \LHE\\
+% LHEcmss & make Hebrew sans-serif font in \LHE\\
+% LHEcmtt & make Hebrew typewriter font in \LHE\\
+% LHEclas & make Hebrew classic font (by Joel M.~Hoffman) in \LHE\\
+% LHEshold & make Hebrew shalom old font (by Jonathan Brecher)
+% in \LHE\\
+% LHEshscr & make Hebrew shalom script font (by Jonathan Brecher)
+% in \LHE\\
+% LHEshstk & make Hebrew shalom stick font (by Jonathan Brecher)
+% in \LHE\\
+% LHEfr & make Hebrew frank-ruehl font in \LHE\\
+% LHEcrml & make Hebrew carmel font (by Dr. Samy Zafrany) in \LHE\\
+% LHEredis & make Hebrew redis font (by Prof. Jacques J.~Goldberg)
+% in \LHE\\[4pt]
+% nowarn & option for font definition files, that used\\
+% & to produce ``silent'' font substitutions without
+% giving warnings\\[4pt]
+% hebfont & create Hebrew font switching commands package
+% \end{tabular}
+% \end{center}
+% A typical \dst{} command file would then have entries like:
+%\begin{verbatim}
+%\generateFile{lhecmr.fd}{t}{\from{hebrew.fdd}{LHEcmr,nowarn}}
+%\end{verbatim}
+%
+% \subsection{The encoding definition file}
+%
+% The Hebrew font encoding \LHE{} is based upon the old-code encoding
+% also known as the Israeli Standard SI-960. Many Hebrew \TeX{}
+% fonts from the Hebrew University of Jerusalem are encoded
+% in this encoding. It only uses the lower 128 positions of the font
+% table. As local encoding its name start with the letter `L'.
+%
+% First we define the Local Hebrew Encoding; specify a default
+% for the font substitution process for the \LHE{} encoding and
+% supply a font to be used when all else fails.
+%
+% \begin{macrocode}
+%<*LHEenc>
+\DeclareFontEncoding{LHE}{}{}
+\DeclareFontSubstitution{LHE}{cmr}{m}{n}
+\DeclareErrorFont{LHE}{cmr}{m}{n}{10}
+%</LHEenc>
+% \end{macrocode}
+% Then we define a few commands in the \LHE{} encoding.
+% \begin{macrocode}
+%<*LHEenc>
+\ProvideTextCommand{\textcopyright}{LHE}{\textcircled{\@latin{c}}}
+\ProvideTextCommand{\textregistered}{LHE}{\textcircled{\scshape%
+ \@latin{r}}}
+\ProvideTextCommand{\texttrademark}{LHE}{\textsuperscript{\@latin{TM}}}
+%</LHEenc>
+% \end{macrocode}
+%
+% Because not everyone can input Hebrew input text directly from
+% the keyboard we need to define control sequences for all the
+% Hebrew glyphs in the fonts. In addition, we want to support
+% many input encodings for Hebrew and to keep the language
+% definition file (|hebrew.ldf|) independent of the
+% encoding. Therefore, we exploit the standard \LaTeXe{} font
+% encoding mechanism to define control sequences for all the Hebrew
+% glyphs in the fonts in encoding-specific way. The language
+% definition file uses only the control sequences and doesn't need
+% to check the current font or input encoding.
+%
+% In the \LHE{} encoding (7-bit encoding) all the Hebrew glyphes
+% reside in the \emph{lower} half of the font. Currently, only the
+% Hebrew letters are supported. They use the same positions as the
+% latin small letters in |ASCII| encoding and the position of |`|.
+%
+% The symbol |`| (glyph 96) is used by Hebrew letter \emph{Alef},
+% so we need to define its |lccode| to allow hyphenation. All other
+% letters retain the same |lccode|s as their latin counterparts.
+% \begin{macrocode}
+%<+LHEenc>\lccode``=``
+% \end{macrocode}
+% Hebrew letters occupy the positions 96--122 in \LHE{} encoding:
+% \begin{macrocode}
+%<*LHEenc>
+\DeclareTextSymbol{\alef}{LHE}{96}
+\DeclareTextSymbol{\bet}{LHE}{97}
+\DeclareTextSymbol{\gimel}{LHE}{98}
+\DeclareTextSymbol{\dalet}{LHE}{99}
+\DeclareTextSymbol{\he}{LHE}{100}
+\DeclareTextSymbol{\vav}{LHE}{101}
+\DeclareTextSymbol{\zayin}{LHE}{102}
+\DeclareTextSymbol{\het}{LHE}{103}
+\DeclareTextSymbol{\tet}{LHE}{104}
+\DeclareTextSymbol{\yod}{LHE}{105}
+\DeclareTextSymbol{\finalkaf}{LHE}{106}
+\DeclareTextSymbol{\kaf}{LHE}{107}
+\DeclareTextSymbol{\lamed}{LHE}{108}
+\DeclareTextSymbol{\finalmem}{LHE}{109}
+\DeclareTextSymbol{\mem}{LHE}{110}
+\DeclareTextSymbol{\finalnun}{LHE}{111}
+\DeclareTextSymbol{\nun}{LHE}{112}
+\DeclareTextSymbol{\samekh}{LHE}{113}
+\DeclareTextSymbol{\ayin}{LHE}{114}
+\DeclareTextSymbol{\finalpe}{LHE}{115}
+\DeclareTextSymbol{\pe}{LHE}{116}
+\DeclareTextSymbol{\finaltsadi}{LHE}{117}
+\DeclareTextSymbol{\tsadi}{LHE}{118}
+\DeclareTextSymbol{\qof}{LHE}{119}
+\DeclareTextSymbol{\resh}{LHE}{120}
+\DeclareTextSymbol{\shin}{LHE}{121}
+\DeclareTextSymbol{\tav}{LHE}{122}
+%</LHEenc>
+% \end{macrocode}
+% Letter |\sin| is defined as a synonym of |\shin|:
+% \begin{macrocode}
+%<+LHEenc>\let\sin=\shin
+% \end{macrocode}
+%
+% \subsection{The font definition files (in \LHE{} encoding)}
+%
+% \subsubsection{Hebrew default font}
+%
+% It uses \emph{Jerusalem} font for regular font, \emph{Old
+% Jaffa} font for italic shape and \emph{Dead Sea} font for bold
+% face.
+% \begin{macrocode}
+%<*LHEcmr>
+\DeclareFontFamily{LHE}{cmr}{\hyphenchar\font45}
+\DeclareFontShape{LHE}{cmr}{m}{n}
+ {<-> jerus10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmr}{m}{sc}
+%<-nowarn> {<->sub * cmr/m/n}{}
+%<+nowarn> {<->ssub * cmr/m/n}{}
+%%%%%%% Italicized shape
+\DeclareFontShape{LHE}{cmr}{m}{it}
+ {<-> oldjaf10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmr}{m}{sl}
+%<-nowarn> {<->sub * cmr/m/sl}{}
+%<+nowarn> {<->ssub * cmr/m/sl}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{cmr}{bx}{n}
+ {<-> deads10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmr}{b}{n}
+%<-nowarn> {<->sub * cmr/bx/n}{}
+%<+nowarn> {<->ssub * cmr/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmr}{bx}{sl}
+%<-nowarn> {<->sub * cmr/bx/n}{}
+%<+nowarn> {<->ssub * cmr/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmr}{bx}{it}
+%<-nowarn> {<->sub * cmr/bx/n}{}
+%<+nowarn> {<->ssub * cmr/bx/n}{}
+%</LHEcmr>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew sans-serif font}
+%
+% We use \emph{Tel Aviv} font for the Sans family. \emph{Old
+% Jaffa} font is used for italic shape and \emph{Dead Sea}
+% used for bold face.
+% \begin{macrocode}
+%<*LHEcmss>
+\DeclareFontFamily{LHE}{cmss}{\hyphenchar\font45}
+\DeclareFontShape{LHE}{cmss}{m}{n}
+ {<-> telav10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{m}{sc}
+%<-nowarn> {<->sub * cmss/m/n}{}
+%<+nowarn> {<->ssub * cmss/m/n}{}
+%%%%%%% Italicized shape
+\DeclareFontShape{LHE}{cmss}{m}{it}
+ {<-> oldjaf10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{m}{sl}
+%<-nowarn> {<->sub * cmss/m/it}{}
+%<+nowarn> {<->ssub * cmss/m/it}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{cmss}{bx}{n}
+ {<-> deads10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{b}{n}
+%<-nowarn> {<->sub * cmss/bx/n}{}
+%<+nowarn> {<->ssub * cmss/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{bx}{sl}
+%<-nowarn> {<->sub * cmss/bx/n}{}
+%<+nowarn> {<->ssub * cmss/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{bx}{it}
+%<-nowarn> {<->sub * cmss/bx/n}{}
+%<+nowarn> {<->ssub * cmss/bx/n}{}
+%</LHEcmss>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew typewriter font}
+%
+% We use \emph{Tel Aviv} font as the typewriter font. \emph{Old
+% Jaffa} font is used for italic shape and \emph{Dead Sea}
+% used for bold face.
+% \begin{macrocode}
+%<*LHEcmtt>
+\DeclareFontFamily{LHE}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{LHE}{cmtt}{m}{n}
+ {<-> telav10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmtt}{m}{sc}
+%<-nowarn> {<->sub * cmtt/m/n}{}
+%<+nowarn> {<->ssub * cmtt/m/n}{}
+%%%%%%% Italicized shape
+\DeclareFontShape{LHE}{cmtt}{m}{it}
+ {<-> oldjaf10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmtt}{m}{sl}
+%<-nowarn> {<->sub * cmtt/m/it}{}
+%<+nowarn> {<->ssub * cmtt/m/it}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{cmtt}{bx}{n}
+ {<-> deads10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmtt}{bx}{it}
+%<-nowarn> {<->sub * cmtt/bx/n}{}
+%<+nowarn> {<->ssub * cmtt/bx/n}{}
+%</LHEcmtt>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew classic font}
+%
+% \emph{Hclassic} and \emph{hcaption} fonts are distributed freely
+% from |CTAN| sites and copyrighted by Joel M.~Hoffman, of 19
+% Hillcrest Lane, Rye, NY 10580 USA, e-mail:
+% |72700.402@compuserve.com|.
+%
+% Hclassic is a modernized Classical Hebrew font (in the same way
+% that Knuth's |cmr| family is a modernized Roman font --- but his
+% fonts are much nicer). Hcaption is a slanted version of hclassic
+% font. Both fonts contain all of the Hebrew consonants,
+% the (rarely used) ligature \emph{alef-lamed} and two versions of
+% the letter \emph{ayin} for use with and without
+% vowels. Hclassic also contains all of the vowels found in Hebrew,
+% a symbol for \emph{meteg}, and dots for use as a \emph{dagesh}
+% and for differentiating \emph{shin} and \emph{sin} letters.
+%
+% Currently, only the Hebrew consonants (\emph{alef} -- \emph{tav})
+% from these fonts are supported by \LaTeXe{}, however one can use
+% vowels and dots directly with \PlainTeX{} macros. We are working
+% on generic vowels and dots support for \LaTeXe.
+%
+% \begin{macrocode}
+%<*LHEclas>
+\DeclareFontFamily{LHE}{clas}{}
+\DeclareFontShape{LHE}{clas}{m}{n}
+ {<-> s * [0.83345] hclassic }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{clas}{m}{sc}
+%<-nowarn> {<->sub * clas/m/n}{}
+%<+nowarn> {<->ssub * clas/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{clas}{m}{sl}
+ {<-> s * [0.69389] hcaption }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{clas}{m}{it}
+%<-nowarn> {<->sub * clas/m/sl}{}
+%<+nowarn> {<->ssub * clas/m/sl}{}
+%</LHEclas>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew shalom fonts}
+%
+% All three shalom fonts (\emph{ShalomScript10},
+% \emph{ShalomStick10} and \emph{ShalomOldStyle10}) have been
+% created by Jonathan Brecher, of 9 Skyview Road, Lexington, MA
+% 02173-1112 USA, e-mail: |brecher@husc.harvard.edu|.
+%
+% All shalom fonts have been written in \PS{} via Fontographer on a
+% Mac. The fonts have been converted to \MF{} by Rama Porrat
+% (e-mail: |rama@cc.huji.ac.il|), using
+% the utility typo, a font editor + converter between font formats
+% (a commercial product). |ShalomScript10.mf| is the \MF{}
+% equivalent of |ShalomScript.ps|, |ShalomStick10.mf| came from
+% |ShalomStick.ps| and |ShalomOldStyle10.mf| originated in
+% |ShalomOldStyle.ps|.
+%
+% The fonts differ in the letters' style. ShalomScript10 contains
+% hand writing Hebrew letters; ShalomStick10 contains sans-serif
+% letters, and ShalomOldStyle10 contains old style letters. All
+% three fonts contain vowels and dots (nikud). While converting to
+% \MF{}, letters and symbols within the fonts have been arranged
+% so as to get a usable font for writing Hebrew documents in \TeX{}
+% or \LaTeX{}, with as well as without vowels.
+%
+% Currently, only the Hebrew consonants (\emph{alef} -- \emph{tav})
+% from these fonts are supported by \LaTeXe{}, however one can use
+% vowels and dots directly with \PlainTeX{} macros. We are working
+% on generic vowels and dots support for \LaTeXe.
+%
+% \begin{macrocode}
+%<*LHEshold>
+\DeclareFontFamily{LHE}{shold}{}
+\DeclareFontShape{LHE}{shold}{m}{n}
+ {<-> shold10 }{}
+%</LHEshold>
+%<*LHEshscr>
+\DeclareFontFamily{LHE}{shscr}{}
+\DeclareFontShape{LHE}{shscr}{m}{n}
+ {<-> shscr10 }{}
+%</LHEshscr>
+%<*LHEshstk>
+\DeclareFontFamily{LHE}{shstk}{}
+\DeclareFontShape{LHE}{shstk}{m}{n}
+ {<-> shstk10 }{}
+%</LHEshstk>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew frank-ruehl font}
+%
+% \emph{Frank Ruehl} font was written in \MF{} and includes three
+% shapes: regular, bold extaneded and slanted.
+%
+% \begin{macrocode}
+%<*LHEfr>
+\DeclareFontFamily{LHE}{fr}{}
+\DeclareFontShape{LHE}{fr}{m}{n}
+ {<-> fr }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{m}{sc}
+%<-nowarn> {<->sub * fr/m/n}{}
+%<+nowarn> {<->ssub * fr/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{fr}{m}{sl}
+ {<-> frsl }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{m}{it}
+%<-nowarn> {<->sub * fr/m/sl}{}
+%<+nowarn> {<->ssub * fr/m/sl}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{fr}{bx}{n}
+ {<-> frbx }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{b}{n}
+%<-nowarn> {<->sub * fr/bx/n}{}
+%<+nowarn> {<->ssub * fr/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{bx}{sl}
+%<-nowarn> {<->sub * fr/bx/n}{}
+%<+nowarn> {<->ssub * fr/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{bx}{it}
+%<-nowarn> {<->sub * fr/bx/n}{}
+%<+nowarn> {<->ssub * fr/bx/n}{}
+%</LHEfr>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew carmel font}
+%
+% \emph{Carmel} font includes regular and slanted shapes. It was
+% created by Dr.~Samy Zafrany of the Technion, Haifa, Israel with
+% the intention of making nice fonts for headers and emphasized
+% text.
+%
+% \begin{macrocode}
+%<*LHEcrml>
+\DeclareFontFamily{LHE}{crml}{}
+\DeclareFontShape{LHE}{crml}{m}{n}
+ {<-> crml10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{crml}{m}{sc}
+%<-nowarn> {<->sub * crml/m/n}{}
+%<+nowarn> {<->ssub * crml/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{crml}{m}{sl}
+ {<-> crmlsl10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{crml}{m}{it}
+%<-nowarn> {<->sub * crml/m/sl}{}
+%<+nowarn> {<->ssub * crml/m/sl}{}
+%</LHEcrml>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew redis font}
+%
+% \emph{Redis} font has been created by Prof.~Jacques J.~Goldberg
+% of the Technion. Haifa, Israel. The font is available in regular,
+% slanted and bold extanded shapes. This font contains a full set
+% of Hebrew letters in a ``sans-serif vectorized'' style, and
+% selected punctuation.
+%
+% \begin{macrocode}
+%<*LHEredis>
+\DeclareFontFamily{LHE}{redis}{}
+\DeclareFontShape{LHE}{redis}{m}{n}{%
+ <5> <6> redis7
+ <7> <8> <9> <10> <12> gen * redis
+ <10.95> redis10
+ <14.4> redis12
+ <17.28> <20.74> <24.88> redis17}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{m}{sc}
+%<-nowarn> {<->sub * redis/m/n}{}
+%<+nowarn> {<->ssub * redis/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{redis}{m}{sl}{%
+ <5> <6> <7> rediss8
+ <8> <9> <10> <12> gen * rediss
+ <10.95> rediss10
+ <14.4> <17.28> <20.74> <24.88> rediss12}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{m}{it}
+%<-nowarn> {<->sub * redis/m/sl}{}
+%<+nowarn> {<->ssub * redis/m/sl}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{redis}{bx}{n}{%
+ <5> <6> <7> <8> <9> <10> <10.95> <12>
+ <14.4> <17.28> <20.74> <24.88> redisb10}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{b}{n}
+%<-nowarn> {<->sub * redis/bx/n}{}
+%<+nowarn> {<->ssub * redis/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{bx}{sl}
+%<-nowarn> {<->sub * redis/bx/n}{}
+%<+nowarn> {<->ssub * redis/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{bx}{it}
+%<-nowarn> {<->sub * redis/bx/n}{}
+%<+nowarn> {<->ssub * redis/bx/n}{}
+%</LHEredis>
+% \end{macrocode}
+%
+% \subsubsection{Hebrew font switching commands}
+%
+% The \pkg{hebfont} package defines a number of high-level commands
+% (all starting with |\text..| similar to the standard \LaTeXe{}
+% font-change commands, for example |\textbf|) that have one
+% argument and typeset this argument in the requested way. These
+% commands are defined for all available Hebrew fonts defined above
+% and change only font parameters but not direction.
+%
+% For example, to use Hebrew Classic font family, the following
+% sequence of commands should be included in a \LaTeXe{} document:
+% \begin{quote}
+% |\sethebrew|\\
+% |\textclas{Hebrew text printed with Classic fonts}|
+% \end{quote}
+% or to use Hebrew with Classic fonts locally:
+% \begin{quote}
+% |\R{\textclas{Hebrew text printed with Classic fonts}}|
+% \end{quote}
+%
+% \begin{table}[t]
+% \begin{center}
+% \begin{tabular}{lll}
+% \textit{Command} & \textit{Corresponds to} &
+% \textit{Font family} \\[4pt]
+% |\textjm{..}| & |\rmfamily| & Jerusalem font \\
+% |\textds{..}| & |\bfseries| & Dead Sea font \\
+% |\textoj{..}| & |\itshape| & Old Jaffa font \\
+% & |\slshape| & \\
+% & |\emph| & \\
+% |\textta{..}| & |\sffamily| & Tel-Aviv font \\
+% & |\ttfamily| & \\[2pt]
+% |\textcrml{..}| & |\fontfamily{crml}| & Carmel fonts \\[2pt]
+% |\textfr{..}| & |\fontfamily{fr}| & Frank-Ruehl fonts \\[2pt]
+% |\textredis{..}| & |\fontfamily{redis}| & Redis fonts \\[2pt]
+% |\textclas{..}| & |\fontfamily{redis}| & Classic fonts \\[2pt]
+% |\textshold{..}| & |\fontfamily{shold}| & Shalom Old Style font \\
+% |\textshscr{..}| & |\fontfamily{shscr}| & Shalom Script font \\
+% |\textshstk{..}| & |\fontfamily{shstk}| & Shalom Stick font
+% \end{tabular}
+% \end{center}
+% \caption{Hebrew font-change commands with arguments}
+% \label{tab:fntcmds}
+% \begin{quote}
+% The font change commands provided here all start with |\text..|
+% to emphasize that they are for use in normal text and to be
+% easily memorable.
+% \end{quote}
+% \end{table}
+%
+% We declare \LaTeXe{} font commands, e.g.\ |\textjm{|\ldots|}|
+% for all available fonts. Table~\ref{tab:fntcmds} shows the
+% meanings of all these new high-level commands.
+%
+% \begin{macro}{\textjm}
+% Switches to \emph{Jerusalem} font which is default regular Hebrew
+% font (``roman'' family). Commands |\textrm{|\ldots|}| and
+% old-style |{\rm |\ldots|}| will produce the same result.
+% \begin{macrocode}
+%<*hebfont>
+\DeclareTextFontCommand{\textjm}{\rmfamily\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textds}
+% Switches to \emph{Dead Sea} font which is default bold font in
+% Hebrew. Commands |\textbf{|\ldots|}| and old-style
+% |{\bf |\ldots|}| will produce the same result.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textds}{\bfseries\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textoj}
+% Switches to \emph{Old Jaffa} font which is default italic font in
+% Hebrew. Commands |\textit{|\ldots|}|, |\textsl{|\ldots|}|,
+% |\emph{|\ldots|}| and old-style |{\it |\ldots|}| or
+% |{\em |\ldots|}| will produce the same result.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textoj}{\itshape\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textta}
+% Switches to \emph{Tel-Aviv} font which is default sans-serif font
+% in Hebrew. Commands |\textsf{|\ldots|}|, |\texttt{|\ldots|}| and
+% old-style |{\sf |\ldots|}| or |{\tt |\ldots|}| will produce the
+% same result (because sans-serif is used as typewriter font when
+% in Hebrew mode).
+% \begin{macrocode}
+\DeclareTextFontCommand{\textta}{\sffamily\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textcrml}
+% Switches to \emph{Carmel} font. Regular and slanted variants of
+% carmel font will be used..
+% \begin{macrocode}
+\DeclareTextFontCommand{\textcrml}{\fontfamily{crml}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textfr}
+% Switches to \emph{Frank-Ruehl} font family. Regular, bold and
+% slanted frank ruehl fonts will be used.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textfr}{\fontfamily{fr}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textredis}
+% Switches to \emph{Redis} font family. Regular, bold and slanted
+% redis fonts of various sizes will be used.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textredis}{\fontfamily{redis}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textclas}
+% Switches to \emph{Classic} font family. The normal font will be
+% hclassic and slanted --- hcaption.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textclas}{\fontfamily{clas}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textshold}
+% Switches to \emph{Shalom Old Style} font.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textshold}{\fontfamily{shold}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textshscr}
+% Switches to \emph{Shalom Script} font.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textshscr}{\fontfamily{shscr}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textshstk}
+% Switches to \emph{Shalom Stick} font.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textshstk}{\fontfamily{shstk}\selectfont}
+% \end{macrocode}
+% \end{macro}
+%
+% Finally, for backward compatibility with \LaTeX2.09. four old
+% font commands, e.g.\ |{\jm |\ldots|}| are defined too (see
+% Table~\ref{tab:oldcmds}).
+% \begin{table}[t]
+% \begin{center}
+% \begin{tabular}{lll}
+% \textit{Old font command} & \textit{Font name} &
+% \textit{Comment}\\[4pt]
+% |{\jm ..}| & Jerusalem & default regular (roman) font \\
+% |{\ds ..}| & Dead Sea & default bold font \\
+% |{\oj ..}| & Old Jaffa & default italic and slanted font \\
+% & & used also to emphasize text \\
+% |{\ta ..}| & Tel-Aviv & default sans-serif and typewriter font\\
+% \end{tabular}
+% \end{center}
+% \caption{Hebrew old font-change commands for compatibility mode}
+% \label{tab:oldcmds}
+% \end{table}
+% \begin{macrocode}
+\if@compatibility
+ \DeclareOldFontCommand{\jm}{\normalfont\rmfamily\selectfont}%
+ {\@nomath\jm}
+ \DeclareOldFontCommand{\ds}{\normalfont\bfseries\selectfont}%
+ {\@nomath\ds}
+ \DeclareOldFontCommand{\oj}{\normalfont\itshape\selectfont}%
+ {\@nomath\oj}
+ \DeclareOldFontCommand{\ta}{\normalfont\sffamily\selectfont}%
+ {\@nomath\ta}
+\fi
+%</hebfont>
+% \end{macrocode}
+%
+% \Finale
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebrew.ldf b/language/hebrew/hebtex/macros/latex_macros/hebrew.ldf
new file mode 100644
index 0000000000..12975ef0f6
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebrew.ldf
@@ -0,0 +1,223 @@
+%%
+%% This is file `hebrew.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.dtx (with options: `hebrew')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{hebrew.ldf}
+ [1998/01/01 v2.0a
+ Hebrew language definition from the babel system
+ (test version: still liable to change)]
+\LdfInit{hebrew}{captionshebrew}
+\ifx\l@hebrew\@undefined
+ \@nopatterns{Hebrew}%
+ \adddialect\l@hebrew0
+\fi
+\AtEndOfPackage{%
+ \@ifpackageloaded{fontenc}{%
+ \@ifl@aded{def}{lheenc}{\def\hebrewencoding{LHE}}{}%
+ }{%
+ \input{lheenc.def}%
+ \def\hebrewencoding{LHE}%
+ }}
+\AtEndOfPackage{%
+ \@ifpackageloaded{inputenc}{}{\RequirePackage[8859-8]{inputenc}}}
+\def\hebrewhyphenmins{\tw@\tw@}
+\addto\captionshebrew{%
+ \def\prefacename{\mem\bet\vav\alef}%
+ \def\refname{\resh\shin\yod\mem\tav\ \mem\qof\vav\resh\vav\tav}%
+ \def\abstractname{\tav\qof\tsadi\yod\resh}%
+ \def\bibname{\bet\yod\bet\lamed\yod\vav\gimel\resh\pe\yod\he}%
+ \def\chaptername{\pe\resh\qof}%
+ \def\appendixname{\nun\samekh\pe\het}%
+ \def\contentsname{\tav\vav\kaf\finalnun\
+ \ayin\nun\yod\nun\yod\finalmem}%
+ \def\listfigurename{\resh\shin\yod\mem\tav\
+ \alef\yod\vav\resh\yod\finalmem}%
+ \def\listtablename{\resh\shin\yod\mem\tav\
+ \tet\bet\lamed\alef\vav\tav}%
+ \def\indexname{\mem\pe\tav\het}%
+ \def\figurename{\alef\yod\vav\resh}%
+ \def\tablename{\tet\bet\lamed\he}%
+ \def\partname{\het\lamed\qof}%
+ \def\enclname{\resh\tsadi"\bet}%
+ \def\ccname{\he\ayin\tav\qof\yod\finalmem}%
+ \def\headtoname{\alef\lamed}%
+ \def\pagename{\ayin\mem\vav\dalet}%
+ \def\psname{\nun.\bet.}%
+ \def\seename{\resh\alef\he}%
+ \def\alsoname{\resh\alef\he \gimel\memesof}%
+ \def\proofname{\he\vav\kaf\het\he}}
+\def\hebmonth#1{%
+ \ifcase#1\or \yod\nun\vav\alef\resh\or
+ \pe\bet\resh\vav\alef\resh\or \mem\resh\finaltsadi\or
+ \alef\pe\resh\yod\lamed\or \mem\alef\yod\or \yod\vav\nun\yod\or
+ \yod\vav\lamed\yod\or \alef\vav\gimel\vav\samekh\tet\or
+ \samekh\pe\tet\mem\bet\resh\or \alef\vav\qof\tet\vav\bet\resh\or
+ \nun\vav\bet\mem\bet\resh\or \dalet\tsadi\mem\bet\resh\fi}
+\def\hebdate#1#2#3{%
+ \beginR\beginL\number#1\endL\ \bet\hebmonth{#2}
+ \beginL\number#3\endL\endR}
+\def\hebday{\hebdate{\day}{\month}{\year}}
+\def\datehebrew{\let\today=\hebday}
+\addto\extrashebrew{%
+ \tohebrew%
+ \ifhmode\ifinner\else\beginR\fi\fi}
+\addto\noextrashebrew{%
+ \fromhebrew%
+ \ifhmode\ifinner\else\beginL\fi\fi}
+\def\sethebrew{\setrllanguage{hebrew}}
+\def\unsethebrew{\unsetrllanguage{hebrew}}
+\if@compatibility
+ \let\hebrewtext=\sethebrew
+ \let\nohebrewtext=\unsethebrew
+\fi
+\def\tohebrew{\@torl{hebrew}}%
+\def\fromhebrew{\@fromrl}
+\def\@@hebrew#1{\beginR{{\tohebrew#1}}\endR}
+\def\@hebrew{\protect\@@hebrew}
+\def\@@hebr#1{%
+ \ifcase#1\or \alef\or \bet\or \gimel\or \dalet\or \he\or \vav\or
+ \zayin\or \het\or \tet\or \yod\or \kaf\or \lamed\or \mem\or
+ \nun\or \samekh\or \ayin\or \pe\or \tsadi\or \qof\or \resh\or
+ \shin\or \tav\else\@ctrerr\fi}
+\def\@hebr#1{\@hebrew{\@@hebr#1}}
+\def\hebr#1{\@hebr{\@nameuse{c@#1}}}
+\def\@@gim#1{\@tempcnta=#1\divide\@tempcnta\@m
+ \@@hebr\@tempcnta
+ \multiply\@tempcnta\@m\@tempcntb=#1\advance\@tempcntb-\@tempcnta
+ \ifnum\@tempcntb>799 \tav\tav \advance\@tempcntb-800\fi
+ \ifnum\@tempcntb>399 \tav \advance\@tempcntb-400\fi
+ \ifnum\@tempcntb>299 \shin \advance\@tempcntb-300\fi
+ \ifnum\@tempcntb>199 \resh\advance\@tempcntb-200\fi
+ \ifnum\@tempcntb>99 \qof\advance\@tempcntb-100\fi
+ \ifnum\@tempcntb>0 %
+ \ifnum\@tempcntb=16 \tet\zayin%
+ \else\ifnum\@tempcntb=15 \tet\vav%
+ \else\@tempcnta\@tempcntb \divide\@tempcntb 10
+ \ifnum\@tempcntb>0 %
+ \advance\@tempcntb 9
+ \@@hebr\@tempcntb\advance\@tempcntb-9 \fi
+ \multiply\@tempcntb 10\advance\@tempcnta-\@tempcntb
+ \ifnum\@tempcnta>0 \@@hebr\@tempcnta\fi
+ \fi}
+\def\@gim#1{\@hebrew{\@@gim#1}}
+\def\gim#1{\@gim{\@nameuse{c@#1}}}
+\addto\extrashebrew{%
+ \let\saved@alph=\@alph%
+ \let\saved@Alph=\@Alph%
+ \def\@alph#1{\@hebrew{\@@hebr#1}}%
+ \def\@Alph#1{\@latin{\@@Alph#1}}}
+\addto\noextrashebrew{%
+ \let\@alph=\saved@alph%
+ \let\@Alph=\saved@Alph}
+\@ifclassloaded{letter}{}{%
+ \let\@@appendix=\appendix%
+ \@ifclassloaded{article}{%
+ \renewcommand\appendix{\@@appendix%
+ \renewcommand\thesection{\protect\if@rl\@hebr\c@section%
+ \protect\else\@Alph\c@section\protect\fi}}}%
+ {\renewcommand\appendix{\@@appendix%
+ \renewcommand\thechapter{\protect\if@rl\@hebr\c@chapter%
+ \protect\else\@Alph\c@chapter\protect\fi}}}}
+\def\hebcopy{\protect\R{\he\ayin\tav\qof}}
+\def\hebincl{\protect\R{\resh\tsadi"\bet}}
+\def\hebpage{\protect\R{\ayin\mem\vav\dalet}}
+\def\hebto{\protect\R{\ayin\dalet}}
+\def\hadgesh#1{\leavevmode\setbox0=\hbox{#1}%
+ \kern-.025em\copy0\kern-\wd0
+ \kern.05em\copy0\kern-\wd0
+ \kern-.025em\raise.0433em\box0 }
+\if@compatibility
+ \def\piska#1{\item{#1}\hangindent=-\hangindent}
+ \def\piskapiska#1{\itemitem{#1}\hangindent=-\hangindent}
+\fi
+\let\makafgadol=\textendash
+\let\makafanak=\textemdash
+\let\geresh=\textquoteright
+\let\opengeresh=\textquoteright
+\let\closegeresh=\textquoteleft
+\let\openquote=\textquotedblright
+\let\closequote=\textquotedblleft
+\let\leftquotation=\textquotedblright
+\let\rightquotation=\textquotedblleft
+\AtBeginDocument{\def\@rllanguagename{hebrew}}
+\ldf@finish{hebrew}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `hebrew.ldf'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebrew_newcode.sty b/language/hebrew/hebtex/macros/latex_macros/hebrew_newcode.sty
new file mode 100644
index 0000000000..96668afb2c
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebrew_newcode.sty
@@ -0,0 +1,87 @@
+%%
+%% This is file `hebrew_newcode.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% heb209.dtx (with options: `newcode')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\NeedsTeXFormat{LaTeX2e}
+\@obsoletefile{hebrew.sty}{hebrew_newcode.sty}
+\RequirePackage[8859-8]{inputenc}
+\RequirePackage[english,hebrew]{babel}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `hebrew_newcode.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebrew_oldcode.sty b/language/hebrew/hebtex/macros/latex_macros/hebrew_oldcode.sty
new file mode 100644
index 0000000000..ffaba1d7da
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebrew_oldcode.sty
@@ -0,0 +1,87 @@
+%%
+%% This is file `hebrew_oldcode.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% heb209.dtx (with options: `oldcode')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\NeedsTeXFormat{LaTeX2e}
+\@obsoletefile{hebrew.sty}{hebrew_oldcode.sty}
+\RequirePackage[si960]{inputenc}
+\RequirePackage[english,hebrew]{babel}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `hebrew_oldcode.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebrew_p.sty b/language/hebrew/hebtex/macros/latex_macros/hebrew_p.sty
new file mode 100644
index 0000000000..0095fe5e85
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebrew_p.sty
@@ -0,0 +1,87 @@
+%%
+%% This is file `hebrew_p.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% heb209.dtx (with options: `pccode')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\NeedsTeXFormat{LaTeX2e}
+\@obsoletefile{hebrew.sty}{hebrew_p.sty}
+\RequirePackage[cp862]{inputenc}
+\RequirePackage[english,hebrew]{babel}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `hebrew_p.sty'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/hebtech.cls b/language/hebrew/hebtex/macros/latex_macros/hebtech.cls
new file mode 100644
index 0000000000..2c8d316a73
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/hebtech.cls
@@ -0,0 +1,485 @@
+%%
+%% This is file `hebtech.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebtech.dtx (with options: `hebtech')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+%% LaTeX2e hebtech class, derived by Boris Lavva from original hebtech
+%% macros created for LaTeX 2.09.
+%%
+%% Copyright 1994 Irina Abramovici, Taub Computer Center, Technion ---
+%% Israel Institute of Technology, e-mail ccaiire@tx.technion.ac.il.
+%%
+%% This package can be used for writing a thesis in the Hebrew/English
+%% languages, at the Technion --- Israel Institute of Technology.
+%%
+%% Bugs reports and suggestions should be addressed to
+%% Irina Abramovici, Taub Computer Center, Technion, tel: 04-8293690,
+%% e-mail: ccaiire@tx.technion.ac.il
+%% OR
+%% to Boris Lavva, tel: 04-8294659, e-mail: lavva@tx.technion.ac.il.
+%%
+%% This package is an experimental meant to answer to the demands of
+%% the Graduate School of the Technion --- Israel Institute of
+%% Technology.
+%%
+\NeedsTeXFormat{LaTeX2e}[1996/06/01]
+\ProvidesClass{hebtech}
+ [1997/12/09 v.1.0a Technion thesis class]
+\ExecuteOptions{a4paper,12pt,oneside,onecolumn,final,openany}
+\DeclareOption{draft}{%
+ \PassOptionsToPackage{all,light}{draftcopy}
+ \PassOptionsToClass{draft}{report}
+ \AtEndOfClass{\RequirePackage{draftcopy}}}
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{report}}
+\ProcessOptions
+\LoadClass{report}
+\RequirePackage{setspace}
+\AtBeginDocument{\doublespacing}
+\RequirePackage[english,hebrew]{babel}
+\RequirePackage{hebcal}
+\renewcommand{\Hebrewdate}[3]{%
+ \HebrewFromGregorian{#1}{#2}{#3}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \if@rl% Hebrew (right-to-left) mode
+ \FormatForHebrew{\Hebrewmonth}{\Hebrewyear}%
+ \else% English mode
+ \FormatForEnglish{\Hebrewmonth}{\Hebrewyear}%
+ \fi}
+\renewcommand{\FormatForEnglish}[2]{%
+ \HebrewMonthNameInEnglish{#1}{#2}, \space\number#2}
+\renewcommand{\FormatForHebrew}[2]{%
+ \HebrewMonthName{#1}{#2} \space\HebrewYearName{#2}}
+\renewcommand{\HebrewMonthNameInEnglish}[2]{%
+ \ifnum #1 = 7%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap ADAR II\else ADAR\fi%
+ \else%
+ \ifcase #1%
+ % nothing for 0
+ \or TISHREI%
+ \or HESHVAN%
+ \or KISLEV%
+ \or TEBETH%
+ \or SHEBAT%
+ \or ADAR I%
+ \or ADAR II%
+ \or NISAN%
+ \or IYAR%
+ \or SIVAN%
+ \or TAMMUZ%
+ \or AV%
+ \or ELUL%
+ \fi
+ \fi}
+\newcommand\engmonth[1]{%
+ \ifcase#1\or January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi}
+\newcommand{\Gregoriandate}[3]{%
+ \if@rl%
+ \hebmonth{#2} \space{\beginL\number#3\endL}%
+ \else%
+ \engmonth{#2}, \space{\number#3}%
+ \fi}
+\newcount\dd \newcount\mm \newcount\yy
+\dd=\number\day \mm=\number\month \yy=\number\year
+\renewcommand{\date}[3]{\dd=#1 \mm=#2 \yy=#3}
+\addto\captionsenglish{%
+ \def\acknowledgmentname{Acknowledgment}%
+ \def\bibname{References}%
+ \def\continuedname{Cont'd}%
+ \def\definitionname{Definition}%
+ \def\theoremname{Theorem}%
+ \def\lemmaname{Lemma}%
+ \def\claimname{Claim}%
+ \def\corollaryname{Corollary}%
+ \def\axiomname{Axiom}%
+ \def\assumptionname{Assumption}%
+ \def\examplename{Example}%
+ \def\propertyname{Property}%
+ \def\remarkname{Remark}%
+ \def\problemname{Problem}%
+ \def\algorithmname{Algorithm}%
+}
+\addto\captionshebrew{%
+ \def\acknowledgmentname{\he\kaf\resh\tav\ \tav\vav\dalet\he}%
+ \def\bibname{\resh\shin\yod\mem\tav\ \mem\qof\vav\resh\vav\tav}%
+ \def\continuedname{\he\mem\shin\finalkaf}%
+ \def\definitionname{\he\gimel\dalet\resh\he}%
+ \def\theoremname{\mem\shin\pe\tet}%
+ \def\lemmaname{\lamed\mem\he}%
+ \def\claimname{\tet\ayin\nun\he}%
+ \def\corollaryname{\mem\samekh\qof\nun\he}%
+ \def\axiomname{\alef\qof\samekh\yod\vav\mem\he}%
+ \def\assumptionname{\he\nun\het\he}%
+ \def\examplename{\dalet\vav\gimel\mem\he}%
+ \def\propertyname{\tav\kaf\vav\nun\he}%
+ \def\remarkname{\he\ayin\resh\he}%
+ \def\problemname{\bet\ayin\yod\he}%
+ \def\algorithmname{\alef\lamed\gimel\vav\resh\yod\tav\finalmem}%
+}
+\def\@makeschapterhead#1{% % Heading for \chapter* command
+ \vspace*{50\p@}% % Space at top of text page.
+ {\parindent \z@ \centering % Center the header
+ \normalfont
+ \interlinepenalty\@M
+ \huge \bfseries #1\par % Title.
+ \nobreak % TeX penalty to prevent page break.
+ \vskip 40\p@ % Space between title and text.
+ }}
+\renewcommand{\bchapternn}[2]{\chapter*{%
+ \protect\if@rl #1\protect\else #2\protect\fi%
+ \@mkboth{\MakeUppercase{\protect\if@rl #1\protect\else
+ #2\protect\fi}}%
+ {\MakeUppercase{\protect\if@rl #1\protect\else
+ #2\protect\fi}}}
+ \addcontentsline{toc}{chapter}{%
+ \protect\hspace{-1.5em}\protect\numberline{}%
+ \protect\if@rl #1\protect\else #2\protect\fi}
+ \addcontentsline{cot}{chapter}{%
+ \protect\hspace{-1.5em}\protect\numberline{}%
+ \protect\if@rl #1\protect\else #2\protect\fi}}
+\let\@@thebibliography\thebibliography
+\def\thebibliography{%
+ \addcontentsline{toc}{chapter}{\protect\hspace{-1.5em}\protect{%
+ \bfseries\protect\numberline{}\protect\bibname}}
+ \addcontentsline{cot}{chapter}{\protect\hspace{-1.5em}\protect{%
+ \bfseries\protect\numberline{}\protect\bibname}}
+ \@@thebibliography}
+\newcommand{\bcaptionf}[2]{%
+ \caption[\protect\if@rl \R{#1}\protect\else \L{#2}\protect\fi]{%
+ \if@rl\R{#1} \protect\\ \L{Figure~\thefigure: #2}
+ \else\L{#2} \protect\\ \R{\alef\yod\vav\resh~\thefigure: #1}
+ \fi}}
+\newcommand{\bcaptionff}[4]{%
+ \caption[\protect\if@rl \R{#1}\protect\else \L{#2}\protect\fi]{%
+ \if@rl\R{#3}\protect\\ \L{Figure~\thefigure: #4}
+ \else\L{#4}\protect\\ \R{\alef\yod\vav\resh~\thefigure: #3}
+ \fi}}
+\newcommand{\bcaptiont}[2]{%
+ \caption[\protect\if@rl \R{#1}\protect\else \L{#2}\protect\fi]{%
+ \if@rl\R{#1} \protect\\ \L{Table~\thetable: #2}
+ \else\L{#2} \protect\\ \R{\tet\bet\lamed\he~\thetable: #1}
+ \fi}}
+\newcommand{\bcaptiontt}[4]{%
+ \caption[\protect\if@rl \R{#1}\protect\else \L{#2}\protect\fi]{%
+ \if@rl\R{#3} \protect\\ \L{Table~\thetable: #4}
+ \else\L{#4} \protect\\ \R{\tet\bet\lamed\he~\thetable: #3}
+ \fi}}
+\newcounter{thestype}
+\newcounter{grade}
+\def\title#1#2{\gdef\@@titleh{#1}\gdef\@@title{#2}}
+\def\author#1#2{\gdef\@@authorh{#1}\gdef\@@author{#2}}
+\def\dept#1#2{\gdef\@@depth{#1}\gdef\@@dept{#2}}
+\def\dom#1#2{\gdef\@@domh{#1}\gdef\@@dom{#2}}
+\def\advisori#1#2{\gdef\@@advisorih{#1}\gdef\@@advisori{#2}}
+\def\advisorii#1#2{\gdef\@@advisoriih{#1}\gdef\@@advisorii{#2}}
+\def\donori#1#2{\gdef\@@donorih{#1}\gdef\@@donori{#2}}
+\def\donorii#1#2{\gdef\@@donoriih{#1}\gdef\@@donorii{#2}}
+\def\donor#1#2{\gdef\@donorh{#1}\gdef\@donor{#2}}
+\def\@@title{}
+\def\@@author{}
+\def\@@dom{}
+\def\@@advisori{}
+\def\@@advisorii{}
+\def\@@donori{}
+\def\@@donorii{}
+\def\@donor{}
+\def\@thestype{%
+ \ifcase\value{thestype}%
+ \or \MakeUppercase{Research Thesis}%
+ \or \MakeUppercase{Project Thesis}%
+ \or \MakeUppercase{Final Paper} \else {}\fi}
+\def\@linei{%
+ \MakeUppercase{Submitted in Partial Fulfillment
+ of the Requirements}}
+\def\@lineii{%
+ \ifcase\value{grade}%
+ \or \MakeUppercase{For the Degree of Master of Science}
+ \or \MakeUppercase{For the Degree of Master}
+ \or \MakeUppercase{For the Degree of Master of Technology}
+ \or \MakeUppercase{For the Degree of Doctor of Science}
+ \else {}\fi}
+\def\@lineiii{%
+ \if\@@dom\else%
+ \ifcase\value{grade}%
+ \or \MakeUppercase{in} \MakeUppercase{\@@dom}%
+ \or \MakeUppercase{in} \MakeUppercase{\@@dom}%
+ \or \MakeUppercase{in} \MakeUppercase{\@@dom}%
+ \else{}\fi%
+ \fi}
+\def\@lineiv{\mbox{\hspace{-.2in}\footnotesize\MakeUppercase{%
+ Submitted to the Senate of the Technion --- %
+ Israel Institute of Technology}}}
+\def\@linev{\footnotesize{\Hebrewdate{\dd}{\mm}{\yy}%
+ \hfill\MakeUppercase{Haifa}\hfill%
+ \MakeUppercase{\Gregoriandate{\dd}{\mm}{\yy}}}}
+\def\@linevi{\MakeUppercase{This}\
+ \@thestype\
+ \MakeUppercase{was supervised by}}
+\def\@linevii{\MakeUppercase{under the auspices of the}}
+\def\@donor{%
+ \MakeUppercase{The generous financial help of}\ %
+ \MakeUppercase{\@@donori}\ %
+ \ifx\empty\@@donorii\else\MakeUppercase{and \@@donorii{} }\fi%
+ \MakeUppercase{is gratefully acknowledged}}
+\def\@@titleh{}
+\def\@@authorh{}
+\def\@@depth{}
+\def\@@domh{}
+\def\@@advisorih{}
+\def\@@advisoriih{}
+\def\@@donorih{}
+\def\@@donoriih{}
+\def\@donorh{}
+\def\@thestypeh{%
+ \ifcase\value{thestype}%
+ \or \het\yod\bet\vav\resh\ \ayin\lamed\ \mem\het\qof\resh%
+ \or \het\yod\bet\vav\resh\ \ayin\lamed\ \pe\resh\vav\yod\qof\tet%
+ \or \ayin\bet\vav\dalet\tav\ \gimel\mem\resh \else {}\fi}
+\def\@lineih{%
+ \lamed\shin\finalmem\ \mem\yod\lamed\vav\yod\ \het\lamed\qof\yod\ %
+ \shin\lamed\ \he\dalet\resh\yod\shin\vav\tav\ %
+ \lamed\qof\bet\lamed\tav\ \tav\vav\alef\resh{}}
+\def\@lineiih{%
+ \ifcase\value{grade}%
+ \or \mem\gimel\yod\samekh\tet\resh\ %
+ \lamed\mem\dalet\ayin\yod\finalmem%
+ \or \mem\gimel\yod\samekh\tet\resh%
+ \or \mem\gimel\yod\samekh\tet\resh\ %
+ \bet\tet\kaf\nun\vav\lamed\vav\gimel\yod\he%
+ \or \dalet\qof\tet\vav\resh\ %
+ \lamed\mem\dalet\ayin\yod\finalmem%
+ \else {}\fi}
+\def\@lineiiih{%
+ \ifcase\value{grade}%
+ \or \@@domh%
+ \or \@@domh%
+ \or \@@domh%
+ \else{}\fi}
+\def\@lineivh{\he\vav\gimel\shin\ \lamed\samekh\nun\tet\ %
+ \he\tet\kaf\nun\yod\vav\finalnun\ \textemdash\ %
+ \mem\kaf\vav\finalnun\ %
+ \tet\kaf\nun\vav\lamed\vav\gimel\yod\ %
+ \lamed\yod\shin\resh\alef\lamed}
+\def\@linevh{\Hebrewdate{\dd}{\mm}{\yy}%
+ \hfill\het\yod\pe\he\hfill%
+ \Gregoriandate{\dd}{\mm}{\yy}}
+\def\@linevih{%
+ \ifcase\value{thestype}%
+ \or \@thestypeh{} \nun\ayin\shin\he%
+ \or \@thestypeh{} \nun\ayin\shin\he%
+ \or \@thestypeh{} \nun\ayin\shin\tav\he\else{}\fi}
+\def\@lineviih{\bet\he\dalet\resh\kaf\tav{}}
+\def\@donorh{\alef\nun\yod\ \mem\vav\dalet\he{}
+ \lamed\@@donorih{}
+ \ifx\empty\@@donoriih\else\vav\lamed\@@donoriih{} \fi
+ \ayin\lamed\ \he\tav\mem\yod\kaf\he\ \he\kaf\samekh\pe\yod\tav\ %
+ \he\nun\dalet\yod\bet\he\ \bet\he\shin\tav\lamed\mem\vav\tav\yod}%
+\newcommand\frontmatter{%
+ \if@openright\cleardoublepage\else\clearpage\fi%
+ \if@rl\pagenumbering{alph}\else\pagenumbering{roman}\fi}
+\newcommand\mainmatter{%
+ \if@openright\cleardoublepage\else\clearpage\fi%
+ \pagenumbering{arabic}}
+\let\backmatter\frontmatter
+\newcommand{\makecover}{%
+ \begin{titlepage}
+ \thispagestyle{empty}
+ \null\vskip.8truein
+ \begin{doublespace}
+ \begin{center}
+ \bfseries\if@rl\Huge\@@titleh
+ \else\LARGE\MakeUppercase{\@@title}\fi
+ \vskip2.7truein
+ \if@rl\huge\@@authorh
+ \else\LARGE\MakeUppercase{\@@author}\fi
+ \end{center}
+ \end{doublespace}
+ \vfill\null
+ \end{titlepage}
+ \thispagestyle{empty}}
+\renewcommand{\maketitle}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{empty}
+ \begin{doublespace}
+ \begin{center}
+ \bfseries\if@rl\huge\@@titleh
+ \else\Large\MakeUppercase{\@@title}\fi
+ \end{center}
+ \vfill
+ \begin{center}
+ \if@rl\Large\@thestypeh\else\large\@thestype\fi
+ \end{center}
+ \vfill
+ \begin{center}
+ \if@rl\large
+ \@lineih\\
+ \@lineiih\\
+ \@lineiiih
+ \else\large
+ \@linei\\
+ \@lineii\\
+ \@lineiii\fi
+ \end{center}
+ \vfill%
+ \begin{center}
+ \bfseries\if@rl\LARGE\@@authorh
+ \else\Large\MakeUppercase{\@@author}\fi
+ \end{center}
+ \vfill
+ \begin{center}
+ \if@rl\large
+ \@lineivh\\
+ \@linevh
+ \else
+ \@lineiv\\
+ \@linev\fi
+ \end{center}
+ \end{doublespace}
+ \newpage\thispagestyle{empty}}
+\newenvironment{acknowledgment}{%
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{empty}%
+ \begin{center}
+ \if@rl\large
+ \@linevih{}
+ \@lineviih{}
+ \@@advisorih{}
+ \ifx\empty\@@advisoriih\else\vav\@@advisoriih{} \fi\\
+ \@@depth
+ \else
+ \@linevi{}
+ \MakeUppercase{\@@advisori}\ %
+ \ifx\empty\@@advisorii\else\MakeUppercase{and \@@advisorii{} }\fi
+ \@linevii{}
+ \MakeUppercase{\@@dept}
+ \fi
+ \end{center}
+ \vfill
+ \begin{center}%
+ \if@rl\LARGE\acknowledgmentname%
+ \else\Large\MakeUppercase{\acknowledgmentname}\fi
+ \end{center}
+ \vspace{2\baselineskip}
+ \begingroup\large}
+{\endgroup\vfill
+ \begin{center}
+ \if@rl\large\@donorh\else\@donor\fi
+ \end{center}
+ \newpage\normalsize\thispagestyle{empty}}
+\newenvironment{dedication}{%
+ \thispagestyle{empty}%
+ \vspace*{2\baselineskip}
+ \begin{center}\large}
+ {\end{center}
+ \newpage\normalsize\thispagestyle{empty}}
+\renewenvironment{abstract}{%
+ \if@openright\cleardoublepage\else\clearpage\fi%
+ \if@rl\bchapternn{\abstractname}{Hebrew Abstract}
+ \else\bchapternn{\tav\qof\tsadi\yod\resh\ %
+ \bet\alef\nun\gimel\lamed\yod\tav}
+ {\abstractname}\fi%
+ \begingroup}{%
+ \newpage\endgroup}
+\def\ps@thesis{%
+ \def\headeven{\protect\rule[-4pt]{\textwidth}{.5pt}\kern-\textwidth%
+ \protect\if@rl\beginR\thepage\hfil{%
+ \bfseries\rightmark}\endR%
+ \protect\else\thepage\hfil{%
+ \bfseries\leftmark}\protect\fi}
+ \def\headodd{\protect\rule[-4pt]{\textwidth}{.5pt}\kern-\textwidth%
+ \protect\if@rl\beginR{\bfseries\leftmark}%
+ \hfil\thepage\endR%
+ \protect\else{\bfseries\rightmark}%
+ \hfil\thepage\protect\fi}
+ \ps@headings}
+\setlength{\textheight}{8.25in}
+\setlength{\textwidth}{6.0in}
+\setlength{\topmargin}{0pt}
+\setlength{\headsep}{.5in}
+\addtolength{\headsep}{-\headheight}
+\setlength{\oddsidemargin}{.25in}
+\setlength{\evensidemargin}{.25in}
+\setlength{\marginparwidth}{40pt}
+\setlength{\marginparsep}{10pt}
+\brokenpenalty=10000
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `hebtech.cls'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lheclas.fd b/language/hebrew/hebtex/macros/latex_macros/lheclas.fd
new file mode 100644
index 0000000000..ac0113eb4f
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lheclas.fd
@@ -0,0 +1,100 @@
+%%
+%% This is file `lheclas.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEclas,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lheclas.fd}
+ [1998/01/01 v1.0a
+ Hebrew classic font (by Joel M. Hoffman)
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{clas}{}
+\DeclareFontShape{LHE}{clas}{m}{n}
+ {<-> s * [0.83345] hclassic }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{clas}{m}{sc}
+ {<->ssub * clas/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{clas}{m}{sl}
+ {<-> s * [0.69389] hcaption }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{clas}{m}{it}
+ {<->ssub * clas/m/sl}{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lheclas.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lhecmr.fd b/language/hebrew/hebtex/macros/latex_macros/lhecmr.fd
new file mode 100644
index 0000000000..d7279b8293
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lhecmr.fd
@@ -0,0 +1,106 @@
+%%
+%% This is file `lhecmr.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEcmr,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lhecmr.fd}
+ [1998/01/01 v1.0a
+ Hebrew default font
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{cmr}{\hyphenchar\font45}
+\DeclareFontShape{LHE}{cmr}{m}{n}
+ {<-> jerus10 }{}
+\DeclareFontShape{LHE}{cmr}{m}{sc}
+ {<-> jerus10 }{}
+ %%%%%%% Italicized shape
+\DeclareFontShape{LHE}{cmr}{m}{it}
+ {<-> oldjaf10 }{}
+\DeclareFontShape{LHE}{cmr}{m}{sl}
+ {<-> oldjaf10 }{}
+ \DeclareFontShape{LHE}{cmr}{bx}{n}
+ {<-> deads10 }{}
+\DeclareFontShape{LHE}{cmr}{b}{n}
+ {<-> deads10 }{}
+\DeclareFontShape{LHE}{cmr}{bx}{sl}
+ {<-> telav10 }{}
+\DeclareFontShape{LHE}{cmr}{bx}{it}
+ {<-> telav10 }{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lhecmr.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lhecmss.fd b/language/hebrew/hebtex/macros/latex_macros/lhecmss.fd
new file mode 100644
index 0000000000..cb2cc80a73
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lhecmss.fd
@@ -0,0 +1,112 @@
+%%
+%% This is file `lhecmss.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEcmss,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lhecmss.fd}
+ [1998/01/01 v1.0a
+ Hebrew sans-serif font
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{cmss}{\hyphenchar\font45}
+\DeclareFontShape{LHE}{cmss}{m}{n}
+ {<-> telav10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{m}{sc}
+ {<->ssub * cmss/m/n}{}
+%%%%%%% Italicized shape
+\DeclareFontShape{LHE}{cmss}{m}{it}
+ {<-> oldjaf10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{m}{sl}
+ {<->ssub * cmss/m/it}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{cmss}{bx}{n}
+ {<-> deads10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{b}{n}
+ {<->ssub * cmss/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{bx}{sl}
+ {<->ssub * cmss/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmss}{bx}{it}
+ {<->ssub * cmss/bx/n}{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lhecmss.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lhecmtt.fd b/language/hebrew/hebtex/macros/latex_macros/lhecmtt.fd
new file mode 100644
index 0000000000..8d616ea1fa
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lhecmtt.fd
@@ -0,0 +1,106 @@
+%%
+%% This is file `lhecmtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEcmtt,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lhecmtt.fd}
+ [1998/01/01 v1.0a
+ Hebrew typewriter font
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{LHE}{cmtt}{m}{n}
+ {<-> telav10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmtt}{m}{sc}
+ {<->ssub * cmtt/m/n}{}
+%%%%%%% Italicized shape
+\DeclareFontShape{LHE}{cmtt}{m}{it}
+ {<-> oldjaf10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmtt}{m}{sl}
+ {<->ssub * cmtt/m/it}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{cmtt}{bx}{n}
+ {<-> deads10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{cmtt}{bx}{it}
+ {<->ssub * cmtt/bx/n}{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lhecmtt.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lhecrml.fd b/language/hebrew/hebtex/macros/latex_macros/lhecrml.fd
new file mode 100644
index 0000000000..7b2e0d72a8
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lhecrml.fd
@@ -0,0 +1,100 @@
+%%
+%% This is file `lhecrml.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEcrml,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lhecrml.fd}
+ [1998/01/01 v1.0a
+ Hebrew carmel font (by Dr. Samy Zafrany)
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{crml}{}
+\DeclareFontShape{LHE}{crml}{m}{n}
+ {<-> crml10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{crml}{m}{sc}
+ {<->ssub * crml/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{crml}{m}{sl}
+ {<-> crmlsl10 }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{crml}{m}{it}
+ {<->ssub * crml/m/sl}{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lhecrml.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lheenc.def b/language/hebrew/hebtex/macros/latex_macros/lheenc.def
new file mode 100644
index 0000000000..73744546d8
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lheenc.def
@@ -0,0 +1,124 @@
+%%
+%% This is file `lheenc.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEenc')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lheenc.def}
+ [1998/01/01 v1.0a
+ 7-bit Hebrew font encoding
+ (test version: still liable to change)]
+\DeclareFontEncoding{LHE}{}{}
+\DeclareFontSubstitution{LHE}{cmr}{m}{n}
+\DeclareErrorFont{LHE}{cmr}{m}{n}{10}
+\ProvideTextCommand{\textcopyright}{LHE}{\textcircled{\@latin{c}}}
+\ProvideTextCommand{\textregistered}{LHE}{\textcircled{\scshape%
+ \@latin{r}}}
+\ProvideTextCommand{\texttrademark}{LHE}{\textsuperscript{\@latin{TM}}}
+\lccode``=``
+\DeclareTextSymbol{\alef}{LHE}{96}
+\DeclareTextSymbol{\bet}{LHE}{97}
+\DeclareTextSymbol{\gimel}{LHE}{98}
+\DeclareTextSymbol{\dalet}{LHE}{99}
+\DeclareTextSymbol{\he}{LHE}{100}
+\DeclareTextSymbol{\vav}{LHE}{101}
+\DeclareTextSymbol{\zayin}{LHE}{102}
+\DeclareTextSymbol{\het}{LHE}{103}
+\DeclareTextSymbol{\tet}{LHE}{104}
+\DeclareTextSymbol{\yod}{LHE}{105}
+\DeclareTextSymbol{\finalkaf}{LHE}{106}
+\DeclareTextSymbol{\kaf}{LHE}{107}
+\DeclareTextSymbol{\lamed}{LHE}{108}
+\DeclareTextSymbol{\finalmem}{LHE}{109}
+\DeclareTextSymbol{\mem}{LHE}{110}
+\DeclareTextSymbol{\finalnun}{LHE}{111}
+\DeclareTextSymbol{\nun}{LHE}{112}
+\DeclareTextSymbol{\samekh}{LHE}{113}
+\DeclareTextSymbol{\ayin}{LHE}{114}
+\DeclareTextSymbol{\finalpe}{LHE}{115}
+\DeclareTextSymbol{\pe}{LHE}{116}
+\DeclareTextSymbol{\finaltsadi}{LHE}{117}
+\DeclareTextSymbol{\tsadi}{LHE}{118}
+\DeclareTextSymbol{\qof}{LHE}{119}
+\DeclareTextSymbol{\resh}{LHE}{120}
+\DeclareTextSymbol{\shin}{LHE}{121}
+\DeclareTextSymbol{\tav}{LHE}{122}
+\let\sin=\shin
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lheenc.def'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lhefr.fd b/language/hebrew/hebtex/macros/latex_macros/lhefr.fd
new file mode 100644
index 0000000000..9546081dfe
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lhefr.fd
@@ -0,0 +1,112 @@
+%%
+%% This is file `lhefr.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEfr,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lhefr.fd}
+ [1998/01/01 v1.0a
+ Hebrew frank-ruehl font
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{fr}{}
+\DeclareFontShape{LHE}{fr}{m}{n}
+ {<-> fr }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{m}{sc}
+ {<->ssub * fr/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{fr}{m}{sl}
+ {<-> frsl }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{m}{it}
+ {<->ssub * fr/m/sl}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{fr}{bx}{n}
+ {<-> frbx }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{b}{n}
+ {<->ssub * fr/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{bx}{sl}
+ {<->ssub * fr/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{fr}{bx}{it}
+ {<->ssub * fr/bx/n}{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lhefr.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lheredis.fd b/language/hebrew/hebtex/macros/latex_macros/lheredis.fd
new file mode 100644
index 0000000000..c727c040c6
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lheredis.fd
@@ -0,0 +1,123 @@
+%%
+%% This is file `lheredis.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEredis,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lheredis.fd}
+ [1998/01/01 v1.0a
+ Hebrew redis font (by Prof. Jacques J. Goldberg)
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{redis}{}
+\DeclareFontShape{LHE}{redis}{m}{n}{%
+ <5> <6> redis7
+ <7> <8> <9> <10> <12> gen * redis
+ <10.95> redis10
+ <14.4> redis12
+ <17.28> <20.74> <24.88> redis17}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{m}{sc}
+ {<->ssub * redis/m/n}{}
+%%%%%%% Slanted shape
+\DeclareFontShape{LHE}{redis}{m}{sl}{%
+ <5> <6> <7> rediss8
+ <8> <9> <10> <12> gen * rediss
+ <10.95> rediss10
+ <14.4> <17.28> <20.74> <24.88> rediss12}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{m}{it}
+ {<->ssub * redis/m/sl}{}
+%%%%%%% Bold extended series
+\DeclareFontShape{LHE}{redis}{bx}{n}{%
+ <5> <6> <7> <8> <9> <10> <10.95> <12>
+ <14.4> <17.28> <20.74> <24.88> redisb10}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{b}{n}{%
+ <5> <6> <7> <8> <9> <10> <10.95> <12>
+ <14.4> <17.28> <20.74> <24.88> redisb10}{}
+%\DeclareFontShape{LHE}{redis}{b}{n}
+% {<->ssub * redis/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{bx}{sl}
+ {<->ssub * redis/bx/n}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{LHE}{redis}{bx}{it}
+ {<->ssub * redis/bx/n}{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lheredis.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lheshold.fd b/language/hebrew/hebtex/macros/latex_macros/lheshold.fd
new file mode 100644
index 0000000000..6623d7d5b3
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lheshold.fd
@@ -0,0 +1,91 @@
+%%
+%% This is file `lheshold.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEshold,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lheshold.fd}
+ [1998/01/01 v1.0a
+ Hebrew shalom old font (by Jonathan Brecher)
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{shold}{}
+\DeclareFontShape{LHE}{shold}{m}{n}
+ {<-> shold10 }{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lheshold.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lheshscr.fd b/language/hebrew/hebtex/macros/latex_macros/lheshscr.fd
new file mode 100644
index 0000000000..8b84a10316
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lheshscr.fd
@@ -0,0 +1,91 @@
+%%
+%% This is file `lheshscr.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEshscr,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lheshscr.fd}
+ [1998/01/01 v1.0a
+ Hebrew shalom script font (by Jonathan Brecher)
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{shscr}{}
+\DeclareFontShape{LHE}{shscr}{m}{n}
+ {<-> shscr10 }{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lheshscr.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/lheshstk.fd b/language/hebrew/hebtex/macros/latex_macros/lheshstk.fd
new file mode 100644
index 0000000000..e524d68237
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/lheshstk.fd
@@ -0,0 +1,91 @@
+%%
+%% This is file `lheshstk.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.fdd (with options: `LHEshstk,nowarn')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{lheshstk.fd}
+ [1998/01/01 v1.0a
+ Hebrew shalom stick font (by Jonathan Brecher)
+ (test version: still liable to change)]
+\DeclareFontFamily{LHE}{shstk}{}
+\DeclareFontShape{LHE}{shstk}{m}{n}
+ {<-> shstk10 }{}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `lheshstk.fd'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/rlbabel.def b/language/hebrew/hebtex/macros/latex_macros/rlbabel.def
new file mode 100644
index 0000000000..bd08a23681
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/rlbabel.def
@@ -0,0 +1,809 @@
+%%
+%% This is file `rlbabel.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebrew.dtx (with options: `rightleft')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+\ProvidesFile{rlbabel.def}
+ [1998/01/01 v2.0a
+ Right-to-Left support from the babel system
+ (test version: still liable to change)]
+\ifx\TeXXeTstate\undefined\else%
+ \TeXXeTstate=1
+\fi
+\ifx\beginL\@undefined%
+ \newlinechar`\^^J
+ \typeout{^^JTo avoid this error message,^^J%
+ run TeX--XeT or e-TeX engine instead of regular TeX.^^J}
+ \errmessage{Right-to-Left Support Error: use TeX--XeT or e-TeX
+ engine}%
+\fi
+\newif\if@rl
+\DeclareRobustCommand{\@torl}[1]{%
+ \if@rl\else%
+ \let\lr@encodingdefault=\encodingdefault%
+ \fi%
+ \def\@rllanguagename{#1}%
+ \def\encodingdefault{\csname#1encoding\endcsname}%
+ \fontencoding{\encodingdefault}%
+ \selectfont%
+ \@rltrue}
+\DeclareRobustCommand{\@fromrl}{%
+ \if@rl%
+ \let\encodingdefault=\lr@encodingdefault%
+ \fi%
+ \fontencoding{\encodingdefault}%
+ \selectfont%
+ \@rlfalse}
+\expandafter\def\csname selectlanguage \endcsname#1{%
+ \edef\languagename{%
+ \ifnum\escapechar=\expandafter`\string#1\@empty
+ \else \string#1\@empty\fi}%
+ \@@selectlanguage{\languagename}}
+\def\@@selectlanguage#1{%
+ \select@language{#1}%
+ \if@filesw
+ \protected@write\@auxout{}{\string\select@language{#1}}%
+ \if@rl%
+ \addtocontents{cot}{\xstring\select@language{#1}}%
+ \addtocontents{fol}{\xstring\select@language{#1}}%
+ \addtocontents{tol}{\xstring\select@language{#1}}%
+ \else%
+ \addtocontents{toc}{\xstring\select@language{#1}}%
+ \addtocontents{lof}{\xstring\select@language{#1}}%
+ \addtocontents{lot}{\xstring\select@language{#1}}%
+ \fi%
+ \fi}
+\let\other@languagename=\languagename
+\DeclareRobustCommand{\setrllanguage}[1]{%
+ \if@rl\else%
+ \let\other@languagename=\languagename%
+ \fi%
+ \def\languagename{#1}%
+ \@@selectlanguage{\languagename}}
+\DeclareRobustCommand{\unsetrllanguage}[1]{%
+ \if@rl%
+ \let\languagename=\other@languagename%
+ \fi
+ \@@selectlanguage{\languagename}}
+\let\next=\
+\def\L{\protect\pL}
+\def\pL{\protect\afterassignment\moreL \let\next= }
+\def\moreL{\bracetext \aftergroup\endL \beginL\csname
+ from\@rllanguagename\endcsname}
+\def\R{\protect\pR}
+\def\pR{\protect\afterassignment\moreR \let\next= }
+\def\moreR{\bracetext \aftergroup\endR \beginR\csname
+ to\@rllanguagename\endcsname}
+\def\bracetext{\ifcat\next{\else\ifcat\next}\fi
+ \errmessage{Missing left brace has been substituted}\fi \bgroup}
+\everydisplay{\if@rl\aftergroup\beginR\fi }
+\def\rl@everypar{\if@rl{\setbox\z@\lastbox\beginR\usebox\z@}\fi}
+\let\o@everypar=\everypar
+\def\everypar#1{\o@everypar{\rl@everypar#1}}
+\newcommand{\hmbox}[1]{\mbox{\R{#1}}}
+\newcommand{\embox}[1]{\mbox{\L{#1}}}
+\def\@brackets#1#2#3{\protect\if@rl #3#2#1\protect\else
+ #1#2#3\protect\fi}
+\def\@@number#1{\ifmmode\else\beginL\fi#1\ifmmode\else\endL\fi}
+\def\@@latin#1{\@@number{{\@fromrl#1}}}
+\def\@number{\protect\@@number}
+\def\@latin{\protect\@@latin}
+\let\@@arabic=\@arabic
+\let\@@roman=\@roman
+\let\@@Roman=\@Roman
+\let\@@alph=\@alph
+\let\@@Alph=\@Alph
+\def\@arabic#1{\@number{\@@arabic#1}}
+\def\@roman#1{\@latin{\@@roman#1}}
+\def\@Roman#1{\@latin{\@@Roman#1}}
+\def\make@lr#1{\begingroup
+ \toks@=\expandafter{#1}%
+ \edef\x{\endgroup
+ \def\noexpand#1{\noexpand\@number{\the\toks@}}}%
+ \x}
+\@ifclassloaded{letter}{}{%
+ \make@lr\thesection
+ \make@lr\thesubsection
+ \make@lr\thesubsubsection
+ \make@lr\theparagraph
+ \make@lr\thesubparagraph
+ \make@lr\thefigure
+ \make@lr\thetable
+ \make@lr\theequation}
+\let\@@TeX\TeX
+\def\TeX{\@latin{\@@TeX}}
+\let\@@LaTeX\LaTeX
+\def\LaTeX{\@latin{\@@LaTeX}}
+\let\@@LaTeXe\LaTeXe
+\def\LaTeXe{\@latin{\@@LaTeXe}}
+\providecommand\descriptionlabel[1]{\hspace\labelsep
+ \normalfont\bfseries #1}
+\renewenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-%
+ \if@rl\rightmargin\else\leftmargin\fi
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+\renewenvironment{verse}
+{\let\\\@centercr
+ \if@rl
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
+ \leftmargin\rightmargin\advance\rightmargin 1.5em}
+ \else
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
+ \rightmargin\leftmargin\advance\leftmargin 1.5em}
+ \fi
+ \item\relax}
+{\endlist}
+\renewenvironment{quotation}
+{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \if@rl
+ \leftmargin\rightmargin
+ \else
+ \rightmargin\leftmargin
+ \fi
+ \parsep \z@ \@plus\p@}\item\relax}
+{\endlist}
+\renewenvironment{quote}
+{\list{}{\if@rl
+ \leftmargin\rightmargin
+ \else
+ \rightmargin\leftmargin
+ \fi}%
+ \item\relax}
+{\endlist}
+\let\@@listi=\@listi
+\def\@listi{\@@listi\if@rl\rightmargin\leftmargini%
+ \leftmargin=0pt\fi}
+\let\@listI\@listi
+\let\@@listii=\@listii
+\def\@listii{\@@listii\if@rl\rightmargin\leftmarginii%
+ \leftmargin=0pt\fi}
+\let\@@listiii=\@listiii
+\def\@listiii{\@@listiii\if@rl\rightmargin\leftmarginiii%
+ \leftmargin=0pt\fi}
+\let\@@listiv=\@listiv
+\def\@listiv{\@@listiv\if@rl\rightmargin\leftmarginiv%
+ \leftmargin=0pt\fi}
+\let\@@listv=\@listv
+\def\@listv{\@@listv\if@rl\rightmargin\leftmarginv%
+ \leftmargin=0pt\fi}
+\let\@@listvi=\@listvi
+\def\@listvi{\@@listvi\if@rl\rightmargin\leftmarginvi%
+ \leftmargin=0pt\fi}
+\def\labelenumii{\@brackets(\theenumii)}
+\def\p@enumiii{\p@enumii\@brackets(\theenumii)}
+\@ifclassloaded{letter}{}{% other
+ \@ifclassloaded{article}{% article
+ \newcommand\@tableofcontents[1]{%
+ \section*{\contentsname\@mkboth%
+ {\MakeUppercase\contentsname}%
+ {\MakeUppercase\contentsname}}%
+ \@starttoc{#1}}
+ \newcommand\@listoffigures[1]{%
+ \section*{\listfigurename\@mkboth%
+ {\MakeUppercase\listfigurename}%
+ {\MakeUppercase\listfigurename}}%
+ \@starttoc{#1}}
+ \newcommand\@listoftables[1]{%
+ \section*{\listtablename\@mkboth%
+ {\MakeUppercase\listtablename}%
+ {\MakeUppercase\listtablename}}%
+ \@starttoc{#1}}}%
+ {% else report or book
+ \newcommand\@tableofcontents[1]{%
+ \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn%
+ \fi\chapter*{\contentsname\@mkboth%
+ {\MakeUppercase\contentsname}%
+ {\MakeUppercase\contentsname}}%
+ \@starttoc{#1}\if@restonecol\twocolumn\fi}
+ \newcommand\@listoffigures[1]{%
+ \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn%
+ \fi\chapter*{\listfigurename\@mkboth%
+ {\MakeUppercase\listfigurename}%
+ {\MakeUppercase\listfigurename}}%
+ \@starttoc{#1}\if@restonecol\twocolumn\fi}
+ \newcommand\@listoftables[1]{%
+ \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi%
+ \chapter*{\listtablename\@mkboth%
+ {\MakeUppercase\listtablename}%
+ {\MakeUppercase\listtablename}}%
+ \@starttoc{#1}\if@restonecol\twocolumn\fi}}%
+ \newcommand\lrtableofcontents{\@tableofcontents{toc}}%
+ \newcommand\lrlistoffigures{\@listoffigures{lof}}%
+ \newcommand\lrlistoftables{\@listoftables{lot}}%
+ \newcommand\rltableofcontents{\@tableofcontents{cot}}%
+ \newcommand\rllistoffigures{\@listoffigures{fol}}%
+ \newcommand\rllistoftables{\@listoftables{tol}}%
+ \renewcommand\tableofcontents{\if@rl\rltableofcontents%
+ \else\lrtableofcontents\fi}
+ \renewcommand\listoffigures{\if@rl\rllistoffigures%
+ \else\lrlistoffigures\fi}
+ \renewcommand\listoftables{\if@rl\rllistoftables%
+ \else\lrlistoftables\fi}}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip \z@ \@plus.2\p@
+ {\if@rl\rightskip\else\leftskip\fi #2\relax
+ \if@rl\leftskip\else\rightskip\fi \@tocrmarg \parfillskip
+ -\if@rl\leftskip\else\rightskip\fi
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\if@rl\rightskip\else\leftskip\fi \@tempdima
+ \null\nobreak\hskip -\if@rl\rightskip\else\leftskip\fi
+ {#4}\nobreak
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \nobreak
+ \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor \beginL#5\endL}%
+ \par}%
+ \fi}
+\@ifclassloaded{letter}{}{% other
+\renewcommand*\l@part[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \setlength\@tempdima{3em}%
+ \parindent \z@ \if@rl\leftskip\else\rightskip\fi \@pnumwidth
+ \parfillskip -\@pnumwidth
+ {\leavevmode
+ \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss#2}}\par
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+ \endgroup
+ \fi}}
+\@ifclassloaded{article}{% article class
+ \def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \addcontentsline{cot}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \addcontentsline{cot}{part}{#1}%
+ \fi
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \Large\bfseries \partname~\thepart
+ \par\nobreak
+ \fi
+ \huge \bfseries #2%
+ \markboth{}{}\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}%
+}{% report and book classes
+ \def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \addcontentsline{cot}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \addcontentsline{cot}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname~\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries #2\par}%
+ \@endpart}}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{%
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ \interlinepenalty \@M #8\@@par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}%
+ \addcontentsline{cot}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}%
+ \else
+ \def\@svsechd{%
+ #6{\hskip #3\relax
+ \@svsec #8}%
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}%
+ \addcontentsline{cot}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7}}%
+ \fi
+ \@xsect{#5}}
+\long\def\@caption#1[#2]#3{%
+ \par
+ \addcontentsline{\csname ext@#1\endcsname}{#1}%
+ {\protect\numberline{\csname the#1\endcsname}%
+ {\ignorespaces #2}}%
+ \def\@fignm{figure}
+ \ifx#1\@fignm\addcontentsline{fol}{#1}%
+ {\protect\numberline{\csname the#1\endcsname}%
+ {\ignorespaces #2}}\fi%
+ \def\@tblnm{table}
+ \ifx#1\@tblnm\addcontentsline{tol}{#1}%
+ {\protect\numberline{\csname the#1\endcsname}%
+ {\ignorespaces #2}}\fi%
+ \begingroup
+ \@parboxrestore
+ \if@minipage
+ \@setminipage
+ \fi
+ \normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \endgroup}
+\@ifclassloaded{letter}{}{%
+ \@ifclassloaded{article}{}{%
+ \renewcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \if@rl\leftskip\else\rightskip\fi \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\if@rl\rightskip\else\leftskip\fi\@tempdima
+ \hskip -\if@rl\rightskip\else\leftskip\fi
+ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss#2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}}}
+\@ifclassloaded{article}{%
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\renewcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
+\renewcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}}{}
+\let\@@outputdblcol\@outputdblcol
+\def\set@outputdblcol{%
+ \if@rl\renewcommand{\@outputdblcol}{\rl@outputdblcol}%
+ \else\renewcommand{\@outputdblcol}{\@@outputdblcol}\fi}
+\newcommand{\rl@outputdblcol}{%
+ \if@firstcolumn
+ \global \@firstcolumnfalse
+ \global \setbox\@leftcolumn \box\@outputbox
+ \else
+ \global \@firstcolumntrue
+ \setbox\@outputbox \vbox {\hb@xt@\textwidth {%
+ \hskip\columnwidth%
+ \hfil\vrule\@width\columnseprule\hfil
+ \hb@xt@\columnwidth {%
+ \box\@leftcolumn \hss}%
+ \hb@xt@\columnwidth {%
+ \hskip-\textwidth%
+ \box\@outputbox \hss}%
+ \hskip\columnsep%
+ \hskip\columnwidth}}%
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi
+ {\@outputpage
+ \@startdblcolumn}%
+ \endgroup
+ \fi}
+\let\@@footnoterule=\footnoterule
+\def\footnoterule{\if@rl\hb@xt@\hsize{\hss\vbox{\@@footnoterule}}%
+ \else\@@footnoterule\fi}
+\@ifclassloaded{letter}{%
+ \def\headodd{\protect\if@rl\beginR\fi\headtoname{}
+ \ignorespaces\toname
+ \hfil \@date
+ \hfil \pagename{} \thepage\protect\if@rl\endR\fi}
+ \if@twoside
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@oddhead{\select@language{\headlanguage}\headodd}
+ \let\@evenhead\@oddhead}
+ \else
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{\select@language{\headlanguage}\headodd}}
+ \fi
+ \def\headfirst{\protect\if@rl\beginR\fi\fromlocation \hfill %
+ \telephonenum\protect\if@rl\endR\fi}
+ \def\ps@firstpage{%
+ \let\@oddhead\@empty
+ \def\@oddfoot{\raisebox{-45\p@}[\z@]{%
+ \hb@xt@\textwidth{\hspace*{100\p@}%
+ \ifcase \@ptsize\relax
+ \normalsize
+ \or
+ \small
+ \or
+ \footnotesize
+ \fi
+ \select@language{\headlanguage}\headfirst}}\hss}}
+ \renewcommand{\opening}[1]{%
+ \let\headlanguage=\languagename%
+ \ifx\@empty\fromaddress%
+ \thispagestyle{firstpage}%
+ {\raggedleft\@date\par}%
+ \else % home address
+ \thispagestyle{empty}%
+ {\raggedleft
+ \if@rl\begin{tabular}{r}\ignorespaces
+ \fromaddress \\*[2\parskip]%
+ \@date \end{tabular}\par%
+ \else\begin{tabular}{l}\ignorespaces
+ \fromaddress \\*[2\parskip]%
+ \@date \end{tabular}\par%
+ \fi}%
+ \fi
+ \vspace{2\parskip}%
+ {\raggedright \toname \\ \toaddress \par}%
+ \vspace{2\parskip}%
+ #1\par\nobreak}
+}
+{% article, report, book
+ \def\headeven{\protect\if@rl\beginR\thepage\hfil\rightmark\endR
+ \protect\else\thepage\hfil{\slshape\leftmark}
+ \protect\fi}
+ \def\headodd{\protect\if@rl\beginR\leftmark\hfil\thepage\endR
+ \protect\else{\slshape\rightmark}\hfil\thepage
+ \protect\fi}
+ \@ifclassloaded{article}{% article
+ \if@twoside % two-sided
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\select@language{\headlanguage}\headeven}%
+ \def\@oddhead{\select@language{\headlanguage}\headodd}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{%
+ \markboth {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\z@
+ \thesection\quad
+ \fi
+ ##1}}{}}%
+ \def\subsectionmark##1{%
+ \markright{%
+ \ifnum \c@secnumdepth >\@ne
+ \thesubsection\quad
+ \fi
+ ##1}}}
+ \else % one-sided
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{\headodd}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{%
+ \markboth{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \thesection\quad
+ \fi
+ ##1}}{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \thesection\quad
+ \fi
+ ##1}}}}
+ \fi
+ \def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\select@language{\headlanguage}\headeven}%
+ \def\@oddhead{\select@language{\headlanguage}\headodd}%
+ \let\@mkboth\@gobbletwo
+ \let\sectionmark\@gobble
+ \let\subsectionmark\@gobble
+ }}{% report and book
+ \if@twoside % two-sided
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\select@language{\headlanguage}\headeven}
+ \def\@oddhead{\select@language{\headlanguage}\headodd}
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ %
+ \fi
+ ##1}}{}}%
+ \def\sectionmark##1{%
+ \markright {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\z@
+ \thesection. \ %
+ \fi
+ ##1}}}}
+ \else % one-sided
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{\select@language{\headlanguage}\headodd}
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ %
+ \fi
+ ##1}}{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ %
+ \fi
+ ##1}}}}
+ \fi
+ \def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\select@language{\headlanguage}\headeven}%
+ \def\@oddhead{\select@language{\headlanguage}\headodd}%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+ }}}
+\def\raggedright{%
+ \let\\\@centercr
+ \leftskip\z@skip\rightskip\@flushglue
+ \parindent\z@\parfillskip\z@skip}
+\let\@@raggedleft=\raggedleft
+\let\@@raggedright=\raggedright
+\renewcommand\raggedleft{\if@rl\@@raggedright%
+ \else\@@raggedleft\fi}
+\renewcommand\raggedright{\if@rl\@@raggedleft%
+ \else\@@raggedright\fi}
+\let\@@author=\author
+\renewcommand{\author}[1]{\@@author{\if@rl\beginR #1\endR\else #1\fi}}
+\let\@@MakeUppercase=\MakeUppercase
+\def\MakeUppercase#1{\if@rl#1\else\@@MakeUppercase{#1}\fi}
+\let\@@MakeLowercase=\MakeLowercase
+\def\MakeLowercase#1{\if@rl#1\else\@@MakeLowercase{#1}\fi}
+\let\@@@underline=\underline
+\def\underline#1{\@@@underline{\if@rl\R{#1}\else #1\fi}}
+\if@compatibility
+ \let\undertext=\underline
+\fi
+\def\@xnthm#1#2[#3]{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}\@addtoreset{#1}{#3}%
+ \expandafter\xdef\csname the#1\endcsname{\noexpand\@number
+ {\expandafter\noexpand\csname the#3\endcsname \@thmcountersep
+ \@thmcounter{#1}}}%
+ \global\@namedef{#1}{\@thm{#1}{#2}}%
+ \global\@namedef{end#1}{\@endtheorem}}}
+\def\@opargbegintheorem#1#2#3{%
+ \trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\
+ \@brackets({#3})}]\itshape}
+\@ifclassloaded{article}{}{%
+ % For pretty priniting
+ \def\@@chapapp{Chapter}
+ \def\@@thechapter{\@@arabic\c@chapter}
+ \def\@chapter[#1]#2{%
+ \let\headlanguage=\languagename%
+ \set@outputdblcol%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@@chapapp\space\@@thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}
+ \addcontentsline{cot}{chapter}%
+ {\protect\numberline{\thechapter}#1}
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \addcontentsline{cot}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{fol}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \addtocontents{tol}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+ %
+ \def\@schapter#1{%
+ \let\headlanguage=\languagename%
+ \set@outputdblcol%
+ \if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}}
+\@ifclassloaded{letter}{}{% other
+ \@ifclassloaded{article}{% article
+ \renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \renewcommand\thesection{\@Alph\c@section}}
+ }{% report and book
+ \renewcommand\appendix{\par
+ \set@outputdblcol%
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ % For pretty priniting
+ \def\@@chapapp{Appendix}%
+ \def\@@thechapter{\@@Alph\c@chapter}
+ \renewcommand\thechapter{\@Alph\c@chapter}}}}
+\def\@cite#1#2{\@brackets[{#1\if@tempswa , #2\fi}]}
+\def\@biblabel#1{\@brackets[{#1}]}
+\def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
+ {\let\protect\noexpand
+ \immediate
+ \if@rl\write\@auxout{\string\bibcite{#2}{\R{#1}}}%
+ \else\write\@auxout{\string\bibcite{#2}{\L{#1}}}\fi%
+ }\fi\ignorespaces}
+\@ifclassloaded{letter}{}{% other
+\@ifclassloaded{article}{%
+ \renewenvironment{thebibliography}[1]
+ {\section*{\refname\@mkboth%
+ {\MakeUppercase\refname}%
+ {\MakeUppercase\refname}}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \if@rl\leftmargin\else\rightmargin\fi\labelwidth
+ \advance\if@rl\leftmargin\else\rightmargin\fi\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}}%
+{\renewenvironment{thebibliography}[1]{%
+ \chapter*{\bibname\@mkboth%
+ {\MakeUppercase\bibname}%
+ {\MakeUppercase\bibname}}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \if@rl\leftmargin\else\rightmargin\fi\labelwidth
+ \advance\if@rl\leftmargin\else\rightmargin\fi\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}}}
+\def\@verbatim{%
+ \let\do\@makeother \dospecials%
+ \obeylines \verbatim@font \@noligs}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip%
+ \begin{center}%
+ #1: #2%
+ \end{center} \par%
+ \vskip\belowcaptionskip}
+\newcommand{\bpart}[2]{\part{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\newcommand{\bchapter}[2]{\chapter{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\newcommand{\bsection}[2]{\section{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\newcommand{\bsubsection}[2]{\subsection{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\newcommand{\bsubsubsection}[2]{\subsubsection{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\newcommand{\bcaption}[2]{%
+ \caption[\protect\if@rl \R{#1}\protect\else \L{#2}\protect\fi]{%
+ \if@rl\R{#1}\protect\\ \L{#2}
+ \else\L{#2}\protect\\ \R{#1}\fi}}
+\newcommand{\bchapternn}[2]{\chapter*{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\newcommand{\bsectionnn}[2]{\section*{\protect\if@rl%
+ #1 \protect\else #2 \protect\fi}}
+\AtEndOfPackage{\let\headlanguage=\languagename%
+ \set@outputdblcol}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `rlbabel.def'.
diff --git a/language/hebrew/hebtex/macros/latex_macros/si960.def b/language/hebrew/hebtex/macros/latex_macros/si960.def
new file mode 100644
index 0000000000..9c88eafa49
--- /dev/null
+++ b/language/hebrew/hebtex/macros/latex_macros/si960.def
@@ -0,0 +1,87 @@
+%%
+%% This is file `si960.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hebinp.dtx (with options: `si960')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1997-1998 Boris Lavva and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see any other copyright notices in this file.
+%%
+%% This file is contributed to the Babel system, release 3.6.
+%% ----------------------------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from me directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to customize the declarations in this file to
+%% serve the needs of your installation, provided that you comply with
+%% the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to distribute a modified version
+%% of this file under its original name.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, together with a
+%% suitable .ins file, taking care to observe the conditions in
+%% legal.txt; this will ensure that other users can safely use
+%% your modifications.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+ \ProvidesFile{si960.def}
+ [1997/12/07 v1.0a Input encoding file (test version)]
+\makeatletter
+\makeatother
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\endinput
+%%
+%% End of file `si960.def'.
diff --git a/language/hebrew/hebtex/macros/readme b/language/hebrew/hebtex/macros/readme
new file mode 100644
index 0000000000..0eda584b1b
--- /dev/null
+++ b/language/hebrew/hebtex/macros/readme
@@ -0,0 +1,7 @@
+latex_macros are those files used by latex2e (documentclass)
+to process Hebrew texts.
+
+old.macros are files used by latex2.09, the old latex (documentstyle)
+to process Hebrew texts.
+
+tex_macros are used by plain tex when processing Hebrew texts.
diff --git a/language/hebrew/hebtex/macros/tex_macros/dots.tex b/language/hebrew/hebtex/macros/tex_macros/dots.tex
new file mode 100644
index 0000000000..84d9fc07d9
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/dots.tex
@@ -0,0 +1,90 @@
+%(c) 1990,91 by Joel M. Hoffman belongs to hcaption, hclassic.
+%dots.tex. Version 1.0.
+%updated 5/15/91 by JMH
+
+
+%Use of this material in a commercial venture of any sort requires
+%permission from me. Otherwise, you are free to use this for any
+%legal, non-destructive purpose. If you find this useful, a
+%contribution to charity will be most appreciated.
+
+%This file provides the following commands:
+% \dagesh{ let } % put a _dagesh_ in the letter _let_.
+% \shindot{ let } % put a dot in the upper-right corner of letter _let_.
+% \sindot { let } % put a dot in the upper-left corder of letter _let_.
+% \shinwithdot % A \shin with a dot.
+% \sinwithdot % A \sin with a dot.
+% \Shinwithdot % A \Shin (i.e., \shin with a _dagesh_) with a dot.
+% \Sinwithdot % A \Sin (i.e., \sin with a _dagesh_) with a dot.
+% \odot % _Cholem Chaseir_
+% \vavdot % A dot for use over a vav (to create a _cholem male_)
+% \vavwithdot % _Cholem male_
+% \Vavwithdot % _Cholem male_ with a _dagesh_ (!?!)
+
+%Send comments or complaints to:
+%
+%BITNET: hoffman@nyuacf.BITNET <-- this will change soon
+%CompuServe: 72700,402 -or- 72700.402@compuserve.com
+%SNAIL: Joel M. Hoffman
+% 19 Hillcrest Lane
+% Rye, NY 10580
+% U.S.A.
+
+
+\def\dagesh#1{{\setbox0=\hbox{#1}%
+\let\l=#1%
+\def\vadj{.5}\def\hadj{0}%
+\if\l\shin\def\hadj{.1}\fi
+\if\l\vav\def\hadj{-.4}\fi
+\if\l\pe\def\hadj{.1}\fi
+\if\l\gimel\def\hadj{-.2}\fi
+\if\l\nun\def\hadj{-.2}\fi
+\if\l\zion\def\hadj{-.4}\fi
+\if\l\tet\def\hadj{.1}\fi
+\if\l\tzadi\def\hadj{.1}\fi
+\if\l\yud\def\hadj{-.5}\fi
+\if\l\lamed\def\vadj{.3}\fi
+\if\l\yud\def\vadj{.7}\fi
+\hbox to 0pt{%
+\kern \hadj\wd0%
+\kern .5\wd0%
+\raise \vadj\ht0%
+\hbox{\char000}%
+\kern -\hadj\wd0%
+\kern -.5\wd0}%
+\box0%
+}}
+
+\def\shindot#1{{\setbox0=\hbox{#1}%
+\hbox to 0pt{%
+\kern.78\wd0%;
+\raise1.2\ht0%
+\hbox{\char000}%
+\kern-.78\wd0}%
+\box0%
+}}
+
+\def\sindot#1{{\setbox0=\hbox{#1}%
+\hbox to 0pt{%
+\kern.20\wd0%
+\raise1.2\ht0%
+\hbox{\char000}%
+\kern-.20\wd0}%
+\box0%
+}}
+\def\shinwithdot{\shindot{\shin}}
+\def\Shinwithdot{\shindot{\Shin}}
+\def\sinwithdot{\sindot{\sin}}
+\def\Sinwithdot{\sindot{\Sin}}
+
+\def\odot{\setbox0=\hbox{\vav}%
+\kern.1\wd0\raise1.2\ht0\hbox{\char000}\kern.1\wd0}
+
+\def\vavdot#1{{\setbox0=\hbox{#1}%
+\hbox to 0pt{%
+\kern.5\wd0\raise1.2\ht0\hbox{\char000}\kern-.5\wd0}%
+\box0%
+}}
+
+\def\vavwithdot{\vavdot{\vav}}
+\def\Vavwithdot{\vavdot{\Vav}}
diff --git a/language/hebrew/hebtex/macros/tex_macros/epsf.tex b/language/hebrew/hebtex/macros/tex_macros/epsf.tex
new file mode 100644
index 0000000000..63300f102f
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/epsf.tex
@@ -0,0 +1,194 @@
+% EPSF.TEX macro file:
+% Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989.
+% Revised by Don Knuth, 3 Jan 1990.
+% Revised by Tomas Rokicki to accept bounding boxes with no
+% space after the colon, 18 Jul 1990.
+%
+% TeX macros to include an Encapsulated PostScript graphic.
+% Works by finding the bounding box comment,
+% calculating the correct scale values, and inserting a vbox
+% of the appropriate size at the current position in the TeX document.
+%
+% To use with the center environment of LaTeX, preface the \epsffile
+% call with a \leavevmode. (LaTeX should probably supply this itself
+% for the center environment.)
+%
+% To use, simply say
+% \input epsf % somewhere early on in your TeX file
+% \epsfbox{filename.ps} % where you want to insert a vbox for a figure
+%
+% Alternatively, you can type
+%
+% \epsfbox[0 0 30 50]{filename.ps} % to supply your own BB
+%
+% which will not read in the file, and will instead use the bounding
+% box you specify.
+%
+% The effect will be to typeset the figure as a TeX box, at the
+% point of your \epsfbox command. By default, the graphic will have its
+% `natural' width (namely the width of its bounding box, as described
+% in filename.ps). The TeX box will have depth zero.
+%
+% You can enlarge or reduce the figure by saying
+% \epsfxsize=<dimen> \epsfbox{filename.ps}
+% (or
+% \epsfysize=<dimen> \epsfbox{filename.ps})
+% instead. Then the width of the TeX box will be \epsfxsize and its
+% height will be scaled proportionately (or the height will be
+% \epsfysize and its width will be scaled proportiontally). The
+% width (and height) is restored to zero after each use.
+%
+% A more general facility for sizing is available by defining the
+% \epsfsize macro. Normally you can redefine this macro
+% to do almost anything. The first parameter is the natural x size of
+% the PostScript graphic, the second parameter is the natural y size
+% of the PostScript graphic. It must return the xsize to use, or 0 if
+% natural scaling is to be used. Common uses include:
+%
+% \epsfxsize % just leave the old value alone
+% 0pt % use the natural sizes
+% #1 % use the natural sizes
+% \hsize % scale to full width
+% 0.5#1 % scale to 50% of natural size
+% \ifnum#1>\hsize\hsize\else#1\fi % smaller of natural, hsize
+%
+% If you want TeX to report the size of the figure (as a message
+% on your terminal when it processes each figure), say `\epsfverbosetrue'.
+%
+\newread\epsffilein % file to \read
+\newif\ifepsffileok % continue looking for the bounding box?
+\newif\ifepsfbbfound % success?
+\newif\ifepsfverbose % report what you're making?
+\newdimen\epsfxsize % horizontal size after scaling
+\newdimen\epsfysize % vertical size after scaling
+\newdimen\epsftsize % horizontal size before scaling
+\newdimen\epsfrsize % vertical size before scaling
+\newdimen\epsftmp % register for arithmetic manipulation
+\newdimen\pspoints % conversion factor
+%
+\pspoints=1bp % Adobe points are `big'
+\epsfxsize=0pt % Default value, means `use natural size'
+\epsfysize=0pt % ditto
+%
+\def\epsfbox#1{\global\def\epsfllx{72}\global\def\epsflly{72}%
+ \global\def\epsfurx{540}\global\def\epsfury{720}%
+ \def\lbracket{[}\def\testit{#1}\ifx\testit\lbracket
+ \let\next=\epsfgetlitbb\else\let\next=\epsfnormal\fi\next{#1}}%
+%
+\def\epsfgetlitbb#1#2 #3 #4 #5]#6{\epsfgrab #2 #3 #4 #5 .\\%
+ \epsfsetgraph{#6}}%
+%
+\def\epsfnormal#1{\epsfgetbb{#1}\epsfsetgraph{#1}}%
+%
+\def\epsfgetbb#1{%
+%
+% The first thing we need to do is to open the
+% PostScript file, if possible.
+%
+\openin\epsffilein=#1
+\ifeof\epsffilein\errmessage{I couldn't open #1, will ignore it}\else
+%
+% Okay, we got it. Now we'll scan lines until we find one that doesn't
+% start with %. We're looking for the bounding box comment.
+%
+ {\epsffileoktrue \chardef\other=12
+ \def\do##1{\catcode`##1=\other}\dospecials \catcode`\ =10
+ \loop
+ \read\epsffilein to \epsffileline
+ \ifeof\epsffilein\epsffileokfalse\else
+%
+% We check to see if the first character is a % sign;
+% if not, we stop reading (unless the line was entirely blank);
+% if so, we look further and stop only if the line begins with
+% `%%BoundingBox:'.
+%
+ \expandafter\epsfaux\epsffileline:. \\%
+ \fi
+ \ifepsffileok\repeat
+ \ifepsfbbfound\else
+ \ifepsfverbose\message{No bounding box comment in #1; using defaults}\fi\fi
+ }\closein\epsffilein\fi}%
+%
+% Now we have to calculate the scale and offset values to use.
+% First we compute the natural sizes.
+%
+\def\epsfsetgraph#1{%
+ \epsfrsize=\epsfury\pspoints
+ \advance\epsfrsize by-\epsflly\pspoints
+ \epsftsize=\epsfurx\pspoints
+ \advance\epsftsize by-\epsfllx\pspoints
+%
+% If `epsfxsize' is 0, we default to the natural size of the picture.
+% Otherwise we scale the graph to be \epsfxsize wide.
+%
+ \epsfxsize\epsfsize\epsftsize\epsfrsize
+ \ifnum\epsfxsize=0 \ifnum\epsfysize=0
+ \epsfxsize=\epsftsize \epsfysize=\epsfrsize
+%
+% We have a sticky problem here: TeX doesn't do floating point arithmetic!
+% Our goal is to compute y = rx/t. The following loop does this reasonably
+% fast, with an error of at most about 16 sp (about 1/4000 pt).
+%
+ \else\epsftmp=\epsftsize \divide\epsftmp\epsfrsize
+ \epsfxsize=\epsfysize \multiply\epsfxsize\epsftmp
+ \multiply\epsftmp\epsfrsize \advance\epsftsize-\epsftmp
+ \epsftmp=\epsfysize
+ \loop \advance\epsftsize\epsftsize \divide\epsftmp 2
+ \ifnum\epsftmp>0
+ \ifnum\epsftsize<\epsfrsize\else
+ \advance\epsftsize-\epsfrsize \advance\epsfxsize\epsftmp \fi
+ \repeat
+ \fi
+ \else\epsftmp=\epsfrsize \divide\epsftmp\epsftsize
+ \epsfysize=\epsfxsize \multiply\epsfysize\epsftmp
+ \multiply\epsftmp\epsftsize \advance\epsfrsize-\epsftmp
+ \epsftmp=\epsfxsize
+ \loop \advance\epsfrsize\epsfrsize \divide\epsftmp 2
+ \ifnum\epsftmp>0
+ \ifnum\epsfrsize<\epsftsize\else
+ \advance\epsfrsize-\epsftsize \advance\epsfysize\epsftmp \fi
+ \repeat
+ \fi
+%
+% Finally, we make the vbox and stick in a \special that dvips can parse.
+%
+ \ifepsfverbose\message{#1: width=\the\epsfxsize, height=\the\epsfysize}\fi
+ \epsftmp=10\epsfxsize \divide\epsftmp\pspoints
+ \vbox to\epsfysize{\vfil\hbox to\epsfxsize{%
+ \special{PSfile=#1 llx=\epsfllx\space lly=\epsflly\space
+ urx=\epsfurx\space ury=\epsfury\space rwi=\number\epsftmp}%
+ \hfil}}%
+\epsfxsize=0pt\epsfysize=0pt}%
+
+%
+% We still need to define the tricky \epsfaux macro. This requires
+% a couple of magic constants for comparison purposes.
+%
+{\catcode`\%=12 \global\let\epsfpercent=%\global\def\epsfbblit{%BoundingBox}}%
+%
+% So we're ready to check for `%BoundingBox:' and to grab the
+% values if they are found.
+%
+\long\def\epsfaux#1#2:#3\\{\ifx#1\epsfpercent
+ \def\testit{#2}\ifx\testit\epsfbblit
+ \epsfgrab #3 . . . \\%
+ \epsffileokfalse
+ \global\epsfbbfoundtrue
+ \fi\else\ifx#1\par\else\epsffileokfalse\fi\fi}%
+%
+% Here we grab the values and stuff them in the appropriate definitions.
+%
+\def\epsfgrab #1 #2 #3 #4 #5\\{%
+ \global\def\epsfllx{#1}\ifx\epsfllx\empty
+ \epsfgrab #2 #3 #4 #5 .\\\else
+ \global\def\epsflly{#2}%
+ \global\def\epsfurx{#3}\global\def\epsfury{#4}\fi}%
+%
+% We default the epsfsize macro.
+%
+\def\epsfsize#1#2{\epsfxsize}
+%
+% Finally, another definition for compatibility with older macros.
+%
+\let\epsffile=\epsfbox
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/fonttable.tex b/language/hebrew/hebtex/macros/tex_macros/fonttable.tex
new file mode 100644
index 0000000000..5d908ec664
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/fonttable.tex
@@ -0,0 +1,58 @@
+% Following are macros intended to display a font table.
+% Those are macros taken from /usr/lib/tex/inputs/manmac.tex.
+% The file is used by font_guide.tex.
+
+\newcount\counter % rama -- changed 'count@' to 'counter'.
+
+\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant
+\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
+
+\def\oddline#1{\cr
+ \noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\hex{#1x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\def\evenline{\cr\noalign{\hrule}}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\beginchart#1{$$\postdisplaypenalty=-10000 \global\counter=0 #1
+ \halign to\hsize\bgroup
+ \chartstrut##\tabskip0pt plus10pt&
+ &\hfil##\hfil&\vrule##\cr
+ \lower6.5pt\null
+ &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
+\def\endchart{\raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
+ &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$}
+\def\:{\setbox0=\hbox{\char\counter}%
+ \ifdim\ht0>7.5pt\reposition
+ \else\ifdim\dp0>2.5pt\reposition\fi\fi
+ \box0\global\advance\counter by1 }
+\def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}
+\def\normalchart{%
+ &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
+ &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
+ &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
+ &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
+ &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
+ &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
+ &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
+ &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
+ &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
+
+\def\table#1{
+ \filbreak
+ \nopagenumbers
+ \centerline{The font \bf #1}
+ \bigskip
+ \font\fnt= #1
+ \beginchart{\fnt}
+ \normalchart
+ \endchart
+ }
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/hclassic.tex b/language/hebrew/hebtex/macros/tex_macros/hclassic.tex
new file mode 100644
index 0000000000..75ed2d084a
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/hclassic.tex
@@ -0,0 +1,21 @@
+\centerline{\L{Using the Hebrew font hclassic or dclassic.}}
+
+\input hletter1 \input vowels \input dots
+\input heb_pc
+
+\sethebrew
+\font\hebrew=dclassic
+%\font\hebrew=dcaption
+\hebrew
+
+\bigskip
+
+\centerline{\ftzadi\segol{\resh}\Kamatz{\aleph}\kamatz{\heh}\
+\taf\tzere{\aleph}\shva{\vav}\
+\fmem\chiriq{\yud}\patach{\mem}\kamatz{\Shinwithdot}\patach{\heh}\
+\taf\tzere{\aleph}
+\fmem\yud\chiriq{\heh}\odot\lamed\chatafsegol{\aleph}\
+\aleph\kamatz{\resh}\kamatz{\Bet}\
+\taf\yud\chiriq{\shinwithdot}\aleph\tzere{\resh}\shva{\Bet}}
+
+\end
diff --git a/language/hebrew/hebtex/macros/tex_macros/heb_cs_guide.tex b/language/hebrew/hebtex/macros/tex_macros/heb_cs_guide.tex
new file mode 100644
index 0000000000..702ffd23e9
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/heb_cs_guide.tex
@@ -0,0 +1,96 @@
+% Hebrew control sequences.
+\font\Jer=Jerusale
+\def\today{\number\day\space\ifcase\month\or
+January\or February\or March\or April\or May\or June\or
+July\or August\or September\or October\or November\or
+December\fi
+\space\number\year}
+\footline={\phantom{\rm\today}\hfil\rm\folio\hfil\rm\today}
+%
+\let\nb=\nobreak
+\let\q\quad \let\qq\qquad
+\def\bn{\bigbreak\noindent} \def\mn{\medbreak\noindent} \def\sn{\smallbreak\noindent}
+\def\bs{{\char'134}}
+\def\bs{{\char'134}} \def\ec{{\char"21}}
+\def\dol{{\char"24}} \def\ddol{{\dol\dol}}
+\def\lb{{\char"7B}} \def\rb{{\char"7D}}
+\def\sb{{\char"5F}} \def\sp{{\char"5E}}
+\def\hash{{\char"23}}
+\font\sc=cmcsc10
+\font\rmb=cmbx12
+\font\ss=cmss10 at 11pt
+
+\centerline{\rmb \hfill Hebrew control sequences of \TeX\ and LaTeX. \hfill\rm\today}
+\vskip0.8truecm
+\rm To use in tex, type~~~~~~~~~~~~~~~ \tt\bs input heb\_pc
+
+To use in latex, type~~~~~\tt\bs documentstyle[hebrew\_p,hebcal\_p...]\lb style.. \rb
+\bigskip
+\nopagenumbers
+\def\undertext#1{$\underline{\hbox{#1}}$}
+
+
+\settabs\+\indent&\tt\hskip5.5truecm&\cr
+\+&\tt\bs sethebrew&Enter hebrew mode\cr
+\+&\tt\bs unsethebrew&Go out of Hebrew mode\cr
+\+&\tt\bs hebrewpar&Starting one hebrew paragraph with indentation\cr
+\+&\tt\bs hebrewlines&Starting one hebrew paragraph without indentation\cr
+\+&\cr
+\+&\tt\bs L\lb\dots string\dots \rb&English string within a Hebrew environment\cr
+\+&\tt\bs R\lb\dots{\Jer zixciq}\dots\rb &Hebrew string within an English environment\cr
+\+&\cr
+\+&\tt\lb\dots\rb{\Jer ybcd}\tt\bs \ or \tt\bs hadgesh\lb\dots\rb&Making bold letters - Poor man's bold --- see page 386\cr
+\+&\cr
+\+&{\Jer lecbswn}\tt\bs \ or \tt\bs makafgadol&Like the regular -\thinspace - producing --~, which doesn't work in Hebrew\cr
+\+&{\Jer wprswn}\tt\bs \ or \tt\bs makafanak&Like the regular -\thinspace -\thinspace - producing ---~, which doesn't work in Hebrew\cr
+\+&\cr
+\+&{\Jer yxb}\tt\bs \ or \tt\bs geresh&Like the regular `~, which doesn't work in Hebrew\cr
+\+&{\Jer yxbgzt}\tt\bs \ or \tt\bs opengeresh&\char39\cr
+\+&{\Jer yxbxebq}\tt\bs \ or \tt\bs closegeresh&`\cr
+\+&{\Jer hehivgzt}\tt\bs \ or \tt\bs openquote&Like the regular '', which doesn't work in Hebrew\cr
+\+&{\Jer hehivxebq}\tt\bs \ or \tt\bs closequote&Like the regular ``, which doesn't work in Hebrew\cr
+\+&\cr
+\+&{\Jer dwqit}\tt\bs \ or \tt\bs piska&Like the regular \tt\bs item, \rm modified for Hebrew ~~~~~~~~~~~Not relevant to latex.\cr
+\+&{\Jer dwqitdwqit}\tt\bs \ or\ \tt\bs piskapiska&Like the regular \tt\bs itemitem, \rm modified for Hebrew~~~~~Not relevant to latex.\cr
+\+&\cr
+\+&{\Jer meid}\tt\bs \ or \tt\bs hebday&Today's regular date in Hebrew\cr
+\+&\tt\bs Hebrewtoday&Hebrew date in Hebrew~~~~~~~~~~~~~~~~~~~~~~~~Included in hebcal.sty\cr
+\+&\tt\bs Hebrewdate~~~~(*)&Converting a Georgian date to a Hebrew date~~Included in hebcal.sty\cr
+\+&\cr
+\+&{\Jer dlecbdvitw}\tt\bs &Like the regular \tt\bs bigskip\cr
+\+&{\Jer zipepiadvitw}\tt\bs &Like the regular \tt\bs medskip\cr
+\+&{\Jer dphwdvitw}\tt\bs &Like the regular \tt\bs smallskip\cr
+\+&\cr
+\+&{\Jer oinidxey}\tt\bs &Like the regular \tt\bs rightline\cr
+\+&{\Jer l`nydxey}\tt\bs &Like the regular \tt\bs leftline\cr
+\+&{\Jer fkxn}\tt\bs &Like the regular \tt\bs centerline\cr
+\+&\cr
+\+&\tt\bs undertext\lb text \Jer hqwh\rb&Produces \undertext{text \Jer hqwh}\cr
+%
+\vskip 1cm
+\hrule
+\vskip 1cm
+
+(*)
+Usage:
+\def\bs{$\backslash$}
+
+\bs newcount\bs day~~~ \bs newcount\bs month~~~ \bs newcount\bs year
+
+\bs day=12 ~~~ \bs month=10 ~~~ \bs year=1884
+
+\bs Hebrewdate$\{$\bs day$\}\{$\bs month$\}\{$\bs year$\}$
+
+~~~~Result:
+
+\newcount\d \newcount\m \newcount\y
+\d=12 \m=10 \y=1884
+{ }
+\input heb_macr \sethebrew
+\Hebrewdate{\d}{\m}{\y}
+
+
+\bye
+
+
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/heb_macros.tex b/language/hebrew/hebtex/macros/tex_macros/heb_macros.tex
new file mode 100644
index 0000000000..1c25f089b5
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/heb_macros.tex
@@ -0,0 +1,268 @@
+\TeXXeTstate=1
+\immediate\write10{ }
+\immediate\write10{>>> heb_macros version 1.4 <<<}
+\immediate\write10{>>> New control sequences. Type tex hebrew_cs_guide <<<}
+\immediate\write10{ }
+%% Written by Rama Porrat of the Computation Center,
+%% Hebrew University of Jerusalem,
+%% based upon Knuth's wisdom and Prof. Azriel levy's contributions.
+%%
+\newif\ifheb
+\def\undertext#1{$\underline{\hbox{#1}}$}
+\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
+%
+% this if is used to distinguish between a tex input and
+% a latex input.
+%
+\font\Jer=jerus10
+\def\footnoterule{\kern-3pt\hrule width \hsize \kern 2.6pt}
+\newcount\hebcheck
+ % This counter used for local text being Hebrew.
+\newcount\hebtext
+ % This counter used for overall text being Hebrew.
+%
+% Each control sequence defined here has his Hebrew equivalent.
+
+% \L = ngxefzlerfiz
+% \R = ngxefzraxiz
+
+\font\hrm=redis10
+\font\hsl=rediss10
+\font\hebrew=jerus10
+
+\ifundefined{LaTeX}
+{
+\hebcheck=1
+\hebtext =1
+\def\hebR#1{\ifodd\hebcheck\beginR#1\fi}
+\baselineskip=14pt
+\hebrew
+}
+\fi
+
+\let\next=\
+
+\def\L{\afterassignment\moreL \let\next= }
+\def\moreL{\bracetext \aftergroup\endL \beginL \rm}
+\def\R{\afterassignment\moreR \let\next= }
+\def\moreR{\bracetext \aftergroup\endR \beginR \hebrew}
+\def\bracetext{\ifcat\next{\else\ifcat\next}\fi
+ \errmessage{Missing left brace has been substituted}\fi \bgroup}
+
+\let\ngxefzlerfiz=\L
+\let\ngxefzraxiz=\R
+
+% \hebrew = \raxiz
+% The font Jerusalem = \ixeylim
+% The font telav10 = \zlaia
+% The font DeadSea = \imdnlg
+% The font OldJaffa = \ite
+
+%
+% \hebrew is activated. Now the default is Jerusalem,
+% and the \R control sequence refers to \hebrew.
+% Thanx to the sequence 'ifundefined', it is possible
+% to distinguish between latex and tex.
+% Hence, for latex, hebrew is activated by
+% hebrewtext, hebrewlines etc.
+% For tex, instead of \hebrew it says \the\font, thus enabling
+% any font (e.g. one called aaa) to be used and
+% have the right indentation.
+% The problem in latex lies in that
+% \the\font in latex usually means \rm.
+% Note that, still, the sequence \R still refers only to the font
+% called \hebrew.
+
+\font\Jerfootnote=jerus10 scaled 750
+\let\who=\Jerfootnote
+
+%\font\Jerhalf=jerus10 scaled \magstephalf
+%\font\Jerone=jerus10 scaled \magstep1
+%\font\Jertwo=jerus10 scaled \magstep2
+%\font\Jerthree=jerus10 scaled \magstep3
+%\font\Jerfour=jerus10 scaled \magstep4
+%\font\Jerfive=jerus10 scaled \magstep5
+
+\font\Telfootnote=telav10 scaled 750
+
+%\font\Telhalf=telav10 scaled \magstephalf
+%\font\Telone=telav10 scaled \magstep1
+%\font\Teltwo=telav10 scaled \magstep2
+\font\Telthree=telav10 scaled \magstep3
+%\font\Telfour=telav10 scaled \magstep4
+\font\Telfive=telav10 scaled \magstep5
+
+\font\Deadfootnote=deads10 scaled 750
+
+%\font\Deadhalf=deads10 scaled \magstephalf
+%\font\Deadone=deads10 scaled \magstep1
+%\font\Deadtwo=deads10 scaled \magstep2
+\font\Deadthree=deads10 scaled \magstep3
+%\font\Deadfour=deads10 scaled \magstep4
+\font\Deadfive=deads10 scaled \magstep5
+
+\font\Jaffafootnote=oldjaf10 scaled 750
+
+%\font\Jaffahalf=oldjaf10 scaled \magstephalf
+%\font\Jaffaone=oldjaf10 scaled \magstep1
+%\font\Jaffatwo=oldjaf10 scaled \magstep2
+\font\Jaffathree=oldjaf10 scaled \magstep3
+%\font\Jaffafour=oldjaf10 scaled \magstep4
+\font\Jaffafive=oldjaf10 scaled \magstep5
+
+\def\ixeylim{\font\hebrew=jerus10 \hebrew }
+\def\zlaia{\font\hebrew=telav10 \hebrew }
+\def\imdnlg{\font\hebrew=deads10 \hebrew }
+\def\ite{\font\hebrew=oldjaf10 \hebrew }
+% \let\Jer=\ixeylim
+\let\Tel=\zlaia
+\let\Dead=\imdnlg
+\let\Jaffa=\ite
+
+\let\bigDead=\Deadthree
+\let\biggerDead=\Deadfive
+\let\bigJer=\Jerthree
+\let\biggerJer=\Jerfive
+\let\bigTel=\Telthree
+\let\biggerTel=\Telfive
+\let\bigJaffa=\Jaffathree
+\let\biggerJaffa=\Jaffafive
+
+
+%\font\biggestTel=telav10 scaled 7000
+%\font\giantTel=telav10 scaled 13000
+
+% To use enlargements of Hebrew fonts by specifying Hebrew
+% control sequences, use the Hebrew font name appended by bet or gimel
+% (or dalet or he in telav10).
+
+\let\imdnlga=\bigDead
+\let\imdnlgb=\biggerDead
+\let\itea=\bigJaffa
+\let\iteb=\biggerJaffa
+\let\ixeylima=\bigJer
+\let\ixeylimb=\biggerJer
+\let\zlaiaa=\bigTel
+\let\zlaiab=\biggerTel
+
+\def\zlaiac{\font\hebrew=telav1010 scaled 7000 \hebrew }
+\def\zlaiad{\font\hebrew=telav1020 scaled 13000 \hebrew }
+
+\ifundefined{LaTeX}
+\def\nohebrewtext{\rm\everypar{}\hebcheck=0 \hebfalse}
+\fi
+
+\ifundefined{LaTeX}
+\def\hebrewpar{\noindent\beginR\indent\the\font
+ \ifodd\hebcheck{}\else\hebrew\hebcheck=1\fi}
+\def\hebrewtext{\everypar{\leavevmode\kern-\parindent\beginR\indent\the\font}
+ \ifundefined{fmtname}{} \else \hebrew\fi
+ \ifodd\hebcheck{}
+ \else\hebrew\fi
+ \hebcheck=1 \hebtext=1 \hebtrue}
+\def\hebrewlines{\noindent\beginR\the\font
+ \ifodd\hebcheck{}\else\hebrew\hebcheck=1\fi}
+%\else
+%\def\hebrewpar{\noindent\beginR\indent
+% \ifodd\hebcheck{}\else\hebrew\hebcheck=1\fi}
+%\def\hebrewtext{
+% \ifodd\hebcheck{}
+% \else\hebrew
+% \fi
+% \everypar{\leavevmode\kern-\parindent\beginR\indent}
+% \hebcheck=1 \hebtext=1 }
+%\def\hebrewlines{\noindent\beginR
+% \ifodd\hebcheck{}\else\hebrew\hebcheck=1\fi}
+%\fi
+%% \def\hebrewtext{\everypar{\leavevmode\kern-\parindent\beginR\indent \hebrew }
+% \hebcheck=1 \hebtext=1 \hebtrue}
+% \def\hebrewlines{\noindent\beginR \hebrew }
+% \def\hebrewpar{\noindent\beginR\indent \hebrew }
+%
+\fi
+
+\let\sethebrew=\hebrewtext
+\let\unsethebrew=\nohebrewtext
+
+\let\whrraxiz=\hebrewpar
+\let\hwqhraxiz=\hebrewtext
+\let\yexezraxiz\hebrewlines
+
+\everydisplay{\aftergroup\beginR }
+\def\negspace{\hskip -3.5pt} % From Samy Zafrany
+\everydisplay{\aftergroup\negspace} % samy@techunix.technion.ac.il
+
+
+\def\diem{\L{\number\day}\ \R{a\ifcase\month\or
+ipe`x\or
+taxe`x\or nxq\or `txil
+\or n`i\or iepi\or ieli\or
+`ebeqh\or qthnax\or `ewheax
+\or peanax\or cvnax\fi}\
+\L{\number\year}}
+
+\let\hebday=\diem
+\def\wtivdwhpd{\smallskip }
+\def\wtivdaipepiz{\medskip }
+\def\wtivdbceld{\bigskip }
+
+ \def\wtivdlnhd #1{\vskip #1 }
+ \def\wtivddvicd #1{\hskip #1}
+\def\xeegaioyexez #1{\baselineskip #1 }
+
+ \def\pw{ pt }
+ \def\pwecez{ pt }
+ \def\qes{\end }
+ \def\qn{ cm }
+
+ \def\nwsbcel{\L{--}}
+ \def\nwsrpw{\L{---}}
+\let\makafgadol=\nwsbcel
+\let\makafanak=\nwsrpw
+
+\def\dcby#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\copy0\kern-\wd0
+\kern-.025em\raise.0433em\box0 }
+
+\def\dcbyy#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\copy0\kern-\wd0
+\kern-.025em\raise.0433em\box0\raise-.0433em\box0 }
+
+\def\wewe#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\box0 }
+
+\let\hadgesh=\dcby
+\def\tiqwd#1{\item{#1}\hangindent=-\hangindent}
+\def\tqwd#1{\item{#1}\hangindent=-\hangindent}
+\let\piska=\tiqwd
+
+\def\tiqwdtiqwd#1{\itemitem{#1}\hangindent=-\hangindent}
+\def\tqwdtqwd#1{\itemitem{#1}\hangindent=-\hangindent}
+\let\piskapiska=\tiqwdtiqwd
+
+\def\yexdinio#1{\line{\R{#1 \hss}}}
+\def\yexdyn`l#1{\line{\R{\hss #1}}}
+\def\nxkf#1{\line{\R{\hss #1 \hss}}}
+
+ \def\bxy{\L{`}}
+ \let\geresh=\bxy
+
+\def\qbexbxy{\L{`}}
+\let\closegeresh=\geresh
+
+\def\tzgbxy{\L{\char39}}
+\let\opengeresh=\tzgbxy
+
+\def\openquote{\L{''}}
+\def\closequote{\L{``}}
+
+\def\leftquotation{\L{''}}
+\def\rightquotation{\L{``}}
+
+\let\tzgviheh=\openquote
+\let\qbexviheh=\closequote
+
+\input hebcal.tex
diff --git a/language/hebrew/hebtex/macros/tex_macros/heb_macros_newcode.tex b/language/hebrew/hebtex/macros/tex_macros/heb_macros_newcode.tex
new file mode 100644
index 0000000000..cbb0d78fb5
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/heb_macros_newcode.tex
@@ -0,0 +1,273 @@
+\TeXXeTstate=1
+\immediate\write10{ }
+\immediate\write10{>>> heb_macros version 1.4 <<<}
+\immediate\write10{>>> New control sequences. Type tex hebrew_cs_guide <<<}
+\immediate\write10{ }
+%% Written by Rama Porrat of the Computation Center,
+%% Hebrew University of Jerusalem,
+%% based upon Knuth's wisdom and Prof. Azriel levy's contributions.
+%%
+\newif\ifheb
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11
+
+\lccode`=``\lccode`=`a\lccode`=`b\lccode`=`c
+\lccode`=`d\lccode`=`e\lccode`=`f\lccode`=`g
+\lccode`=`h\lccode`=`i\lccode`=`k\lccode`=`l
+\lccode`=`n\lccode`=`p\lccode`=`q\lccode`=`r
+\lccode`=`t\lccode`=`v\lccode`=`w\lccode`=`x
+\lccode`=`y\lccode`=`z\lccode`=`j\lccode`=`m
+\lccode`=`o\lccode`=`s\lccode`=`u
+
+\def\undertext#1{$\underline{\hbox{#1}}$}
+\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
+%
+% this if is used to distinguish between a tex input and
+% a latex input.
+%
+\font\Jer=Jerusalem_newcode
+\def\footnoterule{\kern-3pt\hrule width \hsize \kern 2.6pt}
+\newcount\hebcheck
+ % This counter used for local text being Hebrew.
+\newcount\hebtext
+ % This counter used for overall text being Hebrew.
+%
+% Each control sequence defined here has his Hebrew equivalent.
+
+% \L = ngxefzlerfiz
+% \R = ngxefzraxiz
+
+\font\hrm=redis10_newcode
+\font\hsl=rediss10_newcode
+
+\ifundefined{LaTeX}
+\hebcheck=1\hebtrue
+\hebtext =1
+\def\hebR#1{\ifodd\hebcheck\beginR#1\fi}
+\baselineskip=14pt
+\font\hebrew=Jerusalem_newcode
+\hebrew
+\fi
+
+\let\next=\
+
+\def\L{\afterassignment\moreL \let\next= }
+\def\moreL{\bracetext \aftergroup\endL \beginL \rm}
+\def\R{\afterassignment\moreR \let\next= }
+\def\moreR{\bracetext \aftergroup\endR \beginR \hebrew}
+\def\bracetext{\ifcat\next{\else\ifcat\next}\fi
+ \errmessage{Missing left brace has been substituted}\fi \bgroup}
+
+
+% \hebrew is activated. Now the default is Jerusalem,
+% and the \R control sequence refers to \hebrew.
+% Thanx to the sequence 'ifundefined', it is possible
+% to distinguish between latex and tex.
+% Hence, for latex, hebrew is activated by
+% hebrewtext, hebrewlines etc.
+% For tex, instead of \hebrew it says \the\font, thus enabling
+% any font (e.g. one called aaa) to be used and
+% have the right indentation.
+% The problem in latex lies in that
+% \the\font in latex usually means \rm.
+% Note that, still, the sequence \R still refers only to the font
+% called \hebrew.
+
+\font\Jerfootnote=Jerusalem_newcode scaled 750
+\let\katan=\Jerfootnote
+\let\ =\Jerfootnote
+%\let\who=\Jerfootnote
+
+%\font\Jerhalf=Jerusalem_newcode scaled \magstephalf
+%\font\Jerone=Jerusalem_newcode scaled \magstep1
+%\font\Jertwo=Jerusalem_newcode scaled \magstep2
+%\font\Jerthree=Jerusalem_newcode scaled \magstep3
+%\font\Jerfour=Jerusalem_newcode scaled \magstep4
+%\font\Jerfive=Jerusalem_newcode scaled \magstep5
+
+\font\Telfootnote=TelAviv_newcode scaled 750
+
+%\font\Telhalf=TelAviv_newcode scaled \magstephalf
+%\font\Telone=TelAviv_newcode scaled \magstep1
+%\font\Teltwo=TelAviv_newcode scaled \magstep2
+\font\Telthree=TelAviv_newcode scaled \magstep3
+%\font\Telfour=TelAviv_newcode scaled \magstep4
+\font\Telfive=TelAviv_newcode scaled \magstep5
+
+\font\Deadfootnote=DeadSea_newcode scaled 750
+
+%\font\Deadhalf=DeadSea_newcode scaled \magstephalf
+%\font\Deadone=DeadSea_newcode scaled \magstep1
+%\font\Deadtwo=DeadSea_newcode scaled \magstep2
+\font\Deadthree=DeadSea_newcode scaled \magstep3
+%\font\Deadfour=DeadSea_newcode scaled \magstep4
+\font\Deadfive=DeadSea_newcode scaled \magstep5
+
+\font\Jaffafootnote=OldJaffa_newcode scaled 750
+
+%\font\Jaffahalf=OldJaffa_newcode scaled \magstephalf
+%\font\Jaffaone=OldJaffa_newcode scaled \magstep1
+%\font\Jaffatwo=OldJaffa_newcode scaled \magstep2
+\font\Jaffathree=OldJaffa_newcode scaled \magstep3
+%\font\Jaffafour=OldJaffa_newcode scaled \magstep4
+\font\Jaffafive=OldJaffa_newcode scaled \magstep5
+
+\def\{\font\hebrew=Jerusalem_newcode \hebrew }
+\def\{\font\hebrew=TelAviv_newcode \hebrew }
+\def\{\font\hebrew=DeadSea_newcode \hebrew }
+\def\{\font\hebrew=OldJaffa_newcode \hebrew }
+
+\let\Jer=\
+\let\Tel=\
+\let\Dead=\
+\let\Jaffa=\
+
+\let\bigDead=\Deadthree
+\let\biggerDead=\Deadfive
+\let\bigJer=\Jerthree
+\let\biggerJer=\Jerfive
+\let\bigTel=\Telthree
+\let\biggerTel=\Telfive
+\let\bigJaffa=\Jaffathree
+\let\biggerJaffa=\Jaffafive
+
+
+
+% To use enlargements of Hebrew fonts by specifying Hebrew
+% control sequences, use the Hebrew font name appended by bet or gimel
+% (or dalet or he in TelAviv).
+
+%\let\imdnlga=\bigDead
+%\let\imdnlgb=\biggerDead
+%\let\itea=\bigJaffa
+%\let\iteb=\biggerJaffa
+%\let\ixeylima=\bigJer
+%\let\ixeylimb=\biggerJer
+%\let\zlaiaa=\bigTel
+%\let\zlaiab=\biggerTel
+
+\ifundefined{LaTeX}
+\def\nohebrewtext{\rm\everypar{}\hebcheck=0\hebfalse}
+\fi
+
+\ifundefined{LaTeX}
+\def\hebrewpar{\noindent\beginR\indent\the\font
+ \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+\def\hebrewtext{\everypar{\leavevmode\kern-\parindent\beginR\indent\the\font}
+ \ifundefined{fmtname}{} \else \hebrew\fi
+ \ifodd\hebcheck{}
+ \else\hebrew\fi
+ \hebcheck=1 \hebtrue\hebtext=1}
+\def\hebrewlines{\noindent\beginR\the\font
+ \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+%\else
+%\def\hebrewpar{\noindent\beginR\indent
+% \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+%\def\hebrewtext{
+% \ifodd\hebcheck{}
+% \else\hebrew
+% \fi
+% \everypar{\leavevmode\kern-\parindent\beginR\indent}
+% \hebcheck=1\hebtrue \hebtext=1 }
+%\def\hebrewlines{\noindent\beginR
+% \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+%\fi
+%% \def\hebrewtext{\everypar{\leavevmode\kern-\parindent\beginR\indent \hebrew }
+% \hebcheck=1 \hebtext=1\hebtrue }
+% \def\hebrewlines{\noindent\beginR \hebrew }
+% \def\hebrewpar{\noindent\beginR\indent \hebrew }
+%
+\fi
+
+\let\sethebrew=\hebrewtext
+\let\unsethebrew=\nohebrewtext
+
+%\let\whrraxiz=\hebrewpar
+%\let\hwqhraxiz=\hebrewtext
+%\let\yexezraxiz\hebrewlines
+
+\everydisplay{\aftergroup\beginR }
+
+\def\hebday{\L{\number\day}\ \R{\ifcase\month\or
+ \or
+ \or \or
+\or \or \or \or
+ \or \or
+\or \or \fi}\
+\L{\number\year}}
+
+\let\=\hebday
+\def\{\smallskip }
+\def\{\medskip }
+\def\{\bigskip }
+
+% \def\wtivdlnhd #1{\vskip #1 }
+% \def\wtivddvicd #1{\hskip #1}
+%\def\xeegaioyexez #1{\baselineskip #1 }
+
+ %\def\pw{ pt }
+ %\def\pwecez{ pt }
+ %\def\qes{\end }
+ %\def\qn{ cm }
+
+\def\{\L{--}}
+\def\{\L{---}}
+
+\let\makafanak=\
+\let\makafgadol=\
+
+\def\hadgesh#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\copy0\kern-\wd0
+\kern-.025em\raise.0433em\box0 }
+
+\let\=\hadgesh
+
+\def\#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\copy0\kern-\wd0
+\kern-.025em\raise.0433em\box0\raise-.0433em\box0 }
+
+\def\wewe#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\box0 }
+
+\def\#1{\item{#1}\hangindent=-\hangindent}
+\def\#1{\item{#1}\hangindent=-\hangindent}
+
+\def\#1{\itemitem{#1}\hangindent=-\hangindent}
+\def\#1{\itemitem{#1}\hangindent=-\hangindent}
+
+\def\piska#1{\item{#1}\hangindent=-\hangindent}
+
+\def\piskapiska#1{\itemitem{#1}\hangindent=-\hangindent}
+
+\def\#1{\line{\R{#1 \hss}}}
+\def\#1{\line{\R{\hss #1}}}
+\def\#1{\line{\R{\hss #1 \hss}}}
+
+ \def\{\L{`}}
+ \let\geresh=\
+
+\def\{\L{`}}
+\let\closegeresh=\geresh
+
+\def\{\L{\char39}}
+\let\opengeresh=\
+
+\def\openquote{\L{''}}
+\def\closequote{\L{``}}
+
+\def\leftquotation{\L{''}}
+\def\rightquotation{\L{``}}
+
+\let\=\openquote
+\let\=\closequote
+
+\input hebcal_newcode.tex
+
diff --git a/language/hebrew/hebtex/macros/tex_macros/heb_pc.tex b/language/hebrew/hebtex/macros/tex_macros/heb_pc.tex
new file mode 100644
index 0000000000..b9357f6aca
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/heb_pc.tex
@@ -0,0 +1,273 @@
+\TeXXeTstate=1
+\immediate\write10{ }
+\immediate\write10{>>> heb_macros version 1.4 for PC PUBTeX <<<}
+\immediate\write10{>>> Available guides: hebtex.tex heb_cs_g <<<}
+\immediate\write10{ }
+%% Written by Rama Porrat of the Computation Center,
+%% Hebrew University of Jerusalem,
+%% based upon Knuth's wisdom and Prof. Azriel levy's contributions.
+%%
+\newif\ifheb
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11\catcode`=11
+\catcode`=11\catcode`=11\catcode`=11
+
+\lccode`=``\lccode`=`a\lccode`=`b\lccode`=`c
+\lccode`=`d\lccode`=`e\lccode`=`f\lccode`=`g
+\lccode`=`h\lccode`=`i\lccode`=`k\lccode`=`l
+\lccode`=`n\lccode`=`p\lccode`=`q\lccode`=`r
+\lccode`=`t\lccode`=`v\lccode`=`w\lccode`=`x
+\lccode`=`y\lccode`=`z\lccode`=`j\lccode`=`m
+\lccode`=`o\lccode`=`s\lccode`=`u
+
+\def\undertext#1{$\underline{\hbox{#1}}$}
+\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
+%
+% this if is used to distinguish between a tex input and
+% a latex input.
+%
+\font\Jer=Jer_pc
+\def\footnoterule{\kern-3pt\hrule width \hsize \kern 2.6pt}
+\newcount\hebcheck
+ % This counter used for local text being Hebrew.
+\newcount\hebtext
+ % This counter used for overall text being Hebrew.
+%
+% Each control sequence defined here has his Hebrew equivalent.
+
+% \L = ngxefzlerfiz
+% \R = ngxefzraxiz
+
+% \font\hrm=redis10_newcode
+% \font\hsl=rediss10_newcode
+
+\ifundefined{LaTeX}
+\hebcheck=1\hebtrue
+\hebtext =1
+\def\hebR#1{\ifodd\hebcheck\beginR#1\fi}
+\baselineskip=14pt
+\font\hebrew=jer_pc
+\hebrew
+\fi
+
+\let\next=\
+
+\def\L{\afterassignment\moreL \let\next= }
+\def\moreL{\bracetext \aftergroup\endL \beginL \rm}
+\def\R{\afterassignment\moreR \let\next= }
+\def\moreR{\bracetext \aftergroup\endR \beginR \hebrew}
+\def\bracetext{\ifcat\next{\else\ifcat\next}\fi
+ \errmessage{Missing left brace has been substituted}\fi \bgroup}
+
+
+% \hebrew is activated. Now the default is Jerusalem,
+% and the \R control sequence refers to \hebrew.
+% Thanx to the sequence 'ifundefined', it is possible
+% to distinguish between latex and tex.
+% Hence, for latex, hebrew is activated by
+% hebrewtext, hebrewlines etc.
+% For tex, instead of \hebrew it says \the\font, thus enabling
+% any font (e.g. one called aaa) to be used and
+% have the right indentation.
+% The problem in latex lies in that
+% \the\font in latex usually means \rm.
+% Note that, still, the sequence \R still refers only to the font
+% called \hebrew.
+
+\font\Jerfootnote=JER_PC scaled 750
+\let\katan=\Jerfootnote
+\let\ =\Jerfootnote
+%\let\who=\Jerfootnote
+
+%\font\Jerhalf=JER_PC scaled \magstephalf
+%\font\Jerone=JER_PC scaled \magstep1
+%\font\Jertwo=JER_PC scaled \magstep2
+%\font\Jerthree=JER_PC scaled \magstep3
+%\font\Jerfour=JER_PC scaled \magstep4
+%\font\Jerfive=JER_PC scaled \magstep5
+
+\font\Telfootnote=Tel_pc scaled 750
+
+%\font\Telhalf=Tel_pc scaled \magstephalf
+%\font\Telone=Tel_pc scaled \magstep1
+%\font\Teltwo=Tel_pc scaled \magstep2
+\font\Telthree=Tel_pc scaled \magstep3
+%\font\Telfour=Tel_pc scaled \magstep4
+\font\Telfive=Tel_pc scaled \magstep5
+
+\font\Deadfootnote=Dead_pc scaled 750
+
+%\font\Deadhalf=Dead_pc scaled \magstephalf
+%\font\Deadone=Dead_pc scaled \magstep1
+%\font\Deadtwo=Dead_pc scaled \magstep2
+\font\Deadthree=Dead_pc scaled \magstep3
+%\font\Deadfour=Dead_pc scaled \magstep4
+\font\Deadfive=Dead_pc scaled \magstep5
+
+\font\Jaffafootnote=Old_pc scaled 750
+
+%\font\Jaffahalf=Old_pc scaled \magstephalf
+%\font\Jaffaone=Old_pc scaled \magstep1
+%\font\Jaffatwo=Old_pc scaled \magstep2
+\font\Jaffathree=Old_pc scaled \magstep3
+%\font\Jaffafour=Old_pc scaled \magstep4
+\font\Jaffafive=Old_pc scaled \magstep5
+
+\def\{\font\hebrew=JER_PC \hebrew }
+\def\{\font\hebrew=Tel_pc \hebrew }
+\def\{\font\hebrew=Dead_pc \hebrew }
+\def\{\font\hebrew=Old_pc \hebrew }
+
+\let\Jer=\
+\let\Tel=\
+\let\Dead=\
+\let\Jaffa=\
+
+\let\bigDead=\Deadthree
+\let\biggerDead=\Deadfive
+\let\bigJer=\Jerthree
+\let\biggerJer=\Jerfive
+\let\bigTel=\Telthree
+\let\biggerTel=\Telfive
+\let\bigJaffa=\Jaffathree
+\let\biggerJaffa=\Jaffafive
+
+
+
+% To use enlargements of Hebrew fonts by specifying Hebrew
+% control sequences, use the Hebrew font name appended by bet or gimel
+% (or dalet or he in TelAviv).
+
+%\let\imdnlga=\bigDead
+%\let\imdnlgb=\biggerDead
+%\let\itea=\bigJaffa
+%\let\iteb=\biggerJaffa
+%\let\ixeylima=\bigJer
+%\let\ixeylimb=\biggerJer
+%\let\zlaiaa=\bigTel
+%\let\zlaiab=\biggerTel
+
+\ifundefined{LaTeX}
+\def\nohebrewtext{\rm\everypar{}\hebcheck=0\hebfalse}
+\fi
+
+\ifundefined{LaTeX}
+\def\hebrewpar{\noindent\beginR\indent\the\font
+ \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+\def\hebrewtext{\everypar{\leavevmode\kern-\parindent\beginR\indent\the\font}
+ \ifundefined{fmtname}{} \else \hebrew\fi
+ \ifodd\hebcheck{}
+ \else\hebrew\fi
+ \hebcheck=1 \hebtrue\hebtext=1}
+\def\hebrewlines{\noindent\beginR\the\font
+ \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+%\else
+%\def\hebrewpar{\noindent\beginR\indent
+% \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+%\def\hebrewtext{
+% \ifodd\hebcheck{}
+% \else\hebrew
+% \fi
+% \everypar{\leavevmode\kern-\parindent\beginR\indent}
+% \hebcheck=1\hebtrue \hebtext=1 }
+%\def\hebrewlines{\noindent\beginR
+% \ifodd\hebcheck{}\else\hebrew\hebcheck=1\hebtrue\fi}
+%\fi
+%% \def\hebrewtext{\everypar{\leavevmode\kern-\parindent\beginR\indent \hebrew }
+% \hebcheck=1 \hebtext=1\hebtrue }
+% \def\hebrewlines{\noindent\beginR \hebrew }
+% \def\hebrewpar{\noindent\beginR\indent \hebrew }
+%
+\fi
+
+\let\sethebrew=\hebrewtext
+\let\unsethebrew=\nohebrewtext
+
+%\let\whrraxiz=\hebrewpar
+%\let\hwqhraxiz=\hebrewtext
+%\let\yexezraxiz\hebrewlines
+
+\everydisplay{\aftergroup\beginR }
+
+\def\hebday{\L{\number\day}\ \R{\ifcase\month\or
+ \or
+ \or \or
+\or \or \or \or
+ \or \or
+\or \or \fi}\
+\L{\number\year}}
+
+\let\=\hebday
+\def\{\smallskip }
+\def\{\medskip }
+\def\{\bigskip }
+
+% \def\wtivdlnhd #1{\vskip #1 }
+% \def\wtivddvicd #1{\hskip #1}
+%\def\xeegaioyexez #1{\baselineskip #1 }
+
+ %\def\pw{ pt }
+ %\def\pwecez{ pt }
+ %\def\qes{\end }
+ %\def\qn{ cm }
+
+\def\{\L{--}}
+\def\{\L{---}}
+
+\let\makafanak=\
+\let\makafgadol=\
+
+\def\hadgesh#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\copy0\kern-\wd0
+\kern-.025em\raise.0433em\box0 }
+
+\let\=\hadgesh
+
+\def\#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\copy0\kern-\wd0
+\kern-.025em\raise.0433em\box0\raise-.0433em\box0 }
+
+\def\wewe#1{\leavevmode\setbox0=\hbox{#1}%
+\kern-.025em\copy0\kern-\wd0
+\kern.05em\box0 }
+
+\def\#1{\item{#1}\hangindent=-\hangindent}
+\def\#1{\item{#1}\hangindent=-\hangindent}
+
+\def\#1{\itemitem{#1}\hangindent=-\hangindent}
+\def\#1{\itemitem{#1}\hangindent=-\hangindent}
+
+\def\piska#1{\item{#1}\hangindent=-\hangindent}
+
+\def\piskapiska#1{\itemitem{#1}\hangindent=-\hangindent}
+
+\def\#1{\line{\R{#1 \hss}}}
+\def\#1{\line{\R{\hss #1}}}
+\def\#1{\line{\R{\hss #1 \hss}}}
+
+ \def\{\L{`}}
+ \let\geresh=\
+
+\def\{\L{`}}
+\let\closegeresh=\geresh
+
+\def\{\L{\char39}}
+\let\opengeresh=\
+
+\def\openquote{\L{''}}
+\def\closequote{\L{``}}
+
+\def\leftquotation{\L{''}}
+\def\rightquotation{\L{``}}
+
+\let\=\openquote
+\let\=\closequote
+
+\input hebcal_p.tex
+
diff --git a/language/hebrew/hebtex/macros/tex_macros/hebcal.tex b/language/hebrew/hebtex/macros/tex_macros/hebcal.tex
new file mode 100644
index 0000000000..e69c0d28c7
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/hebcal.tex
@@ -0,0 +1,908 @@
+%
+% TeX & LaTeX MACROS FOR COMPUTING HEBREW DATE FROM GREGORIAN ONE
+%
+% by Michail Rozman, misha@iop.tartu.ew.su
+%
+% Released: Tammuz 12, 5751 -- June 24, 1991
+% Corrected: Shebat 10, 5752 -- January 15, 1992 by Rama Porrat
+% Corrected: Adar II 5, 5752 -- March 10, 1992 by Misha
+% Corrected: Tebeth, 5756 -- January 1996 Dan Haran
+% (haran@math.tau.ac.il)
+
+% Please direct any comments, bug reports, questions, etc.
+% to the address above.
+%
+% If Hebrew fonts and style macros are loaded AND you are in
+% Hebrew mode the produced date is in Hebrew.
+% Otherwise the date string looks like Shebat 10, 5752.
+%
+% Use this style as follows:
+%
+% LaTeX | TeX
+% |
+% \documentstyle[...,hebcal,...] \input hebcal.sty
+%
+% % ONLY IF \ifheb IS NOT
+% \newif\ifheb \hebtrue % DEFINED IN YOUR
+% % HEBREW STYLE !!
+%
+% \Hebrewtoday
+% or
+% {\day=10 \month=3 \year=1992 % to fool \today
+% \today == \Hebrewtoday}
+% or
+% \newcount\hd \newcount\hm \newcount\hy
+% \hd=10 \hm=3 \hy=1992 \Hebrewdate{\hd}{\hm}{\hy}
+%
+%
+% TABLE OF CONTENTS
+%
+% INTRODUCTION
+% REGISTERS, COMMANDS AND LANGUAGE-DEPENDENT INTERFACE
+% Hebrew language macros
+% English language macros
+% AUXILIARY MACROS
+% GREGORIAN PART
+% HEBREW PART
+%
+% *******************************************
+% * INTRODUCTION *
+% *******************************************
+%
+% The Hebrew calendar is inherently complicated:
+% It is lunisolar -- each year starts close to the
+% autumn equinox, but each month must strictly start
+% at a new moon. Thus Hebrew calendar must be harmonized
+% simultaneously with both lunar and solar events.
+% In addition, for reasons of the religious practice, the
+% year cannot start on Sunday, Wednesday or Friday.
+%
+% For the full description of Hebrew calendar and for
+% the list of references see:
+%
+% Nachum Dershowitz and Edward M. Reingold,
+% "Calendrical Calculations", Software--Pract.Exper.,
+% vol. 20 (9), pp.899--928 (September 1990)
+% C translation of LISP programs from the above article
+% available from Mr. Wayne Geiser, geiser%pictel@uunet.uu.net
+%
+% The 4th distribution ( July 1989 ) of hdate/hcal ( Hebrew
+% calendar programs similar to UNIX date/cal ) by
+% Mr. Amos Shapir, amos@shum.huji.ac.il , contains short
+% and very clear description of algorithms.
+%
+\catcode`@=11
+% *******************************************
+% * REGISTERS, COMMAND, FORMATTING MACROS *
+% *******************************************
+%
+% The command \Hebrewtoday produces today's date for Hebrew
+% calendar. It is similar to the \today command of the LETTER
+% style. In addition three numerical registers \Hebrewday
+% \Hebrewmonth and \Hebrewyear are set.
+% For setting this registers without producing of date string
+% command \Hebrewsetreg can be used.
+% The command \Hebrewdate{Gday}{Gmonth}{Gyear} produces Hebrew
+% calendar date corresponding to Gregorian date Gday.Gmonth.Gyear.
+% Three numerical registers \Hebrewday \Hebrewmonth and
+% \Hebrewyear are set.
+% For converting arbitrary Gregorian date Gday.Gmonth.Gyear
+% to Hebrew date Hday.Hmonth.Hyear without producing date string
+% the command:
+% \HebrewFromGregorian{Gday}{Gmonth}{Gyear}{Hday}{Hmonth}{Hyear}
+% can be used.
+%
+\newcount\Hebrewday \newcount\Hebrewmonth \newcount\Hebrewyear
+%
+% \Hebrewdate{Gday}{Gmonth}{Gyear}
+% ================================
+% Hebrew calendar date corresponding to Gregorian Gday.Gmonth.Gyear
+\def\Hebrewdate #1#2#3{%
+ \HebrewFromGregorian{#1}{#2}{#3}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \ifundefined{ifheb}% Hebrew fonts&macros are not loaded
+ \FormatForEnglish{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \else%
+ \FormatDate{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \fi%
+}%
+%
+%\Hebrewtoday
+% ============
+% Today's date in Hebrew calendar
+\def\Hebrewtoday{\Hebrewdate{\day}{\month}{\year}}
+\let\hebrewtoday=\Hebrewtoday
+%
+% \Hebrewsetreg
+% ============
+% Set registers: today's date in hebrew calendar
+\def\Hebrewsetreg{%
+ \HebrewFromGregorian{\day}{\month}{\year}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+}%
+%
+% \FormatDate{Hebrewday}{Hebrewmonth}{Hebrewyear}
+% ===============================================
+\def\FormatDate #1#2#3{%
+ \ifheb% Hebrew mode
+ \FormatForHebrew{#1}{#2}{#3}%
+ \else% English mode
+ \FormatForEnglish{#1}{#2}{#3}
+ \fi%
+}%
+%
+% TO PREPARE ANOTHER LANGUAGE VERSION CHANGE/ADD HERE !!!
+%
+% ====================== Hebrew macros ===============================
+%
+\def\HebrewYearChar{'}
+%
+%
+% \ShortHYName{year}
+% =====================
+% Hebrew year (mod 1000) as a string of Hebrew letters
+\def\ShortHYName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \def\HY{}% the string of hundreds, tens and ones
+ \ifnum #1 > 799 \strcat{\HY}{zz}\advance#1 by -800 \fi%
+ \ifnum #1 > 399 \strcat{\HY}{z}\advance#1 by -400 \fi%
+ \ifnum #1 > 299 \strcat{\HY}{y}\advance#1 by -300 \fi%
+ \ifnum #1 > 199 \strcat{\HY}{x}\advance#1 by -200 \fi%
+ \ifnum #1 > 99 \strcat{\HY}{w}\advance#1 by -100 \fi%
+ \ifnum #1 > 0 %
+ %
+ % 15 and 16 are special exceptions
+ %
+ \ifnum #1 = 16 %
+ \strcat{\HY}{hf}%
+ \else%
+ \ifnum #1 = 15 %
+ \strcat{\HY}{he}%
+ \else%
+ \Remainder{#1}{10}{\count0 }%
+ \divide #1 by 10 %
+ \ifnum\count0 = 0%
+ \strcat{\HY}{\TensInHebrewEnd{#1}}%
+ \else%
+ \strcat{\HY}{\TensInHebrew{#1}}%
+ \strcat{\HY}{\DigitInHebrew{\count0 }}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \countdef\HYLength=0 % \HYLength==\count0 = strlen(\HY)
+ \HYLength =0 \expandafter\getlength\HY\end%
+ \ifnum\HYLength > 0 %
+ \ifnum\HYLength = 1 %
+ \HY\HebrewYearChar%
+ \else%
+ \expandafter\Insert\HY%
+ \fi%
+ \else%
+ \relax%
+ \fi%
+}}%
+%
+% \HebrewYearName{year}
+% =====================
+% Hebrew year as a string of Hebrew letters
+% 0 < year < 10000
+\def\HebrewYearName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{10000}{#1}% macro only for year <= 9999
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \divide \count2 by 1000 % E.g., for 5752: \count2 = 5
+ \countdef\thousand=2 % \thousand==\count2
+ \def\Thousands{}% the string of thousands
+ \strcat{\Thousands}{\DigitInHebrew{\thousand }}% output 1000'
+ \ifnum\thousand = 5 % Change it in the next Hebrew Millennium..
+ \ifnum#1 > 0 % if 5000 < year < 6000
+ \def\Thousands{}% don't mention thousands
+ \fi%
+ \fi%
+ \countdef\ThousandsLength=0 %
+ % \ThousandsLength==\count0 = strlen(\Thousands)
+ \ThousandsLength =0 \expandafter\getlength\Thousands\end%
+ \ifnum\ThousandsLength > 0 % if the letter of thousands is not empty
+ \strcat{\Thousands}{'}% add '
+ \fi%
+ \def\HY{\ShortHYName{#1}}% the string of hundreds, tens and ones
+ \def\PratGadol{}% An additional string to date. Default: empty
+ \ifnum\thousand < 1%
+ \def\PratGadol{\ )lt"b(}%
+ \fi%
+ \ifnum#1 = 0%
+ \def\PratGadol{\ )lt"b(}%
+ \fi%
+ \Thousands\HY\PratGadol%
+}}%
+%
+% \HebrewMonthName{month}{year}
+% =============================
+% Name of month in the `year'
+\def\HebrewMonthName #1#2{%
+ \ifnum #1 = 7 %
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap `cx a`%
+ \else `cx%
+ \fi%
+ \else%
+ \ifcase #1%
+ Dummy\or%
+ zyxi\or%
+ gyeo\or%
+ kqle\or%
+ haz\or%
+ yah\or%
+ `cx `'\or%
+ `cx a'\or%
+ piqo\or%
+ `iix\or%
+ qieo\or%
+ znef\or%
+ `a\or%
+ `lel%
+ \fi %
+ \fi %
+}%
+%
+% \HebrewDayName{day}
+% ===============================
+% Name of day in Hebrew letters.
+%
+\def\HebrewDayName#1{%
+\ifcase#1%
+Dummy\or%
+`'\or%
+a'\or%
+b'\or%
+c'\or%
+d'\or%
+e'\or%
+f'\or%
+g'\or%
+h'\or%
+i'\or%
+i''`\or%
+i''a\or%
+i''b\or%
+i''c\or%
+h''e\or%
+h''f\or%
+i''f\or%
+i''g\or%
+i''h\or%
+k'\or%
+k''`\or%
+k''a\or%
+k''b\or%
+k''c\or%
+k''d\or%
+k''e\or%
+k''f\or%
+k''g\or%
+k''h\or%
+l'\or%
+l''`%
+\fi%
+}%
+%
+% \DigitInHebrew{n}
+% =================
+% Single digit 1 <= n <= 9 as Hebrew letter
+% short macro:
+% \def\DigitInHebrew #1{%
+% {\ifnum#1>0 \ifnum#1<10 \advance#1 by `\_ \char#1 \fi\fi}}
+%
+\def\DigitInHebrew #1{%
+ \ifcase#1%
+ % nothing for 0
+ \or `% 1
+ \or a% 2
+ \or b% 3
+ \or c% 4
+ \or d% 5
+ \or e% 6
+ \or f% 7
+ \or g% 8
+ \or h% 9
+ \fi%
+}%
+%
+% \TensInHebrew{num}
+% ================
+% Convert 10*num ( 1 <= num <= 9 ) into single Hebrew letter
+\def\TensInHebrew #1{%
+ \ifcase #1%
+ % nothing for 0
+ \or i% 10
+ \or k% 20
+ \or l% 30
+ \or n% 40
+ \or p% 50
+ \or q% 60
+ \or r% 70
+ \or t% 80
+ \or v% 90
+ \fi%
+}%
+%
+% \TensInHebrewEnd{num}
+% ================
+% Convert 10*num ( 1 <= num <= 9 ) into single Hebrew letter;
+% this letter is an endletter version ("oth sofith") if it exists.
+\def\TensInHebrewEnd #1{%
+ \ifcase #1%
+ % nothing for 0
+ \or i% 10
+ \or j% 20
+ \or l% 30
+ \or m% 40
+ \or o% 50
+ \or q% 60
+ \or r% 70
+ \or s% 80
+ \or u% 90
+ \fi%
+}%
+%
+% \FormatForHebrew{hday}{hmonth}{hyear}
+% =====================================
+\def\FormatForHebrew#1#2#3{%
+\HebrewDayName{#1}~a\HebrewMonthName{#2}{#3},~\HebrewYearName{#3}%
+}%
+%
+% English macros ==================================
+%
+% \HebrewMonthNameInEnglish{month}{year}
+% ===============================
+% Name of month in the `year'
+\def\HebrewMonthNameInEnglish #1#2{%
+ \ifnum #1 = 7%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap Adar II \else Adar \fi%
+ \else%
+ \ifcase #1%
+ Dummy \or%
+ Tishrei \or%
+ Heshvan \or%
+ Kislev \or%
+ Tebeth \or%
+ Shebat \or%
+ Adar I \or%
+ Adar II \or%
+ Nisan \or%
+ Iyar \or%
+ Sivan \or%
+ Tammuz \or%
+ Av \or%
+ Elul%
+ \fi %
+ \fi %
+}%
+%
+% \FormatForEnglish{hday}{hmonth}{hyear}
+% =====================================
+\def\FormatForEnglish #1#2#3{%
+ \HebrewMonthNameInEnglish{#2}{#3} \number#1,\ \number#3%
+}%
+%
+% *******************************************
+% * AUXILIARY MACROS *
+% *******************************************
+%
+\newcount\@common
+%
+% \Remainder{a}{b}{c}
+% ===================
+% c = a%b == a - b(a/b)
+\def\Remainder #1#2#3{%
+ #3 = #1% % c = a
+ \divide #3 by #2% % c = a/b
+ \multiply #3 by -#2% % c = -b(a/b)
+ \advance #3 by #1% % c = a - b(a/b)
+}%
+%
+\newif\if@Divisible
+%
+% \CheckIfDivisible{a}{b}
+% ==================
+% Set \@Divisibletrue if a%b == 0
+\def\CheckIfDivisible #1#2{%
+ {%
+ \countdef\tmp = 0% % \tmp == \count0 - temporary variable
+ \Remainder{#1}{#2}{\tmp}%
+ \ifnum \tmp = 0%
+ \global\@Divisibletrue%
+ \else%
+ \global\@Divisiblefalse%
+ \fi%
+ }%
+}%
+%
+% \strcat{str1}{str2}
+% ===================
+% apend str2 to the end of macro str1
+\def\strcat#1#2{\edef#1{#1#2}}
+%
+% \getlength{ string }
+% ====================
+% Number of nonblank tokens
+% This macro is called if \count0==strlen('string') >= 2
+% usage: {{\count0=0 \expandafter\getlength#1\end \number\count0}}
+\def\getlength #1{%
+ \ifx#1\end%
+ \let\next=\relax%
+ \else%
+ \advance\count0 by 1%
+ \let\next=\getlength%
+ \fi%
+ \next%
+}%
+%
+% \Insert
+% =======
+% Insert char <"> befor the last char and output 'string'
+% usage: {\def\abc{abc} \count0=0 \expandafter\getlength\abc\end
+% \expandafter\Insert\abc}
+\def\Insert #1{%
+ \ifnum\count0 = 1%
+#1%
+\let\next=\relax%
+\else%
+#1%
+\ifnum\count0 = 2%
+"%
+\fi
+\advance\count0 by -1%
+\let\next=\Insert%
+\fi%
+\next%
+}
+%
+% \ifundefined{command}
+% =====================
+% TeXbook, ex. 7.7 \ifundefined{command}<true text>\else<false text>\fi
+\def\ifundefined #1{\expandafter\ifx\csname#1\endcsname\relax}
+%
+% *******************************************
+% * GREGORIAN PART *
+% *******************************************
+%
+\newif\if@GregorianLeap
+%
+% \IfGregorianLeap{year}
+% ======================
+% Conditional which is true if Gregorian `year' is
+% a leap year:
+% ( ( year%4 == 0 ) && ( year%100 != 0 ) || ( year%400 == 0 ) )
+\def\IfGregorianLeap #1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap%
+}%
+%
+% \GregorianDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\GregorianDaysInPriorMonths #1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or % % no month number 0
+ 0 \or 31 \or 59 \or 90 \or 120 \or 151 \or %
+ 181 \or 212 \or 243 \or 273 \or 304 \or 334%
+ \fi%
+ \IfGregorianLeap{#2}% % in leap year ...
+ \ifnum #1 > 2% % if month after February ...
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \GregorianDaysInPriorYears{year}{days}
+% ===============================
+% Number of days since 01.01.01 in years prior to the `year'
+\def\GregorianDaysInPriorYears #1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1%
+ \advance \tmpb by -1%
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb%
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb%
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \AbsoluteFromGregorian{day}{month}{year}{absdate}
+% ======================
+% Calculation of absolute date ( days since 01.01.01 ) from
+% Gregorian date day.month.year
+\def\AbsoluteFromGregorian #1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+%
+\newif\if@GregorianLeap
+%
+% \IfGregorianLeap{year}
+% ======================
+% Conditional which is true if Gregorian `year' is
+% a leap year:
+% ( ( year%4 == 0 ) && ( year%100 != 0 ) || ( year%400 == 0 ) )
+\def\IfGregorianLeap #1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap%
+}%
+%
+% \GregorianDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\GregorianDaysInPriorMonths #1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or% % no month number 0
+ 0 \or%
+ 31 \or%
+ 59 \or%
+ 90 \or%
+ 120 \or%
+ 151 \or%
+ 181 \or%
+ 212 \or%
+ 243 \or%
+ 273 \or%
+ 304 \or%
+ 334%
+ \fi%
+ \IfGregorianLeap{#2}%
+ \ifnum #1 > 2% % if month after February
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \GregorianDaysInPriorYears{year}{days}
+% ===============================
+% Number of days in years prior to the `year'
+\def\GregorianDaysInPriorYears #1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1% %
+ \advance \tmpb by -1% %
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \AbsoluteFromGregorian{day}{month}{year}{absdate}
+% ======================
+% Calculation of absolute date ( days since 01.01.0001 ) from
+% Gregorian date day.month.year
+\def\AbsoluteFromGregorian #1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+
+% *******************************************
+% * HEBREW PART *
+% *******************************************
+%
+\newif\if@HebrewLeap
+%
+% \CheckLeapHebrewYear{year}
+% ======================
+% Set \@HebrewLeaptrue if Hebrew `year' is
+% a leap year: if (1+7*year)%19 < 7 then true else false
+\def\CheckLeapHebrewYear #1{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+%
+ \tmpa = #1%
+ \multiply \tmpa by 7%
+ \advance \tmpa by 1%
+ \Remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7% % \tmpb = (7*year+1)%19
+ \global\@HebrewLeaptrue%
+ \else%
+ \global\@HebrewLeapfalse%
+ \fi%
+ }%
+}%
+%
+% \HebrewElapsedMonths{year}{months}
+% ==============================
+% Number of months elapsed from the Sunday prior to the start
+% of the Hebrew calendar to the mean conjunction of Tishri
+% of Hebrew `year'
+\def\HebrewElapsedMonths #1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+%
+ \tmpa = #1% %
+ \advance \tmpa by -1% %
+ #2 = \tmpa% % #2 = \tmpa = year-1
+ \divide #2 by 19% % Number of complete Meton cycles
+ \multiply #2 by 235% % #2 = 235*((year-1)/19)
+%
+ \Remainder{\tmpa}{19}{\tmpb}% % \tmpa = years%19 - years this cycle
+ \tmpc = \tmpb% %
+ \multiply \tmpb by 12% %
+ \advance #2 by \tmpb% % add regular months this cycle
+%
+ \multiply \tmpc by 7% %
+ \advance \tmpc by 1% %
+ \divide \tmpc by 19% % \tmpc = (1+7*((year-1)%19))/19 -
+% % number of leap months this cycle
+ \advance #2 by \tmpc% % add leap months
+%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \HebrewElapsedDays{year}{days}
+% ==============================
+% Number of days elapsed from the Sunday prior to the start
+% of the Hebrew calendar to the mean conjunction of Tishri
+% of Hebrew `year'
+\def\HebrewElapsedDays #1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+%
+ \HebrewElapsedMonths{#1}{#2}% %
+ \tmpa = #2% %
+ \multiply \tmpa by 13753% %
+ \advance \tmpa by 5604% % \tmpa=MonthsElapsed*13758 + 5604
+ \Remainder{\tmpa}{25920}{\tmpc}% % \tmpc == ConjunctionParts
+ \divide \tmpa by 25920%
+%
+ \multiply #2 by 29%
+ \advance #2 by 1%
+ \advance #2 by \tmpa% % #2 = 1 + MonthsElapsed*29 +
+% % PartsElapsed/25920
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440%
+ \ifnum \tmpc < 9924%
+ \else% % New moon at 9 h. 204 p. or later ...
+ \ifnum \tmpa = 2% % on Tuesday ...
+ \CheckLeapHebrewYear{#1}% % of a common year
+ \if@HebrewLeap%
+ \else%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum \tmpc < 16789%
+ \else% % New moon at 15 h. 589 p. or later ...
+ \ifnum \tmpa = 1% % on Monday ...
+ \advance #1 by -1%
+ \CheckLeapHebrewYear{#1}% % at the end of leap year
+ \if@HebrewLeap%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \advance #2 by 1% % new moon at or after midday
+ \fi%
+%
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0% % if Sunday ...
+ \advance #2 by 1%
+ \else% %
+ \ifnum \tmpa = 3% % Wednesday ...
+ \advance #2 by 1%
+ \else%
+ \ifnum \tmpa = 5% % or Friday
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \DaysInHebrewYear{year}{days}
+% ==============================
+% Number of days in Hebrew `year'
+\def\DaysInHebrewYear #1#2{%
+ {%
+ \countdef\tmpe = 12% % \tmpe==\count12
+%
+ \HebrewElapsedDays{#1}{\tmpe}%
+ \advance #1 by 1%
+ \HebrewElapsedDays{#1}{#2}%
+ \advance #2 by -\tmpe%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \HebrewDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\HebrewDaysInPriorMonths #1#2#3{%
+ {%
+ \countdef\tmpf= 14% % \tmpf==\count14
+%
+ #3 = \ifcase #1% % Days in prior month of regular year
+ 0 \or% % no month number 0
+ 0 \or% % Tishri
+ 30 \or% % Heshvan
+ 59 \or% % Kislev
+ 89 \or% % Tebeth
+ 118 \or% % Shebat
+ 148 \or% % Adar I
+ 148 \or% % Adar II
+ 177 \or% % Nisan
+ 207 \or% % Iyar
+ 236 \or% % Sivan
+ 266 \or% % Tammuz
+ 295 \or% % Av
+ 325 \or% % Elul
+ 400% % Dummy
+ \fi%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap% % in leap year
+ \ifnum #1 > 6% % if month after Adar I
+ \advance #3 by 30% % add 30 days
+ \fi%
+ \fi%
+ \DaysInHebrewYear{#2}{\tmpf}%
+ \ifnum #1 > 3%
+ \ifnum \tmpf = 353% %
+ \advance #3 by -1% %
+ \fi% % Short Kislev
+ \ifnum \tmpf = 383% %
+ \advance #3 by -1% %
+ \fi% %
+ \fi%
+%
+ \ifnum #1 > 2%
+ \ifnum \tmpf = 355% %
+ \advance #3 by 1% %
+ \fi% % Long Heshvan
+ \ifnum \tmpf = 385% %
+ \advance #3 by 1% %
+ \fi% %
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \AbsoluteFromHebrew{day}{month}{year}{days}
+% ===============================
+% Absolute date of Hebrew day,month,year
+\def\AbsoluteFromHebrew #1#2#3#4{%
+ {%
+ #4 = #1%
+ \HebrewDaysInPriorMonths{#2}{#3}{#1}%
+ \advance #4 by #1% % Add days in prior months this year
+ \HebrewElapsedDays{#3}{#1}%
+ \advance #4 by #1% % Add days in prior years
+ \advance #4 by -1373429% % Subtract days before Gregorian 1.1.1
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+%
+% \HebrewFromGregorian{Gday}{Gmonth}{Gyear}{Hday}{Hmonth}{Hyear}
+% ===============================
+% Evaluating Hebrew date Hday,Hmonth,Hyear from
+% Gregorian date Gday,Gmonth,Gyear
+\def\HebrewFromGregorian #1#2#3#4#5#6{%
+ {%
+ \countdef\tmpx= 17% % \tmpx==\count17
+ \countdef\tmpy= 18% % \tmpy==\count18
+ \countdef\tmpz= 19% % \tmpz==\count19
+%
+ #6 = #3% %
+ \global\advance #6 by 3761% % approximation from above
+ \AbsoluteFromGregorian{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1%
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4% %
+ \global\advance #6 by -1% % Hyear = Gyear + 3760
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi% %
+ \advance #4 by -\tmpx% % Days in this year
+ \advance #4 by 1% %
+ #5 = #4% %
+ \divide #5 by 30% % Approximation for month from below
+ \loop% % Search for month
+ \HebrewDaysInPriorMonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4%
+ \advance #5 by 1%
+ \tmpy = \tmpx%
+ \repeat%
+ \global\advance #5 by -1%
+ \global\advance #4 by -\tmpy%
+ }%
+}%
+\catcode`@=12
+
diff --git a/language/hebrew/hebtex/macros/tex_macros/hebcal_newcode.tex b/language/hebrew/hebtex/macros/tex_macros/hebcal_newcode.tex
new file mode 100644
index 0000000000..a66a925a31
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/hebcal_newcode.tex
@@ -0,0 +1,908 @@
+%
+% TeX & LaTeX MACROS FOR COMPUTING HEBREW DATE FROM GREGORIAN ONE
+%
+% by Michail Rozman, misha@iop.tartu.ew.su
+%
+% Released: Tammuz 12, 5751 -- June 24, 1991
+% Corrected: Shebat 10, 5752 -- January 15, 1992 by Rama Porrat
+% Corrected: Adar II 5, 5752 -- March 10, 1992 by Misha
+% Corrected: Tebeth, 5756 -- January 1996 Dan Haran
+% (haran@math.tau.ac.il)
+
+% Please direct any comments, bug reports, questions, etc.
+% to the address above.
+%
+% If Hebrew fonts and style macros are loaded AND you are in
+% Hebrew mode the produced date is in Hebrew.
+% Otherwise the date string looks like Shebat 10, 5752.
+%
+% Use this style as follows:
+%
+% LaTeX | TeX
+% |
+% \documentstyle[...,hebcal,...] \input hebcal.sty
+%
+% % ONLY IF \ifheb IS NOT
+% \newif\ifheb \hebtrue % DEFINED IN YOUR
+% % HEBREW STYLE !!
+%
+% \Hebrewtoday
+% or
+% {\day=10 \month=3 \year=1992 % to fool \today
+% \today == \Hebrewtoday}
+% or
+% \newcount\hd \newcount\hm \newcount\hy
+% \hd=10 \hm=3 \hy=1992 \Hebrewdate{\hd}{\hm}{\hy}
+%
+%
+% TABLE OF CONTENTS
+%
+% INTRODUCTION
+% REGISTERS, COMMANDS AND LANGUAGE-DEPENDENT INTERFACE
+% Hebrew language macros
+% English language macros
+% AUXILIARY MACROS
+% GREGORIAN PART
+% HEBREW PART
+%
+% *******************************************
+% * INTRODUCTION *
+% *******************************************
+%
+% The Hebrew calendar is inherently complicated:
+% It is lunisolar -- each year starts close to the
+% autumn equinox, but each month must strictly start
+% at a new moon. Thus Hebrew calendar must be harmonized
+% simultaneously with both lunar and solar events.
+% In addition, for reasons of the religious practice, the
+% year cannot start on Sunday, Wednesday or Friday.
+%
+% For the full description of Hebrew calendar and for
+% the list of references see:
+%
+% Nachum Dershowitz and Edward M. Reingold,
+% "Calendrical Calculations", Software--Pract.Exper.,
+% vol. 20 (9), pp.899--928 (September 1990)
+% C translation of LISP programs from the above article
+% available from Mr. Wayne Geiser, geiser%pictel@uunet.uu.net
+%
+% The 4th distribution ( July 1989 ) of hdate/hcal ( Hebrew
+% calendar programs similar to UNIX date/cal ) by
+% Mr. Amos Shapir, amos@shum.huji.ac.il , contains short
+% and very clear description of algorithms.
+%
+\catcode`@=11
+% *******************************************
+% * REGISTERS, COMMAND, FORMATTING MACROS *
+% *******************************************
+%
+% The command \Hebrewtoday produces today's date for Hebrew
+% calendar. It is similar to the \today command of the LETTER
+% style. In addition three numerical registers \Hebrewday
+% \Hebrewmonth and \Hebrewyear are set.
+% For setting this registers without producing of date string
+% command \Hebrewsetreg can be used.
+% The command \Hebrewdate{Gday}{Gmonth}{Gyear} produces Hebrew
+% calendar date corresponding to Gregorian date Gday.Gmonth.Gyear.
+% Three numerical registers \Hebrewday \Hebrewmonth and
+% \Hebrewyear are set.
+% For converting arbitrary Gregorian date Gday.Gmonth.Gyear
+% to Hebrew date Hday.Hmonth.Hyear without producing date string
+% the command:
+% \HebrewFromGregorian{Gday}{Gmonth}{Gyear}{Hday}{Hmonth}{Hyear}
+% can be used.
+%
+\newcount\Hebrewday \newcount\Hebrewmonth \newcount\Hebrewyear
+%
+% \Hebrewdate{Gday}{Gmonth}{Gyear}
+% ================================
+% Hebrew calendar date corresponding to Gregorian Gday.Gmonth.Gyear
+\def\Hebrewdate #1#2#3{%
+ \HebrewFromGregorian{#1}{#2}{#3}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \ifundefined{ifheb}% Hebrew fonts&macros are not loaded
+ \FormatForEnglish{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \else%
+ \FormatDate{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \fi%
+}%
+%
+%\Hebrewtoday
+% ============
+% Today's date in Hebrew calendar
+\def\Hebrewtoday{\Hebrewdate{\day}{\month}{\year}}
+\let\hebrewtoday=\Hebrewtoday
+%
+% \Hebrewsetreg
+% ============
+% Set registers: today's date in hebrew calendar
+\def\Hebrewsetreg{%
+ \HebrewFromGregorian{\day}{\month}{\year}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+}%
+%
+% \FormatDate{Hebrewday}{Hebrewmonth}{Hebrewyear}
+% ===============================================
+\def\FormatDate #1#2#3{%
+ \ifheb% Hebrew mode
+ \FormatForHebrew{#1}{#2}{#3}%
+ \else% English mode
+ \FormatForEnglish{#1}{#2}{#3}
+ \fi%
+}%
+%
+% TO PREPARE ANOTHER LANGUAGE VERSION CHANGE/ADD HERE !!!
+%
+% ====================== Hebrew macros ===============================
+%
+\def\HebrewYearChar{'}
+%
+%
+% \ShortHYName{year}
+% =====================
+% Hebrew year (mod 1000) as a string of Hebrew letters
+\def\ShortHYName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \def\HY{}% the string of hundreds, tens and ones
+ \ifnum #1 > 799 \strcat{\HY}{}\advance#1 by -800 \fi%
+ \ifnum #1 > 399 \strcat{\HY}{}\advance#1 by -400 \fi%
+ \ifnum #1 > 299 \strcat{\HY}{}\advance#1 by -300 \fi%
+ \ifnum #1 > 199 \strcat{\HY}{}\advance#1 by -200 \fi%
+ \ifnum #1 > 99 \strcat{\HY}{}\advance#1 by -100 \fi%
+ \ifnum #1 > 0 %
+ %
+ % 15 and 16 are special exceptions
+ %
+ \ifnum #1 = 16 %
+ \strcat{\HY}{}%
+ \else%
+ \ifnum #1 = 15 %
+ \strcat{\HY}{}%
+ \else%
+ \Remainder{#1}{10}{\count0 }%
+ \divide #1 by 10 %
+ \ifnum\count0 = 0%
+ \strcat{\HY}{\TensInHebrewEnd{#1}}%
+ \else%
+ \strcat{\HY}{\TensInHebrew{#1}}%
+ \strcat{\HY}{\DigitInHebrew{\count0 }}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \countdef\HYLength=0 % \HYLength==\count0 = strlen(\HY)
+ \HYLength =0 \expandafter\getlength\HY\end%
+ \ifnum\HYLength > 0 %
+ \ifnum\HYLength = 1 %
+ \HY\HebrewYearChar%
+ \else%
+ \expandafter\Insert\HY%
+ \fi%
+ \else%
+ \relax%
+ \fi%
+}}%
+%
+% \HebrewYearName{year}
+% =====================
+% Hebrew year as a string of Hebrew letters
+% 0 < year < 10000
+\def\HebrewYearName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{10000}{#1}% macro only for year <= 9999
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \divide \count2 by 1000 % E.g., for 5752: \count2 = 5
+ \countdef\thousand=2 % \thousand==\count2
+ \def\Thousands{}% the string of thousands
+ \strcat{\Thousands}{\DigitInHebrew{\thousand }}% output 1000'
+ \ifnum\thousand = 5 % Change it in the next Hebrew Millennium..
+ \ifnum#1 > 0 % if 5000 < year < 6000
+ \def\Thousands{}% don't mention thousands
+ \fi%
+ \fi%
+ \countdef\ThousandsLength=0 %
+ % \ThousandsLength==\count0 = strlen(\Thousands)
+ \ThousandsLength =0 \expandafter\getlength\Thousands\end%
+ \ifnum\ThousandsLength > 0 % if the letter of thousands is not empty
+ \strcat{\Thousands}{'}% add '
+ \fi%
+ \def\HY{\ShortHYName{#1}}% the string of hundreds, tens and ones
+ \def\PratGadol{}% An additional string to date. Default: empty
+ \ifnum\thousand < 1%
+ \def\PratGadol{\ )"(}%
+ \fi%
+ \ifnum#1 = 0%
+ \def\PratGadol{\ )"(}%
+ \fi%
+ \Thousands\HY\PratGadol%
+}}%
+%
+% \HebrewMonthName{month}{year}
+% =============================
+% Name of month in the `year'
+\def\HebrewMonthName #1#2{%
+ \ifnum #1 = 7 %
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap `%
+ \else %
+ \fi%
+ \else%
+ \ifcase #1%
+ Dummy\or%
+ \or%
+ \or%
+ \or%
+ \or%
+ \or%
+ '\or%
+ '\or%
+ \or%
+ \or%
+ \or%
+ \or%
+ \or%
+ %
+ \fi %
+ \fi %
+}%
+%
+% \HebrewDayName{day}
+% ===============================
+% Name of day in Hebrew letters.
+%
+\def\HebrewDayName#1{%
+\ifcase#1%
+Dummy\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+'\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+'\or%
+''%
+\fi%
+}%
+%
+% \DigitInHebrew{n}
+% =================
+% Single digit 1 <= n <= 9 as Hebrew letter
+% short macro:
+% \def\DigitInHebrew #1{%
+% {\ifnum#1>0 \ifnum#1<10 \advance#1 by `\_ \char#1 \fi\fi}}
+%
+\def\DigitInHebrew #1{%
+ \ifcase#1%
+ % nothing for 0
+ \or % 1
+ \or % 2
+ \or % 3
+ \or % 4
+ \or % 5
+ \or % 6
+ \or % 7
+ \or % 8
+ \or % 9
+ \fi%
+}%
+%
+% \TensInHebrew{num}
+% ================
+% Convert 10*num ( 1 <= num <= 9 ) into single Hebrew letter
+\def\TensInHebrew #1{%
+ \ifcase #1%
+ % nothing for 0
+ \or % 10
+ \or % 20
+ \or % 30
+ \or % 40
+ \or % 50
+ \or % 60
+ \or % 70
+ \or % 80
+ \or % 90
+ \fi%
+}%
+%
+% \TensInHebrewEnd{num}
+% ================
+% Convert 10*num ( 1 <= num <= 9 ) into single Hebrew letter;
+% this letter is an endletter version ("oth sofith") if it exists.
+\def\TensInHebrewEnd #1{%
+ \ifcase #1%
+ % nothing for 0
+ \or % 10
+ \or % 20
+ \or % 30
+ \or % 40
+ \or % 50
+ \or % 60
+ \or % 70
+ \or % 80
+ \or % 90
+ \fi%
+}%
+%
+% \FormatForHebrew{hday}{hmonth}{hyear}
+% =====================================
+\def\FormatForHebrew#1#2#3{%
+\HebrewDayName{#1}~\HebrewMonthName{#2}{#3},~\HebrewYearName{#3}%
+}%
+%
+% English macros ==================================
+%
+% \HebrewMonthNameInEnglish{month}{year}
+% ===============================
+% Name of month in the `year'
+\def\HebrewMonthNameInEnglish #1#2{%
+ \ifnum #1 = 7%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap Adar II \else Adar \fi%
+ \else%
+ \ifcase #1%
+ Dummy \or%
+ Tishrei \or%
+ Heshvan \or%
+ Kislev \or%
+ Tebeth \or%
+ Shebat \or%
+ Adar I \or%
+ Adar II \or%
+ Nisan \or%
+ Iyar \or%
+ Sivan \or%
+ Tammuz \or%
+ Av \or%
+ Elul%
+ \fi %
+ \fi %
+}%
+%
+% \FormatForEnglish{hday}{hmonth}{hyear}
+% =====================================
+\def\FormatForEnglish #1#2#3{%
+ \HebrewMonthNameInEnglish{#2}{#3} \number#1,\ \number#3%
+}%
+%
+% *******************************************
+% * AUXILIARY MACROS *
+% *******************************************
+%
+\newcount\@common
+%
+% \Remainder{a}{b}{c}
+% ===================
+% c = a%b == a - b(a/b)
+\def\Remainder #1#2#3{%
+ #3 = #1% % c = a
+ \divide #3 by #2% % c = a/b
+ \multiply #3 by -#2% % c = -b(a/b)
+ \advance #3 by #1% % c = a - b(a/b)
+}%
+%
+\newif\if@Divisible
+%
+% \CheckIfDivisible{a}{b}
+% ==================
+% Set \@Divisibletrue if a%b == 0
+\def\CheckIfDivisible #1#2{%
+ {%
+ \countdef\tmp = 0% % \tmp == \count0 - temporary variable
+ \Remainder{#1}{#2}{\tmp}%
+ \ifnum \tmp = 0%
+ \global\@Divisibletrue%
+ \else%
+ \global\@Divisiblefalse%
+ \fi%
+ }%
+}%
+%
+% \strcat{str1}{str2}
+% ===================
+% apend str2 to the end of macro str1
+\def\strcat#1#2{\edef#1{#1#2}}
+%
+% \getlength{ string }
+% ====================
+% Number of nonblank tokens
+% This macro is called if \count0==strlen('string') >= 2
+% usage: {{\count0=0 \expandafter\getlength#1\end \number\count0}}
+\def\getlength #1{%
+ \ifx#1\end%
+ \let\next=\relax%
+ \else%
+ \advance\count0 by 1%
+ \let\next=\getlength%
+ \fi%
+ \next%
+}%
+%
+% \Insert
+% =======
+% Insert char <"> befor the last char and output 'string'
+% usage: {\def\abc{abc} \count0=0 \expandafter\getlength\abc\end
+% \expandafter\Insert\abc}
+\def\Insert #1{%
+ \ifnum\count0 = 1%
+#1%
+\let\next=\relax%
+\else%
+#1%
+\ifnum\count0 = 2%
+"%
+\fi
+\advance\count0 by -1%
+\let\next=\Insert%
+\fi%
+\next%
+}
+%
+% \ifundefined{command}
+% =====================
+% TeXbook, ex. 7.7 \ifundefined{command}<true text>\else<false text>\fi
+\def\ifundefined #1{\expandafter\ifx\csname#1\endcsname\relax}
+%
+% *******************************************
+% * GREGORIAN PART *
+% *******************************************
+%
+\newif\if@GregorianLeap
+%
+% \IfGregorianLeap{year}
+% ======================
+% Conditional which is true if Gregorian `year' is
+% a leap year:
+% ( ( year%4 == 0 ) && ( year%100 != 0 ) || ( year%400 == 0 ) )
+\def\IfGregorianLeap #1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap%
+}%
+%
+% \GregorianDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\GregorianDaysInPriorMonths #1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or % % no month number 0
+ 0 \or 31 \or 59 \or 90 \or 120 \or 151 \or %
+ 181 \or 212 \or 243 \or 273 \or 304 \or 334%
+ \fi%
+ \IfGregorianLeap{#2}% % in leap year ...
+ \ifnum #1 > 2% % if month after February ...
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \GregorianDaysInPriorYears{year}{days}
+% ===============================
+% Number of days since 01.01.01 in years prior to the `year'
+\def\GregorianDaysInPriorYears #1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1%
+ \advance \tmpb by -1%
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb%
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb%
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \AbsoluteFromGregorian{day}{month}{year}{absdate}
+% ======================
+% Calculation of absolute date ( days since 01.01.01 ) from
+% Gregorian date day.month.year
+\def\AbsoluteFromGregorian #1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+%
+\newif\if@GregorianLeap
+%
+% \IfGregorianLeap{year}
+% ======================
+% Conditional which is true if Gregorian `year' is
+% a leap year:
+% ( ( year%4 == 0 ) && ( year%100 != 0 ) || ( year%400 == 0 ) )
+\def\IfGregorianLeap #1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap%
+}%
+%
+% \GregorianDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\GregorianDaysInPriorMonths #1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or% % no month number 0
+ 0 \or%
+ 31 \or%
+ 59 \or%
+ 90 \or%
+ 120 \or%
+ 151 \or%
+ 181 \or%
+ 212 \or%
+ 243 \or%
+ 273 \or%
+ 304 \or%
+ 334%
+ \fi%
+ \IfGregorianLeap{#2}%
+ \ifnum #1 > 2% % if month after February
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \GregorianDaysInPriorYears{year}{days}
+% ===============================
+% Number of days in years prior to the `year'
+\def\GregorianDaysInPriorYears #1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1% %
+ \advance \tmpb by -1% %
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \AbsoluteFromGregorian{day}{month}{year}{absdate}
+% ======================
+% Calculation of absolute date ( days since 01.01.0001 ) from
+% Gregorian date day.month.year
+\def\AbsoluteFromGregorian #1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+
+% *******************************************
+% * HEBREW PART *
+% *******************************************
+%
+\newif\if@HebrewLeap
+%
+% \CheckLeapHebrewYear{year}
+% ======================
+% Set \@HebrewLeaptrue if Hebrew `year' is
+% a leap year: if (1+7*year)%19 < 7 then true else false
+\def\CheckLeapHebrewYear #1{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+%
+ \tmpa = #1%
+ \multiply \tmpa by 7%
+ \advance \tmpa by 1%
+ \Remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7% % \tmpb = (7*year+1)%19
+ \global\@HebrewLeaptrue%
+ \else%
+ \global\@HebrewLeapfalse%
+ \fi%
+ }%
+}%
+%
+% \HebrewElapsedMonths{year}{months}
+% ==============================
+% Number of months elapsed from the Sunday prior to the start
+% of the Hebrew calendar to the mean conjunction of Tishri
+% of Hebrew `year'
+\def\HebrewElapsedMonths #1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+%
+ \tmpa = #1% %
+ \advance \tmpa by -1% %
+ #2 = \tmpa% % #2 = \tmpa = year-1
+ \divide #2 by 19% % Number of complete Meton cycles
+ \multiply #2 by 235% % #2 = 235*((year-1)/19)
+%
+ \Remainder{\tmpa}{19}{\tmpb}% % \tmpa = years%19 - years this cycle
+ \tmpc = \tmpb% %
+ \multiply \tmpb by 12% %
+ \advance #2 by \tmpb% % add regular months this cycle
+%
+ \multiply \tmpc by 7% %
+ \advance \tmpc by 1% %
+ \divide \tmpc by 19% % \tmpc = (1+7*((year-1)%19))/19 -
+% % number of leap months this cycle
+ \advance #2 by \tmpc% % add leap months
+%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \HebrewElapsedDays{year}{days}
+% ==============================
+% Number of days elapsed from the Sunday prior to the start
+% of the Hebrew calendar to the mean conjunction of Tishri
+% of Hebrew `year'
+\def\HebrewElapsedDays #1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+%
+ \HebrewElapsedMonths{#1}{#2}% %
+ \tmpa = #2% %
+ \multiply \tmpa by 13753% %
+ \advance \tmpa by 5604% % \tmpa=MonthsElapsed*13758 + 5604
+ \Remainder{\tmpa}{25920}{\tmpc}% % \tmpc == ConjunctionParts
+ \divide \tmpa by 25920%
+%
+ \multiply #2 by 29%
+ \advance #2 by 1%
+ \advance #2 by \tmpa% % #2 = 1 + MonthsElapsed*29 +
+% % PartsElapsed/25920
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440%
+ \ifnum \tmpc < 9924%
+ \else% % New moon at 9 h. 204 p. or later ...
+ \ifnum \tmpa = 2% % on Tuesday ...
+ \CheckLeapHebrewYear{#1}% % of a common year
+ \if@HebrewLeap%
+ \else%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum \tmpc < 16789%
+ \else% % New moon at 15 h. 589 p. or later ...
+ \ifnum \tmpa = 1% % on Monday ...
+ \advance #1 by -1%
+ \CheckLeapHebrewYear{#1}% % at the end of leap year
+ \if@HebrewLeap%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \advance #2 by 1% % new moon at or after midday
+ \fi%
+%
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0% % if Sunday ...
+ \advance #2 by 1%
+ \else% %
+ \ifnum \tmpa = 3% % Wednesday ...
+ \advance #2 by 1%
+ \else%
+ \ifnum \tmpa = 5% % or Friday
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \DaysInHebrewYear{year}{days}
+% ==============================
+% Number of days in Hebrew `year'
+\def\DaysInHebrewYear #1#2{%
+ {%
+ \countdef\tmpe = 12% % \tmpe==\count12
+%
+ \HebrewElapsedDays{#1}{\tmpe}%
+ \advance #1 by 1%
+ \HebrewElapsedDays{#1}{#2}%
+ \advance #2 by -\tmpe%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \HebrewDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\HebrewDaysInPriorMonths #1#2#3{%
+ {%
+ \countdef\tmpf= 14% % \tmpf==\count14
+%
+ #3 = \ifcase #1% % Days in prior month of regular year
+ 0 \or% % no month number 0
+ 0 \or% % Tishri
+ 30 \or% % Heshvan
+ 59 \or% % Kislev
+ 89 \or% % Tebeth
+ 118 \or% % Shebat
+ 148 \or% % Adar I
+ 148 \or% % Adar II
+ 177 \or% % Nisan
+ 207 \or% % Iyar
+ 236 \or% % Sivan
+ 266 \or% % Tammuz
+ 295 \or% % Av
+ 325 \or% % Elul
+ 400% % Dummy
+ \fi%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap% % in leap year
+ \ifnum #1 > 6% % if month after Adar I
+ \advance #3 by 30% % add 30 days
+ \fi%
+ \fi%
+ \DaysInHebrewYear{#2}{\tmpf}%
+ \ifnum #1 > 3%
+ \ifnum \tmpf = 353% %
+ \advance #3 by -1% %
+ \fi% % Short Kislev
+ \ifnum \tmpf = 383% %
+ \advance #3 by -1% %
+ \fi% %
+ \fi%
+%
+ \ifnum #1 > 2%
+ \ifnum \tmpf = 355% %
+ \advance #3 by 1% %
+ \fi% % Long Heshvan
+ \ifnum \tmpf = 385% %
+ \advance #3 by 1% %
+ \fi% %
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \AbsoluteFromHebrew{day}{month}{year}{days}
+% ===============================
+% Absolute date of Hebrew day,month,year
+\def\AbsoluteFromHebrew #1#2#3#4{%
+ {%
+ #4 = #1%
+ \HebrewDaysInPriorMonths{#2}{#3}{#1}%
+ \advance #4 by #1% % Add days in prior months this year
+ \HebrewElapsedDays{#3}{#1}%
+ \advance #4 by #1% % Add days in prior years
+ \advance #4 by -1373429% % Subtract days before Gregorian 1.1.1
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+%
+% \HebrewFromGregorian{Gday}{Gmonth}{Gyear}{Hday}{Hmonth}{Hyear}
+% ===============================
+% Evaluating Hebrew date Hday,Hmonth,Hyear from
+% Gregorian date Gday,Gmonth,Gyear
+\def\HebrewFromGregorian #1#2#3#4#5#6{%
+ {%
+ \countdef\tmpx= 17% % \tmpx==\count17
+ \countdef\tmpy= 18% % \tmpy==\count18
+ \countdef\tmpz= 19% % \tmpz==\count19
+%
+ #6 = #3% %
+ \global\advance #6 by 3761% % approximation from above
+ \AbsoluteFromGregorian{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1%
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4% %
+ \global\advance #6 by -1% % Hyear = Gyear + 3760
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi% %
+ \advance #4 by -\tmpx% % Days in this year
+ \advance #4 by 1% %
+ #5 = #4% %
+ \divide #5 by 30% % Approximation for month from below
+ \loop% % Search for month
+ \HebrewDaysInPriorMonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4%
+ \advance #5 by 1%
+ \tmpy = \tmpx%
+ \repeat%
+ \global\advance #5 by -1%
+ \global\advance #4 by -\tmpy%
+ }%
+}%
+\catcode`@=12
+
diff --git a/language/hebrew/hebtex/macros/tex_macros/hebcal_p.tex b/language/hebrew/hebtex/macros/tex_macros/hebcal_p.tex
new file mode 100644
index 0000000000..72f4fdc4f4
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/hebcal_p.tex
@@ -0,0 +1,908 @@
+%
+% TeX & LaTeX MACROS FOR COMPUTING HEBREW DATE FROM GREGORIAN ONE
+%
+% by Michail Rozman, misha@iop.tartu.ew.su
+%
+% Released: Tammuz 12, 5751 -- June 24, 1991
+% Corrected: Shebat 10, 5752 -- January 15, 1992 by Rama Porrat
+% Corrected: Adar II 5, 5752 -- March 10, 1992 by Misha
+% Corrected: Tebeth, 5756 -- January 1996 Dan Haran
+% (haran@math.tau.ac.il)
+
+% Please direct any comments, bug reports, questions, etc.
+% to the address above.
+%
+% If Hebrew fonts and style macros are loaded AND you are in
+% Hebrew mode the produced date is in Hebrew.
+% Otherwise the date string looks like Shebat 10, 5752.
+%
+% Use this style as follows:
+%
+% LaTeX | TeX
+% |
+% \documentstyle[...,hebcal,...] \input hebcal.sty
+%
+% % ONLY IF \ifheb IS NOT
+% \newif\ifheb \hebtrue % DEFINED IN YOUR
+% % HEBREW STYLE !!
+%
+% \Hebrewtoday
+% or
+% {\day=10 \month=3 \year=1992 % to fool \today
+% \today == \Hebrewtoday}
+% or
+% \newcount\hd \newcount\hm \newcount\hy
+% \hd=10 \hm=3 \hy=1992 \Hebrewdate{\hd}{\hm}{\hy}
+%
+%
+% TABLE OF CONTENTS
+%
+% INTRODUCTION
+% REGISTERS, COMMANDS AND LANGUAGE-DEPENDENT INTERFACE
+% Hebrew language macros
+% English language macros
+% AUXILIARY MACROS
+% GREGORIAN PART
+% HEBREW PART
+%
+% *******************************************
+% * INTRODUCTION *
+% *******************************************
+%
+% The Hebrew calendar is inherently complicated:
+% It is lunisolar -- each year starts close to the
+% autumn equinox, but each month must strictly start
+% at a new moon. Thus Hebrew calendar must be harmonized
+% simultaneously with both lunar and solar events.
+% In addition, for reasons of the religious practice, the
+% year cannot start on Sunday, Wednesday or Friday.
+%
+% For the full description of Hebrew calendar and for
+% the list of references see:
+%
+% Nachum Dershowitz and Edward M. Reingold,
+% "Calendrical Calculations", Software--Pract.Exper.,
+% vol. 20 (9), pp.899--928 (September 1990)
+% C translation of LISP programs from the above article
+% available from Mr. Wayne Geiser, geiser%pictel@uunet.uu.net
+%
+% The 4th distribution ( July 1989 ) of hdate/hcal ( Hebrew
+% calendar programs similar to UNIX date/cal ) by
+% Mr. Amos Shapir, amos@shum.huji.ac.il , contains short
+% and very clear description of algorithms.
+%
+\catcode`@=11
+% *******************************************
+% * REGISTERS, COMMAND, FORMATTING MACROS *
+% *******************************************
+%
+% The command \Hebrewtoday produces today's date for Hebrew
+% calendar. It is similar to the \today command of the LETTER
+% style. In addition three numerical registers \Hebrewday
+% \Hebrewmonth and \Hebrewyear are set.
+% For setting this registers without producing of date string
+% command \Hebrewsetreg can be used.
+% The command \Hebrewdate{Gday}{Gmonth}{Gyear} produces Hebrew
+% calendar date corresponding to Gregorian date Gday.Gmonth.Gyear.
+% Three numerical registers \Hebrewday \Hebrewmonth and
+% \Hebrewyear are set.
+% For converting arbitrary Gregorian date Gday.Gmonth.Gyear
+% to Hebrew date Hday.Hmonth.Hyear without producing date string
+% the command:
+% \HebrewFromGregorian{Gday}{Gmonth}{Gyear}{Hday}{Hmonth}{Hyear}
+% can be used.
+%
+\newcount\Hebrewday \newcount\Hebrewmonth \newcount\Hebrewyear
+%
+% \Hebrewdate{Gday}{Gmonth}{Gyear}
+% ================================
+% Hebrew calendar date corresponding to Gregorian Gday.Gmonth.Gyear
+\def\Hebrewdate #1#2#3{%
+ \HebrewFromGregorian{#1}{#2}{#3}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \ifundefined{ifheb}% Hebrew fonts&macros are not loaded
+ \FormatForEnglish{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \else%
+ \FormatDate{\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+ \fi%
+}%
+%
+%\Hebrewtoday
+% ============
+% Today's date in Hebrew calendar
+\def\Hebrewtoday{\Hebrewdate{\day}{\month}{\year}}
+\let\hebrewtoday=\Hebrewtoday
+%
+% \Hebrewsetreg
+% ============
+% Set registers: today's date in hebrew calendar
+\def\Hebrewsetreg{%
+ \HebrewFromGregorian{\day}{\month}{\year}
+ {\Hebrewday}{\Hebrewmonth}{\Hebrewyear}%
+}%
+%
+% \FormatDate{Hebrewday}{Hebrewmonth}{Hebrewyear}
+% ===============================================
+\def\FormatDate #1#2#3{%
+ \ifheb% Hebrew mode
+ \FormatForHebrew{#1}{#2}{#3}%
+ \else% English mode
+ \FormatForEnglish{#1}{#2}{#3}
+ \fi%
+}%
+%
+% TO PREPARE ANOTHER LANGUAGE VERSION CHANGE/ADD HERE !!!
+%
+% ====================== Hebrew macros ===============================
+%
+\def\HebrewYearChar{'}
+%
+%
+% \ShortHYName{year}
+% =====================
+% Hebrew year (mod 1000) as a string of Hebrew letters
+\def\ShortHYName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \def\HY{}% the string of hundreds, tens and ones
+ \ifnum #1 > 799 \strcat{\HY}{}\advance#1 by -800 \fi%
+ \ifnum #1 > 399 \strcat{\HY}{}\advance#1 by -400 \fi%
+ \ifnum #1 > 299 \strcat{\HY}{}\advance#1 by -300 \fi%
+ \ifnum #1 > 199 \strcat{\HY}{}\advance#1 by -200 \fi%
+ \ifnum #1 > 99 \strcat{\HY}{}\advance#1 by -100 \fi%
+ \ifnum #1 > 0 %
+ %
+ % 15 and 16 are special exceptions
+ %
+ \ifnum #1 = 16 %
+ \strcat{\HY}{}%
+ \else%
+ \ifnum #1 = 15 %
+ \strcat{\HY}{}%
+ \else%
+ \Remainder{#1}{10}{\count0 }%
+ \divide #1 by 10 %
+ \ifnum\count0 = 0%
+ \strcat{\HY}{\TensInHebrewEnd{#1}}%
+ \else%
+ \strcat{\HY}{\TensInHebrew{#1}}%
+ \strcat{\HY}{\DigitInHebrew{\count0 }}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \countdef\HYLength=0 % \HYLength==\count0 = strlen(\HY)
+ \HYLength =0 \expandafter\getlength\HY\end%
+ \ifnum\HYLength > 0 %
+ \ifnum\HYLength = 1 %
+ \HY\HebrewYearChar%
+ \else%
+ \expandafter\Insert\HY%
+ \fi%
+ \else%
+ \relax%
+ \fi%
+}}%
+%
+% \HebrewYearName{year}
+% =====================
+% Hebrew year as a string of Hebrew letters
+% 0 < year < 10000
+\def\HebrewYearName#1{{%
+ \count2 = #1%
+ \Remainder{\count2}{10000}{#1}% macro only for year <= 9999
+ \count2 = #1%
+ \Remainder{\count2}{1000}{#1}% E.g., for 5752: #1 = 752
+ \divide \count2 by 1000 % E.g., for 5752: \count2 = 5
+ \countdef\thousand=2 % \thousand==\count2
+ \def\Thousands{}% the string of thousands
+ \strcat{\Thousands}{\DigitInHebrew{\thousand }}% output 1000'
+ \ifnum\thousand = 5 % Change it in the next Hebrew Millennium..
+ \ifnum#1 > 0 % if 5000 < year < 6000
+ \def\Thousands{}% don't mention thousands
+ \fi%
+ \fi%
+ \countdef\ThousandsLength=0 %
+ % \ThousandsLength==\count0 = strlen(\Thousands)
+ \ThousandsLength =0 \expandafter\getlength\Thousands\end%
+ \ifnum\ThousandsLength > 0 % if the letter of thousands is not empty
+ \strcat{\Thousands}{'}% add '
+ \fi%
+ \def\HY{\ShortHYName{#1}}% the string of hundreds, tens and ones
+ \def\PratGadol{}% An additional string to date. Default: empty
+ \ifnum\thousand < 1%
+ \def\PratGadol{\ )"(}%
+ \fi%
+ \ifnum#1 = 0%
+ \def\PratGadol{\ )"(}%
+ \fi%
+ \Thousands\HY\PratGadol%
+}}%
+%
+% \HebrewMonthName{month}{year}
+% =============================
+% Name of month in the `year'
+\def\HebrewMonthName #1#2{%
+ \ifnum #1 = 7 %
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap `%
+ \else %
+ \fi%
+ \else%
+ \ifcase #1%
+ Dummy\or%
+ \or%
+ \or%
+ \or%
+ \or%
+ \or%
+ '\or%
+ '\or%
+ \or%
+ \or%
+ \or%
+ \or%
+ \or%
+ %
+ \fi %
+ \fi %
+}%
+%
+% \HebrewDayName{day}
+% ===============================
+% Name of day in Hebrew letters.
+%
+\def\HebrewDayName#1{%
+\ifcase#1%
+Dummy\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+'\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+'\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+''\or%
+'\or%
+''%
+\fi%
+}%
+%
+% \DigitInHebrew{n}
+% =================
+% Single digit 1 <= n <= 9 as Hebrew letter
+% short macro:
+% \def\DigitInHebrew #1{%
+% {\ifnum#1>0 \ifnum#1<10 \advance#1 by `\_ \char#1 \fi\fi}}
+%
+\def\DigitInHebrew #1{%
+ \ifcase#1%
+ % nothing for 0
+ \or % 1
+ \or % 2
+ \or % 3
+ \or % 4
+ \or % 5
+ \or % 6
+ \or % 7
+ \or % 8
+ \or % 9
+ \fi%
+}%
+%
+% \TensInHebrew{num}
+% ================
+% Convert 10*num ( 1 <= num <= 9 ) into single Hebrew letter
+\def\TensInHebrew #1{%
+ \ifcase #1%
+ % nothing for 0
+ \or % 10
+ \or % 20
+ \or % 30
+ \or % 40
+ \or % 50
+ \or % 60
+ \or % 70
+ \or % 80
+ \or % 90
+ \fi%
+}%
+%
+% \TensInHebrewEnd{num}
+% ================
+% Convert 10*num ( 1 <= num <= 9 ) into single Hebrew letter;
+% this letter is an endletter version ("oth sofith") if it exists.
+\def\TensInHebrewEnd #1{%
+ \ifcase #1%
+ % nothing for 0
+ \or % 10
+ \or % 20
+ \or % 30
+ \or % 40
+ \or % 50
+ \or % 60
+ \or % 70
+ \or % 80
+ \or % 90
+ \fi%
+}%
+%
+% \FormatForHebrew{hday}{hmonth}{hyear}
+% =====================================
+\def\FormatForHebrew#1#2#3{%
+\HebrewDayName{#1}~\HebrewMonthName{#2}{#3},~\HebrewYearName{#3}%
+}%
+%
+% English macros ==================================
+%
+% \HebrewMonthNameInEnglish{month}{year}
+% ===============================
+% Name of month in the `year'
+\def\HebrewMonthNameInEnglish #1#2{%
+ \ifnum #1 = 7%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap Adar II \else Adar \fi%
+ \else%
+ \ifcase #1%
+ Dummy \or%
+ Tishrei \or%
+ Heshvan \or%
+ Kislev \or%
+ Tebeth \or%
+ Shebat \or%
+ Adar I \or%
+ Adar II \or%
+ Nisan \or%
+ Iyar \or%
+ Sivan \or%
+ Tammuz \or%
+ Av \or%
+ Elul%
+ \fi %
+ \fi %
+}%
+%
+% \FormatForEnglish{hday}{hmonth}{hyear}
+% =====================================
+\def\FormatForEnglish #1#2#3{%
+ \HebrewMonthNameInEnglish{#2}{#3} \number#1,\ \number#3%
+}%
+%
+% *******************************************
+% * AUXILIARY MACROS *
+% *******************************************
+%
+\newcount\@common
+%
+% \Remainder{a}{b}{c}
+% ===================
+% c = a%b == a - b(a/b)
+\def\Remainder #1#2#3{%
+ #3 = #1% % c = a
+ \divide #3 by #2% % c = a/b
+ \multiply #3 by -#2% % c = -b(a/b)
+ \advance #3 by #1% % c = a - b(a/b)
+}%
+%
+\newif\if@Divisible
+%
+% \CheckIfDivisible{a}{b}
+% ==================
+% Set \@Divisibletrue if a%b == 0
+\def\CheckIfDivisible #1#2{%
+ {%
+ \countdef\tmp = 0% % \tmp == \count0 - temporary variable
+ \Remainder{#1}{#2}{\tmp}%
+ \ifnum \tmp = 0%
+ \global\@Divisibletrue%
+ \else%
+ \global\@Divisiblefalse%
+ \fi%
+ }%
+}%
+%
+% \strcat{str1}{str2}
+% ===================
+% apend str2 to the end of macro str1
+\def\strcat#1#2{\edef#1{#1#2}}
+%
+% \getlength{ string }
+% ====================
+% Number of nonblank tokens
+% This macro is called if \count0==strlen('string') >= 2
+% usage: {{\count0=0 \expandafter\getlength#1\end \number\count0}}
+\def\getlength #1{%
+ \ifx#1\end%
+ \let\next=\relax%
+ \else%
+ \advance\count0 by 1%
+ \let\next=\getlength%
+ \fi%
+ \next%
+}%
+%
+% \Insert
+% =======
+% Insert char <"> befor the last char and output 'string'
+% usage: {\def\abc{abc} \count0=0 \expandafter\getlength\abc\end
+% \expandafter\Insert\abc}
+\def\Insert #1{%
+ \ifnum\count0 = 1%
+#1%
+\let\next=\relax%
+\else%
+#1%
+\ifnum\count0 = 2%
+"%
+\fi
+\advance\count0 by -1%
+\let\next=\Insert%
+\fi%
+\next%
+}
+%
+% \ifundefined{command}
+% =====================
+% TeXbook, ex. 7.7 \ifundefined{command}<true text>\else<false text>\fi
+\def\ifundefined #1{\expandafter\ifx\csname#1\endcsname\relax}
+%
+% *******************************************
+% * GREGORIAN PART *
+% *******************************************
+%
+\newif\if@GregorianLeap
+%
+% \IfGregorianLeap{year}
+% ======================
+% Conditional which is true if Gregorian `year' is
+% a leap year:
+% ( ( year%4 == 0 ) && ( year%100 != 0 ) || ( year%400 == 0 ) )
+\def\IfGregorianLeap #1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap%
+}%
+%
+% \GregorianDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\GregorianDaysInPriorMonths #1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or % % no month number 0
+ 0 \or 31 \or 59 \or 90 \or 120 \or 151 \or %
+ 181 \or 212 \or 243 \or 273 \or 304 \or 334%
+ \fi%
+ \IfGregorianLeap{#2}% % in leap year ...
+ \ifnum #1 > 2% % if month after February ...
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \GregorianDaysInPriorYears{year}{days}
+% ===============================
+% Number of days since 01.01.01 in years prior to the `year'
+\def\GregorianDaysInPriorYears #1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1%
+ \advance \tmpb by -1%
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb%
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb%
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \AbsoluteFromGregorian{day}{month}{year}{absdate}
+% ======================
+% Calculation of absolute date ( days since 01.01.01 ) from
+% Gregorian date day.month.year
+\def\AbsoluteFromGregorian #1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+%
+\newif\if@GregorianLeap
+%
+% \IfGregorianLeap{year}
+% ======================
+% Conditional which is true if Gregorian `year' is
+% a leap year:
+% ( ( year%4 == 0 ) && ( year%100 != 0 ) || ( year%400 == 0 ) )
+\def\IfGregorianLeap #1{%
+ \CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \@GregorianLeaptrue%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \else%
+ \@GregorianLeaptrue%
+ \fi%
+ \else%
+ \@GregorianLeapfalse%
+ \fi%
+ \if@GregorianLeap%
+}%
+%
+% \GregorianDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\GregorianDaysInPriorMonths #1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or% % no month number 0
+ 0 \or%
+ 31 \or%
+ 59 \or%
+ 90 \or%
+ 120 \or%
+ 151 \or%
+ 181 \or%
+ 212 \or%
+ 243 \or%
+ 273 \or%
+ 304 \or%
+ 334%
+ \fi%
+ \IfGregorianLeap{#2}%
+ \ifnum #1 > 2% % if month after February
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \GregorianDaysInPriorYears{year}{days}
+% ===============================
+% Number of days in years prior to the `year'
+\def\GregorianDaysInPriorYears #1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1% %
+ \advance \tmpb by -1% %
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \AbsoluteFromGregorian{day}{month}{year}{absdate}
+% ======================
+% Calculation of absolute date ( days since 01.01.0001 ) from
+% Gregorian date day.month.year
+\def\AbsoluteFromGregorian #1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+
+% *******************************************
+% * HEBREW PART *
+% *******************************************
+%
+\newif\if@HebrewLeap
+%
+% \CheckLeapHebrewYear{year}
+% ======================
+% Set \@HebrewLeaptrue if Hebrew `year' is
+% a leap year: if (1+7*year)%19 < 7 then true else false
+\def\CheckLeapHebrewYear #1{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+%
+ \tmpa = #1%
+ \multiply \tmpa by 7%
+ \advance \tmpa by 1%
+ \Remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7% % \tmpb = (7*year+1)%19
+ \global\@HebrewLeaptrue%
+ \else%
+ \global\@HebrewLeapfalse%
+ \fi%
+ }%
+}%
+%
+% \HebrewElapsedMonths{year}{months}
+% ==============================
+% Number of months elapsed from the Sunday prior to the start
+% of the Hebrew calendar to the mean conjunction of Tishri
+% of Hebrew `year'
+\def\HebrewElapsedMonths #1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+%
+ \tmpa = #1% %
+ \advance \tmpa by -1% %
+ #2 = \tmpa% % #2 = \tmpa = year-1
+ \divide #2 by 19% % Number of complete Meton cycles
+ \multiply #2 by 235% % #2 = 235*((year-1)/19)
+%
+ \Remainder{\tmpa}{19}{\tmpb}% % \tmpa = years%19 - years this cycle
+ \tmpc = \tmpb% %
+ \multiply \tmpb by 12% %
+ \advance #2 by \tmpb% % add regular months this cycle
+%
+ \multiply \tmpc by 7% %
+ \advance \tmpc by 1% %
+ \divide \tmpc by 19% % \tmpc = (1+7*((year-1)%19))/19 -
+% % number of leap months this cycle
+ \advance #2 by \tmpc% % add leap months
+%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \HebrewElapsedDays{year}{days}
+% ==============================
+% Number of days elapsed from the Sunday prior to the start
+% of the Hebrew calendar to the mean conjunction of Tishri
+% of Hebrew `year'
+\def\HebrewElapsedDays #1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+%
+ \HebrewElapsedMonths{#1}{#2}% %
+ \tmpa = #2% %
+ \multiply \tmpa by 13753% %
+ \advance \tmpa by 5604% % \tmpa=MonthsElapsed*13758 + 5604
+ \Remainder{\tmpa}{25920}{\tmpc}% % \tmpc == ConjunctionParts
+ \divide \tmpa by 25920%
+%
+ \multiply #2 by 29%
+ \advance #2 by 1%
+ \advance #2 by \tmpa% % #2 = 1 + MonthsElapsed*29 +
+% % PartsElapsed/25920
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440%
+ \ifnum \tmpc < 9924%
+ \else% % New moon at 9 h. 204 p. or later ...
+ \ifnum \tmpa = 2% % on Tuesday ...
+ \CheckLeapHebrewYear{#1}% % of a common year
+ \if@HebrewLeap%
+ \else%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum \tmpc < 16789%
+ \else% % New moon at 15 h. 589 p. or later ...
+ \ifnum \tmpa = 1% % on Monday ...
+ \advance #1 by -1%
+ \CheckLeapHebrewYear{#1}% % at the end of leap year
+ \if@HebrewLeap%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \advance #2 by 1% % new moon at or after midday
+ \fi%
+%
+ \Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0% % if Sunday ...
+ \advance #2 by 1%
+ \else% %
+ \ifnum \tmpa = 3% % Wednesday ...
+ \advance #2 by 1%
+ \else%
+ \ifnum \tmpa = 5% % or Friday
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \DaysInHebrewYear{year}{days}
+% ==============================
+% Number of days in Hebrew `year'
+\def\DaysInHebrewYear #1#2{%
+ {%
+ \countdef\tmpe = 12% % \tmpe==\count12
+%
+ \HebrewElapsedDays{#1}{\tmpe}%
+ \advance #1 by 1%
+ \HebrewElapsedDays{#1}{#2}%
+ \advance #2 by -\tmpe%
+ \global\@common = #2%
+ }%
+ #2 = \@common%
+}%
+%
+% \HebrewDaysInPriorMonths{month}{year}{days}
+% ===============================
+% Number of days in months prior to `month' in the `year'
+\def\HebrewDaysInPriorMonths #1#2#3{%
+ {%
+ \countdef\tmpf= 14% % \tmpf==\count14
+%
+ #3 = \ifcase #1% % Days in prior month of regular year
+ 0 \or% % no month number 0
+ 0 \or% % Tishri
+ 30 \or% % Heshvan
+ 59 \or% % Kislev
+ 89 \or% % Tebeth
+ 118 \or% % Shebat
+ 148 \or% % Adar I
+ 148 \or% % Adar II
+ 177 \or% % Nisan
+ 207 \or% % Iyar
+ 236 \or% % Sivan
+ 266 \or% % Tammuz
+ 295 \or% % Av
+ 325 \or% % Elul
+ 400% % Dummy
+ \fi%
+ \CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap% % in leap year
+ \ifnum #1 > 6% % if month after Adar I
+ \advance #3 by 30% % add 30 days
+ \fi%
+ \fi%
+ \DaysInHebrewYear{#2}{\tmpf}%
+ \ifnum #1 > 3%
+ \ifnum \tmpf = 353% %
+ \advance #3 by -1% %
+ \fi% % Short Kislev
+ \ifnum \tmpf = 383% %
+ \advance #3 by -1% %
+ \fi% %
+ \fi%
+%
+ \ifnum #1 > 2%
+ \ifnum \tmpf = 355% %
+ \advance #3 by 1% %
+ \fi% % Long Heshvan
+ \ifnum \tmpf = 385% %
+ \advance #3 by 1% %
+ \fi% %
+ \fi%
+ \global\@common = #3%
+ }%
+ #3 = \@common%
+}%
+%
+% \AbsoluteFromHebrew{day}{month}{year}{days}
+% ===============================
+% Absolute date of Hebrew day,month,year
+\def\AbsoluteFromHebrew #1#2#3#4{%
+ {%
+ #4 = #1%
+ \HebrewDaysInPriorMonths{#2}{#3}{#1}%
+ \advance #4 by #1% % Add days in prior months this year
+ \HebrewElapsedDays{#3}{#1}%
+ \advance #4 by #1% % Add days in prior years
+ \advance #4 by -1373429% % Subtract days before Gregorian 1.1.1
+ \global\@common = #4%
+ }%
+ #4 = \@common%
+}%
+%
+% \HebrewFromGregorian{Gday}{Gmonth}{Gyear}{Hday}{Hmonth}{Hyear}
+% ===============================
+% Evaluating Hebrew date Hday,Hmonth,Hyear from
+% Gregorian date Gday,Gmonth,Gyear
+\def\HebrewFromGregorian #1#2#3#4#5#6{%
+ {%
+ \countdef\tmpx= 17% % \tmpx==\count17
+ \countdef\tmpy= 18% % \tmpy==\count18
+ \countdef\tmpz= 19% % \tmpz==\count19
+%
+ #6 = #3% %
+ \global\advance #6 by 3761% % approximation from above
+ \AbsoluteFromGregorian{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1%
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4% %
+ \global\advance #6 by -1% % Hyear = Gyear + 3760
+ \AbsoluteFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi% %
+ \advance #4 by -\tmpx% % Days in this year
+ \advance #4 by 1% %
+ #5 = #4% %
+ \divide #5 by 30% % Approximation for month from below
+ \loop% % Search for month
+ \HebrewDaysInPriorMonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4%
+ \advance #5 by 1%
+ \tmpy = \tmpx%
+ \repeat%
+ \global\advance #5 by -1%
+ \global\advance #4 by -\tmpy%
+ }%
+}%
+\catcode`@=12
+
diff --git a/language/hebrew/hebtex/macros/tex_macros/hletter1.tex b/language/hebrew/hebtex/macros/tex_macros/hletter1.tex
new file mode 100644
index 0000000000..7cee8bd418
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/hletter1.tex
@@ -0,0 +1,92 @@
+%(c) 1990,91 by Joel M. Hoffman - belongs to hclassic, hcaption.
+%hletter1.tex. Version 1.0.
+%updated 5/15/91 by JMH
+
+%Defines \aleph - \taf according to the standard Israeli fonts, with a
+%variety of spelling options for the Hebrew letters. Both ``\peh'' and
+%``\pe'' are recognized, for example. ``\fchaf'' is a Final Chaf; other
+%final letters are similar.
+%Capitalized letters are letters with a _dagesh_ (requires the file
+%``dots.tex''). So \Bet is \bet with a _dagesh_ in it. You can put a
+%_dagesh_ in any letter you want, although sometimes it's a little silly.
+%(``\Aleph'' for example).
+%Also defined are \vowelayin -- a non-descending \ayin for use with vowels,
+%and \alephlamed, the ligature. Most Israeli fonts do not contain these.
+
+%Use of this material in a commercial venture of any sort requires
+%permission from me. Otherwise, you are free to use this for any
+%legal, non-destructive purpose. If you find this useful, a
+%contribution to charity will be most appreciated.
+
+%Send comments or complaints to:
+%
+%BITNET: hoffman@nyuacf.BITNET <-- this will change soon
+%CompuServe: 72700,402 -or- 72700.402@compuserve.com
+%SNAIL: Joel M. Hoffman
+% 19 Hillcrest Lane
+% Rye, NY 10580
+% U.S.A.
+
+\def\aleph{}
+\def\bet{}
+\def\gimel{}
+\def\dalet{}\def\daled{}
+\def\he{} \def\heh{}
+\def\vav{}
+\def\zion{}
+\def\chet{}
+\def\tet{}
+\def\yud{}
+\def\fkaf{} \def\fchaf{}
+\def\kaf{} \def\chaf{}
+\def\lamed{}
+\def\fmem{}
+\def\mem{}
+\def\fnun{}
+\def\nun{}
+\def\samech{}
+\def\ayin{}
+\def\fpe{} \def\fpeh{} \def\ffe{} \def\ffeh{}
+\def\pe{} \def\peh{} \def\fe{} \def\feh{}
+\def\ftzadi{} \def\ftzadik{}
+\def\tzadi{} \def\tzadik{}
+\def\kuf{} \def\koof{}
+\def\resh{}
+\def\shin{} \def\sin{}
+\def\tav{} \def\taf{}
+
+
+
+\def\Aleph{\dagesh{}}
+\def\Bet{\dagesh{}}
+\def\Gimel{\dagesh{}}
+\def\Dalet{\dagesh{}}\def\Daled{\dagesh{}}
+\def\He{\dagesh{}} \def\Heh{\dagesh{}}
+\def\Vav{\dagesh{}}
+\def\Zion{\dagesh{}}
+\def\Chet{\dagesh{}}
+\def\Tet{\dagesh{}}
+\def\Yud{\dagesh{}}
+\def\Fkaf{\dagesh{}} \def\Fchaf{\dagesh{}}
+\def\Kaf{\dagesh{}} \def\Chaf{\dagesh{}}
+\def\Lamed{\dagesh{}}
+\def\Fmem{\dagesh{}}
+\def\Mem{\dagesh{}}
+\def\Fnun{\dagesh{}}
+\def\Nun{\dagesh{}}
+\def\Samech{\dagesh{}}
+\def\Ayin{\dagesh{}}
+\def\Fpe{\dagesh{}} \def\Fpeh{\dagesh{}} \def\Ffe{\dagesh{}}
+\def\Ffeh{\dagesh{}}
+\def\Pe{\dagesh{}}\def\Peh{\dagesh{}} \def\Fe{\dagesh{}}
+\def\Feh{\dagesh{}}
+\def\Ftzadi{\dagesh{}} \def\Ftzadik{\dagesh{}}
+\def\Tzadi{\dagesh{}} \def\Tzadik{\dagesh{}}
+\def\Kuf{\dagesh{}} \def\Koof{\dagesh{}}
+\def\Resh{\dagesh{}}
+\def\Shin{\dagesh{}} \def\Sin{\dagesh{}}
+\def\Tav{\dagesh{}} \def\Taf{\dagesh{}}
+
+\def\alephlamed{\char124}
+\def\vowelayin{\char123}
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/null.tex b/language/hebrew/hebtex/macros/tex_macros/null.tex
new file mode 100644
index 0000000000..1b483c1b45
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/null.tex
@@ -0,0 +1,2 @@
+\message{This is the dummy input file `null.tex'}
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/rotate.tex b/language/hebrew/hebtex/macros/tex_macros/rotate.tex
new file mode 100644
index 0000000000..94b478b21f
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/rotate.tex
@@ -0,0 +1,44 @@
+%
+% These macros allow you to rotate or flip a \TeX\ box. Very useful for
+% sideways tables or upsidedown answers.
+%
+% To use, create a box containing the information you want to rotate.
+% (An hbox or vbox will do.) Now call \rotr\boxnum to rotate the
+% material and create a new box with the appropriate (flipped) dimensions.
+% \rotr rotates right, \rotl rotates left, \rotu turns upside down, and
+% \rotf flips. These boxes may contain other rotated boxes.
+%
+\newdimen\rotdimen
+\def\vspec#1{\special{ps:#1}}% passes #1 verbatim to the output
+\def\rotstart#1{\vspec{gsave currentpoint currentpoint translate
+ #1 neg exch neg exch translate}}% #1 can be any origin-fixing transformation
+\def\rotfinish{\vspec{currentpoint grestore moveto}}% gets back in synch
+%
+% First, the rotation right. The reference point of the rotated box
+% is the lower right corner of the original box.
+%
+\def\rotr#1{\rotdimen=\ht#1\advance\rotdimen by\dp#1%
+ \hbox to\rotdimen{\hskip\ht#1\vbox to\wd#1{\rotstart{90 rotate}%
+ \box#1\vss}\hss}\rotfinish}
+%
+% Next, the rotation left. The reference point of the rotated box
+% is the upper left corner of the original box.
+%
+\def\rotl#1{\rotdimen=\ht#1\advance\rotdimen by\dp#1%
+ \hbox to\rotdimen{\vbox to\wd#1{\vskip\wd#1\rotstart{270 rotate}%
+ \box#1\vss}\hss}\rotfinish}%
+%
+% Upside down is simple. The reference point of the rotated box
+% is the upper right corner of the original box. (The box's height
+% should be the current font's xheight, \fontdimen5\font,
+% if you want that xheight to be at the baseline after rotation.)
+%
+\def\rotu#1{\rotdimen=\ht#1\advance\rotdimen by\dp#1%
+ \hbox to\wd#1{\hskip\wd#1\vbox to\rotdimen{\vskip\rotdimen
+ \rotstart{-1 dup scale}\box#1\vss}\hss}\rotfinish}%
+%
+% And flipped end for end is pretty ysae too. We retain the baseline.
+%
+\def\rotf#1{\hbox to\wd#1{\hskip\wd#1\rotstart{-1 1 scale}%
+ \box#1\hss}\rotfinish}%
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/rotsample.tex b/language/hebrew/hebtex/macros/tex_macros/rotsample.tex
new file mode 100644
index 0000000000..413f4d89c9
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/rotsample.tex
@@ -0,0 +1,33 @@
+\input rotate
+\newbox\rotbox
+\newbox\rottwo
+%
+\font\big=cmr17 scaled\magstep4
+This is a \setbox\rotbox=\hbox{simple}\rotl\rotbox\ test of
+\setbox\rotbox=\hbox{some}\rotu\rotbox\ rotation primitives that
+\setbox\rotbox=\hbox{\big work}\rotr\rotbox.
+Or maybe \setbox\rotbox=\hbox{\vrule height .2in width .2in}\rotl\rotbox\
+not.
+\bigskip
+\centerline{\vbox{\offinterlineskip
+\def\tablerule{\noalign{\hrule}}
+\def\breather{height 2pt&&&&&&&&&&\cr}
+\def\allfive#1{\breather
+&\global\setbox\rottwo=\hbox{#1}\copy\rottwo&&%
+\setbox\rotbox=\copy\rottwo\rotl\rotbox&&%
+\setbox\rotbox=\copy\rottwo\rotu\rotbox&&%
+\setbox\rotbox=\copy\rottwo\rotr\rotbox&&%
+\rotf\rottwo&\cr
+\breather\tablerule}
+\offinterlineskip
+\halign{\vrule#&\hfil\ #\ \hfil&\vrule#&\hfil\ #\ \hfil&\vrule#&%
+ \hfil\ #\ \hfil&\vrule#&\hfil\ #\ \hfil&\vrule#&\hfil\ #\ \hfil&\vrule#\cr
+\tablerule
+\breather
+&\strut Upside&&Leftside&&Downside&&Rightside&&Flipside&\cr
+\breather\tablerule
+\allfive{gnus}
+\allfive{$-b\pm\sqrt{b^2-4ac}\over2a$}
+\allfive{{\big A}}}}}%
+\bye
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/testfont.tex b/language/hebrew/hebtex/macros/tex_macros/testfont.tex
new file mode 100644
index 0000000000..544642aae4
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/testfont.tex
@@ -0,0 +1,208 @@
+% A testbed for font evaluation (see The METAFONTbook, Appendix H)
+
+\tracinglostchars=0
+\tolerance=1000
+\raggedbottom
+\nopagenumbers
+\parindent=0pt
+\newlinechar=`@
+\hyphenpenalty=200
+\doublehyphendemerits=30000
+\hyphenation{prom-i-nent}
+
+\newcount\m \newcount\n \newcount\p \newdimen\dim
+\chardef\other=12
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\def\hours{\n=\time \divide\n 60
+ \m=-\n \multiply\m 60 \advance\m \time
+ \twodigits\n\twodigits\m}
+\def\twodigits#1{\ifnum #1<10 0\fi \number#1}
+
+\def\init{\message{@Name of the font to test = }
+ \read-1 to\fontname \startfont
+ \message{Now type a test command (\string\help\space for help):}}
+\def\startfont{\font\testfont=\fontname \spaceskip=0pt
+ \leftline{\sevenrm Test of \fontname\unskip\ on \today\ at \hours}
+ \medskip
+ \testfont \setbaselineskip
+ \ifdim\fontdimen6\testfont<10pt \rightskip=0pt plus 20pt
+ \else\rightskip=0pt plus 2em \fi
+ \spaceskip=\fontdimen2\testfont % space between words (\raggedright)
+ \xspaceskip=\fontdimen2\testfont \advance\xspaceskip by\fontdimen7\testfont}
+
+{\catcode`\|=0 \catcode`\\=\other
+|gdef|help{|message{%
+\init switches to another font;@%
+\end or \bye finishes the run;@%
+\table prints the font layout in tabular format;@%
+\text prints a sample text, assuming TeX text font conventions;@%
+\sample combines \table and \text;@%
+\mixture mixes a background character with a series of others;@%
+\alternation interleaves a background character with a series;@%
+\alphabet prints all lowercase letters within a given background;@%
+\ALPHABET prints all uppercase letters within a given background;@%
+\series prints a series of letters within a given background;@%
+\lowers prints a comprehensive test of lowercase;@%
+\uppers prints a comprehensive test of uppercase;@%
+\digits prints a comprehensive test of numerals;@%
+\math prints a comprehensive test of TeX math italic;@%
+\names prints a text that mixes upper and lower case;@%
+\punct prints a punctuation test;@%
+\bigtest combines many of the above routines;@%
+\help repeats this message;@%
+and you can use ordinary TeX commands (e.g., to \input a file).}}}
+
+\def\setbaselineskip{\setbox0=\hbox{\n=0
+\loop\char\n \ifnum \n<255 \advance\n 1 \repeat}
+\baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 }
+
+\def\setchar#1{{\escapechar-1\message{\string#1 character = }%
+ \def\do##1{\catcode`##1=\other}\dospecials
+ \read-1 to\next
+ \expandafter\finsetchar\next\next#1}}
+\def\finsetchar#1#2\next#3{\global\chardef#3=`#1
+ \ifnum #3=`\# \global\chardef#3=#2 \fi}
+\def\promptthree{\setchar\background
+ \setchar\starting \setchar\ending}
+
+\def\mixture{\promptthree \domix\mixpattern}
+\def\alternation{\promptthree \domix\altpattern}
+\def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1}
+\def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0}
+\def\domix#1{\par\chardef\0=\background \n=\starting
+ \loop \chardef\1=\n #1\endgraf
+ \ifnum \n<\ending \advance\n 1 \repeat}
+
+\def\!{\discretionary{\background}{\background}{\background}}
+\def\series{\promptthree \!\doseries\starting\ending\par}
+\def\doseries#1#2{\n=#1\loop\char\n\!\ifnum\n<#2\advance\n 1 \repeat}
+\def\complower{\!\doseries{`a}{`z}\doseries{'31}{'34}\par}
+\def\compupper{\!\doseries{`A}{`Z}\doseries{'35}{'37}\par}
+\def\compdigs{\!\doseries{`0}{`9}\par}
+\def\alphabet{\setchar\background\complower}
+\def\ALPHABET{\setchar\background\compupper}
+
+\def\lowers{\docomprehensive\complower{`a}{`z}{'31}{'34}}
+\def\uppers{\docomprehensive\compupper{`A}{`Z}{'35}{'37}}
+\def\digits{\docomprehensive\compdigs{`0}{`4}{`5}{`9}}
+\def\docomprehensive#1#2#3#4#5{\par\chardef\background=#2
+ \loop{#1} \ifnum\background<#3\m=\background\advance\m 1
+ \chardef\background=\m \repeat \chardef\background=#4
+ \loop{#1} \ifnum\background<#5\m=\background\advance\m 1
+ \chardef\background=\m \repeat}
+
+\def\names{ {\AA}ngel\aa\ Beatrice Claire
+ Diana \'Erica Fran\c{c}oise Ginette H\'el\`ene Iris
+ Jackie K\=aren {\L}au\.ra Mar{\'\i}a N\H{a}ta{\l}{\u\i}e {\O}ctave
+ Pauline Qu\^eneau Roxanne Sabine T\~a{\'\j}a Ur\v{s}ula
+ Vivian Wendy Xanthippe Yv{\o}nne Z\"azilie\par}
+\def\punct{\par\dopunct{min}\dopunct{pig}\dopunct{hid}
+ \dopunct{HIE}\dopunct{TIP}\dopunct{fluff}
+ \$1,234.56 + 7/8 = 9\% @ \#0\par}
+\def\dopunct#1{#1,\ #1:\ #1;\ `#1'\ ?`#1?\ !`#1!\ (#1)\ [#1]\ #1*\ #1.\par}
+
+\def\bigtest{\sample
+ hamburgefonstiv HAMBURGEFONSTIV\par
+ \names \punct \lowers \uppers \digits}
+
+\def\math{\textfont1=\testfont \skewchar\testfont=\skewtrial
+ \mathchardef\Gamma="100 \mathchardef\Delta="101
+ \mathchardef\Theta="102 \mathchardef\Lambda="103 \mathchardef\Xi="104
+ \mathchardef\Pi="105 \mathchardef\Sigma="106 \mathchardef\Upsilon="107
+ \mathchardef\Phi="108 \mathchardef\Psi="109 \mathchardef\Omega="10A
+ \def\ii{i} \def\jj{j}
+ \def\\##1{|##1|+}\mathtrial
+ \def\\##1{##1_2+}\mathtrial
+ \def\\##1{##1^2+}\mathtrial
+ \def\\##1{##1/2+}\mathtrial
+ \def\\##1{2/##1+}\mathtrial
+ \def\\##1{##1,{}+}\mathtrial
+ \def\\##1{d##1+}\mathtrial
+ \let\ii=\imath \let\jj=\jmath \def\\##1{\hat##1+}\mathtrial}
+\newcount\skewtrial \skewtrial='177
+\def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L \\M \\N \\O
+ \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z \\a \\b \\c \\d \\e \\f \\g
+ \\h \\\ii \\\jj \\k \\l \\m \\n \\o \\p \\q \\r \\s \\t \\u \\v \\w \\x \\y
+ \\z \\\alpha \\\beta \\\gamma \\\delta \\\epsilon \\\zeta \\\eta \\\theta
+ \\\iota \\\kappa \\\lambda \\\mu \\\nu \\\xi \\\pi \\\rho \\\sigma \\\tau
+ \\\upsilon \\\phi \\\chi \\\psi \\\omega \\\vartheta \\\varpi \\\varphi
+ \\\Gamma \\\Delta \\\Theta \\\Lambda \\\Xi \\\Pi \\\Sigma \\\Upsilon
+ \\\Phi \\\Psi \\\Omega \\\partial \\\ell \\\wp$\par}
+\def\mathsy{\begingroup\skewtrial='060 % for math symbol font tests
+ \def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L
+ \\M \\N \\O \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z$\par}
+ \math\endgroup}
+
+\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
+\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant
+\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal
+ \m=\n \divide\m by 64 \xdef\0{\the\m}%
+ \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}}
+\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}%
+ \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F%
+ \global\p=\lastpenalty}} % \p=1 if none of the characters exist
+\def\oddline{\cr
+ \noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\newif\ifskipping
+\def\evenline{\loop\skippingfalse
+ \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m
+ \expandafter\setdigs\meaning\next \testrow
+ \ifnum\p=1 \skippingtrue \fi\fi
+ \ifskipping \global\advance\n 16 \repeat
+ \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi
+ \next}
+\def\morechart{\cr\noalign{\hrule\penalty5000}
+ \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m}
+ \chartline \evenline}
+\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\table{$$\global\n=0
+ \halign to\hsize\bgroup
+ \chartstrut##\tabskip0pt plus10pt&
+ &\hfil##\hfil&\vrule##\cr
+ \lower6.5pt\null
+ &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
+\def\endchart{\cr\noalign{\hrule}
+ \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
+ &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par}
+\def\:{\setbox0=\hbox{\char\n}%
+ \ifdim\ht0>7.5pt\reposition
+ \else\ifdim\dp0>2.5pt\reposition\fi\fi
+ \box0\global\advance\n 1 }
+\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0
+ \advance\dim 2pt \dp0=\dim}
+\def\centerlargechars{
+ \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}}
+
+\def\text{{\advance\baselineskip-4pt
+\setbox0=\hbox{abcdefghijklmnopqrstuvwxyz}
+\ifdim\hsize>2\wd0 \ifdim 15pc>2\wd0 \hsize=15pc \else \hsize=2\wd0 \fi\fi
+On November 14, 1885, Senator \& Mrs.~Leland Stanford called
+together at their San Francisco mansion the 24~prominent men who had
+been chosen as the first trustees of The Leland Stanford Junior University.
+They handed to the board the Founding Grant of the University, which they
+had executed three days before. This document---with various amendments,
+legislative acts, and court decrees---remains as the University's charter.
+In bold, sweeping language it stipulates that the objectives of the University
+are ``to qualify students for personal success and direct usefulness in life;
+and to promote the publick welfare by exercising an influence in behalf of
+humanity and civilization, teaching the blessings of liberty regulated by
+law, and inculcating love and reverence for the great principles of
+government as derived from the inalienable rights of man to life, liberty,
+and the pursuit of happiness.'' \moretext
+(!`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!)\par}}
+\def\moretext{?`But aren't Kafka's Schlo{\ss} and {\AE}sop's {\OE}uvres
+often na{\"\i}ve vis-\`a-vis the d{\ae}monic ph{\oe}nix's official r\^ole
+in fluffy souffl\'es? }
+\def\omitaccents{\let\moretext=\relax}
+
+\def\sample{\table\text}
+
+\ifx\noinit!\else\init\fi
diff --git a/language/hebrew/hebtex/macros/tex_macros/verbatim.tex b/language/hebrew/hebtex/macros/tex_macros/verbatim.tex
new file mode 100644
index 0000000000..e923636738
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/verbatim.tex
@@ -0,0 +1,42 @@
+%
+% S_Verbatim.TeX Macro
+%
+% macros for verbatim scanning
+\chardef\other=12
+\newskip\ttglue
+\ttglue=.5em plus.25em minus.15em
+\def\ttverbatim{\begingroup
+ \catcode`\\=\other
+ \catcode`\{=\other
+ \catcode`\}=\other
+ \catcode`\$=\other
+ \catcode`\&=\other
+ \catcode`\#=\other
+ \catcode`\%=\other
+ \catcode`\_=\other
+ \catcode`\^=\other
+ \catcode`\"=\other % this line is new stuff
+ \catcode`\|=\other
+ \catcode`\~=\other
+ \obeyspaces \obeylines \tt}
+
+\catcode`\"=\active
+
+\def"{\ttverbatim\continueverbatim}
+\def\continueverbatim#1{\spaceskip\ttglue
+\def\readit##1#1{##1\endgroup}\expandafter\readit}
+%
+% verbatim input macro, for inputting a complete file verbatim.
+% Use \verbatiminput{filename} in much the same way as you would use
+% \input filename.
+%
+\def^^L{\par}
+ \def\verbatiminput#1{\begingroup \frenchspacing \raggedbottom
+ \def\do##1{\catcode`##1=12 } \dospecials \catcode`\|=12
+ \parskip 0pt \parindent 0pt
+ \catcode`\ =\active \catcode`\^^M=\active
+ \catcode`\^^L=\active \outer\def^^L{\eject}
+ \tt \def\par{\ \endgraf} \obeylines \obeyspaces
+ \input #1 \endgroup}
+%
+ \ No newline at end of file
diff --git a/language/hebrew/hebtex/macros/tex_macros/vowels.tex b/language/hebrew/hebtex/macros/tex_macros/vowels.tex
new file mode 100644
index 0000000000..07b8a57017
--- /dev/null
+++ b/language/hebrew/hebtex/macros/tex_macros/vowels.tex
@@ -0,0 +1,71 @@
+%(c) 1990,91 by Joel M. Hoffman belongs to hcaption, hclassic.
+%vowels.tex. Version 1.0.
+%updated 5/13/91 by JMH
+
+%Use of this material in a commercial venture of any sort requires
+%permission from me. Otherwise, you are free to use this for any
+%legal, non-destructive purpose. If you find this useful, a
+%contribution to charity will be most appreciated.
+
+%This file provides the following commands:
+% \patach{ let } % These are the basic vowel-commands. Each
+% \kamatz{ let } % puts a vowel under the letter _let_. Each
+% \segol{ let } % also has a corresponding \chatafxxxxxx
+% \kibutz{ let } % command (e.g., \chatafpatach) for a chataf-
+% \chiriq{ let } % vowel -- even when the vowel doesn't exist.
+% \kamatzkatan{ let } % (There's a \chatafchiriq.) Additionally,
+% \shva{ let } % each has a capitalized version (\Patach, etc.)
+% \meteg{ let } % which puts a meteg with the vowel. There
+% \tzere{ let } % is no way to put a meteg with a chataf-vowel.
+
+%All of the above use the general \hvowel macro, which puts a vowel under
+%any letter. \hvowel automatically adjusts the vowel for certain letters
+%(_resh_ and _daled_ require a horizontal adjustment, _final chaf_ a
+%veritcal one.), and repalces \ayin with \vowelayin (which doesn't
+%descend). Unfortunately, \Daled (a \daled with a _dagesh_) isn't yet
+%handled correctly.
+
+%BITNET: hoffman@nyuacf.BITNET <-- this will change soon
+%CompuServe: 72700,402 -or- 72700.402@compuserve.com
+%SNAIL: Joel M. Hoffman
+% 19 Hillcrest Lane
+% Rye, NY 10580
+% U.S.A.
+
+
+%usage: \hvowel{letter}{vowel(s)}
+\def\hvowel#1#2{\def\l{#1}% \def was \let
+\def\hadjust{0}\def\vadjust{0}%
+\if\l\ayin \let\l=\vowelayin\fi%
+\if\l\fchaf \def\vadjust{.75}\fi%
+\if\l\resh \def\hadjust{.2}\fi%
+\if\l\daled \def\hadjust{.2}\fi%
+\if\l\koof \def\hadjust{.1}\fi%
+\hbox{\setbox0=\hbox{\l}%
+\setbox1=\hbox to \wd0{\hss #2\hss}%
+\kern\hadjust\wd0\raise\vadjust\ht0\box1\kern-\hadjust\wd0\kern-\wd0\box0}}
+
+\def\patach#1{\hvowel#1{\char001}}
+\def\kamatz#1{\hvowel#1{\char002}}
+\def\segol#1{\hvowel{#1}{\char003}}
+\def\kibutz#1{\hvowel{#1}{\char004}}
+\def\chiriq#1{\hvowel{#1}{\char005}}
+\def\kamatzkatan#1{\hvowel{#1}{\char006}}
+\def\shva#1{\hvowel{#1}{\char007}}
+\def\meteg#1{\hvowel{#1}{\char008}}
+\def\tzere#1{\hvowel{#1}{\char009}}
+\def\chatafpatach#1{\hvowel{#1}{\hbox{\char001\char007}}}
+\def\chatafkamatz#1{\hvowel{#1}{\hbox{\char002\char007}}}
+\def\chatafsegol#1{\hvowel{#1}{\hbox{\char003\char007}}}
+\def\chatafkibutz#1{\hvowel{#1}{\hbox{\char004\char007}}}
+\def\chatafhiriq#1{\hvowel{#1}{\hbox{\char00\char0075}}}%this doesn't exist!
+\def\chatafkamatzkatan#1{\hvowel{#1}{\hbox{\char006\char007}}}
+\def\Patach#1{\hvowel{#1}{\hbox{\char008\char001}}}
+\def\Kamatz#1{\hvowel{#1}{\hbox{\char008\char002}}}
+\def\Segol#1{\hvowel{#1}{\hbox{\char008\char003}}}
+\def\Kibutz#1{\hvowel{#1}{\hbox{\char008\char004}}}
+\def\Chiriq#1{\hvowel{#1}{\hbox{\char008\char005}}}
+\def\Kamatzkatan#1{\hvowel{#1}{\hbox{\char008\char006}}}
+\def\Tzere#1{\hvowel{#1}{\hbox{\char008\char009}}}
+
+