% \iffalse meta-comment % % ledarab.dtx % Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net % Maintainer:Maïeul Rouquette maieul at maieul dot net % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either % version 1.3 of this license or (at your option) any % later version. % The latest version of the license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of % LaTeX version 2003/06/01 or later. % % This work has the LPPL maintenance status "unmaintained". % % This work consists of the files listed in the README file. % % %<*driver> \documentclass[twoside]{ltxdoc} \usepackage{url} \usepackage[draft=false, plainpages=false, pdfpagelabels, bookmarksnumbered, % hyperindex=true hyperindex=false ]{hyperref} \providecommand{\phantomsection}{} % just in case hyperref is not used \usepackage{graphicx} % a simpler version of chngpage.sty's adjustwidth environment \newenvironment{addtomargins}[2]{% \begin{list}{}{% \topsep 0pt \addtolength{\leftmargin}{#1}% \addtolength{\rightmargin}{#2}% \listparindent \parindent \itemindent \parindent \parsep \parskip }% \item[]}{\end{list}} \makeatletter \@mparswitchfalse \makeatother \EnableCrossrefs \CodelineIndex \RecordChanges %%\OnlyDescription \renewcommand{\MakeUppercase}[1]{#1} \pagestyle{headings} \setcounter{StandardModuleDepth}{1} \setcounter{IndexColumns}{2} \begin{document} \raggedbottom \DocInput{ledarab.dtx} \end{document} % % % \fi % % \CheckSum{821} % % \makeatletter % \newcommand*{\DescribeIt}{\leavevmode\@bsphack\begingroup\MakePrivateLetters % \Describe@It} % \newcommand*{\Describe@It}[1]{\endgroup % \marginpar{\raggedleft\PrintDescribeEnv{#1}}% % \SpecialItIndex{#1}\@esphack\ignorespaces} % \newcommand*{\SpecialItIndex}[1]{\@bsphack % \index{#1\actualchar{\protect\ttfamily#1}\encapchar usage}\@esphack} % % \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty} % \DoNotIndex{\@flushglue,\@input} % \DoNotIndex{\@makefnmark,\@makeother,\@maketitle} % \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa} % \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue} % \DoNotIndex{\@thanks,\@thefnmark,\@topnum} % \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin} % \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces} % \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup} % \DoNotIndex{\mathcal,\csname,\def,\documentstyle,\dospecials,\edef} % \DoNotIndex{\egroup} % \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist} % \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global} % \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn} % \DoNotIndex{\ifcase} % \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item} % \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower} % \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing} % \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc} % \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut} % \DoNotIndex{\strutbox} % \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt} % \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@} % \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim} % \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary} % \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle} % \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode} % \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip} % \DoNotIndex{\nopagebreak} % \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle} % \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb} % \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar} % \DoNotIndex{\[,\{,\},\]} % \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode} % \DoNotIndex{\baselineskip,\begin,\tw@} % \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q} % \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H} % \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z} % \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0} % \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_} % \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother} % \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment} % \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined} % \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc} % \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar} % \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode} % \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting} % \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf} % \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse} % \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault} % \DoNotIndex{\bfdefault} % \DoNotIndex{\newcommand} % % \newcommand{\dtxfilename}{\texttt{ledarab.dtx}} % \def\fileversion{v0.1} \def\filedate{2005/03/24} % % \changes{v0.1}{2005/03/24}{First public release} % \changes{v0.1}{2011/17/06}{Ma\"ieul Rouquette new maintainer} % \hyphenation{man-u-script man-u-scripts} % % \newcommand{\Lpack}[1]{\textsf{#1}} % \newcommand{\Lclass}[1]{\textsf{#1}} % \newcommand{\file}[1]{\texttt{#1}} % \newcommand{\env}[1]{\texttt{#1}} ^^A for environment names % \newcommand{\ledpar}{ledpar} % \newcommand{\ledmac}{ledmac} % \newcommand{\Ledmac}{\Lpack{\ledmac}} % \newcommand{\Ledpar}{\Lpack{\ledpar}} % \newcommand{\edmac}{\texttt{EDMAC}} % \newcommand{\tabmac}{\texttt{TABMAC}} % \newcommand{\edstanza}{\texttt{EDSTANZA}} % \newcommand{\ArabTeX}{\texttt{ArabTeX}} % \newcommand{\Larabtex}{\Lpack{arabtex}} % \newcommand{\Lafoot}{\Lpack{afoot}} % \newcommand{\Lledarab}{\Lpack{ledarab}} % \newcommand{\PWcomment}[1]{} % \newenvironment{PW}{\itshape}{} % \renewenvironment{PW}{\sffamily}{} % \newcommand{\texbook}{\textit{TeXbook}} % \newcommand{\thetexbook}{\textit{The TeXbook}} % % ^^A PW added following as the definitions are at some unknown elsewhere % \newcommand{\egstart}{} % \newcommand{\egmid}{} % \newcommand{\egend}{} % % \renewcommand{\egstart}{% % \par % \begingroup % \centering % \begin{minipage}{0.45\textwidth}} % \renewcommand{\egmid}{% % \end{minipage}\hfill\begin{minipage}{0.45\textwidth}} % \renewcommand{\egend}{% % \end{minipage}\par\endgroup} % % \title{Critical editions and arabic typesetting: \\ % the \Lpack{ledarab} and \Lpack{afoot} packages\thanks{This file (\dtxfilename) % has version number \fileversion, last revised \filedate.}} % \author{% % Peter Wilson \\ % Herries Press\thanks{\texttt{herries dot press at earthlink dot net}}\\ % Ma\"ieul Rouquette\thanks{\texttt{maieul at maieul dot net}} %} % % \date{} % % % \maketitle % % % \begin{abstract} % The \Ledmac{} package, which is based on the \PlainTeX\ set of % \edmac\ macros, has been used for some time for typesetting critical % editions, and the \ArabTeX{} system enables the typesetting of arabic % texts. % % The \Lafoot{} package is an extension to the \Larabtex{} package % to enable footnotes in arabic texts and the \Lledarab{} package % provides an interface between \Larabtex{} and \Ledmac{} (also \Ledpar) % for arabic text % in critical editions. % % Please, for all bug's report, open a ticket on \url{https://github.com/maieul/ledmac/issues/} % \end{abstract} % % \tableofcontents % \listoffigures % % % \section{Introduction} % % The \edmac{} macros \cite{EDMACTUG} for typesetting critical editions % of texts % have been available for use with TeX for some years, and the % \Larabtex{} package \cite{ARABTEX} provides for arabic typesetting. % These two % works are interfaced by the \Lpack{aedpatch} package provided as % part of the \ArabTeX{} distribution. % % Following the introduction of \edmac{} % there had been a small but constant demand for a % version that could be used with LaTeX. The \Ledmac{} % package \cite{LEDMAC} was introduced in 2003 in an attempt to satisfy % that request. This was extended in 2004 by the \Ledpar{} package % \cite{LEDPAR} to allow the typesetting of parallel critical texts. % The \Lledarab{} package provides an interface between the \Larabtex{} % and the \Ledmac{} (and \Ledpar) packages. % The package has to try and coerce \TeX{} into paths it was not designed % for. Use of the package, therefore, may produce some surprising results. % % I initially used version 3.10 (2001/09/16) of the \Larabtex{} package % but when I moved to version 3.11 (2003/08/22) I found that the code % for footnotes (in \file{afoot.sty}) no longer worked. The \Lafoot{} package % provided here is based on the obsolete 3.10 version, until a working % version\footnote{I made queries about this on the \texttt{comp.text.tex} % newsgoup on 2005/01/06 but got no responses.} % of \file{afoot.sty} is provided in the \ArabTeX{} distribution. % % \section{The \Lpack{afoot} package}\label{howto} % % The \Larabtex{} package automatically calls the \Lafoot{} package. If you % want to use my version of \Lafoot{} just make sure that it is found by % LaTeX before the \ArabTeX's version, for example by having a copy in % your working directory. % % \DescribeMacro{\footnote} % The \cs{footnote}\marg{text} produces a numbered footnote. Unlike % the usual LaTeX \cs{footnote} macro there is no optional argument % for specifying the number. % % \DescribeMacro{\LRfootnotes} % Inside an \env{arabtext} environment the \cs{LRfootnotes} declaration % causes following footnotes to be in normal left to right (LtoR) roman text, % left adjusted and with the number at the left. % % \DescribeMacro{\RLfootnotes} % \DescribeMacro{\arabfootnotes} % Inside an \env{arabtext} environment the \cs{RLfootnotes} or % \cs{arabfootnotes} declaration % causes any following footnotes to be in right to left (RtoL) arabic script, % right adjusted and with the number at the right. % In normal text the footnotes are normal. % % To get an arabic footnote in normal text try: \\ % \verb?...roman\footnote{\RL{arabic}}...? \\ % The footnote will be left adjusted but the note's text will be arabic. % % % \section{The \Lpack{ledarab} package} % % The \Lledarab{} package\footnote{I offered an earlier version to Prof. % Lagally towards the end of 2003 for possible addition to his % \Larabtex{} package but got no response to my messages.} % is partially based on Klaus Lagally's \file{aedpatch.sty} % and lets the \Ledmac{} package's critical apparatus be applied % to arabic texts. The packages must be used in the following order: % \begin{verbatim} % \usepackage{ledmac} % \usepackage{ledpar} % if you need parallel texts. % \usepackage{arabtex} % \usepackage{ledarab} % \end{verbatim} % % The package is very limited --- only the basic numbering and % critical footnotes are supported. Even then, all critical notes % are left adjusted with the lemma and note in left to right order, although % the lemma and/or note may be in RtoL arabic script. Items like familiar % footnotes, endnotes, tabulars and so on are left to you the user. % % In normal numbered text you can use the \cs{RL} macro within the critical % aparatus for short pieces of arabic. % \begin{verbatim} % \beginnumbering % \pstart % Normal \edtext{latin}{\Cfootnote{roman}} text. % Normal \edtext{\RL{latin}}{\Cfootnote{\RL{roman}}} text. % ... % \end{verbatim} % In the first line above the lemma and footnote will both be in latin % script while in the second line they will both be in arabic script; in % each case, though, the lemma is at the left and the note follows on the % right. % % \begin{verbatim} % \beginnumbering % \pstart % \begin{arabtext} % Arabic \edtext{script}{\Afootnote{roman}} text. % Arabic \edtext{script}{\Afootnote{\LR{roman}}} text. % Arabic \edtext{script}{\Afootnote{\RL{arabic}}} text. % Arabic \edtext{\LR{error}}{\Afootnote{roman}} text. % \end{arabtext} % \pend % ... % \end{verbatim} % In the first and second lines above the lemma is in arabic script and % the note in % latin script, while in the third line both the lemma and the note % are in arabic script. Using \cs{LR} as part of the lemma, as in the last % line causes errors. % % \begin{verbatim} % \beginnumbering % \begin{arabtext} % \pstart % Arabic \edtext{script}{\Afootnote{messy}} text. % Arabic \edtext{script}{\Afootnote{\LR{messy}}} text. % Arabic \edtext{script}{\Afootnote{\RL{arabic}}} text. % \pend % \end{arabtext} % ... % \end{verbatim} % In the first two lines above the lemma is in arabic and the note % is in what looks like (to me at least) arabic, but it is all messed up. % In the last line both the lemma and the note are % in arabic. % % \DescribeMacro{\arablnumrep} % \DescribeMacro{\restorelnumrep} % Line numbers are normally typeset in latin script arabic numerals and LtoR. % Following the \cs{arablnumrep} declaration they will be typeset in % arabic script numerals and RtoL. The \cs{restorelnumrep} ensures the % regular line numbers. Use the declarations like: % \begin{verbatim} % \arablnumrep % \begin{arabtex} ... \end{arabtex} % \restorelnumrep % \end{verbatim} % % \DescribeMacro{\latinarabic} % \DescribeMacro{\arabiclatin} % Arabic script naturally has a greater height or leading % (larger \cs{baselineskip}) % than latin text. Parallel normal texts and parallel arabic texts align % naturally, as do parallel columns of latin/arabic or arabic/latin texts. % However, left to their own devices pages of parallel arabic and % normal text will not align. % % If you are setting normal text on the left pages and arabic script % on the right using the \cs{latinarabic} declaration should align them. % Similarly when you have arabic script on the left and latin script % on the right use the \cs{arabiclatin} declaration. % % \DescribeMacro{\ledarabstrut} % \DescribeMacro{\savestruts} % \DescribeMacro{\restorestruts} % The \cs{ledarabstrut} strut is the height of a line of arabic script % and is used to increase the height of latin text lines to match % arabic script lines. The definition is: \\ % \verb?\newcommand*{\ledarabstrut}{\rule[-1ex]{0pt}{4ex}}? \\ % If it does not quit match the arabic script in your case then change the % \verb?4ex? appropriately. % % The macro \cs{savestruts} saves the current definitions of the struts % used in the left and right texts (\cs{latinarabic} and \cs{arabiclatin} % change these). The macro \cs{restorestruts} set the definitions of the % left and right struts to match those stored by the last \cs{savestruts}. % The package calls \cs{savestruts} itself to store the default struts. % % For example, with regular text on the left and arabic on the right % then the general scheme is: % \begin{verbatim} % \savestruts % \begin{pages} % \begin{Leftside} % \beginnumbering % \pstart % normal text % ... % \end{Leftside} % \begin{Rightside} % \begin{arabtext} % \beginnumbering % \pstart % arabic text % ... % \end{Rightside} % \latinarabic % \Pages % \restorestruts % \end{pages} % \end{verbatim} % % In the above, if it had been: \\ % \verb?\begin{arabtext}?\\ % \verb? \Pages?\\ % \verb?\end{arabtext}?\\ % Then a redefinition of \cs{ledarabstrut} as: \\ % \verb?\renewcommand*{\ledarabstrut}{\rule[-1ex]{0pt}{3.75ex}}? \\ % might provide better alignment of the latin text with the arabic. % % Life gets complicated regarding lemmas and notes when there are % parallel latin and arabic texts. % Consider that there are the following left (latin) and right (arabic) texts % \begin{verbatim} % \begin{Leftside} % ... % 1) \edtext{latin}{\Afootnote{roman}}... % 2) \edtext{\RL{latin}}{\Afootnote{\RL{roman}}}... % 3) \edtext{\LR{latin}}{\Afootnote{\LR{roman}}}... % ... % \end{Leftside} % \begin{Rightside} % \begin{arabtext} % ... % A) \edtext{script}{\Bfootnote{arabic}}... % B) \edtext{script}{\Bfootnote{\RL{arabic}}}... % C) \edtext{script}{\Bfootnote{\LR{arabic}}}... % ... % \end{Rightside} % \end{verbatim} % and they are to be output as matching pages. If they are output simply as: \\ % \verb?\Pages? \\ % then the lemmas and notes for the marked lines are: \\ % 1) latin lemma, latin note \\ % 2) arabic lemma, arabic note \\ % 3) latin lemma, latin note \\ % A) arabic lemma, latin note \\ % B) arabic lemma, arabic note \\ % C) arabic lemma, latin note % % On the otherhand, if they are output via: \\ % \verb?\begin{arabtext} \Pages \end{arabtext}? \\ % then the lemmas and notes for the marked lines are: \\ % 1) latin lemma, messed arabic note \\ % 2) arabic lemma, arabic note \\ % 3) latin lemma, messed arabic note \\ % A) arabic lemma, messed arabic note \\ % B) arabic lemma, arabic note \\ % C) arabic lemma, messed arabic note % % % \StopEventually{} % % \section{The \Lpack{afoot} implementation} % \label{afootimpl} % % The \Lafoot{} package is effectively an extraction from % the \Lpack{alatex} package of \ArabTeX, v3.10, 2000/05/08. % % Announce the name and version of the package, which is % targetted for LaTeX2e. % % \begin{macrocode} %<*afoot> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{afoot}[2005/03/24 v0.1 PW's version of ArabTeX's afoot.sty] % \end{macrocode} % % The package redefines the internals of the LaTeX \cs{footnote} macro % along the lines of the \cs{vfootnote} macro in \PlainTeX. It also % does some things a bit differently if the \Lpack{fnpara} package % has been used. % % \begin{macro}{\@makefntext} % I don't know why this is here as it is also defined as part of the % \cs{@footnotetext} macro below. % \begin{macrocode} \ifx \footglue \undefined % normal case \else % fnpara.sty is present \long\def\@makefntext#1{{$^{\@thefnmark}$}#1\nobreak } \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\@footnotetext} % \begin{macrocode} %%% Make the LaTeX \cs{footnote} catcode-safe, like in Plain TeX. \def \@footnotetext {% new, do not yet read footnote text \insert \footins \bgroup \ifx \footglue \undefined % prepare normal footnote \interlinepenalty \interfootnotelinepenalty \floatingpenalty \@MM \splittopskip \footnotesep \splitmaxdepth \dp \strutbox \else \global\long\def \@makefntext ##1{{$^{\@thefnmark }$}##1\nobreak }% \setbox0=\hbox \bgroup % fnpara.sty is present \floatingpenalty=20000 \footnotesize \fi \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% \a@fntext } % \end{macrocode} % \end{macro} % % \begin{macro}{\@mpfootnotetext} % The version for \env{minpage}s. % \begin{macrocode} \def \@mpfootnotetext {% \global \setbox \@mpfootins \vbox \bgroup \edef \@currentlabel {\csname p@mpfootnote\endcsname \@thefnmark }% \unvbox \@mpfootins \reset@font \a@fntext } % \end{macrocode} % \end{macro} % % \begin{macro}{\a@fntext} % A common portion of the code for the footnote text in both normal and % \env{minipage} environments. % \begin{macrocode} \def \a@fntext {% common part for footnote text \footnotesize \hsize \columnwidth \@parboxrestore \clubpenalty 5000 \@makefntext {\rule {\z@ }{\footnotesep }}\futurelet \next \fo@t } % \end{macrocode} % \end{macro} % % The next set of macros are from the \cs{vfootnote} macro % (\textit{The TeXbook}, Appendix B) % \begin{macro}{\fo@t} % Copy from \textit{TeXbook}. % \begin{macrocode} %%%%%%%%%%%%%%%%%%%%%%%% \footnote, parts from Plain %%%%%%%%%%%%%%%%% \def\fo@t{% \ifcat \bgroup \noexpand\next \let\next\f@@t \else \let\next\f@t \fi \next } % \end{macrocode} % \end{macro} % % \begin{macro}{\f@@t} % Copy from \textit{TeXbook}. % \begin{macrocode} \def\f@@t{\bgroup\aftergroup\@foot\let\next} % \end{macrocode} % \end{macro} % % \begin{macro}{\f@t} % Copy from \textit{TeXbook}. % \begin{macrocode} \def\f@t#1{#1\@foot} % \end{macrocode} % \end{macro} % % \begin{macro}{\@foot} % This has a bit more to it than the \textit{TeXbook} macro. % \begin{macrocode} \def\@foot{\unskip \strut \lineskiplimit -20pt \endgraf \egroup } % \end{macrocode} % \end{macro} % % \begin{macro}{\a@footnote} % \begin{macro}{\@foot} % \begin{macro}{\@footnotemark} % These macros are for normal footnotes from within an arabic environment. % \begin{macrocode} %%%%%%%%% footnote inside an Arabic environment, Roman document style \def\a@footnote{% \def\@foot{% ArabTeX-LaTeX version \ifx \footglue \undefined % normal case \unskip \strut \else % fnpara.sty is present \penalty-10 \hskip\footglue \egroup % box 0 \dp0=0pt \ht0=\fudgefactor\wd0 \box0 \fi \egroup \arab@codes \set@arabfont \test@token }% \def\@footnotemark{\af@fnmarkb@x \a@spacetrue}% \rmfamily \parindent \a@parindent \unarab@codes \footnote } % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\af@fnmarkb@x} % This saves some tokens as the code is used in several places. % \begin{macrocode} \def\af@fnmarkb@x{% \a@spacefalse \putword@box \@makefnmark} % \end{macrocode} % \end{macro} % % \begin{macro}{\a@footnotemark} % \begin{macro}{\@footnotemark} % These are also for normal footnotes from within an arabic environment. % \begin{macrocode} \def\a@footnotemark{% \def\@footnotemark{\af@fnmarkb@x \a@spacefalse \arab@codes \test@token}% \unarab@codes \footnotemark } % \end{macrocode} % \end{macro} % % \begin{macro}{\a@@footnote} % \begin{macro}{\@footnotemark} % \begin{macro}{\a@fntext} % These macros are for arabic footnotes from within an arabic environment. % \begin{macrocode} %%%%%%%%% footnote inside an Arabic environment, Arabic document style \def\a@@footnote{% ArabTeX-LaTeX version \def\@footnotemark{\af@fnmarkb@x \a@spacetrue}% \def\a@fntext{\a@@fntext }% \footnote } % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\a@@fntext} % This is also for arabic footnotes, being the common portion of the code % for footnote text in both normal and \env{minipage} texts. % \begin{macrocode} \def\a@@fntext#1{% some common code for footnote text \def\end{% \a@par \egroup \test@token }% \hsize \columnwidth \@parboxrestore \initlineb@x \@footnotemark \test@token #1 \end } % \end{macrocode} % \end{macro} % % \begin{macro}{\a@@footnotemark} % \begin{macro}{\@footnotemark} % As are these. % \begin{macrocode} \def\a@@footnotemark{% \def\@footnotemark{\af@fnmarkb@x \a@spacetrue \test@token}% \footnotemark } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\LRfootnotes} % Inside an \env{arabtext} environment the \cs{LRfootnotes} declaration % results in normal footnotes, left adjusted. % \begin{macrocode} \def \LRfootnotes {% left to right, Arabic document \let \a@c@footnote \a@footnote \let \a@c@footnotemark \a@footnotemark } \all@wcmd \LRfootnotes % \end{macrocode} % \end{macro} % % \begin{macro}{\RLfootnotes} % Inside an \env{arabtext} environment the \cs{RLfootnotes} declaration % results in arabic footnotes, right adjusted. In normal text the footnotes % are normal. % \begin{macrocode} \def \RLfootnotes {% right to left, Arabic document \let \a@c@footnote \a@@footnote \let \a@c@footnotemark \a@@footnotemark } \all@wcmd \RLfootnotes % \end{macrocode} % \end{macro} % % \begin{macro}{\arabfootnotes} % \cs{arabfootnotes} is an alias for \cs{RLfootnotes}. % \begin{macrocode} \let \arabfootnotes \RLfootnotes \all@wcmd \arabfootnotes % \end{macrocode} % \end{macro} % % Make \cs{LRfootnotes} the default. % \begin{macrocode} \LRfootnotes % \end{macrocode} % % The end of the package % % \begin{macrocode} % % \end{macrocode} % % % \section{The \Lpack{ledarab} implementation} % \label{ledarabimpl} % % The \Lledarab{} package is based on the original \Lpack{aedpatch} % from the \ArabTeX{} distribution. % % Announce the name and version of the package, which is for LaTeX2e. % % \begin{macrocode} %<*ledarab> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ledarab}[2005/03/24 v0.1 Cooperation between arabtex and ledmac] % \end{macrocode} % % \begin{macro}{\tr@ce@n} % \begin{macro}{\tr@ce@ff} % I think, but don't know, that by appropriate (re)definitions of these % you can get \Larabtex{} % to produce some tracing of what is going on, perhaps by setting % \cs{tracingmacros} to 1 instead of 0. % \begin{macrocode} \providecommand*{\tr@ce@n}{\tracingmacros 0} \providecommand*{\tr@ce@ff}{\edef \tr@ce@n {\nxp\tracingmacros \the\tracingmacros }\tracingmacros 0} \let \tr@ce@n \relax % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\if@l@dparpack} % \begin{macro}{\@l@dparpacktrue} % \begin{macro}{\@l@dparpackfalse} % We need a flag for knowing if \Ledpar{} is being used. % \begin{macrocode} \newif\if@l@dparpack \@l@dparpackfalse \@ifpackageloaded{ledpar}{\@l@dparpacktrue}{\@l@dparpackfalse} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Adjusting the baselines} % % \begin{macro}{\do@linehook} % Arabic lines are taller than roman lines, so add some height to % numbered lines. % \begin{macrocode} \renewcommand*{\do@linehook}{% \advance\baselineskip 1ex} % \end{macrocode} % \end{macro} % % % \begin{macro}{arabledparfixi} % If the \Ledpar{} package is loaded we have to change several of its % macros. We can't do this simply within an \cs{if@l@dparpack} because % of the internal \cs{if}s. Hence, we define a macro whose expansion % is the necessary changes. % % \begin{macrocode} %%%%%%%%%%%%%%%%%%%%% ledpar fix %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\arabledparfixi}{% % \end{macrocode} % \begin{macro}{\do@lineLhook} % \begin{macro}{\do@lineRhook} % Increase the height of numbered lines. % \begin{macrocode} \renewcommand*{\do@lineLhook}{% \advance\baselineskip 1ex} \renewcommand*{\do@lineRhook}{% \advance\baselineskip 1ex} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\a@l@dparparamsL} % \begin{macro}{\a@l@dparparamsR} % Variations on \cs{a@parparams} from \ArabTeX's \file{aoutput.sty}. % These are required to take account of the differing widths, by setting % \cs{a@hsize} appropriately. % \begin{macrocode} \newcommand*{\a@l@dparparamsL}{% \ifnum \parshape = \z@ \a@hsize \Lcolwidth \a@leftmargin \z@ \else \a@hsize \Lcolwidth \a@leftmargin \@totalleftmargin \fi \a@leftmargin \z@ \a@prevgraf \z@ \spreadfalse } \newcommand*{\a@l@dparparamsR}{% \ifnum \parshape = \z@ \a@hsize \Rcolwidth \a@leftmargin \z@ \else \a@hsize \Rcolwidth \a@leftmargin \@totalleftmargin \fi \a@leftmargin \z@ \a@prevgraf \z@ \spreadfalse } % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\Leftsidehook} % \begin{macro}{\Rightsidehook} % % \begin{macrocode} \renewcommand*{\Leftsidehook}{% \let\a@parparams\a@l@dparparamsL} \renewcommand*{\Rightsidehook}{% \let\a@parparams\a@l@dparparamsR} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\ledarabstrut} % \begin{macro}{\ledstrutL} % \begin{macro}{\ledstrutR} % \begin{macro}{\savestruts} % \begin{macro}{\restorestruts} % \begin{macro}{\latinarabic} % \begin{macro}{\arabiclatin} % In order to get parallel arabic and normal texts to line up % a strut has to be added to each latin line to hide their different heights; % this is \cs{ledarabstrut}. The commands \cs{savestruts} and % \cs{restorestruts} save and restore the original left/right strut % definitions. The declaration \cs{latinarabic} is for left and right texts % being latin and arabic, and for left arabic and right latin use % \cs{arabiclatin}. % \begin{macrocode} \newcommand*{\ledarabstrut}{% \rule[-1ex]{0pt}{4ex}} \newcommand*{\savestruts}{% \let\oldl@dstr@tL\ledstrutL \let\oldl@dstr@tR\ledstrutR} \newcommand*{\restorestruts}{% \let\ledstrutL\oldl@dstr@tL \let\ledstrutR\oldl@dstr@tR} \newcommand*{\latinarabic}{% \def\ledstrutL{\ledarabstrut}% \def\ledstrutR{}} \newcommand*{\arabiclatin}{% \def\ledstrutL{}% \def\ledstrutR{\ledarabstrut}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % At last, the end of \cs{arabledparfixi}. % \begin{macrocode} }% end of \newcommand{\arabledparfixi}{... % \end{macrocode} % \end{macro} % % Perform the fix for \Ledpar{} if necessary. % \begin{macrocode} \if@l@dparpack \arabledparfixi \savestruts \fi %%%%%%%%%%%%%%%%%%%%% end major ledpar fix %%%%%%%%%%%%%%%%%%%%%%%%%%%% % \end{macrocode} % \end{macro} % % \subsection{Lemmas} % % \begin{macro}{\a@c@edtext} % This is the internal version of \cs{edtext}. The parameters % have their original catcodes. % \begin{macrocode} \newcommand*{\a@c@edtext}{% \tr@ce@n \leavea@vmode \unarab@codes \begingroup \tr@ce@ff \rmfamily \tr@ce@n \a@@edtext} % \end{macrocode} % \end{macro} % % \begin{macro}{\a@@edtext} % An auxiliary routine to kill leading blanks and remove spurious braces % from \cs{edtext}'s second argument. % \begin{macrocode} \newcommand*{\a@@edtext}[1]{% %%% \def\next@command{\a@@@edtext {\RL{#1}}}% causes errors \def\next@command{\a@@@edtext {#1}}% \futurelet \next@token \test@space } % \end{macrocode} % \end{macro} % % \begin{macro}{\a@edget@text} % Get flags and lemma. % \begin{macrocode} \def\a@edget@text #1\@@{% \a@edappend{\flag@start}\a@@Linsert{#1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\a@edend@lemma} % Another utility routine. % \begin{macrocode} \newcommand*{\a@edend@lemma}{% \ifx\end@lemmas\empty \else \gl@p\end@lemmas\to\x@lemma \x@lemma \global\let\x@lemma=\relax \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\a@edput@text} % Unpack \cs{Linsertb@x}. % \begin{macrocode} \newcommand*{\a@edput@text}{% \a@Lunpack \putwordb@x {\ins@skip }} % \end{macrocode} % \end{macro} % % \begin{macro}{\a@edappend} % \cs{a@edappend}\marg{arg} adds its argument to the \cs{lineb@x}. % \begin{macrocode} \newcommand*{\a@edappend}[1]{% \setbox \lineb@x \hbox {\unhbox \lineb@x #1}} % \end{macrocode} % \end{macro} % % \begin{macro}{\a@@@edtext} % The meat of it all % \begin{macrocode} \newcommand{\a@@@edtext}[2]{ \no@expands \def\next@command{\test@special}% %%% \xdef \@tag{#1}\set@line % the original produces roman in notes %%% \def\@@@tag{\RL{#1}} \xdef\@tag{\@@@tag}\set@line % produces errors \xdef \@tag{{\RL{#1}}}\set@line% produces arabic in notes GOOD ONE!! \global\insert@count=0 \aftergroup \a@edget@text \ignorespaces #2\relax \endgroup %%% #1\a@edend@lemma \@@ %% gives roman in arabic text \showlemma{#1}\a@edend@lemma \@@% GOOD ONE \a@edput@text \a@edappend {\flag@end }% \arab@codes \a@spacetrue \tr@ce@ff \test@token} % \end{macrocode} % \end{macro} % % \begin{macro}{\showlemma} % Modify \cs{showlemma}\marg{lemma} so that its argument is set RtoL in % arabic text, otherwise as normal. The setting of the \meta{lemma} in % the notes is controlled independently. % \begin{macrocode} \renewcommand{\showlemma}[1]{% \ifin@arab\RL{#1}\else #1\fi} % arabic in text, but roman in notes % \end{macrocode} % \end{macro} % % \subsection{Line numbering} % % \begin{macro}{\beginnumbering} % \begin{macro}{\endnumbering} % Enable \cs{beginnumbering} and \cs{endnumbering} to be used directly in % arabic text, though I don't know if this is useful. % \begin{macrocode} \all@wcmd{\beginnumbering} \all@wcmd{\endnumbering} % \end{macrocode} % \end{macro} % \end{macro} % % % \begin{macro}{\beginnumberingR} % \begin{macro}{\endnumberingR} % Similarly, if \Ledpar{} is used, for numbering in parallel Right texts. % \begin{macrocode} \if@l@dparpack \all@wcmd{\beginnumberingR} \all@wcmd{\endnumberingR} \fi % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\a@par} % \begin{macro}{\a@@par} % \begin{macrocode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \let\a@par=\a@@par % save for \a@@everypar in \a@c@autopar % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\pstart} % \begin{macro}{\pend} % Arabic(?) forms for \cs{pstart} and \cs{pend}. % \begin{macrocode} \def\a@c@pstart{\pstart \test@token} \def\a@c@pend{\a@par \pend \a@par \test@token} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\a@c@autopar} % Arabic(?) form of \cs{autopar} (but the original \cs{autopar} has some % limitations and can cause unexpected problems). % \begin{macrocode} \def\a@c@autopar{% use inside Arabic environment \ifnumbering \else \errmessage {\string\autopar\space must be used within a numbered section}% \beginnumbering \fi \a@@everypar= {\setbox0 = \box \lineb@x \let \next \test@token \a@par \pstart % starts a group \def \a@@par {\a@par \pend \a@par }% \def \end {\a@par \pend \test@token \end }% \a@@everypar= {}\arab@indent }% \a@spacefalse \test@token} % \end{macrocode} % \end{macro} % % % % \begin{macro}{\@arabic} % \begin{macro}{\arablinenumr@p} % Provide \cs{@arabic} (for setting numbers to be typeset as arabic % numerals in the latin script) % as an arabic macro. \cs{arablinenumr@p}\marg{num} typesets \marg{num} % as arabic numerals in the arabic script (and RtoL). % \begin{macrocode} \all@w@ne{\@arabic} \newcommand*{\arablinenumr@p}[1]{\RL{\@arabic{#1}}} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\linenumrep} % \begin{macro}{\sublinenumrep} % \begin{macro}{\arablnumrep} % \begin{macro}{\restorelnumrep} % Ensure that \cs{linenumrep} and \cs{sublinenumrep} typeset (sub)line numbers % as normal LtoR arabic in latin script. The declaration \cs{arablnumrep} % causes line numbers to be typeset RtoL in arabic script and % \cs{restorelnumrep} puts them back to LtoR in latin script. % \begin{macrocode} \def\linenumrep#1{\LR{\@arabic{#1}}} \let\oldlinenumrep\linenumrep \def\sublinenumrep#1{\LR{\@arabic{#1}}} \let\oldsublinenumrep\sublinenumrep \newcommand*{\arablnumrep}{\global\let\linenumrep\arablinenumr@p \global\let\sublinenumrep\arablinenumr@p} \newcommand*{\restorelnumrep}{\global\let\linenumrep\oldlinenumrep \global\let\sublinenumrep\oldsublinenumrep} \all@wcmd{\arablnumrep} \all@wcmd{\restorelnumrep} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\linenumrepR} % \begin{macro}{\sublinenumrepR} % \begin{macro}{\arablnumrepR} % \begin{macro}{\restorelnumrepR} % If \Ledpar{} is used, similarly for Right texts. % \begin{macrocode} \if@l@dparpack \def\linenumrepR#1{\LR{\@arabic{#1}}} \let\oldlinenumrepR\linenumrepR \def\sublinenumrepR#1{\LR{\@arabic{#1}}} \let\oldsublinenumrepR\sublinenumrepR \newcommand*{\arablnumrepR}{\global\let\linenumrepR\arablinenumr@p \global\let\sublinenumrepR\arablinenumr@p} \newcommand*{\restorelnumrepR}{\global\let\linenumrepR\oldlinenumrepR \global\let\sublinenumrepR\oldsublinenumrepR} \all@wcmd{\arablnumrepR} \all@wcmd{\restorelnumrepR} \fi % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{More critical commands in arabic text} % % \begin{macro}{\edlabel} % \begin{macro}{\edpageref} % \begin{macro}{\xpageref} % \begin{macro}{\lineref} % \begin{macro}{\xlineref} % \begin{macro}{\sublineref} % \begin{macro}{\xsublineref} % Allow more ledmac commands in Arabic text. These take no parameters. % \begin{macrocode} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \all@w@ne{\edlabel} \all@w@ne{\edpageref} \all@w@ne{\xpageref} \all@w@ne{\lineref} \all@w@ne{\xlineref} \all@w@ne{\sublineref} \all@w@ne{\xsublineref} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\edindex} % \begin{macro}{\typeout} % And more, taking one parameter. % \begin{macrocode} \all@w@ne{\edindex} \all@w@ne{\typeout} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\edmakelabel} % \begin{macro}{\xxref} % And more, taking two parameters. % \begin{macrocode} \all@wtw@{\edmakelabel} \all@wtw@{\xxref} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\Columns} % \begin{macro}{\Pages} % Also enable \cs{Columns} and \cs{Pages} as arabic text commands. % \begin{macrocode} \if@l@dparpack \all@wcmd{\Columns} \all@wcmd{\Pages} \fi % \end{macrocode} % \end{macro} % \end{macro} % % \section{The End}\label{end} % % This is the end of the package code, but first use \file{ledarabpatch.sty} % if it exists. % % \begin{macrocode} \InputIfFileExists{ledarabpatch.sty} % % \end{macrocode} % % \appendix % \section{Examples} % % This section presents some sample documents. % % The figures are from processed versions of the files. Having latexed % a file I used \texttt{dvips} to get Encapsulated PostScript, then % the \texttt{epstopdf} script to get a PDF version as well. For example: % \begin{verbatim} % > latex egarab % > latex egarab % > latex egarab % > dvips -E -o egarab.eps egarab % produces egarab.eps % > epstopdf egarab.eps % produces egarab.pdf % \end{verbatim} % % For those who aren't fascinated by LaTeX code I show the typeset % results first, then the code that produced them. I know nothing % about arabic so these are not part of any publishable work and are % unlikely to have any connection with the arabic language. % % \clearpage % % \begin{figure} % \begin{addtomargins}{-2cm}{-2cm} % \centering % \includegraphics{egarab} % \caption{Output from \texttt{egarab.tex}} \label{egarab-out} % \end{addtomargins} % \end{figure} % % \begin{figure} % \begin{addtomargins}{-2cm}{-2cm} % \centering % \includegraphics{egarabpar} % \caption{Output from \texttt{egarabpar.tex}} \label{egarabpar-out} % \end{addtomargins} % \end{figure} % % \clearpage % % \subsection{General example} % % The result of the following code is shown in Figure~\ref{egarab-out}. % The arabic script is nonsensical to anyone who can read Arabic % as it is just the English text represented using the arabic script. % % The example illustrates a variety of critical notes, including one % that is all messed up just to show that some things do not work. % % \medskip % \hrule % \medskip % % \begin{macrocode} %<*egarab> %%% egarab.tex \documentclass[12pt]{article} \addtolength{\textheight}{-10\baselineskip} \usepackage{ledmac} \setcounter{firstlinenum}{1} \setcounter{linenumincrement}{1} \linenummargin{right} \usepackage{arabtex} \usepackage{ledarab} \begin{document} Can we have non-arabic text in \verb?\edtext? \beginnumbering \pstart \noindent In \edtext{roman}{\Afootnote{not arabic}} text you can have critical notes. \\ In \edtext{\RL{Arabic text}}{\Afootnote{not roman}} you can have critical notes. \\ In \edtext{latin}{\Afootnote{\RL{Arabic text --- footnote}}} you can have critical notes. \\ In \edtext{\RL{Arabic text}}{\Afootnote{\RL{Arabic text --- footnote}}} you can have critical notes. \pend \endnumbering Here the order is \verb?\beginnumbering \pstart \begin{arabtext} ...? \beginnumbering \pstart \begin{arabtext} ledmac is wonderful and so %%% arabic lemma, latin note \edtext{Arabic text}{\Bfootnote{Arabic text --- footnote}} is arabtex\\ %%% arabic lemma, arabic note and \edtext{Arabic text}{\Bfootnote{\RL{Arabic text --- footnote}}} you can do critical notes here. \end{arabtext} \pend \endnumbering Here the order is \verb?\beginnumbering \begin{arabtext} \pstart...? \arablnumrep \beginnumbering \begin{arabtext} \pstart ledmac is wonderful and so %%% arabic lemma, screwed up arabic note \edtext{Arabic text}{\Cfootnote{Arabic text --- footnote}} is arabtex\\ %%% arabic lemma, arabic note and \edtext{Arabic text}{\Cfootnote{\RL{Arabic text --- footnote}}} you can do critical notes here. \pend \end{arabtext} \endnumbering \restorelnumrep \end{document} % % \end{macrocode} % % \subsection{Parallel example} % % The result of the following code for parallel typesetting is shown % in Figure~\ref{egarabpar-out}. % The left and right inputs are the same. In this case the arabic script % should make sense to an Arabic reader while the English text is the % input that would produceds the arabic if it were inside the \texttt{arabtex} % environment. The text for the example is from \file{omar.tex} in the % \ArabTeX{} distribution; I do not know what it means. % % The two examples are virtually the same except that in the second the % numbering is in arabic script instead of latin script. Note that % the usual variety of footnotes can be used for arabic texts as well % as western texts. % % \medskip % \hrule % \medskip % % \begin{macrocode} %<*egarabpar> %%% egarabpar.tex ledmac & parallel arabic text \documentclass[12pt]{article} \addtolength{\textheight}{-4\baselineskip} \usepackage{ledmac} \usepackage{ledpar} \setcounter{firstlinenum}{1} \setcounter{linenumincrement}{1} \usepackage{arabtex} \usepackage{ledarab} %% % simple right text arabic script numbering version of \printlines \makeatletter \def\printlinesAR#1|#2|#3|#4|#5|#6|#7|{\begingroup \setprintlines{#1}{#2}{#3}{#4}{#5}{#6}% \ifl@d@pnum #1\fullstop\fi \ifledplinenum \RL{#2}\Rlineflag\else \symplinenum\fi \endgroup} \makeatother %%% We will use the Bfootnote series for the arabic right texts, %%% in paragraph style \footparagraph{B} %%% right text numbering \let\oldBfootfmt\Bfootfmt \renewcommand{\Bfootfmt}[3]{% \let\printlines\printlinesR \oldBfootfmt{#1}{#2}{#3}} \begin{document} Here is an example pair of texts. The arabic version is on the right. \vspace{\baselineskip} \begin{pairs} \begin{Leftside} \beginnumbering \pstart \noindent gUyand kasAn behe \edtext{st}{\Afootnote{Western side}} bA .hUr hOs ast \\ man mIgUyam keh 'Ab-i angUr hOs ast \\ In naqd begIr wa-dast az 'An nesiyeh bedAr \\ k-'AwAz-i dohol sanIdan az dUr hOs ast. \pend \end{Leftside} \renewcommand{\Rlineflag}{r} % writes r in latin \begin{Rightside} \firstlinenum{2} \linenumincrement{2} \begin{arabtext} \beginnumbering \pstart \noindent gUyand kasAn behe \edtext{st}{\Bfootnote{Eastern side}} bA .hUr hOs ast \\ man mIgUyam keh 'Ab-i angUr hOs ast \\ In naqd begIr wa-dast az 'An nesiyeh bedAr \\ k-'AwAz-i dohol sanIdan az dUr hOs ast. \pend \end{arabtext} \end{Rightside} \Columns \end{pairs} \vspace{\baselineskip} The same texts but more oriented towards arabic. \vspace{\baselineskip} \begin{pairs} \begin{Leftside} \pstart \noindent gUyand kasAn behe st bA .hUr hOs ast \\ man mIgUyam \edtext{keh}{\Afootnote{\RL{Western side}}} 'Ab-i angUr hOs ast \\ In naqd begIr wa-dast az 'An nesiyeh bedAr \\ k-'AwAz-i dohol sanIdan az dUr hOs ast. \pend \endnumbering \end{Leftside} %%% right full arabic note numbering \renewcommand{\Bfootfmt}[3]{% \let\printlines\printlinesAR \oldBfootfmt{#1}{#2}{#3}} \renewcommand{\Rlineflag}{\RL{r}} % writes r in arabic \begin{Rightside} \firstlinenum{1} \linenumincrement{1} \arablnumrepR % changes the number to arabic \begin{arabtext} \pstart \noindent gUyand kasAn behe st bA .hUr hOs ast \\ man mIgUyam \edtext{keh}{\Bfootnote{\RL{Eastern side}}} 'Ab-i angUr hOs ast \\ In naqd begIr wa-dast az 'An nesiyeh bedAr \\ k-'AwAz-i dohol sanIdan az dUr hOs ast. \pend \endnumbering \end{arabtext} \end{Rightside} \begin{arabtext} \Columns \end{arabtext} \end{pairs} \end{document} % % \end{macrocode} % % % % \bibliographystyle{alpha} % \begin{thebibliography}{WWW99} % \raggedright % % \bibitem[Lag99]{ARABTEX} % Klaus Lagally. % \newblock \emph{ArabTeX: A system for typesetting arabic: Draft User Manual}, % \newblock July 1999. % \newblock (Available from CTAN in % \texttt{macros/latex/contrib/arabtex}) % % % \bibitem[LW90]{EDMACTUG} % John Lavagnino and Dominik Wujastyk. % \newblock `An overview of \edmac: a \textsc{Plain} TeX format for % critical editions'. % \newblock \emph{TUGboat}, \textbf{11}, 4, pp. 623--643, November 1990. % \newblock (Code available from CTAN in % \texttt{macros/plain/contrib/edmac}) % % % \bibitem[Wil04a]{LEDMAC} % Peter Wilson. % \newblock \emph{\Lpack{ledmac}: A presumptuous attempt to port \Lpack{EDMAC}, % \Lpack{TABMAC} and \Lpack{EDSTANZA} to LaTeX}. % \newblock May 2004. % \newblock (Available from CTAN in % \texttt{macros/latex/contrib/ledmac}) % % \bibitem[Wil04b]{LEDPAR} % Peter Wilson. % \newblock \emph{Parallel typesetting for critical editions: % the \Lpack{ledpar} package}. % \newblock December 2004. % \newblock (Available from CTAN in % \texttt{macros/latex/contrib/ledmac}) % % \end{thebibliography} % % \Finale % \section*{} % \addcontentsline{toc}{section}{Index} % \PrintIndex % % \section*{} % \addcontentsline{toc}{section}{Change History} % \PrintChanges % \endinput \endinput %% \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 \~} %%