%% A Lambda document (LaTeX+Omega) \documentclass{article} \usepackage{epsf,makor2} %% We preface the \section macro with this hack to ensure %% that there's enough room for the dingbat. If not, it %% begins a new page. \def\={\vspace{115pt}\penalty-200\vspace{-115pt}\endgraf} \def\ascii{{\sc ascii}}\def\dos{{\sc dos}} \def\makor{{\it Makor\/}}\let\makorori=\makor \def\ctan{{\sc ctan}} \def\MAKOR{\[mauqOr\]} \let\MAQOR=\MAKOR \def\makorrm{{\rm Makor}}\def\makorsc{{\sc Makor}} \let\makorrm = \makor \def\TETRAGRAMMATON{ydwd}\def\stutt{{\sc bhs}} \def\sectmakor{\makor} \def\subsectmakor{\makor} \def\ltr{{\sc ltr}}\def\rtl{{\sc rtl}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% NON-STANDARD FORMATTING %% ======================= %% %% Comment out the following (or parts thereof) %% if you seek a more standard LaTeX-like look. %% \usepackage{zmtmjn}% Monotype Janson %% \renewcommand{\rmdefault}{mjn9}% use OSF as default \def\tex{t\kern-.1667em\lower.5ex\hbox{e}\kern-.125em x}\let\sctex=\tex \makeatletter \renewcommand\section{\@startsection{section}{1}{0pt}% {\baselineskip}{\baselineskip}{\scshape}} \renewcommand\subsection{\@startsection{subsection}{2}{0pt}% {\baselineskip}{\baselineskip}{\itshape}} \setcounter{secnumdepth}{1} \def\sectmakor{`makor'} \def\subsectmakor{\it Makor} \long\def\@makecaption#1#2{\vskip\abovecaptionskip \sbox\@tempboxa{\small\textsc{\lowercase{#1:}} #2}% \ifdim \wd\@tempboxa >\hsize{\small{\textsc{\lowercase{#1:}}} #2\par}% \else\global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi\vskip\belowcaptionskip} \def\@maketitle{\newpage\null%\vskip 2em% \begin{center}% \let \footnote \thanks \textbf{\@title}\par% \vskip 1.5em% \lineskip .5em% \it\begin{tabular}[t]{c}\@author\end{tabular}\par \vskip 1em{\@date}% \end{center}% \par \vskip 1.5em} \def\@dottedtocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\it\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% \par}% \fi} \renewcommand*\l@section[2]{% \ifnum \c@tocdepth >\z@ \addpenalty\@secpenalty %\addvspace{1.0em \@plus\p@}% \setlength\@tempdima{1.5em}% \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \leavevmode %\bfseries \advance\leftskip\@tempdima \hskip -\leftskip \sc #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par \endgroup \fi} \if@titlepage \renewenvironment{abstract}{% \titlepage \null\vfil \@beginparpenalty\@lowpenalty \begin{center}% \sc \abstractname \@endparpenalty\@M \end{center}\noindent\ignorespaces}% {\par\vfil\null\endtitlepage} \else \renewenvironment{abstract}{% \if@twocolumn \section*{\abstractname}% \else \small \begin{center}% {\sc \abstractname\vspace{-.5em}\vspace{\z@}}% \end{center}\rightskip=1.5em \leftskip=\rightskip \noindent\ignorespaces \fi} {\if@twocolumn\else\endgraf\bigskip\fi} \fi \newcount\ornlines \newcount\ornlinesfudge \ornlinesfudge = 0 \def\droporn#1{% like drop cap, but with an ornament instead \setbox0=\hbox{\csname 11\endcsname #1}% \dimen0=\wd0 \advance\dimen0 by9pt% \ornlines=\ht0 \divide\ornlines by\baselineskip \advance\ornlines by1 \advance\ornlines by\ornlinesfudge \hangafter=-\ornlines \hangindent=\dimen0 \llap{\smash{\advance\ornlines by-1 \lower\ornlines\baselineskip\box0\hskip6pt% \global\ornlinesfudge = 0\relax}}% } \makeatother %% %% END OF non-standard formatting... %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FONT DEFINITIONS... \newcount\dingbatnum \dingbatnum=39 \def\DingBat{\char\dingbatnum\global\advance\dingbatnum by1 \ifnum\dingbatnum>44 \global\dingbatnum = 39\fi} \hfontdef{2}{ezrab2}{36pt} \hfontdef{1}{alef2saf}{360pt} \hfontdef{11}{alef2saf}{500pt} % used for ornaments after \section \hfontdef{hsmall}{ezra2}{7pt} \hfontdef{heb}{ezra2}{9pt} \hfontdef{htiny}{ezra2}{5pt} %% \hfontdef{XXXVIIIo}{hadassaho2}{38pt} %% \hfontdef{XXXVIIIb}{hadassahb2}{38pt} %% \hfontdef{hds}{hadassahb2}{12pt} %% \hfontdef{hdsb}{hadassahb2}{6pt} \parindent=18pt \input colordvi \begin{document} %% The TITLE Page \setcounter{page}{0}\thispagestyle{empty} %% we'll use dimen7 and dimen8 and dimen9 as registers for this display. \dimen7=50pt % the width \dimen8=56pt % the height \dimen9=6pt \def\Grey{\Color{0 0 0 .2}} \def\MakeGrey#1{\gdef\Grey{\Color{0 0 0 #1}}} \newcount\startgrey \startgrey = 100 \newcount\greyint \greyint = 25 \newcount\stopgrey \stopgrey = 200 \def\A{\MakeGrey{.1}}\def\B{\MakeGrey{.125}} \def\C{\MakeGrey{.15}}\def\D{\MakeGrey{.175}}\def\E{\MakeGrey{.2}} \def\GBB#1{\Grey{\hbox{\vrule width\dimen7 height\dimen8 depth\dimen9}}% \llap{\hbox to\dimen7{\hss #1\hss}}} \hfontdef{2}{ezra2}{36pt} \hfontdef{1}{alef2saf}{360pt}\baselineskip=13pt \noindent\clearocplists \def\myprotects{\MPROTECT\GBB\MPROTECT\phantom} \tabskip.5pc%\HEBREW \font\HUGEIT=mjnbi9t at 40pt \font\large=mjnr9t at 11pt \font\largeit=mjnri9t at 14pt \font\smallbf=mjnb9t at 7pt \font\smallrm=mjnb9o at 7pt \font\smalltt=cmtt10 scaled 750 \begin{center} \HUGEIT Makor\\ \clearocplists\hfont{1}\noindent\HEBALIGN{ \CR{\H &\GBB{\H} &\GBB{\H} &\GBB{\H} &\GBB{\H} &\H} \CR{y&a&b&c&d&}\HEBNOALIGN{\vskip\tabskip} \CR{ &e&f&g&h&}\HEBNOALIGN{\vskip\tabskip} \CR{ &i&j&k&l&}\HEBNOALIGN{\vskip\tabskip} \CR{ &m&n&o&p&}\HEBNOALIGN{\vskip\tabskip} \CR{ &q&r&s&t&z}}\\[9pt] {\[\hfont{2}mauqOr\]}\\[1pc] {\large A System for Typesetting}\\ {\large Biblical and Modern Hebrew}\\ {\large with Omega and \TeX}\\ {\large Version 2.0, January 2003}\\[1pc] {\large Alan Hoenig}\\ {\tt ahoenig@suffolk.lib.ny.us} \end{center} \newpage \title{\bfseries Makor:\\ A System for Typesetting Biblical and Modern Hebrew\\ with Omega and \protect\TeX} \author{\sc A\thinspace l\thinspace a\thinspace n H\thinspace o\thinspace e\thinspace n\thinspace i\thinspace g\\ Department of Mathematics\\ John Jay College, City University of New York \\{\tt ahoenig@suffolk.lib.ny.us}} \date\today \maketitle \tableofcontents \listoffigures %\listoftables \newpage \begin{abstract} This manual describes the {\it Makor\/} (\[\hfont{hsmall}mauqOr\]) system for typesetting Hebrew by means of Omega, an extension of the \TeX\ typesetting language. {\it Makor\/} is appropriate for authors using English-language keyboards for entering Hebrew text in a convenient manner. {\it Makor\/} lets you enter vowels and cantorial diacritics, selects final letters by itself as appropriate, and has special conventions for entering numerals and tables. The software plus fonts is freely available from the Web. \end{abstract} {\bfseries All} of the Hebrew text in this manual was produced using \makor. I produced {\bfseries all\/} other displays using programs that are part of the \TeX\ or Omega distrbution. I urge all potential authors to flip through to see if \makor\ would be suitable for you. \begin{figure}[htb] \centering \noindent\vbox{\null\bigskip\bigskip\bigskip\noindent \epsffile{primer.eps}} \caption[Learning to read Hebrew.]{Learning to read Hebrew. The simple appearance of this primer belies the difficulties involved. Interested readers should carefully go over the source for this figure ({\tt primer.tex}).} \label{fig:primer} \end{figure} \= \section{Why use \protect\MAKOR?} \noindent\droporn{\DingBat \hskip4pt}% If you need to include Hebrew text in a document---especially in combination with English or other left-to-right (\ltr) language---you know what horrors you're in for. Text entry itself can be challenging, and vowel placement adds to your worries. \makor\ attempts to eliminate these issues. So if you need to include Hebrew within a report or article, here's why you should use \makor: \begin{itemize} \item It's {\it easy\/} to enter consonants {\it and\/} vowels into a document. \item \makor\ automatically decides if a final form for a letter is necessary. \item \makor\ takes care to position vowel symbols properly with respect to different letters. \item There are easy ways of finagling these (and other) aspects---altering the placement of a vowel, forcing or suppressing the final form of a letter, and so on. \item Authors can decide whether to include vowels or not. \item Authors can enter cantorial diacritics (trope) into the text. \item \makor\ also supports Yiddish with a separate input convention and special Yiddish characters. \item Alternative typographic conventions are supported, such as \[\PrintChar{195}\] instead of \[kh+\] and \[\PrintChar{140}\] for \[l\]. \item Fonts include the special characters (\[\PrintChar{136} \PrintChar{82}\] and so on) so that it's possible to typeset the Hebrew Bible with \makor. \item Numbers are entered normally, and \makor\ takes care to typeset them properly within the Hebrew (that is, the numbers are \ltr\ even though the surrounding text is \rtl). \item \makor\ knows the traditional Hebrew numbering system (see, for example, figure~\ref{esther}), and can number Biblical verses automatically. \item \makor\ understands the conventions of Arab\TeX, so you can process Arab\TeX\ Hebrew documents in \makor. \item \makor\ understands the conventions of \textsc{bhs}, so you can process Biblia Hebraica Stuttgartensia in \makor. \item One of \makor's fonts allows scholars to typeset Old Hebrew. \item Authors and scholars can typeset using the archaic Palestinian or Babylonian vowel systems. \item When you revise the document---either by changing your text or altering layout parameters (such as the width of a column, or whatever)---these changes automatically propagate into your text. \item Layouts of arbitrary complexity are possible. \item All of the versatility that's part of \TeX\ and of Omega is always available to the author using this system. \item ...And much, much more! \end{itemize} \subsection{Earlier versions of \ \protect\MAQOR} An earlier version of \TeX\ worked with any extended \TeX\ that provided for right-to-left (\rtl) typesetting. The current version demands the use of Omega, and as a result, the current version of \makor\ is far more robust, and contains several additional capabilities. I deprecate this former version and urge those users to switch to the current version as quickly as possible. \begin{figure} \noindent\hbox to\textwidth{\hss\epsffile{esther.eps}\hss} \caption[A portion of the Book of Esther.]{\label{esther}A portion of the Book of Esther, showing both cantorial and vocal diacritics. Notice too that \MAKOR\ can handle both spoken (q're) and written (k'tab) variants of text. The verse numbering was done automatically. See the file {\tt esther.tex} for additional details.} \end{figure} \= \section{Getting and installing \protect\makorsc} \noindent\droporn{\DingBat \hskip4pt}\label{installation}% You can always download the latest version of this software from the Web; the appropriate site is {\tt www.ctan.org}. I mention this site from time to time throughout this document, and it goes by the name of `\ctan'. It contains lots of other software suitable for use with \TeX, \LaTeX, and Omega, including several other packages for typesetting Hebrew, such as Arab\TeX\ (which has a Hebrew module), Hebrew \LaTeX, and a worthy package called {\tt cjhebrew}. Please make sure that you download all the files as one large compressed file, as this makes installation particularly easy. Depending upon your method of download, this file might be {\tt makor.zip}, {\tt makor.tar.gz}, {\tt makor.tar.Z}, or something similar. For our discussion, I'll refer to it as {\tt makor.zip}, though it might have one of these other names. Incidentally, the full address for the latest version of \makor\ is \begin{verbatim} www.ctan.org/tex-archive/language/hebrew/makor \end{verbatim} \subsection{Installation} I take it as given that \TeX---including Omega, Lambda, and their friends---has been properly installed on your system. If not, consult your local \TeX\ wizard, or local guides available at \ctan. Another source is the \TeX\ Users Group ({\sc tug}; {\tt www.tug.org}). Make sure you know where the `root' of your local \TeX\ directory is. Most likely, it has a name like `\verb=...texmf/='. Henceforth, I will call this the \verb== directory. Place yourself in this \verb== directory, and uncompress {\tt makor.zip}, {\bf making sure that you preserve directory structure} (this should be the default behavior). Next, move to the \verb=/tex/makor2= directory. Place the contents of the file {\tt psfonts.mkr2} into your file {\tt psfonts.map}, which is located someplace like \begin{verbatim} /dvips/base \end{verbatim} Now, update the filename database (the procedure to do this is a key part of your \TeX\ implementation), and that's it! \subsection{Testing the installation} Within this same \verb=/tex/makor2= directory are some useful files. Enter the commands \begin{verbatim} omega mkrotest \end{verbatim} and \begin{verbatim} lambda mkrltest \end{verbatim} at the terminal. This exercises `plain' Omega and Lambda, which is Omega$+$\LaTeX. You should get two {\tt.dvi} output files, which you can preview or print after you enter these commands: \begin{verbatim} odvips mkrotest odvips mkrltest \end{verbatim} I use GhostView for previewing and printing PostScript files. If you prefer to work with {\tt.pdf} output, substitute the command `{\tt dvipdfm}' for `{\tt odvips}'. \subsection{Other files} Most of the Makor2 package consists of font-related files. A few other useful utilities are present, however. For example, you can use the file {\tt fonttbl.tex} to print all the characters of a standard computer font (not more than 256~characters). For further discussion, please see below, page~\pageref{page:fonttbl}. A somewhat similar file is {\tt fontgrid.tex}, which prints out superlarge images of selected font characters superimposed on a grid. This file is useful for creating the specialized font metrics for a Hebrew font, and directions for its use appear within this file itself. Also present is {\tt refcard.tex}, which you can use to print a two-page summary of Makor2 and its conventions. See below, page~\pageref{page:refcard}, for further discussion. The {\tt makefonts} directory contains all the files that I used to create the virtual files that are part of \makor2. I include them for the sake of completeness, but strongly recommend that all but experts give this material a wide berth. The remaining {\tt eps} and {\tt doc} directories contain the files you'll need to recreate this manual for yourself. See page~\pageref{page:doc}\ below for additional information. \= \section{Why use \protect\rm\protect\TeX?} \noindent\droporn{\DingBat\hskip14pt}% The point of \TeX\ (and of Omega) is to create documents whose appearance is of sufficient quality to qualify for the most demanding publishing requirements. \TeX\ automatically generates indexes, tables of contents, and automatically inserts other typesetting minutiae, such as ligatures, where they belong. \TeX\ was originally created to handle English-language typesetting, and it's easy to generalize this to work with any Latin-based language. Omega includes all the capabilities of \TeX, and adds a mechanism for handling non-Latin typesetting in a reasonably natural way. Although \makor\ works {\bfseries only\/} with Omega, I will frequently refer to `\TeX' or `\LaTeX' or `Omega' even though I {\em only\/} mean `Omega' in these contexts. The Omega or \TeX\ life cycle is quite different from the usual Windows or Macintosh {\it gestalt}. If you're a typical computer user, you expect as a matter of almost divine right to type stuff at the keyboard and see the document composed and formatted before your eyes, onscreen. But there are reasons why this method may not work to your advantage; I can mention only a few here. Optimal line breaking depends, for example, not only on what you've typed so far, but also on the words in the remainder of the paragraph. In extreme examples, the very last word of the paragraph can determine the linebreak of the first line. How then can any other program claim to give you world-class formatting if it composes paragraphs on the fly? I expect my program to decide for me whether a medial or final form of a letter is needed. Yet, in a what-you-see-is-what-you-get program, it's difficult for the program to know when I've reached the end of a word. By the time you type a space or punctuation, a medial letter has already appeared on the terminal. {\sc wysiwyg} programs never backtrack to revise themselves. Finally, although the menu selection system which accompanies typical commercial software offers legion choices, no set of menus can encompass all the formatting choices that an author might make. Therefore, anyone serious about the look of the written word must think seriously about the kind of programming interface---so that you can implement any format you need---that \TeX\ provides. As with any sophisticated computer tool, advanced \TeX\ use can be challenging and rewarding. Nevertheless, it's easy to make \TeX\ (and \makor) do simple and straightforward things. Further information about \TeX\ appears below. \subsection{The \protect\TeX\ life cycle: a brief introduction} Creating a document---article, report, book, whatever---with \TeX\ is quite different from using a commercial word processor or publishing program. You begin by preparing a strictly \ascii\ text file containing the text of your report, say, amongst which are interspersed various formatting commands. Next, you run through the \TeX\ program, as you run a file containing the text of a computer program through a program compiler. In \TeX's case, the output is a file with the extension {\tt dvi}, a device-independent file which contains very general instructions for rendering letters and other graphic elements on the printed page. The {\tt dvi} file is not something you can deal with directly, so we need one final step. Some subsequent program has to render the file. For example, I typically run my stuff through the excellent program {\tt dvips}, which converts the {\tt.dvi} file to a PostScript ({\tt.ps}) file; actually, you need the Omega variant {\tt odvips}. In practice, it takes no time to implement these tasks, and they can be combined into batch or shell scripts to make the typesetting process as easy as possible. Before using \makor, you'll need to install it (as with any software program). See above, section~\ref{installation}, page~\pageref{installation}, for installation instructions and discussion. \begin{figure} \noindent\hbox to\textwidth{\hss\epsffile{vocal.eps}\hss} \caption{\label{devarim}Fully vocalized Makor output (see file {\tt vocal.tex}).} \end{figure} \subsection{Creating a simple \protect\makorrm\ document with Lambda} For people who are curious, or perhaps just a bit unsure, here's how you use \makor\ to create a simple Lambda document incorporating both Hebrew and English, where `Lambda' is the Omega version of `\LaTeX'. Using a text editor, create a \makor\ \LaTeX\ test file called \verb=mkrltest.tex= (or something similar) that contains the following purely \ascii\ text. \begin{verbatim} \documentclass{article} \usepackage{makor2} \begin{document} Hello, world! \[sh^aulOm, `Olaum!\] Goodbye, world! \end{document} \end{verbatim} For those familiar with \LaTeX, this document is largely familiar. The \verb=document= section of the file contains text delimited by Hebrew typesetting switches \verb=\[= and \verb=\]=. The \ascii\ within these toggles will get translated and typeset into fully vocalized Hebrew by Omega. To enable this process, issue the command \begin{verbatim} lambda mkrltest \end{verbatim} from the \dos-prompt or its equivalent. If Omega and \makor\ are both properly installed, and if you haven't made any errors when you created your test file, then Omega will tell you that the file \verb=mkrltest.dvi= is now present in the current directory. The typeset contents of this file cannot directly be viewed or printed without converting it to PostScript or Acrobat \verb=pdf= format. I prefer PostScript output, so I issue the next command in this process \begin{verbatim} odvips mkrltest \end{verbatim} to create the file \verb=mkrltest.ps=, which I can now view or print with a current version of GhostView. (All these programs, along with Omega and Lambda itself, should be present as a result of a proper installation of \TeX\ and Omega. You can also use GhostView to convert your {\tt.ps} into the Acrobat {\tt.pdf} format.) It will look something like this: \medskip \noindent Hello, world! \[sh^aulOm, `Olaum!\] Goodbye, world! \medskip Any file you create for typesetting with Makor~\char`\+~Lambda should follow this schematic. \subsection{Creating a simple \protect\makorrm\ document with Omega} For those of you who prefer to use plain Omega, the only change you need to make to the above instructions has to do with the form of the input \makor\ test file {\tt mkrotest.tex}. In this case, the file has the simple form: \begin{verbatim} \input makor2 Hello, world! \[sh^aulOm, `Olaum!\] Goodbye, world! \bye \end{verbatim} and you run the command `{\tt omega mkrotest}' followed by `{\tt odvips mkrotest}'. \= \section{Some \protect\makorsc\ conventions} \noindent\droporn{\hskip12pt\DingBat\hskip10pt}If you know Hebrew, perhaps you will agree that the input required to produce the short display on the previous page is a good match for the Hebrew itself. Nothing special was done to get the final form for the \[m_\]'s---\makor\ chose them automatically. Experienced \TeX-users know that short selection above relied upon {\it default values\/} of the system, and these can be changed many ways to alter the typeset appearance. In this document, we will explore the defaults built in to \makor, beginning with the conventions you need to produce Hebrew letters. You get letters, vowels, and cantorial diacritics using the lowercase English consonants and vowels, and the special characters \verb=`=, \verb='=, \verb=:=, \verb=.=, \verb=^=, \verb=_=, \verb=|=, \verb=*=, and the uppercase \verb=O=. Of course, punctuation and numerals are used in the usual ways as needed. All the conventions we now discuss are summarized below in figure~\ref{fig:mkrref}~on page~\pageref{fig:mkrref}. (This table includes alternative keyboard conventions as well.) \subsection{Consonants} Where possible, you get the Hebrew consonant that you expect from the corresponding English input. Thus, you type \verb=b= to get \[b\], \verb=f= to get \[f_\], and so on. Some Hebrew consonants don't correspond to single Latin letters, so we use reasonable compromises. For example, type \verb=sh= to get \[sh\], and type \verb=ts= and \verb=ch= to get \[ts_\] and \[ch\]. We use \verb='= and \verb=`= to get \['\] and \[`\]; these are long-standing conventions that apply to all Semitic languages. We use a prepended period to specify relatively rare consonants; thus, we get \[.s\] and \[.t\] from \verb=.s= and \verb=.t=. Almost all Hebrew letters can occur in a dotted form. We pronounce some of these dotted forms differently, and their input is straightforward. We've seen aboove how to get \[b\] already. We get \[t\] and \[p_\] via \verb=t= and \verb=p=. At other times, we need the dot for grammatical purposes, even though this may not change the pronunciation. One way to get this dotted form is to append an asterisk, which visually approximates the appearance of a dot. Thus \verb=h*= produces \[h*\]. But dots are also added for a grammatic reason---when they correspond to a doubled consonant. We can use this interpretation to make it easy to ``dot'' a letter---simply double it. So we get \[yy\] and \[dd\] from \verb=yy= and \verb=dd=, and so on. \makor\ makes other conventions possible as well. For example, we use the circumflex \verb=^= to get the upperdot on the \[sh\]. Thus, \[^sh\] comes from either \verb=^s= or \verb=^sh=, and we get \[shsh^\] from \verb=shsh^=. \begin{figure}[t] \centering \noindent\vbox{\epsfysize=.6\textheight\epsffile{talmud.eps}\vskip2pc} \caption{A page of Talmud.} \label{fig:talmud} \end{figure} At times, you may want to suppress the automatic generation of final letters, or conversely, force the typesetting of a final form. To this end, use the \verb=^= and \verb=_= characters to force and suppress these forms. Thus, \verb=gm_\'= yields the abbreviation for `gemara': \[gm_\'\]. and you get the silly \[p^p \>\] from \verb=p^p =. (Mnemonic: just as the \verb=^= is suspended in mid-air, so too the final form of a letter is followed by `air', the following word space.) Sometimes, perhaps to fool \makor\ that you've reached the end of a word, you may use the `unskip' command \verb=\<= or its synomym \verb=\>= to add a word space, and to then remove it. Thus, \verb=\[ts\\[bo\/'aum \] we type \verb=bo\/'aum=, using the {\it pattern breaker\/} (see below). In these two words, look carefully at the positioning of the holamdot. \subsection{Punctuation, dashes, foreign sounds, and so on} By and large, Israeli punctuation matches that of the rest of the world. One difference from American grammar is the frequent occurence of the sequence `?!' to indicate some level of amazed incredulity. Just for fun, I have included in my Hebrew fonts the `interrobang' symbol \[?!\], which you get by typing either \verb=!?= or \verb=?!=. Perhaps this symbol will now sweep the world of Hebrew typesetting by storm\[!?\] See below if you want to typeset the usual sequence. Type \verb=**= to get the `newsheqel' symbol \[**\]. In the usual way, we type \verb=---= and to get em-dashes. If you type \verb=-=, you get \[-\], not quite a hyphen in the usual sense. If the font contains a hyphen, you get it by typing \verb.=.. In modern Hebrew, it's customary to use single quotes \verb=\'= to indicate a foreign, non-Israeli sound. Thus, \verb=ts_e\'q= and \verb=g\'oon'g'l= generate \[ts_e\'q\] and \[g\'oon'g'l\] (pronounced `check' and `jungle'). \makor\ takes care of the case that these foreign sounds occur at a word ending. Hence, \verb=rabiynOvits'= typesets \>\[rabiynOvits' \]. Note well---\verb=\'= does {\it not\/} work; type only \verb='= in this case. \subsection{Numbers} The convention in Hebrew (and Arabic too!) is that `Arabic' numerals are to be read in the usual left-to-read manner, despite the fact that surrounding Hebrew text is read in the opposite way. \makor\ understands numerals, and for simple cases, takes care of the directional switch automatically. More complicated cases-involving decimal points and whatnot---will be treated more appriately in an upcoming version of this software. \subsection{Pattern breaking} Omega works by examining patterns in the input and replacing various patterns by Hebrew characters according to rules that are part of the \makor\ system. Occasionally, we need to break them. For example, we may want the sequence \[?\/!\] or \[*\/*\] instead of \[?!\] or \[**\]. To this end, we use the command \verb=\/=. This command sort of looks like a wedge facing down, and you can think of it as a wedge that breaks up the pattern. Thus, to get \[t\/s\] type \verb=t\/s=. \subsection{Indentation and white space around a paragraph} Because of the inherent left-to-rightness of Omega, you have to be the tiniest bit alert about white space and paragraph indentation. For example, if you type \begin{verbatim} \[laukhaen chakoo-liy n''um-ydwd l'yOm qoomiy lau`ad kiy mish^'pau.tiy l|e':e.sof gOyim l'qauv'tsiy mam'laukhOs lish^'pokh' `:alaeyhem za`'miy kol ch:arOn 'apiy kiy b''eish^ qin''ausiy t|"'+khael k+l-h+'|+rets.\] \end{verbatim} you get: \noindent\epsffile{whitespace1.eps} This is no good for two reasons: (1)~the first line is indented improperly; and (2)~the last line is `filled' with white space on the right side.% \footnote{Incidentally, this text, which is drawn from the book of Zephania, 3:8 (that is, \[\hfont{hsmall}ts'fan'yauh g:ch\]), is a good test of Hebrew typesetting. It contains all of the letters of the Hebrew alphabet, including the final forms in addition. Thus, this verse is the Hebrew equivalent of ``the quick brown fox \ldots.''} Simple Makor commands remedy both deficiencies. First off, you can suppress the improper left indentation with the usual \verb=\noindent= command. If you terminate the hebrew paragraph with \verb=\HPAR=, you get proper paragraph filling, so that \begin{verbatim} \noindent\[laukhaen chakoo-liy ... k+l-h+`|+rets:\HPAR\] \end{verbatim} yields \noindent\epsffile{whitespace2.eps} %% \noindent\[laukhaen chakoo-liy n''um-ydwd l'yOm qoomiy lau`ad kiy %% mish^'pau.tiy l|e':e.sof gOyim l'qauv'tsiy mam'laukhOs lish^'pokh' %% `:alaeyhem za`'miy kol ch:arOn 'apiy kiy b''eish^ qin''ausiy %% t|"'+khael k+l-h+'|+rets.\HPAR\] However, to enforce a Hebrew indentation on the right, use the command \verb=\HINDENT=. Also, the command \verb=\CENTERLASTLINE= is a variant of \verb=\HPAR=, and will (as you would imagine) center the last line of the paragraph (something I can't quite figure how to do in standard \TeX\ typesetting). Thus, \begin{verbatim} \noindent\[\HINDENT laukhaen ... k+l-h+`|+rets:\CENTERLASTLINE\] \end{verbatim} yields \noindent\epsffile{whitespace3.eps} \smallskip \noindent which is common convention in some Hebrew liturgical typesetting. \subsection{Adjustments} From time to time, a vowel may not appear exactly where you'd like it. \TeX, of course, contains a plethora of commands which allow for precise placement of typographic elements, but these may be awkward to use in the context of setting Hebrew. For this reason, you can embed adjustment commands---finagles, if you will---to fix things up. {\bf All these fine tunings apply only to the next consonant$+$vowel pair}; usual metrics are restored thereafter. The first kind of adjustment will simply move the next vowel (and this vowel only!) a fraction of the character width to the left or right. You enter this adjustment by surrounding the decimal fraction with a pair of underscores. For example, we normally type \verb=rau= to get \[rau\], in which the qamats is properly centered under the tail of the \[r\]. For some reason, you may wish to place the vowel at the center of the character instead. If you type \verb=_.5_raurau=, you get \[_.5_raurau\], which also emphasizes that the adjustment only lasts for one character. \begin{figure}[htb] \centering\noindent \noindent\epsfysize=.65\textheight\epsffile{hebrew.eps} \caption{Hebrew intermingled with English.} \label{fig:hebrewplusenglish} \end{figure} \subsection{Fine tuning} We use the expression {\it fine tuning\/} to refer to a more careful adjustment, where you want to carefully specify position changes in both horizontal and vertical directions. If you surround a pair of valid, comma-separated \TeX\ dimensions by underscores, then \makor\ uses this set of dimensions as an offset to the original position. For example, the silly \verb=_3.5pt,-3.5pt_rau= gives rise to \[_3.5pt,-3.5pt_rau\]. Note the convention of signs used in fine tunings. \subsection{Cantorial trope} I found it tough to think of a convincing entry convention for the cantorial diacritics. Each of these symbols has a Unicode name, though, and \makor\ accepts this name, surrounded by square brackets, to stand for the trope. Thus, we get \[be[etnahta]\] from \verb=be[etnahta]=. You may feel this is a lot of typing, but you are free to define command shortcuts. Thus, after \begin{verbatim} \def\8{[etnahta]} \end{verbatim} we get the same result by typing \verb=\ke\8=. Of course, you can (and should!) define command names that are more meaningful to you. If you don't like the names that \makor\ uses for these accents, complain to the Unicode naming committee. Figure~\ref{fig:trope}\ lists these names and the associated trope symbols. Metafont is a sibling program of \TeX\ that can be used for high quality font design. I used this utility to create the trope characters, which may explain their lack of quality. If any reader knows of a better trope font that could be used instead, I'd be grateful for the tip. \begin{figure}[htb] \begin{center} \noindent\vbox{\baselineskip=18pt\halign{% \[#\]\hfill\quad&\tt#\hfill&\qquad\qquad\[#\]\hfill \quad&\tt#\hfill\cr \noalign{\vskip2pt\hrule\vskip5pt} h[etnahta]& h[etnahta]& h[telishagedola]& h[telishagedola]\cr h[segol]& h[segol]& h[pazer]& h[pazer]\cr h[shalshelet]& h[shalshelet]& h[munah]& h[munah]\cr h[zaqefqatan]& h[zaqefqatan]& h[mahapakh]& h[mahapakh]\cr h[zaqefgadol]& h[zaqefgadol]& h[merkha]& h[merkha]\cr h[tipeha]& h[tipeha]& h[merhkhakefula]& h[merhkhakefula]\cr h[revia]& h[revia]& h[darga]& h[darga]\cr h[zarqa]& h[zarqa]& h[qadma]& h[qadma]\cr h[pashta]& h[pashta]& h[telishaqetana]& h[telishaqetana]\cr h[yetiv]& h[yetiv]& h[yerahbenyomo]& h[yerahbenyomo]\cr h[tevir]& h[tevir]& h[ole]& h[ole]\cr h[geresh]& h[geresh]& h[iluy]& h[iluy]\cr h[gereshmuqdam]& h[gereshmuqdam]& h[dehi]& h[dehi]\cr h[gershayim]& h[gershayim]& h[zinor]& h[zinor]\cr h[qarneypara]& h[qarneypara]& h[masoracircle]& h[masoracircle]\cr \noalign{\vskip2pt\hrule\vskip2pt} \crcr}} \end{center} \caption{\protect\MAKOR\ keyboard conventions for cantorial trope.} \label{fig:trope} \end{figure} \makor\ makes it possible to fine tune these accents as well. If a single accent appears above a letter, the syntax is as before, except you enclose the correcting factor by circumflexes instead of underscores. Thus, \begin{verbatim} ^1^r[shalshelet] \end{verbatim} yields \[^1^r[shalshelet]\] and \begin{verbatim} ^3pt,1.5pt^r[shalshelet] \end{verbatim} typesets \[^3pt,1.5pt^r[shalshelet]\]; normally, you get \[r[shalshelet]\] from \verb=r[shalshelet]=. Under a letter, it's possible to have {\it two\/} accents, and you can specify a semicolon-delimited second pair of coordinates to indicate an additional amount of offset between the accents. Here's an example to illustrate the meaning of this gobbledegook. Normally, if you type \verb=zau[etnahta]= you get \[zau[etnahta]\]. Possessed by a spirit of anarchy, you could enter \verb=_1pt,1pt;3pt,2pt_zau[etnahta]=; this produces \[_1pt,1pt;3pt,2pt_zau[etnahta]\]. That is, the dimensions in the first pair offsets the vowel-trope pair, while the second pair adjusts the spacing between the two diacritics. I find myself rarely needing any of these adjustments. If you find yourself entering more than one every few pages, it may mean that the font as a whole needs fine tuning. This is not difficult, but the procedure is out of place in this document. Please contact me if you feel there is a problem with one of the \makor\ fonts. \subsection{Examples; irony} The sources for all the examples in this document are part of the \makor\ distribution. Please refer to them frequently for guidance in using the \makor\ conventions. [Ironically, the name in English for this software---\makor---des not follow the above rules. If it did, it would be {\tt mauqOr}! Sorry for this inconsistency, but it's too late now.] \= \section{Fonts} \noindent\ornlinesfudge = 1 \droporn{\DingBat\hskip14pt}Everybody loves fonts, and the fonts that are part of \makor\ provide a feast for the eyes. Dealing with fonts is a two-pronged operation, involving selection of a particular font and access to all the characters of the font. Incidentally, all of \makor's fonts are free (or some variant thereof), and I am continually seeking additional {\it high quality\/} fonts to add to the package. I'd be grateful if any readers with suggestions for additional fonts could get in touch with me. (Thanks!) \subsection{All the characters in a font}\label{page:fonttbl} The vast majority of a the characters in a font are accessible by means of \makor's keyboard conventions. As we've seen, if you want \[l\], you type \verb=l=, and so on. Nevertheless, it's possible that a font contains additional characters that may not be so readily accessible. For that reason, the \makor\ package includes a file called \verb=fonttbl.tex=, which allows you to print out all characters in a file. Within the first half-dozen lines, there is a line like \begin{verbatim} \def\myfont{ezra2 at 12pt} \end{verbatim} and you should replace the font name and font size as appropriate. a quick list of the fonts that are part of \makor\ forms figures~\ref{fig:allfonts}\ and~\ref{fig:allfonts1}. (Note that there are nine gray fonts, named \verb=ezrag12= through \verb=ezrag92=; \verb=g==gray.) The \verb=fonttbl= document doesn't depend upon Omega, so you can compile it with \TeX; that is, first issue the command \begin{verbatim} tex fonttbl \end{verbatim} and then convert it to PostScript or \verb=pdf= via either of the commands \begin{verbatim} dvips fonttbl \end{verbatim} or \begin{verbatim} dvipdfm fonttbl \end{verbatim} \begin{figure}[htbp] \epsfysize=.8\textheight\epsffile{ezratbl.eps} \caption[A font table for Ezra.]{% A font table for the default Ezra font.} \label{fig:fonttbl} \end{figure} Figure~\ref{fig:fonttbl}~displays the font table for the standard Ezra font. The first line of the table, the first sixteen characters of the font, are reserved for future use. Every font contains some special, perhaps even oddball, characters, and \makor\ sticks them into the second row. The last row is empty, and the remaining slots are filled with the characters of a \makor\ font. \makor\ provides a \verb=\PrintChar= character to access some of the more esoteric characters, but this command takes the character number as the argument, so it's useful to print out this table and retain it for future reference. For example, since the reflected nun appears in position~136, you could print it via \verb=\PrintChar{136}=. Of course, this is somewhat clumsy. A better approach would be to create a command \begin{verbatim} \def\reflectednun{\PrintChar{136}} %% Omega (plain TeX) syntax \end{verbatim} or \begin{verbatim} \newcommand\reflectednun{\PrintChar{136}} %% Lambda (LaTeX) syntax \end{verbatim} \subsection{Font selection} \makor\ expects an author to select fonts one by one. In the absence of instructions to the contrary, the Ezra normal font is automatically selected for Hebrew typesetting; this is the font used up to this point in this manual. \begin{figure}[htb] \null\vskip-40pt \noindent\hbox to\textwidth{\vrule width0pt depth50pt \hss\epsffile{siloam.eps}\hss} \caption[The Siloam water tunnel inscription.]{% The Siloam water tunnel inscription; see {\tt siloam.tex} for details.} \label{fig:siloam} \end{figure} Using a font involves two distinct instructions. The first simply makes the font visible to \makor. That is, it associates a name that you create with a particular font at a particular size. Thus, after \begin{verbatim} \hfontdef{RSH}{rashi}{10pt} \end{verbatim} the name \verb=RSH= conjures up---to \makor---a 10\thinspace pt version of Rashi script. (\verb=\hfontdef=={\bf H}ebrew {\bf font} {\bf def}inition.) To invoke this font, you need to include the command \begin{verbatim} \hfont{RSH} \end{verbatim} by your text. (\verb=\hfont==use {\bf H}ebrew {\bf font}.) As with any scope command in any version of \TeX, such a command obeys \TeX's grouping laws. The \verb=\hfont= should follow the \verb=\[= command. \begin{figure}[htbp] \begin{center}\noindent%\epsfysize=500pt \epsffile{allfonts.eps} \end{center} \caption[Available Makor fonts.]{% The Hebrew alphabet in many of the currently available Makor fonts.} \label{fig:allfonts} \end{figure} Figure~\ref{fig:allfonts}\ and~\ref{fig:allfonts1}~displays a bit of all the currently available \makor\ fonts. The leftmost field in each line shows a sample of a font, while the middle field give the \makor\ name, which is the name you use in a \verb=\hfontdef= or \verb=\hfont= command. The final field gives a human name for the font, along with the design size of the sample. As you can see, there is a huge visual variation in fonts at the same size. Notice too that all modern fonts have \makor\ names ending in `2', indicating their suitability for use with \makor2. Among the fonts included are a Calading dingbat font, adapted, as are so many of the \makor\ fonts, from the wonderful Culmus fonts created by Maxim Iorsh. You can print this font out with {\tt fonttbl}, and then access, say, character 35 of the font by saying \begin{verbatim} \PrintChar{35} \end{verbatim} as long as you have defined the dingbat font and made it active. Some \makor\ macros make it easier for you, however. If you define the dingbat font via \begin{verbatim} \hfontdef{HDING}{calading2}{12pt} \end{verbatim} (Where the only thing that can change is the point size), then you can type any of the commands \verb=\RoundMenorah=, \verb=\AngledMenorah=, \verb=\TabletsOfLaw=, \verb=\BlackTablets=, or \verb=\BlankTablets= to get appropriate images for these names. If you type \verb=\MoonPhase{=$n$\verb=}=, where $n$ is in the range $(0..11)$, you get any of twelve phases of the moon. If you type \verb=\MagenDavid{=$m$\verb=}=, where $m$ is in $(0..8)$, you get any of nine different stars of David. (Incidentally, \verb=\StarOfDavid= is a synonym for \verb=\MagenDavid=.) Here they are: \noindent\epsffile{caladings.eps} \begin{figure}[htbp] \begin{center}% \noindent\epsffile{allfonts1.eps} \end{center} \caption[Available Makor fonts.]{% The Hebrew alphabet in the remainder of the currently available Makor fonts. Note that if you use Omega Serif Hebrew at a 12\% magnification, it forms a ``light'' member that nicely complements the David fonts.} \label{fig:allfonts1} \end{figure} \subsection{A \protect\makorrm\protect\ reference card}\label{page:refcard} Figure~\ref{fig:mkrref}\ shows a portion of a reference card which summarizes all the \makor\ coding and usage conventions. You can generate and print a more extensive such card if you wish. To do so, run the file {\tt refcard.tex} through Omega and {\tt odvips}, and print it on a letter-size sheet or card. Before doing so, you may have to (or you may wish to) change some of the fonts used in the reference card. The initial part of this file suggests the means for doing this. Generating your own reference card is a good test of your installation of \makor. I've included the file {\tt refcard.pdf} so you can print your own reference card no matter what. \begin{figure}[htbp] \centering \noindent\hbox to\textwidth{\hss\epsfysize=520pt \epsffile{mkrref.eps}\hss} \caption[A \protect\makor\ reference card.]{Portion of a \protect\makor\ reference card. The full card fits on two sides of a letter-size sheet. You get the Hebrew character in the left column by typing the keystrokes in the right.} \label{fig:mkrref} \end{figure} \subsection{Missing bold fonts} If you look closely at figure~\ref{fig:allfonts}, you'll notice that not every variant for every font is present. In particular, it's often difficult to create a decent bold-faced font. For that reason, \makor\ provides two related macros that might be useful in this regard. Following the discussion in {\it The \TeX book\/} pertaining to ``poor man's bold,'' \makor\ provides commands \verb=\pmb= and \verb=\PMB= to embolden their arguments. They work better for smaller and larger fonts respectively. So if you type \begin{verbatim} 'vgdh \pmb{wzch.ty} khlmn.s \end{verbatim} you get \['vgdh \pmb{wzch.ty} khlmn.s\]. These macros work by placing several copies of the text slightly offset from each other, so the results are a tad \pmb{fuzzy} or even \PMB{fuzzy} (I used \verb=\pmb= and \verb=\PMB= here), but it may be better than nothing. Note that it is {\it not\/} possible to typeset extended texts this way, since it is not possible to typeset text which breaks at lines with these macros. (If the look of this bold is sufficient for your needs, and you need extended passages in poor man's bold, you'll need to create a suitable virtual font for this purpose.) \subsection{Old Hebrew} The Old Hebrew font is far sparser than other fonts, so you should be more careful about how you use it. It is another Metafont hack by the current author, and readers knowing of a better font should get in touch with me. Figure~\ref{fig:siloam}~shows the famous Siloam inscription rendered in \makor's Old Hebrew glyphs. \subsection{Additional fonts} It's a straightforward (albeit a trifle tedious and time-consuming) to add additional fonts to the \makor\ system. As an example, I adapted the beautiful MasterFont Hadassah fonts (available from Studio Rosenberg, 159 Yigal Alon St., Tel Aviv 67443, Israel; \[.s'.toodiyoo rOzenberg, rch\' yig''l 'aelOn 159, tel 'auviyv 67443, yi^s'rau'ael\]). Unfortunately, as they are proprietary, they cannot be distributed with this package, but see figure~\ref{fig:genesis}~to see how they look. \subsection{Working with TrueType} These MasterFont fonts arrived in TrueType format, which are not readily understood by all variants of \TeX. (However, \TeX's sibling pdf\TeX\ does, for example.) Here are some tips for working with TrueType fonts. This information may be of use, as the TrueType format is becoming more and more common. In many cases, I use the superb \verb=ttf_edit= utility to massage the fonts into ones better suitable for use by \makor. (This program's author, Richard Kinch at \verb=kinch@truetex.com= can help you get hold of this program.) Then, I used the invaluable \verb=TrueTypetoType42= utility by Thomas Barton (available from the \ctan\ archives) to create PostScript files that \verb=dvips= recognizes. Another alternative is the {\tt ttf2mf} utility, a means for converting TrueType into Metafont source files, which is available from various archives. Finally, you should know about the wonderful {\tt pfaedit} utility, which is a general program for working with fonts in a wide variety of formats. With this program, you can manipulate individual characters as well, like commercial programs such as {\it Fontographer}. {\tt pfaedit} is freely available from various locations on the Web. Please note, though, that this is primarily a Unix/Linux-type program, and though it has been ported to other operating systems, such as Win32, you'll need to download additional software to get it working. (In my case, I had to download Cygwin, a Unix-like terminal for Windows, and XFree86, a free implementation of X-Windows, to get {\tt pfaedit} to work on my Win95 computer.) \begin{figure} \noindent\hbox to\textwidth{\hss\epsffile{genesis.eps}\hss} \caption[A portion of Genesis using Hadassah types.]{\label{fig:genesis}A portion of Genesis. The Hebrew is MasterFont Hadassah. See {\tt genesis.tex} for details.} \end{figure} \= \section{Conventions} \noindent\droporn{\DingBat\hskip2pt}We use the term `convention' to refer to system by which authors direct \makor\ to do their typesetting. So far, we've only encountered the standard \makor\ convention, by which, for example, you type \verb=l= to get \[l\], you type \verb=shsh^e[etnahta]= to get \[shsh^e[etnahta]\], and so on. However, there are other conventions available, and this section introduces them to you. The friendly term `conventions' is related to the less friendly piece of jargon `ocp list', which may be familiar to you if you've glanced at the Omega documentation. This is a list which tells Omega which rules to apply to the input. \makor\ creates these lists dynamically based on your wishes. We'll describe the more common conventions before concluding this section with a brief discussion on how to create your own special \makor\ environment. We specify a new \makor\ environment by means of the command \begin{verbatim} \MakorEnvironment{...} \end{verbatim} or its synonym \begin{verbatim} \MakorConvention{...} \end{verbatim} where you replace the ellipsis by a valid environment name. By default, the standard \makor\ environment, named \verb=MKR=, is in effect. \subsection{Variations on the \protect\MAKOR\ convention} Several variations to the standard \verb=MKR= environment (set of conventions) are already part of the \makor\ system. The first concerns an alternative to the vowel placement in the final \[kh^\] character. Normally, you see \[kh' khau\] but if I type this as \begin{verbatim} \[\MakorEnvironment{MKRalt}kh' khau\] \end{verbatim} I get \[\MakorEnvironment{MKRalt}kh' khau\] instead. To get \[\MakorEnvironment{MKRalt}l'khau laekh' \MakorEnvironment{MKR}l'khau laekh'\] I type something like \begin{verbatim} \[\MakorEnvironment{MKRalt}l'khau laekh' \MakorEnvironment{MKR}l'khau laekh'\] \end{verbatim} Similar comments apply to a `bent lamed' convention which must have originally been adopted to save space. There is a `bent lamed' \verb=MKR= variant. I get \[\MakorEnvironment{MKRbl}l'khau laekh' \MakorEnvironment{MKR}l'khau laekh'\] by typing \begin{verbatim} \[\MakorEnvironment{MKRbl}l'khau laekh' \MakorEnvironment{MKR}l'khau laekh'\] \end{verbatim} (here, \verb=bl=={\bf b}ent {\bf l}amed). As if to emphasize the lesser value of vowels over consonants, most Hebrew typesetting omits the vowels. Exceptions seem to be made for children's books and texts, certain foreign words and names (which no one would know for sure how to pronounce), poetry, and liturgical texts. It's easy to omit vowels in a \makor\ document---simply omit the vowels! Of course, this leads to problems in proofreading. It's much easier to read \begin{verbatim} lakol z'maun w'`aes l'khaul-chaefets tachas hashsh^+m+yim: \end{verbatim} instead of \verb=lkhl zmn w`s lkhl-chfts schs hshmym:= when you want to typeset %$ \[\MakorEnvironment{MKRnv}lakol z'maun w'`aes l'khaul-chaefets tachas %$ hashsh^+m+yim:\] \[lkhl zmn w`s lkhl-chfts schs hshmym:\] Consequently, there is a \verb=MKR= variant to do that. This is the environment \verb=MKRnv= (\verb=nv=={\bf n}o {\bf v}owels). I got the preceding vowelless phrase by typing \begin{verbatim} \[\MakorEnvironment{MKRnv}lakol ... hashsh^+m+yim:\] \end{verbatim} Perhaps systems like \makor\ which make it as easy to typeset vowels (and other diacritics) as consonants may cause the wider use of vocalized reading material. %% alt finals...bent lamed...no vowels \subsection{Non-\makorrm\ conventions: Arab\protect\TeX, Biblia Hebraica Stuttgartensia} A few important Hebrew keyboard conventions exist prior to the development of \makor, and experiments with two of these show that it is feasible to adapt these conventions to \makor. Some years ago, Klaus Lagally developed an ingenious system for typesetting Arabic with \TeX, and shortly afterwards he extended this system to handle Hebrew. (Both scripts are alike in being written \rtl\ and in treating vowels as optional diacritics.) His system is quite robust, but authors using this system are limited to special fonts that are part of the system. By this time, there is a substantial corpus of input files adhering to this system, so I thought it would be a good idea to adapt the Arab\TeX-Hebrew conventions for use with \makor. After typing \verb=\MakorConvention{Lagally}=, input such as \verb=.b.irU.a_h _tOvAh= typesets as \[\MakorConvention{Lagally}.b.irU.a_h _tOvAh\] (this is \verb=b'roo_ach .tOvauh= in the standard \makor\ convention). The Arab\TeX\ package, with its manual, is widely available. Most readers can browse their local \ctan\ site ({\tt www.ctan.org}) for this material. \begin{figure}[htbp] \noindent\hbox to\textwidth{\vrule width0pt depth50pt\hss \epsffile{yidkeys.eps}\hss} \caption[Yiddish input conventions.]{Yiddish input conventions. The last three lines sumamrize the conventions by which a leading \['\] is applied automatically to certain vowels, or by which it is suppressed.} \label{fig:yiddish} \end{figure} The case of \stutt\ (Biblia Hebraica Stuttgartensia) is more interesting. This text is a careful rendering of the Hebrew Bible, containing standard and cantorial diacritics, oddly shaped characters, oddly vocalized characters, oddly sized characters, and other miscellanea as per the most ancient extant manuscripts. The \stutt\ encoding is more a work-in-progress than a finished project. For some reason, although large chunks of this file compile perfectly in \makor, I cannot run the entire \stutt\ file as a whole through \makor\ without generating incomprehensible errors. Reader input/advice/suggestions are very welcome. Anyway, an \ascii\ file with this \stutt\ information is publicly available, but it adheres to its own system of transcription. For example, the first bit of Esther looks like \begin{verbatim} WA/Y:HI73Y B.I/YM"74Y ):AXA$:W"RO92W$ H74W.) ):AXA$:W"RO81W$ HA/M.OL"K:03 M"/HO74D.W. W:/(AD-?K.80W.$ $E91BA( W:/(E&:RI71YM W./M")F73H M:DIYNF75H00 \end{verbatim} (quite different from the standard \makor\ conventions), but if I surround this incantation with \begin{verbatim} \[\MakorConvention{BHS}\BIBLE ...\CENTERLASTLINE\] \end{verbatim} and run it through \makor, I get the proper \noindent\[\MakorEnvironment{BHS}\BIBLE WA/Y:HI73Y B.I/YM"74Y ):AXA$:W"RO92W$ H74W.) ):AXA$:W"RO81W$ HA/M.OL"K:03 M"/HO74D.W. W:/(AD-?K.80W.$ $E91BA( W:/(E&:RI71YM W./M")F73H M:DIYNF75H00\CENTERLASTLINE\] \noindent(The command \verb=\BIBLE= sets a few other parameters necessary for rendering this text.) The file I used is available from the Oxford Text Archive Website: \begin{verbatim} ota.ahds.ac.uk/texts/0525.html \end{verbatim} and is about 3.3\thinspace meg in size. \subsection{Yiddish and Ladino} It is possible, of course, to typeset Yiddish with \makor\ by simply pretending that it's some kind of funky Hebrew, and enter it using the usual \makor\ conventions (together with some definitions to access those Yiddish characters that typically do not appear in Hebrew). But this is silly. It's easy enough to provide a Yiddish environment whose conventions are summarized in figure~\ref{fig:yiddish}. It's worth pointing out that some sounds are duplicated in Yiddish. For example, both \verb=v= and \verb=.v= produce different letters which have the same sound. Several of these duplicates have been taken directly from Hebrew, probably so certain printed Yiddish words look like their Hebrew antecedents. These letters are the ones in figure~\ref{fig:yiddish}~whose input is preceded by a period. Certain sounds need a leading \['\] when they begin a word; \makor\ takes care of this automatically, as you see in the bottom of figure~\ref{fig:yiddish}. In these last three lines, the input text \verb=oi= is given a leading $\aleph$ depending on its position in the word. A leading underscore, as in \verb=_oi= suppresses the leading $\aleph$. \begin{figure}[p] \centering \noindent \epsffile{jabberwock.eps} \caption[The Yiddish Jabberwock!]{The Yiddish Jabberwock! See {\tt jabberwock.tex} for details.} \label{fig:jabberwock} \end{figure} Figure~\ref{fig:jabberwock}\ provides an example of Yiddish typessetting, displaying the Yiddish translation of ``Jabberwocky'' by Raphael Finkel; check file \verb=jabberwock.tex= for details of the typesetting, but the conventions for the first stanza are \begin{verbatim} s\'iz brilik geven, di shlikhtinke toves hobn gevirt un gevimlt in vobn: gants mimzish geven di borogoves; di mome-ret hot oysgegrobn. \end{verbatim} which seems to mirror the actual pronunciation pretty well (although I am certainly no Yiddish {\it maven\/}!). I believe that the \makor\ fonts are all ``Ladino-ready.'' That is, they contain all glyphs you might need to typeset Ladino text. Alas, I have not been able to locate an unambiguous table of sounds for a Ladino alphabet. If any reader can provide this, I will be happy to create a Ladino convention for \makor. This applies to any other script or dialect using Hebrew characters. \begin{figure}[htbp] \centering \noindent\epsffile{german.eps} \caption{A German dialect of \protect\makor.} \label{fig:german} \end{figure} \subsection{\makorrm\ ``dialects''} One great advantage of Omega is that it's so easy to customize your input scheme. We've seen examples of that above, and here's one final one. I tried hard to make the default input mechanism for \makor\ be as intuituve as possible, but, of course, intuition is a relative thing. It's entirely reasonable for me, as a speaker of American English, to use the inputs \verb=ts= and \verb=z= for the letters tsaddik and zayin. But it's not so intuitive, say, for a German user of \makor. Germans represent this pair of sounds by \verb=z= and \verb=s= respectively, and we might design a German `dialect' of \makor\ to reflect this different linguistic perspective. Most input conventions are the same for a German speaker as for an English speaker, but there are some differences, so it makes sense to contemplate a \makor\ convention in which Germans, say, can enter Hebrew text in a way that makes sense for them. To this end, I've created the \verb=MKRdeu= environment (\verb=deu==deutsch). Most of the input conventions remain the same as for the standard set of conventions, and the few differences appear in figure~\ref{fig:german}, and examples of its use appear at the bottom of this figure. I make no claim to any expertise in German, and German readers may feel that my input choices are poor. Therefore, I welcome suggestions for improvement, as well as sugestions for other \makor\ dialects. \subsection{Archaic systems: Old Hebrew; Palestinian Babylonian vocalization} As we mentioned above, you get Old Hebrew (sometimes called Paleo-Hebrew) as a font change. Thus, after something like \begin{verbatim} \hfontdef{OH}{oldheb}{14pt} ... \[\hfont{OH}'vgdh wzch.tyk lmn.s` ftsqrshth\] \end{verbatim} \hfontdef{siloam}{oldheb}{9pt}% you get \leavevmode\epsffile{ohalph.eps}, the Hebrew alphabet. The archaic Babylonian and Palestinian vowel systems were competitors to the Tiberian system that eventually won the day about a thousand years ago. In case you need to typeset using these alternative vowel systems, \makor\ provides an as-yet experimental way for you to do that. Figure~\ref{fig:archaic}\ shows an example of these systems. \begin{figure}[htbp] \noindent\hbox to\textwidth{\hss\epsffile{archaic.eps}\hss} \vskip-60pt \caption[Archaic Hebrew vowel systems.]{% Archaic Hebrew vowel systems. See {\tt archaic.tex} for typesetting details.} \label{fig:archaic} \end{figure} \makor\ performs this typesetting within the standard {\tt MKR} environment, but I've created special Ezra fonts containing the archaic vowels in place of the usual Tiberian diacritics. For example, I could define fonts such as \begin{verbatim} \hfontdef{Pal}{ezrapal2}{14pt} \hfontdef{Bab}{ezrabab2}{14pt} \end{verbatim} which I invoke after a call to a special \verb=\ArchaicVowels= command. The examples in figure~\ref{fig:archaic}\ was keyed according to the following schematic. \begin{verbatim} \def\PAL{\ArchaicVowels \hfont{Pal}} \[\PAL ...\] \end{verbatim} \begin{figure}[htbp] \centering \vbox{\halign{\tt #\hfil\quad&\vtop{\hsize=.6\hsize \raggedright \noindent\strut #\strut\endgraf}\cr MKR &Standard \makor\ conventions; the default.\cr MKRbl &Like {\tt MKR}, except uses bent lameds.\cr Lagally &Conventions of Klaus Lagally's Arab\TeX.\cr BHS &Conventions of Biblia Hebraica Stuttgartensia.\cr BHSbl &Like {\tt BHS}, but with bent lameds.\cr MKRnv &Like {\tt MKR}, but no vowels or diacritics are typeset.\cr BHSnv &Like {\tt BHS}, but no vowels are typeset.\cr MKRalt&Like {\tt MKR}, but non-standard placement of vowels in some terminal letters is used.\cr MKRdeu&a German (deutsche) variation of the standard {\tt MKR} environment.\cr }} \caption{Standard \makor\ environments.} \label{fig:environments} \end{figure} \subsection{Standard conventions; rolling your own...} \makor\ sets up several conventions (environments) for typesetting in a variety of contexts. Figure~\ref{fig:environments}\ lists these, most of which have already been mentioned. Any of the items in the left column of this figure can appear as argument to the \verb=\MakorEnvironment= command. For example, to typeset Yiddish, your input file would contain the following symbolism: \begin{verbatim} \MakorEnvironment{YID}\[\hfont{...} ...\] \end{verbatim} (as usual, the ellipsis \verb=...= represents your text). You may feel you need to create a variant of one of these. \makor\ will cooperate, provided you adhere to the following procedure. First of all, \makor\ creates a temporary file to contain the instructions needed to customize your set of conventions, and you need to provide a name for this file. If you provide the name {\tt mystuff} (for example), \makor\ creates the temporary file {\tt mystuff.tmp}. You use this name in two places. This name is the argument of a command that \makor\ uses to begin the process. Next, you set the various parameters on or off that you want to adjust; see the file {\tt makor2.tex} for details, but don't change anything in it! After this, issue a command which tells \makor\ to begin the one or more new conventions, not forgetting to provide a name for this new convention. Finally, \makor\ needs to slurp up this information which has been written to the temproary file. This description has been a bit too vague to be of use, so we present an example. Assume we need an environment that suppresses vowels but does print the cantorial trope at the same time that the Biblia Hebraica Stuttgartensia input rules are observed. The following statements should appear in your source file: \begin{verbatim} \StartSomeOCPLists{mystuff} \Vowelsoff \BHSon \MakeMakorEnvironment{TRPNV} \InhaleEnvironmentKnowledge{mystuff} \end{verbatim} and you use this new environment in this way. \begin{verbatim} \noindent\MakorEnvironment{TRPNV}\BIBLE\[...\] \end{verbatim} Figure~\ref{fig:trpnv}\ shows the same selection as figure~\ref{esther}, but with all vowels stripped away. You rarely (if ever?) see Hebrew texts printed like this, but perhaps this may prove useful for people studying the chanting of the Hebrew sacred texts. \begin{figure}[htbp] \noindent\hbox to\textwidth{\vrule width0pt depth45pt \hss\epsffile{trpnv.eps}\hss} \caption[A bit of Esther: trope, but no vowels.]{% Selection from Esther, vowelless but with trope. See {\tt trpnv.tex} to see how this was done.} \label{fig:trpnv} \end{figure} \= \section{Nitty-gritty: Hebrew alignments and tables; footnotes} \noindent\droporn{\DingBat\hskip4pt}I'd like to describe a macro---a variation of plain \TeX's \verb=\halign=---that makes it possible to type Hebrew columns left to right and have them typeset right to left. I used \verb=\halign= as a model rather than \LaTeX's \verb=\tabular= because I've always found that \verb=\halign= is more versatile. {\bf Caveat!} This macro works by writing certain information to a temporary file; it is this operation that allows Makor to reverse the order of columns. However, as a result, strange things are apt to happen if you go too wild in your table macros. Some of this strangeness will be discussed below. Always be alert to the fact that you may have to reorganize or your tabular data or set up the table in a different way to get it to typeset. I invite motivated readers to re-do these macros more robustly. Simple tables, such as the one in figure~\ref{fig:trope}, require no special treatment. The table in figure~\ref{fig:hitpael}\ is a slightly different story. Makor provides a \begin{verbatim} \HEBALIGN \end{verbatim} alignment macro for producing tables like this. Although \verb=\HEBALIGN= is no way near as robust or versatile as \verb=\halign= (the plain \TeX\ antecedent of \LaTeX's \verb=\tabular= environment), I hope it will be of use. Basically, we seek to enter enter columns and column data from left to right and have it typeset in right to left format. As with all \TeX\ environments, \verb=\HEBALIGN= requires a template followed by any number of row data. Both the rows and the templates are arguments of a \verb=\CR= macro, which {\em precedes\/} the template or row data. As in standard \TeX, the tabbing symbol \verb=&= separates each column. {\em Unlike\/} standard \TeX, there must be the same number of \verb=&='s on each line. (Otherwise, the data will line up in a manner you won't have anticipated.) In particular, \TeX's neat \verb=&&= convention for the template row can {\em not\/} be used in \verb=\HEBALIGN=. Essentially, any formatting commands can appear in the template specification. However, you cannot use the \verb=#= tabbing symbol; there is a category code conflict. Use the Makor macro \verb=\H= instead. Thus, a simple table could be typed as \begin{verbatim} \tabskip=1.5pc \HEBALIGN{\CR{\hfil\[\H\]&\[\H\]\hfil}% end of template \CR{'&baeyth}% end of first row \CR{gimel&d}% end of second row } % end of \HEBALIGN \end{verbatim} and which typesets as the top sample in figure~\ref{fig:aligns}. %\hfontdef{X}{ezra2}{10pt} %% \def\myprotects{} %% \HEBALIGN{\CR{\hfil\[\H\]&\[\H\]\hfil}% end of template %% \CR{\/'&baeyth}% end of first row %% \CR{gimel&d}% end of second row %% }% end of \HEBALIGN \noindent This could also have been coded as \begin{verbatim} \HEBALIGN{\CR{\hfil\H&\H\hfil}% end of template \CR{\['\]&\[baeyth\]}% end of first row \CR{\[gimel\]&\[d\]}% end of second row } % end of \HEBALIGN \end{verbatim} \begin{figure}[htbp] \centering \noindent\epsffile{hebaligns.eps} \caption{Sample Hebrew alignments.} \label{fig:aligns} \end{figure} There's also a \verb=\HEBNOALIGN= macro, which works like the usual \verb=\noalign= command. To get the second sample in figure~\ref{fig:aligns}, type %% %% \smallskip\noindent %% \HEBALIGN{\CR{\hfil\[\H\]&\[\H\]\hfil}% end of template %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{'&baeyth}% end of first row %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{\omit Gimel&d}% end of second row %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% } % end of \HEBALIGN \begin{verbatim} \HEBALIGN{\CR{\hfil\[\H\]&\[\H\]\hfil} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{'&baeyth} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{\omit Gimel&d} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} } \end{verbatim} %% \subsection{Excessive complexity} %% \verb=\HEBALIGN= is no way near as robust as \TeX's %% \verb=\halign=. So, a construction like %% \setbox0=\vbox{\tabskip1pc\halign{\hfil\it #\hfil&\hfil\it #\hfil\cr %% c&d\cr e&f\cr}}% %% \noindent{\large\bf\tabskip=1.5pc\halign{\hfil#\hfil&\hfil#\hfil\cr %% a&b\cr %% $\vcenter{\box0}$&g\cr}}\noindent does not seem to be directly possible %% with \verb=\HEBALIGN=. %% %% To accomplish something similar, you need to %% create a box with a statement like %% \begin{verbatim} %% \setbox0=\vbox{\baselineskip=1pt %% \HEBALIGN{\CR{\hfil\H\hfil&\hfil\H\hfil} %% \CR{\[g\]&\[d\]} %% \CR{\[h\]&\[w\]}}} %% \end{verbatim} %% and then use this box in the main table: %% \begin{verbatim} %% \tabskip=1.5pc\HEBALIGN{\CR{\hfil\H\hfil&\hfil\H\hfil} %% \CR{\['\]&\[v\]} %% \CR{$\vcenter{\box0}$&\[z\]}} %% \end{verbatim} %% which yields: %% \setbox0=\vbox{\baselineskip=10pt %% \HEBALIGN{\CR{\hfil\H\hfil&\hfil\H\hfil} %% \CR{\[g\]&\[d\]} %% \CR{\[h\]&\[w\]}}} %% \noindent{\tabskip=1.5pc\HEBALIGN{\CR{\hfil\H\hfil&\hfil\H\hfil} %% \CR{\['\]&\[v\]} %% \CR{$\vcenter{\box0}$&\[z\]}}} %% %% \noindent %% You have to be prepared to adopt non-standard %% approaches to Hebrew typesetting with Makor. \subsection{Protection} Owing to the aforementioned conflicts in category codes, you need to protect a command which is not primitive. For this you use the Makor command \begin{verbatim} \MPROTECT \end{verbatim} inside the \verb=\def=inition for \verb=\myprotects=, which Makor examines. Thus, if we type \begin{verbatim} \def\myprotects{\MPROTECT\multispan\MPROTECT\bf} \HEBALIGN{\CR{\H&\H&\H&\hfil\[\H\]&\[\H\]\hfil}% end of template \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{\multispan3:\hfil Silly\hfil:&\multispan2\hfil\[sh^aulOm!\]\hfil} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{\[1\]&\[2\]&\[3\]&'&baeyth}% end of first row \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{1&2&3&\omit\bf Gimel&d}% end of second row \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} } % end of \HEBALIGN \end{verbatim} you get the third specimen in figure~\ref{fig:aligns}; this table requires some comments: (1) the value of \verb=\tabskip= is \the\tabskip; (2) numerals taken from the prevailing Hebrew font may well differ from those taken from the prevailing Roman font; and (3) I needed to \verb=\MPROTECT= both \verb=\multispan= and \verb=\bf=, the latter because the \LaTeX/NFSS assigns a rather different expansion than does plain \TeX. When in doubt, you can always \verb=\MPROTECT= a command; it should do no harm in any case. %% \tabskip=2pc\def\myprotects{\MPROTECT\multispan\MPROTECT\bf} %% \HEBALIGN{\CR{\H&\H&\H&\hfil\[\H\]&\[\H\]\hfil}% end of template %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{\multispan3:\hfil Silly\hfil:&\multispan2\hfil\[sh^aulOm!\]\hfil} %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{\[1\]&\[2\]&\[3\]&'&baeyth}% end of first row %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{1&2&3&\omit\bf Gimel&d}% end of second row %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% } % end of \HEBALIGN \subsection{Suppressing reversal} If necessary, you can suppress the reversal process of several columns. Do this by enclosing the {\em data\/} (not the template) in curly brackets, and these brackets will certainly span several columns. For example, if we make the simple change \begin{verbatim} \tabskip=2pc\def\myprotects{\MPROTECT\multispan\MPROTECT\bf} \HEBALIGN{\CR{\H&\H&\H&\hfil\[\H\]&\[\H\]\hfil} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{\multispan3:\hfil Silly\hfil:&\multispan2\hfil\[sh^aulOm!\]\hfil} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{{\[1\]&\[2\]&\[3\]}&'&baeyth}%% <== OBSERVE EXTRA BRACKETS! \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} \CR{1&2&3&\omit\bf Gimel&d} \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} } % end of \HEBALIGN \end{verbatim} to the code for the previous table, we get the final table in figure~\ref{fig:aligns}. %% \tabskip=2pc\def\myprotects{\MPROTECT\multispan\MPROTECT\bf} %% \HEBALIGN{\CR{\H&\H&\H&\hfil\[\H\]&\[\H\]\hfil} %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{\multispan3:\hfil Silly\hfil:&\multispan2\hfil\[sh^aulOm!\]\hfil} %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{{\[1\]&\[2\]&\[3\]}&'&baeyth}%% <== OBSERVE EXTRA BRACKETS! %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% \CR{1&2&3&\omit\bf Gimel&d} %% \HEBNOALIGN{\vskip2pt\hrule\vskip2pt} %% } % end of \HEBALIGN %% \bigskip \begin{figure}[htb] \centering \noindent\hbox to\textwidth{\hss\epsffile{hitpael.eps}\hss} \caption{Using a Hebrew table to display a verb conjugation.} \label{fig:hitpael} \end{figure} Figure~\ref{fig:hitpael}\ puts most of this stuff together. You can check out the file {\tt hitpael.tex} to examine the innermost details of its production. When you make this examination, note carefully the shenanigans with \verb=\tabskip=, which look odd but aren't. Remember, the template line is reversed in the typesetting process. \subsection{Footnotes} A few comments on footnotes are in order, since authors can trip over some of the subtleties. By decree, footnotes are governed by their immediate context, as the examples in figure~\ref{fig:footnote}\ make clear. Here's how I got the English-style footnotes in this figure: \begin{verbatim} \footnote{Even though it's in English, it can contain Hebrew \[\hfont{HFOOTFONT}`aeyn dauvaur.\] See? \[\hfont{HFOOTFONT}% 'aniy lo' m'dabaer har'baeh `iv'riyth.\] The Hebrew and English snippets appear properly in the note.} \end{verbatim} and \begin{verbatim} \footnote{\[\hfont{HFOOTFONT}'vgdhw\]} \end{verbatim} Note that there is a default \texttt{HFOOTFONT} font defined in the \makor\ package, but you wish to re-define it. Here is how the Hebrew-style notes were typed. \begin{verbatim} \footnote{\hfont{HFOOTFONT}sh^aulOm!\HPAR} \end{verbatim} then \begin{verbatim} \footnote{\hfont{HFOOTFONT}shlwm. \ENG This is a test.\ENDENG \ 'vdthy 'th hmfthch shly. \ENG More English.\ENDENG\ ysh dw^'r vshvyly? \ENG Let's make ... the others.\ENDENG \ .slychh \ENG The note continues ... and concludes with it as well.\ENDENG} \end{verbatim} and finally \begin{verbatim} \footnote{\hfont{HFOOTFONT}\ENG Mostly English, even though it's a Hebrew footnote.\ENDENG\ lhthr^'wth vqrwv!\HPAR} \end{verbatim} Here, there are two new commands, \verb=\ENG= and \verb=\ENDENG= for placing English inclusions in a Hebrew footnote. The document which generated figure~\ref{fig:footnote}\ is a Lambda document, but the techniques I used are readily applied to non-Lambda footnote macros. \section{Various and sundry} \noindent\droporn{\DingBat\hskip4pt}In this section appear various topics that need to be in a manual, yet don't quite fit into the other sections. These include some bread-and-butter like installation as well as some reference to various tricks.\vspace*{34pt} \begin{figure}[htb] \centering \noindent\hbox to\textwidth{\hss\epsffile{footnote.eps}\hss} \caption{Footnote styles in a \makor\ document.} \label{fig:footnote} \end{figure} \subsection{A trick or two} Sometimes it pays to peruse the guts of the {\tt makor2} style file as well as some of the {\tt.otp} files. For example, if you do this you will note that \makor\ surrounds glyphs with \TeX\ macros that are responsible for the placement of these characters and symbols on the page. You can---carefully---redefine these macros in aid of the occasional special effect. For example, figure~\ref{fig:siloam}\ displays the old Hebrew letters that are part of the inscription of the old Siloam water tunnel in Jerusalem. It's interesting, of course, but most modern readers of Hebrew will want to know what each character represents without having to constantly flip back and forth to a font table. This inscription contains only consonants, each of which is placed in position by a macro called \verb=\PutCon= ({\tt con}=consonant). We carefully redefine this macro so it places the modern Hebrew equivalent underneath the old Hebrew consonant. Here's the redefined macro: \begin{verbatim} \def\PutCon#1{\oalign{#1\crcr \hidewidth\hfont{HDEFAULTFONT}#1\hidewidth \crcr}} \end{verbatim} (see {\it The \TeX book\/} for further details). The enhanced display appears in figure~\ref{fig:siloamalt}. \begin{figure}[htb] \null\vskip-40pt \noindent\hbox to\textwidth{\vrule width0pt depth50pt \hss\epsffile{siloamalt.eps}\hss} \caption[The Siloam water tunnel inscription: enhanced display]{% An enhanced display of the Siloam water tunnel inscription; see {\tt siloamalt.tex} for details.} \label{fig:siloamalt} \end{figure} \subsection{Processing this document}\label{page:doc} I used Omega1.15 to process this document. Although this is not the latest release (as of January, 2003), it appears to be far more robust than version\thinspace1.23, at least according to reports on the Omega list. It proved impossible to compile this entire document in Lambda (that is, the \LaTeX\ counterpart to Omega) without overflowing Omega's memory resources. As a result, I've included most of the figures by (1)~creating separate files for these figures; (2)~compiling them separately and creating {\tt.eps} files of the output; and (3)~including the {\tt.eps} images in this file by means of the utility {\tt dvips} (actually, the Omega-aware variant, {\tt odvips}). I've included all files with the Makor package that you'll need to typeset this manual (with one exception described below). Thus, to typeset this manual, after having properly installed Makor (see above), you type these commands \begin{verbatim} lambda mkr2man odvips mkr2man \end{verbatim} to generate {\tt mkr2man.ps}, which you can view or convert to {\tt.pdf} format. I encourage you to examine the underlying {\tt.tex} file for this manual as an aid to learning how to use \makor. To better understand how a figure was typeset, refer to the appropriate source file. For example, to see how figure~\ref{fig:primer}\ was created, have a look at {\tt primer.tex}. As a result of having to include umpteen of these {\tt.eps} files, the resulting PostScript and {\tt .pdf} files are quite swollen. My abject apologies to all. The only exception to my former statement---that all relevant files are part of the Makor distribution---has to do with fonts. This document is typeset using the Monotype Janson font family, a proprietary set of fonts. If you do {\bf not\/} have these fonts, then comment out statements like \begin{verbatim} \input zmtmjn \end{verbatim} or \begin{verbatim} \usepackage{zmtmjn} \end{verbatim} which appear at the beginning of any of the {\tt.tex} files. With these statements commented out, Lambda and Omega will use the standard \TeX\ fonts in the compilation. If you {\bf do\/} have these fonts installed, then do nothing. I have included the style files {\tt zmtmjn.tex}, {\tt zmtmjn.sty}, and {\tt ot1mjnx.fd} which have been created using my virtual font installation packages {\tt mathinst} and {\tt vfinst}, which you can find on your local {\sc ctan} archive. (In these files, I assume that the Janson fonts have been renamed and installed according to the Berry font naming scheme, in which {\tt mjn} designates Monotype Janson. These styles also assume the presence of the MathTime fonts, but unless you attempt to typeset mathematics, this should generate angry warnings but nothing else. If you plan to typeset with these fonts using plain \TeX\ or plain Omega, you will also need Damian Cudgley's plain font selection scheme, in the file {\tt pdcfsel.tex}, which is part of the {\tt pdcmacs} package on {\sc ctan}.) The file {\tt genesis.tex}, which generated figure~\ref{fig:genesis}, also uses proprietary fonts, but even if you possess these Hebrew Hadassah fonts, you would need special \TeX\ macro files to properly typeset this figure. \subsection{Caveat!} The program {\tt odvips} suffers from at least one minor bug, which will bite you if you attempt to recreate any of the {\tt.eps} files that are part of this manual. Experienced users know that you can create {\tt eps} from a one-page document with a command of the form \begin{verbatim} odvips -E -o foo.eps foo \end{verbatim} where {\tt foo.dvi} has previously been created by Omega. For proper inclusion, bounding box dimensions have to be present, and these four numbers are calculated {\em wrongly\/} by {\tt odvips}. Before re-creating {\tt foo.eps}, say, make sure you open the old file with a text editor, record these numbers, and then edit them into the new such file. The \begin{verbatim} BoundingBox \end{verbatim} comment which contains this information appears within the first half-dozen lines in any {\tt.eps} file. \newpage \begin{figure}[t] \noindent\hbox to\textwidth{\hss\epsffile{koheleth.eps}\hss} \caption{A portion of Ecclesiastes.} \label{fig:koheleth} \end{figure} \end{document}