Блог Михаила Лукьянова
Шаг 2: Создаем Paragraph Style, где в настройках GREP задаем следующие параметры:
Так как это выглядит полнейшей абракадаброй, то дам небольшие пояснения:
(? (? <=^) — это условие, которое говорит, что применять стиль, только если абзац начинается с предлога
(в|во|без|до| . |ни) — список всех предлогов (а также союзов и местоимений), которых я не хочу видеть в конце строки
( |\. |, )) — те знаки, которые следуют после предлога: пробел, точка+пробел, запятая+пробел
+ — нужен для того, чтобы стиль применялся к нескольким подряд идущим предлогам (например: да и не стоило волноваться по этому поводу)
Как убрать висячие предлоги
Применяем стиль NoBreak
К тексту:
(?
Как сделать неразрывный пробел в цифрах
Применяем стиль NoBreak
К тексту:
(?<=\d)(.)
Как сделать неразрывный пробел перед тире
Применяем стиль NoBreak
К тексту:
(? <=) (~=)
Как поднять верхний индекс в м2, км2, см3 и т.д.
Нужно создать стиль символа (Character Style), который будет применяться к верхнему индексу.
Например, он будет называться Index-verh.
В GREP пишем применить Index-verh
К тексту:
(?<=м)\d(?=\>)
Как добавить стиль ко всем адресам email автоматом
Применить ‘название стиля’
К тексту:
[\l\u\d.]+@[\l\u\d.]+
Добавить стиль ко всем фамилиям с инициалами
Для поиска фамилий формата Иванов В.П. в начале предложения используем выражение:
^(\u[- \w]+ \u\l?\. ?(\u\l?\.)?(, )?)+
Для поиска всех Ивановых В.П. по тексту пишем:
(\u[- \w]+ \u\l?\. ?(\u\l?\.)?(, )?)+
Ну а если инициалы идут перед фамилией, будет такая строчка:
(\u\l?\. ?(\u\l?\.) ?\u\l+ )+
Добавить стиль ко всем датам
Будем искать даты вида 20 января 1994 г.
GREP-выражение будет таким:
(\d|\d\d) (января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря) (\d\d\d\d) (г.)
Подтягиваем хвосты в InDesign
Одной из важных мелочей в вёрстке текста являются висячие предлоги (а также союзы и частицы) в конце строк. Особенно они заметны во флаговом наборе. Рекомендуется привязывать предлоги и союзы к следующему за ними слову, а частицы — к предыдущему. После них должен ставиться неразрывный пробел alt+ctrl+x | ⌥⌘X . Нельзя отрывать единицы измерений от их значений, разрывать пробелом некоторые сокращения.
Возникает сложность: в тексте предлогов, союзов и частиц могут быть десятки, сотни, тысячи. Расставлять руками? Расставлять автозаменой? Как не забыть все правила расстановки? А потом пришлют тонну правок по тексту, и всё делать заново? Оно всё равно где-нибудь отвалится! Пусть компьютер делает это за меня!
Собрав однажды кучу примеров таких правил я придумал, как это автоматизировать. Чтобы InDesign сам находил и связывал одно- и двухбуквенные слова, я использую алгоритм работы с регулярными выражениями GREP.
Слов-то много!
Воспользуемся методом комбинаторики и запишем все двухбуквенные комбинации (за исключением пар одинаковых гласных). Выделим все слова, которые имеют смысл, кроме аббревиатур, но используем только те, которые подчиняются правилам вёрстки.
аб ау еб ёб иб об уб ыб эб юб яб ба бе бё би бо бу бы бэ бю бя ав ев ёв ив ов ув ыв эв юв яв ва ве вё ви во ву вы вэ вю вя аг ег ёг иг ог уг ыг эг юг яг га ге гё ги го гу гы гэ гю гя ад ед ёд ид од уд ыд эд юд яд да де дё ди до ду ды дэ дю дя ее её аж еж ёж иж ож уж ыж эж юж яж жа же жё жи жо жу жы жэ жю жя аз ее её ез ёз из оз уз ыз эз юз яз за зе зё зи зо зу зы зэ зю зя ай ей ёй ий ой уй ый эй юй яй йа йе йё йи йо йы йу йэ йю йя ак ек ёк ик ок ук ык эк юк як ка ке кё ки ко ку кы кэ кю кя ал ел ёл ил ол ул ыл эл юл ял ла ле лё ли ло лу лы лэ лю ля ам ем ём им ом ум ым эм юм ям ма ме мё ми мо му мы мэ мю мя ан ен ён ин он уг ын эн юн ян на не нё ни но ну ны нэ ню ня ап еп ёп ип оп уп ып эп юп яп па пе пё пи по пу пы пэ пю пя ар ер ёр ир ор ур ыр эр юр яр ра ре рё ри ро ру ры рэ рю ря ас ес ёс ис ос ус ыс эс юс яс са се сё си со су сы сэ сю ся ат ет ёт ит от ут ыт эт ют ят та те тё ти то ту ты тэ тю тя ау аф еф ёф иф оф уф ыф эф юф яф фа фе фё фи фо фу фы фэ фю фя ах ех ёх их ох ух эх ых юх ях ха хе хё хи хо ху хэ хы хю хя ац ец ёц иц оц уц эц ыц юц яц ца це цё ци цо цу цэ цы цю ця ач еч ёч ич оч уч ыч эч юч яч ча че чё чи чо чу чы чэ чю чя аш еш ёш иш ош уш ыш эш юш яш ша ше шё ши шо шу шы шэ шю шя ащ ещ ёщ ищ ощ ущ ыщ эщ ющ ящ ща ще щё щи що щу щы щэ щю щя
Перечислим все однобуквенные слова, их все нельзя отрывать от следующего слова:
а в и к о с у я
Сюда же следует отнести наиболее распространённые сокращения и единицы измерения, частицы, которые нельзя отрывать от предыдущего слова: грамм, год, город, метр, рубль, тонна, тысяча
б г г. ж м р. т т.
Перечислим все двухбуквенные слова, которые желательно не отрывать от следующего слова:
во вы да до за из ко мы на не ни но ну об он от ох по со та те то ту ты уж
Перечислим слова, которые желательно не отрывать от предыдущего слова:
га гг. дм долл. др. же кг мг мл мин. млн. млрд. мм нм с. см стр. руб.
Не забудем про сокращения и символы:
Как это всё работает?
Преимущество этого метода в том, что эти правила сохраняются в самой программе до создания нового файла. И появляются во всех вновь созданных документах в стиле Basic Paragraph , на основе которого создаются все остальные стили. Вы можете навсегда забыть про замену обычных пробелов на неразрывные через Find/Change .
Откроем InDesign и в палитре Character Styles создадим стиль No Break , в котором укажем не разрывать символы.
Откроем стиль Basic Paragraph в палитре Paragraph Styles , перейдём на вкладку GREP Style , нажимаем на кнопку New GREP Style , в Apply Style выбираем наш стиль No Break . Дальше стоит поле для ввода текста To Text: \d+.
Вставим в это текстовое поля следующее выражение:
Жмём New GREP Style снова и добавляем туда остальные правила:
Последнее правило приклеивает тире и знаки к предыдущему слову, а числа — к следующему.
Настройка завершена. Дальше создаем свои стили, указав за основу Basic Paragraph , стиль No Break будет применяться автоматически. Если вы хотите отключить эту настройку, то вместо Basic Paragraph нужно выбрать No Style .
Регулярные выражения для автозамены
Висячие предлоги работают с помощью GREP Style только потому, что пробелу и предлогу велено не разрываться. Однако, это не избавляет от необходимости заменять некоторые регулярные выражения с помощью автозамены. Когда весь текст импортирован в файл вёрстки, нужно провести ряд автозамен. Выражения можно сохранить в шаблоны в окошке Find/Change .
Заменить все множественные пробелы на один:
Убрать пробелы в конце параграфов (поле для замены остаётся пустым!):
Заменить все множественные переходы строки на один:
Заменить дефис на длинное тире с неразрывным пробелом (квадратные скобки окружены пробелом):
Во вкладке Text заменить все прямые ковычки на «ёлочки»:
Это минимальный набор автозамен для простого текста. Но часто бывает нужно использовать и другие регулярные выражения. Вот некоторые из тех, что я пользуюсь постоянно.
Привести в порядок все номера телефонов, а их бывает много:
Привести в порядок квадратные метры:
Вот таким простым способом можно заставить компьютер работать за вас. Вы сэкономите кучу времени, не отслеживая висячие предлоги, оторванные символы или переехавшее на новую строчку тире. Корректор скажет вам спасибо! 🙂
Как правильно убрать висящие предлоги везде, где только можно?
Тизер: не прибегая к Tab, пробелам и отбиванием новой строки. Где волшебная кнопка в Word и InDesign, куда жать в Tilda и Figma, и как во всем этом может помочь сайт Лебедева.
Висящие предлоги в Tilda.
В Тильде есть встроенный типограф. Вы просто выделяете текст, который нужно отредактировать, нажимаете на иконку, и все предлоги присоединяются к слову за предлогом, выглядит он вот так.
Когда вы выделяете какой-либо текст, этот значок появляется, вы можете выделить текст, кликнуть на этот значок, и висящие предлоги исчезнут, дефис превратится в тире, а “ ” в « ».
Вот этот набор символов: #nbsp; между предлогом и словом говорит о том, что предлог должен перейти на следующую строку вместе со смысловым словом.
Однако, Тильда иногда все равно пропускает предлоги, это может получиться по разным причинам, но я обязательно проверяю текст после типографа.
Что делать, если пропущен предлог, и он получается висящим? По сути типограф просто делает правильную разметку текста и показывает в коде, что тут между этой буквой и этой буквой пробел, но на разных строках они стоять не должны. Поэтому, никто не запрещает скопировать #nbsp; и вставить в нужном месте самостоятельно. Эффект будет таким же.
Почему не подходит перенос предлогов с помощью многократного нажатия пробела, Tab или переноса на новую строку с Enter?
Потому что длина строки изменяется от ширины экрана при адаптивном дизайне, и все многочисленные пробелы (Tilda, правда не дает ставить 100500 пробелов подряд) или отбитие новой строки Enter сотворят монструозную конструкцию из текста, как только ширина абзаца станет отличаться от той, в которой вы делали все исправления. На картинке ниже показано, как “карета превращается в тыкву”, если не использовать типограф, а делать так, как печатают документы все новоиспеченные секретари в Word =)
Типограф от Лебедева и висящие предлоги в Figma и Sketch.
Лебедев на своем сайте уже давно сделал типограф, и он молодец — и типограф и Лебедев =) ссылка: https://www.artlebedev.ru/typograf/
Заливаете текст, жмете кнопку и текст с разметкой ваш. Copy-Paste…
Может быть кстати, если вы сами делаете дизайн сайта в Figma или Sketch и ни сном ни духом про плагины.
Единственное — нужно немного настроить типограф, чтобы непечатуемые символы не были видны в вашем дизайне. Для этого вам нужно зайти в настройки типографа.
В настройкам нужно поменять пункты и обязательно нажать “сохранить”, потом перейти на окно типографа и опять оттипографить текст.
После этого предлоги будут связаны с последующими словами, но при этом непечатуемые символы не будут видны. Копируем текст и вставляем в нашу Figma или Sketch.
А что если после всего этого все равно не все предлоги привязались?
Такое случается, я не могу объяснить, почему, но такое бывает. это решается так же просто, как в случае с копированием #nbsp;
То есть вам просто надо скопировать тот пробел, который выполняет свою функцию и делает предлог неразрывным с последующим словом (визуально после типографа и этих настроек он не будет отличаться от любого другого пробела). После того, как вы скопируете и замените этим специальным пробелом тот пробел, который почему-то был пропущен типографом, все начнет работать.
Висящие предлоги в Indesign
Плавно переходим на печать.
Собственно, все правила типографики перекочевали из печати в интернет, поэтому все эти проблемы давно решаются в программах для печати.
Помимо висячих предлогов необходимо привязывать союзы к следующему за ними слову, а частицы — к предыдущему. Нельзя отрывать единицы измерений от их значений, разрывать пробелом некоторые сокращения.
Как сделать в индизайне магию написано вот тут, статья не новая, но сейчас все работает точно так же, а я лучше все равно не напишу, поэтому просто прочитайте =)
solidcreature
Чтобы убрать висячие предлоги можно после каждого из них поставить неразрывный пробел (CTRL+ALT+SHIFT+X) это можно сделать автозаменой или, что лучше, применить к пробелу после каждого предлога свойство No Break, о том как это сделать автоматически, а не вручную и пойдет речь дальше.
Шаг 1: Создаем Character Style, в котором есть только одно свойство No Break (стиль я назвал также NO BREAK)
Шаг 2: Создаем Paragraph Style, где в настройках GREP задаем следующие параметры:
Так как это выглядит полнейшей абракадаброй, то дам небольшие пояснения:
(? — это условие, которое говорит, что применять стиль, только если перед предлогом стоит пробел
(? <=^) — это условие, которое говорит, что применять стиль, только если абзац начинается с предлога
(в|во|без|до| . |ни) — список всех предлогов (а также союзов и местоимений), которых я не хочу видеть в конце строки
( |\. |, )) — те знаки, которые следуют после предлога: пробел, точка+пробел, запятая+пробел
+ — нужен для того, чтобы стиль применялся к нескольким подряд идущим предлогам (например: да и не стоило волноваться по этому поводу)
UPD: В связи волной спама пост закрыт для комментариев