Набор простейших документовСначала поговорим о том, чем является TeX. Сразу же оговорюсь, что произносится это слово не как "текс", а именно как "тех". Объясняется это (по словам автора, Дональда Кнута), тем, что TeX есть сокращение от греческого слова, от которого происходит слово technology (так же Кнут обращает внимание на то, что это греческое слово еще обозначает искусство). Поэтому X в слове TeX есть не "заглавное икс" а греческое "заглавное хи". Кроме того, буква E в слове TeX, если правильно записывать название программы, немного ниже букв T и X, т.е. на самом деле логотип выглядит примерно так: TEX. В случае, когда такой набор невозможен, используют запись "TeX". Я тоже буду придерживаться последнего набора, потому что TEX не так хорошо смотрится на web-страничке. TeX делает следующую вещь: он расставляет входные символы имеющихся в наличии шрифтов таким образом, что бы получилась хорошо набранная страница. При этом он оперирует таким понятием, как "клей", т.е. такая субстанция, которая имеет параметры растяжения и сжатия, находящаяся между символами, что позволяет нужным образом их расставить. Кстати сказать, если нет никакой возможности с заданными ограничениями на клей расставить слова таким образом, что бы получился ровный правый край абзаца, то TeX (в отличие от WinWord) ровного края не сделает. По той простой причине, что он прежде всего пытается сделать так, что бы документ читался, а неровный правый край не такое большое прегрешение, как, например, слишком большие промежутки между словами.
Кроме того, у TeX есть собственный язык макросов, который
позволяет какие-то рутинные операции описать один раз
и потом использовать по их псевдониму. Это значит,
что если вы пользуетесь для выделения своих заголовоков в тексте
какими-то измененными параметрами шрифтов, то вы можете
вынести их в макрос (например,
\header{Заголовок}
Обычный текст.
Не надо ждать от макроязыка TeX'а чего-то такого, что присуще настоящим языкам программирования, Кнут не ставил перед собой цель создать язык программирования. Поэтому этого всего-лишь макросы, т.е. средства для того, что бы сократить количество набираемых параметров. Тем не менее, эти макросы позволили применить к документу так называемую "ортогональную" разметку. Что это значит? Это значит, что можно описать каким-то образом в некотором, называемом стилевым, файле все макросы, которые имеют отношение к логической структуре документа. Т.е., заголовки, сноски, перечисления и т.д. Это позволит разделить оформление и непосредственное содержание документа, что и называется ортогональной разметкой документа. Ортогональная разметка документа позволяет сделать так, что автор документа может не задумываться об оформлении и сосредоточить все свои усилия на содержании. Это очень удобно --- потому что, если он будет постоянно задумываться о том, как ему оформить тот или иной элемент документа, то он будет одновременно делать две работы: писателя и дизайнера. А дизайнер, как я уже говорил, это отдельная профессия и зря кто-то думает, что простая. Впоследствии, сам автор может отредактировать стилевой файл таким образом, что бы получить наилучшие результаты, или отдать документ специалисту по верстке, который сделает так, что бы документ хорошо выглядел. Вообще, TeX занимается тем, что по исходным файлам, содержащим необходимые макроопределения и, собственно, исходный текст документа, строит так называемый dvi-файл, т.е. файл, готовый к отображению и не зависящий от вида устройства, на котором он будет отображаться. На самом деле, в формате этого файла некоторые моменты были упущены (например, цвет) и это пришлось вводить в виде специальных указаний к программам, которые dvi просматирвают или печатают. В итоге, появилось несколько семейств популярных специальных указаний и смысл dvi-файлов несколько потерялся. Вообще говоря, именно по этой причине на текущий момент непосредственно dvi практически уже не используется --- его заменили форматы ps (postscript) и pdf (portable document format) от Adobe. Существуют программы перевода dvi в эти форматы и варианты TeX'а, которые сразу же создают их. Кроме переносимости, использование pdf и ps дает возможность вставлять Type1 и TrueType шрифты в документы (в отличие от используемых в TeX растровых шрифтов, создаваемых из векторных программой METAFONT). Кроме того, TeX дает возможность очень просто и удобно набирать математические формулы --- каждый, кто хоть раз пробовал пользоваться, к примеру, MS Equation, прекрасно понимает, что я имею в виду. Но хватит лирики, перейдем к рассмотрению какого-нибудь примера. Установить какой-нибудь пакет TeX совсем не сложно, поэтому я не буду об этом сильно распространяться. На первое время достаточно знаний о том, что если он у вас установлен, то каталог, содержащий исполняемые файлы, должен быть доступен по переменной пути, иначе им будет совсем неудобно пользоваться. После того, как TeX установлен, надо произвести некоторые телодвижения для того, что бы он правильно понимал русские буквы. Надо сказать, что я не буду ничего упоминать про внутренности TeX'а и буду рассказывать только про LaTeX (а не Plain TeX), по той причине, что я считаю его более приспособленым к использованию большинством пользователей. LaTeX представляет из себя внушительный набор макросов для TeX'а, котрые берут на себя практически всю работу по оформлению документа. В нем продумана система классов документов, что позволяет единым образом изменять внешний образ документов --- в результате этого научные журналы очень просто обрабатывают присылаемые им статьи; ведь им достаточно сменить класс документа на свой собственный, после чего они получат набранную страницу.
Для того, что бы настроить LaTeX версии 2e на то, что
бы он понимал русский текст (в данном случае, все сводится
к таблицам русских переносов), надо найти файл,
который находится внутри дерева TeX (обычно
называется russian ruhyphen.tex
После этого надо будет перекомпилировать стилевые файлы. Обычно для этого
достаточно набрать команду Для того, что бы работать с TeX'ом, нужно иметь текстовый редактор, который сохраняет файлы в естественном для них виде. Например, для Win32 notepad или редактор FAR'а; существуют специализированные редакторы, например, WeinEdt. Я же сам использую XEmacs для этой цели (да и не только для нее; XEmacs'ом я пользуюсь везде и для всего: редактирования программ, html, ...) WinWord, наверное, лучше не использовать. Хотя, быть может, и есть эстеты... В этом редакторе надо набрать (или просто скопировать) следующий текст:
\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\begin{document}
Привет, мир!
\end{document}
Первая строчка в этом файле задает класс документа --- это как раз
и есть пример ортогональной разметки документа. В стандартной
поставке, кроме Во второй строчке находится указание на использование некоторого пакета. В данном случае, оно обязательно, поскольку у русского языка существует много кодировок, поэтому необходимо выставить соответствие между буквами шрифта и символами входного потока. То, что находится внутри фигурных скобок --- название пакета; в данном случае это пакет, который изменяет кодировку (на самом деле, он делает немного другое, но это пока что не важно). В квадратных скобках --- параметры пакета. В данном случае, задает кодировку (cp1251, cp866, koi8-r и т.д.). В принципе, можно менять кодировку документа и внутри, используя для разных отрезков документа различную кодировку... наверняка, это вам не особенно понадобится, обычно эта возможность используется для включения в текст других файлов. В данном случае используется перекодировка при помощи макропакета. На самом деле, последние модификации TeX'а позволяют сделать перекодировку еще до того момента, когда файл будет обрабатываться макросами и это, вообще говоря, быстрее (механизм tcx). Но, я думаю, не особенно нужно. Третья строка (это опять использование пакета) задает язык документа. Это, во-первых, включает использование конкретной таблицы переносов и, во-вторых, задает различные национальные форматы (например, названия "Глава", "Содержание"). В принципе, аргумент может задавать несколько языков одновременно (например, русский и английский), но тогда надо будет явно указывать, какой текст является русским, а какой --- английским.
Пара Текст на пятой строчке и есть документ. Теперь, после того, как будет запущена команда: latex test
подразумевая, что файл был сохранен под названием Теперь о том, как набирать простые документы. Во-первых, абзацы разбиваются между собой пустыми строками, например: Текст первого абзаца. Текст второго абзаца. Пустая строка говорит TeX'у, что в этом месте надо закончить один абзац, и начать второй. Обычно это заключается в том, что он пропустит некоторое расстояние по вертикали, сделает соответствующий отступ в начале следующей строки.
Во-вторых, надо запомнить названия логических атрибутов для заголовков. Вот они:
\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\begin{document}
\section{Первый раздел}
Первый абзац.
Второй абзац.
\section{Подраздел}
Привет, мир!
\section{Второй раздел}
Третий абзац.
Четвертый абзац.
\end{document}
Рекомендую еще раз скомпилировать этот документ и посмотреть на результаты. В третьих, вам обязательно понадобятся титульная страница и содержание. Это тоже очень просто добавить в документ.
\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\usepackage{indentfirst}
\begin{document}
\title{Название}
\autor{Автор, name@domen.ru}
\maketitle
\tableofcontents
.
.
.
\end{document}
Команды По поводу содержания надо сказать отдельно. TeX однопроходный, т.е. он никогда не возвращается обратно для того, что бы что-нибудь поменять. Это означает, что если содержание у вас находится до тела документа, то при первом проходе (первом запуске) содержание будет пустым, потому что TeX просмотрел текст уже после того, как вставил содержание. Это положение вещей исправит второй проход (повторный запуск), после которого вы получите нужный текст содержания. Повторные проходы могут потребовать не только содержание, но и, например, установка ссылок в документе (LaTeX поддерживает автоматическую нумерацию ссылок, что очень удобно), расстановка плавающих объектов и т.п.
Особенно обращаю ваше внимание на четвертую строку примера выше --- она новая, по сравнению
с предыдущими примерами. Это использование еще одного пакета, под названием
В принципе, на этом можно закончить, но вас еще может интересовать, что еще можно сделать с полученым документом, кроме того, что бы его распечатать. Все дело в том, что хорошо бы иметь электронную версию документа, которую можно послать кому-нибудь по электронной почте и совершенно некультурно требовать от получателя знаний TeX'а. Поэтому я сразу же упомяну о двух утилитах, которые обычно включаются в состав дистрибутивов TeX'а: dvips и dvipdfm. Первая из них делает по dvi файлу ps аналог (который можно посмотреть ghostscript или распечатать на ps-принтере), вторая --- делает pdf файл, который можно просмотреть при помощи свободно распространяемой и присутствующей почти на всех операционных системах программой Acrobat Reader. Обе из этих программ запускаются следующим образом: dvips test dvipdfm test После их выполнения будут получены файлы test.ps и test.pdf соответственно. РезюмеTeX очень удобен и прост в использовании. Возможность использования ортогональной разметки сильно облегчает жизнь при наборе документов, а качество получаемых документов много выше, чем качество, например, WinWord. Хотя эти два продукта даже сравнивать нельзя: WinWord --- текстовый процессор, а TeX --- издательская система (наравне с Ventura Publisher и Adobe PageMaker). Кроме того, TeX --- свободно распространяемая программа. В общем, попробуйте TeX, возможно что он вам понравится.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
© 2000-2008, Andrey L. Kalinin mailto:andrey@kalinin.ru |
|