ledpar 忽略 \startstanzahook(无法在节之间添加额外的空格)

ledpar 忽略 \startstanzahook(无法在节之间添加额外的空格)

ledmac/-par 手册说我可以使用\startstanzahook来在节之间获得额外的空间。但它只适用于普通的与非并行排版相反。以下示例可能更好地表达了我的意思:

% XETEX-DOCUMENT
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{ledmac,ledpar}
    \maxchunks{100}
    \newcommand*{\startstanzahook}{\vspace{\baselineskip}}
\begin{document}
% works (vspace between stanzas):
\beginnumbering
\setstanzaindents{2,0,0}
\stanza 
    Non ego Caesareas, non arma virumque, & 
    sed chitaram plectrumque cano nec inutile numen 
\& 
\stanza 
    Doctus in Arcadiis vivebat musicus oris, & 
    clarus circa urbes et famae voce lyraeque.
\&
\endnumbering

% doesn't work (no vspace):
\begin{pages}
\begin{Leftside}
    \beginnumbering
    \setstanzaindents{2,0,0}
    \stanza 
        Non ego Caesareas, non arma virumque, & 
        et lyricam poterit, nisi centum vocibus, artem? 
    \& 
    \stanza 
        Doctus in Arcadiis vivebat musicus oris, & 
        vicina quondam late celebratus in urbe 
    \& 
    \endnumbering
\end{Leftside}
\begin{Rightside}
    \beginnumbering
    \setstanzaindents{2,0,0}
    \stanza 
        Non ego Caesareas, non arma virumque, & 
        et lyricam poterit, nisi centum vocibus, artem? 
    \& 
    \stanza 
        Doctus in Arcadiis vivebat musicus oris, & 
        vicina quondam late celebratus in urbe 
    \& 
    \endnumbering
\end{Rightside} 
\Pages 
\end{pages} 
\end{document}

有没有办法在并行模式下在节之间插入额外的空格?

答案1

诀窍是将要插入节之间的材料放入单独的\pstart ... \pend构造中,否则它将不会被延迟输出例程处理ledpar.因此你必须更换

\newcommand*{\startstanzahook}{\vspace{\baselineskip}}

经过

\def\endstanzaextra{\pstart\skipnumbering\strut\pend}

以便在节之间添加一行额外的行(使用\strut宏)。请注意,此钩子在结尾在每个节的末尾,而不是开头。这是因为默认情况下,额外的行包含在行号中 - 为了避免这种情况,\skipnumbering调用了 ,这只能在节的末尾进行。

相关内容