Перейти к содержанию

LaTeX/Введение

Материал из Викиучебника — открытых книг для открытого мира

Что такое TeX?

[править]

TeX — это низкоуровневый язык разметки и программирования, созданный Дональдом Кнутом для приятной и единообразной вёрстки документов. Кнут начал разрабатывать систему набора текста TeX в 1977 году для исследования потенциальных возможностей оборудования цифровой печати, которое в то время начинало проникать в издательское дело. Главным образом он надеялся улучшить качество печатной продукции, которое расстраивало в его собственных книгах и статьях. После выпуска в 1989 году поддержки восьмибитных символов разработка TeX приостановилась, только иногда выходили версии с исправленными ошибками.

TeX является языком программирования в том смысле, что он поддерживает конструкции if-else: их можно использовать при работе с документом (они выполняются при компиляции документа) и т.д. Однако с его помощью сложно сделать что-либо кроме вёрстки текста. Разделение структуры документа и его форматирования делает TeX мощным — и грозным — инструментом. TeX известен своей большой стабильностью, возможностью запуска на разных типах компьютеров, и практически полным отсутствием ошибок. Номера версий TeX являются знаками числа , текущая версия имеет номер 3.1415926.

Кнут, разработчик TeX, подразумевал произносить TeX как [тех], где звук [х] произносится как в слове "посох" или "Бах". Название составлено из заглавных греческих букв "тау", "эпсилон", "хи" и представляет собой сокращение греческого слова "τέχνη" (TEXNH — techne), имеющего два значения — искусство и ремесло — и являющегося корнем английского слова technical. Англоговорящие люди часто произносят его как /'tεk/ — первый слог слова technical.

Программирование на TeX характеризуется очень высоким уровнем технического опыта, и вначале потребуется много времени, чтобы собрать нужные макросы для форматирования текста. К счастью, существует система подготовки документа, основанная на системе TeX. Она содержит набор заготовок макросов, позволяющих сэкономить время, автоматизировать повторяющие определённым образом задачи, уменьшить количество ошибок пользователя. С другой стороны, за это приходится расплачиваться затратами на настройку полного шаблона. Один из наиболее популярных макропакетов называется LaTeX.

Что такое LaTeX?

[править]

LaTeX (произносится как "латех" или "лейтех") — основанный на TeX пакет макросов, созданный Лесли Лампортом. Основная цель — упростить вёрстку текста, особенно в документах с математическими формулами.

Значительно позднее авторы разработали для LaTeX расширения, которые называются пакетами или стилями. Некоторые из них распространяются вместе с большинством дистрибутивов TeX/LaTeX, подробности можно найти в CTAN (Comprehensive TeX Archive Network — полный сетевой архив TeX, CTAN). Сейчас LaTeX поддерживается проектом LaTeX3.

Так как LaTeX содержит часть команд TeX, то создание документа в LaTeX - тоже программирование: Вы создаёте текстовый файл в LaTeX разметке, макросы LaTeX обрабатывают его и производят конечный документ.

Документ LaTeX — обычный текстовый файл, в котором указано содержание документа вместе с дополнительной разметкой. При обработке исходного файла макросами LaTeX можно получить документ в разных форматах. Изначально LaTeX поддерживает форматы DVI и PDF, но при использовании другого ПО можно легко получить PostScript, PNG, JPG и т.д.

Что такое XeLaTeX?

[править]

XeLaTeX — TeX подобная и до некоторой степени совместимая система вёрстки XeTeX и набор классов XeLaTeX входящие в основные сборки TeX.

В отличие от классического TeX использует кодировку UTF-8 для входных файлов, что позволяет не заботиться о выборе нужной кодировки и свободно использовать спецсимволы и символы иностранных языков доступные в Unicode. XeLaTeX генерирует на выходе PDF минуя стадию DVI. Он поддерживает шрифты в форматах TrueType, OpenType и AAT, что позволяет использовать в документе большинство современных шрифтов. XeLaTeX поддерживает добавление в документ растровых изображений в таких форматах как, например JPEG и PNG. Следует отметить, что несмотря на поддержку Unicode, такие операции, как расстановка переносов и задание типографических правил для конкретного языка выполняются отдельным пакетом polyglossia.