Тема: Макрос для форматирования текста, скопированного из интернета
В ряде случаев, при копировании текстов из интернета одновлеменно копируются и переносы строк и слов.
Вот пример такого текста, приведенный в http://wordexpert.ru/forum/viewtopic.php?id=1359:
"Исследование выполняют во
время стандартной катетеризации
полостей сердца и сосудов. Датчик
посылает ультразвуковой сигнал
определенной частоты через про-
свет сосуда, который, достигая его
стенки, отражается от нее и вос-
принимается на обратном пути хода
луча тем же датчиком. Полученную
с «отраженным» лучом информа- "
Вот некоторые примеры обсуждения указанной проблемы на нашем форуме:
http://wordexpert.ru/forum/viewtopic.php?id=1005
http://wordexpert.ru/forum/viewtopic.php?id=1359
Был разработан макрос, позволяющий автоматизировать форматирование подобного текста:
Он выполняет следующие действия:
1) Удаление пробелов в конце строк, где они есть (замена " ^p" на "^p" несколько раз)
2) Удаление знаков переноса (замена "-^p" на "" и "–^p" на "")
3) Добавление пустых строк после различных знаков препинания:
а) Добавление пустой строки после точки (замена ".^p" на ".^p^p")
б) Добавление пустой строки после двоеточия (замена ":^p" на ":^p^p")
в) Добавление пустой строки после точки с запятой (замена ";^p" на ";^p^p")
г) Добавление пустой строки после восклицательного знака (замена "!^p" на "!^p^p")
д) Добавление пустой строки после вопросительного знака (замена "?^p" на "?^p^p")
е) Добавление пустой строки после троеточия (замена "…^p" на "…^p^p")
4) Выделение сочетания "^p^p" жирным шрифтом (замена "^p^p" нежирным шрифтом на "^p^p" жирным шрифтом)
5) Замена "^p" на " " для нежирного шрифта (замена "^p" нежирным шрифтом на " " нежирным шрифтом)
6) Убрать знаки переноса жирным шрифтом (замена "^p" жирным шрифтом на "^p" нежирным шрифтом)
Недостатки данного макроса:
1) Он объединяет с последующим текстом строки, которые не кончаются на знаки препинания (заголовки, знак препинания пропущен, названия рисунков, номер страницы книги).
2) Не работает с таблицами.
3) «Ошибается», если знак переноса выделен жирным шрифтом.
4) Если знак переноса «случайно» находится после знака «тире» в словах, в которых должно стоять тире (например, «административно-территориальный», «социально-экономический»), то конец строки и начало следующей строки объединяются без тире («административнотерриториальный», «социальноэкономический»).
5) Если знак переноса «случайно» находится после знака «точка с запятой», то считается, что это конец строки (это не всегда так).
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.