我见过这个问题这与我的非常相似,但没有得到正确的回答(我猜是因为解释得不好),所以我会尝试再问一次:如果版主认为这是一个重复的问题,我很乐意关闭它,只要另一个问题得到回答!:)
反正。
我有一篇平行文本需要写成两页。左边是拉丁文本,右边是拉丁文本的通俗化版本,注释基本上都是关于通俗化版本的(还有一个专门针对拉丁文本的批判家族,但几乎没用过)。这造成了注释之间的严重不平衡,如果保持在相同的Leftside
和内Rightside
,reledpar
就会开始出现问题。然后我想用来分割文本\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
是正确的工具
您的既定目标是分解文本块右侧的文字始终比左侧的文字长得多,以解决不平衡问题。您可以通过结束Leftside
and 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}
- 我建议(维护者)修改手册中
\memorydump
给出错误说明的部分。