Архивы: по дате | по разделам | по авторам

Вижу то, что имею в виду

Архив
автор : Павел Протасов   01.09.2004

Современный Wintel-компьютер все больше напоминает рабочую станцию под *nix: тут тебе и Perl, и (иногда) Tcl/Tk, и GIMP, и еще куча всего.

Современный Wintel-компьютер все больше напоминает рабочую станцию под *nix: тут тебе и Perl, и (иногда) Tcl/Tk, и GIMP, и еще куча всего. Главной причиной такой конвергенции является все большее распространение свободного и открытого софта, в основном происходящего из самого юникса.

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

TeX как он есть

Постоянные читатели «Компьютерры» помнят, что мы не раз писали о TeX (См., например, статью В. Лидовского «Современная TеXнология», «КТ» #481). Непостоянным и забывчивым напомню: это издательская система, разработанная математиком Дональдом Кнутом для верстки своих статей, внешний вид которых, по его мнению, был далек от совершенства. Со временем программа стала стандартом де-факто для обмена научными публикациями в большинстве университетов и журналов, кроме разве что постсоветского пространства. К редактору написан вагон расширений, самый известный из которых — LaTeX.

TeX незаменим при написании математических статей, поскольку содержит развитые средства для работы с формулами. Впрочем, он еще много чего содержит: полный дистрибутив самого популярного порта под Windows, MikTeX, занимает больше ста мегабайт.

Однако за все приходится платить. Богатые возможности обеспечиваются за счет того, что документ TeX представляет собой программу на особом языке, управляющую версткой. Естественно, в том же файле, что и версточные команды, находится текст документа. Перед печатью TeX-файл требуется конвертировать в формат DVI (device-independent, «не зависящий от устройства»), предназначенный для просмотра и печати.

А поскольку программирование, оставаясь уделом сильных духом юниксоидов, избалованным виндовым юзерам обычно не по душе, то TeX проникает в их лагерь со скрипом. Два текстовых процессора, описанных в статье, как раз и предназначены для того, чтобы взять на себя основные трудности при работе с файлами TeX.

LyX 1.1.3-Win32
www.lyx.org

Текущей версией LyX является 1.3.4, однако последняя Windows-версия — 1.3.3 (рис. 1), ее и рассмотрим. Написана она с помощью популярной среди юниксовых программистов библиотеки Qt. Существует еще и kLyX — инкарнация, рассчитанная на работу с оконным менеджером KDE и распространяющаяся вместе с ним.

LyX представляет собой надстройку не над голым TeX а над тем самым расширением LaTeX. К программе придется привыкать. Ведь в ней, по заявлениям разработчиков, использован принципиально новый способ представления текста под названием WYSIWYM (What You See Is What You Mean, «Вы видите то, что имели в виду»).

Смысл нововведения в следующем. При наборе редактор не пытается показать, как текст будет выглядеть на печати. Вместо этого максимально отличаются по внешнему виду логические элементы текста: заголовки, подзаголовки, сноски, ссылки, автоматически генерируемое оглавление и т. п.

В результате возникает непередаваемое чувство единения с текстом: о том, как вставить заголовок или подзаголовок, сноску или формулу, просто не думаешь. При условии, конечно, что настройки печати заданы правильно (с редактором поставляется множество готовых шаблонов).

О том, как перейти к другой части текста, не думаешь тоже: содержание, вызываемое из главного меню («Просмотреть Х Содержание»), представляет собой простейший навигатор по разделам и подразделам документа. Вдобавок в меню «Перейти» появляются, по мере их набора, все подзаголовки и заголовки документа, то есть оказаться в нужной части можно, просто-напросто выбрав ее из этого меню.

Ссылки и сноски выглядят при просмотре как прямоугольники с соответствующими надписями, то же — с содержанием и даже сообщениями об ошибках. Непривычно, но работать можно.

Правда, пользоваться LyX как обычными текстовыми процессорами, забыв про стили и делая абзацные отступы пробелами, не получится: два пробела или две пустые строки подряд редактор ввести не даст. Да и выделять заголовки физическим форматированием не удастся: шрифтов можно использовать всего три. Так что придется узнать, что такое стиль. Но разве это плохо?!

Редактор сохраняет тексты в своем собственном формате. Поддерживается экспорт в ASCII, PDF, LaTeX. Можно вставлять в текст таблицы и формулы. Особая песня — «математическая панель» программы. Она представляет собой этакий пульт управления математическими символами и выражениями. Группы символов переключаются с помощью выпадающего меню, а кнопкой «Отсоединить панель» можно превратить группу в отдельное окошко. Точно так же можно поступить с имеющимися на панели выпадающими списками: знаков корней, шрифтов и другими. Очень полезная «фича», которую под Windows я видел только в портированных из-под *nix программах.

Правда, LyX, как и WinTeXmacs (о нем речь ниже), плохо относится к именам файлов или каталогов, имеющим пробелы. Так что придется либо ставить его в корневой каталог, либо заводить отдельный для подобных программ (Подобным образом себя ведут встречающиеся до сих пор выходцы из-под DOS, так что каталог лишним не будет).

К слову: если бы программисты, занимающиеся портированием, учитывали особенности соответствующей операционной системы, простым пользователям жить стало бы легче. А то я, в порядке эксперимента пошарив по дискам компьютера, обнаружил аж четыре файла perl.exe, кроме собственно Perl от ActiveState (фирма, разрабатывающая самый популярный из портов Perl под Windows). Один экземпляр, кстати, на совести LyX — скрипты на этом языке используются, в частности, для преобразований файлов из одного формата в другой.

Можно в LyX и вводить команды LaTeX напрямую. Естественно, отображаться они будут в виде прямоугольничков с соответствующей надписью. Щелкнув мышкой на прямоугольнике, вы увидите его содержимое: текст сноски, команду и т. п. Щелкнете еще раз — содержимое спрячется. Но при преобразовании в формат DVI команды будут обработаны, а сноски окажутся там, где им и положено быть.

Есть у LyX, кроме сторонников формата TeX, и еще одна целевая аудитория — это пользователи, которые составляют документы только в электронной форме, не распечатывая. По крайней мере, для простых текстов LyX подходит даже лучше, нежели Word: за счет отсутствия неиспользуемых возможностей и более удобного представления редактируемого текста. Не хватает, правда, полноэкранного режима редактирования — но не все же сразу…

WinTeXmacs 1.0.1.3
www.texmacs.org

Как заявляют авторы программы, их основной задачей было соединение прямого программирования верстки (с помощью служебных команд TeX) с удобством «визуального» редактирования текста.

При первом же запуске редактор, определив язык операционной системы, встречает нас русским меню (Справка, увы, не переведена). Правда, перевод некоторых пунктов своеобразен: например, в начале работы, выбрав в главном меню пункт «Иди», получаешь один-единственный подпункт: «Без имени». Вот уж послали так послали… Лишь открыв еще один документ и увидев его название в этом самом «Иди», понимаешь, что имеется в виду переход между открытыми документами, которые в терминологии программы именуются буферами, совсем как в натуральном EMACS.

У редактора есть «командная строка» в низу окна, она же — статус-бар. В ней выводятся сообщения для пользователя, там же запрашиваются данные, например подстроки для поиска и замены. Текст при редактировании обрабатывается блоками, которые на экране обведены голубыми линиями. Если мы захотим ввести в текст заголовок, элемент окружения, знак формулы, корня и т. п., то значение вставленного в текст элемента будет обведено голубым. Если мы вставляем внутрь первого элемента второй, он тоже обводится. Благодаря этой простой мере можно контролировать, какой элемент текста или формулы где находится, не путаясь даже в таких многоэтажных дробях, как та, что изображена на рис. 2: стоит поместить курсор на участок текста — и сразу видно, где находятся границы содержащего его элемента.

Непривычно выглядит работа с картинками. В меню вставки изображения есть пункты для помещения в текст «маленького» и «большого» рисунков, а также вставка ссылки на графический файл и самого файла. То бишь взамен режима отключенных картинок, как в Word, можно вставить ссылку, а можно — файл. А «маленький рисунок» с «большим» служат для того, чтобы выделить в тексте место под картинку.

Вставка формул не таит никаких сюрпризов: честный WYSIWYG, примерно как и в LyX, даже если попытаться под квадратный корень поместить многоэтажную дробь. Также можно вводить немыслимое количество математических спецсимволов, пользуясь выпадающими меню. При этом, наводя курсор на конкретный символ, вы получите информацию о его «клавиатурном эквиваленте» (комбинации клавиш).

Как и в LyX, поддерживается ввод команд LaTeX напрямую, при наборе с клавиатуры. Также напрямую можно указывать использующиеся в документе пакеты расширения TeX («Документ Х Использовать пакет»).

Поддерживается и специальный язык расширения, на котором можно писать свои команды, — Guile/Scheme. Они выполняются из подменю, которое появляется при помещении курсора на текст команды. Сохраняются документы в своем внутреннем формате.

При переходе от одного шрифта к другому на экране возникает сообщение о том, что «генерируется файл шрифта». Тут-то и пригодилась инородная консоль, которая при работе запускается в фоне: судя по сообщениям в ней, WinTeXmacs сам, без подсказок, нашел установленную на компьютере копию MikeTeX и пользуется ее шрифтами.

Что сам нашел — это, конечно, хорошо. Но вот зачем использовать «чужие» для Windows шрифты, да еще в то время, когда под *nix можно работать в TrueType, — мне, честно говоря, непонятно. В результате при использовании некоторых шрифтов русские буквы не показываются, хотя и набираются. Еще один досадный баг: хотя в комплект MikTeX и входит смотрелка файлов DVI, при попытке просмотра перед печатью она не вызывается.

У меня эта программа частенько падала при выполнении простейших операций, вроде поиска по тексту. В некоторый шок ввергает и поведение выпадающих меню: в отличие от ортодоксальных менюшек Windows, при переключении между программами по комбинации Alt+Tab открытое меню продолжает маячить на экране.

Резюмируем: программа напоминает выброшенного из гнезда птенца, с трудом осваивающего неведомую стихию. К тому же заметен явный крен в сторону пользователей-математиков. Однако за выходом новых версий имеет смысл проследить: думаю, WinTeXmacs обязательно похорошеет.

© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.