我正在研究一个带有reledmac
/ 的批判版reledpar
,我用\msdata
它标记不同手稿见证的文本部分。我使用\startsub
和\endsub
启用了文本中的插入分行功能,所以我希望手稿装置显示这些部分的分行编号,但似乎我无法通过选项或命令来控制它。以下是 MWE:
% !TEX encoding = utf8
% !TEX TS-program = lualatex
% !TEX spellcheck = it_IT
\documentclass{book}
\usepackage{fontspec}
\setmainfont{Junicode}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage[series={A},noend,nofamiliar,noledgroup,nopbinverse]{reledmac}
\firstlinenum{1}
\linenumincrement{1}
\firstsublinenum{1}
\sublinenumincrement{1}
\Xsublinesep{}
\sublinenumberstyle{alph}
\begin{document}
\beginnumbering
\setstanzaindents{0,0}
\setcounter{stanzaindentsrepetition}{1}
\begin{stanza}
\msdata{ABCDEF}Primo verso&
Secondo verso&
Terzo verso\stopmsdata&
\startsub\msdata{EF}\emph{Primo verso interpolato}&
\emph{Secondo verso interpolato}\stopmsdata\endsub&
\msdata{ABCDEF}Quarto verso&
Quinto verso&
Sesto verso\stopmsdata\&
\end{stanza}
\endnumbering
\end{document}
我希望该装置的第二行读作:3a–b Ms.] EF。
答案1
这是一个错误(更准确地说,当我从 msdata 开始时,我自愿忘记实现这个功能,因为我想之前得到反馈……之后,我忘记添加这个功能)。
我将在 CTAN 上快速发送的 2.32.8 版本修复了这个问题。
但是,你应该\startsub
在 之前添加 your &
。手册上说
当子行化生效时,行号计数器会冻结,而子行计数器会前进。如果其中一个命令出现在一行的中间,则直到下一行才会生效;换句话说,即使一行在中间发生变化,它也会根据其起始位置被计为一行或子行。
所以你应该
\documentclass{book}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage[series={A},noend,nofamiliar,noledgroup,nopbinverse]{reledmac}
\firstlinenum{1}
\linenumincrement{1}
\firstsublinenum{1}
\sublinenumincrement{1}
\Xsublinesep{}
\sublinenumberstyle{alph}
\begin{document}
\beginnumbering
\setstanzaindents{0,0}
\setcounter{stanzaindentsrepetition}{1}
\begin{stanza}
\msdata{ABCDEF}Primo verso&
Secondo verso&
Terzo verso\stopmsdata\startsub&
\msdata{EF}\emph{Primo verso interpolato}&
\emph{Secondo verso interpolato}\stopmsdata\endsub&
\msdata{ABCDEF}Quarto verso&
Quinto verso&
Sesto verso\stopmsdata\&
\end{stanza}
\endnumbering
\end{document}
在您的例子中,您只能通过 hasard 获得 3,3a,3b,因为您没有缩进悬挂诗句。由于误解,在这种情况下,行从 TeX 读取“Primo”时开始,而不是在 之后开始,&
就像悬挂诗句的缩进设置为正值时一样。我现在不会在 reledmac 中更正这个错误,因为我担心可能会产生板效应。无论如何,从概念上讲,有\startsub&
而不是没有&\startsub
更好。