MTRecognition версия для Word - восстановление сбитых нередактируемых формул в MS Word


WRec - дополнение к сервису распознавания математических формул, позволяющее прямо в Word восстанавливать (путем распознавания) формулы, превратившиеся в обычные изображения.

Рассмотрим пошагово процесс восстановления формул.

  1. Скачиваем архив WRec.zip.
  2. Копируем папку WRec из архива со всем ее содержимым на диск С.

В этой папке находится программа WRec.exe и инициализационный файл WRec_.ini. Это обычный текстовый файл.

Вот его содержимое.

[WRec]
ID=00000000
KEY=00000000

Вместо нулей в строке с ID необходимо написать email, а в строке с KEY вместо нулей нужно написать код доступа.

Получить ключ для доступа к сервису можно, оплатив 90 руб. за 100 формул и отправив запрос на email: mvlad48@gmail.com с копией информации об оплате. В ответном сообщении Вам будет выслан ключ.

  1. ОЧЕНЬ ВАЖНО! УБЕДИТЕСЬ, что ваш документ Word не содержит символ $. Это нужно сделать до начала восстановления формул. Если в тексте найдется $, удалите или замените его другими символами или комбинациями символов, в противном случае будет невозможно правильно преобразовать формулы из TeX в MathType.
  2. Внизу этой страницы обычным текстом дан код скрипта 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.

  1. Выделите весь текст или часть текста в MS Word, где необходимо восстановить формулы, и запустите сценарий. Для этого нажмите Alt + F8 и нажмите WTRec_Restore.
  2. Оригинальные изображения с формулами останутся без изменений, а перед ними будут вставлены распознанные формулы в формате TeX. Удалить изображения с нередактируемыми формулами можно путем замены ^g на пустой символ. Они оставлены, чтобы можно было сверить правильность распознавания.
  3. Для преобразования формул в формат MathType выделите нужную часть текста и выполните команду меню MathType -> Toggle TeX. Если формул будет слишком много, преобразование не будет выполнено.

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



Macro WTRec_Restore

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