使用 reledmac 自定义脚注标记

使用 reledmac 自定义脚注标记

在手册中reledmac,第 32 页,小节 6.5.2 中有一些关于自定义熟悉脚注的脚注标记的评论,但在我看来,如何使用此指令来实现脚注标记的不同外观并不清楚。

有人知道这件事吗?

我想将阿拉伯语文本与德语译文放在一起,这样就可以使用两层熟悉的脚注,一层指向译文,另一层指向原文。指向 LTR 文本的脚注为 LTR,指向 RTL 文本的脚注为 RTL。

现在,我想要第一层,\footnoteA用阿拉伯数字和括号标记脚注,第二层,\footnoteB用阿拉伯字母和括号标记脚注。

我尝试过一种“解决方案”,至少在\footnoteB页面底部的图层中用括号括住字母脚注标记,但其余功能我无法实现。

这是一个 MWE

\documentclass[11pt,a4paper,twoside]{article}
\usepackage{polyglossiasetspace}
\usepackage[series={A,B},nocritical,noend]{reledmac}
\usepackage{reledpar}
\usepackage{polyglossia}
 \setmainlanguage[spelling=old,babelshorthands=true]{german}
\setmainfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}

\setotherlanguage{english}
\newfontfamily\englishfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}

\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.4]{Scheherazade}

\linenumincrement*{2}
\firstlinenum*{1}
\setlength{\Lcolwidth}{0.5\textwidth}
\setlength{\Rcolwidth}{0.4\textwidth} 

\newcommand{
\فب
}[1]{\footnoteB{\hspace{1ex}#1}}

%\renewcommand*{\thefootnoteB}{\alph{footnoteB}}

\bhooknoteX{\renewcommand{\thefootnoteB}{\textarabic{(\alph{footnoteB})}}}
%\bhooknoteX{\renewcommand{\bodyfootmarkB}{\textarabic{(\alph{footnoteB})}}}

\begin{document}

%\numberlinefalse

\AtBeginPairs{\sloppy}
\begin{pairs}

\begin{Rightside} 
\begin{RTL}
\begin{Arabic}
\begin{spacing}{2}
\beginnumbering
\pstart
نحمدك اللهمّ على نعم يؤذن الحمد بازديادها، ونصلي على نبيك محمد هادي الأمة\فب{يعني أمة محمد.} لرشادها
\pend    
\endnumbering
\end{spacing}
\end{Arabic}
\end{RTL}
\end{Rightside}

\begin{Leftside} 
\begin{german}
\beginnumbering
\pstart
\noindent
Wir preisen dich, Gott, für Gnadengaben, deren Lobpreis von ihrem\footnoteA{\hspace{1ex}D.h. der Gnadengaben} Anwachsen kündet, und wir bitten um Segen für deinen Propheten Muḥammad, der die Gemeinde auf den rechten Weg führt.
\pend
\endnumbering
\end{german}
\end{Leftside}
\end{pairs}
\Columns

\end{document}

答案1

谢谢,你问题的新表述比第一个更清楚。

但是,您提供的代码没有用,因为它不是可以运行的 MWE(没有 documentclass,并且缺少一些包加载)。请阅读此主题: https://tex.meta.stackexchange.com/a/3225/7712

但是,我能够重新创建 MWE。所以我可以回答你的问题。

您尝试使用 \bhooknoteX,但这不是获取结果的直接方法,而且似乎会干扰(我不知道具体原因,可能是 reledmac 的一个错误)字符/排版检测。

但是,手册向您解释了,可以通过重新定义\footfootmarkA(和\footfootmarkB) 直接修改脚注文本中的脚注标记。这也有助于自动插入 hspace,而不是手动插入。

由于这个操作命令里面带有arobase,所以必须使用\makeateletter…\makeatother structure

以下是您序言中需要添加的代码:

\makeatletter
\renewcommand{\footfootmarkA}{(\textsuperscript{\@thefnmarkA})\hspace{1ex}}
\renewcommand{\footfootmarkB}{\textarabic{(\textsuperscript{\@thefnmarkB})}\hspace{1ex}}
\makeatother

这是完整的 MWE,其中包含对您“错误”代码的更正。

\documentclass{article}
\usepackage{setspace}
\usepackage[noend,noeledsec]{reledmac}
\usepackage{reledpar}
\usepackage{polyglossia}

\setmainlanguage[spelling=old,babelshorthands=true]{german}
\setmainfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}

\setotherlanguage{english}
\newfontfamily\englishfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}

\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.4]{Scheherazade}

\linenumincrement*{2}
\firstlinenum*{1}
\setlength{\Lcolwidth}{0.5\textwidth}
\setlength{\Rcolwidth}{0.4\textwidth} 

\newcommand{
\فب
}[1]{\footnoteB{#1}}

\makeatletter
\renewcommand{\footfootmarkA}{(\textsuperscript{\@thefnmarkA})\hspace{1ex}}
\renewcommand{\footfootmarkB}{\textarabic{(\textsuperscript{\@thefnmarkB})}\hspace{1ex}}
\makeatother

\begin{document}

%\numberlinefalse

\AtBeginPairs{\sloppy}
\begin{pairs}

\begin{Rightside} 
\begin{RTL}
\begin{Arabic}
\begin{spacing}{2}
\beginnumbering
\pstart
نحمدك اللهمّ على نعم يؤذن الحمد بازديادها، ونصلي على نبيك محمد هادي الأمة\فب{يعني أمة محمد.} لرشادها
\pend    
\endnumbering
\end{spacing}
\end{Arabic}
\end{RTL}
\end{Rightside}

\begin{Leftside} 
\begin{german}
\beginnumbering
\pstart
\noindent
Wir preisen dich, Gott, für Gnadengaben, deren Lobpreis von ihrem\footnoteA{D.h. der Gnadengaben} Anwachsen kündet, und wir bitten um Segen für deinen Propheten Muḥammad, der die Gemeinde auf den rechten Weg führt.
\pend
\endnumbering
\end{german}
\end{Leftside}
\end{pairs}
\Columns

\end{document}

相关内容