您好,我尝试在 reledmac 中使用不同长度的脚注规则,以便在视觉上区分注释和不同的脚注,但代码没有任何效果。我在开头使用“\Xbhookgroup”或“\bhookgroupX”或变体 X 没有任何区别。
以下是代码:
\documentclass[twoside]{article}
\usepackage{lipsum}
\usepackage[noeledsec,series={A,B,C,D}]{reledmac}
\usepackage{fontspec}
\usepackage[english]{babel}
\usepackage{perpage}
\MakePerPage{footnoteA}
\renewcommand*{\thefootnoteA}{\alph{footnoteA})}
\setmainfont[
BoldFont={Dejavu Serif Bold},
ItalicFont={DeJavu Serif Italic},
% scaled={0.8},
BoldItalicFont={DeJavu Serif BoldItalic},
BoldFeatures={ Scale=1, AutoFakeBold=4.0},
BoldItalicFeatures={ Scale=0.94},
ItalicFeatures={ Scale=0.94},
]{Dejavu Serif}
\fnpos{critical-familiar}
\linenummargin{outer}
\lineation{page}
\newcommand{\nolemma}[2]{%
\edtext{#1}{%
\lemma{}\Dfootnote[nosep]{\hspace*{-10pt}#2}%
}%
}
\begin{document}
\Xlemmadisablefontselection{}
\Xarrangement[A]{paragraph}
\Xarrangement[B]{paragraph}
\Xarrangement[C]{paragraph}
\Xarrangement[D]{paragraph}
\arrangementX[A]{paragraph}
\arrangementX[D]{paragraph}
\arrangementX[B]{paragraph}
\arrangementX[C]{paragraph}
\Xlemmafont{\bfseries}
\Xendlemmafont{\bfseries}
% \def\footwidthA{\kern-3pt \hrule width 1cm \kern 2.6pt}
\newcommand\footwidthB{ %
\kern-3pt \hrule width 2cm \kern 2.6pt
}
\newcommand\footwidthC{ %
\kern-3pt \hrule width 3cm \kern 2.6pt
}
\newcommand\footwidthD{ %
\kern-3pt \hrule width 4cm \kern 2.6pt
}
\newcommand\footwidthA{ %
\kern-3pt \hrule width 5cm \kern 2.6pt
}
\def\Afootwidth{\kern-3pt \hrule width 5cm \kern 2.6pt}
\def\Bfootwidth{\kern-3pt \hrule width 6cm \kern 2.6pt}
\def\Cfootwidth{\kern-3pt \hrule width 7cm \kern 2.6pt}
\def\Dfootwidth{\footwidthD}
\Xbhooknote[B]{\let\normalfootnoterule=\footwidthB}
\Xbhooknote[A]{\let\normalfootnoterule=\footwidthA}
\Xbhooknote[C]{\let\normalfootnoterule=\footwidthC}
\Xbhooknote[D]{\let\normalfootnoterule=\footwidthD}
\bhooknoteX[B]{\let\normalfootnoterule=\footwidthB}
\bhooknoteX[A]{\let\normalfootnoterule=\footwidthA}
\bhooknoteX[C]{\let\normalfootnoterule=\footwidthC}
\bhooknoteX[D]{\let\normalfootnoterule=\footwidthD}
% \makeatother
\section{Test Section}
\beginnumbering
\pstart
\lipsum[2]\nolemma{lorem}{Critical lorem with no lemma}
\lipsum[2]\footnoteA{footnote A}
\lipsum[2]\footnoteB{footnote B}
\lipsum[2]\footnoteC{footnote C}
\lipsum[2]\footnoteD{footnote D}
\pend
\endnumbering
\end{document}
答案1
正如我在快速回答中所解释的那样,你的第一次测试无法进行:
\Xbhooknote
和\bhooknoteX
在将注释添加到注释列表时,在注释开头使用的钩子。\Xbhookgroup
并bhookgroupX
在打印脚注规则后被调用。
并且在任何情况下\normalfootnoterule
都不会直接调用:所谓的是,\Afootnoterule
等等。所以要做的只是重新定义这些命令,就像在这个 MWE 中一样\Bfootnoterule
\footnoteruleA
\documentclass[twoside]{article}
\usepackage{lipsum}
\usepackage[noeledsec,series={A,B,C,D}]{reledmac}
\usepackage{fontspec}
\usepackage[english]{babel}
\usepackage{perpage}
\usepackage{libertineotf}
\MakePerPage{footnoteA}
\renewcommand*{\thefootnoteA}{\alph{footnoteA})}
\fnpos{critical-familiar}
\linenummargin{outer}
\lineation{page}
\newcommand{\nolemma}[2]{%
\edtext{#1}{%
\lemma{}\Dfootnote[nosep]{#2}%
}%
}
\Xinplaceoflemmaseparator{0pt}
\Xlemmadisablefontselection{}
\Xarrangement{paragraph}
\arrangementX{paragraph}
\Xlemmafont{\bfseries}
\Xendlemmafont{\bfseries}
\renewcommand\footnoteruleB{ %
\kern-3pt \hrule width 2cm \kern 2.6pt
}
\renewcommand\footnoteruleC{ %
\kern-3pt \hrule width 3cm \kern 2.6pt
}
\renewcommand\footnoteruleD{ %
\kern-3pt \hrule width 4cm \kern 2.6pt
}
\renewcommand\footnoteruleA{ %
\kern-3pt \hrule width 5cm \kern 2.6pt
}
\let\Afootnoterule\footnoteruleA
\let\Bfootnoterule\footnoteruleB
\let\Cfootnoterule\footnoteruleC
\let\Dfootnoterule\footnoteruleD
\begin{document}
\section{Test Section}
\beginnumbering
\pstart
\lipsum[2]\nolemma{lorem}{Critical lorem with no lemma}
\lipsum[2]\footnoteA{footnote A}
\lipsum[2]\footnoteB{footnote B}
\lipsum[2]\footnoteC{footnote C}
\lipsum[2]\footnoteD{footnote D}
\pend
\endnumbering
\end{document}
主手册中没有记录这一点,但它会出现(有一天!)https://github.com/maieul/ledmac/issues/483。
在这篇 MWE 中,我还纠正了一些错误的操作:
- 如果要将命令应用于所有系列,请不要对每个系列都调用它,而只需调用它而不使用可选参数(参见手册开头的第 6 节)
- 用来
\Xinplaceoflemmaseparator
代替使用负 hspace 进行 hacking。