我正在以并行文本格式排版史诗,即原文在一页,译文在另一页。尝试过许多并行包后,发现和eledpar
包eledmac
非常适合这样做。
然而,对于我的目的来说,这个实现并不完全完美。首先,这个eledpar
包需要你预先确定缩进诗中的每一行使用\setstanzaindents
宏。虽然您可以向此宏传递比您的诗句行数更多的参数,但最终这看起来很荒谬,特别是因为我根本不想在我的诗句上缩进。我已经尝试过宏\setcounter{stanzaindentrepetition}{9999}
等,但无济于事。
我真正的问题是:是否有一种简单的方法可以让我抑制环境中的所有缩进astanza
,同时保留包的主要有用功能eledpar
(即面对页面平行文本)?
梅威瑟:
\documentclass[10pt,a4paper]{memoir}
\usepackage{eledmac,eledpar}
\begin{document}
\setstanzaindents{0,0,0,0,0,0,0,0,0,0,0}
\begin{pages}
\begin{Leftside}
\firstlinenum{2}
\linenumincrement{1}
\beginnumbering
\begin{astanza}
First in first stanza &
Second in first stanza &
Second in first stanza &
Third in first stanza &
Fourth in first stanza &
First in second stanza &
Second in second stanza &
Second in second stanza &
Third in second stanza &
Fourth in second stanza \&
\end{astanza}
\endnumbering
\end{Leftside}
\begin{Rightside}
\firstlinenum{2}
\linenumincrement{1}
\beginnumbering
\begin{astanza}
First in first stanza &
Second in first stanza &
Second in first stanza &
Third in first stanza &
Fourth in first stanza &
First in second stanza &
Second in second stanza &
Second in second stanza &
Third in second stanza &
Fourth in second stanza \&
\end{astanza}
\endnumbering
\end{Rightside}
\Pages
\end{pages}
\end{document}
编辑:我已经玩过\setstanzaindents{0}
了\setcounter{stanzaindentrepetition}{1}
无限地并一次又一次得到令人愤怒的回应:
! Missing number, treated as zero.
<to be read again>
\sza@1@
1.18 \begin{astanza}
从eledpar
和eledmac
文档来看,当节缩进设置不正确时会发生此错误 - 它试图获取缩进长度,但没有设置这样的长度(或者至少这是我的解释)。
答案1
正确的做法是
\setstanzaindents{1000,0}
\setcounter{stanzaindentrepetition}{1}
第一个数字表示要生成多少次重复,其余的是要生成的模式;计数器设置表示重复模式中的行数。虽然语法很笨拙,但包作者这样做可能有充分的理由。