+2 голосов
384 просмотров

Я хотел бы иметь горизонтальную линию в конце введения.
Добавление этого в changes.txt добавляет линию перед главой 1 в каждой книге:
'(\\c 1 ?\r?\n)' > '\\zrule |width=".6"\\*\r\n\1 '

К сожалению, я издаю сборник отрывков из Ветхого Завета, в которых глава 1 часто опускается. Поэтому я написал серию правил вроде этого в changes.txt, по одному для каждой книги:

at NUM 0 '(\\c )'	>	'\\zrule |width=".6"\\*\r\n\1 '
at JDG 0 '(\\c )'	>	'\\zrule |width=".6"\\*\r\n\1 '
at 2SA 0 '(\\c )'	>	'\\zrule |width=".6"\\*\r\n\1 '

Это добавляет линию перед первой встречей \c в «главе 0». Есть ли способ написать правило, которое делало бы это во всех книгах, чтобы мне не нужно было указывать названия книг, и я мог бы заменить моё правило \c 1 выше?

Не было бы здорово добавить такую функцию в интерфейс PTXprint?

Переведено машиной с языка English
PTXprint от (607 очков) | 384 просмотров

7 Ответов

0 голосов

Я не могу придумать ничего, что бы улавливало все «другие первые главы» каждой книги. Интересно, могли бы ли разработчики TeX использовать какой-то хук (используемый только один раз), чтобы достичь того же.

Но одним сокращением для вашего правила является указание нескольких ссылок на одной строке:

at NUM 0 JDG 0 2SA 0 '(\\c )' > '\\zrule |width=".6"\\*\r\n\1 '

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

Мне кажется, я что-то упускаю. Вы спрашиваете о чём-то, что должно срабатывать при первом переходе от вводного материала к главе? Или при любом таком переходе?

Какой-то \sethook{first}{c}{code} (т.е. код, который срабатывает, когда неявный \c 0 в начале книги заканчивается?)

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

Да, почти… Нам нужно вставить \zrule сразу перед первым \c книги (независимо от того, является ли это главой 1 или главой 99).

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

Похоже, это работает (текущий github):

\sethook{first}{c}{\zrule|width="0.6" \*}

Механизм:
\id устанавливает номер главы в 0 (ноль). Когда достигается \c, и если номер главы равен нулю, код хука выше выполняется, сразу перед тем, как будет установлен новый номер главы.

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

Спасибо, Марк, ваше «перед первым \c книги» дало мне идею, как сделать это с помощью RegEx. Это правило в changes.txt, похоже, работает для всех книг:

'(?s)(\\id .+?)(?=\\c)' > '\1\\zrule |width=".6"\\*\r\n '

  • (?s) заставляет . соответствовать также переносам строк
  • (\id .+?) находит \id, за которым следует любой другой поток символов.
  • (?=\c) это положительный просмотр вперёд, который находит \c
    Таким образом, это выражение захватывает в группу \1 всё от \id до последнего символа перед первым вхождением \c.

Правая часть правила «заменяет» всё перед \c на то, что там было (\1), за которым следует линия и новая строка.

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

Отличная работа, @EricP! Просто чтобы прояснить для всех, кто следит за этой темой, правило RegEx выше должно быть помещено в файл changes.txt. (Кстати, есть ли лишний пробел после последнего \n, и если да, возможно, вы захотите убрать его. Или, возможно, я упускаю что-то о том, почему он нужен.)

Но если вы хотите использовать метод \sethook вместо этого, то он должен быть помещён в файл ptxprint-mods.tex.

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

Есть ли способ добавить линию, используя маркер \ie?

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

Если у вас уже есть маркеры \ie в тексте, то добавление этого в changes.txt напечатает линию сразу после \ie.
'(\\ie)' > '\1\\zrule |width=".57"\\*'

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

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

0 голосов
1 ответ 196 просмотров
У меня возникла ситуация, когда после введения происходит перенос страницы, но, кажется, там достаточно места, чтобы начать ... много текста?! 2,5 абзаца? Это можно настроить?
jeffh 1,4тыс. задал вопрос мар 25, 2022
0 голосов
2 ответов 470 просмотров
Возможно ли добавить раздел Введение или Предисловие к НЗ (в дополнение к введению для каждой книги)? Когда я смотрю ... -нибудь обходной путь? Я использую версию 9.2.102.17.
skim1124 219 задал вопрос авг 2, 2022
0 голосов
4 ответов 612 просмотров
По мере подготовки к публикации НЗ я немного удивлён тем, что список возможных книг в PT не включает: Введение ... ли лучшие практики относительно того, где размещать эти введения?
wdavidhj 1,4тыс. задал вопрос ноя 25, 2019
0 голосов
3 ответов 283 просмотров
Hello, Anytime I use the \ip Introduction - Paragraph marker in Paratext, the words turns grey. I would be grateful if you can help me correct it. Thank you. anon878803
anon878803 132 задал вопрос ноя 8, 2019
0 голосов
2 ответов 69 просмотров
Здравствуйте, надеюсь, у вас всё хорошо. Я работаю над макетом книги и добавил орнамент в конце. Появляется пустая ... понять проблему. Заранее спасибо за помощь! Спасибо за помощь
Roger Beramgoto Nado 125 задал вопрос ноя 7, 2024
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
I urge you, brothers and sisters, to watch out for those who cause divisions and put obstacles in your way that are contrary to the teaching you have learned. Keep away from them.
Romans 16:17
3,045 вопросов
6,005 ответов
5,671 комментариев
2,026 пользователей