0
398 次浏览

我想为圣经模块创建一个目录(ToC)。理想情况下,我希望目录能根据每个 \s 标记自动生成,这样每个章节标题都会成为目录中的一行,并显示对应的页码。

如果 PTXprint 无法基于 \s 自动生成,那么我希望能够在模块中添加额外的标签,并在每个标签中包含信息,以指示“在此处添加目录条目”。我尝试过类似 \toc1 entry_name 的写法,但不起作用(这并不完全出乎意料,因为通常不希望在一本特定的书中出现多个 \toc1 条目)。

问题是,我敢肯定几周前我成功实现过这个功能,但我无法重现当时的操作。有没有人知道如何创建这样一个不单纯基于不同书籍中 \toc1/2/3 条目的目录?

机器翻译自 English
PTXprint (1.9k 分) 发布 | 398 次浏览

2 个回答

0

这个问题有收到回复吗?

基于 \s 的目录对于诗歌书也会非常有用。

Mike

机器翻译自 English
(1.2k 分) 发布

我没有收到回复。

当时我正在处理几个不同的模块,每个模块大约有 100 个章节标题。因此,手动创建目录所需的工作量巨大,而且后续的修订也会很困难。

最终我编写了几个 Python 脚本,使我能够手动创建或填充底层的 context.xml 文件。处理起来很令人困惑,需要记住何时需要外部更新,但至少速度很快。

机器翻译自 English
+1

添加歌曲索引最简单的方法是,使用如下 Changes.txt 规则来复制 \s 歌曲标题的内容:

'(\\s )([^\\]+)( ?\r?\n)' > '\\toc1 \2\3\1\2\3'

这意味着,查找 \s 章节标题,并将该匹配组称为组 1。
然后获取该标题的内容/文本,并将该匹配组称为组 2。
获取行尾(至少需要一个 \n,但在最终的 \n 之前可能有一个空格和/或 \r),并将该匹配组称为组 3。

然后,在替换侧,放入新的标记 \toc1,后接组 2 的内容和行尾部分。然后将其他所有内容按原样放回(1, 2, 3)。

这些 \toc1 字段现在应该会被拾取并用于目录中。

请注意,您还可以从这些相同的 \toc1 标记生成一个排序后的(目录),用于诗歌书末尾的索引。只需使用 \ztoc|sorta\* 代替 \ztoc|main\*

机器翻译自 English
(3.2k 分) 发布

哎呀,抱歉。我以为这个问题是关于 SAB 的(在那里这仍然是一个未解决的问题)。

是的,这个问题使用类似于 @mjpenny 上面提到的正则表达式“轻松”解决了。

有一个地方您可能需要仔细检查。当我最初使用像上面那样的正则表达式时,在 \s 标记位于页面顶部的情况下,目录中的页码会偏差一个(它们指向的是上一页)。您可以在 这里 看到 bug 报告,以及使用更复杂的正则表达式的解决方案。

机器翻译自 English

(帖子已被作者删除)

机器翻译自 English

相关问题

0
1 个回答 26 次浏览
目录标题有对应的样式吗?我想在目录标题前添加一些空白,但还没找到方法。 Jeff
jeffh 1.4k 发布 提问于 十二月 5, 2025
0
2 个回答 52 次浏览
有没有办法将目录(TOC)放在出版物的末尾?这是法语出版物的标准做法。 Jeff
jeffh 1.4k 发布 提问于 十二月 5, 2025
0
2 个回答 331 次浏览
我正在排版一本单卷《创世记》出版物 我们希望在目录中显示 7 个 主要章节 标签,这里讨论的解决方案基本上有效 https://support.bible/11592/toc-for-bible-modules 然而,PTXPrint 生成的目录坚持显示 \ ... 大家有什么想法吗?或者我应该只在前置部分使用我手动输入的表格,并在最后排版步骤中添加页码?
KimB 673 发布 提问于 六月 26, 2024
0
4 个回答 465 次浏览
我想防止 \toc1 内容在其列内换行。 我能否让目录完全适应页面边距,和/或更改目录内的列宽? 我似乎无法更改 \toc# 样式的字体大小——无论我选择什么字体大小,它们看起来都一样大。
beve 128 发布 提问于 六月 19, 2023
0
2 个回答 206 次浏览
在新版本 1.9.3 中,生成的目录现在被放置在包含的前置 PDF 之前。而在 1.9.2 中,目录位于包含的前置 PDF 之后。我们如何恢复之前的行为?
rickarellanes 167 发布 提问于 八月 31, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Don’t you know that you yourselves are God’s temple and that God’s Spirit dwells in your midst?
1 Corinthians 3:16
3,048 个问题
6,007 个回答
5,672 条评论
2,027 位用户