Опубликован: 28.04.2014 | Уровень: для всех | Доступ: свободно
Лекция 8:

LATEX

< Лекция 7 || Лекция 8: 12 || Лекция 9 >

Что такое LaTeX?

Презентация к лекции

LaTeX - это собирательное название для системы подготовки (верстки) документов. Она включает набор инструментов, которые из текстовых файлов, записанных с использованием специального языка разметки формирует готовые к печати документы (как правило в формате PDF). Собственно TeX - это низкоуровневый язык разметки и программирования который лежит в основе этой системы.

Почему LaTeX?

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

Такой подход отличается от используемого в WYSIWYG (What You See Is What You Get - что видишь, то и получишь) программах, таких, как Openoffice.org Writer или Microsoft Word.

В LaTeХ:

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

С другой стороны, у LaTeX есть и достоинства:

  • Оформление текста отделено от содержания. Вы полностью сосредотачиваетесь на структуре и содержании документа и забываете о том, как будет выглядеть печатный вариант.
  • Стиль, шрифты, оформление таблицы и рисунков т. д. согласованы во всём документе.
  • Одно и то же оформление можно использовать для любого числа документов.
  • Легко набирать математические формулы.
  • Легко создаются алфавитные указатели, сноски, ссылки и библиографические списки.
  • Большие документы можно разбивать на несколько файлов и работать с ними отдельно, в том числе с использованием систем управления версиями.
  • Вы не обязаны вручную настраивать шрифты, размер текста, высоту строк или читаемость текста - за всё это LaTeX отвечает сам.
  • Вам придётся правильно структурировать Ваш документ.
  • Файлы с исходными текстами можно просмотреть и изменить в любом текстовом редакторе.
  • Так как исходный документ содержит просто текст, с помощью программных средств на любом языке программирования можно создать таблицы, рисунки, формулы и т. д.

Подход LaTeX к созданию документа можно назвать WYSIWYM (What You See Is What You Mean - что видишь, то и думаешь): во время набора текста Вы не видите окончательный вариант документа, только логическую структуру этого документа. Об оформлении вместо Вас позаботится LaTeX.

WYSIWYG

WYSIWYG является аббревиатурой от англ. What You See Is What You Get, "что видишь, то и получишь") - свойство прикладных программ или вебинтерфейсов, в которых содержание отображается в процессе редактирования и выглядит максимально близко похожим на конечную продукцию, которая может быть печатным документом, веб-страницей или презентацией. В настоящее время для подобных программ также широко используется понятие "визуальный редактор".

История

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

Первой программой, использующей WYSIWYG считается текстовый редактор Bravo. Bravo был разработан в Xerox PARC для компьютеров Alto. Программа была разработана Батлером Лемпсоном (Butler Lampson), Чарльзом Симони (Charles Simonyi) и др. в 1974 году. Bravo не был выпущен на рынок, однако программное обеспечение компьютеров Xerox Star вероятно является прямым потомком этого редактора.

Параллельно с Bravo, но независимо от Xerox PARC, Hewlett Packard разработала и выпустила в конце 1978 года первую коммерческую программу, использующую WYSIWYG - приложение для создания диапозитивов или то, что сегодня называют презентационной графикой. Первый релиз программы, названной BRUNO, работал на миникомпьютерах HP 1000. BRUNO был портирован на HP 3000 и переиздан как "HP Draw".

В 1970-х - начале 1980-х популярным домашним компьютерам не хватало графических возможностей, необходимых для отображения WYSIWYG документов. Такие приложения, как правило, использовались достаточно редко, в основном на мощных рабочих станциях, которые были слишком дорогими для широкого распространения. Однако к середине 1980-х всё стало меняться. Улучшение технологии позволило производить дешевые графические дисплеи, и программы с WYSIWYG начали появляться на более дешёвых и популярных компьютерах, в том числе LisaWrite для Apple Lisa, выпущенный в 1983 году, и MacWrite для Apple Macintosh, выпущенный в 1984 году.

TeX

TeX - система компьютерной вёрстки, разработанная американским профессором информатики Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками. В частности, благодаря этим возможностям, TeX популярен в академических кругах, особенно среди математиков и физиков. Название произносится как "тех" (от греч.????? - "искусство", "мастерство"). В написании буква E опущена ниже T и X. В самой программе название форматируется как ???.

Тип MIME для TeX- application/x-tex.

TeX является свободным ПО.

История

Первый том книги "Искусство программирования" Д. Кнута был опубликован в 1969 году и печатался методом монотипии, технологии XIX века, которая давала на выходе издание в "хорошем классическом стиле", что нравилось Кнуту. Когда в 1976 году публиковалось второе издание второго тома, всю книгу пришлось набирать вновь, поскольку монотипия почти повсеместно была замещена фотографической техникой, и оригинальные шрифты больше не использовались. Однако 30 марта 1977 года, когда Кнут получил новые оттиски, он увидел, что они выглядят ужасно. Примерно в это же время Кнут впервые увидел результат работы высококачественной цифровой типографической системы и заинтересовался возможностями цифровой типографии. Не оправдавшие ожиданий оттиски дали ему дополнительный толчок к тому, чтобы, разработав свою типографическую систему, решить проблему раз и навсегда. 13 мая 1977 года он написал заметку самому себе, описывающую базовые возможности TeX'а.

Он планировал завершить систему во время своего творческого отпуска 1978 года, но финальная версия языка появилась на свет лишь в 1979 году. Летом 1978 года, когда Кнут писал первую версию TeX'а, в Стэнфорде находился Гай Стил. Осенью того же года он вернулся в MIT и переписал систему вводавывода TeX под операционную систему ITS. Первая версия TeX'а была написана на языке программирования SAIL и работала на PDP-10 под операционной системой WAITS. Для следующих версий Кнут изобрёл концепцию "грамотного программирования" (англ. literate programming), способ получения совместимого исходного кода и документации к нему (конечно, в виде текста на TeX'е) из одного и того же оригинального файла. Этот язык был назван WEB и производил программы на Паскале.

Новая, переписанная с нуля версия TeX'а, была издана в 1982 году и названа TeX82. Помимо других изменений первоначальный алгоритм переносов был заменён новым, написанным Франком Ляном (Frank Liang). Чтобы обеспечить воспроизводимость результата на различном оборудовании, вместо арифметики с плавающей запятой TeX82 использовал арифметику с фиксированной запятой. Помимо этого под нажимом Гая Стила в TeX82 появился настоящий язык программирования.

В 1989 году Дональд Кнут выпустил новые версии систем TeX и METAFONT. Вопреки своему желанию сохранить программу неизменной, Кнут осознал, что 128 различных символов недостаточно, чтобы обеспечить ввод текста на разных языках. Таким образом, главным изменением в версии 3.0 была возможность работать с 8-битными входными данными, которые позволяли использовать 256 различных символов.

С версии 3.0 TeX использует оригинальную систему нумерации версий: каждое обновление добавляет дополнительную десятичную цифру в конце номера версии так, что она асимптотически приближается к /pi. Это отражает тот факт, что текущая версия TeX'а - 3.1415926 - очень стабильна, и возможны лишь мелкие обновления. Последнее обновление было в марте 2008 года. На версии 3.0 дизайн системы был заморожен, поэтому добавление новой функциональности не планируется, и все новые версии будут содержать только исправления ошибок.

Математические формулы в TeX

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

Заучивать команды для математических символов в LaTeX не нужно - вы и так большинство команд запомните за их красивые и лаконичные названия. Едва ли вы испытаете серьёзные затруднения с названиями греческих букв $\alpha$, $\gamma$ или $\delta$. Основные математические символы тоже должны быть в вашей интегрированной среде, такие как столь любимые физиками приближённые равенства $\approx$ или интегралы с суммами.

Быстрый старт - набор простых формул

Формулы можно вставлять в строке или торжественно на отдельной строке, по центру и с номером. Малозначительные формулы типа $f(x) = a\cdot x + b$ вставляются, как правило, в строчку, а что-то серьёзное, вроде разложения в ряд Фурье:

  • \begin{equation}\label{eq:fourierrow}
  • f(x) = \frac{A_0}{2} + \sum \limits_{n=1}^{\infty} A_n \cos
  • \left( \frac{2 n \pi x}{\nu} - \alpha_n \right) o \end{equation}

оформляется с помощью окружения \begin{equation}\label{ссылка} ... \end{equation}.

Набранная формула выглядит так:

 f(x) = \frac{A_0}{2} + \sum \limits_{n=1}^{\infty} A_n \cos \left( \frac{2 n \pi x}{\nu} - \alpha_n \right)

При этом напротив неё будет помещён номер, сгенерированный автоматически. Для того, чтобы сослаться на эту формулу, в LaTeX тексте будем ставить (\ref{ссылка}) чтобы на неё сослаться. Имена ссылкам стоит давать на латиннице, во избежание проблем. Если формула приводится для пояснений и ссылаться на неё не надо, следует поставить после equation звёздочку, то есть equation* и после этого номер для данной формулы генерироваться не будет.

Смысл использования LaTeX - создание логичного, структурированного документа, а не каши из кривого оформления и потока сознания.

Ссылки должны быть осмысленными и безошибочно говорить автору текста, какая формула имеется в виду. Не стоит потворствовать лени и глупости, проявляющихся в ссылках типа \label{uravnenie6} - следует спросить себя, что означает эта формула и дать ей осмысленное имя.

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Алина Бёрнс
Алина Бёрнс
Ксения Птицына
Ксения Птицына

Когда можно будет пройти итоговую аттестацию 

Игорь Ананченко
Игорь Ананченко
Россия, Санкт-Петербург, Санкт-Петербургский государственный технологический институт (технический университет), 2015
Ангелина Димухамметова
Ангелина Димухамметова
Россия, Альметьевск