diff options
Diffstat (limited to 'Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex')
-rw-r--r-- | Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex | 2998 |
1 files changed, 2998 insertions, 0 deletions
diff --git a/Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex b/Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex new file mode 100644 index 00000000000..9184449b75c --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex @@ -0,0 +1,2998 @@ +% $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.{стр.~}% +\renewcommand{\samp}[1]{<<\texttt{#1}>>} +% +\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}/Линукса и других Юниксов, \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{}. На + \DVD \TK{} вся иерархия \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}), либо сделав его самостоятельно, скачав + \ISO\ образ диска (\url{http://tug.org/texlive/acquire.html}). + +\end{description} + + +В следующих разделах установка описывается более подробно. + +\subsubsection{Юникс} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> 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 + + <O> 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 + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> 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} показано основное меню программы +установки в текстовом режиме для Юникса. + +Интерфейс программы довольно примитивен: поддержки курсора в нем +нет. Например, нельзя передвигаться по полям при помощи клавиши +<<Tab>>. Вы просто печатаете что-то (регистр учитывается!) и +нажимаете клавишу <<Enter>>, после чего перерисовывается весь экран. + +Этот интерфейс примитивен по следующей причине: он должен работать на +как можно большем количестве платформ, включая такие, где есть только +усеченный вариант 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} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> 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 <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> 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 + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> 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}). Сейчас доступны следующие языки: + английский (\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} или кнопкой <<Reinit file +database>> в графическом режиме программы \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} +Если вы получаете в ответ <<command not found>> вместо номера версии и +информации о копирайте, у вас, скорее всего, нет директории с нужными +программами в переменной \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} в графическом режиме. Список + пакетов/коллекций/схем виден только после нажатия на клавишу + <<Load>>}\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}. После нажатия на +клавишу <<Load>>, она показывает список доступных и установленных +пакетов "--- перед последними стоит значок <<(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{}>> меню + <<Start>>, которое содержит некоторые программы + (\prog{tlmgr}, \prog{texdoctk}, программа PS\_View для просмотра + файлов в формате PostScript) и документацию. Добавляется ярлык + PS\_View на десктопе, куда можно отправлять постскриптовские файлы. +\item[Автоматическая установка переменных окружения.] Все переменные + окружения устанавливаются автоматически. +\item[Удаление системы.] Программа установки создает в меню + <<Add/Remove Programs>> запись <<\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\<username>|, а под Windows Vista "--- +\verb|C:\Users\<username>|. В файле \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 ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Давайте найдём, например, файл для Times Roman +\file{utmr8a.pfb}: +\begin{alltt} +> \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 <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, + ... +<texps.pro> +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 +<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. Поэтому мы разделили его на +три дистрибутива. Кроме того: + +\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{texmf}) в пути + \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} + (только при генерировании форматов). 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: |