reledmac 和 reledpar:\msdata 在第一页出现两次

reledmac 和 reledpar:\msdata 在第一页出现两次

我正在用 reledmac、reledpar 和 LuaLaTeX 编辑双语评注版。左页是带评注装置的希腊文文本,右页是德文译文。

一切看起来都很好,但在第一个左侧页面上,msdata 出现了两次,而在接下来的左侧页面上没有出现。

\msdata我目前所做的:我认为这与我直接接到许多命令(包括关键设备)有关,所以我\msdata暂时转移到了其他地方。然而,这并没有奏效。

我希望有一个人可以帮助我。

这是我的新 MWE

\documentclass[headheight=8mm, paper=170mm:240mm, BCOR=20mm, open=any]{scrbook}

\usepackage[polutonikogreek, ngerman]{babel}
\usepackage{letterspace} % für Sperrungen
\usepackage{lipsum}

%% begin reledmac
\usepackage[%
series={A, B, C, D, E}, % A: Bezeugung, B: Wiedergabe, C: Querbezüge; 
% D: Verwendeter Text, E: Apparat
noend,                  % keine Endnotenapparate
noeledsec,              % keine eledsections et al.
noledgroup              % keine ledgroups           
]{reledmac}

\Xarrangement[]{paragraph}           % Apparateinträge in Paragraph, nicht jeder in eigener Zeile
\setmsdatalabel{}                    % Standardlabel für Bezeugung "Ms." löschen
\lineation{page}                     % auf jeder Seite Zeilen neu zählen
\linenummargin{outer}                % Zeilenzahlen außen
\Xnumberonlyfirstinline[][true]      % Zeilennummern nur einmal
\Xnumberonlyfirstintwolines[][true]
\Xtwolines[]{\,f.}                   % bei zwei Zeilen zweite durch "f." ersetzen
\Xtwolinesbutnotmore[]               % aber bei mehr als zwei Zeilen Begin und Ende nennen
\Xsymlinenum[]{$\parallel$}          % Symbol zwischen Lesarten aus einer Zeile
\Xnotenumfont[]{\bfseries}           % Zeilennummern fett
\Xnonbreakableafternumber[]          % kein Zeilenumbruch nach Zeilennummer
\Xlemmaseparator[A, B, C, D]{:}      % Zeichen nach Lemma
\Xnonumber[B, C, D]                  % nur Zeilennummern in Apparat E
\Xafterrule[]{4pt}                   % Anzahl Points nach den Apparatlinien
\rightnoteupfalse                    % sidenote beginnt rechts von Markierung

%% A: Bezeugung
\Xtxtbeforenotes[A]{\textls{Bezeugung}:}
\Xafternumber[A]{0pt}
\Xinplaceoflemmaseparator[A]{0pt}

%% B: Wiedergabe
\Xtxtbeforenotes[B]{\textls{Wiedergabe}:}
\Xafternumber[B]{0pt}
\Xinplaceoflemmaseparator[B]{0pt}
\newcommand\wiga[3][]{%
    \edtext{#2}{%
        \if$#1$#2\else\lemma{#1}\fi
        \Bfootnote{#3}
    }
}

%% end reledmac

\usepackage{reledpar} % für seitenweise parallele Darstellung von Griechisch und Deutsch
\firstlinenumR{10000000} % vermeidet Zeilennummerierung der rechten Seite

\begin{document}

\begin{pages}

\begin{Leftside}
\lineation{page}
\beginnumbering
\autopar

\pstart%
\msdata{L\,E\,S\,Lat.}%
    \textbf{\large{Titel}}
\pend
        
\pstart
\noindent
\edtext{%
    \lipsum
}
{%
    \lemma{%
        \textbf{§§\,1--5}
    }
    \Bfootnote{Text zu 1--5}
}
\pend

\pstart
%\wiga[\textbf{§§\,6\,f.}]{%
    \lipsum
%} % Wiedergabe
%{Text}
\pend
        
\endnumbering
\stopmsdata
\end{Leftside}
    
\begin{Rightside}
% Deutsche Übersetzung
\selectlanguage{ngerman}
\lineation{page}
\beginnumbering
\autopar
        
\pstart
    \textbf{\large{Titel}}
\pend

\pstart
\ledsidenote{2:1--5}
    \lipsum
\pend

\pstart
\ledsidenote{2:6--9}
    \lipsum
\pend
        
\endnumbering
\end{Rightside}
    
\end{pages}
\Pages

\end{document}

答案1

这听起来没什么帮助,但是……就你的例子被关注到,问题归结于你使用\lipsum与关键脚注结合,具体来说,在 里面\edtext。(并且您的自定义命令\wiga不直接负责它。)

假设你的真实文件包含实际文本而不是\lipsum,这个答案可能不令人满意、形式化且无用。但它有可能为你指明正确的方向——也许你的大脑内部发生了一些事情实际文件 \edtext那不应该——所以我无论如何都要发布它。

我把你的代码提炼成真正的最小例子。

\documentclass{article}

\usepackage{lipsum}
\usepackage{reledmac}
\usepackage{reledpar}

%%%             This custom definition has some issues, see below
\newcommand\wiga[3][]{%
    \edtext{#2}{%
        \if$#1$#2\else\lemma{#1}\fi
        \Bfootnote{#3}
    }
}

\begin{document}

\begin{pages}
\begin{Leftside}
\lineation{page}
\beginnumbering
\autopar

\pstart
\msdata{This text must appear only once!}%
Title
\pend
        
\pstart
\wiga[My lemma]{%
Some
%\lipsum            % try uncommenting this
text%
}{My footnote}
\lipsum         % try commenting this out
%
\edtext{Some 
%\lipsum            % try uncommenting this
text%
}{\lemma{My lemma}\Bfootnote{My footnote}}
\pend
        
\endnumbering
\stopmsdata
\end{Leftside}
    
\begin{Rightside}
\lineation{page}
\beginnumbering
\autopar
        
\pstart
Title
\pend

\pstart
\lipsum
\pend
        
\endnumbering
\end{Rightside}
\end{pages}
\Pages

\end{document}

请注意,我保留了\lipsum 严格在外面单个脚注的论点\edtext,以及 的论点\wiga,后者只是 的别名\edtext...\Bfootnote。在这种情况下, 中的文本重复没有问题\msdata

在此处输入图片描述

但是,如果您使用\lipsum内部\edtext或第一个强制参数\wiga(这是同一件事!),则\msdata文本会被打印两次。

在此处输入图片描述

我不知道它能做什么\lipsum\edtext不能消化——但如果我不得不猜的话,我会说它插入隐式段落分隔符(一次调用\lipsum打印七段“Lorem ipsum”)。我们知道这\edtext是一个“短”宏,即禁止分段在其参数中(如果您留下空行,甚至会抛出错误)。另一方面,似乎由 造成的任何中断都\lipsum可以忽略不计\edtext——只是它们会以不一致和重复的形式回来困扰您。

也许你会发现类似的东西在你的文档中这就是重复的根源。

为了找出罪魁祸首,减少(最小)是可行的方法:像我对上面的 MWE 所做的那样,精简你的代码,直到你有一个仍然会产生问题的简单配置。

自定义命令的改进\wiga

  1. 注意换行符:如果过多的换行符未受保护,文档中就会出现一些虚假空格(在正文和设备中)。对于\wiga所有reledmac脚注来说都是如此:
\newcommand\wiga[3][]{%
    \edtext{#2}{%
        \if$#1$#2\else\lemma{#1}\fi
        \Bfootnote{#3}
    }     % this should be: }%
}

\edtext{%
    Some        % this should be: Some%
}
{%
    \lemma{%
        \textbf{§§\,1--5}       % this should be: }%
    }
    \Bfootnote{Text zu 1--5}    % this should be: }%
}
Text

% or even better: 
\edtext{Some}{%
    \lemma{\textbf{§§\,1--5}}%
    \Bfootnote{Text zu 1--5}}
Text
  1. 我不确定条件\if$#1$#2\else\lemma{#1}\fi是如何工作的(为什么是数学模式?),但实际上,它不起作用。当 #1 为空时,命令打印 #2 两次
    您似乎想要一个打印的命令\edtext{#2}{\lemma{#1}\Bfootnote{#3},其中 #1 是可选的,如果未定义,则默认为 #2。
    使用任何最近的 TeX 发行版(>2020),执行此操作的规范(和有效)方法是下列
\NewDocumentCommand{\wiga}{O{#2} m m}%
{\edtext{#2}{\lemma{#1}\Bfootnote{#3}}}

相关内容