使用 bibleref 包在自定义索引中添加“数字”标题

使用 bibleref 包在自定义索引中添加“数字”标题

我在使用 Bibleref 包和样式文件编写的圣经索引中遇到了一些奇怪的行为。单词“数字”莫名其妙地出现在索引中的标题中。

梅威瑟:

\documentclass{article}
\usepackage{bibleref}
\usepackage{indextools}

\biblerefmap{Genesis}{1@Old Testament!01}
\makeindex[title=Scripture Index,name=scr,options= -s style.ist]
\renewcommand{\biblerefindex}{\index[scr]}

\begin{document}
\ibibleverse{Gen}(1:1).
\printindex[scr]
\end{document}

风格主义者

headings_flag 1
heading_prefix "{\\large\\bfseries "
heading_suffix "}\\nopagebreak\n"
delim_0 "\\dotfill"
delim_1 "\\dotfill"
delim_2 "\\dotfill"

结果索引:

在此处输入图片描述

我该如何预防?

答案1

问题出在.ist文件中。它指定了headings_flag 1,根据indextools 文档,创建“标题样式”(第 16 页)。因为书籍被映射到数字(1@等)makeindex认为标题应该是数字。因此,如果您指定例如\biblerefmap{Genesis}{~@Old Testament!01}那么标题是符号

删除样式的这一部分将导致索引带有点填充,但没有数字标题:

delim_0 "\\dotfill"
delim_1 "\\dotfill"
delim_2 "\\dotfill"

在此处输入图片描述

这看起来有点奇怪,因为实际引用位于第二列的顶部,但索引越长,这一点就越清晰。

如果您确实想要自定义标题(例如以粗体显示旧约/新约),那么您可以在命令中使用一个小宏\biblerefmap

梅威瑟:

\documentclass{article}
\usepackage{bibleref}
\usepackage{indextools}

\def\otest{\textbf{Old Testament}}
\def\ntest{\textbf{New Testament}}

\biblerefmap{Genesis}{1@\otest!01}
\biblerefmap{Leviticus}{1@\otest!03}
\biblerefmap{Deuteronomy}{1@\otest!05}
\biblerefmap{Matthew}{2@\ntest!01}
\biblerefmap{Luke}{2@\ntest!03}
\makeindex[title=Scripture Index,name=scr,options= -s style.ist]
\renewcommand{\biblerefindex}{\index[scr]}

\begin{document}
\ibibleverse{Lev}(5:2).
\ibibleverse{Gen}(1:1).
\ibibleverse{Gen}(2:3).
\ibibleverse{Gen}(2:4).
\ibibleverse{Luke}(1:2).
\ibibleverse{Luke}(1:5).
\ibibleverse{Mt}(1:3).
\ibibleverse{Deut}(1:4).
\ibibleverse{Deut}(2:1).
\ibibleverse{Deut}(3:1).
\printindex[scr]
\end{document}

结果:

在此处输入图片描述

您还可以通过重新定义 来编辑索引中书名的样式\BRbooktitlestyle。如果您在文档开头重新定义它,那么文档本身的条目将受到影响,而如果在排版索引之前重新定义它,那么只有索引项会受到影响,文档中的条目仍保持默认样式。

\renewcommand*{\BRbooktitlestyle}[1]{\textbf{#1}}
\printindex[scr]

在此处输入图片描述

相关内容