این پرسش میتواند پاسخهای متفاوت زیادی داشته باشد. به عنوان نمونه دو پاسخ دیگر نیز برای حالت دوم اضافه میکنم.
استفاده از دستور بدوی \everypar
کافی است تا یک محیط نو براساس محیط traditionalpoem
تعریف کرد و از دستور بدوی \everypar
برای قرار دادن شماره شعر در پایان سطر استفاده کرد:
\makeatletter
\let\@poemlineno\@empty
\newcommand*{\poemno}[1]{\gdef\@poemlineno{#1}}
\newenvironment{mytraditionalpoem}{%
\ifvmode\else\par\fi
\everypar{\rlap{\hskip\textwidth\@poemlineno}}
\begin{traditionalpoem}}{%
\end{traditionalpoem}}
\makeatother
و محیط جدید بصورت زیر استفاده میشود:
\begin{mytraditionalpoem}
{\سیاه آن جوادی که جمادی را بداد} & {\سیاه این خبرها، وین امانت، وین سَداد%
\rlap{%
\زیرنویس{درستی، راستی، استقامت، استواری}}}
\\
{\سیاه مر جمادی را کند فضلش خبیر} & {\سیاه عاقلان را کرده قهرِ\زیرنویس{قدرت و غلبه} او ضَریر}%
\rlap{%
\زیرنویس{کور}}
\poemno{[1/520]}
\end{mytraditionalpoem}
محاسبه پهنای بیت
میتوانیم پهنای دقیق هر بین را محاسبه کنیم (حداقل به دوبار اجرا نیاز دارد). برای اطلاعات بیشتر این پرسش و پاسخ را ببینید:
\begin{mytraditionalpoem}
{\سیاه آن جوادی که جمادی را بداد} & {\سیاه این خبرها، وین امانت، وین سَداد%
\rlap{%
\زیرنویس{درستی، راستی، استقامت، استواری}}}
\\
\WriteStartXPostoaux
{\سیاه مر جمادی را کند فضلش خبیر} & {\سیاه عاقلان را کرده قهرِ\زیرنویس{قدرت و غلبه} او ضَریر}%
\rlap{%
\زیرنویس{کور}}%
\WriteEndXPostoaux
\rlap{\hskip0.5\dimexpr\textwidth-\currentposxwidth\relax[1/520]}
\end{mytraditionalpoem}