%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % File: rlbicig.sty % Date: October 1st, 2001 % Author: Oliver Corff % (c) 2001 Ulaanbaatar, Macau, Berlin % % No options. % % NB: This package requires eLaTeX2e! % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Identification % \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{rlbicig} [2001/10/01 v0.8 Horizontal/Vertical Support for mls] % % % Preliminary declarations % % Well, I think, I'll shamelessly copy code from % the Hebrew package and redefine a few things: % % \eL % \R % % \RtoLtrue means that the main mode is currently Mongolian, Manju RL. % \RtoLfalse means that the main mode is currently Latin, Cyrillic LR. %\newif\ifRtoL % Change the main mode to Hebrew RL or English LR (default mode). % This is the only place the \ifRtoL value changes. Inner mode changes % with \eL{} \R{} \rmbox{} and \lmbox{} does not change it. % \def\setRtoL{\RtoLtrue\beginR} \def\setLtoR{\RtoLfalse\beginL} % Macros for changing direction, taken from TUGboat. % Usage: \eL{English Text} and \R{Mongol Bicig}. % Numbers should also be enclosed in \eL{}, as in \eL{123}. \let\next=\ \def\eL{\protect\pL} \def\pL{\protect\afterassignment\moreL \let\next= } \def\moreL{\bracetext \aftergroup\endL \beginL} \def\R{\protect\pR} \def\pR{\protect\afterassignment\moreR \let\next= } \def\moreR{\bracetext \aftergroup\endR \beginR} \def\bracetext{\ifcat\next{\else\ifcat\next}\fi \errmessage{Missing left brace has been substituted}\fi \bgroup} \everydisplay{\ifRtoL\aftergroup\beginR\fi } %\everybox{\ifRtoL\aftergroup\beginR\fi } % Take care of Hebrew indentation in every paragraph. % % Changes: % \noindent for Hebrew. Yaniv. % What about Mongol Bicig? % \def\bicigpar{\ifRtoL\kern-\parindent\beginR\indent\fi} \let\oldeverypar\everypar \def\everypar#1{\oldeverypar{\bicigpar#1}} \let\oldnoindent\noindent \def\noindent{\ifRtoL\indent\unskip\else\oldnoindent\fi} % Additions by Yaniv: % Useful vbox commands. All text in math formulas is best enclosed in these. % ex: $P=\{x|\lmbox{The is no } y \lmbox{ such that } y \lmbox{ divides }x\}$ % $P=\{x|x\rmbox{ Mehalek et } y\rmbox{ Kach She } y\rmbox{ Lo Kayam }\}$ % \mbox{} is useless for both cases, since it typesets in LR Hebrew. \newcommand{\rmbox}[1]{\mbox{\R{#1}}} \newcommand{\lmbox}[1]{\mbox{\eL{#1}}} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % List environments % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % List environments in Hebrew, are ticked and indented from the right % instead of from the left. All the definitions that caused indentation % are revised for Hebrew. LaTeX keeps track on the indentation with the % \leftmargin and \rightmargin values. The changes below are mostly to % exchange these values in Hebrew mode. % \def\descriptionlabel#1{\hspace\labelsep \textbf{#1}} \def\description{\list{}{\labelwidth\z@ \itemindent- \ifRtoL\rightmargin\else\leftmargin\fi \let\makelabel\descriptionlabel}} \let\enddescription\endlist \def\@verbatim{% \let\do\@makeother \dospecials% \obeylines \verbatim@font \@noligs} \def\@listi{\ifRtoL\rightmargin\leftmargini\leftmargin=0pt% \else\leftmargin\leftmargini \fi \labelwidth\leftmargini\advance\labelwidth-\labelsep \topsep 4pt plus 2pt minus 1pt \parsep 2pt plus 1pt minus 1pt \itemsep \parsep } \def\@listI{\ifRtoL\rightmargin\leftmargini\leftmargin=0pt% \else\leftmargin\leftmargini \fi \labelwidth\leftmargini\advance\labelwidth-\labelsep \topsep 4pt plus 2pt minus 1pt \parsep 2pt plus 1pt minus 1pt \itemsep \parsep } % \def\@listii{\ifRtoL \rightmargin\leftmarginii \leftmargin=0pt \else \leftmargin\leftmarginii \fi \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 4pt plus 2pt minus 1pt \parsep 2pt plus 1pt minus 1pt \itemsep \parsep } % \def\@listiii{% \ifRtoL \rightmargin\leftmarginiii \leftmargin=0pt \else \leftmargin\leftmarginiii \fi \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \itemsep \parsep } % \def\@listiv{\ifRtoL \rightmargin\leftmarginiv \leftmargin=0pt \else\leftmargin\leftmarginiv \fi \labelwidth\leftmarginiv\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \itemsep \parsep} \def\@listv{\ifRtoL \rightmargin\leftmarginv \leftmargin=0pt \else\leftmargin\leftmarginv \fi \labelwidth\leftmarginv\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \itemsep \parsep} \def\@listvi{\ifRtoL \rightmargin\leftmarginvi \leftmargin=0pt \else\leftmargin\leftmarginvi \fi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \itemsep \parsep} \renewcommand{\footnoterule}{% \vspace*{-3pt}% \ifRtoL \rule{.2\columnwidth}{0.4pt}\ \else\rule{.4\columnwidth}{0.4pt}\ \fi \vspace*{2.6pt} } \@ifclassloaded{article}{% article \let\original@maketitle\maketitle \renewcommand{\maketitle}{ \let\original@newpage\newpage \let\newpage\relax \original@maketitle \let\newpage\original@newpage }}{ % else all other classed } % Options % No options with this package. % % No More declarations % % End of file `rlbicig.sty'.