diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/hebrew/hebtex/macros |
Initial commit
Diffstat (limited to 'language/hebrew/hebtex/macros')
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¯os 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¯os 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¯os 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}}} + + |