Перейти к содержимому

Как убрать висячие предлоги в ворде

  • автор:

Как избавиться от висячих предлогов: 3 способа на каждый день

«Висячим» или «висящим» называют предлог, который подвис в конце строки, хотя относится по смыслу к слову в начале следующей строки. По правилам типографики рекомендуется переносить некоторые предлоги на новую строку. В статье расскажу, как избавиться от таких предлогов.

Привет! Я Катя Полухина, редактор и автор телеграм-канала «Пишу и сокращаю». А это мой краткий гид для вас: как быстро убрать «висячки».

Рекомендую соединять висячие предлоги и союзы в Типографе. Программа связывает неразрывным пробелом все короткие союзы/предлоги со следующими за ними словами.

Вот пример того, как Типограф соединяет висячий предлог

Для этого добавьте текст, нажмите «Оттипографить». И вставьте готовый текст в нужное место. Например, в программу вёрстки рассылок.

Если в сторисах оформляете текст, лучше висячки тоже ставить на новую строку.

На фото пример, как 2ГИС забивает на оформление текстов в рассылках.

2. Неразрывный пробел горячими клавишами

Если вы пишете небольшой кусочек текста с компьютера и нет времени на Типограф, вас спасет неразрывный пробел.

Сочетание клавиш для неразрывного пробела по умолчанию: Ctrl+Shift+Пробел, либо с использованием Alt-кода (Alt + 0160 или Alt + 255).

3. Типографская раскладка Бирмана

Это крутой сервис, с которым легко вводить разные полезные символы. Например, можно писать м³, →, знак умножения ×, градусы ° и, конечно, неразрывный пробел.

Так выглядит раскладка Бирмана

Если было полезно, не забудьте подписаться на мой канал. Там еще больше советов про работу и жизнь.

Как убрать висячие предлоги в Word?

Надо отредактировать большой объем текста, убрать висячие предлоги, союзы и т.д. с конца строки (Word 2013).

Есть такой вариант решения с помощью автозамены:

В «Найти» введите строку «([ ^s])([а-яА-Яa-zA-Z]) ([а-яА-Яa-zA-Z])», в поле «Заменить на», введите строку «\1\2^s\3»

Предлоги, союзы приклеиваются с помощью неразрывного пробела к следующему слову.
Все работает хорошо, НО, приклеиваются они не только в конце строки, а по всему тексту.
Можно ли как-то сделать так чтобы это работала только с конечными символами.
Казанский

 Sub ВисячиеПредлоги1() Dim s$, n& Selection.HomeKey Unit:=wdStory Do Selection.EndKey Unit:=wdLine If Selection.End + 1 >= 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)
  • Выделение цветом нескольких фрагментов текста

Заменить висячие предлоги

Author24 — интернет-сервис помощи студентам

Добрый день!
Подскажите как заменить висячие предлоги?

Если просто заменой
([ ^s])([а-яА-Яa-zA-Z]) ([а-яА-Яa-zA-Z])

То под одну гребенку попадают и переменные и связующие предлоги. Просто у меня редактор журнала (куда я сдаю статьи), например, предлог «и» в конце строки не относит к висячим.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Висячие строки.
у меня в документе ворд 2007 выставлены все поля по 2,5 см, проблемы с нижним полем. последние.

Найти в строке все предлоги и заменить их на восклицательные знаки
Программа должна открывать файл temp.txt и записывать его содержание в массив строк, либо считывать.

Найти и заменить в тексте все предлоги на «!»
Задание: набрать текст в текстовом редакторе(5-10 строк по 40-60 символов); считать этот текст в.

Висячие соединения
Добрый день! Есть tcp сервер и клиент. Если клиент закрывает соединение не нормальным способом, то.

5561 / 1367 / 150
Регистрация: 08.02.2009
Сообщений: 4,108
Записей в блоге: 30
Вы, VistaSV30, можете попробовать

ЦитатаСообщение от VistaSV30 Посмотреть сообщение

одну гребенку

разделить на несколько: http://www.cyberforum.ru/vba/thread132013.html#4 — с помощью подобного макроса (легко модифицируемого (кто понимает)).

А вам такие ухищрения нужны для интернет-публикации?

535 / 312 / 78
Регистрация: 10.04.2012
Сообщений: 1,160
Записей в блоге: 2

Спасибо!
Хороший макрос! Сохраню себе.

Это текст учебного пособия, так что редактор издательства проверяет на совесть.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Висячие указатели, как с ними бороться
Здравствуйте, возникла такая проблема. Есть вектор объектов, в указатель заношу какой либо объект.

Удалить из графа изолированные и висячие вершины
Есть граф, у которого (abcdefg) — вершины, а ((bc) (bg) (cg) (cd) (ge)) — pебpа. Удалить из графа.

Удалить из графа изолированные и висячие вершины
Есть граф, у которого (abcdefg) — вершины, а ((bc) (bg) (cg) (cd) (ge)) — pебpа. Удалить из графа.

Предлоги а поиске
Здравствуйте! У меня в названии сайта к высокочастотнику добавлен предлог, так вот раньше яше было.

Предлоги с герундием — At being
Скажите пожалуйста, а сочетание at с герундием и in с герундием — это то же самое?? Я почему.

Исключить из массива предлоги
Это часть задачи. Желателен код. Мне необходимо отредактировать массив ‘a’ так чтобы исключить из.

Или воспользуйтесь поиском по форуму:

Как убрать висячие предлоги в ворде

Сообщение от Казанский

Изменил условие: перед заменяемым пробелом должна быть буква

Sub ВисячиеПредлоги1() Dim s$, n& Selection.HomeKey Unit:=wdStory Do Selection.EndKey Unit:=wdLine If Selection.End + 1 >= 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

не подскажете каким образом изменить макрос, чтобы переносился знак № в конце строки?

Регистрация: 09.12.2016

Сообщений: 4

не подскажете каким образом изменить макрос, чтобы переносился знак № в конце строки?

Регистрация: 31.12.2010

Сообщений: 2,133

korney4,
просто замените » » (№пробел) на » №^s » (без кавычек) по всему документу.

exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Регистрация: 04.01.2017

Сообщений: 1

Сообщение от Казанский

Изменил условие: перед заменяемым пробелом должна быть буква

Sub ВисячиеПредлоги1() s$, n& Selection.HomeKey Unit:=wdStory Do Selection.EndKey Unit:=wdLine If Selection.End + 1 >= 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

Отличный макрос, предлоги слетают хорошо.
Но почему то виснет напрочь на таблицах и рисунках.
Может можно переписать действие макроса только на выделенный фрагмент текста?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *