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

Как предотвратить перенос на новую страницу или в новую колонку между ключевым словом в глоссарии и его определением?

Мой глоссарий выглядит так:

\p \k angel\k*
\p A winged flying creature

Я использую changes.txt, чтобы заменить “\p \k” на “\m \k”. Как мне удерживать вместе абзацы \m и \p? Что-то удерживает заголовки разделов \s вместе с последующим абзацем. Должен ли я изменить ключевые слова в глоссарии на \s?

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

3 Ответов

0 голосов

Эрик,

Это не проверено, но я думаю, что что-то вроде этого должно сработать.

В вашем файле ptxprint-mods.tex добавьте
\sethook{after}{k}{\penalty10000}

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

Спасибо!
\sethook{after}{m}{\penalty10000}
работает, теперь как мне ограничить его действие так, чтобы он применялся только в GLO?

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

Опять же, не проверено, но я думаю, что это работает:
\sethook{after}{id:GLO|m}{\penalty10000}

Одна из вещей, которые я не мог вспомнить, — это то, применяется ли \penalty10000 к началу строки, в которой оно находится, или к концу. Я думал, что оно находится в конце, поэтому я установил хук на {k} — потому что это заставило бы \k прилипать к тому, что находится ниже. Но, возможно, вы это проверили, и это не сработало.

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

{k} ничего не сделал, но {m} сработал. Добавление id:GLO, похоже, ничего не меняет, так что, я думаю, это работает. Вероятно, лучшей практикой было бы использовать маркер, уникальный для глоссария, вместо использования \m.

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

Добавляя id:GLO|, вы уже указываете «только в книге GLO», поэтому нет смысла использовать другой маркер, если только вы не хотите отформатировать его иначе.
Даже если вы хотите отформатировать \m иначе в GLO, вы все равно можете оставить USFM без изменений и отформатировать маркер id:GLO|m. Единственная причина, по которой я бы использовал специальный маркер, — это если он «по своей сути» не является \m.

Кстати, \penalty применяется точно в том месте, где он встречается, будь то в горизонтальном режиме (разбивка строки текста на абзацы) или в вертикальном (разбивка абзацев на страницы).
Поскольку в конце \k мы находимся в горизонтальном режиме, вставка после \k говорит «не начинай новый абзац здесь». Затем TeX встречает \p или \m, в определении которых есть «Если мы находимся в горизонтальном режиме, заполните абзац тем, что было указано, и \penalty -10000», и поэтому он разбивает там (даже если не было заполнения в конце абзаца, штрафы не накапливаются, поэтому он послушно не разобьет на 10000 и послушно разобьет на -10000).

Кстати 2, не поддавайтесь искушению пытаться создать хук для вставки разрыва абзаца после стиля символа. Я пробовал несколькими способами и пришел к выводу, что код становится действительно очень запутанным, если вы просите его настроить новый абзац, пока он обрабатывает конец стиля символа.

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

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

0 голосов
1 ответ 19 просмотров
Я прочитал Лучшие практики для глоссария (https://support.bible/3952/glossary-best-practices?show=3952#q3952). Информация там ... не так , я буду очень признателен! Спасибо, Пол
Paul 642 задал вопрос окт 21, 2025
0 голосов
0 ответов 170 просмотров
Click in the window of your project, to make it the active window. From the Tools menu, select Biblical Terms . Find and ... t/how-do-i-filter-terms-in-the-biblical-terms-tool/230)
[Expert]
anon421222
735
задал вопрос фев 23, 2017
0 голосов
1 ответ 34 просмотров
Мы используем /xt в перекрёстных ссылках в сносках, настроенных на использование короткого названия книги. Но в глоссарии ... код USFM, который я мог бы использовать для этого?
Lenice 180 задал вопрос окт 7, 2025
0 голосов
1 ответ 354 просмотров
Я являюсь администратором в этом проекте. Другой администратор внёс изменения в GLO и другие книги и выполнил Send/Receive. ... Истории проекта , но не обновлены в книге GLO.
anon399461 123 задал вопрос мар 13, 2024
+1 голос
1 ответ 339 просмотров
Когда вы вводите записи в глоссарий через инструмент Библийские термины или окно Варианты перевода библийских ... В следующем видео эта процедура описана более подробно:
[Expert]
Jeff_Shrum
2,9тыс.
задал вопрос мар 23, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
But if we walk in the light, as he is in the light, we have fellowship with one another, and the blood of Jesus, his Son, purifies us from all sin.
1 John 1:7
3,045 вопросов
6,005 ответов
5,671 комментариев
2,026 пользователей