В этом документе описаны основные возможности программного продукта TEX Live — дистрибутива TEXа и других программ для GNU/Linux и других UNIXов, Mac OS X и Windows.
TEX Live можно скачать с Интернета, а можно получить на DVD «TEX Collection». Эти DVD распространяются группами пользователей TEXа. В разделе 2.1 кратко описано содержание такого DVD. И TEX Live, и TEX Collection поддерживаются группами пользователей TEXа. В этом документе в основном описан TEX Live.
В TEX Live включены программы TEX, LaTeX2e, ConTEXt, Metafont, MetaPost, BibTeX и многие другие; обширная коллекция макросов, шрифтов и документации; а также поддержка вёрстки на многих языках мира.
Краткий список основных изменений в этом издании TEX Live можно найти в разделе 10, стр. 73.
В TEX Live включены скомпилированные программы для многих вариантов UNIX, включая GNU/Linux, Mac OS X и Cygwin. Исходный код также включён в дистрибутив, что позволяет компилировать TEX Live и на платформах, для которых мы не включили собранных программ.
Что касается Windows: поддерживаются версии Windows XP и младше. Программы также более или менее работоспособны под Windows 2000. Мы не собрали 64-битовые программы для Windows, но 32-битовые варианты должны работать на 64-битовых систем.
Альтернативные варианты для Windows и Mac OS X описаны в разделе 2.1.
TEX Live можно установить с DVD или с Интернета ( http://tug.org/texlive/acquire.html). Программа для установки с сети сама по себе мала — она скачивает все нужное с Интернета.
Программа установки с DVD позволяет установить TEX Live на диск компьютера. Вы не сможете запускать TEX Live непосредственно с DVD, но вы можете собрать работающую версию TEX Live, например, на флешке USB (см. 5). Установка системы подробно описана в следующих разделах (стр. 12), но вкратце она состоит в следующем:
Насколько мы можем сказать, основные программы TEXа были и остаются очень надежными. Однако несмотря на все усилия, некоторые программы дистрибутива могут не достичь этого уровня. Как обычно, вы должны быть осторожны, обрабатывая любыми программами ненадежные исходные данные; для безопасности делайте это в отдельной поддиректории.
Особенной осторожности требует работа под Windows, поскольку Windows обычно запускает в первую очередь копию программы из текущей директории, даже если существует другая копия там, где в системе обычно находятся бинарники. Это открывает много возможностей для хакерских атак. Мы закрыли много дыр в безопасности, но без сомнения, ещё больше дыр осталось, особенно в предоставленных нам чужих программах. Поэтому мы рекомендуем проверять подозрительные файлы в рабочей директории, особенно исполняемые файлы (бинарники и скрипты). Обычно их там быть не должно, и вёрстка документов не должна их создавать.
Наконец, TEX (и вспомогательные программы) способны писать в файлы при обработке документов. Это можно использовать для атаки разнообразными способами. И опять, безопаснее всего обрабатывать неизвестные документы в отдельной директории.
Сообщество пользователей TEXа активно и дружелюбно, и практически на каждый серьёзный вопрос найдётся ответ. Однако эта поддержка неформальна, выполняется добровольцами, и поэтому очень важно, чтобы вы сами попробовали найти ответ перед тем, как задавать вопрос. (Если вы предпочитаете коммерческую поддержку, возможно вам ст´оит вместо TEX Live купить одну из коммерческих версий TEXа, см. список по адресу http://tug.org/interest.html#vendors).
Вот список источников поддержки, приблизительно в том порядке, в котором мы рекомендуем к ним обращаться:
С другой стороны, вы сами тоже можете помочь тем, у кого есть вопросы. И comp.text.tex, и texhax, и fido7.ru.tex открыты для всех, поэтому вы тоже можете присоединиться, читать и помогать другим.
Этот раздел описывает структуру и содержание TEX Collection и его составной части TEX Live.
DVD TEX Collection содержит следующие пакеты:
Лицензии на использование CTAN, protext и texmf-extra отличаются от лицензии TEX Live, поэтому будьте внимательны при распространении или модификации программ, входящих в эти дистрибутивы.
Вот краткое описание корневых директорий в дистрибутиве TEX Live.
Программы системы TEX, сгруппированные по платформам.
Краткое руководство пользователя и коллекция ссылок на разных языках, в текстовом формате и формате HTML.
Исходный код всех программ, включая дистрибутивы Web2C TEX и Metafont.
См. TEXMFMAIN ниже.
См. TEXMFDIST ниже.
Скрипты, программы и другие файлы для поддержки системы, а также некоторые полезные программы для Windows
Кроме этих директорий, в корневой директории находятся скрипты установки и файлы README (на разных языках).
Файл doc.html в корневой директории содержит много ссылок на полезную документацию. Документация к отдельным программам (руководства, man, info) находится в директории texmf/doc. Документация макропакетов и форматов находится в директории texmf-dist/doc. Для поиска документации можно воспользоваться программой texdoc.
Документация к самому дистрибутиву TEX Live находится в директории texmf-doc и доступна на нескольких языках:
В этом разделе описаны все переменные, задающие положение деревьев директорий texmf и их значения по умолчанию. Команда tlmgr conf показывает текущие значения этих переменных, так что вы можете определить, где эти директории находятся в вашей системе.
Дерево, где находятся основные части системы: файлы конфигурации, скрипты и документация.
Дерево с основным набором макропакетов, шрифтов и т.д.
Дерево, которое может быть использовано администраторами системы для дополнительных пакетов, шрифтов и т.д.
Дерево, которое пользователи могут использовать для установки собственных пакетов, шрифтов и т.д., или для обновлённых версий системных пакетов. Эта переменная указывает на дерево в домашней директории, своей для каждого пользователя.
Это дерево используется утилитами texconfig, updmap и fmtutil для хранения модифицированных файлов конфигурации (своих для каждого пользователя)
Это дерево используется утилитами texconfig-sys, updmap-sys и fmtutil-sys для хранения модифицированных файлов конфигурации, общих для всех пользователей.
Это дерево используется утилитами texconfig, updmap и fmtutil для хранения создаваемых автоматически файлов: форматов, карт шрифтов.
Это дерево используется программой ConTEXt MkIV для хранения файлов, создаваемых автоматически.
Это дерево используется утилитами texconfig-sys, updmap-sys, fmtutil-sys, а также tlmgr для хранения создаваемых автоматически файлов: форматов, карт шрифтов, — общих для всех пользователей.
По умолчанию структура директорий выглядит так:
Предыдущая версия.
Текущая версия.
Программы для GNU/Linux
Программы для Mac OS X
Программы для Windows
TEXMFMAIN.
TEXMFDIST
TEXMFSYSVAR
TEXMFSYSCONFIG
TEXMFLOCAL, общая для всех версий TEX Live.
Данные и конфигурационные файлы предыдущей версии.
Данные и конфигурационные файлы текущей версии.
TEXMFVAR
TEXMFCONFIG
TEXMFHOME Личные макропакеты и т.д.
Кнутовский вариант TEXа заморожен — за исключением редких исправлений багов, в него не вносится никаких изменений. Он все ещё распространяется в TEX Live как tex и будет распространяться в обозримом будущем. В состав TEX Live входит несколько расширений TEXа:
Вот несколько других важных программ в дистрибутиве TEX Live:
поддержка библиографий.
поддержка алфавитных указателей.
преобразование DVI в PostScript.
программа для просмотра DVI для X Window System.
драйвер для лазерных принтеров семейства HP LaserJet.
перестановка страниц в файлах DVI.
преобразование DVI в PDF, альтернатива pdfTEXу, упомянутому выше.
утилиты для работы с файлами в формате PostScript.
утилиты для работы с файлами в формате PDF.
Программы для ConTEXtа и обработки PDF.
конвертер из TEXа в HTML, XML и многие другие форматы.
В TEX Live включено много векторных шрифтов высокого качества. См. http://tug.org/fonts и texmf-dist/doc/fonts/free-math-fonts-survey.
Для начала вам потребуется DVD TEX Collection или программа установки TEX Live с Интернета. Найдите скрипт установки: install-tl для UNIX, install-tl.bat для Windows. Более подробно различные способы приобретения и установки дистрибутива рассмотрены на странице http://tug.org/texlive/acquire.html.
В обоих случаях программа установки системы одна и та же. Главное различие состоит в том, что при установке с сети ставятся последние версии пакетов — в отличие от установки с DVD или ISO.
В следующих разделах установка описывается более подробно.
Ниже > указывает системный промпт; то, что вводит пользователь, показано жирным шрифтом. Проще всего начать установку так:
Для установки в экспертном графическом режиме (рисунок 2) вам потребуется модуль Perl/TK, собранный с поддержкой XFT (он обычно есть в системах GNU/Linux, но может отсутствовать на других системах). Если он у вас установлен, используйте
Полный список возможных опций дает команда
Предупреждение о правах доступа в UNIX: система установки TEX Live использует текущее значение параметра umask. Поэтому если вы хотите, чтобы системой могли пользоваться не только вы, но и другие пользователи, вы должны установить, например, umask 022. Более подробно umask обсуждается в документации к вашей системе.
Замечание об установке под Cygwin: в отличие от других систем типа UNIX, Cygwin в стандартной конфигурации не включает всех необходимых для установки TEX Live программ. См. раздел 3.1.4.
Как отмечается в разделе 2.1, для Mac OS X существует специальный дистрибутив, MacTEX ( http://tug.org/mactex). Мы рекомендуем пользоваться его системой установки, а не общим скриптом TEX Live, поскольку у него есть дополнительные возможности, специфические для Макинтошей, например, удобное переключение между различными дистрибутивами TEXа для Mac OS X (MacTEX, Fink, MacPorts, …).
MacTEX основан на TEX Live, и основные деревья директорий у этих дистрибутивов совпадают. MacTEX добавляет несколько поддиректорий с программами и документацией, предназначенными для Макинтошей.
Если вы устанавливаете систему с сети, или если программа установки с DVD не стартовала автоматически, дважды щёлкните по install-tl.bat. Если вам нужна более тонкая настройка, например, если вы хотите выбрать определенные коллекции пакетов, запустите install-tl-advanced.bat.
Можно также запустить программу из командной строки. Ниже > означает системный промпт; то, что вводит пользователь, указано жирным шрифтом. Если вы находитесь в директории программы установки, напечатайте:
Программу можно вызвать и из другой директории, например,
Для установки в текстовом режиме используйте
Все опции программы можно получить при помощи команды
Система установки TEX Live работает только под Cygwin 1.7. Перед началом установки TEX Live, установите при помощи программы setup.exe из комплекта Cygwin пакеты perl и wget, если их нет в вашей системе. Мы рекомендуем также следующие дополнительные пакеты:
На рисунке 1 показано основное меню программы установки в текстовом режиме для UNIX. Текстовый режим является режимом по умолчанию для UNIX.
Интерфейс программы довольно примитивен: поддержки курсора в нем нет. Например, нельзя передвигаться по полям при помощи клавиши «Tab». Вы просто печатаете что-то (регистр учитывается!) и нажимаете клавишу «Enter», после чего перерисовывается весь экран.
Этот интерфейс примитивен не случайно: он должен работать на как можно большем количестве платформ, включая такие, где есть только усеченный вариант программы Perl.
На рисунке 2 изображено меню программы установки в графическом режиме под GNU/Linux. Основное различие между этим рисунком и рисунком 1 в том, что в первом используются кнопки и меню.
Этот вариант может быть выбран командой
Под Windows установка по умолчанию работает в самом простом режиме, который мы только могли придумать, напоминающий интерфейс «Проводника установки». Он устанавливает все и (почти) не задает никаких вопросов. Если вы хотите более тонкую настройку, вызовите другой режим.
Этот режим может быть выбран командой
Меню программы установки должно быть понятно без объяснений. Мы все же приведем несколько кратких замечаний по поводу различных опций и подменю.
|
Available platforms:
=============================================================================== a [ ] alpha-linux DEC Alpha with GNU/Linux b [ ] amd64-freebsd x86_64 with FreeBSD c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD d [ ] i386-cygwin Intel x86 with Cygwin e [ ] i386-freebsd Intel x86 with FreeBSD f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD g [X] i386-linux Intel x86 with GNU/Linux h [ ] i386-netbsd Intel x86 with NetBSD i [ ] i386-solaris Intel x86 with Solaris j [ ] mips-irix SGI IRIX k [ ] powerpc-aix PowerPC with AIX l [ ] powerpc-linux PowerPC with GNU/Linux m [ ] sparc-linux Sparc with GNU/Linux o [ ] sparc-solaris Sparc with Solaris p [ ] universal-darwin universal binaries for MacOSX/Darwin s [ ] win32 Windows t [ ] x86_64-darwin x86_64 with MacOSX/Darwin u [ ] x86_64-linux x86_64 with GNU/Linux v [ ] x86_64-solaris x86_64 with Solaris
|
На рисунке 4 изображено меню выбора платформы. По умолчанию устанавливаются только программы для вашей текущей архитектуры. В этом меню вы можете выбрать также установку программ для других платформ. Это может быть полезно, если вы используете одно и то же дерево TEXа для разных машин и раздаёте его по локальной сети, либо если на вашей машине установлено несколько операционных систем.
|
Select scheme:
=============================================================================== a [ ] basic scheme (plain and LaTeX) b [ ] ConTeXt scheme c [X] full scheme (everything) d [ ] GUST TeX Live scheme e [ ] medium scheme (plain, latex, recommended packages, some languages) f [ ] minimal scheme (plain only) g [ ] teTeX scheme (more than medium, but nowhere near full) h [ ] XML scheme i [ ] custom selection of collections
|
На рисунке 5 показано меню выбора основных компонентов (схем) TEX Live. В этом меню вы можете выбрать «схему», т.е. набор коллекций пакетов. По умолчанию используется схема full, т.е. все пакеты TEX Live, но вы можете выбрать схему basic для небольшой системы, схему minimal для тестирования или схемы medium или teTeX. Есть также ряд специальных схем, в том числе и предназначенных для различных стран.
Вы можете уточнить ваш выбор при помощи меню «коллекций» (рисунок 6, для разнообразия сделанный в графическом режиме).
Коллекции представляют собой следующий после схем уровень иерархии TEX Live. Грубо говоря, схемы состоят из коллекций, коллекции состоят из пакетов, а пакеты (нижний уровень иерархии TEX Live) содержат макросы, шрифты и т.д.
Если вы хотите более тонкой настройки, чем возможна в меню коллекций, вы можете использовать программу tlmgr после установки (см. раздел 6). Эта программа позволяет устанавливать или удалять отдельные пакеты.
Схема директорий по умолчанию описана в разделе 2.3, стр. 8. Положение дерева TEXDIR отличается для Windows (%SystemDrive%\texlive\2011) и UNIX (/usr/local/texlive/2011).
Основная причина, по которой бывает необходимо изменить эту схему — отсутствие у вас прав на запись в нужные директории. Вам не надо иметь права администратора для установки TEX Live, однако вам надо иметь право на запись в директорию, куда устанавливается система.
Если у вас нет права на запись в системные директории, естественной альтернативой является установка в вашу домашнюю директорию, особенно если вы будете единственным пользователем системы. Для этого используйте ‘~’ например ‘~/texlive/2011’.
Мы рекомендуем включать номер года в название директории, чтобы можно было держать отдельно разные версии TEX Live. После тестирования новой версии вы сможете сделать /usr/local/texlive-cur ссылкой на соответствующую директорию.
Изменение TEXDIR изменит также TEXMFLOCAL, TEXMFSYSVAR и TEXMFSYSCONFIG.
Личные пакеты и файлы рекомендуется держать в директории TEXMFHOME. По умолчанию это ~/texmf. В отличие от TEXDIR, здесь ~ будет своим для каждого пользователя. Эта переменная становится $HOME под UNIX и %USERPROFILE% под Windows. На всякий случай повторим, что структура TEXMFHOME должна совпадать со стандартной структурой директорий TEXMF, иначе система может не найти ваши файлы.
Директория TEXMFVAR используется для хранения автоматически создаваемых файлов, своих для каждого пользователя. Директория TEXMFCACHE используется для этой же цели программой ConTEXt MkIV (см. раздел 3.4.5, стр. 39).
|
Options setup:
=============================================================================== <P> use letter size instead of A4 by default: [ ] <E> execution of restricted list of programs: [X] <F> create 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:
|
На рисунке 7 приведено меню опций (текстовый режим). Стоит упомянуть несколько из них:
Задав нужные настройки, вы можете начать установку системы, нажав клавишу «I». Когда установка будет закончена, перейдите к разделу 3.4 чтобы проверить, нужно ли вам сделать ещё что-нибудь.
Напечатайте
Если возможно, использовать графический режим. Для этого нужен модуль Perl/Tk с поддержкой XFT ( http://tug.org/texlive/distro.html#perltk); если этого модуля в системе нет, установка происходит в текстовом режиме.
Использовать текстовый режим, даже под Windows.
Задать язык интерфейса программы установки (стандартным кодом страны LL). Сейчас доступны следующие языки: cs (чешский), de (немецкий), en (английский, по умолчанию) fr (французский), it (итальянский), ja (японский), nl (голландский), pl (польский), ru (русский), sk (словацкий), sl (словенский), sr (сербский), vi (вьетнамский), zh-cn (упрощенный китайский), zh-tw (традиционный китайский). Программа установки пытается определеть нужный язык автоматически, но если это не получается или если нужный язык не поддерживается, она переходит на английский.
Если у вас уже есть копия TEX Live, полученная из репозитория (см. http://tug.org/texlive/acquire-mirror.html), то эта опция позволяет использовать эту копию. Учтите, что при этом база данных tlpkg/texlive.tlpdb может быть затерта; вы должны сохранить её сами. Кроме того, удаление пакетов нужно будет делать вручную. Не используйте эту опцию, если вы не эксперт. Эту опцию нельзя выбрать после того, как программа запущена.
Установить переносимую версию TEX Live, например, на флешку USB. Эту опцию также можно указать при помощи команды V в текстовом установки, или из графического режима. См. также раздел 5.
Программа установки всегда записывает файл texlive.profile в поддиректорию tlpkg. Эта опция заставляет программу использовать этот файл. При помощи этой опции вы можете устанавливать TEX Live на нескольких машинах с одними и теми же параметрами.
Указать альтернативный источник о пакетов для установки; см. ниже.
По умолчанию пакеты сгружаются с одного из зеркал архива CTAN. Ссылка http://mirror.ctan.org автоматически выбирает зеркало.
Если вы хотите указать другой источник, вы можете задать его как URL, начинающийся с ftp:, http:, file:/ или просто как директорию на диске. (Когда вы указываете репозиторию как ftp: или http:, окончание / или /tlpkg игнорируется.)
Например, вы можете задать в качестве параметра определенное зеркало CTAN: http://ctan.example.org/tex-archive/texlive/tlnet/. Разумеется, вам следует подставить вместо example.ctan.org нужное зеркало и путь к архиву на этом зеркале. Список зеркал находится на http://ctan.org/mirrors.
Если параметр задает директорию на диски (прямо или при помощи file:/), система автоматически определяет, является ли источник архивом: если найдена поддиректория archive со сжатыми файлами, то она будет использована, даже если рядом находятся незаархивированные файлы.
Иногда после установки системы требуются дополнительные действия.
Если бы решили создать симлинки в стандартных директориях (см. раздел 3.2.4), то изменять переменные окружения не требуется. В противном случае вам нужно добавить к списку поиска программ директорию, где лежат программы TEXlive (под Windows программа установки делает это сама).
Программы для каждой архитектуры помещаются в собственную поддиректорию под TEXDIR/bin. См. список поддиректорий и соответствующих платформ на рисунке 4.
Вы можете также добавить директории с документацией в формате man и info к соответствующим путям поиска, если вы хотите, чтобы ваша операционная система знала о них. В некоторых системах документация в формате man будет найдена автоматически после изменения переменной PATH.
Ниже мы используем для примера стандартную систему директорий в системе Intel86 GNU/Linux.
Для оболочек типа Bourne (bash и т.п.) вы можете добавить в файл $HOME/.profile (или в файл, который вызывается из .profile) следующее:
Для csh или tcsh следует редактировать файл $HOME/.cshrc, и следует добавить что-то вроде
Разумеется, в ваших конфигурационных файлах уже могут быть определены эти переменные; фрагменты выше добавляют к ним директории TEX Live.
Если вы хотите внести эти изменения для всех пользователей, или добавлять их автоматически для новых пользователей, то вам следует разобраться самому: в разных системах это делается слишком по-разному.
Два совета: 1) возможно, вам следует добавить в файл /etc/manpath.config строчки вроде:
И 2) иногда пути поиска и другие глобальные переменные окружения задаются в файле /etc/environment.
Мы также добавляем симлинк man в каждой поддиректории bin. Некоторые варианты программы man, например, в Mac OS X, автоматически ищут файлы в этих поддиректориях, что избавляет от необходимости добавлять их в MANPATH.
Если вы устновили TEX Live с DVD и хотите получать обновления из Интернета, запустите следующую команду (после добавления программ TEX Live к списку поиска программ, см. предыдущий раздел):
Она указывает программе tlmgr, что нужно искать обновления на ближайшем зеркале CTAN.
Если автоматический выбор зеркала не работает, вы можете указать адрес зеркала вручную, взяв его из списка на http://ctan.org/mirrors. Задайте при этом точное положение директории tlnet, как указано выше.
Если вы установили пакет xetex под UNIX, то вам нужно настроить вашу систему, если вы хотите, чтобы XeTEX мог найти шрифты TEX Live. Когда этот пакет устанавливается (либо при первоначальной установке дистрибутива, либо позже), он создает необходимый конфигурационный файл в TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf.
Если вы обладаете правами администратора, то для того, чтобы шрифты TEX Live были доступны всем программам, сделайте следующее:
Если у вас нет прав администратора, то вы можете вместо этого сделать шрифты TEX Live доступными только вам:
Как «старый» ConTEXt(Mark II), так и «новый> ConTEXt (Mark IV) должны работать «из коробки» после установки TEX Live и после обновления системы при помощи tlmgr.
Однако так как ConTEXt MkIV не использует библиотеку kpathsea, после установки новый файлов вручную (не при помощи tlmgr) нужны дополнительные действия. Каждый пользователь MkIV должен после такого обновления запустить
чтобы обновить базу данных ConTEXt. Получившиеся файлы будут установлены в директории TEXMFCACHE. В TEX Live эта директория совпадает с TEXMFVAR.
ConTEXt MkIV читает файлы из всех директорий, заданных переменной TEXMFCACHE и пишет в первую директорию в списке, в которой у него есть права на запись. При чтении в случае дублирующих записей имеет преимущество последняя прочитанная запись.
См. также http://wiki.contextgarden.net/Running_Mark_IV.
Этот вопрос уже обсуждался в разделе 2.3: для локальных шрифтов и пакетов, общих у всех пользователей, предназначена директория TEXMFLOCAL (по умолчанию, /usr/local/texlive/texmf-local или %SystemDrive%\texlive\texmf-local), а для личных шрифтов и пакетов — директория TEXMFHOME (по умолчанию, $HOME/texmf или %USERPROFILE%\texmf). Эти директории предполагаются общими для всех версий TEX Live, и каждая версия TEX Live видит их автоматически. Поэтому мы не рекомендуем менять значение TEXMFLOCAL, иначе вам придется делать это для каждой новой версии.
Файлы в обеих директориях должны находиться в правильных поддиректориях; см. http://tug.org/tds и texmf/web2c/texmf.cnf. Например, LATEXовский класс или пакет должен находиться в директории TEXMFLOCAL/tex/latex или TEXMFHOME/tex/latex или какой-либо из их поддиректорий.
Для директории TEXMFLOCAL должна поддерживаться база данных о файлах, иначе система не сможет найти там нужные файлы. Эта база обновляется командой mktexlsr или кнопкой «Reinit file database» в графическом режиме программы tlmgr.
По умолчанию, каждая из этих переменных указывает на одну директорию, как в нашем примере. Однако это не обязательное требование. Если вам нужно, например, поддерживать несколько версий больших пакетов, вы можете захотеть иметь несколько деревьев директорий. Тогда вы можете определить TEXMFHOME как набор директорий в фигурных скобках, разделенных запятыми:
Подробнее эти вопросы объясняются в разделе 8.1.5.
К сожалению, это очень сложная задача. Не делайте этого, если вы не знаете TEXа как свои пять пальцев. Не забудьте сначала проверить, какие шрифты у вас уже есть, см. раздел 2.6.
Возможная альтернатива — программа XeTEX (см. раздел 2.4), которая позволяет автоматически использовать в TEXе шрифты вашей операционной системы.
Если вам все же нужно добавить шрифты, то посмотрите страницу http://tug.org/fonts/fontinstall.html — это лучшее, что мы смогли написать по этому поводу. Если вы правильно поддерживаете карты шрифтов, tlmgr generate updmap может оказаться полезной, особенно при переходе на новую версию TEX Live; см. документацию программы tlmgr.
После установки TEX Live вы, скорее всего, захотите проверить работу системы, а уже затем перейти к созданию прекрасных документов и/или шрифтов.
В этом разделе описываются основные процедуры по тестированию системы. Мы приводим команды для операционных систем типа Unix; под Mac OS X и Windows вы, скорее всего, будете использовать графический интерфейс, но принцип тот же.
Более простой документ, чем sample2e, удобный, если последний слишком велик для вас.
Проверяет поля и позиционирование бумаги для вашего принтера.
Используется для печати таблиц шрифтов и тестов.
Печать таблиц шрифтов под plain TEX.
Самый канонический файл в формате (plain) TEX. Вы должны напечатать «\bye» в ответ на приглашение * после «tex story.tex».
Если вы новичок в TEXе, или вам нужна помощь в создании документов на языке TEX или LATEX, посетите http://tug.org/begin.html.
Вот ссылки на некоторые другие программы, которые вам могут пригодиться:
Гораздо более полный лист программ и пакетов находится на http://tug.org/interest.html.
В предыдущих разделах описывались основы процесса установки TEX Live. Здесь мы остановимся на нескольких особых случаях.
TEX Live может использоваться одновременно разными пользователями или даже разными машинами в локальной сети. В стандартной схеме директорий все пути к файлам являются относительными: программы TEX Live определяют, где лежат нужные им файлы, исходя из того, где они находятся сами. Вы можете увидеть, как это делается, посмотрев конфигурационный файл $TEXMFMAIN/web2c/texmf.cnf со строчками типа
Это означает, что другие системы или пользователи должны просто добавить директорию с программами TEX Live к директориям поиска.
Точно так же вы можете установить TEX Live на один компьютер, а затем перенести всю иерархию на локальную сеть.
Под Windows скрипт для установки системы в локальной сети называется w32client и находится на http://tug.org/texlive/w32client.html. Он добавляет к уже установленной системе TEX Live необходимые для работы в локальной сети изменения. Есть также скрипт для удаления этих изменений w32unclient. См. более подробное описание на странице скрипта выше.
Опция программы установки -portable (или команда V в текстовом режиме, или соответствующий пункт меню в графическом режиме) создает систему, находящуюся полностью в своей директории, и не изменяет конфигурации компьютера. Вы можете установить такую систему на USB флешку или в отдельную директорию, а потом скопировать её на флешку.
Чтобы запустить TEX с такой флешки, вам нужно добавить директорию с программами к путям поиска программ. Под Юниксом это делается при помощи изменения переменной окружения PATH. Под Windows вы можете щелкнуть на tl-tray-menu, чтобы выбрать из нескольких стандартных задач, как показано ниже:
Меню «Custom Script» вызывает окошко с объяснением, как добавить дополнительные возможности в меню.
Если вам не нужно часто обновлять систему, и/или у вас несколько машин, на которых вы хотите использовать TEX Live, то для вас может иметь смысл создать образ ISO или DVD, так как:
Разумеется, вы можете также прожечь реальный DVD, если это вам удобнее.
Десктопные версии GNU/Linux/Unix, включая Mac OS X, умеют монтировать ISO. В остальном установка такая же, как при установке на жесткий диск, см. раздел 3.4.1.
При установке на ISO имеет смысл не делать поддиректорию для года текущей версии, и устанавливать texmf-local на том же уровнем что и другие деревья (texmf, texmf-dist, и т. д.). Это можно сделать при помощи опций программы установки.
Для обычной (не виртуальной) машины под Windows вы можете прожечь ISO на DVD. Однако возможно, что вам будет удобно использовать разнообразные свободные программы для монтирования виртуальных дисков. Для Windows XP Microsoft рекомендует winxpvirtualcdcontrolpanel.
Для лучшего взаимодействия с системой, вы можете включить скрипты для w32client, описанные в разделе 4.1 и на странице http://tug.org/texlive/w32client.html. Они работают с ISO точно так же, как и с системой в локальной сети.
Под Mac OS X TeXShop и TEXworks могут использовать систему на DVD, если симлинк /usr/texbin указывает на директорию с программами для нужной архитектуры, например
Историческая справка: TEX Live 2010 была первым изданием TEX Live, который не мог работать непосрественно с диска («live»). Однако для работы с DVD или ISO всегда нужны были дополнительные усилия: например, необходимо было установить хотя бы одну переменную окружения. Если бы создаете образ ISO из существующей системы, то в этом нет нужды.
|
|
В TEX Live входит программа tlmgr для администрирования системы после установки. Программы updmap, fmtutil и texconfig все ещё есть в системе и будут там в будущем, но мы рекомендуем теперь программу tlmgr. Среди её возможностей:
Программа tlmgr может быть запущена в графическом режиме:
На рисунках 9 и 10 показаны главное меню и меню выбора размера бумаги.
После первоначальной установки вы можете обновить систему до последних версий, имеющихся на сети:
В более сложном примере мы добавляем новую коллекцию (XeTEX) из локальной директории:
Как вы видите, tlmgr учитывает зависимости между пакетами, и сама делает нужные после установки шаги, включая обновление базы имен файлов и перегенерирование форматов. В примере выше она создала новые форматы для программы XeTEX.
Описание пакета (или коллекции или схемы):
И наконец, полная документация находится по адресу http://tug.org/texlive/tlmgr.html или вызывается командой
Под Windows программа установки делает несколько дополнительных вещей:
Для полноты дистрибутиву TEX Live необходимы дополнительные пакеты, которые обычно не встречаются на машине под Windows. В TEX Live есть недостающие программы и пакеты:
Аналогом домашней директории под UNIX является директория %USERPROFILE%. Под Windows XP это обычно C:\Documents and Settings\<username>, а под Windows Vista и Windows 7 — C:\Users\<username>. В файле texmf.cnf и вообще при работе Kpathsea, тильда ~ правильно интерпретируется как домашняя директория пользователя и под Windows, и под UNIX.
Windows хранит почти все конфигурационные данные в регистре. Регистр содержит набор иерархически организованных записей, с несколькими корневыми записями. Наиболее важны для программ установки записи HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE, сокращенно HKCU и HKLM. Как правило, HKCU находится в домашней директории пользователя (см. раздел 7.3), а HKLM — поддиректория директории Windows.
Иногда конфигурация системы определяется переменными окружения, но некоторые вещи (например, положение ярлыков) задаются в регистре. Для того, чтобы перманентно задать переменные окружения, также нужен доступ к регистру.
В поздних версиях Windows делается различие между обычными пользователями и администраторами, причем только последние имеют право доступа ко всей операционной системе. На практике однако было бы более правильно описывать эти классы пользователей как «непривилегированные пользователи» и «обычные пользователи»: права администратора являются правилом, а не исключением. Однако мы постарались сделать возможным установку TEX Live без прав администратора.
Если пользователь является администратором, он может установить TEX Live для всех пользователей. В этом случае ярлыки создаются у всех пользователей, и модифицируются системные параметры. В противном случае ярлыки и меню создаются только для текущего пользователя, и модифицируются его параметры.
Вне зависимости от статуса пользователя, корень установки TEX Live, предлагаемый по умолчанию, всегда находится под %SystemDrive%. Программа установки всегда проверяет, открыта ли корневая директория на запись для текущего пользователя.
Может возникнуть проблема, если у пользователя нет прав администратора, а в пути поиска уже есть TEX. Поскольку в пути поиска системный путь стоит перед путем пользователя, TEX из TEX Live не будет найден. Чтобы обойти эту проблему, программа в таком случае создает ярлык с командной строкой, в которой директория TEX Live стоит первой в пути поиска. Из этой командной строки можно пользоваться TEX Live. Ярлык для TEXworks, если эта программа установлена, также добавляет директории TEX Live в начало пути поиска.
У Windows Vista и Windows 7 есть ещё одна особенность: даже если вы являетесь администратором, вам нужно отдельно указать административные права при запуске программ. Поэтому не имеет особого смысла заходить в систему как администратор: вместо этого, щелкнув правой клавишей мыши на ярлык, выберите из меню «Run as administrator».
Пользователи Windows и Cygwin (см. раздел 3.1.4 об особенностях установки под Cygwin) могут обнаружить, что для некоторых программ TEX Live не хватает оперативной памяти. Например, программа asy может не запуститься, если вам нужно разместить массив в 25 000 000 числе с плавающей точкой, а LuaTEX может не справиться с документом, в котором много разных шрифтов.
Под Cygwin можно увеличить используемый объем памяти, если воспользоваться инструкциями в Руководстве пользователя Cygwin ( http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html).
Под Windows нужно создать файл, скажем, moremem.reg, со следующими четырьмя строками:
а затем выполнить как администратор команду regedit /s moremem.reg. Если вы хотите изменить этот параметр только для текущего пользователя, то в третьей строке надо написать HKEY_CURRENT_USER.
Web2C — это интегрированная коллекция программ, относящихся к TEXу: сам TEX, Metafont, MetaPost, BibTeX, и т.д. Это сердце TEX Live. Страница Web2C с руководством пользователя и многим другим находится на http://tug.org/web2c.
Немного истории. Первая версия программы была написана Томасом Рокики, который в 1987 году создал систему TEX-to-C, адаптировав патчи для UNIX, разработанные в основном Говардом Трики и Павлом Куртисом. Тим Морган стал поддерживать систему, и в этот период её название сменилось на Web-to-C. В 1990 году Карл Берри взял на себя этот проект, координируя работу десятков программистов, а в 1997 он передал руководство Олафу Веберу, который вернул его Карлу в 2006 году.
Система Web2C работает под UNIX, 32-битовых Windows, Mac OS X, и других операционных системах. Она использует оригинальные исходники Кнута для TEXа и других программ, написанных на языке WEB и переведённых на C. Основные программы системы:
Поддержка библиографий.
Работа с виртуальными шрифтами в файлах DVI.
Перевод DVI в MPX (рисунки в MetaPost).
Перевод DVI в текст.
Гранки шрифтов.
Упаковка шрифтов
Перевод GF в текст.
Создание шрифтов.
Вёрстка исходников Metafont.
Рисование диаграмм.
Создание таблиц переносов.
Перевод PK в GF.
Перевод PK в текст
Перевод из списка свойств шрифта в TFM.
Расшифровка файлов pool в WEB.
Перевод WEB в Pascal.
Вёрстка.
Перевод TFM в список свойств шрифта.
Перевод виртуального шрифта в список свойств шрифта.
Перевод списка свойств шрифта в виртуальный шрифт.
Перевод WEB в TEX.
Полностью эти программы описаны в документации к соответствующим пакетам и самой Web2C. Однако знание некоторых общих принципов для всей семьи программ поможет вам полнее использовать программы системы Web2C.
Все программы поддерживают стандартные опции GNU:
напечатать краткую справку
печатать подробную информацию по мере работы
Напечатать версию программы и завершить работу.
Для поиска файлов программы Web2C используют библиотеку Kpathsea ( http://tug.org/kpathsea). Эта библиотека использует комбинацию переменных окружения и конфигурационных файлов, чтобы найти нужные файлы в огромной системе TEX. Web2C может просматривать одновременно больше одного дерева директорий, что полезно для работы со стандартным дистрибутивом TEXа и его локальными расширениями. Для ускорения поисков файлов каждое дерево содержит файл ls-R, в котором указаны названия и относительные пути всех файлов в этом дереве.
Рассмотрим сначала общий алгоритм библиотеки Kpathsea.
Будем называть путём поиска набор разделённых двоеточием или точкой с запятой элементов пути, представляющих из себя в основном названия директорий. Путь поиска может иметь много источников. Чтобы найти файл «my-file» в директории «.:/dir», Kpathsea проверяет каждый элемент пути по очереди: сначала ./my-file, затем /dir/my-file, возвращая первый файл (или, возможно, все файлы).
Чтобы работать с разными операционными системами, Kpathsea под системой, отличной от UNIX может использовать разделители, отличные от «:» и «/».
Чтобы проверить определённый элемент пути p, Kpathsea вначале проверяет наличие базы данных (см. раздел «База данных файлов» на стр. 63), т.е., есть ли база в директории, которая является префиксом для p. Если это так, спецификация пути сравнивается с содержимым базы данных.
Если база данных не существует, или не относится к этому элементу пути, или не содержит нужного элемента, проверяется файловая система (если это не запрещено спецификацией, начинающейся с «!!», и если файл должен существовать). Kpathsea конструирует список директорий, которые соответствуют элементу, и в каждой директории ищет нужный файл.
Условие «файл должен существовать» важно для файлов «.vf» и файлов, которые открывает TEX по команде \openin. Такие файлы могут и не существовать (например, файл cmr10.vf), и было бы неправильно искать их на диске. Поэтому, если вы не обновите ls-R при установке нового файла «.vf», он никогда не будет найден. Каждый элемент пути ищется по очереди: сначала база данных, затем диск. Если нужный файл найден, поиск останавливается, и возвращается результат.
Хотя самый простой и часто встречающийся элемент пути — это название директории, Kpathsea поддерживает дополнительные возможности: разнообразные значения по умолчанию, имена переменных окружения, значения из конфигурационных файлов, домашние директории пользователей, рекурсивный поиск поддиректорий. Поэтому мы говорим, что Kpathsea вычисляет элемент пути, т.е., что библиотека преобразует спецификации в имя или имена директории. Это описано в следующих разделах в том же порядке, в котором происходит поиск.
Заметьте, что имя файла при поиске может быть абсолютным или относительным, т.е. начинаться с «/», или «./», или «../», Kpathsea просто проверяет, существует ли файл.
Путь поиска может иметь разные источники. Kpathsea использует их в следующем порядке:
Вы можете увидеть каждое из этих значений для данного пути поиска, задав соответствующий уровень отладки (см. «Отладка» на стр. 66).
Kpathsea читает конфигурационные файлы texmf.cnf, в которых задаются параметры программы. Раньше для поиска этих файлов использовалась переменная TEXMFCNF, но теперь мы не рекомендуем пользоваться этой (или какой-либо другой) переменной окружения.
Теперь при нормальной установке создается файл .../2011/texmf.cnf. Если вам нужно изменить настройки (обычно этого делать, не приходится), внесите их в этот файл. Главный конфигурационный файл — файл .../2011/texmf/web2c/texmf.cnf Его редактировать не следует, так как при обновлении системы ваши изменения пропадут.
Все найденные файлы texmf.cnf будут прочитаны, и определения в более ранних файлах имеют преимущество перед определениями в более поздних. Таким образом, если путь поиска задан как .:$TEXMF, значения в ./texmf.cnf имеют преимущество перед значениями в $TEXMF/texmf.cnf.
Фрагмент конфигурационного файла, иллюстрирующий эти правила, приведeн ниже:
Kpathsea распознаёт определённые специальные символы и конструкции в путях поиска, аналогичные конструкциям в стандартных оболочках UNIX. Например, сложный путь ~$USER/{foo,bar}//baz, означает все поддиректории директорий foo и bar в домашней директории пользователя $USER, которые содержат файл или поддиректорию baz. Это объяснено в следующих разделах.
Если путь поиска с наибольшим приоритетом (см. раздел «Источники путей поиска» на стр. 58) содержит дополнительное двоеточие (в начале, в конце, двойное), Kpathsea заменяет его следующим по приоритету путём. Если этот вставленный путь содержит дополнительное двоеточие, то же происходит со следующим путём. Например, если переменная окружения задана как
Поскольку было бы бесполезно вставлять значение по умолчанию более чем один раз, Kpathsea изменяет только одно лишнее двоеточие, и оставляет остальные: она проверяет сначала двоеточие в начале, потом в конце, потом двойные двоеточия.
Полезна также подстановка скобок, из-за которой, например, v{a,b}w означает vaw:vbw. Вложенность тут допускается. Благодаря этому можно иметь несколько иерархий директорий, присвоив $TEXMF несколько вариантов путей. Например, в файле texmf.cnf, можно найти следующее определение (это упрощение, на самом деле там ещё больше деревьев):
Благодаря этому можно писать такое:
что означает, что кроме текущей директории будет происходить поиск только в $TEXMFHOME/tex, $TEXMFLOCAL/tex, $TEXMFVAR/tex и $TEXMFMAIN/tex (последние два дерева используют файлы ls-R). Это удобно для поддержки двух параллельных структур, «замороженной» (например, на CD) и обновляемой по мере появления новых версий. Используя переменную $TEXMF во всех определениях, можно задать поиск в обновляемом дереве первым.
Два или более слэша «/» в элементе пути вслед за именем директории d заменяются всеми поддиректориями d рекурсивно. На каждом уровне порядок поиска по директориям не определён.
Если вы определите компоненты имени файла после «//», только поддиректории с соответствующими компонентами будут включены. Например, «/a//b» даёт поддиректории /a/1/b, /a/2/b, /a/1/1/b, и т.д., но не /a/b/c или /a/1.
Возможны несколько конструкций «//» в одном пути, но «//» в начале пути игнорируются.
В следующем списке приводятся специальные символы в конфигурационных файлах Kpathsea.
Разделитель в спецификациях путей; в начале или конце спецификации означает подстановку по умолчанию.
Разделитель путей в системах, отличных от UNIX (то же, что :).
Подстановка переменных.
Означает домашнюю директорию пользователя.
Подстановка скобок.
Подстановка поддиректорий (может встретиться где угодно, кроме начала пути).
Начало комментария.
Символ продолжения (для команд из нескольких строк).
Поиск только в базе данных, но не на диске.
Kpathsea старается минимизировать обращение к диску при поиске. Тем не менее в системах с большим количеством директорий поиск в каждой возможной директории может занять долгое время (это особенно верно, если надо проверить сотни директорий со шрифтами). Поэтому Kpathsea умеет использовать внешний текстовый файл, «базу данных» ls-R, который знает, где находятся файлы в директориях, что даёт возможность избежать частых обращений к диску.
Ещё одна база данных, файл aliases позволяет вам давать дополнительные названия файлам в ls-R. Это полезно, если вам нужно соблюдать правило DOS «8.3».
Как объяснено выше, основная база данных называется ls-R. Вы можете создать её в корне каждого дерева TEXа, которое просматривается Kpathsea (по умолчанию, $TEXMF). Kpathsea ищет файлы ls-R в пути TEXMFDBS.
Рекомендуемый способ создания и поддержки «ls-R» — скрипт mktexlsr, включённый в дистрибутив. Он вызывается разными скриптами «mktex»…. В принципе этот скрипт выполняет команды типа
Если файл не найден в базе данных, по умолчанию Kpathsea ищет его на диске. Если элемент пути начинается с «!!», то поиск происходит только в базе данных.
Программа kpsewhich выполняет поиск в соответствии с алгоритмом, описанным выше. Это может быть полезно в качестве варианта команды find для поиска файлов в иерархиях TEXа (это широко используется в скриптах «mktex»…).
Kpathsea рассматривает каждый аргумент, не являющийся опцией, как имя файла, и возвращает первый найденный файл. Нет опции вернуть все найденные файлы (для этого можно использовать программу «find»).
Наиболее важные опции описаны ниже.
Установить разрешение num; это влияет только на поиск файлов «gf» и «pk». Синоним «-D»,
для совместимости с dvips. По умолчанию 600.
Установить формат для поиска name. По умолчанию, формат определяется из имени файла.
Для форматов, для которых нет однозначного суффикса, например, файлов MetaPost
и конфигурационных файлов dvips, вы должны указать название, известное Kpathsea,
например, tex или enc files. Список вариантов можно получить командой kpsewhich --help.
Установить значение режима печати string; это влияет только на поиск файлов «gf» и «pk».
Значения по умолчанию нет: ищутся файлы для всех режимов.
Сделать всё возможное, чтобы найти файл включая поиск на диске. По умолчанию для
повышения эффективности просматривается только база данных ls-R.
Искать в наборе директорий string (как обычно, разделённых двоеточиями), вместо того,
чтобы вычислять путь поиска по имени файла. «//» и о