Союз или предлог в конце строки

Статус
Закрыто для дальнейших ответов.

Nejik

Топикстартер
15 лет на форуме
Сообщения
239
Реакции
2
Трям-здрасьте! Подскажите, пжл, есть ли в природе скрипт, который мог бы делать следующее:
1. Находить союз или предлог (однобуквенные) в конце строки.
2. Заменял бы пробел после него на Nonbreaking Space.

По правилам верстки (особенно, учебной) оставлять в конце строки союз или предлог нельзя. Поэтому, хотелось бы этот процесс ка-то автоматизировать.
Заранне, пасиба.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Союз или предлог в конце строки

для этого не нужен скрипт, достаточно одной замены grep

(после (?i) пишем список всех нужных предлогов и союзов через |)
find:
( )((?i)а|в|и)( )

change:
$1$2~S

можно улучшить, разумеется )

замену можно сохранить и запускать по надобности
 

Nejik

Топикстартер
15 лет на форуме
Сообщения
239
Реакции
2
Ответ: Союз или предлог в конце строки

Skvoznyak сказал(а):
для этого не нужен скрипт, достаточно одной замены grep

(после (?i) пишем список всех нужных предлогов и союзов через |)
find:
( )((?i)а|в|и)( )

change:
$1$2~S

можно улучшить, разумеется )
Сорри, но ишо не разбирался, что такое "grep". Можно ссылочку
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Союз или предлог в конце строки

edit->find/change - grep.. ну и f1
 

Nejik

Топикстартер
15 лет на форуме
Сообщения
239
Реакции
2
Ответ: Союз или предлог в конце строки

Skvoznyak сказал(а):
edit->find/change - grep.. ну и f1
Спасибо, конечно, но нет ли случайно ссылочки, где бы про это можно было бы почитать доходчиво и на нашем языке?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Союз или предлог в конце строки

google.ru
 

Nejik

Топикстартер
15 лет на форуме
Сообщения
239
Реакции
2
Ответ: Союз или предлог в конце строки

Skvoznyak сказал(а):
Во истину, краткость - сестра таланта! Скорее даже, мать её!
Пасиба
 

kaatm

15 лет на форуме
Сообщения
1 101
Реакции
19
Ответ: Союз или предлог в конце строки

Find:
(\s[\l\u]{1,2})\s

ChangeTo:
$1~S

Меняем пробел после одно- и двухбуквенных слов на неразрывный.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ответ: Союз или предлог в конце строки

см, м, мм прибьются к следующему слову - а должны к предыдущему )
 

denisgrim

Участник
Сообщения
1 171
Реакции
1
Ответ: Союз или предлог в конце строки

Сейчас только что пролистал десяток книг из домашней библиотеки разных годов (худ. литература и учебники): нигде не увидел, чтобы союзы в середине предложения прибивались к следующему слову. Однобуквенных заглавных, согласен, нигде нет в конце, но вот строчных - навалом! Может, в томике сочинений Ленина более строго с вёрсткой? :)
Согласен, что правило есть, и Гиленсон про него нам говорит, но... реально это не соблюдается в полной мере, кажется, нигде. Впрочем, во времена sZam'a и переносов от Батова, думаю, это уже возможно :)
 

dik973

15 лет на форуме
Сообщения
578
Реакции
77
Ответ: Союз или предлог в конце строки

Применение, только с черным текстом... Не идеален, но для верстки с последующими корректурами вполне достаточен!
Приклеивает однобуквенные слова к следующему слову и предлоги в начале предложения к следующему слову, соответсвенно и м тоже...
Курсор должен находится в тексте. Работает по всей Story. InDesign CS2 (про работоспособность в CS3 -- не проверял, т.к. не было необходимости).

По поводу правил - да действительно их мало кто соблюдает, но ведь действительно плохо смотрится когда однобукванное слово в конце строки, а если их еще рядом нескольно -- вообще ужас...
 

Вложения

  • _OneNoBreak.rar
    1.7 КБ · Просм.: 470

JAW

15 лет на форуме
Сообщения
15 797
Реакции
3 454
Ответ: Союз или предлог в конце строки

Вариант kaatm более продуктивный.
Нужно искать определенное количество букв разорванных пробелом.
И вообще есть такое понятие RegExp (регулярные выражения).
Литературы по ним на русском более, чем достаточно.
Есть накая Юниксовая утилита, называется GREP.
Литературы на русском более чем достаточно.
А дальше читать по особенностям реализации (хоть на английском).

Очень рекомендую научится пользоваться этим инструментом, т.к. его мощность порой поражает, и не только в InDesign. Инструмент универсальный.

P.S. очень хочу встроенный в ID AWK. Perl - перебор, а вот AWK вполне так в тему будет.
 

tanika

12 лет на форуме
Сообщения
151
Реакции
3
Ответ: Союз или предлог в конце строки

А не подскаже ли как бороться с неравномерностью пробелов? (После того как расставлены неразрываемые пробелы после предлогов перед ними в тексте образуются такие дыры...) Насколько я поняла, неразрывный пробел имеет строго фиксированную длину, а обычный растягивается. В результате на полосе очень заметны все эти неразрывные.
Работаю в CS2.
 

Oleksiy

12 лет на форуме
Сообщения
452
Реакции
151
Ответ: Союз или предлог в конце строки

kaatm сказал(а):
...и двухбуквенных слов....
А их то зачем. Откуда ноги растут??? Плиз. С однобуквенными иногда строки сильно жидкие бывают, а с двубуквеными и подавно

kaatm сказал(а):
А не подскаже ли как бороться с неравномерностью пробелов
В стилях есть вкладка "Выключка".
А кстати, кто знает, какой величины пробел там принят за 100%? В книге Реальный мир IDCS2 сказано, что данное значение задается в шрифте. Но чего то мало верится.
 

karabin

Участник
Сообщения
667
Реакции
2
Ответ: Союз или предлог в конце строки

А не подскаже ли как бороться с неравномерностью пробелов?
Попробуйте ввести такие значения (аттач).
 

Вложения

  • Justification.jpg
    Justification.jpg
    15.5 КБ · Просм.: 1 462

iv-mi

15 лет на форуме
Сообщения
564
Реакции
380
Ответ: Союз или предлог в конце строки

Попробуйте ввести такие значения
Я не раз сталкивался, что при WS =80% слипались слова.
Сейчас сделал стандартом
WS 95 100 125
LS -5 0 10

И всегда включаю оптическое выравнивание правого края. Это тоже помогает программе держать пробел.
 

Oleksiy

12 лет на форуме
Сообщения
452
Реакции
151
Ответ: Союз или предлог в конце строки

iv-mi сказал(а):
И всегда включаю оптическое выравнивание правого края.
При этом автоматически включается "невыравнивание" левого края в маркерах списка :4)))
Филичи советует данные значения задавать в зависимости от ширины полосы набора и кегеля шрифта или интерлиньяжа. Но факт в том, что значения диапазона изменения пробелов являются относительными и подбираются в каждом конкретном случае отдельно.
 

iv-mi

15 лет на форуме
Сообщения
564
Реакции
380
Ответ: Союз или предлог в конце строки

При этом автоматически включается "невыравнивание" левого края в маркерах списка :4)))
увы, это так и скорее не :4))) , а :(((.
Но списки — малая часть верстки, и для них я делаю стиль, сдвигающий булиты в формат полосы.
Филичи советует данные значения задавать в зависимости от ширины полосы набора и кегеля шрифта или интерлиньяжа.
Разработчики кварка услышали эти рекомендации, и в последней версии предложен удобный механизм управления свисанием знаков слева и справа полосы.
А разработчики индизайна пока читают другие книги... :(
 
Статус
Закрыто для дальнейших ответов.