Shlama Mezdathkane (Hi XeTeXnicians)! I'm using bidipoem to set some Syriac dialogue poems. I'm using the traditionalpoem environment as each line is fourteen syllable long with a caesura after the seventh syllable. So far, so good. However, as it's a dialogue poem the speaker changes every other line, and these lines are introduced with the name of the speaker followed by a colon.
As you can see from my attached example, the persona is included as a
part of the first hemistich, but to make the lines look nice it is also
included in the following three hemistiches within \phantom{} commands.
I also need to set \poemcolsep to -1em to close the 'phantom' gap. I
hope that makes sense.
Well, the problem is that it's not a pretty workaround and the beginning
of the first hemistich of each line doesn't line up, because personae
are of different lengths. I suppose I need some means of marking up each
line as having
persona: first-hemistich & second-hemistich
and then working out how to set them properly. Any ideas how best to go
about this?
Thanks,
Gareth.
bidipoem-test.pdf
Description: Adobe PDF document
\documentclass[12pt]{minimal}
\usepackage{polyglossia, bidipoem}
% Begin justification stuff
\chardef\zwj="200D
\chardef\ksh="0640
\chardef\D=10
\chardef\L=11
\chardef\R=12
\chardef\A=13
\chardef\V=256
\def\stretch{\zwj\nobreak \setbox0=\hbox{\ksh}%
\leaders\hrule height\ht0 \hskip0pt plus 0.5em \zwj}
\def\setclass#1#2{\def\theclass{#1}\def\charlist{#2}%
\expandafter\dosetclass\charlist,\end}
\def\dosetclass#1,#2\end{%
\def\test{#1}\def\charlist{#2}%
\ifx\test\empty\let\next\finishsetclass
\else\XeTeXcharclass"\test=\theclass
\let\next\dosetclass\fi
\expandafter\next\charlist,,\end}
\def\finishsetclass#1,,\end{}
\setclass\A{0710}
\setclass\R{0715,0717,0718,0721,0728,072A,072C}
\setclass\D{0712,0713,071A,071B,071D,071F}
\setclass\D{0722,0723,0725,0729,072B}
\setclass\L{0720}
\setclass\V{0730,0731,0732,0733,0734,0735}
\setclass\V{0736,0737,0738,0739,073A,073B,073C}
\setclass\V{073D,073E,073F,0740,0741,0742,0743}
\setclass\V{0744,0745,0746,0747,0748}
\setclass\V{00AB,00BB}
\XeTeXinterchartoks\D\D={\stretch}%
\XeTeXinterchartoks\L\D={\stretch}%
\XeTeXinterchartoks\D\L={\stretch}%
\XeTeXinterchartoks\L\L={\stretch}%
\XeTeXinterchartoks\D\R={\stretch}%
\XeTeXinterchartoks\D\A={\stretch}%
\XeTeXinterchartoks\L\R={\stretch}%
\XeTeXinterchartoks\L\A={}%
\XeTeXinterchartokenstate=1
\setclass \A {0710}
\setclass \R {0715,0717,0718,0721,0728,072A,072C}
\setclass \D {0712,0713,071A,071B,071D,071F}
\setclass \D {0722,0723,0725,0729,072B}
\setclass \L {0720}
\setclass \V {0730,0731,0732,0733,0734,0735}
\setclass \V {0736,0737,0738,0739,073A,073B,073C}
\setclass \V {073D,073E,073F,0740,0741,0742,0743}
\setclass \V {0744,0745,0746,0747,0748}
% End justification stuff
\setmainlanguage{syriac}
\setmainfont[Script=Syriac]{Serto Jerusalem}
\renewcommand\poemcolsepskip{-1em}
\begin{document}
\begin{traditionalpoem}
ÜܪÜÜ: %
Ü Ü´Ü Ü¡Ü¶Ü«ÜÜ°Ü Üܱܢ̱ܬ ÜܬܷܥÜÜ¿Ü Ü ÜܳÜ&%
\phantom{ÜܪÜÜ: }%
ÜܰÜÜ¬ÜªÜ±Ü ÜÌÜ ÜܰÜÜÜ³Ü ÜÜ Ü´Ü Ü¡Ü¶Ü¬Üܪܫ.\\
\phantom{ÜܪÜÜ: }%
Ü«ÜܺÜÜ¢Ü¬Ü´Ü ÜÜܰÜÜ Ü¡Ü¶ÜÜܰÜÜܳÜ&%
\phantom{ÜܪÜÜ: }%
ÜܪÜܼܡÜÜ³Ü ÜÜ¢ÝÜÜªÜ´Ü Ü Ü·Ü Ü¢ÌÜ´ÜܪܴÜÜ\\
ÜÜÌÜ£Ü: %
Ü Ü´Ü Ü¡Ü¶Ü«ÜÜ°Ü Üܱܢ̱ܬ ÜܬܷÜÜ Ü¹Ü Ü Ü Ü¢Ü³Ü«&%
\phantom{ÜÜÌÜ£Ü: }%
Ü©ÜÜ³Ü¬Ý Ü Ü´ÜÌ ÜªÜÜ¡ÜÜ³Ü ÜܶÜܫܬܱÜÜܲܬÝ.\\
\phantom{ÜÜÌÜ£Ü: }%
ÜÜ©ÜÜ¼Ü¦Ü´Ü Ü¦Ü±Ü¬ÜÜÌ Ü Üܲܢܬ Ü¥ÜܶÜÜ¢&%
\phantom{ÜÜÌÜ£Ü: }%
ÜÜ Ü´Ü ÜÜ»Üܬ ܦÜÜªÜ£Ü³Ü ÜܬܾÜÜ Ü¬Ü·Ü¬ÜÜÜ
\end{traditionalpoem}
\end{document}
-------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex
