Reledmac:如何存储和检索 \lemma 的参数?

Reledmac:如何存储和检索 \lemma 的参数?

我们正在与 reledmac 合作准备一个评论版。对于一些文本,我们提供了校对。

相关评论(\Afootnote)提供: 第一的,这是所有证人共同的最后一个词,作为一个口号——我们把它放进去\lemma然后,变体,我们将其正确输入\Afootnote。每个变体都再次以标语开头。

问题:这样,我们必须手动为每位新证人重复这个口号。我们希望使这个过程自动化(并且可能让它可自定义,在口号 fi 周围添加漂亮的道具\textbullet~#1\enskip)。

有没有办法暂时存储的参数\lemma并随意重复(在一个脚注内)?此信息应针对每个脚注 – 下一个脚注将具有不同的\lemma论点。

我曾尝试定义一个新命令,但没有成功\repeatlemma;我创建了一个条件,\ifinfoot当且仅当在脚注中(使用\Xwrapcontents)时该条件才为真;但随后我迷失在 reledmac 复杂的钩子系统中。

以下是 MWE:

\documentclass{article}

\usepackage[series={A},noend,nofamiliar,noeledsec]{reledmac}
\Xarrangement[A]{paragraph}
\Xnolemmaseparator[A]
\Xinplaceoflemmaseparator[A]{0.5em}

\begin{document}
\beginnumbering
\pstart
%
Lorem ipsum dolor,
%
\edtext{quod erat demonstrandum.}{%
\lemma{quod}\Afootnote{%        % \lemma prints "quod" in the apparatus
erat demonstrandum \textit{A}\quad  % 1st witness
%
%\repeatlemma\              % should print "quod" again
quod                            % this would be made superfluous by \repeatlemma
demonstrandum est \textit{B}}}  % 2nd witness
%
\pend
\endnumbering
\end{document}

如果实施了,则期望的输出如下\repeatlemma(来自我们最新一卷的示例): 带有 2 次重复的流行语的排序

出于一致性的原因,如果这不需要一个新的、专用的 Xfootnotes 系列或新的用户级命令(\AfootnoteCollation),而是坚持通常的做法,那就太好了\Afootnote;不过,我们可以破解 Xfootnote 的定义或修改一些其他内部结构。

任何帮助,将不胜感激。

(如果相关:我们总是\lemma{}明确地写出 的参数,我们不让它继承 的参数#1 \edtext{}。)

答案1

  1. 感谢提供完整的 MWE 示例和预期输出。
  2. 破解 reledmac 的一些内部宏是个非常糟糕的主意,它们非常敏感。为了避免这种破解,我们实施了“reledmac 的复杂钩子系统”。我知道有很多,但它应该允许您做您想做的事情。
  3. 但就你的情况而言,钩子不会有用,因为它们是在脚注参数已被读取时应用的
  4. 但这很容易。好吧,您需要修补(但不要重新定义)\lemma以便将其参数存储在宏中\repeatlemma
  5. 主要问题是,注释是在段落被分成几行之后由 reledmac 插入的,因此如果你只是将其存储在宏中,那么这个宏将为你获取段落中的最后一个值
  6. 但是 reledmac 必须在内部代码中处理这个问题,并为此提供了一个(未记录的)插入点:\@beforeinsertofthisedtext

所以 :

\documentclass{article}

\usepackage[noend,noeledsec,series={A}]{reledmac}
\makeatletter
\apptocmd{\lemma}{%
  \global\appto\@beforeinsertofthisedtext{\def\repeatlemma{#1}}%
}{}{}
\makeatother
\begin{document}
\beginnumbering
\pstart
\edtext{s}{\lemma{REPETED LEMMA}\Afootnote{Entry1 \repeatlemma Entry2}}



\edtext{s}{\lemma{ANOTHER REPETED LEMMA}\Afootnote{Entry1 \repeatlemma Entry2}}
\pend
\endnumbering
\end{document}

相关内容