Данный скрипт предназначен для автоматического поиска/замены в формулах, подготовленных в MathType версий 6.*, и размещенных в публикации InDesign в виде EPS или WMF-файлов.

Скрипт представляет собой один из компонентов системы MT-Script.

Структура формулы MathType существенно отличается от обычного текстового представления. Формула представляет собой группу объектов (блоков), разделенных "управляющими элементами", а не сплошную последовательность символов. В этом в основном и состоит сложность, с организацией поиска в формулах. Например, чрезвычайно сложно организовать поиск выражения вида sin x, так как sin - функция, а x - переменная, то есть мы видим строку из последовательности символов sin пробел x, а в описании формулы идет приблизительно следующее: "код начала стиля блока функция"sin"код конца стиля блока функция""код начала стиля блока переменная"x"код конца стиля блока переменная". В данном скрипте реализован поиск только внутри блоков, то есть можно sin заменить на cos, можно x заменить на y, но не sin x на cos y заменить не получится, да и найте sin x также не удатся, так как такой последовательности в формуле просто нет в связи с наличием "управляющего кода" между sin и x.

Порядок работы со скриптом

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

Поиск-замена в формулах MathType

Область поиска

1поле «Найти»

В нем записывается текст для поиска. Любые пробелы в полях «Найти» и «Заменить» игнорируются. Греческие или специальные символы можно ввести, нажав на кнопку, расположенную правее поля «Найти» (1-1). В открывшемся диалоговом окне выберите необходимый символ и щелкните по нему. Он будет введен в место расположения курсора в поле «Найти».
Если в поле «Найти» ничего не набрано, то поле «Заменить» становится недоступным. В этом случае скрипт позволяет удалить Embells и вручную измененные размеры шрифтов, то есть "подчистить" все формулы из выделенной области. Для активации поля «Заменить» достаточно ввести любые данные в поле «Найти».

2 «Стиль текста»

Возможны следующие значения:

«Любой» — поиск в любом текстовом стиле;

«Math» — поиск в математических стилях — «Variable», «Function», греческих символах;

«Text», «Function», «Variable», «Greek-Symbol», «Vector-Matrix», «User1», «User2» — поиск символов только этого стиля;

«Другой» — поиск символов нестандартного стиля, которые были определенны либо через меню MathType — Style > Other..., либо вставленные через диалог Insert Symbol... (в меню MathType Edit > Insert Symbol...).

3«Стиль размера»

Можно задать либо конкретный стиль размера, определенный в MathType, либо указать «Любой размер» или «Другой».

«Другой» означает любой нестандартный размер, заданный через меню MathType — Size > Other...

4 «Стиль шаблона»

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

«Без шаблона» — поиск только там, где не определен ни один из шаблонов MathType.

Все остальные пункты — поиск текста внутри стандартных шаблонов MathType.

Поиск-замена в формулах MathType

Область замены

5 «Заменить» — указываете, на что необходимо заменить.

Любые пробелы в полях «Найти» и «Заменить» игнорируются.

6 «Стиль текста»

В отличие от области поиска в области замены в стилях текста нет пунктов «Любой» и «Другой», ибо замена исходного стиля на любой эквивалентна установке стиля «Math», а замена на нестандартный стиль (иными словами, «Другой») в скрипте не предусмотрена.

«Text», «Function», «Variable», «Greek-Symbol», «Vector-Matrix», «User1», «User2» — замена символов с применением к ним конкретного стиля текста.

«Math» — замена символа с анализом принадлежности символа к группе «Variable» или «Greek-Symbol». При этом к символам будут применены соответствующие текстовые стили. Кроме того, по всей формуле ищутся подстроки, совпадающие со стандартными (или пользовательскими) функциями, и к ним применяется стиль «Function».

Посмотреть стандартные функции, а также установить новые можно в MathType в меню Preferences>Function Recognized...

Стандартные функции в скрипте аналогичны MathType-овским. Добавить новые пользовательские можно, внеся соответствующую запись в файл MT-UserFiunctions.ini.
Откройте этот файл. Образец установки новой функции находится в нем.

Добавление новой функции в файл MT-UserFiunctions.ini гарантирует только то, что этот скрипт будет ее правильно понимать и автоматически присваивать соответствующий стиль. Для того, чтобы новая функция была понятна и MathType, ее необходимо также определить в самом MathType. Для этого служит пункт меню Preferences > Functions Recognized...

7 «Стиль размера»

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

Например, (поиск — замена): cos — sin, cos — arcsin, arccos — sin

8«Стиль шаблона» заблокирован, так как скрипт не позволяет менять автоматически один шаблон на другой.

9«Reset All Nudge»

Nudge — это ручное смещение символов, наборов символов или шаблонов при наборе формул в MathType. Например, откройте какую-нибудь формулу в MathType, выделите текст или целый шаблон(ы) и удерживая Ctrl нажимайте стрелки (вверх, вниз, вправо, влево). Выделенная область будет передвигаться. Для того, чтобы вернуть все в исходное состояние необходимо в MathType выбрать пункт меню Format>Reset Nudge, или в скрипте, выбрать этот пункт. Тогда в любой просмотренной формуле в случае обнаружения Nudge будет сброшен.

10 «Clear Embell»

Embell — разного рода апострофы, шапочки и т. п. В MathType есть шаблоны, позволяющие ставить символы или целые слова над некоторым текстом. Это уже относится к шаблонам. Embell может быть применен только над одним единственным символом.
Включение этого пункта убирает все Embell во всех просмотренных формулах.

11«Reset Smaller/Larger»

Кроме применения нестандартного размера в MathType можно увеличить или уменьшить какой-либо символ или группу символов со стандартным размером с шагом в 1 пункт, если воспользоваться командой Size>Smaller (Ctrl + <) или Size>Larger (Ctrl + >). Можно сбросить ручное изменение размеров, используя команду меню Size>Smaller/Larger.
Аналогичная процедура сбрасывания ручного изменения размеров и приведения их к исходным стилевым размерам будет применена ко всем обработанным формулам при условии включения этого пункта.

12 «Clear Other sizes... Set to»

Этот пункт позволяет заменить все нестандартные (нестилевые) размеры, установленные при наборе формулы через меню MathType Size>Other..., на стандартные размеры, определяемые пользователем.

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

13 Clear Pref, Preference file - ****, WMF, EPS.

Функционал этих кнопок делатально описан в разделе Установка глобальных настроек скриптов. Данные для них берутся из глобальных настроек скриптов. Все измненения, сделанные в этих настройках сохраняются также в глобальных настройках.