Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 46
Текст из файла (страница 46)
Приведем пример использования команды генерации кодов языка Фортран с сохранением текста результата в файл: > тогггап(д.орг(а!ге().Г1)епаае "геа.(ог"); В результате выполнения команды будет создан файл геа. рог со следующим текстом; геа) Гопс(1оп д(а,Ы геа) а геа) Ь Преобразование документов Мвр!е в форматы Свуе)С Й1Г„НТМС '2гвЗ геа1 С1 геа1 С2 геа1 С5 С1 Ь**2 С2 С 1*"2 С5 5)п!С1*Ы О - а+С2*Ь*!5 гетогп епо В Мар)е 6.0 появилась возможность подключения внешних процедур, написанных на алгоритмических языках. Для описания и вызова внешних процедур используются соответственно команды пег)пе ехСегпа1 и са11 ехСэгпа1.
Вдокументации по пакету и в справочной системе дано описание этих команд и приведен пример процедуры. При вызове внешних процедур важно согласование типов данных Мар)е и языков программирования, соответствие которых изложено в руководстве по пакету. Отметим, что по умолчанию Мар)е использует транслятор М)сгозой С для операционной системы Ю!п1)овгз. Таким образом, процедуры, написанные на С (или другом языке, поддерживающем интерфейс С), и находящиеся в библиотеках (В!.!.
в среде т!г)пдозтз), могут теперь подключаться к Мар(е динамически и вызываться как команды Мар)е. Преобразование документов Мар1е в форматы 1 аТеХ, йТГ, НТМ~ В этом разделе мы рассмотрим взаимодействие Мар!е с системами подготовки научных публикаций, как традиционных, так и электронных. Замечательная способность Мар!е представлять математические результаты в форматах, стандартных для систем публикаций, используется уже давно.
Мар(е позволяет автоматически переводить рисунки и формулы, полученные в результате громоздких вычислений, в нужный формат без дополнительной ручной обработки. В настоящее время система верстки !.аТеХ фактически является стандартом для научных публикаций. Описанию работы с ней посвящена глава С9 «Краткое введение в пакет )лТеХ». Здесь мы только упомянем, что в 1лТеХ существует свой язык для написания формул. Для перевода математического выражения ехрг в формат системы редактирования 1аТеХ в Мар(е используется команда 1атех!ехрг) или !атех!ехрг."паве.ехт") Во втором варианте результат работы команды выл)итси в файл.
Полученные выражения можно легко вставлять в 1аТеХ-документы, но следует помнить, что полученную формулу необходимо включить в нужное окружение (например, в символы Ф для формул внутри текста или конструкции 1ьеотп[еооас1оп! ... 1епс(еооастоп! для вылеленных в строку формул). приведем пример обращения к команде 1асех: 2аз4 Глава 9. Мар(е и другие программы > 1пт(1/(х"2+1), х) - тпт(1((х"2+1), х); | 1 Ых = жстап(х ) х +1 > )асех(х): )тлс )!))етс ((х)"(2)+1)г)йлт ) (-1)(пх)-(агс(ап(х) В ЕаТеХ-документе эта формула при ее размещении в отдельной строке должна выглядеть следующим образом: )Ьей)п(ецоасзол) ) ) пт т( т) етг ((х] (2)>1)г)ЯПт ) *( - 1)(пх) (дгстдп(х) \епп(еоиаттоп) Обратим внимание на то, что результат преобразования выражения отличается от вида выражения в Мар!е-документе, так как здесь используется отрицательная степень, а не дробь.
Таким образом, любое математическое выражение можно пре- образовать в формат 1.аТеХ. В Мар1е существует возможность перевода в различные форматы всего Мар!е-до- кумента. Преобразовать рабочий документ можно из основного меню Мар!е, вы- брав пункт Г))е, а затем Гхрог1 Аз или бате Аз.
После этого надо выбрать требуемый формат документа при помощи дополнительного меню. Список возможных фор- матов дан в табл. 9.!. Таблица 9.1. Типы файлов, в которые может быть преобразован рабочий документ Тип документа Описание Текстовый формат с записью математических выражений на языке Мар(е Текстовый формат с имитацией математических выражений Формат, близкий к формату (.аТех 1атеХ-документ Расширенный текстовый формат Гипертекстовый формат Мар(е гехт Р(а(п (ехг Мар(е ехр(огег (.аТеХ йТГ (й(сй тех( Топпат) НГМК.
Теперь рассмотрим подробнее преобразование Мар1е-документов в форматы 1лТеХ, зсТР и НТМ4 На рис. 9.! приведен короткий Мар)е-документе именем 1агехшог().(пчж, включающий различные объекты. Будем использовать далее этот документ для демонстрации перевода документов в различные форматы. При преобразовании Мар1е-документа в !лТеХ все рисунки автоматически преобразуются в формат Епсарвц! асе Роз19спрс, а математические выражения переводятся на язык формул пакета ТлТеХ. Рисунки сохраняются в файлах с именами, состоящими из имени документа и номера рисунка. При записи формул Мар! е использует свои команды и окружения, которые реализованы в пакете для 1лТеХ вир) е2е.
Стилевые файлы пакета гоар!е2е йаходятся в каталоге ЕТС. Приведем текст, полученный в результате преобразования тестового документа Гсм. рис. 9 1) в формат 1лТеХ. В результате 'конвертации был создан файл (атехюогс(дех и файл (ахехвгои(01.ерз с рисунком. Текст документа Т.аТеХ приводится ниже в сокращенном виде и снабжен нашими комментариями на русском языке: Преобразование докуиентов Иар!е в форматы Еа(е)Е КТГ, НТМЕ 2 в5 ри,, и Это пример Мар1е-документа, включающего формулы, поля ввода и вьводвМар!е, в тапке рисунки. Документ будет вами использовав для демонстрации преобразований Мар!е-документа в различные форматы Формулвв тексте: (з!тт(х) ~х -соз(х) > вмакьр].ою(-сов(к)) ыче Еедепп — Сыгте 1 ' ьТщтщ)ь.'.",ыби!б <~4 ъФ)м" ',",~пбвьсдчргд .м]ух~!",!:"„!з~';., Рнс.
9.1. Окно Мар!е-сессии с примером документа Дв Сгеатеб Ьу Мар1е 6 (!ВМ !МТЕЕ ИТ) тд Боигсе Иагхзиеет: 1атехиого.юиз тт Оепегатеб: Тые Ос! 10 23:04:48 2000 Тлосиаептс1зы(аггтс1е) Д Подключение пакета Марте дпд ЕаТех Тызерасхаде(пар!е2е) Д Определение команд тбет1ютрсу1! пе(!карасе( 12рг)) 10ет!перагадту1е(Мар1е Оытрыт) ТЬед1п(досытюлг) траде55у]е(итогу) д Открытие окруиенид юар!едгоыр ТЬедтп(вар1едгоыр) 1Ьедтп(т1ыза)ет!) Это пример Мар)е-докунента.
включающего формулы. полл ввода и вывода Мар1е, а такие рисунки. Документ будет нани использован длм деионстрации преобразований Мар)е-документа в различные дорматы. Ворнула в тексте: 1щар1е!п11пе(асс!те)(20)(1пт(51п(х),х>;)(дзыпт Тщасьгю(51п)!Х)! Ахзд) Тепб(Т1ызн)етт] 1вир1егезы1с Тьед1п(ищз!е1атех) 1вир!етп)тпе(1пегс)(20)(-соз(х);)($1( - ътюьппа(соз)(х) 1] $) Теюо(юар1етатех) 1епб(пюр1едгоир) 1Ьедтп(вартедгоыр) таедтп(парте!прот) 246 Глава Р.
Мар(е и другие програюпы тиар]е1п!тпе(асс1те)(1о)(ввагср!ос(-сов(к)); )(2) тепе(иар! ет прог) 1юар!егево11 2 Включение рисунна в Рорнате ЕР5 1ьед1п(сепсег) 1иар1ер1ос(1асекногс01.ерв) тепе(сенат) тепе(иар]ергоор) теис(посопепт) 22 Епс оГ Нар]е 5 Оитриг В Мар1е не предусмотрена языковая поддержка ].аТеХ, значит, для русификации текста необходимо подключить соответствующие библиотеки. Русификация будет зависеть от используемой версии ]лТеХ. Так, в случае пакета Мйг 1еХ и кодировки Ж(пг(отгв необходимо после строки с командой 1г]осоке птс1азз вставить следующие команды; !о пер аснар е[ср1251] ( т п роге по) 1иверасаазе[говвтап](Ьаое1) Это пример Мар1е-документа, включающего формулы, поля ввода и выво, да Мар!е, а также рисунки.
Документ будет нами использован для демонстрации преобразований Мар]о-документа в различные форматы. Формула в тексте: ) зйл(х) Их -соз(х) > вапвгер1оь(-сов(х)); 1.еоепс( — — Спгтгв ! Рис.9.2. Репуиьтпт обработки аоиуиента 1птек Преобразование документов Иар(е в форматы (э(е)( йТР, НТМ1 к 47 1 ынтноьт Я!тыкв ноы кокон ' и Это пример Мар! е-документа, включающего формулы, поля ввода н вывода Мар!е, а также рисунки. Документ будет нами использован длл демонстрации преобразований Мар!е-документа в различные форматы.
Формула в тексте: ~ юп(х) т(т -сов(х) > эюагер1ое (-ооэ (х) ) 'ьодоне Соске 1 Рнс. 9.3. Тестовый документ в формате НТГ в окне редактора Мнтозоп Воы После этого документ может быть обработан транслятором 1 аТеХ. В результате будет получен 1)Ъ'1-файл, который может быть распечатан или выведен на экран. На рис. 9.2 изображено окно программы т'ар для просмотра 1)Ъ'1-файлов с открытым файлом !а(ехнютдАу(, Отметим, что для правильной работы транслятора файлы пакета шар!е2е должны находиться в каталоге с транслируемым документом или в каталоге 1лТеХ со стилевыми файлами. Изображенный на рис.
9,2 результат трансляции документа 1.аТеХ отличается от исходного документа (рис. 9.1). В частности, рисунок в формате ЕРБ имеет больший размер и иное представление, чем оригинал, что объясняется спецификой работы драйвера Мар!е преобразования рисунков в формат ЕР5. Другим распространенным инструментом подготовки публикаций является текстовый редактор М!сгозо(с фогт(. В новой версии Мар1е 6.1) рабочий документ автоматически преобразуется со всеми формулами и графиками в КТГ-формат, что позволяет работать с полученным документом в наиболее популярных текстовых редакторах (М!сгозо(г Ъ'огс(, Ране Макет и Яцагк Х Ргезз). При преобразовании документа в этот формат все графики и формулы внедряются в КТГ-файл в виде растровых графических объектов, причем црц этом может произойти потеря качества рисунки.