ulem 与 (r)eledmac 结合使用的舒适解决方案

ulem 与 (r)eledmac 结合使用的舒适解决方案

前言:抱歉,文章太长了。通过写这篇文章,我解决了导致这个问题的一个早期问题。

使用 ulem 包的下划线可以打破脚注ulemUlrike Fischer 和 Heiko Oberdiek 回答了有关包装和组合的问题\footnote

我现在面临一个非常相似的问题,但是使用来自包的脚注宏(r)eledmac

我该如何解决以下问题:

\documentclass{book}
\usepackage{ulem}
\usepackage[noreledmac]{eledmac} % or reledmac

\begin{document}
This is \uline{a test containing\footnoteA{A simple footnote.} a simple footnote.}
\end{document}

使用链接问题中的方法我可以使用:

This is \uline{a test containing\mbox{\footnoteAmark}}%
   \footnoteAtext{A simple footnote.}\uline{ a simple footnote.}

但是这两个宏\footnoteAmark\footnoteAtext是什么样子的呢?我从eledmac手册开始,取出了定义的相关部分\footnoteA

\begingroup%
   \prepare@prenotesX{#1}%
   \newcommand{\content}{##1}%
   \stepcounter{footnote#1}%
   \protected@csxdef{@thefnmark#1}{\csuse{thefootnote#1}}%
   \csuse{@footnotemark#1}%
   \csuse{vfootnote#1}{#1}{\expandonce\content}\m@mmf@prepare%
\endgroup%

现在我将其分为两个新的定义:

\makeatletter
\newcommand{\footnoteAmark}{%
   \begingroup%
      \prepare@prenotesX{A}%
      \stepcounter{footnoteA}%
      \protected@csxdef{@thefnmarkA}{\csuse{thefootnoteA}}%
      \csuse{@footnotemarkA}%
   \endgroup%
}%
%
\newcommand{\footnoteAtext}[1]{%
   \begingroup%
      \csuse{vfootnoteA}{A}{\expandonce{#1}}\m@mmf@prepare%
   \endgroup%
}%
\makeatother

它确实有效。但是,由于我将其用作自动化过程的一部分,有没有办法定义一些\footnoteAVar一起发挥魔力的东西?

This is \uline{a test containing\footnoteAVar{A simple footnote.} a simple footnote.}

我的方法

\newcommand{\footnoteAVar}[1]{%
   \mbox{\footnoteAmark}%       
   \egroup% to end \uline
   \footnoteAtext{#1}%
   \uline\bgroup%
}%

导致页面底部缺少脚注文本:

\documentclass{book}
\usepackage{ulem}
\usepackage[noreledmac]{eledmac} % or reledmac
\makeatletter
\newcommand{\footnoteAmark}{%
   \begingroup%
      \prepare@prenotesX{A}%
      \stepcounter{footnoteA}%
      \protected@csxdef{@thefnmarkA}{\csuse{thefootnoteA}}%
      \csuse{@footnotemarkA}%
   \endgroup%
}%
%
\newcommand{\footnoteAtext}[1]{%
   \begingroup%
      \csuse{vfootnoteA}{A}{\expandonce{#1}}\m@mmf@prepare%
   \endgroup%
}%
\newcommand{\footnoteAVar}[1]{%
   \mbox{\footnoteAmark}%       
   \egroup% to end \uline
   \footnoteAtext{#1}%
   \uline\bgroup%
}%    
\makeatother    
\begin{document}
This is \uline{a test containing\mbox{\footnoteAmark}}\footnoteAtext{A  
simple footnote.}\uline{ a simple footnote.}

This is \uline{a test containing\footnoteAVar{A simple footnote.} a 
simple footnote.}
\end{document}

我猜我的分组有问题。有人知道缺失的链接吗?

答案1

感谢 Martin Work,即将在 CTAN 上快速发送的 reledmac 2.19.0 版本提供了两个新命令 :\footnoteAmark\footnoteAtext:

\documentclass{article}
\usepackage[noend, noeledsec]{reledmac}
\usepackage{reledpar}
\usepackage{ulem}
\begin{document}
This is \uline{a test containing\mbox{\footnoteAmark}}\footnoteAtext{A  
simple footnote.}\uline{ a simple footnote.}
\end{document}

相关内容