%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Things you need to know % $Id: things.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Это нужно знать} \begin{intro} Первая часть этой главы содержит краткий обзор философии и истории \LaTeX{}. Вторая часть главы фокусируется на основных структурах документов \LaTeX{}. После чтения этой главы вы должны иметь общее представление о том, как работает \LaTeX{}. В дальнейшем это поможет вам объединить всю новую информацию в единую картину. \end{intro} \section{Названия} \subsection{\TeX} \sloppy{}\TeX{}~--- это компьютерная программа, созданная Дональдом Кнутом (\index{Knuth, Donald E.}Donald E.~Knuth)~\cite{texbook}. Она предназначена для верстки текста и математических формул. Кнут начал писать \TeX{} в 1977 году для изучения потенциала цифрового печатающего оборудования, которое начало появляться в это время, надеясь, в особенности, обратить тенденцию ухудшения типографского качества, которую он видел на примере его собственных книг и статей. \TeX{}, в том виде, в каком мы его сегодня используем, был выпущен в 1982 году с некоторыми добавлениями в 1989 (лучшая поддержка 8-битных символов и различных языков). \TeX{} знаменит своей чрезвычайной стабильностью, работой на различных типах компьютеров и практически полным отсутствием ошибок. Номер версии \TeX{} сходится к $\pi$ и сейчас равен $3.14159$. \TeX{} произносится как <<тех>>. В среде \texttt{ASCII} \TeX{} нужно писать как \texttt{TeX}. \subsection{\LaTeX} \LaTeX{}~--- макропакет, позволяющий авторам верстать и печатать их работы с высоким типографским качеством, при помощи заранее определенных, профессиональных макетов. \LaTeX{} был написан \index{Lamport, Leslie}{\lat Leslie Lamport}~\cite{manual}. В качестве механизма для верстки он использует \TeX{}. Сейчас \LaTeX{} поддерживает \index{Mittelbach, Frank}Frank Mittelbach. %В 1994 году пакет \LaTeX{} был обновлен командой %\index{LaTeX3@\LaTeX3}\LaTeX3 во главе с \index{Mittelbach, % Frank}Frank Mittelbach. В нем были сделаны некоторые давно %ожидавшиеся улучшения, и вновь объединены все варианты \LaTeX{}, %разошедшиеся с выпуска много лет назад \index{LaTeX 2.09@\LaTeX{} % 2.09}версии \LaTeX{}~2.09. Чтобы не путать эту новую версию со %старой, она называется \index{LaTeX 2e@\LaTeXe}\LaTeXe. Эта %документация описывает именно \LaTeXe{}. \LaTeX{} произносится как <<лэйтех>> или как <<латех>>. Если вы ссылаетесь на \LaTeX{} в \texttt{ASCII} окружении, пишите \texttt{LaTeX}. \LaTeXe{} пишется как \texttt{LaTeX2e}. %Рисунок \ref{components} на странице~\pageref{components} показывает, %как работают вместе \TeX{} и \LaTeXe{}. Он взят из \texttt{wots.tex} %(автор Kees van der Laan). %\begin{figure}[btp] %\begin{lined}{0.8\textwidth} %\begin{center} %\input{kees.fig} %\end{center} %\end{lined} %\caption{Составляющие \TeX{} системы}\label{components} %\end{figure} \section{Основы} \subsection{Автор, дизайнер и верстальщик} Для того, чтобы опубликоваться, авторы отдают свои рукописи в издательство. Затем один из дизайнеров издательства определяет макет документа (ширину столбцов, шрифты, интервалы выше и ниже заголовков и~т.п.). Дизайнер записывает свои инструкции в рукописи и отдает ее верстальщику, который верстает книгу в соответствии с этими инструкциями. Дизайнер--человек пытается понять, что автор имел в виду, когда писал свою рукопись. Он определяет заголовки глав, цитаты, примеры, формулы и прочее, исходя из своего профессионального опыта и из содержания рукописи. В среде \LaTeX, \LaTeX{} берет на себя роль дизайнера книги, используя \TeX{} в качестве верстальщика. Но \LaTeX~--- это всего лишь программа, и, следовательно, нуждается в более четких инструкциях. Автор должен предоставить дополнительную информацию, описывающую логическую структуру своей работы. Эта информация записывается в текст в виде <<команд \LaTeX{}>>. Это в корне отличается от \wi{WYSIWYG}\footnote{What you see is what you get.} подхода, принятого в большинстве современных текстовых процессоров, таких как \emph{MS Word} или \emph{Corel WordPerfect}. В этих приложениях авторы форматируют документ интерактивно в процессе набора текста на компьютере. В процессе работы они могут видеть на экране как будет выглядеть их работа, когда, в конце концов, она будет напечатана. При использовании \LaTeX{} обычно невозможно увидеть итоговую картину во время печатания текста. Ее, однако, можно посмотреть на экране после обработки файла \LaTeX. Затем можно внести исправления перед собственно печатью. \subsection{Дизайн макета} Типографский дизайн~--- это профессия. Неопытные авторы часто допускают серьезные ошибки форматирования, предполагая, что дизайн книги~--- это большей частью вопрос эстетики: <<если документ выглядит художественно, значит, он хорошо отдизайнен>>. Но, так как документ предназначен для чтения, а не для вывешивания в картинной галерее, удобство его чтения и понимания гораздо более важны, нежели красота. Например: \begin{itemize} \item Размер шрифта и нумерация заголовков должны выбираться с тем, чтобы сделать структуру глав и разделов ясной для читателя. \item Строка должна быть достаточно короткой, чтобы не напрягать глаза читателя, и достаточно длинной для красивого заполнения страницы. \end{itemize} С \wi{WYSIWYG} системами авторы часто производят эстетически приятные документы со слабо выраженной или невыдержанной структурой. \LaTeX{} предотвращает такие ошибки форматирования, заставляя автора объявлять \emph{логическую} структуру его документа. Затем уже \LaTeX{} выбирает наиболее подходящий макет (раскладку) документа. \subsection{Преимущества и недостатки} Тема, часто обсуждаемая, когда люди из мира \wi{WYSIWYG} встречаются с пользователями \LaTeX{},~--- <<\wi{преимущества \LaTeX} перед нормальными текстовыми процессорами>>, или наоборот. Лучшее, что вы можете сделать, когда начинается такая дискуссия,~--- это пригнуться, так как она часто выходит из-под контроля. Однако, иногда вы не можете уклониться~\ldots \medskip\noindent Вот вам некоторое оружие. Основные преимущества \LaTeX{} перед обычными текстовыми процессорами: \begin{itemize} \item Готовые профессионально выполненные макеты, делающие документы действительно выглядящими <<как изданные>>. \item Удобно поддержана верстка математических формул. \item Пользователю нужно выучить лишь несколько понятных команд, задающих логическую структуру документа. Ему практически никогда не нужно возиться собственно с макетом документа. \item Легко изготавливаются даже сложные структуры, типа примечаний, оглавлений, библиографий и прочее. \item Для решения многих типографских задач, не поддерживаемых напрямую базовым \LaTeX{}, есть свободно распространяемые дополнительные пакеты. Например, существуют пакеты для включения \PSi{}-графики или для верстки библиографий в точном соответствии с конкретными стандартами. Многие из этих дополнительных компонент описаны в \companion. \item \LaTeX{} поощряет авторов писать хорошо структурированные документы, так как именно так \LaTeX{} и работает~--- путем спецификации структуры. \item \TeX{}, форматирующее сердце \LaTeXe{}, чрезвычайно мобилен и свободно доступен. Поэтому система работает практически на всех существующих платформах. % % Add examples ... % \end{itemize} \medskip \noindent\LaTeX{} имеет также и некоторые недостатки, но, кажется, мне трудно найти среди них заметные, хотя, я уверен, другие вам найдут их сотни \texttt{;-)} \begin{itemize} % что за фигня? % \item \LaTeX{} плохо работает у продавших свою душу~\ldots \item Хотя предопределенные макеты имеют множество настраиваемых параметров, создание полностью нового макета документа не очень просто и занимает много времени.\footnote{Говорят, что это~--- одна из основных целей будущей системы \LaTeX3.}\index{LaTeX3@\LaTeX3} \item Очень сложно писать неструктурированные и неорганизованные документы. \item Ваша морская свинка может так до конца и не понять концепцию логической разметки, несмотря на видимые первые успехи. \end{itemize} \section{Исходные файлы \LaTeX{}} Исходными данными для \LaTeX{} являются обычный текстовый файл в \texttt{ASCII}. Его можно создать в любом текстовом редакторе. Он содержит текст документа вместе с командами, указывающими \LaTeX{}, как верстать текст. \subsection{Пробелы} <<Пустые>> символы, такие, как пробел или табуляция, трактуются \LaTeX{} одинаково, как <<\wi{пробел}>>. \emph{Несколько последовательных} пустых символов\index{пустые символы} трактуются как \emph{один} <<пробел>>. Пустые символы в начале строки обычно игнорируются, а единичный перевод строки воспринимается как <<пробел>>. \index{пробел!в начале строки} Пустая строка между двух строк текста определяет конец абзаца. \emph{Несколько} пустых строк трактуются так же, как \emph{одна} пустая строка. Ниже приведен пример. Справа~--- текст из входного файла, слева~--- форматированный вывод. \begin{example} Неважно, вставляете ли вы один или несколько пробелов между словами. Пустая строчка начинает новый абзац. \end{example} \subsection{Спецсимволы} Следующие символы являются \index{символы!зарезервированные} зарезервированными символами, которые либо имеют в \LaTeX{} специальное значение, либо имеются не во всех шрифтах. Если вы введете их в текст напрямую, то они обычно не напечатаются, а заставят \LaTeX{} сделать что--нибудь, вами вовсе не предусмотренное. \begin{code} %\verb.$ & % # _ { } ~ ^ \ . %$ \verb.# $ % ^ & _ { } ~ \ . %$ \end{code} Как вы позже увидите, эти символы можно использовать в ваших документах, добавляя к ним префикс <<\verb|\|>>: \begin{example} \# \$ \% \^{} \& \_ \{ \} \~{} \end{example} Прочие символы, как и многие, многие другие, можно набрать специальными командами в математических формулах или как акценты. Знак~<<\verb|\|>> \emph{нельзя} вводить, добавляя перед ним еще один, так как эта команда (\verb|\\|) используется для разрыва строки.\footnote{Вместо этого пользуйтесь командой \texttt{\$}\ci{backslash}\texttt{\$}. Она дает `$\backslash$'.} \subsection{Команды \LaTeX{}} Команды\index{команды} \LaTeX{} чувствительны к регистру и принимают одну из следующих двух форм: \begin{itemize} \item Они начинаются с символа \wi{backslash} <<\verb|\|>> и продолжаются именем, состоящим только из букв. Имена команд завершаются пробелом, цифрой или любой другой <<не-буквой>>. \item Они состоят из <<\verb|\|>> и ровно одного небуквенного символа. \end{itemize} % % \\* doesn't comply ! % % % Can \3 be a valid command ? (jacoboni) % \label{whitespace} \LaTeX{} игнорирует пробелы после команд. Если вы хотите получить \index{пробел!после команды}пробел после команды, вы должны поместить или <<\verb|{}|>> и пробел, или специальную команду пробела после имени команды. <<\verb|{}|>> не дает \LaTeX{} игнорировать все пробелы после имени команды. \begin{example} Я слышал, что Кнут разделяет людей, работающих с \TeX{} на \TeX{}ников и \TeX пертов.\\ Сегодня~--- \today \end{example} Некоторые команды нуждаются в \index{параметр}параметре, который должен быть задан между \index{фигурные скобки}фигурными скобками~<<\verb|{ }|>> после имени команды. Некоторые команды поддерживают \wi{необязательные параметры}, которые добавляются после имени команды в \index{квадратные скобки}квадратных скобках~<<\verb|[ ]|>>. Следующий пример использует некоторые команды \LaTeX. Не задумывайтесь над ними, они будут разъяснены позже. \begin{example} Вы можете \textsl{положиться} на меня! \end{example} \begin{example} Пожалуйста, начните новую строчку прямо тут!\newline Спасибо! \end{example} \subsection{Комментарии} \index{комментарии} Когда в процессе обработки входного файла \LaTeX{} встречает символ \verb|%|, он игнорирует остаток текущей строки, возврат каретки и все пробелы в начале следующей строки. Этим можно пользоваться для добавления в исходный файл замечаний, которые не будут выводиться на печать. \begin{example} Это Spercal% ifragilist% icexpialidocious \end{example} Знаком \texttt{\%} можно также пользоваться, чтобы разбить длинные строчки в тех местах, где не разрешаются пробелы или переводы строк. \sloppy{}Для более длинных комментариев можно также пользоваться окружением \ei{comment}, предоставляемым пакетом \pai{verbatim}. Это означает, что, для использования окружения \ei{comment}, вы должны к преамбуле вашего документа добавить команду \verb|\usepackage{verbatim}|: \begin{example} Это~--- еще один \begin{comment} довольно глупый, но полезный \end{comment} пример вставки комментариев в ваш документ. \end{example} Заметьте, что это не будет работать внутри сложных окружений, например, математики. \section{Структура входного файла} Когда \LaTeXe{} обрабатывает входной файл, он ожидает от него следования определенной \index{структура файла}структуре. Так, каждый входной файл должен начитаться с команды \begin{code} \verb|\documentclass{...}| \end{code} Она указывает, документ какого типа вы собираетесь писать. После этого, вы можете включать команды, влияющие на стиль документа в целом, или загружать \index{пакет}пакеты, добавляющие новые возможности в систему \LaTeX. Для загрузки такого пакета используется команда \begin{code} \verb|\usepackage{...}| \end{code} Когда вся настройка закончена,\index{преамбула}\footnote{Область между \texttt{\bs documentclass} и \texttt{\bs begin$\mathtt{\{}$document$\mathtt{\}}$} называется \emph{преамбулой}.} вы начинаете тело текста командой \begin{code} \verb|\begin{document}| \end{code} Теперь вы вводите текст с командами \LaTeX. В конце документа вы добавляете команду \begin{code} \verb|\end{document}| \end{code} Все, что следует после нее, \LaTeX{} игнорирует. Рис.~\ref{mini} показывает содержимое минимального файла для \LaTeXe. Несколько более сложный \wi{входной файл} дан на рис.~\ref{document}.\trfootnote{В данный пример вставлен также минимальный набор конмад, необходимый для поддержки русского языка. Исторически сложились несколько пакетов русификации \LaTeX, здесь используется пакет \pai{babel}, являющийся стандартным средством локализации \TeX{}. Если вы работаете на очень старой системе, возможно, вам нужно будет пользоваться другими установленными средствами. Проконсультируйтесь с вашим \guide{} или с администратором.} \begin{figure}[!bp] \begin{lined}{6cm} \begin{Verbatim} \documentclass{article} \usepackage[koi8-r]{inputenc} \usepackage[russian]{babel} \begin{document} Краткость~--- сестра таланта. \end{document} \end{Verbatim} \end{lined} \caption{Минимальный файл \LaTeX{}} \label{mini} \end{figure} \begin{figure}[!bp] \begin{lined}{10cm} \begin{Verbatim} \documentclass[a4paper,11pt]{article} \usepackage[russian]{babel} \begin{document} % определяем титул \author{Б.~Тоботрас} \title{Минимализм} \frenchspacing \begin{document} % генерируем титул \maketitle % вставляем оглавление \tableofcontents \section{Начало} Вот тут и начинается моя замечательная статья. \section{Конец} \ldots{} а тут она кончается. \end{document} \end{Verbatim} \end{lined} \caption{Пример реалистичной журнальной статьи} \label{document} \end{figure} \section{Типичная сессия работы с \LaTeX{}} Можно ручаться, что вам уже не терпится попробовать маленький пример \LaTeX{}-файла, приведенный на странице~\pageref{mini}. Давайте попробуем. Сам по себе, \LaTeX{} не включает графического интерфейса. Он~--- просто программа, обрабатывающая указанный входной файл. Некоторые дистрибутивы \LaTeX{} включают графическую оболочку, где вы можете выбрать мышкой компиляцию указанного файла. В других системах вам нужно набирать команды в тексторовм режиме.Предполагается, что на вашей машине \LaTeX{} установлен и работает\footnote{Это обычно так в любой современной Unix-системе.}. \begin{enumerate} \item Отредактируйте или создайте входной файл \LaTeX{}. Этот файл должен быть плоским ASCII текстом. В Unix любой редактор создаст вам именно это. В Windows вы должны убедиться, что вы сохраняете файл в формате ASCII, или \emph{Plain text}. Выбирая имя для файла, добавьте расширение \eei{.tex}. \item Обработайте ваш входной файл \LaTeX{}. Если все пройдет без ошибок, вы получите файл \texttt{.dvi}. Чтобы получить правильное оглавление и перекрестные ссылки, вам может понадобиться запустить \LaTeX{} несколько раз. Если во входном файле есть ошибка, \LaTeX{} укажет вам на нее и остановит обработку входного файла. Чтобы вернуться в командную строку, нажмите \texttt{ctrl-D}. \begin{lscommand} \verb+latex foo.tex+ \end{lscommand} \item Теперь вы можете просмотреть файл \texttt{.dvi}. Это можно сделать по-разному. Можно посмотреть его на экране командой \begin{lscommand} \verb+xdvi foo.dvi &+ \end{lscommand} Она работает только в среде Unix с X11. Если вы работаете под Windows, попробуйте \texttt{yap} (``yet another previewer''). Вы таже можете преобразовать файл DVI в \PSi{} для печати или просмотра при помощи Ghostscript: \begin{lscommand} \verb+dvips -Pcmz foo.dvi -o foo.ps+ \end{lscommand} Если вам повезет, то в составе вашей системы будет программа \texttt{dvipdf}, которая может преобразовать ваши \texttt{.dvi}-файлы прямо в PDF. \begin{lscommand} \verb+dvipdf foo.dvi+ \end{lscommand} \end{enumerate} \section{Макеты документов} \subsection{Классы документов}\label{sec:documentclass} Первое, что \LaTeX{} должен знать при обработке входного файла, это тип создаваемого автором документа. Он задается командой \ci{documentclass}. \begin{lscommand} \ci{documentclass}\verb|[|\emph{опции}\verb|]{|\emph{класс}\verb|}| \end{lscommand} \noindent Здесь \emph{класс} определяет тип создаваемого документа. Таблица~\ref{documentclasses} перечисляет классы документов, рассматриваемые в этом введении. В состав \LaTeXe{} входят дополнительные классы для других документов, включая письма и слайды. Параметр \emph{\wi{опции}} изменяет поведение класса документа. Опции должны разделяться запятыми. В таблице~\ref{options} перечислены самые употребительные опции стандартных классов документов. \begin{table}[!bp] \caption{Классы документов} \label{documentclasses} \begin{lined}{12cm} \begin{description} \item [\normalfont\texttt{article}] для статей в научных журналах, презентаций, коротких отчетов, программной документации, приглашений\ldots \index{класс!article} \item [\normalfont\texttt{report}] для более длинных отчетов, содержащих несколько глав, небольших книжек, диссертаций\ldots \index{класс!report} \item [\normalfont\texttt{book}] для настоящих книг \index{класс!book} \item [\normalfont\texttt{slides}] для слайдов. Использует большие буквы без засечек. Вместо этого можно использовать Foil\TeX.\footnote{\CTANref|macros/latex/contrib/supported/foiltex|} \index{класс!slides}\index{foiltex} \end{description} \end{lined} \end{table} \begin{table}[!bp] \caption{Опции классов документов} \label{options} \begin{lined}{12cm} \begin{flushleft} \begin{description} \item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad Устанавливает размер основного шрифта документа. Если ни одна из этих опций не указана, подразумевается \texttt{10pt}. \index{шрифт!документа, размер}\index{размер основного шрифта} \item[\normalfont\texttt{a4paper}, \texttt{letterpaper}\ldots] \quad Определяет размер листа. По умолчанию подразумевается \texttt{letterpaper}. Так же могут быть указаны \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper} и \texttt{legalpaper}. \index{лист!legal}\index{размер листа}\index{лист!A4}\index{лист!letter} \index{лист!A5}\index{лист!B5}\index{лист!executive} \item[\normalfont\texttt{fleqn}] \quad Выключные формулы будут выровнены влево, а не отцентрированы. \item[\normalfont\texttt{leqno}] \quad Формулы нумеруются слева, а не справа. \item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad Указывает, должна начинаться новая страница после заголовка документа\index{заголовок документа} или нет. По умолчанию класс \texttt{article} не начинает новую страницу, а \texttt{report} и \texttt{book}~--- начинают. \index{лист!титульный} \item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Заставляет \LaTeX{} набирать документ в \wi{один столбец} или в \wi{два столбца}. \item[\normalfont\texttt{twoside, oneside}] \quad Выбирает одно- или двусторонний вывод. По умолчанию классы \texttt{article} и \texttt{report} используют \wi{односторонний вывод}, класс \texttt{book}~--- \wi{двусторонний вывод}. Заметьте, что опция \texttt{twoside} \emph{не} заставляет ваш принтер на самом деле печатать с двух сторон. \item[\normalfont\texttt{landscape}] \quad Меняет положение страницы на ландшафтное. \item[\normalfont\texttt{openright, openany}] \quad Делает главы начинающимися или только на правой странице, или на первой доступной. Это не работает с классом \texttt{article}, так как он ничего не знает о главах. Класс \texttt{report} по умолчанию начинает главы на следующей странице, а класс \texttt{book}~--- на правой. \end{description} \end{flushleft} \end{lined} \end{table} Пример: Входной файл для документа \LaTeX{} может начинаться строкой \begin{code} \ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| \end{code} она заставляет \LaTeX{} набирать документ как \emph{статью}, с базовым размером шрифта \emph{одиннадцать пунктов} и форматировать документ для \emph{двусторонней} печати на бумаге \emph{формата A4}. \subsection{Пакеты} \index{пакет} В процессе написания вашего документа, вы, вероятно, обнаружите, что в некоторых областях базовый \LaTeX{} не сможет решить ваши проблемы. Если вы захотите включить в документ графику\index{графика}, \wi{цветной текст} или исходный код программы из внешнего файла, вам нужно будет расширить возможности \LaTeX{}. Такие расширения называются пакетами. Пакеты активизируются командой \begin{lscommand} \ci{usepackage}\verb|[|\emph{опции}\verb|]{|\emph{пакет}\verb|}| \end{lscommand} \noindent Где \emph{пакет}~--- это имя пакета, а \emph{опции}~--- список ключевых слов, включающих специальные свойства пакета. Некоторые пакеты включены в основную поставку \LaTeXe{} (см. таблицу~\ref{packages}). Другие предоставляются отдельно. Дополнительная информация об установленных у вас пакетах может содержаться в \guide{}. Основной источник информации о пакетах \LaTeX{}~--- это \companion{}. Она содержит описания сотен пакетов вместе с информацией о том, как писать ваши собственные расширения для \LaTeXe{}. \begin{table}[btp] \caption{Некоторые из распространяемых с \LaTeX{} пакетов} \label{packages} \begin{lined}{11cm} \begin{description} \item[\normalfont\pai{doc}] Позволяет документировать программы на \LaTeX{}.\\ Описан в \texttt{doc.dtx}\footnote{Этот файл должен быть установлен на вашей системе, и вы можете получить \texttt{dvi} файл, напечатав \texttt{latex doc.dtx} в любом каталоге, где вы имеете права на запись. То же самое относится ко всем прочим файлам, упомянутым в этой таблице.} и в \companion. \item[\normalfont\pai{exscale}] Предоставляет масштабированные версии расширенных математических шрифтов.\\ Описан в \texttt{ltexscale.dtx}. \item[\normalfont\pai{fontenc}] Указывает, какую кодировку шрифта\index{кодировка шрифта} должен использовать \LaTeX{}.\\ Описан в \texttt{ltoutenc.dtx}. \item[\normalfont\pai{ifthen}] Предоставляет команды вида `если \ldots, то выполнять \ldots, иначе выполнять \ldots'.\\ Описан в \texttt{ifthen.dtx} и в \companion. \item[\normalfont\pai{latexsym}] Чтобы подключить шрифт специальных символов \LaTeX{}, нужно использовать пакет \texttt{latexsym}. Описан в \texttt{latexsym.dtx} и в \companion. \item[\normalfont\pai{makeidx}] Предоставляет команды для генерации указателей. Описан в разделе~\ref{sec:indexing} и в \companion. \item[\normalfont\pai{syntonly}] Обрабатывает документ, не печатая его. \item[\normalfont\pai{inputenc}] Позволяет указать входную кодировку, такую как ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM code pages, Apple Macintosh, Next, ANSI-Windows или определяемую пользователем. Описан в \texttt{inputenc.dtx}. \end{description} \end{lined} \end{table} \clearpage \subsection{Стили страницы} \LaTeX{} поддерживает три предопределенных комбинации верхнего колонтитула и нижнего колонтитула\index{колонтитул!верхний}\index{колонтитул!нижний}~--- так называемые \wi{стили страницы}. Параметр \emph{стиль} команды \index{стиль страницы!plain@\texttt{plain}}\index{plain@\texttt{plain}}% \index{стиль страницы!headings@\texttt{headings}}\index{headings@\texttt{headings}}% \index{стиль страницы!empty@\texttt{empty}}\index{empty@\texttt{empty}}% \begin{lscommand} \ci{pagestyle}\verb|{|\emph{стиль}\verb|}| \end{lscommand} \noindent определяет, какой из них использовать. Предопределенные стили страницы перечислены в таблице~\ref{pagestyle}. \begin{table}[!hbp] \caption{Предопределенные стили страницы \LaTeX} \label{pagestyle} \begin{lined}{12cm} \begin{description} \item[\normalfont\texttt{plain}] печатает номера страниц внизу страницы в середине нижнего колонтитула. Этот стиль установлен по умолчанию. \item[\normalfont\texttt{headings}] печатает название текущей главы и номер страницы в верхнем колонтитуле каждой страницы, а нижний колонтитул остается пустым. (Этот стиль использован в данном документе.) \item[\normalfont\texttt{empty}] делает и верхние, и нижние колонтитулы пустыми. \end{description} \end{lined} \end{table} Возможно сменить стиль текущей страницы командой \begin{lscommand} \ci{thispagestyle}\verb|{|\emph{стиль}\verb|}| \end{lscommand} Описание того, как создавать ваши собственные стили колонтитулов, смотрите в \companion{}, а также в разделе~\ref{sec:fancy} на странице~\pageref{sec:fancy}. % % Pointer to the Fancy headings Package description ! % \section{Встречающиеся типы файлов} Работая с \LaTeX{}, вы вскоре начнете путаться в куче файлов с различными расширениями\index{расширение}. Ниже перечислены различные \wi{типы файлов}, используемые при работает с \TeX{}. Заметьте, что это не полный список расширений, но, если вы найдете не упомянутое расширение, которое считаете важным,~--- уведомите, пожалуйста, автора. %% \begin{description} %% \item[\eei{.tex}] Входной файл \LaTeX{} или \TeX{}. Компилируется %% командой \texttt{latex}. %% \item[\eei{.sty}] Макропакет \LaTeX{}. Этот файл загружается в %% документ командой \ci{usepackage}. %% \item[\eei{.dtx}] Документированный \TeX{}. Это~--- основной формат %% распространения стилевый файлов \LaTeX{}. Если вы обработаете файл %% \texttt{.dtx}, вы получите документированный макрокод пакета, %% содержащегося в этом файле. %% \item[\eei{.ins}] Инсталлятор для файлов, содержащихся в %% соответствующем файле \texttt{.dtx}. После получения пакета из %% Интернета, вы обычно получаете файлы \texttt{.dtx} и %% \texttt{.ins}. Запустите \LaTeX{} с файлом \texttt{.ins}, чтобы %% распаковать файл \texttt{.dtx}. %% \item{\eei{.fd}] Файл описания шрифта, описывающий шрифт для \LaTeX{}. %% \item[\eei{.cls}] Файл класса, определяющий вид вашего %% документа. Выбирается командой \ci{documentclass}. %% \end{description} Следующие файлы генерируются, когда \LaTeX{} обрабатывает входной файл: \begin{description} \item[\eei{.dvi}] Device Independent file (файл, не зависящий от устройства). Это~--- основной результат запуска \LaTeX{}. Содержимое его можно увидеть при помощи программы отображения DVI, или распечатать программой \texttt{dvips} или аналогичной. \item[\eei{.log}] Содержит детальный отчет о том, что происходило в последний прогон компиляции. \item[\eei{.toc}] Хранит заголовки всех разделов. Читается в следующий проход компиляции и используется при генерации оглавления. \item[\eei{.lof}] Аналог \texttt{.toc} для списка иллюстраций. \item[\eei{.lot}] То же, для списка таблиц. \item[\eei{.aux}] Еще один файл, передающий информацию между проходами компиляции. Кроме все прочего, используется для генерации перекрестных ссылок. \item[\eei{.idx}] Если ваш документ содержит предметный указатель, \LaTeX{} помещает все слова для указателя в этот файл. Обработайте его программой \texttt{makeindex}. Подробнее смотрите в разделе~\ref{sec:indexing} на странице~\pageref{sec:indexing}. \item[\eei{.ind}] Обработанный файл \texttt{.idx}, готовый ко включению в ваш документ при следующем проходе компиляции. \item[\eei{.ilg}] Журнал работы \texttt{makeindex}. \end{description} % Package Info pointer % % % % Add Info on page-numbering, ... % \pagenumbering \section{Большие проекты} При работе с большими документами вам может быть удобно разделить входной файл на несколько частей. \LaTeX{} содержит две команды, которые помогают это делать. \begin{lscommand} \ci{include}\verb|{|\emph{файл}\verb|}| \end{lscommand} \noindent Эту команду можно использовать в теле документа, чтобы включить в него содержимое другого файла. Заметьте, что \LaTeX{} начнет новую страницу, прежде, чем обрабатывать материал, содержащийся в \emph{файле}. Вторая команда может использоваться только в преамбуле. Она указывает \LaTeX{} читать только некоторые из включенных (\verb|\include|) файлов. \begin{lscommand} \ci{includeonly}\verb|{|\emph{filename}\verb|,|\emph{filename}% \verb|,|\ldots\verb|}| \end{lscommand} После выполнения в преамбуле документа этой команды будут выполняться только те команды \ci{include}, чьи имена файлов перечислены в аргументе команды \ci{includeonly}. Команда \ci{include} начинает верстку включаемого текста на новой странице. Это удобно при использовании \ci{includeonly}, потому что границы страниц не будут двигаться, даже когда некоторые включаемые файлы пропускаются. Иногда это неудобно, и в этом случае вы можете использовать команду \begin{lscommand} \ci{input}\verb|{|\emph{filename}\verb|}| \end{lscommand} \noindent Она просто включает содержимое указанного файла. Для быстрой проверки документа используйте пакет \pai{syntonly}. Он заставляет \LaTeX{} пробежать по документу, проверяя синтаксис и использование команд, но не генерируя выходного файла DVI. \LaTeX{} в этом режиме работает быстрее, экономя ваше время. Синтаксис очень прост: \begin{verbatim} \usepackage{syntonly} \syntaxonly \end{verbatim} Когда вы захотите получить выходной файл, просто закомментируйте вторую строчку, добавив знак процента. %%% Local Variables: %%% mode: latex %%% TeX-master: "lshort" %%% End: