MT-Recognition for Word - распознавание текста и формул, которые стали нередактируемыми рисунками в Microsoft Word
MT-Recognition for Word - распознавание текста и формул, которые стали нередактируемыми рисунками в Microsoft Word
Используемое в контенте сайта слово MathType является зарегистрированной торговой маркой компании Maths for More S.L.
The word MathType used in the website content is a registered trademark of Maths for More S.L.
Official website of the company - https://www.wiris.com. Email: info@wiris.com. Address: Roger de Flor, 223, 08025 Barcelona, Spain.
ВНИМАНИЕ! СЕРВИС НЕ РАБОТАЕТ ПО ТЕХНИЧЕСКИМ ПРИЧИНАМ. КЛЮЧИ НЕ ВЫДАЮТСЯ. ЕСЛИ У ВАС УЖЕ ЕСТЬ ОПЛАЧЕННЫЙ КЛЮЧ, ТО ВЫ МОЖЕТЕ ЕГО ИСПОЛЬЗОВАТЬ. ДЛЯ ВАС СЕРВИС БУДЕТ РАБОТАТЬ ДО КОНЦА 2022 ГОДА. ИЗВИНИТЕ!
MTRecognition версия для Word - восстановление сбитых нередактируемых формул в MS Word
WRec - дополнение к сервису распознавания математических формул, позволяющее прямо в Word восстанавливать (путем распознавания) формулы, превратившиеся в обычные изображения.
Рассмотрим пошагово процесс восстановления формул.
Скачиваем архив WRec.zip.
Копируем папку WRec из архива со всем ее содержимым на диск С.
В этой папке находится программа WRec.exe и инициализационный файл WRec_.ini. Это обычный текстовый файл.
Вот его содержимое.
[WRec]
ID=00000000
KEY=00000000
Вместо нулей в строке с ID необходимо написать email, а в строке с KEY вместо нулей нужно написать код доступа.
ОЧЕНЬ ВАЖНО! УБЕДИТЕСЬ, что ваш документ Word не содержит символ $. Это нужно сделать до начала восстановления формул. Если в тексте найдется $, удалите или замените его другими символами или комбинациями символов, в противном случае будет невозможно правильно преобразовать формулы из TeX в MathType.
Внизу этой страницы обычным текстом дан код скрипта WTRec_Restore. Этот текст нужно просто скопировать с этой страницы и поместить в Word.
Рассмотрим два варианта, как это можно сделать.
Первый вариант. Откройте Word, нажмите в меню Вид. В открывшейся панели нажмите МАКРОСЫ и выберите ЗАПИСЬ МАКРОСА. Откроется диалоговое окно. Неважно, какое имя будет у макроса. Оставьте имя по умолчанию. Макрос должен быть записан в Normal.dotm. Щелкните ОК. Это запустит запись. Сразу после этого снова нажмите МАКРОСЫ и выберите Остановить запись. Теперь снова нажмите МАКРОСЫ и выберите МАКРОСЫ из раскрывающегося меню. Выберите только что записанный макрос и нажмите ИЗМЕНИТЬ. Откроется окно Microsoft Visual Basic, и вы увидите приблизительно такой код: SUB MACROS1 END SUB. Выделите все от SUB до END SUB и вместо этого текста вставьте текст макроса WTRec_Restore (см. ниже).
Второй вариант. Откройте Word, щелкните в меню на вкладку Разработчик. Если у вас его нет, следуйте инструкциям на веб-сайте Microsoft - как включить панель Разработчик. Щелкните Visual Basic. В окне слева найдите элемент Normal, откройте его, откройте элемент Moduls и нажмите NewMacros. В главном окне справа введите текст макроса. Теперь, если закройте окно Microsoft Visual Basic и нажмете MACROS (Alt + F8). В списке макросов должен появиться WTRec_Restore.
Выделите весь текст или часть текста в MS Word, где необходимо восстановить формулы, и запустите сценарий. Для этого нажмите Alt + F8 и нажмите WTRec_Restore.
Оригинальные изображения с формулами останутся без изменений, а перед ними будут вставлены распознанные формулы в формате TeX. Удалить изображения с нередактируемыми формулами можно путем замены ^g на пустой символ. Они оставлены, чтобы можно было сверить правильность распознавания.
Для преобразования формул в формат MathType выделите нужную часть текста и выполните команду меню MathType -> Toggle TeX. Если формул будет слишком много, преобразование не будет выполнено.
Выделите меньшую часть текста и повторите преобразование.
Sub WTRec_Restore() Dim iShape As InlineShape Dim Seconds, CurrentTimer, iCount As Long Dim wsh As Object Set wsh = VBA.CreateObject("WScript.Shell") Dim waitOnReturn As Boolean: waitOnReturn = True Dim windowStyle As Integer: windowStyle = 1 Dim errorCode As Integer For Each iShape In Selection.InlineShapes iShape.Height = iShape.Height * 2 iShape.Width = iShape.Width * 2 iShape.Range.CopyAsPicture iShape.Height = iShape.Height * 0.5 iShape.Width = iShape.Width * 0.5 errorCode = wsh.Run("C:\WRec\WRec.exe", windowStyle, waitOnReturn) Seconds = 0.1 CurrentTimer = Timer Do While Timer < CurrentTimer + Seconds Loop iShape.Range.Paste Next iShape End Sub