reledmac + imakeidx:根据脚注系列更改索引中参考编号后缀

reledmac + imakeidx:根据脚注系列更改索引中参考编号后缀

我有一个变体装置和一个插入诗句装置。我需要索引这两个装置中的单词,并且我希望使用命令定义的后缀\ledinnotemark能够相应地更改:默认后缀 (n) 应指的是变体装置,而新的后缀 (+) 应指的是插值。

我尝试使用我定义的\renewcommand{\ledinnotemark}[1]{#1+}命令\add来管理插值,但什么也没发生。有什么建议吗?

以下是 MWE:

% !TEX encoding = utf8
% !TEX TS-program = lualatex

\documentclass{book}

\usepackage{polyglossia}
\setmainlanguage{latin}

\usepackage{imakeidx}

\usepackage[series={A,B},noend,nofamiliar,noledgroup,nopbinverse]{reledmac}
\firstlinenum{1}
\linenumincrement{1}
\Xnonumber[A]
\Xinplaceoflemmaseparator{0pt}
\Xinplaceofnumber{0pt}

%%%% Remove the page number from the index
\renewcommand{\thepageline}{%
    \xlineref{\edindexlab\thelabidx}%
}
\makeatletter
\renewcommand{\thestartpageline}{%
    \l@dparsedstartline%
}
\renewcommand{\theendpageline}{%
    \l@dparsedendline%
}
\makeatother
%%%%

\newcommand{\add}[2]{\edtext{}{\lemma{}\Afootnote[nosep]{#1 \emph{#2}}}}
%\newcommand{\add}[2]{\renewcommand{\ledinnotemark}[1]{##1+}\edtext{}{\lemma{}\Afootnote[nosep]{#1 \emph{#2}}}}
\newcommand{\var}[2]{\edtext{#1}{\Bfootnote{#2}}}
\newcommand{\nom}[2]{#1\edindex[nom]{#2}}

\makeindex[name=nom,title=Index nominum]

\begin{document}

\beginnumbering
\setstanzaindents{0,0}
\setcounter{stanzaindentsrepetition}{1}

    \stanza
    \add{Ille ego, qui quondam gracili modulatus auena}{}%
    \add{Carmen et egressus siluis uicina coegi,}{}%
    \add{Vt quamuis auido parerent arua colono,}{}%
    \add{Gratum opus agricolis, at nunc horrentia \nom{Martis}{Mars}}{— ante v.~\edlineref{arma}}%
    \edlabel{arma}Arma uirumque cano, \nom{Troiae}{Troia} qui primus ab oris&
    \nom{Italiam}{Italia} fato profugus \var{\nom{Lauiniaque}{Lauinium}}{\nom{Lauinaque}{Lauinium}} uenit&
    Litora, multum ille et terris iactatus et alto&
    Vi superum, saeuae memorem Iunonis ob iram,&
    Multa quoque et bello passus, dum conderet urbem&
    Inferretque deos \nom{Latio}{Latium}, genus unde \nom{Latinum}{Latium}&
    \nom{Albanique}{Alba Longa} patres atque altae moenia \nom{Romae}{Roma}.\&

\endnumbering

\printindex[nom]

\end{document}

仪器 指数

我希望索引显示为:火星,1+

答案1

您使用的 reledmac 版本不提供此功能。

您在 github 上询问我,我已经实现了该功能。因此,这个答案更适合其他读者。

对于将尽快发送到 CTAN 的 reledmac 2.33.0,我们不再重新定义,ledinnotemark而是使用两个挂钩\innotemarkX(用于熟悉的脚注)和 \Xinnotemark(用于关键脚注)。

与所有钩子一样,它可以采用可选参数(即系列)和强制参数(即设置)。

强制参数可以使用以下内容:

  • #1对于该系列
  • ##1以供参考。

举个例子:

\documentclass{book}

\usepackage{polyglossia}
\setmainlanguage{latin}

\usepackage{imakeidx}

\usepackage[series={A,B},noledgroup,nopbinverse,noeledsec,noend]{reledmac}

\makeindex[name=nom,title=Index nominum]
\innotemarkX[A]{##1+}
\innotemarkX[B]{##1*}
\Xinnotemark[A]{##1\textsuperscript{+}}
\Xinnotemark[B]{##1\textsuperscript{*}}
\setstanzaindents{0,0}
\setcounter{stanzaindentsrepetition}{1}
\Xnonumber
\Xinplaceofnumber{0pt}
\begin{document}
    \beginnumbering

    \stanza
    \edtext{}{\Afootnote[nosep]{… Gratum opus agricolis, at nunc horrentia Martis\edindex[nom]{Mars} — ante v.~1}}\footnoteA{… Gratum opus agricolis, at nunc horrentia Martis\edindex[nom]{Mars} — ante v.~1}%
    Arma uirumque cano, Troiae\edindex[nom]{Troia} qui primus ab oris&
    Italiam\edindex[nom]{Italia} fato profugus \edtext{Lauiniaque\edindex[nom]{Lauinium}}{\Bfootnote{Lauinaque\edindex[nom]{Lauinium}}} ueni…\footnoteB{Lauinaque\edindex[nom]{Lauinium}}\&

    \endnumbering

    \printindex[nom]

\end{document}

相关内容