reledmac 和 xindy

reledmac 和 xindy

这是一个代码makeindex reledmac,脚注A 中的 bibleref 条目和索引中的行号

由于我有一个非英语文本,我尝试使用xindy

MNWE:

\documentclass[twoside,14pt,onecolumn,openright ,a4paper]{memoir}
    \usepackage{lipsum}
    \usepackage{fontspec}
    \usepackage[english]{babel}
    \usepackage{xunicode}

    \usepackage[nonewpage,xindy]{indextools}
    \usepackage[series={A,B,C,D,E},xindy+hyperref]{reledmac} \usepackage[hyperindex=false]{hyperref}
    \usepackage{perpage}
    \MakePerPage{footnoteA}
    \renewcommand*{\thefootnoteA}{(\roman{footnoteA})}
    \setmainfont{Sylfaen}
    \fnpos{critical-familiar}
    \linenummargin{outer}
    \lineation{page}
    \sidenotemargin{inner}
    \usepackage{bibleref}
    \Xparindent
    \Xafterrule[A]{0pt}  % n
    \Xbhooknote[A]{\vskip 0pt\noindent} 
    \Xinplaceoflemmaseparator{0pt}
    \Xlemmadisablefontselection{}
    \Xarrangement{paragraph}
    \arrangementX{paragraph}
    \Xlemmafont{}

    \renewcommand\footnoteruleA{ %
        \kern-3pt \hrule width 5.5cm \kern 2.6pt
    }
    \renewcommand\Afootnoterule{ %
        \kern-3pt \hrule width 3.5cm \kern 2.6pt
    }
    \setlength{\linenumsep}{16pt}
    \setlength{\parindent}{0pt}
    \setlength{\parskip}{0pt}
    \MakePerPage{footnote@typeset}
    \MakePerPage{footnoteA@typeset}
    \MakePerPage{footnoteB@typeset}
    \AtEveryPend{\par\medskip} 
    \usepackage[usenames, dvipsnames]{color}


            \newcounter{asidenote}
        \newcommand{\mysidenote}[1]{%
         \refstepcounter{asidenote}\textsuperscript{\alph{asidenote}}%
        \ledsidenote{\textsuperscript{\alph{asidenote}}\scriptsize#1}}

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \rightnoteupfalse
    \leftnoteupfalse 
    \makeindex
    \makeindex[title=Bible index,name=bible]
    \renewcommand{\biblerefindex}{\edindex[bible]}
    \begin{document}
    \chapter{Test chapter}
        \beginnumbering
        \pstart
        \lipsum[1]
        An old\mysidenote{\ibibleverse{Gn}(1:1-10)} testament reference %\footnoteA{\ibibleverse{Gn}(1:1-10)}.\\
        An old testament reference \footnoteA{\ibibleverse{Gn}(3:1-10)}.\\
        An old testament reference \footnoteA{\ibibleverse{Gn}(4:1-10)}.\\
        An old testament reference \footnoteA{\ibibleverse{Ex}(1:1-10)}.\\
        An old testament reference \footnoteA{\edindex[bible]{Lv!1:1-10}}.
        \pend

        \endnumbering
            \backmatter
            \printindex[bible]

    \end{document}

运行命令:

xindy -I xelatex -M texindy -M reledmac.xdy  -o bible.ind bible.idx

给出:

    WARNING: unknown cross-reference-class `ledinnote[$&2]'! (ignored)

索引页是空的。所以我需要写入 xdy 文件。怎么做?另一个小问题是如何在索引条目中使用pagenumber^{line number}(行号作为上标)而不是默认值?pagenumber(linenumber)

答案1

嗯,也许手册上的内容不清楚,但按照以下步骤可以得到您需要的内容。

  1. xindy+hyperref选项不会替换xindy选项。因此您需要替换

    \usepackage[series={A,B,C,D,E},xindy+hyperref]{reledmac} 由 \usepackage[series={A,B,C,D,E},xindy,xindy+hyperref]{reledmac}

  2. reledmac 手册文件夹reledmac.xdy中有一个提供的文件:exampleshttp://www.pirbot.com/mirrors/ctan/macros/latex/contrib/reledmac/examples/reledmac.xdy。你只需要将它与你的 .tex 文件一起重新复制即可

  3. 打开它,你会发现

    (markup-locref-list :open " (":sep ", " :close ")" :depth 1 :class "eledmac") 只需将它们更改为

    (markup-locref-list :open "\textsuperscript{" :sep ", " :close "}" :depth 1 :class "eledmac") 获取上标中的行号

  4. 在文件末尾,还需要取消注释一些行才能使用 hyperref。

相关内容