Emacs для начинающих



         

LyX и LaTeX: организация взаимодействия. Часть 1 - часть 2


По LyX существуют неплохие руководства на русском языке. Это труды и Алексея Федорчука, послужившие отправной точкой при написании этой статьи. Но, во-первых, развитие LyX не стоит на месте, и некоторые рекомендации этих авторов, скажем так, слегка устарели. А во-вторых, их работы – это, прежде всего, руководства по русификации, построенные по принципу: делай так-то – получишь такой-то результат. Я же хотел бы подробнее описать сам механизм взаимодействия LyX с LaTeX, так, чтобы, во-первых, стал ясен внутренний смысл практических действий по начальной настройке программы, и, во-вторых, чтобы пользователю легче было понять, в каком случае LyX действительно может облегчить его работу, а в каком – проще заняться написанием исходников LaTeX напрямую.

Итак, LyX – это не что иное, как графическая надстройка над системой LaTeX, наличие которой в установленном виде необходимо для его нормального функционирования. И если открыть подготовленный в LyX файл в простом текстовом редакторе, можно увидеть нечто внешне сходное с исходником LaTeX. На это как будто указывает знак backslash, с которого начинаются все команды. Однако же аргументы этих команд не заключаются в фигурные скобки, а просто отделяются пробелом, да и в качестве знака комментария используется символ # (а не %, как в LaTeX). Кроме того, странное впечатление производит структура текста с многочисленными переносами строк: с новой строки начинается каждая команда. И лишь когда мы дадим команду распечатать текст (или просмотреть DVI или postscript), программа в качестве промежуточного этапа сгенерирует настоящий документ LaTeX (файл с расширением .tex), который при желании можно будет разыскать где-то в недрах каталога /tmp.

Для чего же понадобилось создавать специальный язык разметки, нужный только как переходный этап? На этот вопрос легко ответить всякому, кому приходилось видеть html-код, сгенерированный визуальными редакторами. Этот ход оттого и получается неудобочитаемым, что такие редакторы стремятся «на лету» исполнять команды пользователя, не пытаясь воссоздать их внутреннюю логику. А ведь язык LaTeX значительно сложнее, чем html, и последствия могут быть хуже. Приведу такой пример. Для пометки текста на иностранном языке в LaTeX обычно используются команды-декларации \selectlanguage{}. Такая команда будет действовать до появления следующей декларации, отменяющей ее, например:

Русский текст. \selectlanguage{english} Some text in English. \selectlanguage{russian} Снова русский текст.




Содержание  Назад  Вперед