Система компьютерной верстки тех. Работа в LaTeX

03.03.2019

Как рассказывалось в предыдущей статье , издательская платформа LaTeX - это не монолитная программа, а множество пакетов, к которым приложили свои усилия тысячи специалистов и рядовых пользователей.

Но для того чтобы иметь возможность быстро создавать документы неизвестной наперёд сложности, все эти пакеты по возможности необходимо собрать в единое целое, то есть сделать из них дистрибутив LaTeX. На данный момент фактически все существующие дистрибутивы LaTeX основаны на архиве пакетов CTAN .

TeX Live

Флагманом среди дистрибутивов LaTeX, распространяемых TeX User Groups , является дистрибутив TeX Live . С этим дистрибутивом идут исполняемые файлы для различных Unix/Linux-платформ, операционных систем Mac OS и MS Windows (всего 21 платформа). Если нужная платформа отсутствует в списке поддерживаемых, то можно собрать свой набор исполняемых файлов из предоставляемого исходного кода.

TeX Live - это свободное программное обеспечение. Разработчиками дистрибутива используется определение "свободы ПО", принятое Фондом свободного программного обеспечения или сообществом Debian с превалированием определения FSF.

Перед установкой дистрибутива имеет смысл ознакомиться с потенциальными проблемами , присутствующими в актуальной версии.

Если TeX Live не удаётся установить из стандартного репозитория или есть желание поставить самую свежую версию, то проще всего воспользоваться сетевой установкой , которая доступна для пользователей GNU/Linux и Windows.

В случае GNU/Linux установка выполняется следующим способом (если по какой-то причине не устраивает пакет texlive-full из стандартного репозитория):

> wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
> tar xfz install-tl-unx.tar.gz
> cd install-tl-20140701
> ./install-tl

По умолчанию установка в GNU/Linux проходит в текстовом режиме, а в Windows запустится графический установщик. Но его можно запустить и в Linux, если выполнить следующую команду:

> ./install-tl -gui perltk


Возможно, необходимо будет изменить размещение каталогов для установки дистрибутива, так как текущий пользователь не обязательно имеет права суперпользователя, и добавить символические ссылки на каталоги с программами. После этого следует начать установку, нажав клавишу I или соответствующую кнопочку. Загрузка и распаковка почти 4 ГБ займёт некоторое время.

Данный цикл статей по использованию LaTeX как раз будет базироваться на выпусках TeX Live 2013/2014. Ранее, на портале IBM developerWorks был подготовлен .

MiKTeX

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

В стандартный набор установки входит программа YAP для просмотра PostScript DVI.

MacTeX

В качестве основы используется база TeX Live. Кроме системы пакетирования, ориентированной на MacOS, дистрибутив отличается от TeX Live тем, что с ним поставляются несколько полезных программ для MacOS. Среди дополнительных программ особо следует отметить TeXShop , которая является, возможно, самым популярным специализированным редактором LaTeX для MacOS, и программу для управления библиографической информацией .

BaKoMa TeX

Хотя LaTeX - это свободная система, но это не мешает на ней зарабатывать. Василий Малышев поддерживает и продаёт дистрибутив BaKoMa TeX , который гордо называет "True WYSIWYG LaTeX System", что в некоторой степени является правдой.

Данный дистрибутив доступен для Windows, MacOS и GNU/Linux. Относительную уникальность дистрибутива обеспечивает программа BaKoMa TeX Word, который является синхронной смесью текстового и визуального редакторов. Изменения, вносимые в код, достаточно быстро отображаются в визуальной части и наоборот.


Так как цена дистрибутива довольно значительна, то перед покупкой дистрибутив можно скачать и ознакомиться с его возможностями. В случае 64-битной Ubuntu 12.04 установка дистрибутива выглядит примерно так:

> sudo apt-get install ia32-libs
> wget -O bakoma-tex.deb http://bakoma-tex.com/dist/linux-deb.php
> sudo -E dpkg -i --force-architecture bakoma-tex.deb

В дополнение к TeX Word с дистрибутивом идёт вполне стандартный LaTeX-редактор Centaur и программы для просмотра результатов компиляции, что позволяет работать с дистрибутивом классическим образом.

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

Заключение

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

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

Я не нашёл упоминаний на хабре про xetex, lualatex которые в кратком, сжатом виде рассказывали о том что это такое. Поэтому таким образом появилась данная идея: написать кратко об основных системах вёрcтки. И так начинаем по порядку.

TeX

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

LaTeX

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

XeTeX

Первый выпуск XeTeX состоялся в 2004 году, последняя версия появилась в сентябре 2010 года. Он использует Unicode. Позволяет использовать различные шрифты в системе, без настройки шрифтов TeX. Отдельной интересной особенностью является возможность использовать русскоязычные команды и макроопределения.
Приведём пример использования XeTeX, который собирается с использованием
xelatex:
\documentclass{article}
\usepackage{polyglossia}
\newcommand{\названиекоманды}
{
Параметр 1: #1

Параметр 2: #2
}
\begin{document}
\fontspec{Times New Roman}{Текст написан с использованием Times New Roman}

\fontspec{Verdana}{Текст написан с использованием Verdana}

\названиекоманды{Первый параметр}{Второй параметр}

Когда я писал курсовую по статистике у меня были мысли: Как можно сформировать
таблицу, где пара соседних столбов высчитывалась? Конечно когда я увидел, что
есть LuaTeX сразу подумал: Я ведь мог написать, что-то вроде:
\begin{table}
\directlua{
a={1,2,3}
b={1,2,3}
for x = 1,3
do
print(a[x].. " & "..b[x].." & ".. (a[x]+b[x]) .." \\")
end}
\end{table}
К сожалению увы данный код не работает. Данный продукт находиться в разработке и не вышло ни одного стабильного релиза на текущий момент. В LuaTeX Reference говорится, что продукт не готов к production, и пользователи не могут рассчитывать ни на стабильность, ни на то, что текущая функциональность будет сохранена в следующих версиях. (The current version of LuaTEX is not meant for production and users cannot depend on stability, nor on functionality staying the same.) На текущий момент можно к примеру сделать так:
... в теле документа...
\directlua{
for x =1,10
do
tex.write(x*x)
end
}
... конец документа...

BibTex

BibTex позволяет отделить список источников в отдельный файл(ы), от непосредственного его формирования в LaTeX"е. Его использование не составляет проблем: создаётся файл с расширением bib, где описываются источники (статьи, издания книги и другие типы источников). Потом в документе пишутся две команды: \bibliographystyle{gost71u} \bibliography{filename}, где непосредственно указывается: в первом случае это стиль оформления(можно выбрать разные стили оформления, например: без сортировки, по гостам, сортировка по фамилиям авторов и другие), во втором случае указывается имя bib файла без расширения.
В качестве примера приведём оформление вымышленной книги:
@Book{tag_vum,
author={Некий,вымышленный,персонаж and Фигзнаеткто,Ф.З.К.},
title={Мифическая книжка некоего мифического персонажа},
publisher={главное Юпитерское агенство},
year={12151 г. до н.э.},
address={Юпитер},
language={russian},
}
При этом результат и последовательность вывода этих параметров будет зависеть от стиля указанного в соответствующей переменной. При первом использовании gost71u столкнулся с проблемой кодировки в bib файле, а так же проблемой, что не выводились инициалы автора. Решение нашёл на linux.org.ru. Оно заключалось в том, что бы в файле (к примеру gost71u.bst) заменить "{vv~}{ll}{~jj}{~f.}" на "{vv~}{ll}{~jj}{~ff}". Когда искал решение для статьи нашёл мнение по данному решению: Так замена "{vv~}{ll}{~jj}{~f.}" на "{vv~}{ll}{~jj}{~ff}" убивает конвертацию из полного имени автора в bib файле в его инициалы в результирующем файле.

ConTeXt

К сожалению мне не удалось найти много информации на русском по ConTeXt, а писать, что это система вёрстки я не вижу смысла. Поэтому если кому-нибудь захочется больше о нём узнать, то можете обратиться к литературе с номерами 9,10,11.

Omega

Омега является расширением для TeX, которая использует юникод, которая была написана John Plaice и Yannis Haralambous, после заморозки TeX в 1991 году. Она включает новый 16 битный юникод, а так же несколько шрифтов, которые широко охватывают алфавиты. В 2004 году на конференции TeX Users Group один из двух разработчиков John Plaice решил отойти (split off) к новому проекту, который ещё не опубликован, Haralambous продолжал работать над Омегой. LaTeX для Omega - lambda.
Хотя проект Омега был перспективным его разработка шла медленно, а функциональность в значительной мере не стабильной. Отдельный проект был начать с целью стабилизировать код и использовать с e-Tex, название которого Aleph, во главе с Giuseppe Bilotta. Latex версия Aleph называется Lamed.
Aleph больше не развивается, но большинство его функциональности была интегрирована в LuaTeX, новый проект который финансируется Университета Штата Колорадо (через ориентированный TeX Project by Idris Samawi Hamid) и NTG.Разработка LuaTeX началась в 2006 году, первая бета версия летом 2007. Это приемник Aleph и Pdftex, используя Lua как интегрированный лёгкий язык программирования. LuaTex разработан Taco Hoekwater.
Это довольно вольный перевод статьи с английской википедии.

На протяжении всего учебного процесса, нам приходится сталкиваться с проблемами оформления сложных документов, будь то реферат по химии или физике, а может даже и по геометрии. Что говорить о рефератах, дипломных и курсовых работах, которые насчитывают, в среднем, более десятка страниц, но дело не объеме, а в содержании, в том, как «правильно» расставить\выровнять\расположить текст, изображения и формулы.

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

К такой системе, с уверенностью, можно отнести, многим уже известную систему компьютерной вёрстки, под названием TeX, которая, кстати, относится к свободному программному обеспечению. Это система была разработана американским профессором информатики, Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками. Многие считают TeX лучшим способом для набора сложных математических формул и с этим нельзя не согласиться. В частности, из-за этих возможностей, TeX популярен в академических кругах, особенно среди математиков и физиков.

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

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

Огромные возможности TeX предоставляют готовые наборы макросов и расширений, к ним можно отнести: LaTeX и AMS-TeX. В связи с тем, что само ядро TeX неизменно, все дополнения к нему, в том числе макрорасширения, пользовательские оболочки, драйверы, документация и т.д. и т.п., написанные другими авторами и предлагаемые вниманию пользователей, должны носить другие имена (в которые обычно включается название TeX – прим. автора) и могут быть свободно распространяемыми, но кроме этого, и коммерческими продуктами.

При использовании пакета расширения LaTeX можно превратить разросшуюся статью в книгу изменением одного слова в исходнике, вставлять оглавление одной командой, не задумываться о нумерации разделов, теорем, рисунков. Есть много пакетов для оформления химических формул (например, пакет XymTeX), диаграмм (xypic), создания презентаций и визитных карточек и тому подобного. Чтобы создавать шрифты, с помощью TeX, была придумана система - METAFONT, в которой шрифты описываются программами на специализированном языке Meta. Могут также использоваться векторные шрифты в формате PostScript Type 1, TrueType и OpenType.

Немного истории

Каждый человек - лентяй, по своей натуре, и именно поэтому, каждый из нас стремиться оптимизировать свою работу на столько, на сколько это возможно. Есть, конечно, те, кто просто ленится, а есть те, кто созидает во благо себе и остальных, естественно с целью избавления, себя любимых, от рутинной работы.

После того, как Д.Кнуту пришлось заново набирать второе издание второго тома книги «Искусство программирования», у него родилась идея создания собственной типографической системы. Все это благодаря вмешательству прогресса - монотипия была замещена фотографической техникой, и оригинальные шрифты больше не использовались, и в связи с этим приходилось заново набирать весь текст. Заинтересовавшись возможностями цифровой типографии, Д.Кнут, в своих заметках, начал описывать базовые возможности TeX (13 мая 1977).
Первая версия системы TeX, появилась в 1979 году, в 1982 году выходит новая версия, которая была переписана заново и называлась TeX82. В разработке языка принимали участие знаменитые ученые - Франк Лян, Гай Стил. Благодаря пытливым и находчивым умам, язык Tex все больше и больше принимал вид той системы, которая отвечает необходимым требованиям. В последнее время обновления практически не происходят (может, если только очень мелкие), основной упор стоит на исправлении ошибок. Последнее обновление датируется 2008 годом и это третья версия TeX.

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

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

Пришел момент, когда немного стоит окунуться в сам язык разметки. На небольших примерах посмотрим, что же он из себя представляет. Конкретно, обратимся к языку LaTeX, как к одному из более известных и популярных микропакетов. Первое правило гласит, что все команды начинаются с обратного слеша, обязательные параметры заключаются в фигурные скобки, а необязательные – в квадратные. Для определения того, что документ имеет разметку и относится к какому-либо классу, существует команда \documentclass, в обязательных параметрах указывается один из следующих классов:

article - короткая статья;
report - длинная статья, с главами
book - книга
slides - набор слайдов
letter - письмо

Конструкция, вида \begin{document} … \end{document}, говорит о том, что это тело документа. LaTeX отображает данные заключенные в этой конструкции, но кроме того, в преамбуле (все, что находится перед командой \begin{document}) могут задаваться, кроме класса документа, используемые пакеты (команда \usepackage), автор (команда \author), название документа (команда \title), дата создания (\date) и т. д.

Например, код ниже, наглядно продемонстрирует нам, что документ выводит на печать слово «vr-online - сегодня», заглавие которого будет следующим – «Пример вывода текста».

\documentclass{article} % Это комментарий! \usepackage{babel} % Пакет поддержки русского языка \title{Пример вывода текста} % Заглавие документа \begin{document} vr-online – сегодня \end{document}

Текст не выводится в оригинальном виде, а форматируется следующим образом:

Два или больше пробелов эквивалентно одному пробелу.
- Перевод строк, с любым количеством пробелов перед и после него, эквивалентен пробелу.
- Пустая строка или строка, содержащая только пробелы, начинает новый абзац.

Немного усложним задачу и попробуем вывести матрицу (матрица состоит из n-ого количества строк и столбцов.) – подключаем пакет - \usepackage{mathtext}. Чтобы составить матрицу нужно воспользоваться конструкцией «\begin» … «\end» и применить окружение «array». При этом, стоит четко запомнить, что формулы внутри текста надо размещать между командами «\(« и «\)» или в окружении math (между «\begin{math}» и «\end{math}»), или выделять с обеих сторон знаками доллара «$»:

Вышеприведенная матрица будет печататься без порядкового номера, и располагаться в отдельной строке, благодаря командам - «\[« и «\]». Количество столбцов мы задаем с помощью аргумента {сссс}, по количеству «с». Этот аргумент центрирует значения, но кроме «с» есть – «l» (выравнивание по левой стороне) и «r» (выравнивание по правой стороне). Каждая строка, обязательно должна заканчиваться командой «\\», кроме последней, а элементы внутри одной строки, относящиеся к разным столбцам, отделяются друг от друга символами «&». Команды \vdots, \ddots и \ldots задают различные виды многоточий, и как вы, наверное, догадались, нижние индексы обозначают командой подчеркивания – «_». Легко ли будет в будущем ее редактировать? Можете не отвечать, ответ итак известен.

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

Высококачественные алгоритмы расстановки переносов, определения междусловных пробелов, балансировки текста в абзацах;

Автоматическая генерация содержания, списка иллюстраций, таблиц и т. д.;

Удобный механизм работы с перекрёстными ссылками на формулы, таблицы, иллюстрации, их номер или страницу;

Удобный механизм цитирования библиографических источников, работы с библиографическими картотеками;

Размещение иллюстраций (иллюстрации, таблицы и подписи к ним автоматически размещаются на странице и нумеруются);

Оформление математических формул (очень качественное их отображение, нумерация с учётом односторонности/двусторонности печати документа), возможность набирать многострочные формулы, большой выбор математических символов;

Оформление химических формул и структурных схем молекул органической и неорганической химии;

Оформление графов, схем, диаграмм, синтаксических графов;

Оформление алгоритмов, исходных текстов программ (которые могут включаться в текст непосредственно из своих файлов) с синтаксической подсветкой;

Разбивка документа на отдельные части (тематические карты).

Благодаря лицензии LPPL и тому, что данный язык относится к свободному программному обеспечению, мы можем видеть, как этот язык превратился в нечто масштабное и действительно необходимую систему, которая способна облегчить многим их рутинную работу.
На этой положительной ноте, я надеюсь закончить свое повествование, а в следующих выпусках журнала мы продолжим наше знакомство с этим, удивительно интересным языком разметки. Я надеюсь, у тебя появились вопросы или замечания, а может и предложения относительно этой статьи – не стесняйся, пиши мне или на форму сайта сайт, и твои messages, будь уверен, не останутся без ответа.

Формулы: http://ru.wikipedia.org/wiki/Википедия:Формулы
Официальный сайт: http://www.latex-project.org/
Документация TeX: http://www.nsc.ru/TeX/
«Не очень краткое введение в LATEX2e»: http://www.nsc.ru/win/docs/TeX/Tobias/lshort2e.html

Written by: Антон Козлов aka JimmyJonezz

Лабораторная работа №1.

Введение в LATEX.

1. Входные файлы LATEX.

Исходными данными для LATEX является обычный текстовый файл с расширением.tex. Его можно создать в любом текстовом редакторе (блокнот, Microsoft Word, встроенный редактор Far и пр.). Он содержит текст документа вместе с командами, указывающими LATEX, каким образом верстать текст.

2. Структура входного файла.

Каждый документ LATEX должен следовать определенной структуре. Так, каждый входной файл должен начинаться с команды:

\documentclass[...]{...}

Она указывает, документ какого типа вы собираетесь писать. В квадратных скобках указываются параметры команды, в фигурных скобках указывается тип документа. После этого, вы можете включать команды, влияющие на стиль документа в целом, или загружать пакеты, добавляющие новые возможности в систему LATEX. Для загрузки такого пакета используется команда:

\usepackage{...}

Когда настройка закончена, начинается тело документа командой:

Любой текст, который следует после неё LATEX игнорирует. На рис. 1 представлено содержимое минимального файла LATEX.

Рис. 1. Минимальный входной файл LATEX.

Область между командами \documentclass{} и \begin{document} называется преамбулой .

Область между командами \begin{document} и \end{document} называется телом документа .

3. Компиляция pdf-документа из входного файла.

Создание pdf-документа по входному файлу выполняется в два шага:Шаг 1. В командной строке выполните команду:

latex <имя входного файла без расширения>

Команда преобразует входной файл в файл формата dvi (Device Independent), пригодный к распечатке.

В настоящее время файлы формата dvi используются для предпросмотра итогового документа. Файл dvi можно просмотреть при помощи утилиты Yap, распространяемой вместе с дистрибутивом MikTeX.

Шаг 2. В командной строке выполните команду:dvipdfm <имя бинарного файла документа>

Команда создает итоговый pdf-документ.

1. Создайте TEX-документ в любом текстовом редакторе (например, простой текстовый редактор с подсветкой синтаксиса - notepad++).

Поместите в тело документа следующий текст:

TeX - это компьютерная программа, созданная Дональдом Кнутом (Donald E. Knuth). Она предназначена для вёрстки текста и математических формул. Кнут начал писать TeX в 1977 году из-за расстройства от того, что Американское Математическое Сообщество делало с его статьями в

процессе их публикации. Где-то в 1974 году он даже прекратил посылать статьи: "Просто мне было слишком больно смотреть на конечный результат". TeX, в том виде, в котором мы его используем, был выпущен в 1982 году и слегка улучшен с годами. Последние несколько лет TeX стал чрезвычайно стабилен. Кнут утверждает, что в нем практически нет ошибок. Номер версии TeX сходится к Pi и сейчас равен 3.14159. TeX произносится как "TeX".

Выполните компиляцию документа, создайте dvi-файл. log-файл содержит протокол компиляции. Откройте программу предпросмотра dvi-файлов Previewer и просмотрите результат.

Для отображения русского текста необходимо подключить пакет babel c параметромrussian и пакетinputenc с параметромcp1251 . Изучите справку по команде \usepackage{} и подключите пакеты babel и inputenc в вашем исходном файле. Выполните компиляцию. Проверьте полученный результат.

2. Выполните оформление документа:

Замените везде в тексте слово TeX на официальный логотип T E X. Для этого воспользуйтесь командой\TeX .

Вместо текстовых кавычек (" ") воспользуйтесь принятыми в России французскими кавычками («»). Для этого используйте команды "< и "> .

Замените там, где это необходимо, дефис (-) на длинное тире (–). Для этого воспользуйтесь командой \---.

Замените в тексте слово «Pi» на математический символ π (изучите раздел «Формулы

внутри текста» руководства из списка литературы). Проверьте полученный результат.

3. Поместите в конец тела исходного файла формулу:

\begin{equation}

\int \limits_S \left(\frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right)\, dx \, dy =\oint \limits_C P\,dx + Q \, dy

Изучите справку по параметрам команды \documentclass. Посмотрите, какое влияние на внешний вид документа оказывают необязательные параметры twocolumn, leqno, fleqn.

4. Используя любое из предложенных учебных пособий по TEX измените стиль шрифта для фамилии автора TeX на курсивный, стиль шрифта текста цитаты на полужирный, а текст, описывающий назначение TeX - наклонным стилем.

5. Запрограммируйте в отдельном документе формулы интегрирования суммы ((u v ) u v ) и разности двух функций ((u v ) u v ), а также правило интегрирования

функции, умноженной на постоянную ((Cu ) Cu ) (формулы должны располагаться в

отдельных строках и пронумерованы автонумерацией).

6. Изучите раздел 2 учебного пособия . Ответьте на следующие контрольные вопросы

письменно :

Контрольные вопросы:

1. Что нужно изменить в тексте документа, если вы планируете использовать кодировку

2. Что такое символы группирования "{" и "}"? Для чего они используются в TEX?

3. Что такое окружения, для чего они используются в TEX?

4. Что такое параметры команды TEX?

5. Что означает команда \documentclass? Какие существуют параметры команды \documentclass. Как при помощи данной команды выставить основной шрифт документа размером 14 пт.

Лабораторная работа №2.

Структура документа LATEX.

1. Введение.

Как правило, большинство документов, таких как книги, технические отчёты, научные статьи, имеют следующий стандартный набор компонентов:

 Заголовок.

 Аннотация.

Основной текст, состоящий из разделов, каждый из которых начинается с заголовка.

Список использованной литературы.

На рисунке представлен пример простого документа с описанной выше структурой.

Изучите раздел 2 «Печатный документ» справочника . Оформите в среде LATEX документ, содержащий следующие элементы:

Заголовок - название, список авторов, сноска к названию статьи (воспользуйтесь командой \maketitle)

Аннотация (воспользуйтесь командными скобками \begin{abstract} \end{abstract})

Основной текст, состоящий из разделов, каждый из которых начинается с заголовка (для вставки заголовка раздела используйте команду \section{})

Список использованной литературы. (Воспользуйтесь командными скобками

\begin{thebibliography}{<Отступ>} \end{thebibliography}).

Для оформления можно использовать предлагаемый документ и использовать его как образец. Сформируйте dvi-документ.

Примечание . При необходимости, если LATEX не может грамотно выполнить перенос в документе, вставляйте перенос вручную (команда "\-" указывает LATEX те места в слове, где можно делать перенос). Заметьте, что данная команда является только рекомандацией и LATEX может её игнорировать. Команда "\\" обрывает вёрстку текущей строки и начинает новую строку. Применяется для разбиения длинных названий на строки.

В начале каждого абзаца необходимо вставлять команду "\par". Данная команда предписывает LATEX выполнить перенос строки и сделать абзацный отступ.

Лабораторная работа №3.

Разметка документа.

1. Единицы измерения.

В системе LATEX размеры можно задавать различными способами.

Пункты и пики - традиционные единицы измерения для печатников и наборщиков в тех странах, где основной язык - английский, поэтому TEX понимает пункты и пики. Дюймы и метрические единицы TEX понимает с таким же успехом, как пункты и пики в континентальной Европе. Каждая единица измерения обозначается следующей аббревиатурой из двух букв:

Результат работы системы TEX основан на метрической системе мер, используемые коэффициенты перехода от одной меры кдругой приведены в виде точных соотношений. Размер страницы формата А4 равен 21cm X 29,7cm.

2. Разметка страницы.

Страница в печатном документе состоит из трех частей: верхнего колонтитула, тела страницы и нижнего колонтитула. В тело страницы входит всё, что находится между колонтитулами: текст, подстрочные примечания (сноски), рисунки и таблицы. Класс печатного документа задаёт размеры всех частей страницы, а также содержание колонтитулов. При двусторонней печати страницы делятся на левые и правые. На левых страницах, располагаются страницы документа с чётными номерами, на правых - с нечётными. Колонтитулы и размеры левых и правых страниц могут различаться. При односторонней печати, все страницы считаются правыми.

Команды разметки страницы документа устанавливаются в преамбуле документа.

Основные команды разметки :

По вертикали:

 Команда \topmargin задаёт верхнее поле страницы. При этом поле отсчитывается не от левого края листа, а от линии, параллельной краю листа и отстоящей от него на 1 дюйм. Таким образом, если в преамбуле документа задать команду \topmargin=0pt

то отступ от края листа будет составлять 2.54 см. Для того, чтобы задавать отступы от края листа меньшие 2,54 см, необходимо задавать команде \topmargin отрицательные значения.

 Команда \headheight задает высоту колонтитула

 Команда \ headsep задаёт отступ тела документа от колонтитула

 Команда \ textheight задает высоту тела документа

 Команда \ footskip задаёт расстояние между базисной линией (см. , глава VIII «Блоки и

клей») последней строки в теле страницы и базисной линией нижнего колонтитула.

По горизонтали:

 Команды \ oddsidemargin и \evensidemargin задают левое поле страницы для нечётных и чётных страниц соответственно. При односторонней печати левое поле задаёт команда \oddsidemargin. Как и в случае с вехним полем, рассчёт идёт не от края листа, а от линии, параллельной краю, и отстоящей от края на 1 дюйм.

 Команда \ textwidth задаёт ширину тела документа.

3. Колонтитулы.

\pagestyle{style} - задает стиль каждой страницы документа \thispagestyle{style} - задает стиль текущей страницы в документе.

plain - верхний колонтитул пуст. Печатает номер страницы по центру нижнего колонтитула.

empty - верхний и нижний колонтитулы пусты.

headings - название секции и номер страницы печатается в верхнем колонтитуле. Нижний колонтитул пуст.

myheadings - нижний колонтитул пуст. В верхнем колонтитуле печатаются аргументы команд \markboth{} и \markright{}.

Стиль колонтитулов можно переопределять и делать сколь угодно сложным. Для этого используется команда \renewcommand{}{}. Первый параметр - переопределяемая команда с символом @ вначале (Например, \@oddhead). Второй параметр - набор команд, которые реализуют данную команду.

Например, если переопределить команду \@oddhead следующим образом: \renewcommand{\@oddhead}{\thepage\hfil} - в верхний колонтитул будет вставляться номер

страницы с выравниванием по левому краю.

если переопределить команду \@oddfoot следующим образом:

\renewcommand{\@oddfoot}{\hfil WOW!\hfil} - по центру нижнего колонтитула будет вставляться надпись "WOW!"

Следует заметить, что команду переопределения колонтитулов необходимо вставить до команды \begin{document}. Для этого можно создать свой стилевой файл (файл с расширением *.sty), поместить в него команду \ProvidesPackage{<Название файла стилевого пакета без расширения>} и добавить необходимые команды для переопределения колонтитулов. После этого можно использовать данный стилевой файл как обычный пакет (подключать командой \usepackage). Все переопределенные в данном стилевом файле команды будут автоматически изменять вид основного документа.

1. Установите команды разметки в документе, созданном в предыдущей лабораторной работе, таким образом, чтобы отступ основного текста от краёв документа был следующим:

слева: 2,5 см. справа: 1,5 см. сверху: 2 см.

снизу: 2 см.

Для измерения расстояний в dvi-документе можно использовать программу cruler (линейка), либо инструмент ruler программы просмотра dvi-документов Yap. Единицы измерения на линейке выставляются в параметрах просмотра.

Текущие значения параметров разметки страницы можно узнать при помощи пакета layout. Команда \layout печатает макет той страницы, на которой она находится, с указанием значений всех параметров разметки.

2.Установите следующий стиль колонтитулов в документе: первая страница не имеет колонтитулов. Каждая последующая страница имеет колонтитул со следующей структурой:

<Мой первый колонтитул в TEXе!> <Номер страницы> Причём надпись выравнивается по левому краю, а номер страницы - по правому краю.

Для выполнения задания используйте команду задания стиля страницы \pagestyle и команду переопределения колонтитулов \markright.

3. Добавьте ещё несколько разделов в документ (можно взять отсюда). Оформите новые разделы в соответствии с теми же правилами, что и остальной текст документа.

4. Сформируйте колонтитулы таким образом, чтобы в колонтитулах вместо надписи <Мой первый колонтитул в TEXе!> пропечатывалось название раздела, расположенного на данной странице.

5. Измените колонитулы таким образом, чтобы колонтитулы первой страницы выглядели следующим образом:

<ЮУрГУ> <Номер страницы> Причём надпись <ЮУрГУ> выравнивается по левому краю, а номер страницы - по правому краю. Колонтитулы остальных страниц остаются в точности такими же, как после выполнения задания 3.

6. Сформируйте колонтитулы таким образом, чтобы в нижнем колонтитуле пропечатывался номер страницы по левому краю, дата по центру и название документа по правому краю. Верхний колонтитул остаётся пустым.

Лабораторная работа №4.

Форматирование текста.

1. Позиционирование текста.

Абзац начинается командой \par , которая осуществляет перевод строки, выполняет вертикальный отступ (величина которого задается переменной\parskip ) и делает для первой строки абзаца отступ от левого края абзаца (величина которого задается переменной\parindent ).

Все строки в командных скобках \begin{center} \end{center} или в области действия декларации \centering центрируются.

Строки в командных скобках \begin{flushleft} \end{flushleft} или в области действия декларации \raggedright прижимаются к левому краю страницы.

Строки в командных скобках \begin{flushright} \end{flushright} или в области действия декларации \raggedleft прижимаются к правому краю страницы.

Для ручной вставки горизонтального или вертикального промежутка необходимо использовать команду \hspace{<размер>} или \vspace{<размер>}.

2. Списки.

Маркированный список создаётся при помощи окружения \begin{itemize} \end{itemize} Каждый элемент списка начинается с команды \item. Например:

\begin{itemize} \itemПервый элемент \itemВторой элемент \itemТретий элемент

Допускаются вложенные списки четырех уровней. Перед каждым из элементов печатается установленный по умолчанию маркёр.

По умолчанию, для маркированного списка первого уровня устанавливается маркер " ". Для второго уровня - "-"

Для третьего уровня - "*" Для четвертого уровня - "."

Вид маркёра задаётся переменными \labelitemi, \labelitemii, \labelitemiii, \labelitemiv для списков первого, второго, третьего и четвертого уровня соответственно.

Нумерованный список создаётся при помощи окружения \begin{enumerate} \end{enumerate}

В книгах, отчётах и статьях часто востречются ссылки на некоторые элементы документа. Команда \label{name} помечает объект, после которого установлена команда, меткойname (метка должна быть уникальной).

Например , \section{Глава 1}\label{B_Section1} - пометит раздел в документе.

Команда \ref{name} печатает порядковый номер объекта, помеченного меткой name. Для каждого класса объектов ведется свой счетчик объектов. Объектом может быть например рисунок, таблица, раздел, подраздел и т.д. Объекты нумеруются в порядке их появления в документе.

Например , \ref{B_Section1} напечатает порядковый номер раздела "Глава 1".

Например , если источник литературы задан следующим образом:

\bibitem{B_Gergel} Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. - Н.Новгород, ННГУ, 2001

тогда команда \cite{B_Gergel} заставит TEX вставить в основной текст ссылку на данный источник в формате:

[<Порядковый номер источника в списке литературы>]

4. Переопределение команд.

Для определения новой команды LATEX используется команда \newcommand{}{} (для переопределения команды используется команда \renewcommand{}{} c той же семантикой). В первом обязательном параметре указывается команда, которую необходимо переопределить. Во втором обязательном параметре указывается набор команд, который будет вставляться в текст документа вместо переопределяемой команды. В квадратных скобках указывается количество параметров, которые можно передать команде. Эти параметры можно использовать во втором обязательном параметре в виде #1, #2 и т.д. Например , определим в преамбуле документа команду:

\newcommand{\newtext}{\par Параметр 1 равен #1; Параметр 2 равен #2\par} \makeatother

Команды \makeatletter и \makeatother необходимы только в том случае, когда команды \newcommand и \renewcommand помещаются в преамбуле документа, а не в стилевом файле.

Теперь в теле документа можно вставлять конструкцию \newtext{<параметр 1>}{<параметр 2>} Например, вставив в текст документа команду:

\newtext{123}{234}

получим результат:

"Параметр 1 равен 123; Параметр 2 равен 234"

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

Приведем пример. Необходимо изменить формат номера в списке литературы Вместо того, чтобы заключать порядковый номер в квадратные скобки, нумерация будет производиться в соответствии с форматом: "<номер><точка> <Источник литературы>" - так, как принято в России.

Известно, что строка источника литературы формируется командой \bibitem, которая является макросом, выполняющим следующие действия:

1. В строку помещается значение переменной \@biblabel{}. TEX передает в качестве параметра этой команде метку, заданную командой \bibitem{}

2. В строку помещается текст, следующий в тексте за командой \bibitem

3. В строку вставляется символ конца абзаца.

Таким образом, в pdf-варианте получаем примерно следующее:

Чтобы избавиться от промежутка перед номером и привести формат номера к виду "<номер><точка><источник>" необходимо переопределить команду \@biblabel следующим образом:

\makeatletter \renewcommand{\@biblabel}{#1. \hfill} \makeatother

Команду переопределения нужно помещать либо в преамбулу документа, либо в стилевой файл.

1.Создайте TEX-документ и отформатируйте предложенный текст (Приложение№1 ) в соответствии со следующими правилами:

Оформление основного текста:

 абзацный отступ - 1,25 см.

первый абзац раздела не имеет абзацного отступа

маркированные списки помечаются маркёром "-" (необходимо переопределить команду

интервал между абзацами - 6pt.

выравнивание абзаца - по левому краю.

Оформление заголовка раздела:

выравнивание заголовка раздела по левому краю.

отступ сверху и снизу заголовка раздела - 6pt.

размер шрифта заголовка - 14pt.

3. Прочитайте раздел 14.2 из . Сформируйте окружение paragraph, которое реализует требования к оформлению основного текста, описанные в пункте 1.

4. Письменно ответьте на вопросы:

1. Каким образом можно задать область действия декларации \centering?

2. Что такое блоки в TEX?

3. Что такое клей?

4. Для чего предназначены команды \hbox и \mbox?

5. Каким образом можно вставить в основной текст документа ссылку сразу на несколько источников литературы в виде ?