Правило «не оставлять предлоги и союзы на концах строк» существует, также как и другие правила набора и верстки текста, и никуда от этого не деться. В небольших текстах, рекламах, визитках этого не делать и не видеть – ну просто преступно. Там ведь текста всего ничего, даже «поиск-замена» не понадобится, все и так прекрасно видно.
А уж тем более оставлять «висяки» в заголовках, врезах, подписях и других, самых заметных, частях текста. А избавиться от этого безобразия очень просто: все предлоги и союзы «прицепляются» к следующим после них словам с помощью так называемого неразрывного пробела. Просто эти люди, которые при верстке оставляют предлоги и не видят других технических ошибок, наверное, просто не знают, что есть такие правила. Их, вероятно, никто не учил этому.
Что касается журналов, газет и так называемых оперативных изданий. В правиле есть что то вроде лазейки, что «в срочных изданиях подобные вещи допускаются». Действительно, когда до сдачи в типографию остается 15 минут, а тебе надо срочно сверстать за это время последнюю статью – казалось бы, не до таких «мелочей», как «висячие» предлоги. Но если издание не сдавать срочно в печать, т.е. есть возможность, время, желание и умение – почему бы этого и не сделать?
Как убить висячие предлоги в Ворде — практическое руководство
Кровожадный заголовок получился, да? 🙂
Однако всё будет очень мирно. Чтобы текст выглядел красиво, рекомендуется не отрывать предлог или союз от следущего за ним слова. Особенно такие ляпы бросаются в заголовках. Но и в обычном тексте висячие предлоги — не подарок.
Часто перед такими «проблемными» предлогами ставится принудительный разрыв строки (Shift-Enter). Альтернатива — поставить между предлогом и словом не обычный пробел, а «неразравный» (Ctrl-Shift-Пробел в MS Word). Однако вручную их искать и править нудно и долго.
Да и незачем. Гораздо проще воспользоваться «поиском и заменой» в Ворде.
В «Найти» введите строку « ([ ^s])([а-яА-Яa-zA-Z]) ([а-яА-Яa-zA-Z]) » . Разумеется, без кавычек. Обратите внимание на пробелы в «[ ^s]» и в «) ([а-я», не убирайте их.
В поле «Заменить на», введите строку « 12^s3 » . В этой строке пробелов вообще нет.
Поставьте галочку «подстановочные знаки» и нажмите на «Заменить всё». Проделайте эту операцию пару раз, чтобы справиться с цепочками союзов и предлогов (как в примере: «в их развитии»).
Предлоги и союзы «приклеиваются» к следующему слову и переносятся вместе с ним.
К сожалению, после переноса вордовского текста,
где всё было правильно расставлено, на сайт,
висячие предлоги снова появились.
Так и придётся, видимо, расставлять по-прежнему вручную.
| — Дмитрий Сергеевич Булатов ? Не понял про что речь? | |
| — Собеседник Дмитрий Сергеевич! Вы жираф?:) | |
| — Дмитрий Сергеевич Булатов При чём тут жираф? | |
| — Ирина Валентиновна Ермакова Жираф в другом посте. | |
| — Александр Владимирович Серолапкин Речь, Дмитрий Сергеевич, вот про что. Текст вида |
`А уж тем более оставлять висяки в заголовках, врезах, подписях и других, самых заметных, частях текста. Однако вручную их искать и править нудно и долго. Просто эти люди, которые при верстке оставляют предлоги и не видят других технических ошибок, наверное, просто не знают, что есть такие правила. Их, вероятно, никто не учил этому`.
Прокомментируйте!
Выскажите Ваше мнение:
![]() |
![]() |
Как убрать висячие предлоги в Word?
Надо отредактировать большой объем текста, убрать висячие предлоги, союзы и т.д. с конца строки (Word 2013).
Есть такой вариант решения с помощью автозамены:
В «Найти» введите строку «([ ^s])([а-яА-Яa-zA-Z]) ([а-яА-Яa-zA-Z])», в поле «Заменить на», введите строку «12^s3»
Предлоги, союзы приклеиваются с помощью неразрывного пробела к следующему слову. Все работает хорошо, НО, приклеиваются они не только в конце строки, а по всему тексту. Можно ли как-то сделать так чтобы это работала только с конечными символами. Казанский
re> Sub ВисячиеПредлоги1() Dim s$, n= ActiveDocument.Range.End Then Exit Do Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend s = Selection.Text If s = vbCr Then 'пустой абзац, выделение сместилось на строку вверх! Selection.MoveDown Unit:=wdLine, Count:=1 ElseIf LCase$(Right$(s, 2)) Like "[a-zа-яё] " And (Len(s) = 2 Or Len(s) = 3) Then Selection.EndKey Unit:=wdLine Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.TypeText Text:=Chr(160) 'неразрывный пробел; происходит переход на сл. строку n = n + 1 Selection.MoveUp Unit:=wdLine, Count:=1 End If Selection.MoveDown Unit:=wdLine, Count:=1 Loop MsgBox "Выполнено замен: " & n, vbInformation End Sub
Похожие статьи
- Макрос пакетной конвертации docx в doc
- Как запретить Юзеру лезть в колонтитулы?
- Shape в группе. Как понять в VBA, что выделена не просто группа, но и Shape (объект на группе)?
- Слияние для нескольких строк (VBA)
- Выделение цветом нескольких фрагментов текста
Купить рекламу на сайте за 1000 руб
Да и по любым другим вопросам пишите на почту
- Форум Web программирование (веб)
- Форум Python (питон)
- Форум PHP (пхп)
- Форум Perl (перл)
- Форум Ruby (руби)
- Форум JavaScript (яваскрипт)
- Форум Ajax (аякс)
- Форум SQL (эскюэл)
- Форум HTML (хтмл)
- Форум CSS (сиэсэс)
- Форум XML (иксмл)
- Форум JSON (джсон)
- Форум Pascal (паскаль)
- Форум Delphi (делфи)
- Форум C++ (си плюс плюс)
- Форум C++ Builder (си билдер)
- Форум Visual C++ (визуал си)
- Форум .NET (точка нет)
- Форум ASP.NET (асп нет)
- Форум Windows Forms (виндовс формс)
- Форум базы данных ADO.NET (адо нет)
- Форум .NET Framework WPF, UWP, WinRT, XAML ()
- Форум Java Android (джава андроид)
- Форум Java web (джава веб)
- Форум Kotlin (котлин)
- Форум Assembler (ассемблер)
- Форум WinApi (вин апи)
- Форум Excel (эксель)
- Форум Word (ворд)
- Форум Access (аксесс)
- Форум по администрированию ОС
- Форум по администрированию серверов и VDS
- Форум Windows
- Форум Ubuntu
- Форум Android
Урок 95. Висячие предлоги
Вам знакомо выражение «висячая» строка? «Висячая» строка в типографской практике – концевая строка абзаца, расположенная в начале полосы или колонки, а также начальная строка абзаца, оказавшаяся в конце полосы колонки. То есть это строка, которая оторвана от своего абзаца и «висит» в одиночестве на предыдущей или последующей странице[1]. А теперь познакомимся с выражение «висячие предлоги». Когда мы набираем или форматируем уже готовый текст, то не обращаем внимание на предлоги, союзы или частицы отрицания, которые оказываются в конце строки:

В официальный документах такому явлению, как «висячие предлоги» вообще не придают значения. А зря! Если частица «не» или «ни» окажется в конце строки, то мы просто можем не увидеть их и не понять смысл фразы. И если в тексте «висячие» предлоги еще допустимы, то в заголовках, названиях рисунков, таблиц – сразу НЕТ! А уж тем более в презентациях!
По окончании этого урока вы сможете:
- Создать новую строку
- Записать макрос, который уберет «висячий» предлог (все!)
- Скорректировать макрос
1. Искусственное образование новой строки
Искусственное образование новой строки не нарушает целостность абзаца (вы будете выделять его так, как рассказано в статье «Урок 2. Выделение текса в документе»)
Шаг 1. Подводим текстовый курсор к предлогу → ЛМ → Shift+Enter:

Вот познакомились с непечатаемым символом «Разрыв строки». Один-два раза можно проставить и вручную, даже пять. Но для меня документ в 200 страниц является небольшим, так что вручную – это не вариант.
Есть несколько способов проставить неразрывный пробел (статья «Урок 1. Непечатаемые символы»). Один из этих способов – это написание макроса.
2. Запись макроса простановки неразрывных пробелов после предлогов
Шаг 1. Собираем все предлоги и союзы. Можно по памяти, а лучше по интернету. Копируем предлоги и союзы:
| Предлоги | в, на, под, к, по, из-за, над, с, без, у, до, за, от, из, о, об |
| Союзы | и, а, или |
| Частицы | не, ни |
Шаг 2. Открываем документ любой
Шаг 3. Начинаем запись макроса (лента Разработчик (статья «Урок 60. Макрос для таблицы») → группа команд Код):

- Команда «Запись макроса » → диалоговое окно «Запись макроса»
- Назначить макрос клавишам → диалоговое окно «Настройка клавиатуры»
- Поле «Назначение клавиш» → например, Ctrl+1
- Команда «Назначене»
- Команда «Закрыть»
| Понять и запомнить! | Ни в коем случае нельзя щелкать ЛМ по области документа! Работать только с лентами! |
Шаг 4. Открываем диалоговое окно «Найти и заменить»:

- Лента Главная
- Группа команд Редактирование → команда Заменить → диалоговое окно «Найти и заменить»
- Команда «Больше»
Шаг 5. Делаем замену «в+пробел» на «в+неразрывный пробел»:

- В поле «Найти» вводим «в+пробел», а в поле «Заменить на:» – букву «в»
- Команда «Специальный»
- Выбираем команду «Неразрывный пробел» из выпадающего меню
Шаг 6. Команда «Заменить все»

| Обратите внимание! | Направление поиска «Везде» |
Увидели, что у меня 13275 замен? Документ на 700 страниц – для меня среднего объема.
Шаг 7. Останавливаем запись макроса (лента Разработчик → группа команд Код → команда Остановить запись):

Увидели, что все предлоги «в» получили по соседству неразрывный пробел? Вы можете увеличивать или уменьшать размер шрифта, менять гарнитуру шрифта, добавлять или удалять текст, но каждый предлог «в» намертво связан с последующим словом.
Вот дальше, если есть охота и масса времени, то создайте макросы удаления остальных висячих предлогов, союзов и частиц. Вопрос: «А зачем создавать макросы, когда можно просто ограничиться заменой?» – не возник?
А мы сейчас займемся корректировкой макроса (смотри статью «Урок 91. Макрос объединенный».
3. Корректировка макроса
Шаг 1. Лента Разработчик → группа команд Код → команда Изменить:

И открывается окно Visual Basic:

Я отметила, собственно, сам текст макроса.
Шаг 2. Копируем текст макроса и вставляем его ниже:

Я отметила кружками то, что нуждается в замене. А заменить надо «в» на «с» или что у нас там стоит в списке предлогов, союзов, частиц.
Шаг 3. Заменяем висячий предлог, который больше не будет висячим:

А дальше повторяем шаги 2-3. У меня все заняло 10 минут. Макрос сохраняется в активных шаблонах и будет доступен вам для работы с любым документом.
Почему хорошо работать с макросами? Да потому, что мы можем использовать его при работе с другими документами. Я делаю еще лучше – я коллекционирую макросы. Создала документ, в который копирую из Visual Basic наиболее удачные макросы (статья «Урок 90. Удаление всех закладок»).
Разумеется, каждый макрос подробно описываю, чтобы не запутаться.
Теперь вы сможете:
- Создать новую строку
- Записать макрос, который уберет «висячий предлог » (все!)
- Скорректировать макрос
Для общего развития рекомендую вам статьи в интернете:
[1] Английские типографы присвоили такой строке грустное название – вдовья строка, а вот наши оказались остроумнее – они присвоили такой строке имя, означающее женщину пониженной социальной ответственности
- висячие предлоги ворд
- запись макроса ворд
- как убрать висячие предлоги
- как убрать висячие предлоги в ворде
- макрос ворд
- перенос висячих предлогов
- убить висячие предлоги
Вам будет интересно:

Урок 60. Макрос для таблицы

Урок 91. Макрос объединенный
4 Comments on Урок 95. Висячие предлоги
- jeff59 04.11.2023 at 17:20
Здравствуйте. При записи макроса следует в поле «Найти» вводить «пробел» + в + пробел. Аналогично и в поле «Заменить на», иначе слова, заканчивающиеся на букву «в», также будут приклеены к следующему слову неразрывным пробелом. Аналогично и с другими предлогами.
- Elena 04.11.2023 at 19:17
Доброго времени суток! Вы правы. Буква «в», одинокая или нет, соединяется с последующим словом неразрывным пробелом. Например «видов деятельности» соединяется неразрывным пробелом, то есть это сочетание слов всегда будет находится на одной строчке. Так что ваше замечание улучшает макрос.
Моя задача: научить пользователей не боятся макросов. Я просто надеюсь, что пользователи прочтут ваше замечание и смогут самостоятельно внести коррективу в макрос. Если будут еще вопросы по этой статье, то я внесу изменение в статью. В своей работе с висячими предлогами я пользуюсь другим способом: режим подстановочных символов. Проблемы висячих предлогов, частиц и союзов в этом режиме решаются правильной записью единственного выражения. С уважением, Елена
Anna P 02.10.2024 at 10:39
Добрый день! Как вы убираете висячие предлоги, если они написаны верхним регистром?
- Elena 03.10.2024 at 14:02
Доброго времени суток! В диалоговом окне «Найти и заменить» назначаю в поле «Заменить на…» формат шрифта «не надстрочный
Комментировать Отменить ответ
Профиль
Свежие комментарии
- Ilya к записи Урок 37. Разрыв страницы
- Elena к записи Урок 37. Разрыв страницы
- Ilya к записи Урок 37. Разрыв страницы
- Elena к записи Урок 31. Перекрестная ссылка в документе
- Ilya к записи Урок 31. Перекрестная ссылка в документе
Архивы
- Август 2024 (1)
- Май 2024 (1)
- Март 2024 (1)
- Январь 2024 (3)
- Октябрь 2023 (1)
- Сентябрь 2023 (3)
- Июль 2023 (1)
- Июнь 2023 (2)
- Май 2023 (2)
- Апрель 2023 (1)
- Февраль 2023 (1)
- Январь 2023 (3)
- Ноябрь 2022 (2)
- Сентябрь 2022 (1)
- Август 2022 (4)
- Июль 2022 (4)
- Июнь 2022 (5)
- Май 2022 (8)
- Апрель 2022 (5)
- Февраль 2022 (6)
- Январь 2022 (3)
- Декабрь 2021 (2)
- Ноябрь 2021 (5)
- Октябрь 2021 (3)
- Сентябрь 2021 (1)
- Июль 2021 (1)
- Июнь 2021 (6)
- Май 2021 (1)
- Апрель 2021 (4)
- Март 2021 (5)
- Февраль 2021 (1)
- Январь 2021 (2)
- Ноябрь 2020 (2)
- Октябрь 2020 (1)
- Сентябрь 2020 (1)
- Июль 2020 (5)
- Июнь 2020 (2)
- Май 2020 (2)
- Апрель 2020 (3)
- Март 2020 (3)
- Февраль 2020 (1)
- Декабрь 2019 (2)
- Ноябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (3)
- Июль 2019 (2)
- Май 2019 (2)
- Апрель 2019 (4)
- Март 2019 (1)
- Февраль 2019 (1)
- Январь 2019 (4)
- Декабрь 2018 (1)
- Сентябрь 2018 (1)
- Август 2018 (1)
- Июнь 2018 (1)
- Май 2018 (1)
- Апрель 2018 (2)
- Март 2018 (3)
- Февраль 2018 (3)
- Январь 2018 (8)
- Декабрь 2017 (2)
- Ноябрь 2017 (5)
- Октябрь 2017 (5)
- Сентябрь 2017 (11)
- Август 2017 (8)






