\memorydump 命令在并行页面文本中不起作用

\memorydump 命令在并行页面文本中不起作用

我见过这个问题这与我的非常相似,但没有得到正确的回答(我猜是因为解释得不好),所以我会尝试再问一次:如果版主认为这是一个重复的问题,我很乐意关闭它,只要另一个问题得到回答!:)

反正。

我有一篇平行文本需要写成两页。左边是拉丁文本,右边是拉丁文本的通俗化版本,注释基本上都是关于通俗化版本的(还有一个专门针对拉丁文本的批判家族,但几乎没用过)。这造成了注释之间的严重不平衡,如果保持在相同的Leftside和内Rightsidereledpar就会开始出现问题。然后我想用来分割文本\memorydump。不幸的是,我不断得到神秘的错误。

我将提供我能写的最简单的例子:

\documentclass{report}
\usepackage[no-math]{fontspec}
\setmainfont{EBGaramond}[Numbers=OldStyle]

\usepackage[latin]{babel}
\usepackage{blindtext}

\usepackage[series={A},noend, noeledsec, noledgroup, nopenalties]{reledmac}
\usepackage{reledpar}

\begin{document}
    \begin{pages}
        \begin{Leftside}
            \beginnumbering
            \pstart
            \blindtext
            \pend
            
            \pstart
            \blindtext
            \pend
            % \endnumbering  % <-- I understood that I have to comment this to make \memorydump work
        \end{Leftside}
        \begin{Rightside}
            \beginnumbering
            \pstart
            \blindtext
            \pend
            
            \pstart
            \blindtext
            \pend
            % \endnumbering  % <-- I understood that I have to comment this to make \memorydump work
        \end{Rightside}
    \end{pages}
    \Pages
    
    \begin{pages}
        \begin{Leftside}
            \memorydump
            % \beginnumbering  % <-- and also this
            \pstart
            \blindtext
            \pend
            
            \pstart
            \blindtext
            \pend
            \endnumbering
        \end{Leftside}
        \begin{Rightside}
            \memorydump
            % \beginnumbering  % <-- and also this
            \pstart
            \blindtext
            \pend
            
            \pstart
            \blindtext
            \pend
            \endnumbering
        \end{Rightside}
    \end{pages}
    \Pages
    
\end{document}

不幸的是,这个过程失败了。我尝试了所有我能想到的组合:注释\beginnumbering\endnumbering,取消注释,放在\memorydump前面或后面\beginnumbering,删除或留\end{pages}\Pages\begin{pages}在中间。

每次的错误都不一样,虽然它们本身都有意义,但我仍然不明白我应该做什么,以及应该如何正确使用此功能。当然,删除\memorydump可以让一切恢复正常,但新段落的行号从 1 重新开始,我不想这样。

我指的是该relepar文档的第 7.2 条(第 17 页)。

答案1

坏消息是: \memorydump与 交互不太好reledpar

好消息:有更好的工具。\pausenumbering并且\resumenumbering应该可以为您解决问题(reledmac手册§5.2.7)。

\memorydump没有帮助

该软件包的维护者 Maïeul 写道,该命令是 较旧阶段的遗留物ledmac,可能从未移植到(re)ledpar

看来你已经做对了一切:你使用\memorydump 符合“手册”中的描述文档的一部分(§7.2)。而且您的示例在功能上似乎与那里非常简略的示例相同。事实上,“官方”示例(拼写出来时)也无法编译。

程序抛出了相同的错误,第一个错误是: \begin{Rightside} on input line 26 ended by \end{pages} 如果你忘记\endnumbering\pend \endnumbering \end{Rightside} \end{pages} \Pages

事实上,这就是手册和示例要求我们使用时所做的事情\memorydump。但按照reledpar标准,关闭Leftside而不关闭编号是不礼貌的,必须产生错误!¹

正如文档的“代码”部分(§III,第 37 页)所述,

\memorydump是 的简写\pausenumbering\resumenumbering。这将清除之前记忆的内容,同时保持编号不变。

这两个命令反过来只是和的“软”版本\endnumbering\beginnumbering它们具有所有其他功能,但它们没有重置行号。

因此,呼叫\memorydump就是呼叫\endnumbering\beginnumbering直接呼叫。 但是之后,无论你把哪里放\memorydump你打乱了运行所需的非常精细的层次结构和环境安排reledpar。无论你在哪里使用它,它都会破坏一些东西。

\pausenumbering是正确的工具

您的既定目标是分解文本块右侧的文字始终比左侧的文字长得多,以解决不平衡问题。您可以通过结束Leftsideand pages(等等)环境并\Pages偶尔打印 来实现这一点,从而实现更自然的分页符和文本分布。

为了实现这一点并保留连续的行号,请使用命令\pausenumbering\resumenumbering而不是\end- 和\begin- (reledmac手册§5.2.7)。

\documentclass{article}
\usepackage[a6paper]{geometry}   % just for the screenshots
\usepackage{blindtext}
\usepackage[series={A},noend, noeledsec, noledgroup, nopenalties]{reledmac}
\usepackage{reledpar}

\begin{document}

\begin{pages}
\begin{Leftside}
%
\beginnumbering
\pstart
\blindtext
\pend
%
%\endnumbering     % endnumbering --> resets line counting
\pausenumbering    % pausenumbering --> continuous numbering
\end{Leftside}
%
\begin{Rightside}
\beginnumbering
%
\pstart
\blindtext
\blindtext
\pend
%
%\endnumbering     % endnumbering --> resets line counting
\pausenumbering    % pausenumbering --> continuous numbering
\end{Rightside}
\end{pages}
\Pages

\begin{pages}
\begin{Leftside}
%\beginnumbering     % beginnumbering --> restarts line numbering from 1 here
\resumenumbering     % resumenumbering --> continuous numbering
%
\pstart
\blindtext
\pend
%
\endnumbering
\end{Leftside}

\begin{Rightside}
%\beginnumbering     % beginnumbering --> restarts line numbering from 1 here
\resumenumbering     % resumenumbering --> continuous numbering
%
\pstart
\blindtext
\blindtext
\pend
%
\endnumbering
\end{Rightside}
\end{pages}
\Pages

\end{document}

前两页连续编号 后两页继续编号 另外两页继续编号


  1. 我建议(维护者)修改手册中\memorydump给出错误说明的部分。

相关内容