使用 XePersian 和传统诗歌环境对每页进行行号编排

使用 XePersian 和传统诗歌环境对每页进行行号编排

我正在用 XePersian 和 traditionalpoem 环境编辑一首阿拉伯诗,到目前为止运行良好,但我对行号和段落脚注有一些疑问。

(1) 我希望每页都有行号,并且它们应该根据偶数页和奇数页更改页边距。这可以吗?

(2) 如果我在页面的某一行添加脚注,我可以用特定的计数器引用这一行吗?如果我有不同的变体读数,我希望引用页面的行,而不是脚注标记。

(3)是否可以减小脚注段落中每个脚注之间的间距?

我的最小例子:

\documentclass[12pt,a4paper]{book}


%XePersian and Bidipoem
\usepackage[extrafootnotefeatures, Kashida]{xepersian}
\paragraphfootnotes
\settextfont[Mapping=arabicdigits]{Amiri}
\usepackage{bidipoem}
\setdigitfont{Charis SIL}
\setlatintextfont{Charis SIL}

%Linespacing
\linespread{1.6}

%Space between the halfverses
\renewcommand\poemcolsepskip{0.5cm}

%Don’t show footnote markers
\renewcommand*{\thefootnote}{}

%Decrease space between footnotes in the paragraph
\usepackage[para]{footmisc}
\addtolength{\footskip}{0cm}
\makeatletter
\let\splitfootnoterule=\pagefootnoterule
\makeatother

%Linenumbering
\newcount\LineNumber \newcount\templinenumber
 \newdimen\linenumberskip \linenumberskip=-1em
 \chardef\linestep=2
\def\poemlinenumber{%
    \advance\LineNumber1
    \templinenumber=\LineNumber
   \computelinenumber
   }
 \def\computelinenumber{%
    \ifnum\templinenumber>\linestep
      \advance\templinenumber-\linestep
      \expandafter\computelinenumber
    \else
     \ifnum\templinenumber=\linestep
       \leavevmode\rlap{\kern\linenumberskip\the\LineNumber}%
      \fi
    \fi
   }
 \newenvironment{numberedpoem}
   {\everypar{\everypar{\poemlinenumber}}%
     \begin{traditionalpoem}}
    {\end{traditionalpoem}}


\begin{document}


% In this page, we typeset footnotes from right to left
\setRTLparagraphfootnotes

\begin{numberedpoem}

%%%%%%Verse 1%%%%%%%%%%
قِفَا نَبْكِ مِنْ ذِكْرَى حَبِيبٍ ومَنْزِلِ
&
بِسِقْطِ اللِّوَى بَيْنَ الدَّخُولِ فَحَوْمَلِ
\footnote{
(1)
ذِكْرَى ج : ذكري ب
|| الدخول ج : الذخولي ب.
}
\\
%%%%%%Verse 2%%%%%%%%%%
فَتُوْضِحَ فَالمِقْراةِ لَمْ يَعْفُ رَسْمُها
&
لِمَا نَسَجَتْهَا مِنْ جَنُوبٍ وشَمْألِ
\footnote{
(2)
جَنُوبٍ  ج : حنوب ب
}
\
\end{numberedpoem}
\end{document}

答案1

(1)+(2):这可以通过eledmac包;这里不需要重新发明轮子。它有明确的文档,所以我认为没有必要重写其中的相关段落;无论如何,原始文档总是更全面。

(3):您可以\footnote为此目的重新定义命令,如下所示:

\let\OLDfootnote\footnote
\renewcommand{\footnote}[1]{\OLDfootnote{\setstretch{0}#1}

\setstretchsetspace包裹。

祝你好运☺!

相关内容