+
= 
Давно хотелось понять и разобраться с тем, что же представляет собой TeX и LaTeX.
Нет, я не собрался заняться версткой документов или написанием научных статей с обилием формул. Но мне стало просто интересно, о чём тут столько разговором..тем более, что руку ко всему этому счатью приложил не кто-то там, а Дональд Кнут - человек достаточно известный в области ИТ и пользующийся авторитетом.
Для начала немного теории:
TEΧ (обычным текстом — TeX) — система компьютерной вёрстки, разработанная американским почётным профессором информатики Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками и для набора сложных математических формул.
Название произносится как «тех» (от греч. τέχνη — «искусство», «мастерство»). В написании буква E опущена ниже T и X.
Документы набираются на собственном языке разметки в виде обычных ASCII-файлов, содержащих информацию о форматировании текста или выводе изображений. Эти файлы (обычно имеющие расширение «.tex») транслируются специальной программой в файлы «.dvi» (device independent — «независимые от устройства»), которые могут быть отображены на экране или напечатаны. DVI-файлы можно специальными программами преобразовать в Postscript, PDF, или другой электронный формат.
LaTeX, произносится как «латех» или «лэйтех»; ударение допустимо на любой из слогов) — наиболее популярный набор макрорасширений (или макропакет) к TeX, который облегчает набор сложных документов.
Важно заметить, что ни один из макропакетов для TeX'а не может расширить TeX'овских возможностей (всё, что можно сделать в LaTeX'е, можно сделать и в Plain TeX'е), но благодаря различным упрощениям использование макропакетов зачастую позволяет избежать весьма изощрённого программирования.
Пакет позволяет автоматизировать многие задачи набора текста и подготовки статей, включая набор текста на нескольких языках, нумерацию разделов и формул, перекрёстные ссылки, размещение иллюстраций и таблиц на странице, ведение библиографии и др.
Кроме базового набора существует множество пакетов расширения LaTeX. Первая версия была выпущена Лесли Лампортом (Leslie Lamport) в 1984, текущая версия — LaTeX2ε, после создания в 1994 году испытывала некоторый период нестабильности, окончившийся к концу 90-х годов, а в настоящее время стабилизировалась (хотя раз в год выходит новая версия).
Общий внешний вид документа в LaTeX определяется стилевым файлом. Существует несколько стандартных стилевых файлов для статей, книг, писем и т. д., кроме того, многие издательства и журналы предоставляют свои собственные стилевые файлы, что позволяет быстро оформить публикацию, соответствующую стандартам издания.
Итак, "вооружившись" подборкой статей
Евгения Балдина, я начал бегло изучать LaTeX.
В скором времени появился на свет файлик вот с таким содержанием:
1
2 \documentclass{article}
3 \usepackage[warn]{mathtext}
4 \usepackage[koi8-r]{inputenc}
5 \usepackage[english,russian]{babel}
6 \usepackage{indentfirst}
7 \usepackage{amsmath}
8
9 \begin{document}
10 \begin{center}
11 \textbf{Умом Россию не понять, аршином общим не измерить\dots}
12 \end{center}
13 \end{document}
Я не буду вдаваться в подробности, что здесь каждая строка обозначает, скажу лишь, что будет выведена строка "Умом Россию не понять, аршином общим не измерить..." по центру, вернее после обработки этого файла утилитой latex будет сформирован документ c dvi с таким содержанием :)
"Из коробки" Vim умеет только подсвечивать синтаксис TeX. Очевидно что этого оказалось мало, и я направился на www.vim.org в поисках более удобноо дополнения к Vim для работы с LaTeX, им оказался пакет Vim- LaTeX. Честно говоря, давно я не встречал дополнения к Vim с подобным по масштабам функционалом

Среди прочего он умеет:
- Большое количество клавиатурных комбинаций и меню для более удобного редактирования, например можно быстро поменять тип выходного файла с dvi на pdf. А ещё понравились прелести типа замены многоточия на \dots, а как известно из лекций в LaTeX не всё так просто со знаками препинания, и подобная помощь при редактировании как нельзя кстати.
- Само собой в Vim-LaTex есть удобный враппер на компилятор (забиндено на \ll) latex с возможностью просмотра списка ошибока и быстрого перехода по ним. Что интересно, показалось, что в pdf tex файл перегонятеся быстрее, чем в dvi.
- А по \lv получаем быстрый просмотр результата (pdf/dvi/ghostview)
- Фолдинг, без этого было бы туго и он тут есть
- Что особенно понравилось, так это генерация меню в зависимости подключенных модулей в файле. Например при \usepackage[warn]{mathtext} мы получим спецменю для этого пакета
- Не помните, что означает команда LaTeX под курсором? С в комплекте Vim-LaTex идёт файл помощи. Жмём на слове F1 и читаем справку:)
- Словарь команд сначительно ускоряет их ввод. Просто в режиме вставки жмём Ctrl-X Ctrl-K (а лучше всего эту комбинацию наряду с Ctrl-P повесить на Tab)
- Есть там и шаблоны, которые очень напоминают по своей функциональности snippetsEmu и кстати говоря при использвовании совместо Vim-LaTeX и snippetsEmu обнаружилась коллизия в использовании ими одной клавиатурной комбинации, имейте это в виду.
- На самом деле там ещё много чего вкусного есть, просто приведенное выше сразу пошло в работу :)
Установка всего этого счатья достаточно проста...
Качаем архив и разархивируем его в ~/.vim. Потом как всегда переиндексируем файлы помощи
:h ~/.vim/doc и вперёд читать маны, а читать там немало, как вы могли уже догодаться :)
Вот так выглядит процесс оталадки, latex явно что-то не нравится в коде, что я набросал...
и он предусмотрительно выводит соответствующую строку из лог-файла:

Но ошибки оказалиись не критичны и нам таки показали результат:

Что особенно понравилось в LaTeX, так это набор формул...жалко что подобные технологии обошли меня стороной, когда я учился в университете и грыз, достаточно успешно, гранит науки, а в данном случае математический анализ и так далее. Как вспомню, как приходилось набирать всё это в ворде, аж дрожь берёт :)
Думаю, что пакет Vim-LaTeX окажется очень полезным людям так или иначе имеющим дело с LaTeX. Очень добротный и продуманный пакет.
Полезные ссылки: - Википедия, свободная энциклопедия [Электронный ресурс] : TeX, вариант 4942400, последняя правка 20 июль 2007, 08:54 UTC / Авторы Википедии. — Электрон. дан. — Штат Флорида. : Фонд Викимедиа, 2007. — Режим доступа: http://ru.wikipedia.org/w/index.php?title=TeX&oldid=4942400
- Википедия, свободная энциклопедия [Электронный ресурс] : LaTeX, вариант 5247811, последняя правка 20 август 2007, 15:42 UTC / Авторы Википедии. — Электрон. дан. — Штат Флорида. : Фонд Викимедиа, 2007. — Режим доступа: http://ru.wikipedia.org/w/index.php?title=LaTeX&oldid=5247811
- Цикл статей от Евгения Балдина "LaTeX - компьютерная типография"
- Vim-LaTeX
P.S. Товарищи, а кто-нибудь имеет дело с Nessyus/NASL? Просто подумываю сделать из вима какое-то подобие IDE для написания дополнений к Nessus...
15 комментариев:
ТУТ задал гентушникам вопрос, чем LaTeX лучше HTML+CSS. Ответили :) Там же можно найти ссылки на дополнительную литературу по ЛаТеХ и мнения участников форума. Лично мне понравилась ссылка http://www.intuit.ru/department/publish/latex/
Гентушники - серьёзный народ :)
На интуите кстати много чего интересно..сам сейчас оттуда читаю цикл лекций про опен сорс софту в области инф безопасности
Одно время пользовался (пытался пользоваться) vim-latex, а потом перестал. Некоторые автозамены вроде \dots замучали... А ковыряться в настройках и отключать по отдельности было недосуг...
Кстати, vim-latex есть в репозиториях большинства дистрибутивов. Например, в debian:
$ aptitude search ~nvim~nlatex
i vim-latexsuite - view, edit and compile LaTeX documents from within Vim
Вообще хорошая статья, спасибо. Поставил на неё ссылку в своём блоге. Опять возникло желание всё таки разобраться с vim-latex.
jetxee, спасибо за отзыв!
По поводу наличия vim-latex в репозитариях..я вкурсе..просто подумал, что на сайте всяко должна быть версия посвежее.
Хммм, а мне с \dots наоборот понравилось, хотя может просто малый опыт работы с LaTeX и этим пакетом.
Ух ты, класс! Обязательно попробую в этом разобраться.
Пост классный, но можно поподробнее про включение подсветки синтаксиса? У меня она не пашет :-(
Хорошо бы про vim-latexsuite поподробнее добавить. И буде просто шедевр.
Ещё раз спасибо!
virens,
> можно поподробнее
> про включение подсветки синтаксиса
Это достаточно странно, у мнея "из коробки" работает подсветка для файлов с расширением tex
VIM - Vi IMproved
version 7.0.122
> Хорошо бы про
> vim-latexsuite поподробнее
> добавить. И буде просто шедевр.
Ну тут уже спорно. Если подробнее что-то рассматривать, то лучше при этом иметь либо большой опыт работы с LaTeX либо время/желание его более глубоко изучить, используя Vim+Vim-Latex. Опыта у меня нет как такогового, мне просто было интересно ознакомиться для общего развития с этим "счастьем" :)
LaTeX пока что мне не нужен. Если есть желание, можете написать дополнения либо рекомендации, и их можно будет включить в этот "мини-хауту".
Ну или хотя бы более конкретные пожелания,а не просто поподробнее :)
Спасибо за статью, помогла понять, что такое Vim. Освоюсь скорее с ее помощью.
Константин.
уважаемый, pento, все поставил все заработало (под вистой :) кроме буквый 'й' - когда нажимаю происходит просто сдвиг влево может подскажите куда хоть копать то?
Спасибо большое за статью! По редактированию документов в латех и выбору редактора скоро что-нибудь образуется и у меня
http://ganqqwerty.spb.ru/doku.php?id=edu:other:latex
Константин Atick@pochta.ru, рад, что статья оказалась вам полезной
ditansu, честно говоря, без понятия, потому как давно не сижу под виндами и их просто нет под рукой )
GANQQWERTY, О, отлично! Желаю удачи! Продвинем LaTeX в массы ;)
Интересная статья, пойду разбираться с латехом. А что за шрифт у вас в виме?
Sophi, это Terminus =)
Спасибо за статью и вообще очень полезный ресурс. vim + LaTeX - это очень хорошо, но пробовали ли вы когда-нибудь LyX (http://www.lyx.org/)?
yegorich, lyx пробывал, но очень давно. Вернее тогда, когда использовал LaTeX для написания документов. Сейчас же полностью перешёл на RestructuredText.
Отправить комментарий