summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/arabi/poetry.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/arabi/poetry.sty')
-rw-r--r--Master/texmf-dist/tex/latex/arabi/poetry.sty143
1 files changed, 143 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/arabi/poetry.sty b/Master/texmf-dist/tex/latex/arabi/poetry.sty
new file mode 100644
index 00000000000..8cf78f10c3a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/arabi/poetry.sty
@@ -0,0 +1,143 @@
+% \iffalse meta-comment
+%
+% Copyright 2006 Youssef Jabri
+%
+%
+% This file is part of the `Arabi' system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3b
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3b or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+%
+% \fi
+%
+% Filename: poetry.sty
+%%%%%%%%%%%%%%%%%%%%%%%% poetry %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \def \setversedim #1#2 % set length of half-verse, separation
+% \def \halfverses #1#2 % first half-verse, second half-verse (boyh are in arabic)
+% \def \connverses #1#2#3 % first half-verse, connection, second half-verse
+%
+% 04.10.2005
+%
+% avoids loading twice
+\expandafter \ifx \csname ar@poetry\endcsname \relax \else
+ \expandafter \endinput \fi
+
+\def\ar@poetry{\relax}
+
+
+\ProvidesFile{poetry.sty}
+ [2005/10/04 v0.1 Arabic poetry]
+
+
+
+%%%%%%%%%%%%%% A slight modification of the halfverses Macro %%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%% from the ArabTeX package by K. Lagally. %%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%% verses.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% verses.sty
+% utility for ArabTeX
+% macros for typesetting Arabic verses in two columns
+% usage: load as a package or after loading ArabTeX
+% provides:
+% \def \setversedim #1#2{% set length of half-verse, separation
+% \def \halfverses #1#2{% first half-verse, second half-verse
+% \def \connverses #1#2#3{% first half-verse, connection, second half-verse
+% use within an Arabic environment
+% 28.03.1998
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% (c) Klaus Lagally
+% Institut fuer Informatik
+% Universitaet Stuttgart
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Macro "borrowed" from the Midnight bundle.
+%% From the Macro \border ...
+%%
+%%%%%%% exactly fitting border with overlaps
+% \border makes a border of the specified dimensions, by overlapping some
+% of the elements when necessary.
+% \hborder takes four arguments, the width, and the indices of the left
+% element, the middle element, and the right element. It makes an horizontal
+% border of the form \hbox to wd{ l m+ r }, where there is at least one m.
+% If wd is large enough to set at least {l m r}, all overlap is between
+% elements of type m. In the unusual case where wd is too small, the overlap
+% is necessarily with the corner elements.
+%
+%\def\hborder#1#2#3#4% wd, l, m, r
+% {\hbox to#1
+% {\setbox0=\hbox{\borderelm#3}%
+% \borderelm#2%
+% \hskip0pt minus1fil %
+% \copy0\kern-.5\wd0 %
+% \cleaders\copy0\hskip0pt plus1fil %
+% \kern-.5\wd0\copy0 %
+% \hskip0pt minus1fil %
+% \borderelm#4%
+% }%
+% }
+%
+\DeclareRobustCommand{\Spreadbox}[2]{\bgroup%
+\setbox0=\hbox{{\if@farsi\fontencoding{LFE}\else\fontencoding{LAE}\fi\selectfont\keshchar}}
+\renewcommand{\tatweel}{%
+\noboundary\nobreak%
+\hskip0pt% minus1fil %
+\copy0\kern-.5\wd0 %
+\cleaders\copy0\hskip0pt plus1fil %
+\kern-.5\wd0\copy0 %
+\hskip0pt% minus1fil %
+\nobreak\noboundary}
+%
+\parbox{#1}{\hbox to #1{\if@farsi\FR{#2}\else\AR{#2}\fi}}\egroup}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newdimen \a@hvlen
+\newdimen \a@hvsep
+\newdimen \a@hvind
+
+% define some verse dimensions, verses will be centered
+\def \setversedim #1#2{% set length of half-verse, separation
+\a@hvlen #1\relax \a@hvsep #2\relax
+\a@hvind \hsize \advance \a@hvind -\a@hvsep
+\divide \a@hvind 2 \advance \a@hvind -\a@hvlen }
+
+
+%strut for the Arabic font Traditional Arabic if vowels are used!
+%\def\astrut{\rule[-.3cm]{0cm}{8.5mm}}
+\def\astrut{\hbox{\ArabiStrut}}
+%%
+%% better to use instead of \hfil --> \hspace*{\stretch{1}}?
+%%
+
+
+% macro for a verse with a connection
+\def \Connverses #1#2#3{% first half-verse + strut, connection, second half-verse
+\noindent \hspace \a@hvind \astrut
+\Spreadbox \a@hvlen {#1}% first block
+%\Spreadbox \a@hvsep {\hfill #2\hfill}% separator
+\Spreadbox \a@hvsep {\hspace*{\stretch{1}} #2\hspace*{\stretch{1}}}% separator
+\Spreadbox \a@hvlen {#3}% second block
+\par }
+
+
+% macro for two half verses
+\def \Halfverses #1#2{% normal case
+%\Connverses {#1}{\hfill}{#2}}
+\Connverses {#1}{\hspace*{\stretch{1}}}{#2}}
+
+
+
+
+\endinput \ No newline at end of file