0 голосов
398 просмотров

Я хотел бы создать оглавление для библии-модуля. В идеале я хотел бы, чтобы оглавление генерировалось автоматически для каждого маркера \s, чтобы каждый заголовок раздела был строкой в оглавлении, а соответствующий номер страницы отображался.

Если PTXprint не может создать это автоматически на основе \s, тогда я хотел бы иметь возможность добавлять дополнительные теги по всему модулю с информацией в каждом из них, указывающей «добавить запись в оглавление здесь». Я попробовал что-то вроде \toc1 entry_name, но это не сработало (что не совсем удивительно, поскольку обычно нежелательно иметь более одной записи \toc1 в данной книге).

Вот в чём дело, я клянусь, что у меня это работало пару недель назад, но я не могу воспроизвести свою работу. Кто-нибудь знает, как создать такое оглавление, которое не основано просто на записях \toc1/2/3 из разных книг?

Переведено машиной с языка English
PTXprint от (1,9тыс. очков) | 398 просмотров

2 Ответов

0 голосов

Вы получили какой-либо ответ на это?

Оглавление на основе \s было бы очень хорошо и для книг песен.

Майк

Переведено машиной с языка English
от (1,2тыс. очков)

Я не получил ответа.

В то время я работал с несколькими разными модулями, каждый из которых содержал около 100 заголовков разделов. Поэтому объём ручного труда, который потребовался бы для создания оглавления вручную, был огромным, а последующие правки были бы затруднены.

В итоге я написал несколько скриптов на Python, которые позволили мне вручную создать или заполнить базовый файл context.xml. Работать с ним было запутанно, и нужно было помнить, когда необходимо обновлять данные извне, но хотя бы это было быстро.

Переведено машиной с языка English
+1 голос

Самый простой способ добавить индекс песен — это дублировать содержимое \s Song Titles с помощью правила Changes.txt, похожего на это:

'(\\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,2тыс. очков)

Аргх, извините за это. Я думал, что этот вопрос касался SAB (где это всё ещё открытая проблема).

Да, эта проблема была «легко» решена с помощью регулярного выражения, похожего на то, что @mjpenny описывает выше.

Один момент, где вам, вероятно, захочется внимательно проверить вещи. Когда я изначально использовал регулярное выражение, похожее на приведённое выше, в случаях, когда маркеры \s находились вверху страницы, номера страниц в оглавлении были сдвинуты на единицу (они указывали на предыдущую страницу). Вы можете увидеть отчёт об ошибке здесь, а также решение с использованием более сложного регулярного выражения.

Переведено машиной с языка English

(сообщение удалено автором)

Переведено машиной с языка English

Похожие вопросы

0 голосов
1 ответ 26 просмотров
Есть ли стиль для заголовка оглавления? Я хотел бы добавить немного пустого места перед заголовком оглавления, но не нашёл способа это сделать. Джефф
jeffh 1,4тыс. задал вопрос дек 5, 2025
0 голосов
2 ответов 52 просмотров
Есть ли способ разместить оглавление в конце издания? Именно так принято во французских изданиях. Джефф
jeffh 1,4тыс. задал вопрос дек 5, 2025
0 голосов
2 ответов 331 просмотров
Я верстаю издание одной книги Бытия. Мы хотим отобразить в оглавлении 7 меток Основные разделы , и решение, ... , добавив к ней номера страниц на последнем этапе вёрстки?
KimB 673 задал вопрос июн 26, 2024
0 голосов
4 ответов 465 просмотров
Я хотел бы предотвратить перенос содержимого \toc1 внутри его столбца. Можно ли сделать так, чтобы оглавление полностью ... бы размер шрифта я ни выбирал, они кажутся одинаковыми.
beve 128 задал вопрос июн 19, 2023
0 голосов
2 ответов 206 просмотров
В новой версии 1.9.3 сгенерированное оглавление теперь размещается перед включенными PDF-файлами титульных листов. ... титульных листов. Как нам вернуть предыдущее поведение?
rickarellanes 167 задал вопрос авг 31, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
How good and pleasant it is when God’s people live together in unity!
Psalm 133:1
3,048 вопросов
6,007 ответов
5,672 комментариев
2,027 пользователей