From de1558238ce9b242a406500f3478caebb60a3419 Mon Sep 17 00:00:00 2001 From: Boris Veytsman Date: Mon, 4 Aug 2008 01:20:27 +0000 Subject: Russian version... git-svn-id: svn://tug.org/texlive/trunk@10059 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-doc/source/texlive/texlive-ru/live.tex | 3370 -------------------- .../source/texlive/texlive-ru/tex-live-rus.sty | 428 --- .../source/texlive/texlive-ru/texlive-ru.tex | 2999 +++++++++++++++++ 3 files changed, 2999 insertions(+), 3798 deletions(-) delete mode 100644 Master/texmf-doc/source/texlive/texlive-ru/live.tex delete mode 100644 Master/texmf-doc/source/texlive/texlive-ru/tex-live-rus.sty create mode 100644 Master/texmf-doc/source/texlive/texlive-ru/texlive-ru.tex (limited to 'Master/texmf-doc/source') diff --git a/Master/texmf-doc/source/texlive/texlive-ru/live.tex b/Master/texmf-doc/source/texlive/texlive-ru/live.tex deleted file mode 100644 index 529cf9f674b..00000000000 --- a/Master/texmf-doc/source/texlive/texlive-ru/live.tex +++ /dev/null @@ -1,3370 +0,0 @@ -% $Id$ -% -%\def\Status{1} -\documentclass{article} -\let\tldocrussian=1 % for live4ht.cfg -\usepackage{tex-live-rus} -\usepackage[koi8-r]{inputenc} -\usepackage[russian]{babel} -\newcommand\Unix{Unix} -\newcommand\Windows{Windows} -\usepackage{indentfirst} -\def\p.{стр.~}% -% -\begin{document} - -\title{% - {\huge \textit{Руководство пользователя \protect\TL{}}\\\strut} - {\LARGE \textsf{\TL{} 2008}} -} - -\author{Редактор: Карл Берри\\[3mm] - \url{http://tug.org/texlive/}} -\date{Июль 2008} - -\maketitle - - -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} - -\section{Введение} -\label{sec:intro} - -В этом документе описаны основные возможности программного продукта -\TL{} "--- дистрибутива \TeX{}а и других программ для -\acro{GNU}/Линукса и других Unixов, \MacOSX и (32-битовых) Windows. -(Внимание: этот продукт не совместим со старыми Макинтошами или -\acro{MS-DOS}). - -В \TL{} включены программы \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} и -многие другие; обширная коллекция макросов, шрифтов и документации; а -также поддержка вёрстки на многих языках мира. Он является частью ещё -б\'ольшей коллекции \TK{} (кратко описанной ниже в -разделе~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}). И \TL{}, и -\TK{} поддерживаются группами пользователей \TeX a. - - -Более новые версии пакетов, включённых в дистрибутив, можно найти в -архиве \acro{CTAN}, \url{http://www.ctan.org}. - -Краткий список основных изменений в этом издании \TeXLive{} можно -найти в разделе~\ref{sec:history}, \p.\pageref{sec:history}. - - -\subsection{Как пользоваться \protect\TL{}} -\label{sec:basic} - -\TL{} можно использовать тремя способами: - -\begin{enumerate} - -\item Можно работать с \TeXLive{} прямо с \pkgname{live} \DVD{} (см. - раздел~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). - Естественно, при этом почти не тратится место на диске, и вы - немедленно получаете доступ ко всему дистрибутиву \TL{}. - Разумеется, система работает несколько медленнее, чем при работе с - диска, но и эта скорость работы может оказаться вполне - удовлетворительной. - -\item Вы можете установить \TL{} полностью или частично на ваш диск. - Это самый распространённый способ использования \TL. Вам - потребуется примерно 100 мегабайтов в минимальном варианте и 1.3 - гигабайта и выше для полной системы. - -\item Вы можете установить определённый пакет или коллекцию пакетов - для уже установленного у вас \TeX а: либо установленной ранее системы - \TL{}, либо другого дистрибутива. - -\end{enumerate} - -\noindent Всё это подробно описано в разделе руководства по установке, -относящемся к вашей операционной системе. Вкратце: -\begin{itemize*} -\item Основной скрипт для установки системы под Юниксами и \MacOSX{}: - \texttt{install-tl.sh}. Пользователи GNU/Linux могут также - воспользоваться новым графическим интерфейсом - \texttt{setuptl/tlmpgui}. Информацию об этой программе можно найти в -разделе~\ref{sec:win-install}, \p.\pageref{sec:win-install}. -\item Скрипт установки отдельного пакета: \texttt{install-pkg.sh}. - (Если вы использовали \texttt{tlpmgui} для установки под Линуксом, - вы можете также добавлять или удалять пакеты или коллекции при - помощи \texttt{tlpmgui}). -\item Программа установки для Windows \texttt{tlpmgui.exe}. Она может - быть также использована для добавления или удаления пакетов. - См. более полное описание в разделе~\ref{sec:win-install} ниже. -\end{itemize*} - - -\subsection{Где можно получить поддержку} -\label{sec:help} - -Сообщество пользователей \TeX{}а активно и дружелюбно, и практически -на каждый серьёзный вопрос найдётся ответ. Однако эта поддержка -неформальна, выполняется добровольцами, и поэтому очень важно, чтобы -вы сами попробовали найти ответ перед тем, как задавать вопрос. (Если -вы предпочитаете коммерческую поддержку, возможно вам ст\'оит вместо -\TL{} купить одну из коммерческих версий \TeX{}а, см. список по -адресу \url{http://tug.org/interest.html#vendors} for a list). - -Вот список источников поддержки, приблизительно в том порядке, в -котором мы рекомендуем к ним обращаться: - -\begin{description} - -\item[Страница для новичков] Если вы "--- новичок, то страница - \url{http://tug.org/begin.html} может послужить для начала. - -\item [\TeX{} \acro{FAQ}] \TeX{} \acro{FAQ} (ЧаВо, часто задаваемые - вопросы) "--- огромная коллекция ответов на всевозможные вопросы, от - самых простых до самых сложных. Английская версия ЧаВо находится на - \TL{} в разделе \OnCD{texmf-doc/doc/english/FAQ-en} и доступна в - Интернете по адресу \url{http://www.tex.ac.uk/faq}. Пожалуйста, - попробуйте найти ответ на свой вопрос там перед тем, как задавать - его в различных сообществах. - -\item [\TeX{} Catalogue] Если вы ищете какой-либо пакет, шрифт, - программу и т.п., то вам стоит заглянуть в \TeX{} Catalogue. Это - огромный каталог всего, что относится к \TeX{}у. См. - \OnCD{texmf-doc/doc/english/catalogue} или - \url{http://www.ctan.org/tex-archive/help/Catalogue}. - -\item [\TeX{} во всемирной паутине] Вот страничка, на которой много - ссылок по \TeX{}у, включая многочисленные книги, руководства и - статьи: \url{http://tug.org/interest.html}. - -\item [Архивы списков рассылки и групп] Два основных форума - технической поддержки "--- группа \url{news:comp.text.tex} и список - рассылки \email{texhax@tug.org}. В их архивах тысячи вопросов и - ответов на все случаи жизни. См. - \url{http://groups.google.com/groups?group=comp.text.tex} и - \url{http://tug.org/mail-archives/texhax}. Поиск, например, в Гугле - \url{http://google.com} тоже часто помогает найти ответ. - -\item [Вопросы на форумах] Если вы не можете найти ответа на ваш - вопрос, вы можете опубликовать вопрос в \dirname{comp.text.tex} при - помощи Google или вашей любимой новостной программы, или послав - письмо в \email{texhax@tug.org}. Но перед этим \emph{пожалуйста} - прочтите в ЧаВо совет о том, как правильно задавать вопросы на этих - форумах: - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. - -\item [Поддержка \TL{}] Если вы хотите сообщить о баге или - сообщить нам свои предложения и замечания о дистрибутиве \TL{}, - его установке или документации, пишите на лист рассылки - \email{tex-live@tug.org}. Однако если ваш вопрос касается - конкретной программы, входящей в \TL{}, вам лучше задавать - вопросы её автору или посылать их на соответствующий список - рассылки. - -\item[Русскоязычные ресурсы] \emph{(добавлено переводчиком)} - Эхоконференция \dirname{ru.tex} доступна как в сети ФИДО, так и в - Интернете (как \url{news:fido7.ru.tex}). Русские группы ФИДО можно - найти на многих серверах, например \code{demos.ddt.su}. В FAQ - этой группы (автор "--- Михаил Колодин) приводится много ссылок на - русскоязычные ресурсы. - -\end{description} - -С другой стороны, вы сами тоже можете помочь тем, у кого есть вопросы. -И \dirname{comp.text.tex}, и \code{texhax}, и \dirname{fido7.ru.tex} -открыты для всех, поэтому вы тоже можете присоединиться, читать и -помогать другим. Добро пожаловать в сообщество пользователей системы -\TeX{}! - - -% don't use \TL so the \uppercase in the headline works. Also so -% tex4ht ends up with the right TeX. Likewise the \protect's. - -\section{Структура \protect\TeX\protect\ Live} -\label{sec:struct-tl} - -Этот раздел описывает структуру и содержание \TK{} и его составной -части \TL{}. - - -\subsection{Дистрибутивы: \protect\pkgname{live}, - \protect\pkgname{inst}, \protect\pkgname{protext}} -\label{sec:multiple-dist} - -Ограничения на объём \acro{CD-ROM} заставили нас разделить \TL{} на -несколько дистрибутивов: - -\begin{description} - -\item [live] полная система, которой можно пользоваться - непосредственно с \acro{DVD} или установить на компьютер; она - чересчур велика для \acro{CD}. В \DVD{} также включена копия архива - \CTAN{}, дистрибутив \pkgname{protext} для Windows, дистрибутив - Mac\TeX\ для \MacOSX, (эти дистрибутивы не относятся к \TL{}), а - также некоторые другие пакеты в директории \texttt{texmf-extra}. - - Лицензии на использование \CTAN{}, \pkgname{protext}, Mac\TeX\ и - \texttt{texmf-extra} отличаются от лицензии \TL{}, поэтому будьте - внимательны при распространении или модификации программ, входящих в - эти дистрибутивы. - -\item [inst(allable)] полная система на \CD; чтобы она поместилась, мы - сжали всё, что могли. Поэтому невозможно пользоваться \TeX{}ом - непосредственно с этого \CD; вам придётся установить его на диск - вашего компьютера (отсюда название дистрибутива). Установка описана - в следующих разделах. - - -\item[protext] улучшенный вариант системы \MIKTEX\ для Windows. - \ProTeXt\ включает в себя дополнительные программы и упрощённую - установку. Он не зависит от \TL{} и включает собственные инструкции - по установке. Его можно запускать с \CD/\DVD\ или установить на ваш - диск. Страница \ProTeXt\ находится вот тут: - \url{http://tug.org/protext}. - - \ProTeXt\ находится и на live \DVD, и на отдельном \CD{} (для тех, - кто не может пользоваться \DVD). - -\end{description} - -\noindent Вы можете определить, какой дистрибутив перед вами, -открыв файл \texttt{00\var{type}.TL} в корневой директории. В -этом файле находится также дата выпуска \TL. - -Естественно, каждая группа пользователей \TeX а сама выбирает, что ей -распространять. - - - -\subsection{Корневые директории} -\label{sec:tld} - -Вот краткое описание корневых директорий в дистрибутиве \TL{}. На -\pkgname{live} \DVD вся иерархия \TL{} помещена в поддиректорию -\dirname{texliveYYYY}, где \texttt{YYYY} "--- номер года, а не в -корень диска. - -\smallskip -\begingroup - \renewcommand{\arraystretch}{1.3} % open up interrow spacing -\begin{tabular}{>{\ttfamily}lp{.78\hsize}} - bin & Программы системы \TeX{}, сгруппированные по - платформам \\ - source & Исходный код всех программ, включая дистрибутивы \Webc{} - \TeX{} и \MF{}. Они хранятся в сжатом архиве - (\cmdname{tar-bzip2}). \\ - setuptl & Программы установки для Линукса и Windows.\\ - support & Разные вспомогательные пакеты и программы. Они - \emph{не} устанавливаются по умолчанию. Сюда относятся - разнообразные редакторы и оболочки для \TeX{}а. \\ - texmf & Дерево для программ, их вспомогательных файлов и - документации. \emph{Не} включает форматов и пакетов \TeX а (это - дерево соответствует \texttt{TEXMFMAIN} в следующем разделе).\\ - texmf-dist & Основное дерево форматов и пакетов (это - дерево соответствует \texttt{TEXMFDIST} в следующем разделе). \\ - texmf-doc & Дерево самостоятельной документации, не относящейся к - отдельным пакетам и программам, сгруппированное по языкам. \\ - texmf-var & Дерево автоматически создаваемых файлов - (это - дерево соответствует \texttt{TEXMFSYSVAR} в следующем разделе). \\ -\end{tabular} -\endgroup - -\smallskip - -Кроме этих директорий, в корневой директории находятся скрипты -установки и файлы \filename{README} (на разных языках). - -Директория \dirname{texmf-doc} содержит документацию и только -документацию, но она не содержит всю документацию. Документация к -отдельным программам (руководства, man, info) находится в директории -\dirname{texmf/doc}, поскольку сами программы находятся в директории -\dirname{texmf}. Аналогично документация для макропакетов и форматов -находится в директории \dirname{texmf-dist/doc}. Для поиска -документации можно воспользоваться программами \cmdname{texdoc} или -\cmdname{texdoctk}. Можно также воспользоваться ссылками в файле -\OnCD{doc.html}. - -\subsection{Описание деревьев texmf} -\label{sec:texmftrees} - -В этом разделе описаны все переменные, задающие положение деревьев -texmf и их значения по умолчанию. Команда \texttt{texconfig conf} -показывает текущие значения этих переменных, так что вы можете легко -проверить, где эти директории находятся в вашей системе. - -\begin{ttdescription} -\item [TEXMFMAIN] Дерево, где находятся основные части системы, - такие, как вспомогательные скрипты (например, - \verb+web2c/mktexdir+), файлы со значениями текстовых констант и - другие. -\item [TEXMFDIST] Дерево с основным набором макропакетов, шрифтов и - т.д. в первоначальной конфигурации. -\item [TEXMFLOCAL] Дерево, которое может быть использовано - администраторами системы для дополнительных пакетов, - шрифтов и т.д., или установки обновлений. -\item [TEXMFHOME] Дерево, которое пользователи могут использовать для - установки собственных пакетов, шрифтов и т.д., или для обновлённых - версий системных пакетов. Эта переменная зависит по умолчанию от - переменной \verb+$HOME+, % $ - своей для каждого пользователя. -\item [TEXMFCONFIG] Это дерево используется утилитами - \verb+texconfig+, \verb+updmap+ и \verb+fmtutil+ программы te\TeX{} - для хранения модифицированных файлов конфигурации. По умолчанию - находится в директории \verb+$HOME+. %$ -\item [TEXMFSYSCONFIG] Это дерево используется утилитами - \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+ - программы te\TeX{} для хранения модифицированных файлов - конфигурации, общих для всех пользователей. -\item [TEXMFVAR] Это дерево используется утилитами \verb+texconfig+, - \verb+updmap+ и \verb+fmtutil+ программы te\TeX{} для хранения - создаваемых автоматически файлов: форматов, карт шрифтов. По - умолчанию находится в директории \verb+$HOME+. %$ -\item [TEXMFSYSVAR] Это дерево используется утилитами - \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+ - программы te\TeX{} для хранения создаваемых автоматически файлов: - форматов, карт шрифтов, "--- общих для всех пользователей. -\end{ttdescription} - -Более полное обсуждение утилиты \texttt{texconfig} и родственных ей -программ находится в разделе \ref{sec:texconfig}, -\p.\pageref{sec:texconfig}. - -\subsection{Расширения \protect\TeX{}а} -\label{sec:tex-extensions} - -В состав \TL{} входит несколько расширений \TeX{}а: - -\begin{description} - -\item [\eTeX] добавляет небольшой, но очень полезный набор новых примитивов -\label{text:etex} -(относящийся к макроподстановкам, чтению символов, дополнительным -возможностям отладки и многому другому) и расширения \TeXXeT{} для -вёрстки справа налево и слева направо. В обычном режиме \eTeX{} на -100\% совместим со стандартным\TeX{}ом. См. -\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. - -\item [pdf\TeX] включает в себя расширения \eTeX а. Эта программа - создаёт и файлы в формате Acrobat PDF, и стандартные \dvi{}. См. - \OnCD{texmf/doc/pdftex/manual/} и - \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. Эта - программа по умолчанию используется для генерирования всех форматов, - кроме plain \TeX. - -\item [Xe\TeX] добавляет поддержку Unicode и шрифтов в формате - OpenType, используя системные библиотеки. См. - \url{http://scripts.sil.org/xetex}. - -\item [\OMEGA\ (Омега)] основана на Unicode (система 16-битовых - символов), что позволяет работать одновременно почти со всеми - письменностями мира. Она также поддерживает так называемый <<процесс - трансляции \OMEGA{}>> (\acro{OTP}s) для сложных преобразований - произвольного входного потока. См. - \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (текст несколько устарел). - - -\item[Aleph] объединяет \OMEGA\ и \eTeX. См. краткую документацию в - \OnCD{texmf-dist/doc/aleph/base}. - -\end{description} - - -\subsection{Другие интересные программы в дистрибутиве \protect\TL} - -Вот несколько других часто используемых программ в дистрибутиве \TL{}: - -\begin{cmddescription} - -\item [bibtex] поддержка библиографий. - -\item [makeindex] поддержка алфавитных указателей. - -\item [dvips] преобразование \dvi{} в \PS{}. - -\item [xdvi] программа для просмотра \dvi{} для X Window System. - -\item [dvilj] драйвер для лазерных принтеров семейства HP LaserJet. - -\item [dv2dt, dt2dv] преобразование \dvi{} в текст и обратно. - -\item [dviconcat, dviselect] перестановка страниц в файлах \dvi{}. - -\item [dvipdfm] преобразование \dvi{} в PDF, альтернатива - pdf\TeX{}у, упомянутому выше. Пакеты \pkgname{ps4pdf} и -\pkgname{pdftricks} предлагают дополнительные возможности. - -\item [psselect, psnup, \ldots] утилиты для формата \PS{}. - -\item [lacheck] проверка синтаксиса \LaTeX{}а. - -\item [texexec] процессор для Con\TeX{}tа и PDF. - -\item [tex4ht] конвертер из \TeX{}а в HTML. - -\end{cmddescription} - - -\section{Установка в системах типа \protect\Unix} -\label{sec:unix-install} - -Как объясняется в разделе~\ref{sec:basic}, \p.~\pageref{sec:basic}, -\TL{} можно использовать тремя способами: - -\begin{enumerate} -\item Выполнять непосредственно с дистрибутивного диска. -\item Установить на диск вашего компьютера. -\item Интегрировать отдельный пакет или коллекцию в существующий \TeX. -\end{enumerate} - -\noindent В следующих разделах подробно описывается каждый из этих -способов для систем типа Unix. - -\ifSingleColumn \begin{figure}[ht]\noindent \fi -\begin{warningbox} - \textbf{Внимание: } \CD{} и \DVD{} \TK{} изготовлены в формате ISO - 9660 (High Sierra), \emph{включая} расширения Rock Ridge (и Joliet - для Windows). Поэтому для того, чтобы использовать \TK{}, - ваша система должна поддерживать расширения Rock Ridge. Пожалуйста, - посмотрите документацию к команде \cmdname{mount} для вашей системы - и выясните, как это делается. Если у вас несколько машин в локальной - сети, возможно, вам будет проще смонтировать \CD{} на машине, - которая поддерживает Rock Ridge, и читать с остальных машин по сети. - - \leavevmode\quad Современные системы должны читать диски без - проблем. Если у вас возникли трудности, сообщите нам. Дальнейший - текст предполагает, что вам удалось смонтировать диск на машине, которая - поддерживает Rock Ridge. -\end{warningbox} -\ifSingleColumn\end{figure}\fi - - -% -\subsection{Работа с \protect\TL{} непосредственно с - установочного диска (\Unix)} - -\def\runlive{% text repeated in windows section - Вы можете использовать \TeX{} непосредственно с \pkgname{live} - \DVD{}, не устанавливая его на ваш компьютер. (Собственно, отсюда - название <<\TL>>.) Однако \emph{невозможно} запустить \TeX{} - с других дисков коллекции (см. - раздел~\ref{sec:multiple-dist}, \p.~\pageref{sec:multiple-dist}). -} - - -\def\startinst{% repeated in other subsections - Сначала нам надо смонтировать \CD{} или \DVD{} с расширениями Rock - Ridge. Как именно это делается, зависит от вашей системы; команды - ниже работают для Линукса, хотя название устройства - (\filename{/dev/cdrom}) может быть другим. (Все наши примеры - используют \texttt{>} в качестве системного приглашения; команды, - набираемые пользователем, \Ucom{\texttt{подчёркнуты}}.): -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Теперь нужно перейти в смонтированную директорию: -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} - -\noindent В \MacOSX{} нужная директория обычно находится в директории -\dirname{/Volumes}, и диск монтируется автоматически. -} - -\def\installtlsh{ -Выполните скрипт установки \filename{install-tl.sh}: -\begin{alltt} -> \Ucom{sh install-tl.sh} -Welcome to TeX Live... -\end{alltt} - -\noindent После разнообразных стартовых сообщений и списка опций -главного меню, установочный скрипт попросит вас ввести -команду. Сделайте это, напечатав нужную букву и нажав \acro{RETURN}; не -печатайте угловых скобок. Можно печатать заглавную или строчную букву; -в примерах ниже приводятся строчные буквы. -} - -\runlive -\startinst -\installtlsh - -Чтобы работать прямо с дистрибутива, первой командой должна быть -\Ucom{d}, а затем подкоманда \Ucom{1}, чтобы установить директории. -Даже в этом случае мы должны выбрать директорию на локальном диске, -чтобы класть туда файлы, которые \TeX{} генерирует сам, например, -шрифты и форматы, а также изменённые конфигурационные файлы, если в -них появится необходимость. - -В этом примере мы будем использовать \dirname{/opt/texlive2007}. -Полезно использовать номер года в названии директории, поскольку -файлы, созданные разными версиями \TL{}, не всегда совместимы. -(Если значение по умолчанию \dirname{/usr/local/texlive/2007} вам -подходит, вы можете пропустить этот шаг.) - -\begin{alltt} -Enter command: \Ucom{d} -Current directories setup: -<1> TEXDIR: /usr/local/texlive/2007 -... -Enter command: \Ucom{1} -New value for TEXDIR [/usr/local/texlive/2007]: \Ucom{/opt/texlive2007} -... -Enter command: \Ucom{r} -\end{alltt} - -\noindent Мы снова в главном меню. Следующая и последняя команда -будет \Ucom{r}, чтобы сконфигурировать систему для работы с -дистрибутива, не устанавливая файлов на диск: -\begin{alltt} -Enter command: \Ucom{r} -Preparing destination directories... -... -Welcome to the TeX Live system! -> -\end{alltt} - -\noindent И, как показано выше, мы опять в системном шелле. - -Теперь мы должны изменить две переменные окружения: \envname{PATH}, в -соответствии с вашей архитектурой (так что вы сможете запускать -программы), и \envname{TEXMFSYSVAR}, в соответствии с указанным выше -значением. См. список названий архитектуры для различных систем в -таблице~\ref{tab:archlist}. - -\def\textruntexconfig{% - После завершения основной установки и установления переменных - окружения, следует запустить \cmdname{texconfig} или - \cmdname{texconfig-sys}, чтобы приспособить вашу систему для ваших - нужд. Это объясняется в разделе~\ref{sec:texconfig} на - стр.~\pageref{sec:texconfig}. -} -\textruntexconfig - - -\begin{table*}[ht] -\caption[Поддерживаемые архитектуры.]{Поддерживаемые архитектуры.} -\label{tab:archlist} -\begin{tabular}{>{\ttfamily}ll} -alpha-linux & HP Alpha GNU/Linux \\ -%alphaev5-osf4.0d & HP Alphaev5 OSF \\ -%alphaev5-osf4.0d & Compaq Alphaev5 OSF \\ -%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ -i386-darwin & Intel x86 \MacOSX \\ -i386-freebsd & Intel x86 FreeBSD \\ -i386-linux & Intel x86 GNU/Linux \\ -%i386-openbsd3.3 & Intel x86 OpenBSD \\ -%i386-solaris2.8 & Intel x86 Solaris \\ -mips-irix & SGI IRIX \\ -powerpc-aix & IBM RS/6000 AIX \\ -powerpc-darwin & PowerPC \MacOSX \\ -sparc-linux & Sun Sparc GNU/Linux \\ -sparc-solaris & Sun Sparc Solaris \\ -win32 & Windows (32-bit) \\ -x86\_64-linux & Intel x86 64-bit GNU/Linux \\ -\hline -\end{tabular} -\end{table*} - -\label{text:path} -Синтаксис задания переменных окружения и файл, куда следует поместить -соответствующие команды, зависят от вашего шелла. Если вы используете -шелл типа Bourne (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh} и -т.п.), добавьте к вашему \filename{$HOME/.profile} следующее: -\begin{alltt} -PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH -TEXMFSYSVAR=/opt/texlive2007/texmf-var; export TEXMFSYSVAR -\end{alltt} - -\noindent Для шеллов типа C shell (\cmdname{csh}, \cmdname{tcsh}), -добавьте к вашему \filename{$HOME/.cshrc} следующее: -\begin{alltt} -setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH -setenv TEXMFSYSVAR /opt/texlive2007/texmf-var -\end{alltt} - -\noindent Теперь выйдите из системы, войдите в неё опять и проверьте, -что всё работает (см. раздел~\ref{sec:test-install}, -\p.\pageref{sec:test-install}). - - -\def\textifindoubt{% -Если у вас что-то не получается, попробуйте спросить совета у -ближайших гуру; например, как монтировать дистрибутив \TL{}, -какую директорию или директории использовать, и как именно менять -личные файлы инициализации в вашей системе. -} -\textifindoubt - - -% -\subsection{Установка \protect\TeX\protect\ Live на диск} -\label{sec:unix-install-disk} - -Вполне возможно (собственно, как правило, именно это и делается) -установить систему \TL{} на диск. Это можно сделать с диска -\pkgname{live} или диска \pkgname{inst} (См. описание дистрибутивов в -разделе~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). - -\startinst -\installtlsh - -Список пунктов в главном меню указан в -таблице~\ref{tab:main-menu-options}. Порядок, в котором вы выбираете -пункты, обычно неважен, кроме того, что пункт \Ucom{i} обязательно -должен быть последним. Удобно всё же выбирать их в порядке, указанном -ниже. - -% apparently here.sty [H] doesn't support table*. -\begin{table}[H] -\caption{Опции главного меню установки.} -\label{tab:main-menu-options} -\begin{tabular}{>{\ttfamily}ll} -p & Платформа, на которую производится установка.\\ -b & Архитектура, для которой устанавливаются программы.\\ -s & Основная схема установки (минимальная, рекомендованная, полная и т.д.).\\ -c & Изменить схему установки для индивидуальных коллекций.\\ -l & Изменить схему установки для языковых коллекций.\\ -d & Директории для установки.\\ -o & Другие опции.\\ -i & Выполнить установку.\\ -\end{tabular} -\end{table} - -Вот подробное объяснение каждой опции. - -\textbf{\optname{p} "--- Платформа, на которую производится - установка.} Поскольку установочный скрипт автоматически определяет -вашу платформу, изменять эту переменную обычно не надо. Эта опция -используется в том случае, когда автоматическое определение даёт не -тот результат, который вам нужен. - -\textbf{\optname{b} "--- Архитектура, для которой устанавливаются - программы.} По умолчанию устанавливаются только программы для вашей -текущей платформы. В этом меню вы можете задать установку программ и -для других архитектур (или \emph{не} установить их для текущей -архитектуры). Это часто полезно, если вы используете одно и то же -дерево \TeX{}а для разных машин и раздаёте его по локальной сети. -Список поддерживаемых архитектур приведен в -таблице~\ref{tab:archlist}, \p.~\pageref{tab:archlist}. - -\textbf{\optname{s} "--- Основная схема установки.} В этом меню вы -можете выбрать основную схему установки пакетов. По умолчанию -используется полная схема (\optname{full}), которая устанавливает всё, -но вы можете выбрать минимальную схему (\optname{basic}), чтобы -сэкономить место на диске, или промежуточную схему (\optname{medium}). -Есть также специальные схемы для пользователей Omega и \acro{XML}. - -\textbf{\optname{c} "--- Индивидуальные коллекции.} Это меню -позволяет изменить выбранный основной схемой список отдельных -коллекций. Коллекции представляют собой следующий после схем уровень -иерархии \TL{}. Каждая коллекция "--- макросы \TeX{}а, семейства -шрифтов \MF{} и т.д, "--- состоит из нескольких пакетов. Пакеты -представляют собой нижний уровень иерархии \TL{}. В этом меню -заглавные и строчные буквы различаются. - -\textbf{\optname{l} "--- Языковые коллекции.} Смысл этого меню тот -же, что и предыдущего \Ucom{c}. Оно позволяет выбрать для установки -отдельные компоненты дистрибутива. В данном случае эти компоненты -соответствуют различным языкам. В этом меню заглавные и строчные буквы -различаются. Вот список языковых коллекций \TL: - -% xx really should generate list from texmf/tpm/collection/tex-lang* -% a la install-tl.sh. -\begin{tabbing} -\hspace{.50\linewidth} \= -\hspace{.50\linewidth} \kill - Арабский язык \> - Армянский язык \\ - Африканские языки (частично) \> - Британский английский \\ - Венгерский язык \> - Вьетнамский язык \\ - Голландский язык\> - Греческий язык\\ - Датский язык \> - Иврит \\ - Индийские языки \> - Испанский язык \\ - Итальянский язык \> - Кириллические языки \\ - Китайский, японский, корейский языки \> - Латынь\\ - Маньчжурские языки \> - Монгольский язык \\ - Немецкий язык\> - Норвежский язык \\ - Польский язык\> - Португальский язык \\ - Тибетский язык\> - Финский язык \\ - Французский язык \> - Хорватский язык\\ - Чешский и словацкий языки \> - Шведский язык \\ -\end{tabbing} - -\noindent Языковые коллекции обычно включают шрифты, макросы, таблицы -переноса и т.д. (Например, если вы выбираете коллекцию -\optname{French}, устанавливается -\pkgname{frenchle.sty}.) Кроме того, установка языковой коллекции -приводит к изменению конфигурационного файла \filename{language.dat}, -который управляет загрузкой таблиц переноса. - -\textbf{\optname{d} "--- Директории для установки}. Здесь можно -определить три директории: -\label{text:instdir} - -\begin{ttdescription} -\item [TEXDIR] Корневая директория, где устанавливается по умолчанию - всё остальное. По умолчанию это \dirname{/usr/local/texlive/2007}, - но это часто бывает нужным изменить. Мы рекомендуем включать номер - года в название директории, чтобы можно было держать отдельно разные - версии \TL{}. После тестирования новой версии вы сможете сделать - \dirname{/usr/local/texlive} ссылкой на соответствующую директорию. - - Под \MacOSX, распространённые оболочки ищут \TeX{} в - \dirname{/usr/local/teTeX}, поэтому вам может показаться удобнее - установить \TL{} тут. - -\item [TEXMFLOCAL] Это дерево директорий, куда системные скрипты - устанавливают файлы \TeX{}а, не относящиеся к определённой версии, - главным образом, шрифты. По умолчанию это - \dirname{/usr/local/texlive/texmf-local} и не зависит от текущей - версии \TL{}, потому что сюда также обычно помещают локальные пакеты - или конфигурационные файлы. - -\item [TEXMFSYSVAR] Это дерево директорий, куда скрипт - \cmdname{texconfig-sys} устанавливает файлы, зависящие от конкретной - версии. По умолчанию это \dirname{TEXDIR/texmf-var}, и обычно это - значение менять не ст\'оит. Есть также \envname{TEXMFSYSCONFIG}, - где \cmdname{texconfig} ищет изменённые файлы конфигурации. См. - более полное описание в разделе~\ref{sec:texconfig}, - \p.\pageref{sec:texconfig} - -\end{ttdescription} - -\textbf{\optname{o} "--- Другие опции.} В этом меню вы можете выбрать -следующие опции, которые влияют на процесс установки: - -\begin{ttdescription} -\item [a] Указать альтернативную директорию для генерированных - шрифтов. По умолчанию шрифты кладутся в \envname{TEXMFVAR}, как - объясняется выше. Альтернативная директория нужна, например, если - вы хотите смонтировать основное дерево только для чтения, и потому - вам нужна другая директория (возможно, своя на каждой из машин в - локальной сети) для динамически создаваемых шрифтов. - -\item [l] Создать символические ссылки для программ, документации в - формате man и/или \acro{GNU} Info. Например, вы можете захотеть создать - ссылки на файлы man под \dirname{/usr/local/man}, и на файлы Info - под \dirname{/usr/local/info}. (Разумеется, вам нужны права на - запись в соответствующие директории.) - - Мы не рекомендуем использовать эту опцию для установки \TL{} поверх - версии системы \TeX{} в вашем дистрибутиве. Она предназначена для - того, чтобы сделать ссылки в стандартных директориях вроде - \dirname{/usr/local/bin}, если в них нет файлов \TeX а. - -\item [d] Не производить установку документации. Это полезно, если вы - хотите сэкономить место на диске, или если вы уже установили - документацию в другом месте. - -\item [s] Не производить установку основного дерева шрифтов и макросов. - Это нужно, если вы хотите сделать одно общее дерево для разных машин - и/или платформ, экспортируя его, например, при помощи \acro{NFS}. - -\end{ttdescription} - -\textbf{i "--- Выполнить установку.} Когда вы зададите нужные -конфигурационные опции, введите \Ucom{i} чтобы начать установку в -выбранные директории. - -% text is similar to above, but no TEXMFSYSVAR, so we have to write out. -Последний шаг "--- включить зависящую от архитектуры поддиректорию -\dirname{TEXDIR/bin} в переменную \envname{PATH}, так что ваши новые -программы будут найдены. Названия архитектур приведены в -таблице~\ref{tab:archlist}, \p.~\pageref{tab:archlist}. При -необходимости вы можете просто указать директорию -\dirname{TEXDIR/bin}. - -Синтаксис соответствующих команд и стартовые файлы для этого -зависят от вашего шелла. Если вы используете шелл типа Bourne -(\cmdname{sh}, \cmdname{bash}, \cmdname{ksh} и т.п.), добавьте к -вашему \filename{$HOME/.profile} следующее: -\begin{alltt} -PATH=/usr/local/texlive2007/bin/\var{archname}:$PATH; export PATH -\end{alltt} - -\noindent Для шеллов типа C shell (\cmdname{csh}, \cmdname{tcsh}), -добавьте к вашему \filename{$HOME/.cshrc} следующее: -\begin{alltt} -setenv PATH /usr/local/texlive2007/bin/\var{archname}:$PATH -\end{alltt} - -\textruntexconfig - -Ниже приводится краткий комментированный пример полной установки, с -программами только для текущей системы и с рекомендованной выше -структурой директорий. Таким образом, нужна только одна команда, -\Ucom{i} для установки системы. Знаком \texttt{>}, как обычно, -обозначается системный промпт. - -\begin{alltt} -> \Ucom{sh install-tl.sh} -\Ucom{i} # выполнить установку -> \Ucom{texconfig} ... # См. раздел \ref{sec:texconfig} -# Новый элемент в переменной $PATH, для Линукса -> \Ucom{PATH=/usr/local/texlive2007/bin/i386-linux:$PATH; export PATH} -\end{alltt} - -Если в вашей системе есть команда \cmdname{manpath} (см. \code{man - manpath}), вы можете добавить информацию о командах \TL\ в системный -путь поиска команды \cmdname{man}. Для этого нужно изменить файл -\filename{/etc/manpath.config}; вам могут понадобиться права -системного администратора. Следующие строки в -\filename{/etc/manpath.config} добавляют информацию о командах \TL\ к -пути поиска команды \cmdname{man} (возможно, вам нужно будет изменить -их в соответствие с архитектурой вашей системы): -\begin{alltt} -MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux \ - /usr/local/texlive/2007/texmf/doc/man -\end{alltt} - -\textifindoubt - -\subsubsection{Установка в пакетном (неинтерактивном) режиме} -\label{sec:noninteractive-install} - -Вы можете задать директории установки в переменных окружения, а -затем установить систему в неинтерактивном режиме. Вот пример: -\begin{alltt} -> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} -> \Ucom{export TEXLIVE_INSTALL_PREFIX} -> \Ucom{echo i | sh install-tl.sh} -\end{alltt} - -Переменная \envname{TEXLIVE\_INSTALL\_PREFIX} задаёт новое значение -для директории установки, вместо \dirname{/usr/local/texlive}, -оставляя всё остальное без изменений, так что в примере выше система -будет установлена в \dirname{/opt/texlive/2007}. - -Как обычно в Юниксе, команда \Ucom{echo i} может быть вставлена в любую -последовательность команд благодаря редиректам, так что можно написать -сколь угодно сложный скрипт установки. - -Вот список переменных окружения: - -\begin{ttdescription} -\item [TEXLIVE\_INSTALL\_PREFIX] - Вместо \dirname{/usr/local/texlive}. -\item [TEXLIVE\_INSTALL\_TEXDIR] - Вместо \dirname{\$TEXLIVE_INSTALL_PREFIX}/2007. -\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] - Вместо \dirname{\$TEXLIVE_INSTALL_PREFIX/texmf-var}. -\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] - Вместо \dirname{\$TEXLIVE_INSTALL_TEXDIR/texmf-var}. -\item [TEXLIVE\_INSTALL\_TEXMFHOME] - Вместо \dirname{\$HOME/texmf}. -\end{ttdescription} - -Было бы интересно вместо этих переменных окружений использовать -традиционный для \acro{GNU} скрипт \filename{configure} с -соответствующими опциями. Мы будем благодарны тем, кто возьмётся -написать такой скрипт! - - - - -% -\subsection{Установка на диск индивидуальных пакетов} - -Вы можете добавить индивидуальные пакеты или коллекции из дистрибутива -в систему, отличную от \TL{} или в предыдущую версию -\TL{}. - -\startinst - -Запустите установочный скрипт \filename{install-pkg.sh} (не -\filename{install-tl.sh} "--- этот скрипт только для полной установки): -\begin{alltt} -> \Ucom{sh install-pkg.sh \var{options}} -\end{alltt} - -Первый набор опций выглядит следующим образом: - -\begin{ttdescription} -\item [-{}-package=\var{pkgname}] Индивидуальный пакет для установки. - -\item [-{}-collection=\var{colname}] Коллекция пакетов для установки. - -\item [-{}-nodoc] Не устанавливать документацию. - -\item [-{}-nosrc] Не устанавливать исходники. - -\item [-{}-cddir=\var{dir}] Директория, где находится дистрибутив; по - умолчанию "--- текущая директория. Если вы выполнили инструкции выше, - то это и будет нужная директория, и менять её не надо. - -\item [-{}-listdir=\var{dir}] Директория со списками, в которых - находится информация о пакетах. По умолчанию это - \var{cddir}; единственная причина, по - которой имеет смысл изменить это значение "--- если вы сами - конструируете новую версию \TL{}. - -\end{ttdescription} - -То, что произойдёт дальше, зависит от следующих опций. Если вы не -выберете ни одной из них, по умолчанию произойдёт установка выбранных -файлов. Директория, куда следует устанавливать файлы, будет -определена из текущего значения переменной окружения -\envname{\$TEXMFMAIN} командой \cmdname{kpsewhich}. Вы можете -изменить это значение при помощи переменной \envname{TEXMFMAIN} или -\envname{TEXMF}. - -\begin{ttdescription} -\item [-{}-listonly] Напечатать список файлов, которые должны быть - установлены, но ничего не устанавливать. - -\item [-{}-archive=\var{tarfile}] Вместо установки файлов в текущий - \TeX{}, создать архив \cmdname{tar}. - -\end{ttdescription} - -Дополнительные опции: - -\begin{ttdescription} - -\item [-{}-config] После установки запустить \code{texconfig init}. - -\item [-{}-nohash] Не запускать после установки \cmdname{mktexlsr} для - обновления базы данных о файлах. - -\item [-{}-verbose] Выводить дополнительную информацию по мере работы - скрипта. - -\end{ttdescription} - -Вот несколько примеров использования: - -\begin{enumerate} - -\item Посмотреть список файлов в пакете \pkgname{fancyhdr}, не - устанавливая его: - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} -> \Ucom{--listonly} -\fi{} -texmf/doc/latex/fancyhdr/README -texmf/doc/latex/fancyhdr/fancyhdr.pdf -... -\end{alltt} - -\item Установить пакет \pkgname{natbib}: -\begin{alltt} -> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} - -\item Установить пакет \pkgname{alg} без исходников и документации: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} -> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} - -\item Установить все пакеты из коллекции дополнительных макросов для -plain \TeX: -\begin{alltt} -> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} - -\item Записать все файлы из пакета \pkgname{pstricks} в архив -\cmdname{tar} в директории \path|/tmp|: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else -> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} -> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} - -\end{enumerate} - -\textifindoubt - - -% -\section{Действия после установки} -\label{sec:postinstall} - -После того, как основная установка проделана, вы должны -сконфигурировать систему под ваши потребности и провести тестирование. - -Ещё одно действие после установки \TL{} "--- установить -дополнительные пакеты, шрифты или программы, не включённые в -\TL{}. Идея состоит в том, чтобы установить эти дополнения под -\envname{TEXMFLOCAL} (если вы устанавливаете программы на диск) или под -\envname{TEXMFSYSVAR} (если вы работаете непосредственно с дистрибутива). -См. <<Директории для установки>> на \p.\pageref{text:instdir}. - -К сожалению, конкретные шаги могут сильно отличаться, поэтому мы не -пытаемся описать их тут. Вот несколько рекомендаций из сети: -\begin{itemize*} -\item -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} -\item -\url{http://www.ctan.org/installationadvice} -\item -\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} -\item -\url{http://www.ctan.org/tex-archive/info/Type1fonts} (установка -шрифтов и другие советы). -\end{itemize*} - - -\subsection{Программа \protect\cmdname{texconfig}} -\label{sec:texconfig} - -В любой момент после установки вы можете использовать программу -\cmdname{texconfig} чтобы переконфигурировать систему. Она -устанавливается в директории \texttt{TEXDIR/bin/\var{arch}} -(зависящей от архитектуры) вместе с остальными программами. - -Если вызвать её без аргументов, она перейдёт в полноэкранный режим, -который позволяет конфигурировать систему интерактивно. - -Эту программу можно вызывать также с разнообразными опциями. Ниже -приводятся примеры наиболее часто используемых (система \TL{} по -умолчанию настроена для печати на бумаге формата A4): - -\begin{ttdescription} - -\item [texconfig paper letter] установить размер бумаги по - умолчанию для команды всех программ и драйверов (\cmdname{pdftex}, - \cmdname{dvips}, \cmdname{dvipdfm}, \cmdname{xdvi}). Другим - вариантом является \optname{a4} (используется по умолчанию). - -\item [texconfig rehash] Обновить все базы данных файлов системы - \TeX{}. - -\item [texconfig faq] Показать ЧаВо \teTeX. (См. также основной - файл ЧаВо \TeX{} в \OnCD{texmf-doc/doc/english/FAQ-en}). - -\item [texconfig help] Напечатать информацию об использовании - \cmdname{texconfig}. - -\end{ttdescription} - -Разумеется, \cmdname{texconfig} может изменить только некоторые из -многих опций и конфигурационных параметров системы \TeX{}. Основной -конфигурационный файл для программ, основанных на \Webc{} называется -\filename{texmf.cnf}. Вы можете определить, где он находится, при -помощи команды \samp{kpsewhich texmf.cnf}; в этом файле много -комментариев, объясняющих конфигурационные параметры и их возможные -значения. - -Команда \cmdname{texconfig} изменяет \emph{личные файлы данного - пользователя}, например, в директории \dirname{$HOME/.texlive2007}. -Если вы устанавливаете \TeX{} только для себя, это не очень важно. Но -если вы устанавливаете \TeX{} для многопользовательской системы, вам -может понадобиться изменить конфигурационные файлы для \emph{всех} -пользователей. В этом случае вместо команды \cmdname{texconfig} вам -нужна команда \cmdname{texconfig-sys}. - -Аналогично, команды \cmdname{updmap} и \cmdname{fmtutil} теперь -изменяют файлы в \dirname{$HOME/.texliveYYYY}. Для изменений -системных конфигурационных файлов используйте \cmdname{updmap-sys} и -\cmdname{fmtutil-sys}. - -В особенности важно для многопользовательской системы создать -заранее стандартные форматы при помощи \texttt{fmtutil-sys - -{}-missing}. Иначе у каждого пользователя будет своя копия этих -форматов. - -Кроме того, если у вас есть модифицированные копии файлов -\filename{fmtutil.cnf} или \filename{updmap.cfg}, их следует поместить -в директорию \envname{TEXMFSYSCONFIG}. - -Переменные, в которых хранятся названия этих директорий, указаны в -разделе~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. Вы можете -проверить значения этих переменных при помощи команды -\texttt{texconfig conf} и изменить их путём редактирования файла -\filename{texmf.cnf}. - -\subsection{Тестирование установки} -\label{sec:test-install} - -После установки \TL{} вы, скорее всего, захотите проверить работу -системы, а уже затем перейти к созданию прекрасных документов и/или -шрифтов. - -В этом разделе описываются основные процедуры по тестированию системы. -Мы приводим команды для операционных систем типа Unix; под \MacOSX{} и -Windows вы, скорее всего, будете запускать тесты из \acro{GUI}, но -принцип тот же. - -\begin{enumerate} - -\item Сначала проверьте, что вы можете запускать программу - \cmdname{tex}: - -\begin{alltt} -> \Ucom{tex -{}-version} -TeX 3.141592 (Web2C 7.5.5) -kpathsea version 3.5.5 -... -\end{alltt} -Если вы получаете в ответ <> вместо номера версии и -информации о копирайте, у вас, скорее всего, нет директории с нужными -программами в переменной \envname{PATH}. См. обсуждение на -странице~\pageref{text:path}. - -\item Скомпилируйте простой \LaTeX{}овский файл: -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.141592... -... -Output written on sample2e.dvi (3 pages, 7496 bytes). -Transcript written on sample2e.log. -\end{alltt} -Если программа не может найти \filename{sample2e.tex} или другие -файлы, возможно, у вас остались следы от старой установки: переменные -окружения или конфигурационные файлы. Для отладки вы всегда можете -попросить \TeX{} точно сказать, что именно он ищет; см. <<Отладка>> на -стр.~\pageref{Debugging}. - -\item Посмотрите результат на экране: -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -(Под Windows аналогичная команда называется \cmdname{dviout}.) Вы должны -увидеть новое окно с красиво свёрстанным документом, объясняющим основы -\LaTeX{}а. (Если вы "--- новичок, вам ст\'оит его прочесть.) Чтобы -программа \cmdname{xdvi} могла запуститься, вы должны быть в среде X Window; -если это не так, или если переменная \envname{DISPLAY} установлена -неправильно, вы увидите ошибку \samp{Can't open display}. - -\item Создайте файл в формате \PS{} для печати или просмотра на экране: -\begin{alltt} -> \Ucom{dvips sample2e.dvi -o sample2e.ps} -\end{alltt} - -\item Создайте файл в формате \acro{PDF} вместо \dvi{}; команда ниже - компилирует файл \filename{.tex} и создаёт \acro{PDF}: -\begin{alltt} -> \Ucom{pdflatex sample2e.tex} -\end{alltt} - -\item Посмотрите результат на экране: -\begin{alltt} -> \Ucom{gv sample2e.pdf} -\textrm{или:} -> \Ucom{xpdf sample2e.pdf} -\end{alltt} -К сожалению, ни \cmdname{gv}, ни \cmdname{xpdf} не включены в текущую -версию \TL{}, так что вам придётся устанавливать их -отдельно. См. соответственно -\url{http://www.gnu.org/software/gv} и -\url{http://www.foolabs.com/xpdf}. - -\item Другие стандартные тестовые файлы, которые вам могут пригодиться: - -\begin{ttdescription} -\item [small2e.tex] Более простой документ, чем \filename{sample2e}, - удобный, если последний слишком велик для вас. -\item [testpage.tex] Проверяет поля и смещение бумаги для вашего - принтера. -\item [nfssfont.tex] Используется для печати таблиц шрифтов и тестов. -\item [testfont.tex] Печать таблиц шрифтов под plain \TeX{}. -\item [story.tex] Самый канонический файл в формате (plain) \TeX. Вы - должны напечатать \samp{\bs bye} в ответ на приглашение \code{*} - после \samp{tex story.tex}. -\end{ttdescription} -Вы можете компилировать эти файлы точно так же, как мы компилировали -выше \filename{sample2e.tex}, заменив \samp{latex} на \samp{tex} для -plain \TeX. - -\end{enumerate} - -Если вы новичок в \TeX{}е, или вам нужна помощь в создании документов -на языке \TeX{} или \LaTeX{}, посетите -\url{http://tug.org/begin.html}. - - -\section{Установка в системе \protect\MacOSX{}} -\label{sec:mac-install} - -Рекомендуемый способ установить \TeX{} для \MacOSX{} "--- использовать -дистрибутив Mac\TeX, который впервые включён в \TL{} в 2005 году. Он -находится на \DVD{} \pkgname{live} в директории \dirname{mactex/}. В -этой директории содержится инсталлятор для полоного дистрибутива -\TeX а, основанный на комбинации te\TeX а и \TL, а также много других -программ и документации. Страница проекта находится тут: -\url{http://tug.org/mactex}. - -Если вы предпочитаете, можно установить \TeX{} для \MacOSX{} и -непосредственно из \TL{} при помощи скриптов \filename{install*}, как -описано ниже. - -Для того, чтобы запустить установочные скрипты под \MacOSX, вам -понадобится оболочка \cmdname{bash}. Если вы работаете под -\MacOSX~10.2 или старше, у вас уже установлена \cmdname{bash}. Если -же вы работаете под более ранней версией \MacOSX{}, то вашей оболочкой -по умолчанию является \cmdname{zsh}, которая не подойдёт для установки -\MacOSX. Вам понадобится установить \cmdname{bash} из Интернета или, -скорее всего, обновить систему. - -Если у вас установлена \cmdname{bash}, вы можете следовать инструкциям -для установки в системе Юникс из в предыдущего раздела. -См. раздел~\ref{sec:unix-install}, \p.~\pageref{sec:unix-install}; -в нём упомянуты особенности \MacOSX. - - - - -\section{Установка в системе \protect\Windows} -\label{sec:win-install} - -Мы рады сообщить, что в системе \TL{} с 2005 года снова есть -инсталлятор для Windows, \cmdname{tlpmgui.exe} (см. -раздел~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, где -описаны различные варианты дистрибутива). - -У программы \cmdname{tlpmgui} такие же опции, как у инсталлятора для -Юникса, только они выбираются из графической оболочки. Как и под -Юниксом, эта программа позволяет выбрать схемы, индивидуальные -коллекции, директории для установки и т.д. Эти основные элементы -описаны в разделе~\ref{sec:unix-install-disk} на -\p.\pageref{sec:unix-install-disk}. Программа также позволяет -выполнять многие действия после установки: добавление и удаление -пакетов, обновление базы данных файлов, создание форматов. - -Для любителей подробностей отметим, что программа \cmdname{tlpmgui} -использует в качестве <<мотора>> программу для командной строки -Windows под названием \cmdname{tlpm}. - -Дистрибутив для Windows, включенный в \TL, основан на новых -программах, позаимствованных у проекта \acro{W32TEX}, любезно -предоставленных Акирой Какуто. В нём -также есть более старые (но всё ещё работающие) программы, написанные -Фабрицием Попинье, а также новый просмотрщик \texttt{dvi}, -\textsf{dviout}, написанный Тошио Ошимой. - - -Дистрибутив \TL{} может быть установлен под операционной системой -Windows~98, \acro{ME}, \acro{NT}, \acro{2K} или \acro{XP}. Более -старые версии Windows (3.1x) и \acro{MS-DOS} не поддерживаются. - - - -\textbf{Внимание:} Пользователи Win9.x должны проверить, что у них -есть достаточно места для переменных окружения перед установкой. -Программа \cmdname{tlpmgui.exe} не добавляет места к переменным -окружения. В процессе установке создаются несколько переменных -окружения, и возможно, что для них не хватит места. Чтобы добавить -его, напишите в файл \texttt{config.sys} строчку -\texttt{SHELL=COMMAND.COM /E:4096 /P} - - -\subsection{Установка системы \protect\TeX\protect\ Live на диск} - -После того, как вы вставите \acro{CD} с \TL{} в компьютер, автостарт -должен запустить программу \cmdname{tlpmgui}. Если этого не -произойдёт, щёлкните на \guiseq{Start\arw Run}, а затем напечатайте -\verb|:\setuptl\tplmgui.exe| (или -\verb|:\texlive\setuptl\tplmgui.exe|, если вы -устанавливаете с \acro{DVD}), где \verb|| "--- диск \acro{CD} -или \acro{DVD}, и нажмите <>. - -Должно появиться окно установки под названием \guiseq{TeX Live - installation and maintenance utility}. В нём содержатся следующие -разделы: \guiseq{Main customization}, \guiseq{Install}, \guiseq{Select - a scheme}, \guiseq{Select systems}, \guiseq{Directories} и -\guiseq{Options}. - -В разделе \guiseq{Directories} вслед за иконкой \guiseq{CD/DVD} должна -быть указана директория (например, \texttt{F:/} или -\texttt{F:/texlive/}), но если её там нет, щёлкните на иконку -\guiseq{CD/DVD} и выберите \acro{CD/DVD} с \TL{} или \TK. - -Директорию, куда будет устанавливаться программа, можно указать, щёлкнув -по иконке \guiseq{TLroot}. Эта директория будет храниться в -переменной \path|TLroot|. - -В секции \guiseq{Select a scheme} нужно выбрать нужную схему установки -из списка (например, \guiseq{scheme-gust}). Каждая схема -сопровождается кнопкой \guiseq{Info}, при нажатии на которую -появляется краткое описание схемы. - -Схема "--- это большой набор файлов, предназначенный для определённого -типа пользователя. Есть общие схемы для минимальной, средней и полной -установки. Остальные схемы предназначены либо для определённых групп -пользователей \TeX а (например, для членов GUST или GUTenberg) или -для определённых приложений (например, для совместной работы -\acro{XML} и \TeX а). В выбранной схеме можно сделать дополнительные -изменения. Это делается в разделе \guiseq{Main customization} путём -выбора дополнительных коллекций из групп \guiseq{Standard collections} -или \guiseq{Language collections}. Например, нажав на кнопку -\guiseq{Select} у надписи \guiseq{Standard -collections}, можно выбрать дополнительные коллекции, например, \MP, -\acro{Omega} или документацию на разных языках. - -Коллекция \guiseq{Wintools} выбирается по умолчанию, так как содержит -много небольших полезных программ, которые обычно не установлены в -Windows, например, конвертеры графики \cmdname{sam2p}, -\cmdname{jpeg2ps} и \cmdname{tiff2png}, архиваторы \cmdname{bzip2}, -\cmdname{gzip} и \cmdname{unzip}, а также программа \cmdname{wget}, -нужная для (новой) утилиты \cmdname{getnonfreefonts}. - -Затем щёлкните на кнопку \guiseq{Select} у надписи \guiseq{Language - Collections} в разделе \guiseq{Main customization}. Это откроет -меню \guiseq{Language collections}, в котором можно выбрать языковые -коллекции для установки. - -Затем щелкните на кнопку \guiseq{Install} в разделе \guiseq{Install}, -и начнётся процесс установки. - -\textbf{Примечание:} Коллекции \guiseq{Perl} и \guiseq{Ghostscript} -устанавливаются только по требованию. Тем не менее их следует -установить, "--- разве что они уже установлены, а вы действительно -понимаете, что делаете. Обе коллекции необходимы для многих важных -программ. При их установке, будут автоматически присвоены значения -переменным \verb|PERL5LIB| и \verb|GS_LIB|, а путь к программе -Ghostscript будет добавлен в \verb|PATH|. - - -Для системы \TL{} нужно проделать ряд операций после установки -(генерирование форматов и базы данных для имён файлов, установка -переменных и т.д.). Все они делаются на этом шаге, и некоторые могут -занять довольно много времени. Поэтому подождите, пожалуйста, пока не -появится сообщение об успешном завершении установки. - -В меню \guiseq{Start\arw Programs\arw TeXLive2007} будет добавлена -программа \cmdname{tlpmgui} (а также \cmdname{dviout}, если она установлена). - -При необходимости (Win9x/WinME) вам будет предложено перегрузить -компьютер. - - -\subsection{Дополнительные пакеты для Windows} -\label{sec:win-xemtex} - -Для полноты дистрибутиву \TL необходимы дополнительные пакеты, -которые обычно не встречаются на машине под Windows. Многие скрипты -написаны на языке Perl. Некоторые важные программы требуют -интерпретатор языка \PS{} Ghostscript для отображения или -преобразования файлов. Набор программ для работы с графическими -файлами также полезен в ряде случаев. Наконец, приспособленный для -работы с \TeX{}ом редактор значительно облегчает набор и -компилирование. - - -Все эти пакеты для Windows найти довольно легко, но для того, чтобы -несколько облегчить вашу жизнь, мы включили в \TL следующий набор: -\begin{itemize} -\item \cmdname{Ghostscript} 8.54 -\item минимальный комплект \cmdname{Perl} 5.8, достаточный для всех скриптов - \TL{}. -\item набор программ \textsf{win-tools}: \textsf{bzip2, gzip, - jpeg2ps, tiff2png}/ -% \item подмножество \cmdname{ImageMagick} 5.5.6 -% \item программы для проверки орфографии \cmdname{ISpell} -% \item \cmdname{XEmacs} 21.5.14 с набором пакетов для -% \TeX{}а. -\end{itemize} - -Эти пакеты взяты из дистрибутива \XEmTeX{} (потомок дистрибутива -fp\TeX). - - -Если вы не хотите устанавливать эту коллекцию, то вы можете -самостоятельно установить требуемые пакеты. Вот список мест, откуда -эти пакеты можно взять: -\begin{description} -\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.activestate.com/} (но вам могут - понадобиться дополнительные пакеты из архива CPAN: - \url{http://www.cpan.org/}) -\item[ImageMagick] \url{http://www.imagemagick.com} -\item[NetPBM] Вы можете вместо ImageMagick использовать NetPBM для - преобразования ваших графических файлов. Страничка NetPBM находится на - \url{http://netpbm.sourceforge.net/} -\item[Редакторы для работы с \TeX{}ом] Имеется широкий выбор - редакторов, и какой из них - использовать "--- дело вкуса. Вот подборка: - \begin{itemize*} - \item \cmdname{GNU Emacs}: есть версия для Windows, её страничка: - \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} - \item \cmdname{AucTeX для Emacs}: есть версия для Windows, см. - \url{ftp://alpha.gnu.org/gnu/auctex} - \item \cmdname{WinShell}: есть на \TL в директории - \path|support|, его страничка: \url{http://www.winshell.de} - \item \cmdname{WinEdt}: это shareware, доступно на - \url{http://www.winedt.com} - \item \cmdname{Vim}: доступен на \url{http://www.vim.org} - \item \cmdname{TeXnicCenter} "--- это свободная программа, которая - есть на странице - \url{http://www.toolscenter.org} и в дистрибутиве - pro\TeX t. - \item \cmdname{LEd}: можно найти на - \url{http://www.ctan.org/support/LEd} - \item \cmdname{SciTE}: можно найти на - \url{http://www.scintilla.org/SciTE.html} - \end{itemize*} -\end{description} - -Вы можете установить и другие программы, которые не являются -свободными\footnote{То есть их нельзя свободно модифицировать и - распространять. Это не всегда означает, что вы не можете приобрести - их бесплатно.}, и потому не включены в дистрибутив \TL{}, например, -\cmdname{GSView}, графическая оболочка к программе -\cmdname{Ghostscript}, удобная для файлов в форматах PS/PDF. -\cmdname{GSView} можно найти на -\url{http://www.cs.wisc.edu/~ghost/gsview/} или любом зеркале архива -\acro{CTAN}. - -\section{Действия после установки под \protect\Windows} - -Если вы установили дистрибутив \TL, вы можете использовать -\cmdname{tlpmgui} для изменения и поддержки установленной системы. - -\subsection{Добавление и удаление пакетов} - -Поскольку программа \cmdname{tlpmgui} находится в меню -\guiseq{Start\arw Programs\arw TeXLive2007}, запустите её оттуда. -Появится окно \guiseq{TeX Live installation and maintenance utility}. -В нём есть несколько страниц: \guiseq{Add Packages}, \guiseq{Remove - packages}, \guiseq{Manage installation}, \guiseq{Remove - installation}. - -Щёлкните по страничке \guiseq{Add packages} или \guiseq{Remove - packages}, а затем: -\begin{itemize} -\item На первой страничке выберите нужный \CD{} (или \DVD{} с - директорией \dirname{texlive}), нажав на кнопку \guiseq{CD/DVD}. - -\item Щелкните на кнопку \guiseq{Search} в разделе \guiseq{Buttons} - чтобы вызвать или обновить список пакетов в разделе \guiseq{Select - packages to\dots} - - При добавлении пакетов список установленных пакетов сравнивается со - списком на \CD/\DVD. Только неустановленные пакеты показываются в - меню. Вы можете сами выбрать, что именно устанавливать. - - При удалении отдельных пакетов показывается только список - установленных пакетов. - - Заметьте, что в меню \guiseq{Add packages} и \guiseq{Remove - packages} сначала указывается список коллекций. - -\item Выберите пакет, щёлкнув на название пакета. Кнопка - \guiseq{Info} в разделе \guiseq{Buttons} показывает краткое описание - выбранного пакета в разделе \guiseq{Info about the selected item}. - Чтобы выбрать сразу несколько пакетов, нажмите клавиши Ctrl или - Shift и щёлкните левой клавишей мышки, или зажмите левую клавишу и - выберите несколько пакетов мышкой. - -\item Щёлкните на кнопку \guiseq{Install} или \guiseq{Remove} в - разделе \guiseq{Buttons} для того, чтобы произвести требуемое - действие. -\end{itemize} - - -\subsection{Конфигурация и другие административные действия} - -На странице \guiseq{Manage the installation} содержатся кнопки для -добавления поддержки языка, который не был выбран при установке, -добавления/регенерация формата, который не был выбран при установке -или был модифицирован после установки. - -Можно произвести следующие действия: -\begin{itemize} -\item Обновить базу данных \filename{ls-R} -\item Создать форматы (Все или только отсутствующие) -\item Редактировать \filename{language.dat} -\item Редактировать \filename{fmtutil.cnf} -\item Редактировать \filename{updmap.cfg} -\end{itemize} - -Примечание: Вы можете закрыть окно \guiseq{Edit\dots} кнопкой -\guiseq{Cancel} или кнопкой \guiseq{Done}. В последнем случае система -начнёт создавать заново файлы форматов (или карты шрифтов, если вы -редактировали \filename{updmap.cfg}), после чего будет обоновлена база -данных \filename{ls-R}. - -Более подробно конфигурация системы описана в разделе~\ref{sec:persconf}, -\p.\pageref{sec:persconf}. - -\subsection{Удаление \protect\TL{}} - -Страница \guiseq{Remove the TeX Live installation} открывает окно с -кнопками, которые не ст\'оит описывать. Мы не знаем никого, кому бы -они могли понадобиться\dots :-) - - -В любом случае, если у вас есть директория \path|texmf-local| для -ваших собственных добавлений, процесс удаления не сотрёт ни её, ни -файлов в этой директории. Однако она будет удалена, если вы -потребуете этого явно. Директория \path|setuptl|, содержащая -\cmdname{tlpmgui} и другие файлы, также не будет удалена. Вам -придётся удалять эти директории вручную. - - -\subsection{Добавление ваших собственных пакетов к дистрибутиву} - -Во-первых, что бы вы ни делали, \textbf{не забудьте перегенерировать - базу данных имён файлов \filename{ls-R}.} Иначе новые файлы не -будут найдены системой. Вы можете это делать либо через графическую -оболочку \cmdname{tlpmgui}, выбрав соответствующее действие на -странице \guiseq{Manage the installation}, либо вручную при помощи -команды \file{mktexlsr}. - -Если вы хотите добавить файлы, которых нет в дистрибутиве \TL{}, лучше -всего их добавлять в директорию \path|$TEXMFLOCAL|. Тогда они -сохранятся при обновлении \TL. - -Директория \path|$TEXMFLOCAL| первоначально пуста. Если, например, вы -хотите добавить файлы поддержки для программы символических вычислений -Maple, вы можете положить стилевые файлы в -\path|c:\TeXLive2007\texmf-local\tex\latex\maple\|, а документацию в - \path|c:\TeXLive2007\texmf-local\doc\latex\maple\|. - - -\subsection{Запуск \texttt{tlmp.exe} из командной строки} - -У программы \texttt{tlmp.exe}, которую использует графическая -оболочка \cmdname{tlmpgui}, есть ряд полезных ключей. Вы можете -получить список ключей, запустив -\begin{verbatim} -tlmp --help -\end{verbatim} - -Дополнительную информацию можно найти в файле \filename{tlmp.readme}. - -\subsection{Установка по сети} - -\KPS{} знает про сетевые диски, поэтому вы можете раздавать дерево -\path{TEXMF} по сети. Но есть и ещё более интересный вариант. Все -\TeX{}овские и конфигурационные файлы, то есть всё, кроме файлов в -директории \path|bin/win32| можно использовать одновременно под -Windows и под Юниксом. Это означает, что вы можете, например, при -помощи Самбы, монтировать диски с сервера \acro{NT} на рабочую станцию -под Юниксом или наоборот. Возможно несколько стратегий: -\begin{itemize} -\item Положить всё на сервер. Добавьте файлы для каждой архитектуры в - соответствующую поддиректорию \path|bin|, например, - \path|bin/win32| и \path|bin/i386-linux|. Затем установите ваши - переменные. Вы можете использовать сетевые имена, чтобы задать - нужные директории под Win32. -\item Использовать локальные копии программ и форматов. В этом случае - задайте в переменной \path|$TEXMFMAIN| главное дерево \path|texmf|, - которое лежит на сервере. Установите \path|$TEXMFVAR| на локальную - директорию с локальными конфигурационными файлами и автоматически - созданными файлами. -\end{itemize} - - -\subsection{Чем Windows отличаются от других систем?} - -Версия \Webc{} для Windows отличается некоторыми специфическими -чертами, которые ст\'оит указать. - -\begin{description} -\item[\cmdname{kpsecheck}] Эта программа предоставляет некоторые - опции, которые не подошли команде \cmdname{kpsewhich}. Она позволит - вам перечислить все файлы, которые встречаются несколько раз в - деревьях \path{texmf}. Это может быть удобно, но как правило, вы - будете получать ненужную информацию (вроде десятков файлов - \path|README|). Эти файлы привели бы к противоречиям в хешах - \KPS{}; к счастью, \KPS{} никогда их не ищет. Поэтому вы можете - объединять опцию \path|-multiple-occurences| с двумя другими опциями - для включения или исключения файлов, чьи имена соответствуют - определённому шаблону (вы можете запросить несколько шаблонов). - - Команда \cmdname{kpsecheck} сообщает также статус общей памяти: - используется или не используется. Это может быть полезно знать, - потому что если статус памяти \samp{in use}, значит, запущен один - или несколько процессов, и эффект команды \cmdname{mktexlsr} может - быть отложен до тех пор, пока все процессы, использующие библиотеку - \KPS{}, не завершатся. - - Наконец, эта же команда сообщает о том, где по её мнению находится - Ghostscript. Под Win32 для многих программ проще искать - Ghostscript dll по значению регистра, чем использовать - \path|PATH|, длина которого ограничена. -\item[\Webc{}] У программ, собранных под \Webc{} под Windows, есть - на одну опцию больше, чем у программ, собранных под версией для Юникса: - \begin{itemize} - \item \path|-proctimes| вывести статистику о затраченном - времени. Следует заметить, что, поскольку система Win9x не - является по-настоящему многозадачной системой, у неё нет надёжного - таймера для небольших промежутков времени, и поэтому результат - лишь приблизителен. Под NT/2K/XP результат довольно точно - показывает системное время и время, затраченное прикладными - программами. Для пользователей Юникса напомним, что под Windows - обычно нет стандартной команды \path|time|. - \end{itemize} -\end{description} - - - -\subsection{Индивидуальные настройки} -\label{sec:persconf} - -\subsubsection{Dvips} - -Конфигурационный файл для dvips "--- \\ -\verb+C:\TeXLive2007\texmf-var\dvips\config\config.ps+.\\ -Вы можете открыть его в любом редакторе и изменить некоторые параметры: - %(\cmdname{WinShell} will do fine) - -\begin{description} -\item [шрифты] вы можете изменить текущий режим \MF{} или разрешение - принтера, если \cmdname{dvips} понадобится генерировать шрифты в - формате \acro{PK}. По умолчанию она использует шрифты в формате - Type~1, так что она не должна вызывать \cmdname{mktexpk} чересчур часто; -\item[принтер] вы можете сказать \cmdname{dvips}, где вы хотите - печатать по умолчанию. Если за опцией \optname{o} не следует - название принтера, то на диск записывается файл в формате \PS{}. Вы - можете указать \cmdname{dvips} название принтера, например: -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[бумага] Вы можете изменить размер бумаги с европейского (A4) на - US letter, сделав US letter первым размером бумаги в файле. Найдите - в файле строки, начинающиеся с \code{@}. Поменяйте строки так, - чтобы этот раздел начинался со строк:\\ -\hspace*{1em} @ letterSize 8.5in 11in\\ -\hspace*{1em} @ letter 8.5in 11in\\ -\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ -\hspace*{1em} @+ letter\\ -\hspace*{1em} @+ \%\%EndPaperSize -\end{description} - -Текущая версия \TL{} всегда создаёт обновлённые версии файлов -fontmaps для Dvips and Pdftex. Это делается программой -\cmdname{updmap} во время установки. -Если вы добавляете пакеты вручную, отредактируйте файл -\verb+updmap.cfg+ в \path|$TEXMFVAR/web2c|. - -\subsubsection{PdfTeX} - -Если вы используете программу pdf{}latex, чтобы писать непосредственно -в формате \acro{PDF}, и размер листа бумаги для вас \acro{US} letter, -отредактируйте файл\\ -\verb+C:\TeXLive2007\texmf-var\tex\generic\config\pdftexconfig.tex+,\\ -изменив в нём \samp{\bs pdfpagewidth} и \samp{\bs pdfpageheight}. Там -должно быть: -\begin{alltt} -\bs{}pdfpagewidth=8.5 true in -\bs{}pdfpageheight=11 true in -\end{alltt} -Сохраните файл и выйдите из редактора. - - -\subsubsection{Xe\TeX} - -Xe\TeX{} для Windows статически собран с fontconfig~2.4.2. -Конфигурационный файл для fontconfig "--- \verb+fonts.conf+. -Комментарии находятся в самом файле, который можно найти в директории, -указанной командой \texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. - - -\subsubsection{GSView} -Программа GSView теперь распространяется под лицензией Aladdin, и -поэтому не включена в \TL{}. - -Вы можете захотеть изменить размер страницы на US letter. Если это -так, запустите GSView из меню \guiseq{Start} и выберите -\guiseq{Media\arw Letter}. - -Кроме того, вы можете изменить настройки так, чтобы получить самое -качественное изображение на экране. В меню \guiseq{Media \arw Display - Settings}, выставьте \optname{Text Alpha} и \optname{Graphics Alpha} -на 4~бита. - -Заметьте, что после установки все файлы \code{.ps} и \code{.eps} будут -автоматически открываться программой \cmdname{GSView}. - -По поводу печати, см. раздел~\ref{printing} ниже. - - -\subsection{Тестирование} - -Общие инструкции по тестированию находятся в -разделе~\ref{sec:test-install} (\p.\pageref{sec:test-install}). В этом -разделе описаны тесты, специфические для Windows. - -Откройте файл \verb+sample2e.tex+ в вашем редакторе (Xemacs, -WinShell). Этот файл можно найти в директории, например, -\path|C:\TeXLive2007\texmf-dist\tex\latex\base|. На экране должен появиться -исходный код в формате \LaTeX. Скомпилируйте его, щёлкнув по меню -\guiseq{Command\arw LaTeX} (XEmacs) или иконке <<\LaTeX>> -(WinShell), затем посмотрите на результат, щёлкнув по меню -\guiseq{Command\arw View DVI} (XEmacs) или иконке <> -(WinShell). - -При первом просмотре файлов \cmdname{dviout}, программа создаст -экранные шрифты, которые не установлены в системе. Через некоторое -время б\'ольшая часть шрифтов будет создана, и окошко создания шрифтов -будет появляться нечасто. - -\textbf{Совет на будущее:} Если \LaTeX\ останавливается, потому что не -может найти нужного файла, вы можете нажать \code{Ctrl-z}, чтобы выйти -из программы. - - -\subsection{Печать} -\label{printing} - -Вы можете печатать из \cmdname{dviout}. В этом случае печать будет -производиться через универсальный драйвер Windows. Он по определению -совместим со всеми принтерами. Но у него есть недостаток: он может -генерировать огромные промежуточные файлы, и некоторые (старые) версии -Windows их не любят. Его преимущество в том, что вы можете вставлять -графику в формате \acro{BMP} или \acro{WMF}. Вам также надо правильно -выставить параметры печати, иначе вы можете -получить уменьшенную или увеличенную страницу (печать с разрешением -600\dpi{} на принтере с разрешением 300\dpi{} даст вам только четверть -страницы). - -Печать будет быстрее и надёжнее, если вы запустите \cmdname{dvips}, -чтобы создать файл \filename{.ps}, а затем напечатаете его из -\cmdname{GSView}. В \cmdname{GSview} выберите \guiseq{File\arw - Print\ldots}. Появится окно \guiseq{Print}. - -Если у вас \PS{}-принтер, \textit{обязательно выберите -\guiseq{\PS{} Printer}}. Это делается в меню \guiseq{Print Method} -внизу слева в окне \guiseq{Print}. Вы затем можете выбрать любой из -установленных принтеров. Если вы не выберите \optname{\PS{} - Printer}, печать не будет работать. - -Если вы используете не \PS{}-принтер, выберите \guiseq{Ghostscript - device} в меню \guiseq{Print Method}, затем щёлкните на кнопку -справа \guiseq{djet500} и выберите ваше принтер из появившегося -списка. (Если у вас старая версия \cmdname{GSView}, проверьте, что -\optname{\PS{} Printer} \textit{не} выбран, и выберите принтер из -списка \guiseq{Device}.) - - -\subsection{Советы пользователям Win32} - -\subsubsection{Разные типы Win32} - -То, что мы называем Win32, не является операционной системой само по -себе. Это большой набор функций (около 12\,000 в заголовках -\acro{SDK} от Микрософта), которые используются для написания программ -для разных операционных систем семейства Windows. - -Есть разные типы Windows: -\begin{itemize} -\item Win95, Win98 и Win\acro{ME}, которые \emph{являются не - настоящими многозадачными системами,} а перелицовками \acro{DOS}. Это - может быть более или менее убедительно доказано наблюдением за - процессом загрузки. \acro{PC} загружает \path|command.com|. Если - вы остановите процесс загрузки, вы можете спросить текущую версию - \acro{DOS}, и система ответит что-то вроде \samp{MS-DOS 7.0} (по - крайней мере в старых версиях Win9x). -\item Windows \acro{NT}, новая операционная система, написанная с - нуля, способная к настоящей многозадачности, и включающая много - высокоуровневых возможностей. -\item Windows 2000, основанная на \acro{NT}, но со всеми возможностями - Win98. - \item Windows \acro{XP}, которая бывает Personal и Pro. Это последний - шаг в слиянии двух линеек продуктов (Win9x и \acro{NT}). \acro{XP} - основана на \acro{NT}. -\end{itemize} - - -Win9x могут одновременно запускать 32 и 16-битовые программы. Но -операционная система сама написана не полностью в 32-битовом режиме, и -не поддерживает защищённый режим: 16-битовые программы могут -переписать память операционной системы! Некоторые части системы, -например, \acro{GDI} (Graphical Device Interface, интерфейс к -графическим устройствам) управляют ограниченными ресурсами, вроде -битмапов, шрифтов и т.д. для всех программ, которые могут работать -одновременно. Все заголовки битмапов, доступные одновременно, не -могут занимать больше, чем 64\,Kb. Это объясняет, тот печальный факт, -что вы можете поставить систему на колени, например, используя много -графических объектов. - -\acro{NT}, {2K} и \acro{XP} свободны от этих и других ограничений -Win9x. Это настоящие многозадачные системы с защищённой памятью. -Они гораздо лучше отзываются на действия пользователя, чем Win9x, -из-за лучшего управления памятью, лучшей файловой системы и т.д. - -\subsubsection{Командная строка} - -Вы можете спросить: <<Зачем мне нужна командная строка, если я работаю -под Windows?>> - -Хороший вопрос! Проблема на самом деле очень общая. Не все операции -удобно делать из \acro{GUI}. Командная строка даёт вам возможности -программирования "--- если за ней стоит хороший интерпретатор. - -Но проблема ещё более фундаментальна: \TeX{} является \emph{пакетной} -программой. Не интерактивной. \TeX{}у надо вычислить оптимальную -вёрстку для всей страницы, перекрёстные ссылки и т.д. Это можно -сделать только глобальной компиляцией всего документа. Эту задачу -(пока) невозможно решить интерактивно. - -Это означает, что \TeX{} надо использовать из командной строки. На -самом деле ситуация вовсе не так уж плоха. У программ, занимающихся -сложной обработкой потока из командной строки, есть преимущество: их -проще отлаживать, потому что они не зависят от проблем \acro{GUI}, и -можно написать отдельные \acro{GUI}, которые взаимодействуют с такими -программами. Это и происходит с \TeX{}ом, где вы можете общаться с -программой через \acro{GUI} редактора. - -Однако вам в ряде ситуаций может понадобиться командная -строка. Например, у вас могут возникнуть трудности, и вам потребуется -отладка. - -\begin{description} - \item[Win9x] Вы можете получить командную строку, либо щёлкнув по - иконке \acro{MS-DOS} в меню \guiseq{Start\arw Programs}, либо - выбрав из меню \guiseq{Start\arw Run} и напечатав там - \path|command.com|. - \item[NT, 2K, XP] Вы можете получить командную строку, найдя - \guiseq{Command Prompt} в меню \guiseq{Start\arw Accessories}. Вы - также можете выбрать меню \guiseq{Start\arw Run} и напечатать там - \path|cmd.exe|, название нового интерпретатора командной строки в - \acro{NT} (именно поэтому неправильно называть его окном - \emph{DOS}!). -\end{description} - -Детали выхода в командную строку могут измениться в других версиях -Windows. - - -\subsubsection{Разделители путей} - -API Win32 понимает и \path|/|, и \path|\| в качестве разделителей в -названиях директорий. Но интерпретаторы команд не понимают первого из -них! Поэтому, когда путь к файлу используется в программе, вы можете -использовать оба разделителя, даже в одном и том же пути. Но в -командной строке вы можете использовать в качестве разделителя только -\path|\|. Причина заключается в совместимости: интерпретатор команд -использует \samp{/} для аргументов команд. - -После этого длинного предисловия мы можем сказать: не удивляйтесь, -если вы встретите директории, записанные в формате Юникса: \fpTeX{} -является портом \Webc, и пытается достичь совместимости на разных -платформах. По этой причине все конфигурационные файлы, где -указывается путь по директориям, делают это в формате Юникса. - -\subsubsection{Файловые системы} -\label{sec:clusters} - -Пожалуй, худшей чертой Win9x с точки зрения\TeX а является так -называемая файловая система \acro{FAT}. \TeX{} использует -очень много маленьких файлов, с размерами 1--3\,Kb. Файловая система -\acro{FAT} очень древняя, она на много десятилетий старше -многогигабайтовых дисков, которые распространены -сегодня. Неудивительно, что -она не может эффективно управлять десятками тысяч \TeX{}овских файлов, -входящих в состав \TL{}. Файловая система \acro{FAT} выделяет как -минимум 32\,Kb \emph{любому} файлу на большом разделе. Это -означает, что система \TeX{} занимает намного больше места, чем ей на -самом деле нужно. - -Другие, более современные файловые системы, \acro{FAT32} и -\acro{NTFS}, лишены этого недостатка. Они используют кластеры -размером в 4\,Kb. (На \acro{NTFS} размер кластера можно уменьшить до -512 байт.) - -\subsubsection{Как добавить директорию в PATH} - -Есть пары переменных и их значений, которые ведут себя как глобальные -переменные для всех программ. Набор таких переменных называется -\emph{окружением}. Каждая программа получает копию текущего -окружения. Она может опросить или изменить значение любой переменной. -Изменение происходит с локальной копией окружения, и не переходит в -другие программы. - -Переменная \envname{PATH} "--- особая переменная, используемая для -поиска запускаемых вами программ. Она задаётся по-разному в Win9x, -WinME and NT/2K/XP: - -\begin{description} -\item[Windows 95/98] Отредактируйте файл \path|autoexec.bat|. В этом - файле должна быть строка, начинающаяся с \texttt{PATH=}, после чего - следует список директорий, разделённых \path|;|. Добавьте - директорию с программами \TL{} к списку, например, так: -\begin{verbatim} -PATH=c:\windows;c:\windows\system;c:\TeXLive2007\bin\win32 -\end{verbatim} -\item[Windows ME] Вам надо запустить специальную программу - \path|c:\windows\system\msconfig.exe| чтобы изменить переменные - окружения. В этой программе выберите <> и измените - нужные переменные. Вам будет предложено рестартовать машину после - изменения. -\item[Windows NT/2K/XP] Щёлкните левой клавишей мышки на \guiseq{Start - \arw Settings \arw Control Panel}. Откроется окно с иконками - панели управления. Щёлкните на <>. Откроется окно <>. Щёлкните на \textsf{Environment} или найдите - \guiseq{Environment Variables} среди диалоговых окон. Теперь вы - сможете изменить окружение для себя. Примечание: там также показано - системное окружение. Обычно вы не можете изменить системные - переменные, если у вас нет прав администратора. Если вы хотите - изменить \envname{PATH} для всех пользователей, обратитесь к вашему - системному администратору. Если вы сами системный администратор, - вы должны знать, что вы делаете. - - Если там уже есть переменная \envname{PATH}, щёлкните на - \envname{PATH}. В поле \textsf{Variable} появится \texttt{PATH}, а - в поле \textsf{Value} текущее значение переменной: список директорий, - разделённых \path|;|. Добавьте директорию, где расположены нужные - программы, например, \path|c:\TeXLive2007\bin\win32|. - Если у вас не задана переменная \envname{PATH}, щёлкните на поле - \textsf{Variable} и впечатайте \texttt{PATH}, щёлкните на поле - \textsf{Value} и впечатайте директорию. - Внимание: Щёлкните на \textsf{Apply} перед тем, как нажать - \textsf{Ok}, иначе значение \envname{PATH} не изменится. Будьте - очень аккуратны, изменяя переменные окружения. -\end{description} - -Лучший способ убедиться, что переменная установлена правильно: -откройте консоль и напечатайте -\begin{verbatim} -set VARIABLE -\end{verbatim} -система должна напечатать её значение. - -\subsubsection{Движки \TeX{}а} - -Если вы взглянете в документацию \Webc{}, вы увидите, -что все различные программы на основе \TeX{}а используют один и тот -же компилятор, Например, \path|tex.exe| и \path|latex.exe| являются -копиями одной и той же программы, но используют различные форматы в -зависимости от того, под каким именем они вызваны. - -Под Юниксом это сделано путём использования \emph{символических - ссылок}. Это экономит массу места на диске, потому что одна и та же -программа используется для разных форматов. - -API Win32 не знает про символические ссылки. Поэтому чтобы сэкономить -место, все основные программы \TeX{}а упакованы в DLL (\emph{Dynamic - Linked Library}, динамически подгружаемая библиотека). Это означает, -что у вас могут быть такие файлы: -\begin{alltt} -2006-11-23 07:06 2 560 latex.exe -2007-01-06 23:54 1 073 664 pdftex.dll -2006-01-28 08:05 2 560 pdftex.exe -\end{alltt} -а файл \path|latex.exe| на самом деле является копией файла -\path|pdftex.exe|, использующей тот же \path|pdftex.dll|. -Этот же метод используется для программ \path|mktex*.exe|, которые -вызывают библиотеку \path|mktex.dll|, - -Мы включили в дистрибутив программу \path|irun.exe| для создания аналога -юниксовских жёстких ссылок для программ под Win32. - -\subsection{Что делать в случае проблем} -\label{sec:troubleshooting} - -\subsubsection{Что делать, если \texttt{latex} не находит ваших файлов?} - -\begin{itemize} - -\item Программа \cmdname{kpsewhich} помогает в отладке. Однако программа - \cmdname{kpsewhich} выдаёт отладочную информацию на - \cmdname{stderr}, а программы для консоли Windows не знают, как - сбросить \cmdname{stderr} в файл. (Консоль в NT и Win2k может это - сделать, но способ, описанный здесь, работает в любой ситуации). - Для диагностики вы можете временно установить следующую переменную - окружения (в окне \acro{DOS}): - -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -Вы также можете установить уровень отладки: -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -Аналогично чтобы перенаправить \cmdname{stderr} на \cmdname{stdout}, -сделайте так: -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -Теперь вы можете направить \cmdname{stderr} и \cmdname{stdout} в один -и тот же файл. - -\item Предполагая, что вы установили систему под \path|c:/TeX|, - проверьте следующие значения: \\ - {\small - \begin{tabular}{ll} - \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ - \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ - \path|kpsewhich -expand-path $TEXMFCNF| & - \path|.;c:/TeX/texmf-var/web2c;| \\ - \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| - \end{tabular} -} -\item Если в вашем окружении установлены относящиеся к \TeX у - значения, пожалуйста, удалите их. Они имеют преимущество перед - теми. которые заданы в - \path{texmf.cnf}. -\item Проверьте значения в:\\ -{\small - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & - \path|c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm|\\ -\texttt{kpsewhich latex.fmt} & -\path|c:/TeX/texmf-var/web2c/latex.fmt| - \end{tabular} -} -\item Если всё до этого момента правильно, \TeX{} и прочие программы - должные работать. Если это не так, поиграйтесь с опцией - \path|-debug=n| для \path|kpsewhich|, и проверьте все значения. - Попытайтесть определить проблему и сообщить автору. -\end{itemize} - -\subsubsection{Что делать, если установка произошла не так, как ожидалось?} - -Вот несколько вещей, которые вы можете проверить: - -\begin{enumerate} -\item Находится ли \file{tex.exe} в \path|PATH|? - -\item Установлена ли переменная \path|TEXMFCNF| на - \path|c:/TeXLive2007/texmf-var/web2c| (значение по умолчанию)? - -\item Есть ли ошибки в логах программы \file{tlmpgui.exe}? Вы можете - найти файл \file{tlmpgui.log} в директории \file{TEMP}. Ищите - строку \samp{Error} в этом файле. Заметьте, что в логе могут - оказаться ошибки после генерирования некоторых форматов. Не надо - паниковать: возможно, эти форматы просто не установлены. - -\item Есть ли объявление о багах на \url{http://tug.org/texlive/}? -(Маловероятно, но проверить ст\'оит.) - - -\end{enumerate} - -Дистрибутив \TL{} состоит из сотен программ и десятков тысяч -файлов из разных источников. Поэтому очень трудно предсказать все -возможные источники ошибок. Тем не менее мы попытаемся вам помочь -(см, раздел~\ref{sec:help} \p.~\pageref{sec:help}). - - - -% don't use \Webc so the \uppercase in the headline works. -\section{Руководство пользователя Web2C} - -\Webc{} "--- это интегрированная коллекция программ, относящихся к -\TeX{}у: сам \TeX{}, \MF{}, \MP, \BibTeX{}, и т.д. Это сердце -\TL{}. - -Немного истории. Первая версия программы была написана Томасом -Рокики, который в 1987 году создал систему \TeX{}-to-C, адаптировав -патчи для Юникса, разработанные в основном Говардом Трики и Павлом -Куртисом. Тим Морган стал поддерживать систему, и в этот период её -название сменилось на Web-to-C\@. В 1990 году Карл Берри взял на себя -этот проект, координируя работу десятков программистов, а в 1997 он -передал руководство Олафу Веберу. - -Система \Webc{} работает на Юниксе, 32-битовых Windows, \MacOSX{}, и -других операционных системах. Она использует оригинальные исходники -Кнута для \TeX{}а и других программ, написанных на языке \web{} и -переведённых на C. Основные программы системы: - -\begin{cmddescription} -\item[bibtex] Поддержка библиографий. -\item[dmp] Перевод \cmdname{troff} в MPX (картинки в \MP{}). -\item[dvicopy] Раскрытие виртуальные шрифты в файлах \dvi{}. -\item[dvitomp] Перевод \dvi{} в MPX (рисунки в \MP{}). -\item[dvitype] Перевод \dvi{} в текст. -\item[gftodvi] Гранки шрифтов. -\item[gftopk] Упаковка шрифтов -\item[gftype] Перевод GF в текст. -\item[makempx] Вёрстка меток \MP{}. -\item[mf] Создание шрифтов. -\item[mft] Вёрстка исходников \MF{}. -\item[mpost] Создание технических диаграмм. -\item[mpto] Извлечение меток \MP{}. -\item[newer] Сравнение дат модификации. -\item[patgen] Создание таблиц переносов. -\item[pktogf] Перевод PK в GF. -\item[pktype] Перевод PK в текст -\item[pltotf] Перевод из списка свойств шрифта в TFM. -\item[pooltype] Показ файлов pool в \web{}. -\item[tangle] Перевод \web{} в Pascal. -\item[tex] Вёрстка. -\item[tftopl] Перевод TFM в список свойств шрифта. -\item[vftovp] Перевод виртуального шрифта в список свойств шрифта. -\item[vptovf] Перевод списка свойств шрифта в виртуальный шрифт. -\item[weave] Перевод \web{} в \TeX. -\end{cmddescription} - -\noindent Полностью эти программы описаны в документации к -соответствующим пакетам и самой \Webc{}. Однако знание некоторых -общих принципов для всей семьи программ поможет вам полнее -использовать программы системы \Webc{}. - -Все программы поддерживают стандартные опции \acro{GNU}: -\begin{ttdescription} -\item[-{}-help] напечатать краткую справку -\item[-{}-verbose] печатать подробную информацию по мере работы -\item[-{}-version] Напечатать версию программы и завершить работу. -\end{ttdescription} - -Для поиска файлов программы \Webc{} используют библиотеку -\KPS{}. Эта библиотека использует комбинацию переменных окружения и -конфигурационных файлов, чтобы найти нужные файлы в огромной системе -\TeX{}. \Webc{} может просматривать одновременно больше одного дерева -директорий, что полезно для работы со стандартным дистрибутивом -\TeX{}а и его локальными расширениями. Для ускорения поисков файлов -каждое дерево содержит файл \file{ls-R}, в котором указаны названия и -относительные пути всех файлов в этом дереве. - -\subsection{Поиск файлов в Kpathsea} - -Рассмотрим сначала общий алгоритм библиотеки \KPS. - -Будем называть \emph{путём поиска} набор разделённых двоеточием или -точкой с запятой \emph{элементов пути}, представляющих из себя в -основном названия директорий. Путь поиска может иметь много -источников. Чтобы найти файл \samp{my-file} в директории -\samp{.:/dir}, \KPS{} проверяет каждый элемент пути по очереди: -сначала \file{./my-file}, затем \file{/dir/my-file}, возвращая первый -файл (или, возможно, все файлы). - -Чтобы работать с разными операционными системами, \KPS{} под системой, -отличной от Юникса может использовать разделители, отличные от -\samp{:} и \samp{/}. - -Чтобы проверить определённый элемент пути \var{p}, \KPS{} вначале -проверяет наличие базы данных (см. раздел <<База данных -файлов>> на стр.~\pageref{Filename-database}), т.е., есть ли база в -директории, которая является префиксом для \var{p}. Если это так, -спецификация пути сравнивается с содержимым базы данных. - -Если база данных не существует, или не относится к этому элементу -пути, или не содержит нужного элемента, проверяется файловая система -(если это не запрещено спецификацией, начинающейся с \samp{!!}, и если -файл должен существовать). \KPS{} конструирует список директорий, -которые соответствуют элементу, и в каждой директории ищет нужный -файл, - -Условие <<файл должен существовать>> важно для файлов \samp{.vf} и -файлов, которые открывает \TeX{} по команде \cs{openin}. Такие файлы -могут и не существовать (например, файл \file{cmr10.vf}), и было бы -неправильно искать их на диске. Поэтому, если вы не обновите -\file{ls-R} при установке нового файла \samp{.vf}, он никогда не будет -найден. Каждый элемент пути ищется по очереди: сначала база данных, -затем диск. Если нужный файл найден, поиск останавливается, и -возвращается результат. - -Хотя самый простой и часто встречающийся элемент пути "--- это -название директории, \KPS{} поддерживает дополнительные возможности: -разнообразные значения по умолчанию, имена переменных окружения, -значения из конфигурационных файлов, домашние директории -пользователей, рекурсивный поиск поддиректорий. Поэтому мы говорим, -что \KPS{} \emph{вычисляет} элемент пути, т.е., что библиотека -преобразует спецификации в имя или имена директории. Это описано в -следующих разделах в том же порядке, в котором происходит поиск. - -Заметьте, что имя файла при поиске может быть абсолютным или -относительным, т.е. начинаться с \samp{/}, или \samp{./}, или -\samp{../}, \KPS{} просто проверяет, существует ли файл. - -\ifSingleColumn -\else -\begin{figure*} -\verbatiminput{examples/ex5.tex} -\setlength{\abovecaptionskip}{0pt} - \caption{Пример конфигурационного файла} - \label{fig:config-sample} -\end{figure*} -\fi - -\subsubsection{Источники путей поиска} -\label{Path-sources} - -Путь поиска может иметь разные источники. \KPS{} использует их в -следующем порядке: - -\begin{enumerate} -\item Установленные пользователем переменные окружения, например - \envname{TEXINPUTS}\@. Переменные окружения с точкой и названием - программы имеют преимущество; например если \samp{latex} "--- имя - программы. то \envname{TEXINPUTS.latex} имеет преимущество перед - \envname{TEXINPUTS}. -\item - Конфигурационный файл, специфический для данной программы, например, - строка - \samp{S /a:/b} в \file{config.ps} для \cmdname{dvips}. -\item - Конфигурационный файл \KPS{} \file{texmf.cnf}, содержащий строку - типа - \samp{TEXINPUTS=/c:/d} (см. ниже). -\item Значение, заданное при компиляции. -\end{enumerate} -\noindent Вы можете увидеть каждое из этих значений для данного пути -поиска, задав соответствующий уровень отладки (см. <<Отладка>> -на стр.~\pageref{Debugging}). - -\subsubsection{Конфигурационные файлы} - -\begingroup\tolerance=3500 -\KPS{} читает \emph{конфигурационные файлы} -\file{texmf.cnf} для задания своих параметров. Путь поиска для этих -файлов называется \envname{TEXMFCNF} (по умолчанию, такой файл -находится в поддиректории \file{texmf/web2c}). \emph{Все} найденные -файлы \file{texmf.cnf} будут прочитаны, и определения в более ранних -файлах имеют преимущество перед определениями в более поздних. Таким -образом, если путь поиска задан как \verb|.:$TEXMF|, значения в -\file{./texmf.cnf} имеют преимущество перед значениями в -\verb|$TEXMF/texmf.cnf|. -\endgroup - -\begin{itemize} -\item - Комментарии начинаются с \code{\%} и продолжаются до конца строки. -\item - Пустые строки игнорируются -\item - \bs{} в конце строки означает продолжение, т.е. добавляется - следующая строка. Пробелы в начале следующей строки не - игнорируются. -\item - Оставшиеся строки имеют вид -\begin{alltt} - \emph{variable}[.\emph{progname}] [=] \emph{value} -\end{alltt}% - где \samp{=} и пробелы вокруг могут опускаться. -\item - \ttvar{variable} может содержать любые символы, кроме пробела, - \samp{=} или \samp{.}, но надёжнее всего придерживаться набора - \samp{A-Za-z\_}. -\item - Если есть \samp{.\var{progname}}, определение относится только к - программе, которая называется - \texttt{\var{progname}} или \texttt{\var{progname}.exe}. Это - позволяет, например разным видам \TeX{}а иметь разные пути поиска. -\item \var{value} может содержать любые символы, кроме - \code{\%} и \samp{@}. Нельзя использовать - \code{\$\var{var}.\var{prog}} в правой части; вместо этого вы должны - задать дополнительную переменную. - \samp{;} в \samp{:} под Юниксом эквивалентно \samp{:}; это - полезно, чтобы поддерживать общий файл для Юникса, \acro{MS-DOS} и - Windows. -\item - Все определения читаются до подстановок, поэтому к переменным можно - обращаться до того, как они определены. -\end{itemize} -Фрагмент конфигурационного файла, иллюстрирующий эти правила, приведeн -\ifSingleColumn -ниже: - -\verbatiminput{examples/ex5.tex} -\else -приведeн на Рис.~\ref{fig:config-sample}. -\fi - -\subsubsection{Подстановка путей} -\label{Path-expansion} - - -\KPS{} распознаёт определённые специальные символы и конструкции в -путях поиска, аналогичные конструкциям в стандартных оболочках -Юникса. Например, сложный путь -\verb+~$USER/{foo,bar}//baz+, означает все поддиректории директорий -\file{foo} и \file{bar} в домашней директории пользователя -\texttt{\$USER}, которые содержат файл или поддиректорию \file{baz}. -Это объяснено в следующем разделе. - -%$ -\subsubsection{Подстановка по умолчанию} -\label{Default-expansion} - -\tolerance=2500 - -Если путь поиска с наибольшим приоритетом (см. раздел <Источники путей -поиска>> на стр.~\pageref{Path-sources}) содержит \emph{дополнительное - двоеточие} (в начале, в конце, двойное), \KPS{} заменяет его -следующим по приоритету путём. Если этот вставленный путь содержит -дополнительное двоеточие, то же происходит со следующим путём. -Например, если переменная окружения задана как - -\tolerance=1500 - -\begin{alltt} -> \Ucom{setenv TEXINPUTS /home/karl:} -\end{alltt} -и \code{TEXINPUTS} в файле \file{texmf.cnf} содержит - -\begin{alltt} - .:\$TEXMF//tex -\end{alltt} -то поиск будет происходить с путём - -\begin{alltt} - /home/karl:.:\$TEXMF//tex -\end{alltt} - -Поскольку было бы бесполезно вставлять значение по умолчанию более чем -один раз, \KPS{} изменяет только одно лишнее двоеточие, и оставляет -остальные: она проверяет сначала двоеточие в начале, потом в конце, -потом двойные двоеточия. - -\subsubsection{Подстановка скобок} - -Полезна также подстановка скобок, из-за которой, например, -\verb+v{a,b}w+ означает \verb+vaw:vbw+. Вложенность тут допускается. -Благодаря этому можно иметь несколько иерархий директорий, путём -присвоения значения со скобками \code{\$TEXMF}. -Например, в файле \file{texmf.cnf}, можно найти следующее определение -(это упрощение, на самом деле там ещё больше деревьев): -\begin{verbatim} - TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} -\end{verbatim} -Благодаря этому можно писать такое: -\begin{verbatim} - TEXINPUTS = .;$TEXMF/tex// -\end{verbatim} -%$ -что означает, что кроме текущей директории будет происходить поиск -только в \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, -\code{\$TEXMFVAR/tex} и \code{\$TEXMFMAIN/tex} (последние два дерева -используют файлы \file{ls-R}). Это удобно для поддержки двух -параллельных структур, <<замороженной>> (например, на \CD) и -обновляемой по мере появления новых версий. Используя переменную -\code{\$TEXMF} во всех определениях, можно задать поиск в обновляемом -дереве первым. - -\subsubsection{Подстановка поддиректорий} -\label{Subdirectory-expansion} - -Два или более слэша \samp{/} в элементе пути вслед за именем директории -\var{d} заменяются всеми поддиректориями \var{d} рекурсивно. На каждом -уровне порядок поиска по директориям \emph{не определён}. - -Если вы определите компоненты имени файла после \samp{//}, только -поддиректории с соответствующими компонентами будут включены. -Например, \samp{/a//b} даёт поддиректории \file{/a/1/b}, -\file{/a/2/b}, \file{/a/1/1/b}, и т.д., но не \file{/a/b/c} или -\file{/a/1}. - -Возможны несколько конструкций \samp{//} в одном пути, но -\samp{//} в начале пути игнорируются. - -\subsubsection{Список специальных символов и их значений} - -В следующем списке приводятся специальные символы в конфигурационных -файлах \KPS{}. - -\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} -\begin{ttdescription} -\item[\CODE{:}] Разделитель в спецификациях путей; в начале или конце - означает подстановку по умолчанию. -\item[\CODE{;}] Разделитель для не-Юникса (то же, что \code{:}). -\item[\CODE{\$}] Подстановка переменных. -\item[\CODE{\string~}] Означает домашнюю директорию пользователя. -\item[\CODE{\char`\{...\char`\}}] Подстановка скобок. -\item[\CODE{//}] Подстановка поддиректорий (может встретиться где - угодно, кроме начала пути). -\item[\CODE{\%}] Начало комментария. -\item[\CODE{\bs}] Символ продолжения (для команд из нескольких строк). -\item[\CODE{!!}] Поиск \emph{только} в базе данных, но \emph{не} на - диске. -\end{ttdescription} - - -\subsection{Базы данных} -\label{Filename-database} - -\KPS{} старается минимизировать обращение к диску при поиске. Тем не -менее в системах с большим количеством директорий поиск в каждой -возможной директории может занять долгое время (это особенно верно, -если надо проверить сотни директорий со шрифтами). Поэтому \KPS{} -умеет использовать внешний текстовый файл, -<<базу данных>> \file{ls-R}, который знает, где находятся файлы в -директориях, что даёт возможность избежать частых обращений к диску. - -Ещё одна база данных, файл \file{aliases} позволяет вам давать -дополнительные названия файлам в \file{ls-R}. Это полезно, если вам -нужно соблюдать правило \acro{DOS} <<8.3>>. - -\subsubsection{Базы данных \texttt{ls-R}} -\label{ls-R} - -Как объяснено выше, основная база данных называется \file{ls-R}. Вы -можете создать её в корне каждого дерева \TeX{}а, которое -просматривается \KPS{} (по умолчанию, \code{\$TEXMF}); в большинстве -случаев иерархия только одна. \KPS{} ищет файлы \file{ls-R} в пути -\code{TEXMFDBS}. - -Рекомендуемый способ создания и поддержки \samp{ls-R} "--- скрипт -\code{mktexlsr}, включённый в дистрибутив. Он вызывается разными -скриптами \samp{mktex}\dots. В принципе этот скрипт выполняет команды -типа -\begin{alltt} -cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R -\end{alltt} -при условии, что в вашей системе \code{ls} даёт вывод в нужном формате -(\acro{GNU} \code{ls} годится). Чтобы поддерживать базу данных в -текущем состоянии, проще всего перегенерировать её регулярно из -\code{cron}а, так что она автоматически обновляется после установки -нового пакета. - -Если файл не найден в базе данных, по умолчанию \KPS{} ищет на диске. -Если элемент пути начинается с \samp{!!}, то поиск происходит -\emph{только} в базе данных. - - -\subsubsection{kpsewhich: поиск файлов} -\label{Invoking-kpsewhich} - -Программа \texttt{kpsewhich} выполняет поиск в соответствии с -алгоритмом, описанным выше. Это может быть полезно в качестве -варианта команды \code{find} для поиска файлов в иерархиях \TeX{}а -(это широко используется в скриптах \samp{mktex}\dots). - -\begin{alltt} -> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} -\end{alltt} -Опции, указанные в \ttvar{option}, начинаются либо с \samp{-} -либо \samp{-{}-}, и любые однозначные сокращения допустимы. - -\KPS{} рассматривает каждый аргумент, не являющийся опцией, как имя -файла, и возвращает первый найденный файл. Нет опции вернуть все -найденные файлы (для этого можно использовать программу \samp{find}). - -Наиболее важные опции описаны ниже. - -\begin{ttdescription} -\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\ - Установить разрешение \ttvar{num}; это влияет только на поиск файлов - \samp{gf} и \samp{pk}. Синоним \samp{-D}, для - совместимости с \cmdname{dvips}. По умолчанию 600. - -\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ - Установить формат для поиска \ttvar{name}. По умолчанию, формат - определяется из имени файла. Для форматов, для которых нет - однозначного суффикса, например, файлов \MP{} и конфигурационных - файлов - \cmdname{dvips}, вы должны указать название, известное \KPS{}, - например, \texttt{tex} или \texttt{enc files}. Список можно - получить командой \texttt{kpsewhich -{}-help}. - -\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ - Установить значение режима \ttvar{string}; это виляет только на - поиск файлов \samp{gf} и \samp{pk}. Значения по умолчанию нет: - ищутся файлы для всех режимов. - -\item[\texttt{-{}-must-exist}]\mbox{}\\ - Сделать всё возможное, чтобы найти файл включая поиск на диске. По - умолчанию для повышения эффективности просматривается только база - данных \file{ls-R}. - -\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ - Искать в наборе директорий \ttvar{string} (как обычно, разделённых - двоеточиями), вместо того, чтобы вычислять путь поиска по имени - файла. \samp{//} и обычные подстановки работают. Опции - \samp{-{}-path} и \samp{-{}-format} несовместимы. - -\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ - Установить имя программы равным \texttt{\var{name}}. Это влияет на - путь поиска из-за префикса \texttt{.\var{progname}}. По умолчанию - \cmdname{kpsewhich}. - -\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ - Показать путь, используемый при поисках файлов типа - \texttt{\var{name}}. Можно использовать расширение (\code{.pk}, - \code{.vf} и т.д.) или название, как для опции \samp{-{}-format}. - -\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ - Установить уровень отладки \texttt{\var{num}}. -\end{ttdescription} - - - -\subsubsection{Примеры использования} -\label{SExamplesofuse} - -Давайте посмотрим на \KPS{} в действии. Вот простой поиск: - -\begin{alltt} -> \Ucom{kpsewhich article.cls} - /usr/local/texmf-dist/tex/latex/base/article.cls -\end{alltt} -Мы ищем файл \file{article.cls}. Так как суффикс \samp{.cls} -однозначен, нам не нужно указывать, что мы ищем файл типа -\optname{tex} (исходники \TeX{}а). Мы находим его в поддиректории -\file{tex/latex/base} директории \samp{temf-dist} \TL. Аналогично, -всё последующее находится без проблем благодаря однозначному суффиксу: -\begin{alltt} -> \Ucom{kpsewhich array.sty} - /usr/local/texmf-dist/tex/latex/tools/array.sty -> \Ucom{kpsewhich latin1.def} - /usr/local/texmf-dist/tex/latex/base/latin1.def -> \Ucom{kpsewhich size10.clo} - /usr/local/texmf-dist/tex/latex/base/size10.clo -> \Ucom{kpsewhich small2e.tex} - /usr/local/texmf-dist/tex/latex/base/small2e.tex -> \Ucom{kpsewhich tugboat.bib} - /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib -\end{alltt} - -Последнее "--- библиографическая база данных для статей журнала -\textsl{TUGBoat}. - -\begin{alltt} -> \Ucom{kpsewhich cmr10.pk} -\end{alltt} -Битмапы шрифтов типа \file{.pk} используются программами -\cmdname{dvips} о \cmdname{xdvi}. Ничего не найдено, так как у нас -нет готовых файлов шрифтов Computer Modern в формате \samp{.pk} (так -как мы используем версии в формате Type~1 из дистрибутива \TL{}). -\begin{alltt} -> \Ucom{kpsewhich wsiupa10.pk} -\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk -\else /usr/local/texmf-var/fonts/pk/ljfour/public/ -... wsuipa/wsuipa10.600pk -\fi\end{alltt} -Для этих шрифтов (фонетический алфавит, созданный в университете -штата Вашингтон) мы должны сгенерировать -\samp{.pk}, и так как режим \MF{} [о умолчанию в нашей системе -\texttt{ljfour} с разрешением of 600\dpi{} (точек на дюйм), этот шрифт -и найден. -\begin{alltt} -> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} -\end{alltt} -В этом случае нам нужно разрешение 300\dpi{} (\texttt{-dpi=300}); мы -видим, что такого шрифта в системе нет. На самом деле программа -\cmdname{dvips} или \cmdname{xdvi} построила бы нужный файл -\texttt{.pk} при помощи скрипта \cmdname{mktexpk}. - -Теперь обратимся к заголовкам и конфигурационным файлам -\cmdname{dvips}. Вначале рассмотрим один из наиболее часто -используемых файлов, пролог \file{tex.pro} для поддержки \TeX{}а, а -затем рассмотрим общий конфигурационный файл \file{config.ps} и карту -шрифтов \file{psfonts.map}. Так как суффикс \samp{.ps} неоднозначен, -мы должные явно указать тип файла, который мы ищем: (\optname{dvips - config}) для файла \texttt{config.ps}. -\begin{alltt} -> \Ucom{kpsewhich tex.pro} - /usr/local/texmf/dvips/base/tex.pro -> \Ucom{kpsewhich --format="dvips config" config.ps} - /usr/local/texmf/dvips/config/config.ps -> \Ucom{kpsewhich psfonts.map} - /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map -\end{alltt} - -Рассмотрим теперь файлы поддержки \acro{URW} Times (\PS{}). Префикс -для этих файлов в стандартной схеме обозначения шрифтов \samp{utm}. -Вначале мы рассмотрим конфигурационный файл, который содержит название -карты шрифтов: -\begin{alltt} -> \Ucom{kpsewhich --format="dvips config" config.utm} -/usr/local/texmf-dist/dvips/psnfss/config.utm -\end{alltt} -Содержание этого файла: -\begin{alltt} - p +utm.map -\end{alltt} -что указывает на файл \file{utm.map}, который мы хотим теперь найти. -\begin{alltt} -> \Ucom{kpsewhich --format="dvips config" utm.map} - /usr/local/texmf-dist/fonts/map/dvips/times/utm.map -\end{alltt} -Эта карта определяет названия шрифтов формата Type~1 (\PS{}) в -коллекции URW. Она выглядит так (мы показываем только часть файла): -\begin{alltt} -utmb8r NimbusRomNo9L-Medi ... \Ucom{kpsewhich utmr8a.pfb} -\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb -\else /usr/local/texmf-dist/fonts/type1/ -... urw/utm/utmr8a.pfb -\fi\end{alltt} - -Из этих примеров очевидно, что вы можете легко найти заданный файл. -Это особенно важно, если вы подозреваете, что программы находят -неправильную версию файла, поскольку \cmdname{kpsewhich} показывает -первый найденный файл. - -\subsubsection{Отладка} -\label{Debugging} - -Иногда необходимо проверить, как программа ищет файлы. С этой целью -\KPS{} предлагает разные уровни отладки: - -\begin{ttdescription} -\item[\texttt{\ 1}] статистика обращений к диску. При работе с базами - \file{ls-R} это почти не должно давать записей в лог. -\item[\texttt{\ 2}] Ссылки на хеши (например, базы данных \file{ls-R}, - конфигурационные файлы и т.д.). -\item[\texttt{\ 4}] Операции открытия и закрытия файлов. -\item[\texttt{\ 8}] Общая информация о типах файлов, которые ищет - \KPS. Это полезно для того, чтобы найти, где определяется тип пути - поиска для данного файла. -\item[\texttt{16}] Список директорий для каждого элемента пути (при - поисках на диске). -\item[\texttt{32}] Поиски файлов. -\end{ttdescription} -Значение \texttt{-1} задаст все опции выше; именно это значение чаще -всего используется на практике. - -Аналогично, запустив программу \cmdname{dvips} и используя сочетание -этих опций, можно проследить подробно, как ищутся файлы. С другой -стороны, если файл не найден, трассировка показывает, где его искали, -так что можно понять, в чём состоит проблема. - -Вообще говоря, поскольку большинство программ пользуются библиотекой -\KPS{}, вы можете установить опцию отладки используя переменную -окружения \envname{KPATHSEA\_DEBUG}, и установив её на комбинацию -описанных выше значений. - -(Примечание для пользователей Windows: в этой системе трудно -перенаправить все сообщения в файл. Для диагностики вы можете временно -установить \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). - - -Рассмотрим в качестве примера простой файл в формате \LaTeX{}, -\file{hello-world.tex}, со следующим содержанием: -\begin{verbatim} - \documentclass{article} - \begin{document} - Hello World! - \end{document} -\end{verbatim} -Этот маленький файл использует только шрифт \file{cmr10}, так что -давайте посмотрим, как \cmdname{dvips} создаёт файл в формате \PS{} -(мы хотим использовать версию шрифтов в формате Type~1, отсюда опция -\texttt{-Pcms}). -\begin{alltt} -> \Ucom{dvips -d4100 hello-world -Pcms -o} -\end{alltt} -В этом случае мы объединили отладочный уровень 4 для \cmdname{dvips} -(директории шрифтов) с подстановкой элементов путей в \KPS (см. -Руководство пользователя \cmdname{dvips}, -\OnCD{texmf/doc/html/dvips/dvips_toc.html}). Результат (слегка -отредактированный) показан на Рис.~\ref{fig:dvipsdbga}. -\begin{figure*}[tp] -\centering -\input{examples/ex6a.tex} -\caption{Поиск конфигурационных файлов}\label{fig:dvipsdbga} - -\bigskip - -\input{examples/ex6b.tex} -\caption{Поиск файла пролога}\label{fig:dvipsdbgb} - -\bigskip - -\input{examples/ex6c.tex} -\caption{Поиск файла шрифта}\label{fig:dvipsdbgc} -\end{figure*} - -Программа \cmdname{dvips} вначале ищет свои конфигурационные файлы. -Сначала находится \file{texmf.cnf}, который содержит определения для -путей поиска остальных файлов, затем база данных \file{ls-R} (для -оптимизации поиска файлов) и файл \file{aliases}, который позволяет -объявить несколько имён (например, короткие 8.3 и более длинные) для -одного файла. Затем \cmdname{dvips} ищет свой конфигурационный файл -\file{config.ps} и файл -\file{.dvipsrc} (который в данном случае \emph{не найден}). Наконец, -\cmdname{dvips} находит конфигурационный файл для шрифтов Computer -Modern \PS{} \file{config.cms} (это было задано опцией \texttt{-Pcms} -в командной строке). Этот файл содержит список карт, которые -определяют соотношения между файлами в форматах \TeX{}, \PS{} -и названиями шрифтов: -\begin{alltt} -> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} - p +ams.map - p +cms.map - p +cmbkm.map - p +amsbkm.map -\end{alltt} -\cmdname{dvips} находит все эти файлы плюс общую карту шрифтов -\file{psfonts.map}, которая всегда загружается (она содержит обычные -шрифты в формате \PS{}; см. последнюю часть -раздела~\ref{SExamplesofuse}). - -В этот момент \cmdname{dvips} сообщает о себе пользователю: -\begin{alltt} -This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) -\end{alltt} -\ifSingleColumn -Затем она ищет пролог \file{texc.pro}: -\begin{alltt}\small -kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, - path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: - ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). -kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro -\end{alltt} -\else -Затем она ищет пролог \file{texc.pro} (см. -Рис.~\ref{fig:dvipsdbgb}). -\fi - -Найдя этот файл, \cmdname{dvips} печатает дату и время, и информирует -нас, что собирается генерировать файл \file{hello-world.ps}, что ей -нужен файл \file{cmr10}, и что последний является <<резидентным>> -(битмапы не нужны): -\begin{alltt}\small -TeX output 1998.02.26:1204' -> hello-world.ps -Defining font () cmr10 at 10.0pt -Font cmr10 is resident. -\end{alltt} -Теперь она ищет файл \file{cmr10.tfm}, который она находит, затем ещё -несколько прологов (здесь они опущены), и наконец файл формата Type~1 -\file{cmr10.pfb} найден и включён в выходной файл (см, последнюю -строку): -\begin{alltt}\small -kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, - path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: - /var/tex/fonts/tfm//). -kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm -kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, - ... - -kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, - path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: - ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). -kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb -[1] -\end{alltt} - -\subsection{Опции запуска} - -Ещё одна полезная возможность \Webc{} "--- контроль параметров памяти -(в особенности размер массивов) при запуске, во время чтения файла -\file{texmf.cnf} библиотекой \KPS{}. Параметры памяти находятся в -части~3 этого файла в дистрибутиве \TL{}. Вот самые важные: - -\begin{ttdescription} -\item[\texttt{main\_memory}] Общее количество слов в памяти для - программ \TeX{}, \MF{} и \MP. После изменения этого параметра надо - перегенерировать формат. Например, вы можете создать <<огромную>> - версию \TeX{}а, и назвать соответствующий формат - \texttt{hugetex.fmt}. По общим правилам \KPS{}, значение переменной - \texttt{main\_memory} будет читаться из файла \file{texmf.cnf}. -\item[\texttt{extra\_mem\_bot}] Дополнительная память для <<больших>> - структур, которые создаёт \TeX{}: боксов, клея и т.д. Особенно - полезно при использовании \PiCTeX{}а. -\item[\texttt{font\_mem\_size}] Количество слов информации о шрифтах - для \TeX{}а. Это примерно суммарный размер всех файлов TFM, которые - читает \TeX. -\item[\texttt{hash\_extra}] - Дополнительный размер хеша для имён команд. Примерно 10\,000 команд - может быть помещено в основной хеш. Если вы делаете большую книгу со - многими перекрёстными ссылками, этого может не хватить. По умолчанию - \texttt{hash\_extra} равен \texttt{50000}. -\end{ttdescription} - -Разумеется, это не замена настоящих динамических массивов и -распределения памяти, но поскольку эти черты исключительно сложно -осуществить в текущем \TeX{}е, использование этих параметров -представляет собой полезный компромисс и обеспечивает некоторую -гибкость. - - -\begin{comment} -\section{Компилирование для новой платформы типа Unix} - - -Если у вас платформа, для которой мы не скомпилировали программ, вам -придётся это сделать самим. Это не так уж сложно. Всё, что вам может -понадобиться, есть в дистрибутиве в директории \texttt{source}. - -\subsection{Необходимые инструменты} - -Вам нужно по крайней мере 100\,Mb на диске для компилирования \TeX{}а и -других программ. Вам потребуется компилятор \acro{ANSI} C, программа -\cmdname{make}, лексический сканер и генератор парсеров. Мы -рекомендуем версии этих программ от \acro{GNU} -(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, -\cmdname{bison}). Вы можете работать и с другими компиляторами и -версиями \cmdname{make}, но вам потребуется глубокое понимание Юникса, -чтобы разобраться в возможных проблемах. - -Кроме того, команда \texttt{uname} должна давать разумный результат. - - -\subsection{Конфигурация} - -Сначала произведите нормальную установку \TL{} на ваш диск (см. -раздел~\ref{sec:unix-install-disk} -\p.~\pageref{sec:unix-install-disk}). Вы можете пропустить установку -скомпилированных программ. - -Затем распакуйте исходники из файла в директории \dirname{source} на -ваш диск и смените директорию туда, где вы раскрыли этот файл. - -Затем запустите \cmdname{configure}, например, так: -\begin{alltt} -> \Ucom{sh configure -prefix=/usr/local/TeX} -\end{alltt} - -Директория \optname{-prefix} "--- это место, куда вы установили -основное дерево поддержки. Структура директорий будет такова -(\$TEXDIR означает выбранную директорию): - -\noindent -\begin{tabular}{>{\ttfamily}ll@{}} - \dirname{$TEXDIR/share/texmf} & основное дерево со шрифтами,\\ - & \qquad макросы и т.д.\\ - \dirname{$TEXDIR/man} & руководства в формате Unix man\\ - \dirname{$TEXDIR/info} & руководства в формате \acro{GNU} Info \\ - \dirname{$TEXDIR/bin/$PLATFORM} & программы\\ -\end{tabular} -%$ - -Если вы хотите убрать уровень директорий \dirname{$PLATFORM}, -т.е. поместить программы непосредственно в \dirname{$TEXDIR/bin}, -добавьте к опциям \verb|--disable-multiplatform|. - -Посмотрите на результат \verb|./configure --help| для остальных -опций. Например, вы можете не компилировать \OMEGA{} и -\eTeX{}. - - -\subsection{Запуск \cmdname{make}} - -Убедитесь, что переменная оболочки или опция \texttt{noclobber} не -задана. Затем запустите \cmdname{make}: -\begin{alltt} -> \Ucom{make world} -\end{alltt} -и расслабьтесь\ldots - -Если вы хотите записать в лог все происходящее, используйте: -\begin{alltt} -> \Ucom{sh -c "make world >world.log 2>\&1" \&} -\end{alltt} - -Перед тем, как вы решите, что всё прошло нормально, проверьте лог на -ошибки; \acro{GNU} \cmdname{make} всегда использует строку \samp{***} -при ошибке. Кроме того, проверьте, что все программы -скомпилировались: -\begin{alltt} -> \Ucom{cd \emph{TEXDIR}/bin/\emph{archname}} -> \Ucom{ls | wc} -\end{alltt} -Результат должен быть больше 200 (вы можете получить точное число, -проверив содержимое директории -\dirname{bin} в дистрибутиве). - -Если вам нужны специальные привилегии для \texttt{make install}, вы -можете разделить \samp{make world} на два приёма: -\begin{alltt} -> \Ucom{make all} -> \Ucom{su} -> \Ucom{make install strip} -\end{alltt} - -После установки ваших новых программ, выполните обычные процедуры -настройки, описанные в разделе~\ref{sec:postinstall}, -\p.~\pageref{sec:postinstall}. - -Кроме того, если вы хотите, чтобы вашими программами пользовались -другие люди, напишите нам. Мы будем рады поместить их на страницы -\TL{} в сети. - -\end{comment} - -\section{Благодарности} - -\TL{} "--- результат объединённых усилий практически всех групп -пользователей \TeX а. Это издание \TL{} выходит под редакцией Карла -Берри. Другие авторы и сотрудники проекта перечислены ниже. -Мы благодарим: - -\begin{itemize*} - -\item Англоязычную, немецкую, голландскую и польскую группы - пользователей \TeX{}а (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG} и - \acro{GUST}) за необходимую техническую и административную - инфраструктуру. Пожалуйста, вступайте в группы пользователей \TeX - а. - -\item Группу поддержки \acro{CTAN} за размещение дисков \TL{} и - поддержку инфраструктуры обновления пакетов, от которой зависит - \TL. - -\item Питера Брейтенлохнера и команду разработчиков \eTeX\ за - стабильную основу современного \TeX а. - -\item Томаса Эссера, без замечательного пакета \teTeX{} которого \TL{} - не существовал бы, и который много помогал нам в работе над \TL. - -\item Майкла Гусенса, который был соавтором первой версии документации. - -\item Эйтана Гурари, чей \TeX4ht{} использовался для создания файлов в - формате \HTML{}, и который неустанно работал, по первому требованию - добавляя нужные нам возможности. - - -\item Ганса Хагена за помощь в тестировании и приспособлении формата - \ConTeXt\ к нашим нуждам. - -\item Хан Те Тана, Мартина Шрёдера и команду pdf\TeX\ за неустанное - расширение возможностей \TeX а. - -\item Тако Хокватера за возобновление работы над \MP{} и \TeX ом. - -\item Павла Яковского за инсталлятор для Windows \cmdname{tlpm}, и - Томаша Лужака за \cmdname{tlpmgui}. - -\item Акиру Какуто за большую помощь в интегрировании в систему - программ для Windows из его дистрибутива \acro{W32TEX} - (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). - -\item Джонатана Кью и его работодателя \acro{SIL} за создание системы - Xe\TeX{} и за работу по её интегрированию в \TL. - -\item Рейнхарда Котучу за помощь в огромной работе по обновлению - пакетов в \TL{}, за исследовательскую работу в области Windows, за - скрипт \texttt{getnonfreefonts} и многое другое. - -\item Петра Олшака за координацию и тщательную проверку чешского и - словацкого материала. - -\item Тошио Ошиму за его просмотрщик \cmdname{dviout} для Windows. - -\item Фабриция Попинье, заложившего основу поддержки Windows в \TL. - -\item Норберта Прейнинга за помощь с инфраструктурой \TL{} и - обновлением пакетов, за координирование Дебиановской версии \TL{} - (совместно с Франком Кюстером), в ходе которой он выдвинул много - ценных предложений. - -\item Сташекa Ваврикевича, который был главным тестером \TL{} и - координировал многие польские проекты: шрифты, инсталлятор для - Windows и многое другое. - -\item Олафа Вебера за терпеливую работу над \Webc, на которой держится - всё остальное. - -\item Гербена Виерду за разработку поддержку \MacOSX, участие в - интеграции и тестировании. - -\item Грэма Виллиамса, создавшего каталог пакетов. - -\end{itemize*} - -Программы компилировали: -Тигран Айвазян (\pkgname{x86\_64-linux}), -Карл Берри (\pkgname{i386-linux}), -Олаф Вебер (\pkgname{mips-irix}), -Гербен Виерда (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}), -Владимир Волович (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, -\pkgname{sparc-solaris}), -Акира Какуто и Фабриций Попинье (\pkgname{win32}), -Манфред Лотц (\pkgname{i386-freebsd}), -Норберт Прейнинг (\pkgname{alpha-linux}). - -Документация и переводы: -Карл Берри (английский), Даниэль Флипо и Фабриций Попинье -(французский), Гюнтер Партош и Хартмут Хенкель (немецкий), Петр Сойка -и Ян Буса (чешский и словацкий), Борис Вейцман (русский), Сташек -Ваврикевич (польский). - -Разумеется, наша главная благодарность "--- Дональду Кнуту, во-первых, -за разработку \TeX а, и во-вторых, за то, что он подарил его миру. - -\section{История издания} -\label{sec:history} - -\subsection{Прошлое} - -В конце 1993 года в голландской группе пользователей \TeX{}а во время -работы над дистрибутивом 4All\TeX{} \CD{} для пользователей -\acro{MS-DOS} возникла новая идея. Была поставлена цель создать -единый \CD{} для всех систем. Эта цель была черечур сложна для того -времени, но она привела не только к появлению очень успешного \CD{} -4All\TeX{}, но и к созданию рабочей группы Технического Совета -\acro{TUG} по структуре директорий для \TeX{}а -(\url{http://tug.org/tds}), которя разработала стандарт структуры -директорий для системы \TeX и указала, как создать логичную единую -систему файлов для \TeX а. Несколько версий \TDS{} было опубликовано -в декабрьском выпуске \textsl{TUGboat} в 1995 году, и с самого начала -стало ясо, что следует создать пример структуры на \CD{}. Дистрибутив, -который вы держите в руках, "--- прямой результат работы этой группы. -Из успеха 4All\TeX{} был сделан вывод, что пользователям Юникса также -подойдёт такая удобная система, и так родилась другая важная часть -\TL. - -Мы начали делать \CD{} с Юниксом и структурой директорий \TDS{} осенью -1995 года, и быстро поняли, что у \teTeX{}а Томаса Эссера идеальный -состав дистрибутива и поддержка многих платформ. Томас согласился нам -помочь, и мы в начале 1996 года стали серьёзно работать над -дистрибутивом. Первое издание вышло в мае 1996 года. В начале 1997 -года Карл Берри завершил новую версию Web2c, которая включила -практически все новые возможности, добавленные Томасом Эссером в -\teTeX, и мы решили основать второе издание на стандартном \Webc, с -добавлением скрипта \texttt{texconfig} из \teTeX{}а. Третье издание -\CD{} основывалось на новой версии \Webc, 7.2, Олафа Вебера; в то же -время была выпущена новая версия \teTeX{}а, и \TL{} включил почти все -его новые возможности. Четвертое издание следовало той же традиции, -используя новую версию \teTeX{}а и \Webc{} (7.3). Теперь в нём была -полная система для Windows. - -Для пятого издания (март 2000 года) многие пакеты на \CD{} были -пересмотрены и проверены. Информация о пакетах была собрана в файлы -XML. Но главным изменением в \TeX\ Live 5 было удаление всех -несвободных программ. Всё на \TL{} преполагается совместимым с -Правилами Дебиана для Свободных Программ -(\url{http://www.debian.org/intro/free}); мы сделали всё, что могли, -чтобы проверить лицензии всех пакетов, и мы будем благодарны за любое -указание на ошибки. - -В шестом издании (июль 2001 года) было много нового материала. -Главным была новая концепция установки: пользователь выбирал нужный -набор коллекций. Языковые коллекции были полностью реорганизованы, -так что выбор любой из них устанавливал не только макросы, шрифты и и -т.д., но и вносил изменения в \texttt{language.dat}. - -Седьмое издание 2002 года добавило поддержку \MacOSX{}, и большое -количество обновлений для пакетов и программ. Важной целью была -интеграция с \teTeX{}ом, чтобы исправить расхождение, наметившееся в -версиях~5 и~6. - -\subsubsection{2003} - -В 2003 году мы продолжили изменения и дополнения, и обнаружили, что -\TL{} так вырос, что не помещается на \CD. Поэтому мы разделили его на -три дистрибутива (см. раздел~\ref{sec:multiple-dist}, -\p.~\pageref{sec:multiple-dist}). Кроме того: - -\begin{itemize*} -\item По просьбе авторов \LaTeX{}а, мы смениели стандартные команды - \cmdname{latex} и \cmdname{pdflatex}: теперь они использууют \eTeX{} - (см. стр.~\pageref{text:etex}). -\item Новые шрифты Latin Modern включены и рекомендованы для использования. -\item Убрана поддержка для Alpha \acro{OSF} - (поддержка для \acro{HPUX} была убрана ранее), поскольку никто - не имел (и не предложил) компьютеров для компилирования - программ. -\item Сильно изменилась установка для Windows: впервые была предложена - интегрированная среда на основе редакторая XEmacs. -\item Добавлены вспомогателные программы для Windows - (Perl, Ghost\-script, Image\-Magick, Ispell). -\item Файлы Fontmap для \cmdname{dvips}, \cmdname{dvipdfm} - и \cmdname{pdftex} генерируютрся программой - \cmdname{updmap} и устанваливаются в \dirname{texmf/fonts/map}. -\item \TeX{}, \MF{}, and \MP{} теперь по умолчанию выводят символы - из верхней половины таблицы ASCII в файлы, открытые - командой \verb|\write|, логи и на терминал буквально, - т.е. \emph{не} используя формат \verb|^^|. В \TL{}~7 это зависело от - системной локали, но теперь это верно для всех локалей. Если - вам нужен формат \verb|^^|, переименуйте файл - \verb|texmf/web2c/cp8bit.tcx|. В будущем эта процедура будет - упрощена. -\item Документация была существенно обновлена. -\item Наконец, из-за того, что нумерация по изданиям стала неудобной, - мы перешли на нумерацию по годам: \TL{} 2003. -\end{itemize*} - -\subsubsection{2004} - -В 2004 году мы внесли много изменений. - -\begin{itemize} - -\item Если у вас есть локальные шрифты с собственными файлами - \filename{.map} или \filename{.enc}, вам может понадобиться - переместить эти файлы. - - Файлы \filename{.map} теперь ищутся только в поддиректориях - \dirname{fonts/map} (в каждом дереве \filename{temf}) в пути - \envname{TEXFONTMAPS}. Аналогично файлы \filename{.enc} теперь - ищутся в только в поддиректориях \dirname{fonts/enc} в пути - \envname{ENCFONTS}. Программа \cmdname{updmap} предупреждает, если - находит эти файлы не там, где они должны быть. - - См. описание этой структуры в разделе~\ref{sec:struct-tl} - (\p.\pageref{sec:struct-tl}). - -\item К коллекции \TK{} был добавлен установочный \CD{} с - дистрибутивом \MIKTEX{} для тех, кто предпочитает \MIKTEX{} - программам, основанным на \Webc. См. раздел~\ref{sec:struct-tl} - (\p.\pageref{sec:struct-tl}). - - -\item Дерево \dirname{texmf} в \TL{} было разделено на три: - \dirname{texmf}, \dirname{texmf-dist} и \dirname{texmf-doc}. - См. раздел~\ref{sec:tld} (\p.\pageref{sec:tld}) и файлы - \filename{README} в соответствующих директориях. - -\item Все файлы, которые читает \TeX, собраны в поддиректории - \dirname{tex} деревьев \dirname{texmf*} вместо разделения на - \dirname{tex}, \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} и - т.д. \\См. \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} - {\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - - -\item Вспомогательные скрипты (вызываемые другими программами, а не - непосредственно пользователем) теперь собраны в директории - \dirname{scripts} деревьев \dirname{texmf*} и ищутся командой - \verb|kpsewhich -format=texmfscripts|. Поэтому если у вас есть - программы, которые вызывают такие скрипты, их надо изменить. См. - \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} - {\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. - - -\item Почти все форматы теперь печатают большинство символов - непосредственно, используя ``таблицы перевода'' \filename{cp227.tcx} - вместо формата \verb|^^|. В частности, символы с кодами 32--256 - плюс табуляция, вертикальная табуляция и перевод страницы печатаются - непосредственно. Исключениями являются plain \TeX{} (печатаются - непосредственно символы 32--127), \ConTeXt{} (0--255) и форматы, - относящиеся к программе \OMEGA. Это поведение почти такое же, как у - \TL\,2003, но реализовано более аккуратно, с б\'ольшей возможностью - настройки. См. \CDref{texmf/doc/web2c/web2c.html\#TCX-files} - {\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. (Кстати, при вводе - в Unicode, \TeX\ может выводить при указании на ошибку только часть - многобайтного символа, так как внутри \TeX\ работает с байтами). - - -\item \textsf{pdfetex} теперь используется для всех форматов, кроме - plain \textsf{tex}. (Разумеется, он делает файлы в формате - \acro{DVI}, если вызван как \textsf{latex} и т.п.). Это означает, - помимо прочего, что возможности \textsf{pdftex}a для микротипографии - а также возможности \eTeX а доступны в форматах \LaTeX, \ConTeXt{} и - т.д. (\OnCD{texmf-dist/doc/etex/base/}). - - Это также означает, что теперь \emph{очень важно} использовать пакет - \pkgname{ifpdf} (работает и с plain, и с \LaTeX) или эквивалентные - средства, поскольку просто проверка, определён ли \cs{pdfoutput} или - другой примитив не достаточна для того, чтобы понять, в каком - формате генерируется результат. Мы сделали всё возможное для - совместимости в этом году, но в будущем году \cs{pdfoutput} может - быть определён даже если генерируется \acro{DVI}. - - -\item У программы pdf\TeX\ (\url{http://pdftex.org}) много новых - возможностей: - - \begin{itemize*} - - \item Поддержка карт шрифтов изнутри документа при помощи - \cs{pdfmapfile} и \cs{pdfmapline}. - - \item Микротипографские расширения могут быть использованы - намного - проще.\\ - \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} - - - \item Все параметры, ранее задававшиеся в специальном - конфигурационном файле \filename{pdftex.cfg}, теперь должны быть - установлены примитивами, например, в файле - \filename{pdftexconfig.tex}. Файл \filename{pdftex.cfg} больше не - поддерживается. При изменении файла \filename{pdftexconfig.tex} - все форматы \filename{.fmt} должны быть перегенерированы. - - \item Остальные изменения описаны в руководстве пользователя - программой pdf\TeX: \OnCD{texmf/doc/pdftex/manual}. - - \end{itemize*} - - -\item Примитив \cs{input} в программе \cmdname{tex} (и \cmdname{mf} и - \cmdname{mpost}) теперь правильно интерпретирует пробелы и другие - специальные символы в двойных кавычках. Вот типичные примеры: -\begin{verbatim} -\input "filename with spaces" % plain -\input{"filename with spaces"} % latex -\end{verbatim} -См. подробности в руководстве к программе \Webc: \OnCD{texmf/doc/web2c}. - - -\item Поддержка enc\TeX а включена в \Webc, и поэтому во все - программы \TeX, которые теперь поддерживают опцию \optname{-enc} - "--- \emph{только при генерировании форматов}. enc\TeX{} - обеспечивает общую перекодировку входного и выходного потоков, что - позволяет полную поддержку Unicode (в \acro{UTF}-8). - См. \OnCD{texmf-dist/doc/generic/enctex/} и - \url{http://www.olsak.net/enctex.html}. - -\item В дистрибутиве появилась новая программа Aleph, сочетающая - \eTeX\ и \OMEGA. Краткая информация о ней находится в - \OnCD{texmf-dist/doc/aleph/base} и - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Формат - для \LaTeX а на основе этой программы называется \textsf{lamed}. - -\item Последняя версия \LaTeX а включает новую версию лицензии - \acro{LPPL} "--- теперь официально одобренную Debianом. Некоторые - другие изменения перечислены в файлах \filename{ltnews} в - \OnCD{texmf-dist/doc/latex/base}. - -\item В дистрибутиве появилась \cmdname{dvipng}, новая программа для - перевода \acro{DVI} в \acro{PNG}. - См. \OnCD{texmf/doc/man/man1/dvipng.1}. - -\item Мы уменьшили размер пакета \pkgname{cbgreek} до приемлемого - набора шрифтов, с согласия и совета автора (Клаудио Беккари). - Исключены невидимые, прозрачные и полупрозрачные шрифты, которые - относительно редко используются, а нам не хватало места. Полный - набор шрифтов можно найти в архиве \acro{CTAN} - (\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). - - -\item Программа \cmdname{oxdvi} исключена; используйте - \cmdname{xdvi}. - - -\item Линки \cmdname{ini} и \cmdname{vir} для программ \cmdname{tex}, - \cmdname{mf} и \cmdname{mpost} (например, \cmdname{initex}) больше - не создаются. Уже много лет опция \optname{-ini} их успешно - заменяет. - -\item Убрана поддержка платформы \textsf{i386-openbsd}. Так как в - портах BSD есть пакет \pkgname{tetex}, и можно пользоваться - программами для \acro{GNU/}Linux и Free\acro{BSD}, мы посчитали, что - время добровольных сотрудников проекта можно потратить с б\'ольшей - пользой по-другому. - - -\item По крайней мере для платформы \textsf{sparc-solaris} требуется - установить переменную окружения \envname{LD\_LIBRARY\_PATH} для - работы программ \pkgname{t1utils}. Это вызвано тем, что они - написаны на C++, а стандартной директории для бибилиотек C++ в - системе нет (это появилось до 2004 года, но ранее эта особенность не - была документирована). Аналогично, в \textsf{mips-irix} требуются - библиотеки \acro{MIPS}pro~7.4. - -\end{itemize} - -\subsubsection{2005} - -В 2005 году было, как всегда, сделано много изменений в пакетах и -программах. Инфраструктура почти не изменилась по сравненению с 2004 -годом, но некоторые неизбежные изменения были сделаны. - -\begin{itemize} - -\item Были добавлены новые скрипты \cmdname{texconfig-sys}, - \cmdname{updmap-sys} и \cmdname{fmtutil-sys}, которые изменяют - конфигурационные файлы в системных деревьях. Скрипты - \cmdname{texconfig}, \cmdname{updmap} и \cmdname{fmtutil} теперь - модифицируют индивидуальные файлы пользователя в - \dirname{$HOME/.texlive2005}. См. раздел~\ref{sec:texconfig}, - \p.\pageref{sec:texconfig}. - -\item Были добавлены новые переменные \envname{TEXMFCONFIG} и - \envname{TEXMFSYSCONFIG} для указания, где находятся - конфигурационные файлы (пользовательские и системные). Таким - образом, вам надо переместить туда ваши личные копии - \filename{fmtutil.cnf} и \filename{texmf.cnf}. В любом случае - положение этих файлов и значения переменных \envname{TEXMFCONFIG} и - \envname{TEXMFSYSCONFIG} должны быть согласованы. - См. раздел~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. - -\item В прошлом году мы оставили неопределёнными \verb|\pdfoutput| и - другие переменные при генерировании файлов в формате DVI, хотя для - этого использовалась программа \cmdname{pdfetex}. В этом году, как - и было обещано, это уже не так. Поэтому если ваш документ - использует для проверки формата \verb|\ifx\pdfoutput\undefined|, его - надо изменить. Вы можете использовать пакет \pkgname{ifpdf.sty} - (работает в plain \TeX{} и \LaTeX) или аналогичную логику. - -\item В прошлом году мы изменили большинство форматов, которые стали - выдавать 8-битовые символы. Если вам всё же нужны старый вариант с - \verb|^^|, используйте новый файл \filename{empty.tcx}: -\begin{verbatim} -latex --translate-file=empty.tcx yourfile.tex -\end{verbatim} - - -\item Добавлена новая программа \cmdname{dvipdfmx} для перевода из DVI - в PDF; это активно поддерживаемая версия программы - \cmdname{dvipdfm}, которая пока ещё включена в дистрибутив, но уже - не рекомендована. - -\item Добавлены новые программы \cmdname{pdfopen} и - \cmdname{pdfclose}, которые позволяют перегрузить файл PDF в Adobe - Acrobat Reader, не перезапуская программу (у других программ для - чтения файлов PDF, включая \cmdname{xpdf}, \cmdname{gv} и - \cmdname{gsview}, такой проблемы никогда не было). - -\item Для единообразия мы переименовали переменные \envname{HOMETEXMF} - и \envname{VARTEXMF} в \envname{TEXMFHOME} и \envname{TEXMFSYSVAR}. - Есть также \envname{TEXMFVAR}, индивидуальная для каждого - пользователя (см. первый пункт выше). -\end{itemize} - - -\subsection{Настоящее} -\label{sec:tlcurrent} - -В 2006--2007 главным нововведением является программа Xe\TeX{}, вызываемая -как \texttt{xetex} или \texttt{xelatex}; -см. \url{http://scripts.sil.org/xetex}. - -Значительно обновлена программа \MP; предполагаются дополнительные -обновления в будущем (\url{http://tug.org/metapost/articles}). Также -обновлён pdf\TeX{} (\url{http://tug.org/applications/pdftex}). - -Форматы \filename{.fmt} и т.д. теперь хранятся в поддиректориях -\dirname{texmf/web2c}, а не в самой директории (хотя директория всё ещё -включена в поиск форматов, на случай, если там находятся старые -файлы). Поддиректории названы по имени программы, например, -\filename{tex}, \filename{pdftex}, \filename{xetex}. Это изменение не -должно влиять на работу программ. - -Программа (plain) \texttt{tex} больше не определяет по \texttt{\%\&} в -первой строке, какой формат использовать: это всегда Кнутовский -\TeX{} (\LaTeX{} и другие ещё используют \texttt{\%\&}). - -Скрипты установки теперь используют переменные окружения для работы в -пакетном режиме, см. раздел~\ref{sec:noninteractive-install}. - -Разумеется, в этом году были, как обычно, сотни обновлений пакетов и -программ. Как обычно, обновлённые версии можно найти в сети \acro{CTAN} -(\url{http://www.ctan.org}). - -Дерево \TL{} теперь хранится в системе Subversion, и у нас появился -WWW-интерфейс для его просмотра. Мы предполагаем, что эта система -будет использована для разработки в ближайшем будущем. - -Наконец, в мае 2006 года Томас Эссер объявил о прекращении работы над -te\TeX ом (\url{http://tug.org/tetex}). Это вызвало всплеск интереса -к \TL, особенно среди разработчиков систем \acro{GNU}/Линукса (мы -добавили схему \texttt{tetex}, которая устанавливает систему, примерно -соответствующую te\TeX у). Мы надеемся, что это приведёт в конечном -итоге к улучшению работы в \TeX е для всех. - - -\subsection{Будущее} - -\emph{\TL{} не совершенен!} (И никогда не будет.) Мы предполагаем -выпускать новые версии раз в год, добавляя справочный материал, -утилиты, установочные программы и (конечно) новое, улучшенное и -проверенное дерево макросов и шрифтов. Эта работа делается очень -занятыми добровольцами в свободное время, и многое остается сделать. -Если вы можете помочь, не стесняйтесь. - -Присылайте, пожалуйста, замечания и предложения по адресу:\hfill\null -\begin{quote} -\email{tex-live@tug.org} \\ -\url{http://tug.org/texlive} -\end{quote} - -\medskip -\noindent \textsl{Happy \TeX ing!} - -\end{document} - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: t -%%% LaTeX-command-style: (("." "pdflatex")) -%%% TeX-view-style: (("." "acroread %s.pdf")) -%%% End: diff --git a/Master/texmf-doc/source/texlive/texlive-ru/tex-live-rus.sty b/Master/texmf-doc/source/texlive/texlive-ru/tex-live-rus.sty deleted file mode 100644 index aa05bf655f6..00000000000 --- a/Master/texmf-doc/source/texlive/texlive-ru/tex-live-rus.sty +++ /dev/null @@ -1,428 +0,0 @@ -% $Id$ -% TeX Live documentation style. Written by many people over many years. -% Public domain. -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] -% -\RequirePackage{alltt} -\RequirePackage{array} -\RequirePackage{colortbl} -\RequirePackage{comment} -\RequirePackage{float} -\RequirePackage{graphicx} -\RequirePackage{longtable} -\RequirePackage{shortvrb} -\RequirePackage[normalem]{ulem} -\RequirePackage[obeyspaces]{url} -\RequirePackage{xspace} -% -\usepackage{textcomp}% including \textbullet -\usepackage[T1]{fontenc} -% -% for a proper \acro command (even in the context of the definition in -% ltugboat -- \DRC overrides without checking) -\RequirePackage{relsize} -\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} -% -\RequirePackage{fancyvrb} -\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} -\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} -\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} -\DefineVerbatimEnvironment{boxedverbatim} - {Verbatim}{fontsize=\scriptsize,frame=single} -\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} -\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} -\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} -\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} -\MakeShortVerb\| -% -% -% Done with packages. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\pagestyle{headings} -% -% LaTeX parameters. -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\renewcommand{\belowcaptionskip}{4pt} -\setcounter{tocdepth}{2} -\setcounter{topnumber}{5} -\setcounter{totalnumber}{5} -% -% linebreaking, etc. -\hbadness=4000 -\vbadness=4000 -\emergencystretch=.1\hsize -\relpenalty=500 -% -\def\slash{/\penalty\z@\hskip\z@skip } -% -% various sorts of names -\newcommand*{\pkgname}[1]{\textsf{#1}}% package name -\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name -\newcommand*{\cmdname}[1]{\textsf{#1}}% command name -\newcommand*{\colname}[1]{\emph{#1}}% collection name -\newcommand*{\dirname}[1]{\path{#1}}% directory name -\newcommand*{\filename}[1]{\path{#1}}% file name -\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name -\newcommand{\code}[1]{\texttt{#1}} -\newcommand{\file}[1]{\texttt{#1}} -\newcommand{\prog}[1]{\texttt{#1}} -\newcommand{\samp}[1]{`\texttt{#1}'} -\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. -\newcommand{\ttvar}[1]{\texttt{\var{#1}}} -% -% underlined command input. -\def\Ucom#1{% - \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} -% -% \CDref is for url's with a #, where we need to write the target url and -% displayed url separately in the input, due to catcode madness. -% (We could simplify/remove this next time, I think.) -\def\CDref#1#2{\texttt{#1}} -% -% \OnCD is currently for any other reference to a file or directory in -% the distribution. PDF readers only open .pdf files, though, so we -% should change this to only use \href for those. Or more likely use -% different macros in the source. -\def\OnCD#1{\href{../../../../#1}{\path{#1}}} -% -% \href incorrectly appends .pdf to anything without an extension; these -% definitions using \hyper@linkurl do not, but they fail for .pdf -% references -- which are the only ones that work anyway. So this is -% useless, in practice. -%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} -%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} - -% GUI menu/button/tab sequence: -\def\guiseq#1{\textsf{#1}} -\def\arw{\unskip$\rightarrow$\ignorespaces} -% -% Special names. -\def\dpi{$\,$dpi\xspace} -\def\bs{{\protect\normalfont\ttfamily\char'134}} -\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} -\def\Q#1{\par\vskip6pt\leftline{#1}\par} -\def\hyph{-} -% -% many abbreviations. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} -\def\dvicopy{\cmdname{dvicopy}} -\def\dvidvi{\cmdname{dvidvi}} -\def\dvips{\cmdname{dvips}} -\def\eTeX{$\varepsilon$-\TeX} -\def\fpTeX{\textrm{fp}\TeX\xspace} -\def\GFtoDVI{\cmdname{GFtoDVI}\null} -\def\GFtoPK{\cmdname{GFtoPK}\null} -\def\GFtype{\cmdname{GFtype}} -\def\KPS{Kpathsea} -\def\La{La} -\def\OMEGA{$\Omega$} -\def\OzMF{OzMF} -\def\OzMP{OzMP} -\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} -\def\p.{p.\,} -\def\PKtype{\cmdname{PKtype}} -\def\PLtoTF{\cmdname{PLtoTF}\null} -\def\ProTeXt{Pro\TeX t} -\def\teTeX{\textrm{te}\TeX\xspace} -\def\TeXLive{\TeX{} Live\xspace} -\def\TFtoPL{\cmdname{TFtoPL}\null} -\def\TK{\textsf{\TeX\ Collection}} -\let\TL=\TeXLive -\def\TypeI{Type~1} -\def\VFtoVP{\cmdname{VFtoVP}\null} -\def\VPtoVF{\cmdname{VPtoVF}\null} -\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} -\def\XEmTeX{\textrm{XEm}\TeX\xspace} -\def\XEmacs{\textrm{XEmacs}\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{DVD}\xspace} -\providecommand*{\HTML}{\acro{HTML}\xspace} -\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} -\providecommand*{\PS}{Post\-Script\xspace} -\providecommand*{\TDS}{\acro{TDS}\xspace} -\providecommand*{\dvi}{\acro{DVI}\xspace} -\providecommand*{\web}{\texttt{web}\xspace} - -% Include an image. -% #1 - name of image (pictures/#1.jpg, always .jpg please) -% #2 - bb for html -% #3 - width for TeX -% -\def\tlimage#1#2#3{% - \ifnum \Status=2 % html, want relative path in output - \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} - \else % not html, handled by TEXINPUTS in Makefile - \includegraphics[width=#3]{pictures/#1.jpg} - \fi - \\[5mm] -} -% -% description-like environment that uses tt instead of bf, and doesn't -% go to the left margin. Without the \hfil, get an underfull box. -% Don't know why \descriptionlabel doesn't. -% -\newenvironment{ttdescription} - {\begin{list}{label must be supplied}{% - \itemsep=0pt % these lists tend to have short descriptions - \parindent=0pt - \let\makelabel=\ttdescriptionlabel}}% - {\end{list}} -\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep - \normalfont\ttfamily #1\hfil} -% -% Likewise, for commands using sans serif. -\newenvironment{cmddescription} - {\begin{list}{label must be supplied}{% - \itemsep=0pt - \let\makelabel=\cmddescriptionlabel}}% - {\end{list}} -\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep - \normalfont\sffamily #1\hfil} - -% General squeezed itemize. -\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} - -\newsavebox{\wbox} -\newenvironment{warningbox} - {\begin{lrbox}{\wbox} - \begin{minipage}{.95\textwidth}} - {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} -% -% lrbox is used as a representation marking. I changed it to -% lrBox in tne source file, to get closer to logical marking -\newsavebox{\mylrbox} -\newenvironment{lrBox} - {\begin{lrbox}{\mylrbox}} - {\end{lrbox}} - - -% emacs-page output setup -% -\ifx \HCode\UnDef - \providecommand{\Status}{0}% running TeX -\else - \providecommand{\Status}{2}% running TeX4ht -\fi -%\typeout{Status is \Status} -% -\newif\ifSingleColumn -% -% By default, we won't be creating hyperlinks. -\def\href#1#2{#2} -\def\hypertarget#1#2{} -\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url -% -\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. -% -% -\ifcase\Status - % \Status = 0 - \typeout{TeX Live documentation in DVI format} - \SingleColumntrue - \newenvironment{multicols}[1]{}{} - \or - % \Status = 1 - \typeout{TeX Live documentation in PDF format} - \RequirePackage{cmap} - \RequirePackage[breaklinks, - colorlinks,linkcolor=hypercolor,citecolor=hypercolor, - pagecolor=hypercolor,urlcolor=hypercolor, - filecolor=hypercolor, - %bookmarksopen, - % pdfstartview={FitBH -320000}, fails with acrobat7 - hyperindex] - {hyperref} - \SingleColumntrue - \newenvironment{multicols}[1]{}{} - \or - % \Status = 2 - \typeout{TeX Live documentation in HTML format} - \SingleColumntrue - \newenvironment{multicols}[1]{}{} - % read our config file, live4ht.cfg; q.v., for more definitions. - % hyperref load must come after the tex4ht load. - \RequirePackage[live4ht]{tex4ht} - \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} - % definitions need simplifying for TeX4ht to make relative paths work. - \def\CDref#1#2{\href{../../../../#1}{#2}} - \def\OnCD#1{\href{../../../../#1}{#1}} - \or - % \Status = 3 - \typeout{TeX Live documentation as a Baskerville issue} - \@ifundefined{Fonts}% - {\RequirePackage{ae}}% - {\RequirePackage[T1]{\Fonts}} - \RequirePackage{bvoutln}% outline of baskerville - \SingleColumnfalse - \RequirePackage{multicol} - \or - % \Status = 4 - \typeout{TeX Live documentation as a TUB article} - \@ifundefined{Fonts}% - {\RequirePackage{ae}}% - {\RequirePackage[T1]{\Fonts}} - \SingleColumnfalse - \newenvironment{multicols}[1]{}{} -\fi -% -\ifnum \Status=4 -\else - \RequirePackage{texnames} - \providecommand\TeXXeT{\TeX-{}-% - \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} - \def\MP{MetaPost} - \let\mf\MF - \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} - \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org - % from pictex.tex: - \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi - \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi -\fi -% -% hacking at sections etc., to pay attention to baskerville status -\newcommand{\@condend@multicols}{% - \ifSingleColumn - \else - \def\@tempa{multicols}% - \ifx\@tempa\@currenvir - \end{multicols}% - \fi - \fi -} -\let\Section\section -\renewcommand{\section}{% - \@ifstar - {\Section*}% - {% - \@condend@multicols - \@dblarg\@full@section - }% -} -\def\@full@section[#1]#2{% - \Section[#1]{#2}% - \ifSingleColumn\else\begin{multicols}{2}\fi -} -\let\SubSection\subsection -\renewcommand{\subsection}{% - \@ifstar{\SubSection*}% - {% - \@condend@multicols - \@dblarg\@full@subsection - } -} -\def\@full@subsection[#1]#2{% - \SubSection[#1]{#2}% - \ifSingleColumn\else\begin{multicols}{2}\fi -} - -% calm things down a bit if we're in a multiple-column version -\ifSingleColumn -\else - \def\@listI{\leftmargin\leftmargini - \parsep \z@ - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \z@ \@plus .1\p@ - } - \let\@listi\@listI - \@listi - \def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep - \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \itemsep \z@ \@plus .1\p@ - } - \def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep - \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ - \parsep \z@ - \partopsep \z@ - \itemsep \topsep - } - \def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv\advance\labelwidth-\labelsep - } - \def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv\advance\labelwidth-\labelsep - } - \def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi\advance\labelwidth-\labelsep - } -\fi -% -% array package stuff -\def\arraybackslash{\let\\=\@arraycr} -\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} -% -% shaded rows (using facilities of colortbl) -% -\definecolor{pale}{gray}{.9} -\newcount\colrow -\gdef\RowColor{pale} -\def\SetRowColor{% - \rowcolor{\RowColor}% - \global\advance\colrow by1\relax - \ifodd\colrow - \gdef\RowColor{pale}% - \else - \gdef\RowColor{white}% - \fi -} -% redefine to hack up a reference even though we don't need it... -\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout - {\string\bibcite{#1}{?}}\fi\ignorespaces} -% -% \unknownTeXlive is a dummy texlive entry for the biblio -\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% - \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% -} -\newtoks\@all@unknown -\global\@all@unknown{} -\AtEndDocument{\@message@unknowns} -\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% - \ifx\@tempa\@empty - \else - \def\@tempa{*** TeX live package location of }% - \expandafter\@output@unknowns\the\@all@unknown\@empty - \fi -} -\def\@output@unknowns#1{\edef\@tempb{#1}% - \ifx\@tempb\@empty - \typeout{ unknown}% - \else - \message{\@tempa#1,}% - \def\@tempa{}% - \expandafter\@output@unknowns - \fi -} - - -% Silence font warnings about no bold typewriter in LM. -\def\@font@warning#1{}% - -% Silence hyperref warnings about \kern. -\def\HyPsd@Warning#1{}% - -\endinput diff --git a/Master/texmf-doc/source/texlive/texlive-ru/texlive-ru.tex b/Master/texmf-doc/source/texlive/texlive-ru/texlive-ru.tex new file mode 100644 index 00000000000..45f7f09235b --- /dev/null +++ b/Master/texmf-doc/source/texlive/texlive-ru/texlive-ru.tex @@ -0,0 +1,2999 @@ +% $Id$ +% +%\def\Status{1} +\documentclass{article} +\let\tldocrussian=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[koi8-r]{inputenc} +\usepackage[russian]{babel} +\newcommand\Unix{Unix} +\newcommand\Windows{Windows} +\usepackage{indentfirst, cmap} +\def\p.{стр.~}% +% +\begin{document} + +\title{% + {\huge \textit{Руководство пользователя \protect\TL{}}\\\strut} + {\LARGE \textsf{\TL{} 2008}} +} + +\author{Редактор: Карл Берри\\[3mm] + \url{http://tug.org/texlive/}} +\date{Июль 2008} + +\maketitle + + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Введение} +\label{sec:intro} + +\subsection{\TeX\ Live и \TeX\ Collection} + + +В этом документе описаны основные возможности программного продукта +\TL{} "--- дистрибутива \TeX{}а и других программ для +\acro{GNU}/Линукса и других Unixов, \MacOSX и (32-битовых) Windows. + +\TL{} можно скачать с Интернета, а можно получить на \DVD{} \TK{}. Эти +\DVD{} распространяются группами пользователей \TeX а. В разделе +\ref{sec:tl-coll-dists} кратко описано содержание этого \DVD{}. И +\TL{}, и \TK{} поддерживаются группами пользователей \TeX а. В этом +документе в основном описан \TL{}. + +В \TL{} включены программы \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} и многие другие; обширная коллекция макросов, шрифтов и +документации; а также поддержка вёрстки на многих языках мира. + + +Более новые версии пакетов, включённых в дистрибутив, можно найти в +архиве \acro{CTAN}, \url{http://www.ctan.org}. + +Краткий список основных изменений в этом издании \TeXLive{} можно +найти в разделе~\ref{sec:history}, \p.\pageref{sec:history}. + + +\subsection{Поддерживаемые операционные системы} +\label{sec:os-support} + +В \TL{} включены скомпилированные программы для многих юниксоподобных +систем, включая \MacOSX. Исходный код также включен в дистрибутив, +что позволяет установить \TL{} на машинах, для которых мы не +скомпилировали программ. + +Что касается Windows: поддерживаются только версии Windows 2000 и +младше. Мы прекратили поддерживать Windows 9\textit{x}, ME и NT. Это +позволило значительно сократить затраты труда на эту платформу. Мы не +собрали 64-битовые программы для Windows, но 32-битовые варианты +должны работать на 64-битовых систем. + +Альтернативные варианты для Windows и \MacOSX{} описаны в +разделе~\ref{sec:tl-coll-dists}. + +\subsection{Основы установки \protect\TL{}} +\label{sec:basic} + +\TL{} можно установить с \DVD{} или с Интернета. Программа для +установки с сети сама по себе мала "--- она скачивает все нужное с +Интернета. Это удобно, если вам нужна только часть пакетов \TL{}. + +Программа установки с \DVD{} позволяет установить \TL{} на диск +компьютера, но можно также запускать \TL{} непосредственно с \DVD{} +(или с образа \DVD{}, если ваша система поддерживает монтирование +образов диска). + + +\noindent Всё это подробно описано в следующих разделах. Вкратце: +\begin{itemize*} +\item Скрипт для установки системы называется \texttt{install-tl}. Он + может работать в графическом (режим по умолчанию для Windows) или в + текстовом (режим по умолчанию для остальных архитектур) варианте. + Нужный вариант можно выбрать при помощи опций \code{-gui} и \code{-no-gui}. + +\item Среди установленных программ есть <<Менеджер \TL{}>>, + \prog{tlmgr}. Как и программа установки, он может работать как в + графическом, так и в текстовом режимах. Эта программа позволяет + устанавливать и удалять пакеты, а также настраивать систему. +\end{itemize*} + + +\subsection{Где можно получить поддержку} +\label{sec:help} + +Сообщество пользователей \TeX{}а активно и дружелюбно, и практически +на каждый серьёзный вопрос найдётся ответ. Однако эта поддержка +неформальна, выполняется добровольцами, и поэтому очень важно, чтобы +вы сами попробовали найти ответ перед тем, как задавать вопрос. (Если +вы предпочитаете коммерческую поддержку, возможно вам ст\'оит вместо +\TL{} купить одну из коммерческих версий \TeX{}а, см. список по +адресу \url{http://tug.org/interest.html#vendors}). + +Вот список источников поддержки, приблизительно в том порядке, в +котором мы рекомендуем к ним обращаться: + +\begin{description} + +\item[Страница для новичков] Если вы "--- новичок, то страница + \url{http://tug.org/begin.html} может послужить для начала. + +\item [\TeX{} \acro{FAQ}] \TeX{} \acro{FAQ} (ЧаВо, часто задаваемые + вопросы) "--- огромная коллекция ответов на всевозможные вопросы, от + самых простых до самых сложных. Английская версия ЧаВо находится на + \TL{} в разделе \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} + и доступна в Интернете по адресу \url{http://www.tex.ac.uk/faq}. + Пожалуйста, начинайте поиск ответа на ваши вопросы отсюда. + +\item [\TeX{} Catalogue] Если вы ищете какой-либо пакет, шрифт, + программу и т.п., то вам стоит заглянуть в \TeX{} Catalogue. Это + огромный каталог всего, что относится к \TeX{}у. См. + \url{http://www.ctan.org/help/Catalogue}. + +\item [\TeX{} во всемирной паутине] Вот страничка, на которой много + ссылок по \TeX{}у, включая многочисленные книги, руководства и + статьи: \url{http://tug.org/interest.html}. + +\item [Архивы списков рассылки и групп] Два основных форума + технической поддержки "--- группа \url{news:comp.text.tex} и список + рассылки \email{texhax@tug.org}. В их архивах тысячи вопросов и + ответов на все случаи жизни. См. + \url{http://groups.google.com/groups?group=comp.text.tex} и + \url{http://tug.org/mail-archives/texhax}. Поиск, например, в Гугле + \url{http://google.com} тоже часто помогает найти ответ. + +\item [Вопросы на форумах] Если вы не можете найти ответа на ваш + вопрос, вы можете опубликовать вопрос в \dirname{comp.text.tex} при + помощи Google или вашей любимой новостной программы, или послав + письмо в \email{texhax@tug.org}. Но перед этим \emph{пожалуйста} + прочтите в ЧаВо совет о том, как правильно задавать вопросы на этих + форумах: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Поддержка \TL{}] Если вы хотите сообщить о баге или + высказать нам свои предложения и замечания о дистрибутиве \TL{}, + его установке или документации, пишите на лист рассылки + \email{tex-live@tug.org}. Однако если ваш вопрос касается + конкретной программы, входящей в \TL{}, вам лучше задавать + вопросы её автору или посылать их на соответствующий список + рассылки. Часто соответствующий адрес можно получить при помощи + опции \code{-{}-help}. + +\item[Русскоязычные ресурсы] \emph{(добавлено переводчиком)} + Эхоконференция \dirname{ru.tex} доступна как в сети ФИДО, так и в + Интернете (как \url{news:fido7.ru.tex}). Русские группы ФИДО можно + найти на многих серверах, например \code{demos.ddt.su}. В FAQ + этой группы (автор "--- Михаил Колодин) приводится много ссылок на + русскоязычные ресурсы. + +\end{description} + +С другой стороны, вы сами тоже можете помочь тем, у кого есть вопросы. +И \dirname{comp.text.tex}, и \code{texhax}, и \dirname{fido7.ru.tex} +открыты для всех, поэтому вы тоже можете присоединиться, читать и +помогать другим. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. + +\section{Структура \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +Этот раздел описывает структуру и содержание \TK{} и его составной +части \TL{}. + + +\subsection{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +\DVD{} \TK{} содержит следующие пакеты: + +\begin{description} + +\item [\TL] полная система, которой можно пользоваться + либо непосредственно \DVD{}, либо установив на диск компьютера. + +\item [Mac\TeX] для \MacOSX{}. Этот пакет добавляет к \TL{} программу + установки для \MacOSX{} и другие программы для Макинтошей. Страница + проекта "--- \url{http://www.tug.org/mactex/}. + + +\item[pro\TeX{}t] улучшенный вариант дистрибутива \MIKTEX\ для Windows. + \ProTeXt\ включает в себя дополнительные программы и упрощённую + установку. Он не зависит от \TL{} и включает собственные инструкции + по установке. Страница \ProTeXt{} "--- + \url{http://tug.org/protext}. + +\item [CTAN] Зеркало архива \CTAN. + +\item[\texttt{texmf-extra}] директория с разнообразными + дополнительными пакетами. + + +\end{description} + +Лицензии на использование \CTAN{}, \pkgname{protext} и +\texttt{texmf-extra} отличаются от лицензии \TL{}, поэтому будьте +внимательны при распространении или модификации программ, входящих в +эти дистрибутивы. + + +\subsection{Корневые директории} +\label{sec:tld} + +Вот краткое описание корневых директорий в дистрибутиве \TL{}. На +\pkgname{live} \DVD вся иерархия \TL{} помещена в поддиректорию +\dirname{texlive}, а не в корень диска. + +\begin{ttdescription} +\item[bin] Программы системы \TeX{}, сгруппированные по платформам. +% +\item[readme.html] Странички WWW с кратким руководством для + пользователя и различными ссылками, на разных языках. +% +\item[source] Исходный код всех программ, включая дистрибутивы \Webc{} + \TeX{} и \MF{}. +% +\item[support] Разные вспомогательные пакеты и программы. Они + \emph{не} устанавливаются по умолчанию. Сюда относятся + разнообразные редакторы и оболочки для \TeX{}а. +% +\item[texmf] См. \dirname{TEXMFMAIN} ниже. +% +\item[texmf-dist] См. \dirname{TEXMFDIST} ниже. +% +\item[texmf-doc] Дерево самостоятельной документации, сгруппированной + по языкам. +% +\item[tlpkg] Скрипты, программы и другие файлы для поддержки системы. + Это дерево также содержит собственные копии программ Perl и + Ghostscript, невидимые вне \TL{}, а также новую оболочку для + просмотра постскриптовских файлов под Windows, PSView. +\end{ttdescription} + + +Кроме этих директорий, в корневой директории находятся скрипты +установки и файлы \filename{README} (на разных языках). + +Директория \dirname{texmf-doc} содержит документацию, которая не +относится к отдельным пакетам или программам. Документация к +программам (руководства, man, info) находится в директории +\dirname{texmf/doc}. Документация макропакетов и форматов +находится в директории \dirname{texmf-dist/doc}. Для поиска +документации можно воспользоваться программами \cmdname{texdoc} или +\cmdname{texdoctk}. Можно также воспользоваться ссылками в файле +\OnCD{doc.html} в корневой директории. + +Документация к самому дистрибутиву \TL{} находится в директории +\dirname{texmf-doc} и доступна на нескольких языках: +\begin{itemize*} +\item{Английский:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{Упрощенный китайский:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{Немецкий:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{Польский:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{Русский:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\item{Французский:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{Чешский и словацкий:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\end{itemize*} + +\subsection{Описание директорий texmf} +\label{sec:texmftrees} + +В этом разделе описаны все переменные, задающие положение деревьев +директорий texmf и их значения по умолчанию. Команда +\texttt{texconfig conf} показывает текущие значения этих переменных, +так что вы можете легко проверить, где эти директории находятся в +вашей системе. + +\begin{ttdescription} +\item [TEXMFMAIN] Дерево, где находятся основные части системы, + такие, как вспомогательные скрипты (например, + \verb+web2c/mktexdir+), другие вспомогательные файлы и документация + к ним. Это дерево не содержит форматов \TeX а и пакетов. +\item [TEXMFDIST] Дерево с основным набором макропакетов, шрифтов и + т.д. в первоначальной конфигурации. +\item [TEXMFLOCAL] Дерево, которое может быть использовано + администраторами системы для дополнительных пакетов, + шрифтов и т.д., или установки обновлений. +\item [TEXMFHOME] Дерево, которое пользователи могут использовать для + установки собственных пакетов, шрифтов и т.д., или для обновлённых + версий системных пакетов. Эта переменная является + своей для каждого пользователя. +\item [TEXMFCONFIG] Это дерево используется утилитами + \verb+texconfig+, \verb+updmap+ и \verb+fmtutil+ + для хранения модифицированных файлов конфигурации. По умолчанию + находится в директории \envname{TEXMFHOME}. +\item [TEXMFSYSCONFIG] Это дерево используется утилитами + \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+ + для хранения модифицированных файлов + конфигурации, общих для всех пользователей. +\item [TEXMFVAR] Это дерево используется утилитами \verb+texconfig+, + \verb+updmap+ и \verb+fmtutil+ для хранения + создаваемых автоматически файлов: форматов, карт шрифтов. По + умолчанию находится в директории \envname{TEXMFHOME}. +\item [TEXMFSYSVAR] Это дерево используется утилитами + \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+, а также + \verb+tlmgr+ + для хранения создаваемых автоматически файлов: + форматов, карт шрифтов, "--- общих для всех пользователей. +\end{ttdescription} + +\noindent +По умолчанию структура директорий выглядит так: +\begin{description} + \item[корневая директория] может содержать несколько версий \TL{}: + \begin{ttdescription} + \item[2007] Предыдущая версия. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] Текущая версия. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] Программы для \GNU/Linux + \item [...] + \item [universal-darwin] Программы для \MacOSX + \item [win32] Программы для Windows + \end{ttdescription} + \item [texmf] Это \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, общая для всех версий + \TL{}. + \end{ttdescription} + \item[домашняя директория пользователя] (\texttt{\$HOME} или + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] Данные и конфигурационные файлы предыдущей + версии. + \item[.texlive2008] Данные и конфигурационные файлы текущей + версии. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Личные макропакеты. + \textit{etc.} + \end{ttdescription} +\end{description} + +\subsection{Расширения \protect\TeX{}а} +\label{sec:tex-extensions} + +Кнутовский вариант \TeX а заморожен "--- за исключением редких +исправлений багов, в него не вносится никаких изменений. Он все ещё +распространяется в \TL{} как \prog{tex} и будет распространяться в +обозримом будущем. В состав \TL{} входит несколько расширений \TeX{}а: + +\begin{description} + +\item [\eTeX] добавляет набор новых примитивов +\label{text:etex} +(относящийся к макроподстановкам, чтению символов, дополнительным +возможностям отладки и многому другому) и расширения \TeXXeT{} для +вёрстки справа налево и слева направо. В обычном режиме \eTeX{} на +100\% совместим со стандартным\TeX{}ом. См. +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] включает в себя расширения \eTeX а, добавляя поддержку + формата \acro{PDF}, помимо стандартного \dvi{}. Эта программа + используется большинством форматов, например, \prog{etex}, + \prog{latex}, \prog{pdflatex}. См. \url{http://www.pdftex.org/}. + В руководстве пользователя \OnCD{texmf/doc/pdftex/manual/} и примере + \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} описаны + возможности программы. + +\item[Lua\TeX] предназначен заменить pdf\TeX{} в будущем. + Предполагается, что он будет совместим с последним. Он также + заменит Aleph, см. ниже. Встроенный интерпретатор языка Lua (см. + \url{http://www.lua.org/}) позволяет элегантно решить многие сложные + проблемы \TeX а. Когда эта программа запускается как + \filename{texlua}, она работает как интерпретатор Lua, и в этом + качестве используется в \TL{}. См. \url{http://www.luatex.org/} и + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] добавляет поддержку Unicode и шрифтов в формате + OpenType, сделанную через стандартные библиотеки. См. + \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ (Омега)] основана на Unicode (система 16-битовых + символов), что позволяет работать одновременно почти со всеми + письменностями мира. Она также поддерживает так называемый <<процесс + трансляции \OMEGA{}>> (\acro{OTP}s) для сложных преобразований + произвольного входного потока. См. + \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (текст несколько устарел). + + +\item[Aleph] объединяет \OMEGA\ и \eTeX. См. краткую документацию в + \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Другие интересные программы в дистрибутиве \protect\TL} + +Вот несколько других часто используемых программ в дистрибутиве \TL{}: + +\begin{cmddescription} + +\item [bibtex] поддержка библиографий. + +\item [makeindex] поддержка алфавитных указателей. + +\item [dvips] преобразование \dvi{} в \PS{}. + +\item [xdvi] программа для просмотра \dvi{} для X Window System. + +\item [dvilj] драйвер для лазерных принтеров семейства HP LaserJet. + +\item [dv2dt, dt2dv] преобразование \dvi{} в текст и обратно. + +\item [dviconcat, dviselect] перестановка страниц в файлах \dvi{}. + +\item [dvipdfmx] преобразование \dvi{} в \acro{PDF}, альтернатива + pdf\TeX{}у, упомянутому выше. Пакеты \pkgname{ps4pdf} и +\pkgname{pdftricks} предлагают дополнительные возможности. + +\item [psselect, psnup, \ldots] утилиты для формата \PS{}. + +\item [lacheck] проверка синтаксиса \LaTeX{}а. + +\item [texexec, texmfstart] процессор для Con\TeX{}tа и \acro{PDF}. + +\item [tex4ht] конвертер из \TeX{}а в \acro{HTML}, \acro{XML} и многие + другие форматы. + +\end{cmddescription} + +\subsection{Шрифты в \protect\TL{}} +\label{sec:tl-fonts} + +В \TL{} включено много векторных шрифтов высокого качества. +См. \url{http://tug.org/fonts} и +\OnCD{texmf-doc/english/free-math-fonts-survey}. + +\section{Установка} +\label{sec:install} + +\subsection{Запуск программы установки} +\label{sec:inst-start} + +Для начала вам потребуется \DVD{} \TK{} или программа установки \TL{} +с Интернета. Найдите скрипт установки: \filename{install-tl} для +Юникса, \filename{install-tl.bat} для Windows. + +\begin{description} +\item [Установка с сети:] скачайте программу из архива \CTAN, директория +\dirname{systems/texlive/tlnet}; адрес +\url{http://mirror.ctan.org/systems/texlive/tlnet} автоматически +приводит к ближайшему зеркалу архива. Вы можете скачать либо +\filename{install-tl.zip} (установка под Юниксом и Windows), либо файл +существенно меньшего размера +\filename{install-unx.tar.gz} (только для Юникса). После распаковки +файлы \filename{install-tl} и +\filename{install-tl.bat} окажутся в директории \dirname{install-tl}. + +\item [\TeX{} Collection \DVD:] Перейдите в поддиректорию + \dirname{texlive}. Под Windows программа установки запускается + автоматически, когда вы вставляете \DVD{} в компьютер. Вы можете + получить \DVD, вступив в группу пользователей \TeX а (мы + настоятельно рекомендуем это сделать, + \url{http://tug.org/usergroups.html}), либо купив его отдельно + (\url{http://tug.org/store}), or либо сделав его, скачав \ISO\ образ + диска (\url{http://tug.org/texlive/acquire.html}). + +\end{description} + + +В следующих разделах установка описывается более подробно. + +\subsubsection{Юникс} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + binary systems: 1 out of 16 + + Installation scheme (scheme-full) + + Customizing installation scheme: + standard collections + language collections + 83 collections out of 84, disk space required: 1666 MB + + directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + Install for running from DVD + +Other actions: + start installation to HD + help + quit + +Enter command: +\end{boxedverbatim} +\caption{Главное меню программы установки в текстовом режиме + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Главное меню программы установки в графическом режиме + (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Ниже \texttt{>} указывает системный промпт; то, что вводит +пользователь, показано \Ucom{\texttt{жирным шрифтом}}. +Открыв терминальное окно в Юниксе, запустите программу установки: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Альтернативно, вы можете запустить \Ucom{perl + /path/to/installer/install-tl}, или +\Ucom{./install-tl}, если у этого скрипта есть права на выполнение, и +т.д. Мы не будем указывать все эти варианты.) + + +Для установки в графическом режиме (вам потребуется модуль +\dirname{Perl/TK}) используйте +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Полный список возможных опций дает команда +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Предупреждение о правах доступа в Юниксе:} система установки +\TL{} использует текущее значение параметра \code{umask}. Поэтому +если вы хотите, чтобы полученной системы могли пользоваться не только +вы, но и другие пользователи, вы должны установить, например, \code{ + umask 022}. Более подробно \code{umask} обсуждается в документации +к вашей системе. + +\subsubsection{Mac\,OS\,X} + +Как отмечается в разделе~\ref{sec:tl-coll-dists}, для \MacOSX{} +существует специальный дистрибутив, Mac\TeX{} +(\url{http://tug.org/mactex}). Мы рекомендуем пользоваться его +системой установки, а не общим скриптом \TL{}, поскольку у него есть +дополнительные возможности, специфические для Маков, например, удобное +переключение между различными дистрибутивами \TeX а для \MacOSX{} +(Mac\TeX, gw\TeX, Fink, MacPorts, \ldots). + +Mac\TeX{} основан на \TL{}, и основные деревья директорий у них +совпадают. Он добавляет несколько поддиректорий с программами и +документацией, относящимися только к Макам. + +\subsubsection{Windows} + +Если вы устанавливаете систему с сети, или если программа установки с +\DVD{} не стартовала автоматически, дважды щелкните по +\filename{install-tl.bat}. + +Можно также запустить программу из командной строки. Ниже \texttt{>} +означает системный промпт; то, что вводит пользователь, указано +\Ucom{\texttt{жирным шрифтом}}. Если вы находитесь в директории +программы установки, напечатайте: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Программу можно вызвать и из другой директории, например, +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +(предполагается, что в \dirname{D:} находится \DVD{} \TK{}). + +Для установки в текстовом режиме используйте +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + + +Все опции программы можно получить при помощи команды +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Установка в текстовом режиме} + +На рисунке~\ref{fig:text-main} показано основное меню программы +установки в текстовом режиме для Юникса. + +Интерфейс программы довольно примитивен: поддержки курсора в нем +нет. Например, нельзя передвигаться по полям при помощи клавиши +<>. Вы просто печатаете что-то (регистр учитывается!) и +нажимаете клавишу <>, после чего перерисовывается весь экран. + +Этот интерфейс примитивен по следующей причине: он должен работать на +как можно большем количестве платформ, включая такие, где есть только +усеченный вариант Perlа (для Windows такой вариант +Perlа включен в дистрибутив). + +\subsubsection{Установка в графическом режиме} + +На рисунке~\ref{fig:gui-main} изображено меню программы установки в +графическом режиме. Основные различия с рисунком~\ref{fig:text-main} +связаны с тем, что эта программа работает под Windows, а предыдущая +"--- под GNU/Linux. + +\subsection{Работа программы установки} +\label{sec:runinstall} + +Меню программы установки должно быть понятно без объяснений. Мы все +же приведем несколько кратких замечаний. + +\subsubsection{Меню выбора платформы (только для Юникса)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +==================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Меню выбора платформы}\label{fig:bin-text} +\end{figure} + +На рисунке~\ref{fig:bin-text} изображено меню выбора платформы. По +умолчанию устанавливаются только программы для вашей текущей +архитектуры. В этом меню вы можете выбрать также установку программ +для других платформ. Это может быть полезно, если вы используете одно +и то же дерево \TeX{}а для разных машин и раздаёте его по локальной +сети, либо если на вашей машине установлено несколько операционных +систем. + +\subsubsection{Выбор основных компонентов} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +==================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Выбор основных компонентов}\label{fig:scheme-text} +\end{figure} + +На рисунке~\ref{fig:scheme-text} показано меню выбора основных +компонентов (схем) \TL{}. В этом меню вы можете выбрать <<схему>>, +т.е. набор коллекций пакетов. По умолчанию используется схема +\optname{full}, т.е. все пакеты \TL{}, но вы можете выбрать схему +\optname{basic} для небольшой систему, схему \optname{minimal} для +тестирования или схемы \optname{medium} или \optname{teTeX}. Есть +также ряд специальных схем, в том числе и предназначенных для +различных стран. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Меню коллекций (Линукс)}\label{fig:collections-gui} +\end{figure} + +Вы можете уточнить ваш выбор при помощи меню <<коллекций>> +(рисунок~\ref{fig:collections-gui}, для разнообразия сделанный в +графическом режиме). + +Коллекции представляют собой следующий после схем уровень +иерархии \TL{}. Грубо говоря, схемы состоят из коллекций, коллекции +состоят из пакетов, а пакеты (нижний уровень иерархии \TL{}) содержат +макросы, шрифты и т.д. + +Если вы хотите более тонкой настройки, чем возможна в меню коллекций, +вы можете использовать программу \prog{tlmgr} после установки +(см. раздел~\ref{sec:tlmgr}). Эта программа позволяет устанавливать +или удалять отдельные пакеты. + +\subsubsection{Директории} +\label{sec:directories} + +Схема директорий по умолчанию описана в разделе~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. Положение дерева +\dirname{TEXDIR} отличается для Windows +(|%PROGRAMFILES%\texlive\2008|) и Юникса +(\dirname{/usr/local/texlive/2008}). + +Основной причиной, по которой бывает необходимо изменить эту схему +"--- отсутствие у вас прав на запись в нужные директории. Вам не +надо иметь права администратора для установки \TL{}, однако вам надо +иметь право писать в директорию, куда устанавливается система. + +Естественной альтернативой в таком случае является установка в вашу +домашнюю директорию, особенно если вы будете единственным +пользователем системы. Для этого используйте `|~|' например +`|~/texlive/2008|'. + +Мы рекомендуем включать номер года в название директории, чтобы можно +было держать отдельно разные версии \TL{}. После тестирования новой +версии вы сможете сделать \dirname{/usr/local/texlive-cur} ссылкой на +соответствующую директорию. + +Изменение \dirname{TEXDIR} изменит также \dirname{TEXMFLOCAL}, +\dirname{TEXMFSYSVAR} и \dirname{TEXMFSYSCONFIG}. + +Личные пакеты и файлы рекомендуется держать в директории +\dirname{TEXMFHOME}. По умолчанию это |~/texmf|. В отличие от +\dirname{TEXDIR}, здесь |~| будет своим для каждого пользователя. +Эта переменная становится \dirname{$HOME} под Юниксом и +\verb|%USERPROFILE%| под Windows. + +\subsubsection{Опции} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +

use letter size instead of A4 by default: [ ] + create all format files: [X] + install font/macro doc tree: [X] + install font/macro source tree: [X] + create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Меню опций (Unix)}\label{fig:options-text} +\end{figure} + +На рисунке~\ref{fig:options-text} приведено меню опций (текстовый +режим). Стоит упомянуть три из них: +\begin{description} +\item[use letter size instead of A4 by default (использовать по + умолочанию размер letter вместо A4):] выбор размера бумаги + по умолчанию. Разумеется, отдельные документы могут при + необходиости указать собственный размер бумаги. + +\item[create all format files (созать все форматы):] Хотя ненужные форматы занимают место + на диске и требуют времени для создания, мы все же рекомендуем не + изменять эту опцию. В противном случае отсутствующие форматы будут генрироваться + в директориях \dirname{TEXMFVAR} для каждого пользователя. Они не + будут автоматически перегенерироваться при изменении программ и схем + перенода, и в итоге могут оказаться несовместимыми с новой + системой. + +\item[create symlinks in standard directories (создать симлинки в + стандартных директориях)] (только для Юникса): Эта опция делает + ненужной смену переменных окружения. Без неё директории \TL{} нужно + добавить к \envname{PATH}, \envname{MANPATH} и \envname{INFOPATH}. + Для этой опции вам нужны права на запись в стандартные директории. + Мы не советуем вам подменять \TeX{} из дистрибутива вашей системы + при помощи этой опции. Она нужна для создания симлинков в + директориях типа \dirname{/usr/local/bin}, которые не содержат + файлов \TeX а из системного дистрибутива. +\end{description} + +Задав нужные настройки, вы можете начать установку системы, нажав +клавишу <<|I|>>. Когда установка закончена, перейдите к +разделу~\ref{sec:postinstall}. + +\subsubsection{Настройка для работы с DVD{} (только текстовый режим)} +\label{sec:fromdvd} + +Для выбора этой опции нажмите клавишу <<|V|>>. Основное меню станет +таким, как на рисунке~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + + set up for installing to hard disk + +Other actions: + start installation for running from DVD + help + quit +\end{boxedverbatim} +\caption{Основное меню после выбора опции \optname{from + DVD}}\label{fig:main-fromdvd} +\end{figure} + +Обратите внимание на изменения: исчезли все опции выбора, что +устанавливать, а меню директорий говорит теперь о \dirname{TEXDIRW}, +т.е. части дерева на локальном диске. Опция создания симлинков также +исчезла. + +Программа установки создаст различные директории и конфигурационные +файлы, но не будет копировать на диск компьютера \dirname{texmf}, +\dirname{texmf-dist} или \dirname{texmf-doc}. + +Действия после установки для Юникса будут чуть сложнее, чем в +предыдущем случае, поскольку расположение директорий теперь отличается +от стандартного; см. раздел~\ref{sec:postinstall}. + +Из-за недостатка времени этой опции пока нет в графическом режиме, но +она доступна и для Юникса, и для Wiindows. Пользователям Windows +придется запустить программу установки из командной строки, +см. раздел~\ref{sec:cmdline}. + +В разделе~\ref{sec:portable-unix} описан другой способ запуска \TL{} с +диска, который не требует изменений в конфигурации системы "--- но и +не позволяет настраивать \TL{}. + +\subsection{Опции командной строки} +\label{sec:cmdline} + +Напечатайте +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +чтобы получить список опций комадной строки. В опциях можно +использовать как |-|, так и |--|. Вот самые интересные опции: + +\begin{ttdescription} +\item[-gui] Если возможно, использовать грагический режим. Это + требует модуль Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}); + если этого модуля в системе нет, установка происходит в текстовом + режиме. +\item[-no-gui] Использовать текстовый режим, даже под Windows. Вам + понадобится эта опция, если вы хотите запускать \TL{} с \DVD{}, + поскольку это пока невозможно в графическом режиме. +\item[-lang {\sl LL}] Задать язык интерфейса программы установки + (стандартным кодом страны \textsl{LL}). Сейчас доступны следующие языки: + supported languages: английски (\texttt{en}, значение по умолчанию), немецкий + (\texttt{de}), французский (\texttt{fr}), голландский (\texttt{nl}), польский + (\texttt{pl}), словенский (\texttt{sl}) и вьетнамский + (\texttt{vi}). Программа установки пытается определеть нужный язык + автоматически, но если это не получается или если нужный язык не + поддерживается, она переходит на английский. +\item[-profile {\sl profile}] Программа установки всегда записывает файл + \filename{texlive.profile} в поддиректорию \dirname{2008/tlpkg} или + \dirname{tlpkg}. Эта опция заставляет программу использовать этот + файл. Вот пример такого файла: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + При помощи этой опции вы можете устанавливать \TL{} на нескольких + машинах с одними и теми же параметрами. +\item [-location {\sl url/path}] Указать альтернативный источник + пакетов; см. ниже. +\end{ttdescription} + +\subsubsection{Параметр \optname{location}} +\label{sec:location} + +Значение этого параметра может быть URL, начинающися с \texttt{ftp:}, +\texttt{http:}, \texttt{file:/} или директория на диске. Если +аргумент задает директорию на диски (прямо или при помощи +\texttt{file:/}), система автоматически определяет, является ли +источник архивом: если найдена поддиректория \dirname{archive} с +файлами \filename{.tar.lzma}, то она будет использована, даже если +рядом находятся незаархивированные файлы. + +Если параметр начинается с \texttt{http:} или \texttt{ftp:}, то символ +\texttt{/} или директория \texttt{/tlpkg} в конце параметра +игнорируются. Например, вы можете задать в качестве параметра зеркало +\CTAN{}: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}. +Разумеется, вам следует подставить вместо \dirname{example.ctan.org} +нужное зеркало и путь к архиву на этом зеркале (список зеркал +находится на \url{http://mirror.ctan.org}. По умолчанию зеркало +определяется автоматически из списка на \url{http://mirror.ctan.org}; +в любом случае выбранное зеркало используется для всей установки. + + +\subsection{Действия после установки} +\label{sec:postinstall} + +Иногда после установки системы требуются дополнительные действия. + +\subsubsection{Windows} + +Под Windows программа установки сама делает все необходимое. + +\subsubsection{Если созданы симлинки} + +Если вы решили создать симлинки в стандартных директориях +(см. раздел~\ref{sec:options}, то менять переменные окружения не +нужно. + +\subsubsection{Переменные окружения для Юникса} +\label{sec:env} + +Директория с программами для вашей платформы должна быть добавлена к +пути поиска. Программы для каждой архитектуры помещаются в +собственную поддиректорию под \dirname{TEXDIR/bin}. См. список +поддиректорий и соответствующих платформ на +рисунке~\ref{fig:bin-text}. + +Вы можете также добавить директории с документацией в формате man и +info к соответствующим путям поиска, если вы хотите, чтобы ваша +операционная система знала о них. + +Ниже мы используем для примера стандартную систему директорий в системе +Intel86 GNU/Linux. + +Для оболочек типа Bourne (\prog{bash} и т.п.) вы можете добавить в +файл \filename{$HOME/.profile} (или в файл, который вызывается из +\filename{.profile}) следующее: + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +Для \prog{csh} или \prog{tcsh} следует редактировать файл +\filename{$HOME/.cshrc}, и следует добавить что-то вроде + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Разумеется, в ваших конфигурационных файлах уже могут быть определены +эти переменные; фрагменты выше добавляют к ним директории \TL{}. + +\subsubsection{Переменные окружения: глобальная конфигурация} +\label{sec:envglobal} + +Если вы хотите внести эти изменения для всех пользователей, или +добавлять их автоматически для новых пользователей, то вам следует +разобраться самому: в разных системах это делается слишком +по-разному. + +Два совета: 1)~возможно, вам следует добавить в файл +\filename{/etc/manpath.config} строчки вроде: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +И 2)~иногда пути поиска и другие глобальные переменные окружения +задаются в файле \filename{/etc/environment}. + +\subsubsection{Работа с DVD} + +Обычно программы \TL{} узнают, где находятся нужные директории, в +файле \filename{texmf.cnf}. Они ищут этот файл, исходя из того, где +находятся сами. Однако эта схема не работает, когда программа +запускается с \DVD{}. На \DVD{} нельзя писать, но некоторые пути, +которые должны быть в \filename{texmf.cnf}, известны только после +установки, поэтому этот файл не может находиться на \DVD{}, и должен +быть в другом месте. Это означает, что необходимо определить +переменную окружения \envname{TEXMFCNF}, которая говорит программам +\TL{}, где искать файл \filename{texmf.cnf}. Необходимо также +изменить переменную \envname{PATH}, как опсано выше. + +В конце установки программа пишет сообщение, где указано, чему должна +равняться переменная \envname{TEXMFCNF}. На случай, если вы +пропустили это сообщение: это \dirname{$TEXMFSYSVAR/web2c}. По +умолчанию это \dirname{/usr/local/texlive/2008/texmf-var/web2c}, и +вам нужно установить её так: +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +или, для [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} + +<<Старый>> \ConTeXt{} должен работать <<из коробки>>. Новая система +Mark~IV требует ручной конфигурации; +см. \url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Добавление личных и локальных пакетов} +\label{sec:local-personal-macros} + +Этот вопрос уже обсуждался в разделе~\ref{sec:texmftrees}: для +локальных шрифтов и пакетов предназначена директория +\dirname{TEXMFLOCAL} (по умолчанию, +\dirname{/usr/local/texlive/texmf-local} или +\verb|C:\Program Files\texlive\texmf-local|), а для личных шрифтов и +пакетов "--- директория \dirname{TEXMFHOME} (по умолчанию, +\dirname{$HOME/texmf} или \verb|%USERPROFILE%\texmf|). Эти директории +предполагаются общими для всех версий \TL{}, и каждая версия \TL{} +видит их автоматически. Поэтому мы не рекомендуем менять значение +\dirname{TEXMFLOCAL}, иначе вам придется делать это для каждой новой +версии. + +Файлы в обеих директориях должны находиться в правильных +поддиректориях; см. \url{http://tug.org/tds} и +\filename{texmf/web2c/texmf.cnf}. Например, \LaTeX овский класс или +пакет должен находиться в директории \dirname{TEXMFLOCAL/tex/latex} или +\dirname{TEXMFHOME/tex/latex} или какой-либо из их поддиректорий. + +Для директории \dirname{TEXMFLOCAL} должна поддерживаться база данных +о файлах, иначе система не сможет найти там нужные файлы. Эта база +обновляется командой \cmdname{mktexlsr} или кнопкой <> в графическом режиме программы \prog{tlmgr}. + +\subsubsection{Добавление шрифтов} + +К сожалению, это очень сложная задача. Не делайте этого, если вы не +знаете \TeX а как свои пять пальцев. Не забудьте сначала проверить, +какие шрифты у вас уже есть, см. раздел~\ref{sec:tl-fonts}. + +Возможная альтернатива "--- программа \XeTeX{} (см. +раздел~\ref{sec:tex-extensions}), которая позволяет автоматически +использовать в \TeX е шрифты вашей операционной системы. + +\subsection{Тестирование системы} +\label{sec:test-install} + + +После установки \TL{} вы, скорее всего, захотите проверить работу +системы, а уже затем перейти к созданию прекрасных документов и/или +шрифтов. + +В этом разделе описываются основные процедуры по тестированию системы. +Мы приводим команды для операционных систем типа Unix; под \MacOSX{} и +Windows вы, скорее всего, будете использовать графический интерфейс, +но принцип тот же. + +\begin{enumerate} + +\item Сначала проверьте, что вы можете запускать программу + \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +Если вы получаете в ответ <> вместо номера версии и +информации о копирайте, у вас, скорее всего, нет директории с нужными +программами в переменной \envname{PATH}. См. обсуждение на +странице~\pageref{sec:env}. + + +\item Скомпилируйте простой \LaTeX{}овский файл: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Если программа не может найти \filename{sample2e.tex} или другие +файлы, возможно, у вас остались следы от старой установки: переменные +окружения или конфигурационные файлы. Мы рекомендуем сначала убрать +все переменные окружения, относящиеся к \TeX у. (Для отладки вы всегда можете +попросить \TeX{} точно сказать, что именно он ищет; см. <<Отладка>> на +стр.~\pageref{sec:debugging}.) + +\item Посмотрите результат на экране: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Под Windows аналогичная команда называется \cmdname{dviout}.) Вы должны +увидеть новое окно с красиво свёрстанным документом, объясняющим основы +\LaTeX{}а. (Если вы "--- новичок, вам ст\'оит его прочесть.) Чтобы +программа \cmdname{xdvi} могла запуститься, вы должны быть в среде X Window; +если это не так, или если переменная \envname{DISPLAY} установлена +неправильно, вы увидите ошибку \samp{Can't open display}. + +\item Создайте файл в формате \PS{} для печати или просмотра на экране: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Создайте файл в формате \acro{PDF} вместо \dvi{}; команда ниже + компилирует файл \filename{.tex} и создаёт \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Посмотрите результат на экране: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{или:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +К сожалению, ни \cmdname{gv}, ни \cmdname{xpdf} не включены в текущую +версию \TL{}, так что вам придётся устанавливать их +отдельно. См. соответственно +\url{http://www.gnu.org/software/gv} и +\url{http://www.foolabs.com/xpdf}. (Разумеется, есть и много других +программ для простмотра файлов в формате \acro{PDF}). + +\item Другие стандартные тестовые файлы, которые вам могут пригодиться: + +\begin{ttdescription} +\item [small2e.tex] Более простой документ, чем \filename{sample2e}, + удобный, если последний слишком велик для вас. +\item [testpage.tex] Проверяет поля и позиционирование бумаги для + вашего принтера. +\item [nfssfont.tex] Используется для печати таблиц шрифтов и тестов. +\item [testfont.tex] Печать таблиц шрифтов под plain \TeX{}. +\item [story.tex] Самый канонический файл в формате (plain) \TeX. Вы + должны напечатать \samp{\bs bye} в ответ на приглашение \code{*} + после \samp{tex story.tex}. +\end{ttdescription} +\end{enumerate} + + +Если вы новичок в \TeX{}е, или вам нужна помощь в создании документов +на языке \TeX{} или \LaTeX{}, посетите +\url{http://tug.org/begin.html}. + +\section{Установка в локальной сети} +\label{sec:netinstall} + +\TL{} может использоваться одновременно разными пользователями или +даже разными машинами в локальной сети. В стандартной схеме +директорий все пути к файлам являются относительными: программы \TL{} +определяют, где лежат нужные им файлы, исходя из того, где они +находятся сами. Вы можете увидеть, как это делается, посмотрев +конфигурационный файл \filename{$TEXMFMAIN/web2c/texmf.cnf} со +строчками типа +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Это означает, что другие системы или пользователи должны просто +добавить директорию с программами \TL{} к директориям поиска. + +Точно так же вы можете установить \TL{} на один компьютер, а затем +перенести всю иерархию на локальную сеть. + +Разумеется, пользователи Windows привыкли к другому. В директории +\dirname{texmf-doc/source/texlive/texlive-common/w32client} находится +пример скрипта \filename{install-w32client}, который создает настройки +и ярлыки для существующей системы \TL{} в локальной сети. Его можно +запустить из файла \filename{install-w32client.bat}, который находится +в той же директории. + +Дополнительная информация о конфигурации \TL{} и поиске файлов +находится в разделе~\ref{sec:kpathsea}. + +\section{Максимально переносимая система \protect\TL{} на DVD и USB} +\label{sec:portable-unix} + +Вариант <<работы с \DVD>>, описанный в разделе~\ref{sec:fromdvd}, +подходит для вашей собственной системы, но если вы "--- гость на +чьем-нибудь чужом компьютере, вы захотите сделать так, чтобы после вас +не оставалось никаких изменений в системе. + +В корневой директории \DVD{} \TL{}, или в директории \dirname{texlive} +\DVD{} \TK{} находится скрипт \filename{tl-portable} (Юникс) и файл +\filename{tl-portable.bat} (Windows), которые открывают терминал с +переменными окружения, подходящими для работы с \TL{} непосредственно +с \DVD{}. + +Когда эта программа запускается в первый раз, она создает несколько +файлов в директории \dirname{~/.tlportable2008}, что требует +некоторого времени. Впоследствии она запускается практически +мгновенно. + +Остальная система не будет ничего знать о \TL{}. Если вы хотите, +чтобы ваш редактор знал о \TL{}, запустите его из параллельной сессии +\filename{tl-portable}. + +Вы также можете использовать \filename{tl-portable}, чтобы запускать +\TL{} с флешки \acro{USB}. Для этого скопируйте все файлы в корневой +директории, а также по крайней мере содержимое \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} и \dirname{tlpkg} на флешку. +Это может занять много времени! Если вы копируете на флешку в формате +\acro{FAT}32, вы должные раскрыть симлинки (\code{cp -L}). Если на +флешке есть директория \dirname{texmf-local}, она будет найдена и +использована. + +После этого вы можете запускать скрипт \filename{tl-portable} из +корневой директории флешки, как описано выше. В этом случае скрипт +поймет, что на флешку можно писать, и будет записывать автоматически +созданные файлы туфа. Вы можете прожечь \DVD{}, если это более удобно +(например, чтобы поделиться с кем-нибудь \TL{}). + +\section{Администрирование системы при помощи \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} в графическом режиме. Список + пакетов/коллекций/схем виден только после нажатия на клавишу + <>}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} в графическом режиме: меню + конфигурации}\label{fig:tlmgr-config} +\end{figure} + +\TL{} содержит программу \prog{tlmgr} для администрирования системы +после установки. Программы \prog{updmap}, \prog{fmtutil} и +\prog{texconfig} все ещё есть в системе и будут там в будущем, но +мы рекомендуем теперь программу \prog{tlmgr}. Её возможности +включают: +\begin{itemize*} +\item поддержка списков схем, коллекций и пакетов; +\item установка, обновление, архивирование, восстановление и удаление + отдельных пакетов, при желании с учетом зависимостей между ними; +\item поиск пакетов; +\item добавление платформ; +\item изменение параметров системы, например, размера бумаги и + источника установки (см. раздел~\ref{sec:location}). +\end{itemize*} +\textit{Внимание:} \prog{tlmgr} не предназначена для запуска \TL{} с +\DVD{}, и не тестировалась в этом режиме. + +\subsection{Программа \cmdname{tlmgr} в графическом режиме} +Программа \prog{tlmgr} может быть запущена в графическом режиме: +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +или на Windows из меню Start: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. После нажатия на +клавишу <>, она показывает список доступных и установленных +пакетов "--- перед последними стоит значок <<(i)>>. Это, разумеется, +происходит при условии, что источник установки доступен. + +На рисунке~\ref{fig:tlmgr-config} показано меню конфигурации. + +\subsection{Запуск программы \cmdname{tlmgr} из командной строки} + +В примере ниже мы добавляем несколько пакетов, включая новую +программу, из нестандартного источника: +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +Система отвечает: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +Как видно, \prog{tlmgr} устанавливает зависимости и призводит все +нужные после установки действия, включая обновление базы данных файлов +и создание форматов (здесь созданы форматы для \XeTeX а). + +В следующем примере мы добавляем новый язык. Это также приводит к +перегенерации форматов: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +Описание пакета: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +что вызывает следующий ответ: +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Обновление всей системы до последней версии: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Если вам это кажется страшноватым, попробуйте сначала +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +или +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +Документация: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Дополнительные замечания о Windows} +\label{sec:windows} + +У \TL{} общая программа установки, которая работает и под Windows, и +под Юниксом. Это стало возможным только после того, как мы отказались +от поддержки старых версий Windows, поэтому \TL{} теперь можно +установить только на Windows 2000 и младше. + +\subsection{Дополнительные возможности Windows} +\label{sec:winfeatures} + +Под Windows программа установки делает несколько дополнительных вещей: +\begin{description} +\item[Меню и ярлыки.] Устанавливается подменю <<\TL{}>> меню + <>, которое содержит некоторые программы + (\prog{tlmgr}, \prog{texdoctk}, программа PS\_View для просмотра + файлов в формате PostScript) и документацию. Добавляется ярлык + PS\_View на десктопе, куда можно отправлять постскриптовские файлы. +\item[Автоматическая установка переменных окружения.] Все переменные + окружения устанавливаются автоматически. +\item[Удаление системы.] Программа установки создает в меню + <> запись <<\TL{}>>. Клавиша <<удалить>> в + меню \prog{tlmgr} относится к этому. +\end{description} + + + +\subsection{Дополнительные пакеты для Windows} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: возможно очень большое увеличение!}\label{fig:psview} +\end{figure} + + +Для полноты дистрибутиву \TL необходимы дополнительные пакеты, +которые обычно не встречаются на машине под Windows. В \TL{} есть +недостающие вещи: +\begin{description} +\item[Perl и Ghostscript.] Ввиду важности этих программ, \TL{} + включает их <<скрытые>> копии. Программы \TL{}, которым они нужны, + знают, где их найти, но они не выдают их присутствия системе через + переменные окружения или регистр. Это усеченные варианты программ + Perl и Ghostscript, и они не должны замещать системные версии. +\item[Утилиты командной строки.] Вместе с программами \TL{} + устанавливается ряд портированных под Windows стандартных + юниксовских утилит: \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} и программы из + набора \cmdname{xpdf}. (Сам \cmdname{xpdf} под Windows не работает, + но на нем основана программа Sumatra: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] помогает \XeTeX у эффективно работать со + шрифтами. +\item[PS\_View.] Также устанавливается PS\_View, новая программа для + просмотра файлов формате PostScript под свободной лицензией, + см. рисунок~\ref{fig:psview}. +\end{description} +\begin{description} +\item[Директория \texttt{support},] уже упомянутая в + разделе~\ref{sec:tld}. В этой директории находятся различные + программы, которые могут быть полезны с \TeX ом, в частности, ряд + удобных редакторов и оболочек. Программы в этой директории не + устанавливаются автоматически. В этой директории также находится + программа для просмотра \dvi{} "--- программа \cmdname{dviout}, описанная в + следующем разделе. +\end{description} + +\subsection{Программа Dviout} + +К сожалению, в этой версии \TL{} нет автоматически устанавливаемой +программы для просмотра \dvi{} для Windows. Однако вы можете установить +программу Тошио Ошимы \prog{dviout} из директории +\path{support/dviout/}. В этой директории есть также короткий файл +\filename{README}, описывающий установку и конфигурацию \prog{dviout} +для \TL{}. Внимательно прочтите его перед установкой. + +При первом запуске программы она создает шрифты для просмотра файлов. +Если вы будете пользоваться ей некоторое время, она создаст +практически все нужные вам шрифты, и окно создания шрифтов будет +появляться все реже. Дополнительная информация о программе содержится +в (очень хорошем) меню помощи. + +\subsection{Ссылки на дополнительные программы} + +Вот ссылки на некоторые другие программы, которые вам могут +понравиться: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} с дополнительными + пакетами из архива \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, для + конвертирования и преобразования графики. +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, тоже для графики/ + +\item[Редакторы для \TeX а] Их очень много, и выбор их "--- дело + вкуса. Вот несколько, в произвольном порядке: + \begin{itemize*} + \item \cmdname{GNU Emacs} есть для Windows, см. + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} с Auc\TeX ом для Windows есть в директории + \path{support} на \TL{}; его страница на сети: + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} есть в директории \path|support| на \TL{}; + его страница на сети: \url{http://www.winshell.de}. + \item \cmdname{WinEdt} это shareware, которое можно скачать с + \url{http://www.winedt.com}. + \item \cmdname{Vim} это свободная программа, которую можно скачать с + \url{http://www.vim.org}. + \item TeXnicCenter это свободная программа, которую можно скачать с + \url{http://www.toolscenter.org} и в дистрибутиве pro\TeX{}t. + \item \cmdname{LEd} можно скачать с \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} можно скачать с + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + +\subsection{Домашняя директория под Windows} +\label{sec:winhome} + +Домашней директории под Юниксом соответствует директория +\verb|%USERPROFILE%|. Под Windows XP и Windows 2000 это обычно +\verb|C:\Documents and Settings\|, а под Windows Vista "--- +\verb|C:\Users\|. В файле \filename{texmf.cnf} и вообще при +работе \KPS{}, \verb|~| правильно интерпретируется и под Windows, и +под Юниксом. + +\subsection{Регистр Windows} +\label{sec:registry} + +Windows хранит почти все конфигурационные данные в регистре. Регистр +содержит набор иерархически организованных записей, с несколькими +корневыми записями. Наиболее важны для программ установки записи +\path{HKEY_CURRENT_USER} и \path{HKEY_LOCAL_MACHINE}, сокращенно +\path{HKCU} и \path{HKLM}. Как правило, \path{HKCU} находится в +домашней директории пользователя (см. раздел~\ref{sec:winhome}), а +\path{HKLM} "--- поддиректория директории Windows. + +В некоторых случаях информацию можно получить из переменных окружения, +но в других случаях, например, положение ярлыков, задается в +регистре. Для того, чтобы перманентно задать переменные окружения, +также нужен доступ к регистру. + +\subsection{Права доступа под Windows} +\label{sec:winpermissions} + +В поздних версиях windows делается различие между обычными +пользователями и администраторами, причем только последние имеют право +доступа ко всей операционной системе. На практике, однако, было бы +более правильно описывать эти классы пользователей как +непривилегированные пользователи и обычные пользователи: права +администратора являются правилом, а не исключением. Однако мы +постарались сделать возможным установку \TL{} без прав +администратора. + +Если пользователь является администратором, ярлыки создаются для всех +пользователей, и модифицируются системные параметры. В противном +случае ярлыки и меню создаются только для текущего пользователя и +модифицируются его параметры. Если вы хотите установить систему +только для одного пользователя, даже будучи администратором, +используйте опцию \optname{non-admin} программы \prog{install-tl}. + +Вне зависимости от статуса пользователя, корень установки \TL{}, +предлагаемый по умолчанию, всегда находится под +\verb|%PROGRAMFILES%|. Программа установки всегда проверяет, открыта +ли корневая директория для текущего пользователя. + +Может возникнуть проблема, если у пользователя нет прав +администратора, а в пути поиска уже есть \TeX{}. Поскольку в пути +поиска системный путь стоит перед путем пользователя, \TeX{} из \TL{} +не будет найден. Чтобы обойти эту проблему, программа в этом случае +создает ярлык с командной строкой, в которой директория \TL{} стоит +первой в пути поиска. Из этой командной строки можно пользоваться +\TL{}. + +\section{Руководство пользователя Web2C} + +\Webc{} "--- это интегрированная коллекция программ, относящихся к +\TeX{}у: сам \TeX{}, \MF{}, \MP, \BibTeX{}, и т.д. Это сердце +\TL{}. Страница \Webc{} с руководством пользователя и многим другим +находится на \url{http://tug.org/web2c}. + +Немного истории. Первая версия программы была написана Томасом +Рокики, который в 1987 году создал систему \TeX{}-to-C, адаптировав +патчи для Юникса, разработанные в основном Говардом Трики и Павлом +Куртисом. Тим Морган стал поддерживать систему, и в этот период её +название сменилось на Web-to-C\@. В 1990 году Карл Берри взял на себя +этот проект, координируя работу десятков программистов, а в 1997 он +передал руководство Олафу Веберу. + +Система \Webc{} работает на Юниксе, 32-битовых Windows, \MacOSX{}, и +других операционных системах. Она использует оригинальные исходники +Кнута для \TeX{}а и других программ, написанных на языке \web{} и +переведённых на C. Основные программы системы: + +\begin{cmddescription} +\item[bibtex] Поддержка библиографий. +\item[dmp] Перевод \cmdname{troff} в MPX (картинки в \MP{}). +\item[dvicopy] Раскрытие виртуальные шрифты в файлах \dvi{}. +\item[dvitomp] Перевод \dvi{} в MPX (рисунки в \MP{}). +\item[dvitype] Перевод \dvi{} в текст. +\item[gftodvi] Гранки шрифтов. +\item[gftopk] Упаковка шрифтов +\item[gftype] Перевод GF в текст. +\item[makempx] Вёрстка меток \MP{}. +\item[mf] Создание шрифтов. +\item[mft] Вёрстка исходников \MF{}. +\item[mpost] Создание технических диаграмм. +\item[mpto] Извлечение меток \MP{}. +\item[newer] Сравнение дат модификации. +\item[patgen] Создание таблиц переносов. +\item[pktogf] Перевод PK в GF. +\item[pktype] Перевод PK в текст +\item[pltotf] Перевод из списка свойств шрифта в TFM. +\item[pooltype] Показ файлов pool в \web{}. +\item[tangle] Перевод \web{} в Pascal. +\item[tex] Вёрстка. +\item[tftopl] Перевод TFM в список свойств шрифта. +\item[vftovp] Перевод виртуального шрифта в список свойств шрифта. +\item[vptovf] Перевод списка свойств шрифта в виртуальный шрифт. +\item[weave] Перевод \web{} в \TeX. +\end{cmddescription} + +\noindent Полностью эти программы описаны в документации к +соответствующим пакетам и самой \Webc{}. Однако знание некоторых +общих принципов для всей семьи программ поможет вам полнее +использовать программы системы \Webc{}. + +Все программы поддерживают стандартные опции \acro{GNU}: +\begin{ttdescription} +\item[-{}-help] напечатать краткую справку +\item[-{}-verbose] печатать подробную информацию по мере работы +\item[-{}-version] Напечатать версию программы и завершить работу. +\end{ttdescription} + +Для поиска файлов программы \Webc{} используют библиотеку \KPS{} +(\url{http://tug.org/kpathsea}). Эта библиотека использует комбинацию +переменных окружения и конфигурационных файлов, чтобы найти нужные +файлы в огромной системе \TeX{}. \Webc{} может просматривать +одновременно больше одного дерева директорий, что полезно для работы +со стандартным дистрибутивом \TeX{}а и его локальными расширениями. +Для ускорения поисков файлов каждое дерево содержит файл \file{ls-R}, +в котором указаны названия и относительные пути всех файлов в этом +дереве. + +\subsection{Поиск файлов в Kpathsea} +\label{sec:kpathsea} + +Рассмотрим сначала общий алгоритм библиотеки \KPS. + +Будем называть \emph{путём поиска} набор разделённых двоеточием или +точкой с запятой \emph{элементов пути}, представляющих из себя в +основном названия директорий. Путь поиска может иметь много +источников. Чтобы найти файл \samp{my-file} в директории +\samp{.:/dir}, \KPS{} проверяет каждый элемент пути по очереди: +сначала \file{./my-file}, затем \file{/dir/my-file}, возвращая первый +файл (или, возможно, все файлы). + +Чтобы работать с разными операционными системами, \KPS{} под системой, +отличной от Юникса может использовать разделители, отличные от +\samp{:} и \samp{/}. + +Чтобы проверить определённый элемент пути \var{p}, \KPS{} вначале +проверяет наличие базы данных (см. раздел <<База данных +файлов>> на стр.~\pageref{sec:filename-database}), т.е., есть ли база в +директории, которая является префиксом для \var{p}. Если это так, +спецификация пути сравнивается с содержимым базы данных. + +Если база данных не существует, или не относится к этому элементу +пути, или не содержит нужного элемента, проверяется файловая система +(если это не запрещено спецификацией, начинающейся с \samp{!!}, и если +файл должен существовать). \KPS{} конструирует список директорий, +которые соответствуют элементу, и в каждой директории ищет нужный +файл. + +Условие <<файл должен существовать>> важно для файлов \samp{.vf} и +файлов, которые открывает \TeX{} по команде \cs{openin}. Такие файлы +могут и не существовать (например, файл \file{cmr10.vf}), и было бы +неправильно искать их на диске. Поэтому, если вы не обновите +\file{ls-R} при установке нового файла \samp{.vf}, он никогда не будет +найден. Каждый элемент пути ищется по очереди: сначала база данных, +затем диск. Если нужный файл найден, поиск останавливается, и +возвращается результат. + +Хотя самый простой и часто встречающийся элемент пути "--- это +название директории, \KPS{} поддерживает дополнительные возможности: +разнообразные значения по умолчанию, имена переменных окружения, +значения из конфигурационных файлов, домашние директории +пользователей, рекурсивный поиск поддиректорий. Поэтому мы говорим, +что \KPS{} \emph{вычисляет} элемент пути, т.е., что библиотека +преобразует спецификации в имя или имена директории. Это описано в +следующих разделах в том же порядке, в котором происходит поиск. + +Заметьте, что имя файла при поиске может быть абсолютным или +относительным, т.е. начинаться с \samp{/}, или \samp{./}, или +\samp{../}, \KPS{} просто проверяет, существует ли файл. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Пример конфигурационного файла} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Источники путей поиска} +\label{sec:path-sources} + +Путь поиска может иметь разные источники. \KPS{} использует их в +следующем порядке: + +\begin{enumerate} +\item Установленные пользователем переменные окружения, например + \envname{TEXINPUTS}\@. Переменные окружения с точкой и названием + программы имеют преимущество; например если \samp{latex} "--- имя + программы. то \envname{TEXINPUTS.latex} имеет преимущество перед + \envname{TEXINPUTS}. +\item + Конфигурационный файл, специфический для данной программы, например, + строка + \samp{S /a:/b} в \file{config.ps} для \cmdname{dvips}. +\item + Конфигурационный файл \KPS{} \file{texmf.cnf}, содержащий строку + типа + \samp{TEXINPUTS=/c:/d} (см. ниже). +\item Значение, заданное при компиляции. +\end{enumerate} +\noindent Вы можете увидеть каждое из этих значений для данного пути +поиска, задав соответствующий уровень отладки (см. <<Отладка>> +на стр.~\pageref{sec:debugging}). + +\subsubsection{Конфигурационные файлы} + +\begingroup\tolerance=3500 +\KPS{} читает \emph{конфигурационные файлы} +\file{texmf.cnf} для задания своих параметров. Путь поиска для этих +файлов называется \envname{TEXMFCNF} (по умолчанию, такой файл +находится в поддиректории \file{texmf/web2c}). \emph{Все} найденные +файлы \file{texmf.cnf} будут прочитаны, и определения в более ранних +файлах имеют преимущество перед определениями в более поздних. Таким +образом, если путь поиска задан как \verb|.:$TEXMF|, значения в +\file{./texmf.cnf} имеют преимущество перед значениями в +\verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Комментарии начинаются с \code{\%} и продолжаются до конца строки. +\item + Пустые строки игнорируются +\item + \bs{} в конце строки означает продолжение, т.е. добавляется + следующая строка. Пробелы в начале следующей строки не + игнорируются. +\item + Оставшиеся строки имеют вид +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + где \samp{=} и пробелы вокруг могут опускаться. +\item + \ttvar{variable} может содержать любые символы, кроме пробела, + \samp{=} или \samp{.}, но надёжнее всего придерживаться набора + \samp{A-Za-z\_}. +\item + Если есть \samp{.\var{progname}}, определение относится только к + программе, которая называется + \texttt{\var{progname}} или \texttt{\var{progname}.exe}. Это + позволяет, например разным видам \TeX{}а иметь разные пути поиска. +\item \var{value} может содержать любые символы, кроме + \code{\%} и \samp{@}. Нельзя использовать + \code{\$\var{var}.\var{prog}} в правой части; вместо этого вы должны + задать дополнительную переменную. + \samp{;} в \samp{:} под Юниксом эквивалентно \samp{:}; это + полезно, чтобы поддерживать общий файл для Юникса, \acro{MS-DOS} и + Windows. +\item + Все определения читаются до подстановок, поэтому к переменным можно + обращаться до того, как они определены. +\end{itemize} +Фрагмент конфигурационного файла, иллюстрирующий эти правила, приведeн +\ifSingleColumn +ниже: + +\verbatiminput{examples/ex5.tex} +\else +приведeн на Рис.~\ref{fig:config-sample}. +\fi + +\subsubsection{Подстановка путей} +\label{sec:path-expansion} + + +\KPS{} распознаёт определённые специальные символы и конструкции в +путях поиска, аналогичные конструкциям в стандартных оболочках +Юникса. Например, сложный путь +\verb+~$USER/{foo,bar}//baz+, означает все поддиректории директорий +\file{foo} и \file{bar} в домашней директории пользователя +\texttt{\$USER}, которые содержат файл или поддиректорию \file{baz}. +Это объяснено в следующих разделах. + +%$ +\subsubsection{Подстановка по умолчанию} +\label{sec:default-expansion} + +\tolerance=2500 + +Если путь поиска с наибольшим приоритетом (см. раздел <<Источники путей +поиска>> на стр.~\pageref{sec:path-sources}) содержит \emph{дополнительное + двоеточие} (в начале, в конце, двойное), \KPS{} заменяет его +следующим по приоритету путём. Если этот вставленный путь содержит +дополнительное двоеточие, то же происходит со следующим путём. +Например, если переменная окружения задана как + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +и \code{TEXINPUTS} в файле \file{texmf.cnf} содержит + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +то поиск будет происходить с путём + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Поскольку было бы бесполезно вставлять значение по умолчанию более чем +один раз, \KPS{} изменяет только одно лишнее двоеточие, и оставляет +остальные: она проверяет сначала двоеточие в начале, потом в конце, +потом двойные двоеточия. + +\subsubsection{Подстановка скобок} + +Полезна также подстановка скобок, из-за которой, например, +\verb+v{a,b}w+ означает \verb+vaw:vbw+. Вложенность тут допускается. +Благодаря этому можно иметь несколько иерархий директорий, путём +присвоения значения со скобками \code{\$TEXMF}. +Например, в файле \file{texmf.cnf}, можно найти следующее определение +(это упрощение, на самом деле там ещё больше деревьев): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Благодаря этому можно писать такое: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +что означает, что кроме текущей директории будет происходить поиск +\emph{только} в \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} и \code{\$TEXMFMAIN/tex} (последние два дерева +используют файлы \file{ls-R}). Это удобно для поддержки двух +параллельных структур, <<замороженной>> (например, на \CD) и +обновляемой по мере появления новых версий. Используя переменную +\code{\$TEXMF} во всех определениях, можно задать поиск в обновляемом +дереве первым. + +\subsubsection{Подстановка поддиректорий} +\label{sec:subdirectory-expansion} + +Два или более слэша \samp{/} в элементе пути вслед за именем директории +\var{d} заменяются всеми поддиректориями \var{d} рекурсивно. На каждом +уровне порядок поиска по директориям \emph{не определён}. + +Если вы определите компоненты имени файла после \samp{//}, только +поддиректории с соответствующими компонентами будут включены. +Например, \samp{/a//b} даёт поддиректории \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b}, и т.д., но не \file{/a/b/c} или +\file{/a/1}. + +Возможны несколько конструкций \samp{//} в одном пути, но +\samp{//} в начале пути игнорируются. + +\subsubsection{Список специальных символов и их значений} + +В следующем списке приводятся специальные символы в конфигурационных +файлах \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Разделитель в спецификациях путей; в начале или конце + означает подстановку по умолчанию. +\item[\CODE{;}] Разделитель для не-Юникса (то же, что \code{:}). +\item[\CODE{\$}] Подстановка переменных. +\item[\CODE{\string~}] Означает домашнюю директорию пользователя. +\item[\CODE{\char`\{...\char`\}}] Подстановка скобок. +\item[\CODE{//}] Подстановка поддиректорий (может встретиться где + угодно, кроме начала пути). +\item[\CODE{\%}] Начало комментария. +\item[\CODE{\bs}] Символ продолжения (для команд из нескольких строк). +\item[\CODE{!!}] Поиск \emph{только} в базе данных, но \emph{не} на + диске. +\end{ttdescription} + + +\subsection{Базы данных} +\label{sec:filename-database} + +\KPS{} старается минимизировать обращение к диску при поиске. Тем не +менее в системах с большим количеством директорий поиск в каждой +возможной директории может занять долгое время (это особенно верно, +если надо проверить сотни директорий со шрифтами). Поэтому \KPS{} +умеет использовать внешний текстовый файл, +<<базу данных>> \file{ls-R}, который знает, где находятся файлы в +директориях, что даёт возможность избежать частых обращений к диску. + +Ещё одна база данных, файл \file{aliases} позволяет вам давать +дополнительные названия файлам в \file{ls-R}. Это полезно, если вам +нужно соблюдать правило \acro{DOS} <<8.3>>. + +\subsubsection{Базы данных \texttt{ls-R}} +\label{sec:ls-R} + +Как объяснено выше, основная база данных называется \file{ls-R}. Вы +можете создать её в корне каждого дерева \TeX{}а, которое +просматривается \KPS{} (по умолчанию, \code{\$TEXMF}); в большинстве +случаев иерархия только одна. \KPS{} ищет файлы \file{ls-R} в пути +\code{TEXMFDBS}. + +Рекомендуемый способ создания и поддержки \samp{ls-R} "--- скрипт +\code{mktexlsr}, включённый в дистрибутив. Он вызывается разными +скриптами \samp{mktex}\dots. В принципе этот скрипт выполняет команды +типа +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +при условии, что в вашей системе \code{ls} даёт вывод в нужном формате +(\acro{GNU} \code{ls} годится). Чтобы поддерживать базу данных в +текущем состоянии, проще всего перегенерировать её регулярно из +\code{cron}а, так что она автоматически обновляется после установки +нового пакета. + +Если файл не найден в базе данных, по умолчанию \KPS{} ищет его на диске. +Если элемент пути начинается с \samp{!!}, то поиск происходит +\emph{только} в базе данных. + + +\subsubsection{kpsewhich: поиск файлов} +\label{sec:invoking-kpsewhich} + +Программа \texttt{kpsewhich} выполняет поиск в соответствии с +алгоритмом, описанным выше. Это может быть полезно в качестве +варианта команды \code{find} для поиска файлов в иерархиях \TeX{}а +(это широко используется в скриптах \samp{mktex}\dots). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Опции, указанные в \ttvar{option}, начинаются либо с \samp{-} +либо \samp{-{}-}, и любые однозначные сокращения допустимы. + +\KPS{} рассматривает каждый аргумент, не являющийся опцией, как имя +файла, и возвращает первый найденный файл. Нет опции вернуть все +найденные файлы (для этого можно использовать программу \samp{find}). + +Наиболее важные опции описаны ниже. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\ + Установить разрешение \ttvar{num}; это влияет только на поиск файлов + \samp{gf} и \samp{pk}. Синоним \samp{-D}, для + совместимости с \cmdname{dvips}. По умолчанию 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Установить формат для поиска \ttvar{name}. По умолчанию, формат + определяется из имени файла. Для форматов, для которых нет + однозначного суффикса, например, файлов \MP{} и конфигурационных + файлов + \cmdname{dvips}, вы должны указать название, известное \KPS{}, + например, \texttt{tex} или \texttt{enc files}. Список можно + получить командой \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Установить значение режима \ttvar{string}; это виляет только на + поиск файлов \samp{gf} и \samp{pk}. Значения по умолчанию нет: + ищутся файлы для всех режимов. + +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Сделать всё возможное, чтобы найти файл включая поиск на диске. По + умолчанию для повышения эффективности просматривается только база + данных \file{ls-R}. + +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Искать в наборе директорий \ttvar{string} (как обычно, разделённых + двоеточиями), вместо того, чтобы вычислять путь поиска по имени + файла. \samp{//} и обычные подстановки работают. Опции + \samp{-{}-path} и \samp{-{}-format} несовместимы. + +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Установить имя программы равным \texttt{\var{name}}. Это влияет на + путь поиска из-за префикса \texttt{.\var{progname}}. По умолчанию + \cmdname{kpsewhich}. + +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Показать путь, используемый при поисках файлов типа + \texttt{\var{name}}. Можно использовать расширение (\code{.pk}, + \code{.vf} и т.д.) или название, как для опции \samp{-{}-format}. + +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Установить уровень отладки \texttt{\var{num}}. +\end{ttdescription} + + + +\subsubsection{Примеры использования} +\label{sec:examples-of-use} + +Давайте посмотрим на \KPS{} в действии. Вот простой поиск: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Мы ищем файл \file{article.cls}. Так как суффикс \samp{.cls} +однозначен, нам не нужно указывать, что мы ищем файл типа +\optname{tex} (исходники \TeX{}а). Мы находим его в поддиректории +\file{tex/latex/base} директории \samp{temf-dist} \TL. Аналогично, +всё последующее находится без проблем благодаря однозначному суффиксу: +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +Кстати, последнее "--- библиографическая база данных для статей журнала +\textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Битмапы шрифтов типа \file{.pk} используются программами +\cmdname{dvips} о \cmdname{xdvi}. Ничего не найдено, так как у нас +нет готовых файлов шрифтов Computer Modern в формате \samp{.pk} (так +как мы используем версии в формате Type~1 из дистрибутива \TL{}). +\begin{alltt} +> \Ucom{kpsewhich wsiupa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Для этих шрифтов (фонетический алфавит, созданный в университете +штата Вашингтон) мы должны сгенерировать +\samp{.pk}, и так как режим \MF{} [о умолчанию в нашей системе +\texttt{ljfour} с разрешением of 600\dpi{} (точек на дюйм), этот шрифт +и найден. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +В этом случае нам нужно разрешение 300\dpi{} (\texttt{-dpi=300}); мы +видим, что такого шрифта в системе нет. На самом деле программа +\cmdname{dvips} или \cmdname{xdvi} построила бы нужный файл +\texttt{.pk} при помощи скрипта \cmdname{mktexpk}. + +Теперь обратимся к заголовкам и конфигурационным файлам +\cmdname{dvips}. Вначале рассмотрим один из наиболее часто +используемых файлов, пролог \file{tex.pro} для поддержки \TeX{}а, а +затем рассмотрим общий конфигурационный файл \file{config.ps} и карту +шрифтов \file{psfonts.map} (с 2004 года карты и файлы кодировок имеют +собственные пути поиска в деревьях \dirname{texmf}). Так как суффикс +\samp{.ps} неоднозначен, мы должные явно указать тип файла, который мы +ищем: (\optname{dvips config}) для файла \texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Рассмотрим теперь файлы поддержки \acro{URW} Times (\PS{}). Префикс +для этих файлов в стандартной схеме обозначения шрифтов \samp{utm}. +Вначале мы рассмотрим конфигурационный файл, который содержит название +карты шрифтов: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Содержание этого файла: +\begin{alltt} + p +utm.map +\end{alltt} +что указывает на файл \file{utm.map}, который мы хотим теперь найти. +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Эта карта определяет названия шрифтов формата Type~1 (\PS{}) в +коллекции URW. Она выглядит так (мы показываем только часть файла): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Из этих примеров видно, что вы можете легко найти заданный файл. +Это особенно важно, если вы подозреваете, что программы находят +неправильную версию файла, поскольку \cmdname{kpsewhich} показывает +первый найденный файл. + +\subsubsection{Отладка} +\label{sec:debugging} + +Иногда необходимо проверить, как программа ищет файлы. С этой целью +\KPS{} предлагает разные уровни отладки: + +\begin{ttdescription} +\item[\texttt{\ 1}] статистика обращений к диску. При работе с базами + \file{ls-R} это почти не должно давать записей в лог. +\item[\texttt{\ 2}] Ссылки на хеши (например, базы данных \file{ls-R}, + конфигурационные файлы и т.д.). +\item[\texttt{\ 4}] Операции открытия и закрытия файлов. +\item[\texttt{\ 8}] Общая информация о типах файлов, которые ищет + \KPS. Это полезно для того, чтобы найти, где определяется тип пути + поиска для данного файла. +\item[\texttt{16}] Список директорий для каждого элемента пути (при + поисках на диске). +\item[\texttt{32}] Поиски файлов. +\item[\texttt{64}] Значения переменных. +\end{ttdescription} +Значение \texttt{-1} задаст все опции выше; именно это значение чаще +всего используется на практике. + +Аналогично, запустив программу \cmdname{dvips} и используя сочетание +этих опций, можно проследить подробно, как ищутся файлы. С другой +стороны, если файл не найден, трассировка показывает, где его искали, +так что можно понять, в чём состоит проблема. + +Вообще говоря, поскольку большинство программ пользуются библиотекой +\KPS{}, вы можете установить опцию отладки используя переменную +окружения \envname{KPATHSEA\_DEBUG}, и установив её на комбинацию +описанных выше значений. + +(Примечание для пользователей Windows: в этой системе трудно +перенаправить все сообщения в файл. Для диагностики вы можете временно +установить \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + + +Рассмотрим в качестве примера простой файл в формате \LaTeX{}, +\file{hello-world.tex}, со следующим содержанием: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Этот маленький файл использует только шрифт \file{cmr10}, так что +давайте посмотрим, как \cmdname{dvips} создаёт файл в формате \PS{} +(мы хотим использовать версию шрифтов в формате Type~1, отсюда опция +\texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +В этом случае мы объединили отладочный уровень 4 для \cmdname{dvips} +(директории шрифтов) с подстановкой элементов путей в \KPS (см. +Руководство пользователя \cmdname{dvips}, +\OnCD{texmf/doc/html/dvips/dvips_toc.html}). Результат (слегка +отредактированный) показан на рисунке~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Поиск конфигурационных файлов}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Поиск файла пролога}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Поиск файла шрифта}\label{fig:dvipsdbgc} +\end{figure*} + +Программа \cmdname{dvips} вначале ищет свои конфигурационные файлы. +Сначала находится \file{texmf.cnf}, который содержит определения для +путей поиска остальных файлов, затем база данных \file{ls-R} (для +оптимизации поиска файлов) и файл \file{aliases}, который позволяет +объявить несколько имён (например, короткие 8.3 и более длинные) для +одного файла. Затем \cmdname{dvips} ищет свой конфигурационный файл +\file{config.ps} и файл +\file{.dvipsrc} (который в данном случае \emph{не найден}). Наконец, +\cmdname{dvips} находит конфигурационный файл для шрифтов Computer +Modern \PS{} \file{config.cms} (это было задано опцией \texttt{-Pcms} +в командной строке). Этот файл содержит список карт, которые +определяют соотношения между файлами в форматах \TeX{}, \PS{} +и названиями шрифтов: +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} находит все эти файлы плюс общую карту шрифтов +\file{psfonts.map}, которая всегда загружается (она содержит обычные +шрифты в формате \PS{}; см. последнюю часть +раздела~\ref{sec:examples-of-use}). + +В этот момент \cmdname{dvips} сообщает о себе пользователю: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Затем она ищет пролог \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Затем она ищет пролог \file{texc.pro} (см. +рисунок~\ref{fig:dvipsdbgb}). +\fi + +Найдя этот файл, \cmdname{dvips} печатает дату и время, и информирует +нас, что собирается генерировать файл \file{hello-world.ps}, что ей +нужен файл \file{cmr10}, и что последний является <<резидентным>> +(битмапы не нужны): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 is resident. +\end{alltt} +Теперь она ищет файл \file{cmr10.tfm}, который она находит, затем ещё +несколько прологов (здесь они опущены), и наконец файл формата Type~1 +\file{cmr10.pfb} найден и включён в выходной файл (см, последнюю +строку): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... + +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +[1] +\end{alltt} + +\subsection{Опции запуска} + +Ещё одна полезная возможность \Webc{} "--- контроль параметров памяти +(в особенности размер массивов) при запуске, во время чтения файла +\file{texmf.cnf} библиотекой \KPS{}. Параметры памяти находятся в +части~3 этого файла в дистрибутиве \TL{}. Вот самые важные: + +\begin{ttdescription} +\item[\texttt{main\_memory}] Общее количество слов в памяти для + программ \TeX{}, \MF{} и \MP. После изменения этого параметра надо + перегенерировать формат. Например, вы можете создать <<огромную>> + версию \TeX{}а, и назвать соответствующий формат + \texttt{hugetex.fmt}. По общим правилам \KPS{}, значение переменной + \texttt{main\_memory} будет читаться из файла \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] Дополнительная память для <<больших>> + структур, которые создаёт \TeX{}: боксов, клея и т.д. Особенно + полезно при использовании \PiCTeX{}а. +\item[\texttt{font\_mem\_size}] Количество слов информации о шрифтах + для \TeX{}а. Это примерно суммарный размер всех файлов TFM, которые + читает \TeX. +\item[\texttt{hash\_extra}] + Дополнительный размер хеша для имён команд. Примерно 10\,000 команд + может быть помещено в основной хеш. Если вы делаете большую книгу со + многими перекрёстными ссылками, этого может не хватить. По умолчанию + \texttt{hash\_extra} равен \texttt{50000}. +\end{ttdescription} + +Разумеется, это не замена настоящих динамических массивов и +распределения памяти, но поскольку эти черты исключительно сложно +осуществить в текущем \TeX{}е, использование этих параметров +представляет собой полезный компромисс и обеспечивает некоторую +гибкость. + + +\begin{comment} +\section{Компилирование для новой платформы типа Unix} + + +Если у вас платформа, для которой мы не скомпилировали программ, вам +придётся это сделать самим. Это не так уж сложно. Всё, что вам может +понадобиться, есть в дистрибутиве в директории \texttt{source}. + +\subsection{Необходимые инструменты} + +Вам нужно по крайней мере 100\,Mb на диске для компилирования \TeX{}а и +других программ. Вам потребуется компилятор \acro{ANSI} C, программа +\cmdname{make}, лексический сканер и генератор парсеров. Мы +рекомендуем версии этих программ от \acro{GNU} +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). Вы можете работать и с другими компиляторами и +версиями \cmdname{make}, но вам потребуется глубокое понимание Юникса, +чтобы разобраться в возможных проблемах. + +Кроме того, команда \texttt{uname} должна давать разумный результат. + + +\subsection{Конфигурация} + +Сначала произведите нормальную установку \TL{} на ваш диск (см. +раздел~\ref{sec:unix-install-disk} +\p.~\pageref{sec:unix-install-disk}). Вы можете пропустить установку +скомпилированных программ. + +Затем распакуйте исходники из файла в директории \dirname{source} на +ваш диск и смените директорию туда, где вы раскрыли этот файл. + +Затем запустите \cmdname{configure}, например, так: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +Директория \optname{-prefix} "--- это место, куда вы установили +основное дерево поддержки. Структура директорий будет такова +(\$TEXDIR означает выбранную директорию): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & основное дерево со шрифтами,\\ + & \qquad макросы и т.д.\\ + \dirname{$TEXDIR/man} & руководства в формате Unix man\\ + \dirname{$TEXDIR/info} & руководства в формате \acro{GNU} Info \\ + \dirname{$TEXDIR/bin/$PLATFORM} & программы\\ +\end{tabular} +%$ + +Если вы хотите убрать уровень директорий \dirname{$PLATFORM}, +т.е. поместить программы непосредственно в \dirname{$TEXDIR/bin}, +добавьте к опциям \verb|--disable-multiplatform|. + +Посмотрите на результат \verb|./configure --help| для остальных +опций. Например, вы можете не компилировать \OMEGA{} и +\eTeX{}. + + +\subsection{Запуск \cmdname{make}} + +Убедитесь, что переменная оболочки или опция \texttt{noclobber} не +задана. Затем запустите \cmdname{make}: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +и расслабьтесь\ldots + +Если вы хотите записать в лог все происходящее, используйте: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Перед тем, как вы решите, что всё прошло нормально, проверьте лог на +ошибки; \acro{GNU} \cmdname{make} всегда использует строку \samp{***} +при ошибке. Кроме того, проверьте, что все программы +скомпилировались: +\begin{alltt} +> \Ucom{cd \emph{TEXDIR}/bin/\emph{archname}} +> \Ucom{ls | wc} +\end{alltt} +Результат должен быть больше 200 (вы можете получить точное число, +проверив содержимое директории +\dirname{bin} в дистрибутиве). + +Если вам нужны специальные привилегии для \texttt{make install}, вы +можете разделить \samp{make world} на два приёма: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +После установки ваших новых программ, выполните обычные процедуры +настройки, описанные в разделе~\ref{sec:postinstall}, +\p.~\pageref{sec:postinstall}. + +Кроме того, если вы хотите, чтобы вашими программами пользовались +другие люди, напишите нам. Мы будем рады поместить их на страницы +\TL{} в сети. + +\end{comment} + +\section{Благодарности} + +\TL{} "--- результат объединённых усилий практически всех групп +пользователей \TeX а. Это издание \TL{} выходит под редакцией Карла +Берри. Другие основные авторы, прошлые и настоящие, перечислены ниже. +Мы благодарим: + +\begin{itemize*} + +\item Англоязычную, немецкую, голландскую и польскую группы + пользователей \TeX{}а (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG} и + \acro{GUST}) за необходимую техническую и административную + инфраструктуру. Пожалуйста, вступайте в группы пользователей \TeX + а (см. \url{http://tug.org/usergroups.html}). + +\item Группу поддержки \acro{CTAN}, в особенности Робина Фэйрбэйрнса, + Джима Хефферона и Райнера Шопфа за размещение дисков \TL{} и + поддержку инфраструктуры обновления пакетов, от которой зависит + \TL. + +\item Питера Брейтенлохнера и команду разработчиков \eTeX а за + будущий \TeX ов, и в особенности Питера за блестящую работу с + системой GNU autoools для \TL{}. + + +\item Томаса Эссера, без замечательного пакета \teTeX{} которого \TL{} + не существовал бы, и который много помогал нам в работе над \TL. + +\item Майкла Гусенса, который был соавтором первой версии документации. + + +\item Эйтана Гурари, чей \TeX4ht{} использовался для создания файлов в + формате \HTML{}, и который неустанно работал, по первому требованию + добавляя нужные нам возможности. + +\item Хан Те Тана, Мартина Шрёдера и команду pdf\TeX a + (\url{http://pdftex.org}) за неустанное расширение возможностей \TeX + а. + + +\item Ганса Хагена за помощь в тестировании и приспособлении формата + \ConTeXt\ (\url{http://pragma-ade.com}) к нашим нуждам. + +\item Хартмута Хенкеля за существенный вклад в pdf\TeX\, Lua\TeX{} и + другие программы. + + +\item Тако Хокватера за возобновление работы над \MP{} и (Lua)\TeX ом + (\url{http://luatex.org}) и за интегрирование \ConTeXt а в \TL. + +\item Павла Яковского за инсталлятор для Windows \cmdname{tlpm}, и + Томаша Лужака за \cmdname{tlpmgui}, использованные в прошлых версиях + \TL{}. + +\item Акиру Какуто за большую помощь в интегрировании в систему + программ для Windows из его дистрибутива \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}) и многое + другое. + +\item Джонатана Кью и его работодателя \acro{SIL} создание важной + новой системы Xe\TeX{}, за усилия по её интегрированию в \TL{} и за + исходную версию программы установки Mac\TeX. + +\item Дика Коча за поддержку Mac\TeX а (\url{http://tug.org/mactex}) в + тесном сотрудничестве с \TL{}, и за его неистощимых энтузиазм. + +\item Рейнхарда Котучу за огромную работу по инфраструктуре + \TL{} 2008, за исследовательскую работу в области Windows, за + скрипт \texttt{getnonfreefonts} и многое другое. + + +\item Сипа Кроненберга, также за большой влад в инфраструктуру \TL{} + 2008 и программу установки, особенно для Windows, а также за + основную работу по документации новых возможностей. + +\item Петра Олшака за координацию и тщательную проверку чешского и + словацкого материала. + +\item Тошио Ошиму за его просмотрщик \cmdname{dviout} для Windows. + + +\item Мануэля Пьегорье-Гоннара за помощь в обновлении пакетов, + документации и разработкой программы \cmdname{tldoc}. + +\item Фабриция Попинье, за поддержку Windows в первых версиях \TL{} и + за работу над французской документацией. + +\item Норберта Прейнинга, который был главным архитектором + инфраструктуры и программы установки \TL{} 2008 и координировал + Дебиановскую версию \TL{} (совместно с Франком Кюстером), в ходе + которой он выдвинул много ценных предложений. + + +\item Себастьяна Ратца, создавшего проект \TL{} и много лет + поддерживающего его. + + +\item Владимира Воловича за помощь в портировании и поддержке + программ, в особенности за работу над \cmdname{xindy}, которая дала + возможность включить эту программу в дистрибутив. + +\item Сташекa Ваврикевича, который был главным тестером \TL{} и + координировал многие польские проекты: шрифты, установку под + Windows и многое другое. + +\item Олафа Вебера за терпеливую работу над \Webc. + +\item Гербена Виерду за разработку и поддержку \MacOSX, участие в + интеграции и тестировании. + +\item Грэма Виллиамса, создавшего каталог пакетов \TeX\ Catalogue. + +\end{itemize*} + +Программы компилировали: +Тигран Айвазян (\pkgname{x86\_64-linux}), +Тим Арнольд (\pkgname{hppa-hpux}), +Рэнди Ау (\pkgname{amd64-freebsd}), +Эдд Барретт (\pkgname{i386-openbsd}), +Карл Берри (\pkgname{i386-linux}), +Акира Какуто (\pkgname{win32}), +Дик Коч (\pkgname{universal-darwin}), +Манфред Лотц (\pkgname{i386-freebsd}), +Нерберт Прейнинг (\pkgname{alpha-linux}), +Артур Рейтенауэр (\pkgname{sparc-linux}), +Томас Шмитц (\pkgname{powerpc-linux}), +Апостолос Сиропулос (\pkgname{i386-solaris}), +Владимир волович (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Олаф Вебер (\pkgname{mips-irix}). +Информация о процессе компилирования \TL{} находится на +\url{http://tug.org/texlive/build.html}. + + +Документация и переводы: Карл Берри (английский), +Даниэль Флипо (французский), +Клаус Хёппнер (немецкий), +Петр Сойка и Ян Буса (чешский и словацкий), +Борис Вейцман (русский), +Сташек Ваврикевич (польский). +Страница документации \TL{}: \url{http://tug.org/texlive/doc.html}. + +Разумеется, наша главная благодарность "--- Дональду Кнуту, во-первых, +за разработку \TeX а, и во-вторых, за то, что он подарил его миру. + +\section{История издания} +\label{sec:history} + +\subsection{Прошлое} + +В конце 1993 года в голландской группе пользователей \TeX{}а во время +работы над дистрибутивом 4All\TeX{} \CD{} для пользователей +\acro{MS-DOS} возникла новая идея. Была поставлена цель создать +единый \CD{} для всех систем. Эта цель была черечур сложна для того +времени, но она привела не только к появлению очень успешного \CD{} +4All\TeX{}, но и к созданию рабочей группы Технического Совета +\acro{TUG} по структуре директорий для \TeX{}а +(\url{http://tug.org/tds}), которя разработала стандарт структуры +директорий для системы \TeX и указала, как создать логичную единую +систему файлов для \TeX а. Несколько версий \TDS{} было опубликовано +в декабрьском выпуске \textsl{TUGboat} в 1995 году, и с самого начала +стало ясо, что следует создать пример структуры на \CD{}. Дистрибутив, +который вы держите в руках, "--- прямой результат работы этой группы. +Из успеха 4All\TeX{} был сделан вывод, что пользователям Юникса также +подойдёт такая удобная система, и так родилась другая важная часть +\TL. + +Мы начали делать \CD{} с Юниксом и структурой директорий \TDS{} осенью +1995 года, и быстро поняли, что у \teTeX{}а Томаса Эссера идеальный +состав дистрибутива и поддержка многих платформ. Томас согласился нам +помочь, и мы в начале 1996 года стали серьёзно работать над +дистрибутивом. Первое издание вышло в мае 1996 года. В начале 1997 +года Карл Берри завершил новую версию Web2c, которая включила +практически все новые возможности, добавленные Томасом Эссером в +\teTeX, и мы решили основать второе издание на стандартном \Webc, с +добавлением скрипта \texttt{texconfig} из \teTeX{}а. Третье издание +\CD{} основывалось на новой версии \Webc, 7.2, Олафа Вебера; в то же +время была выпущена новая версия \teTeX{}а, и \TL{} включил почти все +его новые возможности. Четвертое издание следовало той же традиции, +используя новую версию \teTeX{}а и \Webc{} (7.3). Теперь в нём была +полная система для Windows. + +Для пятого издания (март 2000 года) многие пакеты на \CD{} были +пересмотрены и проверены. Информация о пакетах была собрана в файлы +XML. Но главным изменением в \TeX\ Live 5 было удаление всех +несвободных программ. Всё на \TL{} преполагается совместимым с +Правилами Дебиана для Свободных Программ +(\url{http://www.debian.org/intro/free}); мы сделали всё, что могли, +чтобы проверить лицензии всех пакетов, и мы будем благодарны за любое +указание на ошибки. + +В шестом издании (июль 2001 года) было много нового материала. +Главным была новая концепция установки: пользователь выбирал нужный +набор коллекций. Языковые коллекции были полностью реорганизованы, +так что выбор любой из них устанавливал не только макросы, шрифты и и +т.д., но и вносил изменения в \texttt{language.dat}. + +Седьмое издание 2002 года добавило поддержку \MacOSX{}, и большое +количество обновлений для пакетов и программ. Важной целью была +интеграция с \teTeX{}ом, чтобы исправить расхождение, наметившееся в +версиях~5 и~6. + +\subsubsection{2003} + +В 2003 году мы продолжили изменения и дополнения, и обнаружили, что +\TL{} так вырос, что не помещается на \CD. Поэтому мы разделили его на +три дистрибутива (см. раздел~\ref{sec:tl-coll-dists}, +\p.~\pageref{sec:tl-coll-dists}). Кроме того: + +\begin{itemize*} +\item По просьбе авторов \LaTeX{}а, мы сменили стандартные команды + \cmdname{latex} и \cmdname{pdflatex}: теперь они использууют \eTeX{} + (см. стр.~\pageref{text:etex}). +\item Новые шрифты Latin Modern включены и рекомендованы для использования. +\item Убрана поддержка для Alpha \acro{OSF} + (поддержка для \acro{HPUX} была убрана ранее), поскольку никто + не имел (и не предложил) компьютеров для компилирования + программ. +\item Сильно изменилась установка для Windows: впервые была предложена + интегрированная среда на основе редакторая XEmacs. +\item Добавлены вспомогателные программы для Windows + (Perl, Ghost\-script, Image\-Magick, Ispell). +\item Файлы Fontmap для \cmdname{dvips}, \cmdname{dvipdfm} + и \cmdname{pdftex} генерируютрся программой + \cmdname{updmap} и устанваливаются в \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} теперь по умолчанию выводят символы + из верхней половины таблицы ASCII в файлы, открытые + командой \verb|\write|, логи и на терминал буквально, + т.е. \emph{не} используя формат \verb|^^|. В \TL{}~7 это зависело от + системной локали, но теперь это верно для всех локалей. Если + вам нужен формат \verb|^^|, переименуйте файл + \verb|texmf/web2c/cp8bit.tcx|. В будущем эта процедура будет + упрощена. +\item Документация была существенно обновлена. +\item Наконец, из-за того, что нумерация по изданиям стала неудобной, + мы перешли на нумерацию по годам: \TL{} 2003. +\end{itemize*} + +\subsubsection{2004} + +В 2004 году мы внесли много изменений. + +\begin{itemize} + +\item Если у вас есть локальные шрифты с собственными файлами + \filename{.map} или \filename{.enc}, вам может понадобиться + переместить эти файлы. + + Файлы \filename{.map} теперь ищутся только в поддиректориях + \dirname{fonts/map} (в каждом дереве \filename{temf}) в пути + \envname{TEXFONTMAPS}. Аналогично файлы \filename{.enc} теперь + ищутся в только в поддиректориях \dirname{fonts/enc} в пути + \envname{ENCFONTS}. Программа \cmdname{updmap} предупреждает, если + находит эти файлы не там, где они должны быть. + + См. описание этой структуры на + \url{http://tug.org/texlive/mapenc.html}. + +\item К коллекции \TK{} был добавлен установочный \CD{} с + дистрибутивом \MIKTEX{} для тех, кто предпочитает \MIKTEX{} + программам, основанным на \Webc. См. раздел~\ref{sec:overview-tl} + (\p.\pageref{sec:overview-tl}). + + +\item Дерево \dirname{texmf} в \TL{} было разделено на три: + \dirname{texmf}, \dirname{texmf-dist} и \dirname{texmf-doc}. + См. раздел~\ref{sec:tld} (\p.\pageref{sec:tld}) и файлы + \filename{README} в соответствующих директориях. + +\item Все файлы, которые читает \TeX, собраны в поддиректории + \dirname{tex} деревьев \dirname{texmf*} вместо разделения на + \dirname{tex}, \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} и + т.д. См. \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} + {\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + + +\item Вспомогательные скрипты (вызываемые другими программами, а не + непосредственно пользователем) теперь собраны в директории + \dirname{scripts} деревьев \dirname{texmf*} и ищутся командой + \verb|kpsewhich -format=texmfscripts|. Поэтому если у вас есть + программы, которые вызывают такие скрипты, их надо изменить. См. + \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} + {\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + + +\item Почти все форматы теперь печатают большинство символов + непосредственно, используя <<таблицы перевода>> \filename{cp227.tcx} + вместо формата \verb|^^|. В частности, символы с кодами 32--256 + плюс табуляция, вертикальная табуляция и перевод страницы печатаются + непосредственно. Исключениями являются plain \TeX{} (печатаются + непосредственно символы 32--127), \ConTeXt{} (0--255) и форматы, + относящиеся к программе \OMEGA. Это поведение почти такое же, как у + \TL\,2003, но реализовано более аккуратно, с б\'ольшей возможностью + настройки. См. \CDref{texmf/doc/web2c/web2c.html\#TCX-files} + {\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. (Кстати, при вводе + в Unicode, \TeX\ может выводить при указании на ошибку только часть + многобайтного символа, так как внутри \TeX\ работает с байтами). + + +\item \textsf{pdfetex} теперь используется для всех форматов, кроме + plain \textsf{tex}. (Разумеется, он делает файлы в формате + \acro{DVI}, если вызван как \textsf{latex} и т.п.). Это означает, + помимо прочего, что возможности \textsf{pdftex}a для микротипографии + а также возможности \eTeX а доступны в форматах \LaTeX, \ConTeXt{} и + т.д. (\OnCD{texmf-dist/doc/etex/base/}). + + Это также означает, что теперь \emph{очень важно} использовать пакет + \pkgname{ifpdf} (работает и с plain, и с \LaTeX) или эквивалентные + средства, поскольку просто проверка, определён ли \cs{pdfoutput} или + другой примитив не достаточна для того, чтобы понять, в каком + формате генерируется результат. Мы сделали всё возможное для + совместимости в этом году, но в будущем году \cs{pdfoutput} может + быть определён даже если генерируется \acro{DVI}. + + +\item У программы pdf\TeX\ (\url{http://pdftex.org}) много новых + возможностей: + + \begin{itemize*} + + \item Поддержка карт шрифтов изнутри документа при помощи + \cs{pdfmapfile} и \cs{pdfmapline}. + + \item Микротипографские расширения могут быть использованы + намного + проще.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + + \item Все параметры, ранее задававшиеся в специальном + конфигурационном файле \filename{pdftex.cfg}, теперь должны быть + установлены примитивами, например, в файле + \filename{pdftexconfig.tex}. Файл \filename{pdftex.cfg} больше не + поддерживается. При изменении файла \filename{pdftexconfig.tex} + все форматы \filename{.fmt} должны быть перегенерированы. + + \item Остальные изменения описаны в руководстве пользователя + программой pdf\TeX: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + + +\item Примитив \cs{input} в программе \cmdname{tex} (и \cmdname{mf} и + \cmdname{mpost}) теперь правильно интерпретирует пробелы и другие + специальные символы в двойных кавычках. Вот типичные примеры: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +См. подробности в руководстве к программе \Webc: \OnCD{texmf/doc/web2c}. + + +\item Поддержка enc\TeX а включена в \Webc, и поэтому во все + программы \TeX, которые теперь поддерживают опцию \optname{-enc} + "--- \emph{только при генерировании форматов}. enc\TeX{} + обеспечивает общую перекодировку входного и выходного потоков, что + позволяет полную поддержку Unicode (в \acro{UTF}-8). + См. \OnCD{texmf-dist/doc/generic/enctex/} и + \url{http://www.olsak.net/enctex.html}. + +\item В дистрибутиве появилась новая программа Aleph, сочетающая + \eTeX\ и \OMEGA. Краткая информация о ней находится в + \OnCD{texmf-dist/doc/aleph/base} и + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Формат + для \LaTeX а на основе этой программы называется \textsf{lamed}. + +\item Последняя версия \LaTeX а включает новую версию лицензии + \acro{LPPL} "--- теперь официально одобренную Debianом. Некоторые + другие изменения перечислены в файлах \filename{ltnews} в + \OnCD{texmf-dist/doc/latex/base}. + +\item В дистрибутиве появилась \cmdname{dvipng}, новая программа для + перевода \acro{DVI} в \acro{PNG}. + См. \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Мы уменьшили размер пакета \pkgname{cbgreek} до приемлемого + набора шрифтов, с согласия и совета автора (Клаудио Беккари). + Исключены невидимые, прозрачные и полупрозрачные шрифты, которые + относительно редко используются, а нам не хватало места. Полный + набор шрифтов можно найти в архиве \acro{CTAN} + (\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + + +\item Программа \cmdname{oxdvi} удалена из дистрибутива; используйте + \cmdname{xdvi}. + + +\item Линки \cmdname{ini} и \cmdname{vir} для программ \cmdname{tex}, + \cmdname{mf} и \cmdname{mpost} (например, \cmdname{initex}) больше + не создаются. Уже много лет опция \optname{-ini} их успешно + заменяет. + +\item Убрана поддержка платформы \textsf{i386-openbsd}. Так как в + портах BSD есть пакет \pkgname{tetex}, и можно пользоваться + программами для \acro{GNU/}Linux и Free\acro{BSD}, мы посчитали, что + время добровольных сотрудников проекта можно потратить с б\'ольшей + пользой по-другому. + + +\item По крайней мере для платформы \textsf{sparc-solaris} требуется + установить переменную окружения \envname{LD\_LIBRARY\_PATH} для + работы программ \pkgname{t1utils}. Это вызвано тем, что они + написаны на C++, а стандартной директории для бибилиотек C++ в + системе нет (это появилось до 2004 года, но ранее эта особенность не + была документирована). Аналогично, в \textsf{mips-irix} требуются + библиотеки \acro{MIPS}pro~7.4. + +\end{itemize} + +\subsubsection{2005} + +В 2005 году было, как всегда, сделано много изменений в пакетах и +программах. Инфраструктура почти не изменилась по сравненению с 2004 +годом, но некоторые неизбежные изменения были сделаны. + +\begin{itemize} + +\item Были добавлены новые скрипты \cmdname{texconfig-sys}, + \cmdname{updmap-sys} и \cmdname{fmtutil-sys}, которые изменяют + конфигурационные файлы в системных деревьях. Скрипты + \cmdname{texconfig}, \cmdname{updmap} и \cmdname{fmtutil} теперь + модифицируют индивидуальные файлы пользователя в + \dirname{$HOME/.texlive2005}. + +\item Были добавлены новые переменные \envname{TEXMFCONFIG} и + \envname{TEXMFSYSCONFIG} для указания, где находятся + конфигурационные файлы (пользовательские и системные). Таким + образом, вам надо переместить туда ваши личные копии + \filename{fmtutil.cnf} и \filename{texmf.cnf}. В любом случае + положение этих файлов и значения переменных \envname{TEXMFCONFIG} и + \envname{TEXMFSYSCONFIG} должны быть согласованы. + См. раздел~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item В прошлом году мы оставили неопределёнными \verb|\pdfoutput| и + другие переменные при генерировании файлов в формате DVI, хотя для + этого использовалась программа \cmdname{pdfetex}. В этом году, как + и было обещано, это уже не так. Поэтому если ваш документ + использует для проверки формата \verb|\ifx\pdfoutput\undefined|, его + надо изменить. Вы можете использовать пакет \pkgname{ifpdf.sty} + (работает в plain \TeX{} и \LaTeX) или аналогичную логику. + +\item В прошлом году мы изменили большинство форматов, которые стали + выдавать 8-битовые символы. Если вам всё же нужны старый вариант с + \verb|^^|, используйте новый файл \filename{empty.tcx}: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + + +\item Добавлена новая программа \cmdname{dvipdfmx} для перевода из DVI + в PDF; это активно поддерживаемая версия программы + \cmdname{dvipdfm}, которая пока ещё включена в дистрибутив, но уже + не рекомендована. + +\item Добавлены новые программы \cmdname{pdfopen} и + \cmdname{pdfclose}, которые позволяют перегрузить файл PDF в Adobe + Acrobat Reader, не перезапуская программу (у других программ для + чтения файлов PDF, включая \cmdname{xpdf}, \cmdname{gv} и + \cmdname{gsview}, такой проблемы никогда не было). + +\item Для единообразия мы переименовали переменные \envname{HOMETEXMF} + и \envname{VARTEXMF} в \envname{TEXMFHOME} и \envname{TEXMFSYSVAR}. + Есть также \envname{TEXMFVAR}, индивидуальная для каждого + пользователя (см. первый пункт выше). +\end{itemize} + +\subsubsection{2006--2007} + +В 2006--2007 главным нововведением была программа Xe\TeX{}, вызываемая +как \texttt{xetex} или \texttt{xelatex}; +см. \url{http://scripts.sil.org/xetex}. + +Значительно обновлена программа \MP; предполагаются дополнительные +обновления в будущем (\url{http://tug.org/metapost/articles}). Также +обновлён pdf\TeX{} (\url{http://tug.org/applications/pdftex}). + +Форматы \filename{.fmt} и т.д. теперь хранятся в поддиректориях +\dirname{texmf/web2c}, а не в самой директории (хотя директория всё ещё +включена в поиск форматов, на случай, если там находятся старые +файлы). Поддиректории названы по имени программы, например, +\filename{tex}, \filename{pdftex}, \filename{xetex}. Это изменение не +должно влиять на работу программ. + +Программа (plain) \texttt{tex} больше не определяет по \texttt{\%\&} в +первой строке, какой формат использовать: это всегда Кнутовский +\TeX{} (\LaTeX{} и другие ещё используют \texttt{\%\&}). + +Разумеется, в этом году были, как обычно, сотни обновлений пакетов и +программ. Как обычно, обновлённые версии можно найти в сети \acro{CTAN} +(\url{http://www.ctan.org}). + +Дерево \TL{} теперь хранится в системе Subversion, и у нас появился +WWW-интерфейс для его просмотра. Мы предполагаем, что эта система +будет использована для разработки в ближайшем будущем. + +Наконец, в мае 2006 года Томас Эссер объявил о прекращении работы над +te\TeX ом (\url{http://tug.org/tetex}). Это вызвало всплеск интереса +к \TL, особенно среди разработчиков систем \acro{GNU}/Линукса (мы +добавили схему \texttt{tetex}, которая устанавливает систему, примерно +соответствующую te\TeX у). Мы надеемся, что это приведёт в конечном +итоге к улучшению работы в \TeX е для всех. + +\medskip \noindent +Последнее замечание о прошлом: все выпуски \TL{} вместе с +дополнительными материалами вроде обложек \CD{} хранятся на +\url{ftp://tug.org/historic/systems/texlive}. +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{Настоящее} +\label{sec:tlcurrent} + + +В 2008 была заново разработана и переписана вся структура +\TL{}. Полная информация об установке системы теперь хранится в +текстовом файле \filename{tlpkg/texlive.tlpdb}. + +Помимо прочего, это наконец позволило обновление \TL{} по сети "--- +возможность, которая много лет была у программы MiK\TeX{}. Мы +предполагаем регулярно обновлять пакеты, поступающие на \CTAN. + +Включен новый важный <<движок>> Lua\TeX\ (\url{http://luatex.org}); +помимо нового уровня верстки, это дает прекрасный скриптовый язык для +использования как изнутри документов \TeX а, так и отдельно. + +Поддержка многих платформ на основе Юникса и Windows теперь гораздо +более последовательна. В частности, большинство скриптов на языках +Perl и Lua теперь доступны под Windows благодаря версии Perlа, +распространяемой с \TL{}. + +Новый скрипт \cmdname{tlmgr} (см. раздел~\ref{sec:tlmgr}) теперь +является основным интерфейсом для администрирования \TL{} после +установки. Он осуществляет обновление пакетов и перегенерирование +форматов, карт шрифтов и языков, включая локальные добавления. + +В связи с появлением программы \cmdname{tlmgr}, возможности программы +\cmdname{texconfig} по редактированию конфигурационных файлов форматов +и таблиц переноса отключены. + +Программа для создания указателей \cmdname{xindy} +(\url{http://xindy.sourceforge.net/}) теперь работает на большинстве +платформ. + +Программа \cmdname{kpsewhich} теперь может сообщить обо всех нужных +файлах (опция \optname{--all}) и ограничить поиск определенной +поддиректорией (опция \optname{--subdir}). + +Программа \cmdname{dvipdfmx} теперь может извлекать информацию о +рамке, если вызвана как \cmdname{extractbb}; это одна из последних +возможностей программы \cmdname{dvipdfm}, которой не было у +\cmdname{dvipdfmx}. + +Алиасы \filename{Times-Roman}, \filename{Helvetica} и т.д. убраны. +Разные пакеты ожидают от них разного поведения (особенно при разных +кодировках), и мы не нашли способа решить эту проблему единообразно. + +Формат \pkgname{platex} убран из-за конфликта с японским пакетом +\pkgname{platex}; теперь основная поддержка польского языка +осуществляется через пакет \pkgname{polski}. + +Пулы строковых констант \web\ теперь компилируются в сами программы +для удобства обновлений. + +Наконец, добавлены изменения, сделанные Дональдом Кнутом в его +<<Настройке \TeX а 2008 года>>, см. +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{Будущее} + +\emph{\TL{} не совершенен!} (И никогда не будет.) Мы предполагаем +выпускать новые версии, добавляя справочный материал, +утилиты, установочные программы и (конечно) новое, улучшенное и +проверенное дерево макросов и шрифтов. Эта работа делается очень +занятыми добровольцами в свободное время, и многое остается сделать. +Если вы можете помочь, не +стесняйтесь. См. \url{http://tug.org/texlive/contribute.html}. + +Присылайте, пожалуйста, замечания и предложения по адресу:\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% LaTeX-command-style: (("." "pdflatex")) +%%% TeX-view-style: (("." "acroread %s.pdf")) +%%% End: -- cgit v1.2.3