В этом документе описаны основные возможности программного продукта TEX Live — дистрибутивом TEXа и других программ для GNU/Линукса и других операционных систем типа Unix, Mac OS X, и (32-битовых) Windows. (Внимание: этот продукт не совместим со старыми Макинтошами или MS-DOS).
TEX Live включает откомпилированные программы TEX, LaTeX2e, Metafont, MetaPost, BibTeX и многие другие; обширную коллекцию макросов, шрифтов и документации; а также поддержку вёрстки на многих языках мира. Он является частью ещё б´ольшей коллекции TEX Collection (кратко описанной ниже в разделе 2, стр. 6), созданной объединёнными усилиями групп пользователей TEXa.
Более новые версии пакетов, включённых в дистрибутив, можно найти в архиве CTAN, http://www.ctan.org.
Краткий список основных изменений в этом издании TEX Live можно найти в разделе 10, стр. 69 конце документа.
TEX Live можно использовать тремя способами:
Всё это подробно описано в разделе руководства по установке, относящегося к вашей операционной системе. Вкратце:
Сообщество пользователей TEXа активно и дружелюбно, и практически на каждый серьёзный вопрос найдётся ответ. Однако эта поддержка неформальна, выполняется добровольцами, и поэтому очень важно, чтобы вы сами попробовали найти ответ перед тем, как задавать вопрос. (Если вы предпочитаете коммерческую поддержку, возможно вам ст´оит вместо TEX Live купить одну из коммерческих версий TEXа, см. список по адресу http://tug.org/interest.html#vendors for a list).
Вот список источников поддержки, приблизительно в том порядке, в котором мы предлагаем к ним обращаться:
С другой стороны, вы сами тоже можете помочь тем, у кого есть вопросы. И comp.text.tex, и texhax, и fido7.ru.tex открыты для всех, поэтому вы тоже можете присоединиться, читать и помогать другим. Добро пожаловать в сообщество пользователей системы TEX!
Этот раздел описывает структуру и содержание TEX Collection и его составной части TEX Live.
Ограничения на объём CD-ROM заставили нас разделить TEX Live на несколько дистрибутивов:
Лицензии на использование CTAN, protext, MacTEX и texmf-extra отличаются от лицензии на TEX Live, поэтому будьте внимательны при распространении или модификации программ, входящих в эти дистрибутивы.
ProTEXt находится и на live DVD, и на отдельном CD (для тех, кто не может пользоваться DVD).
Вы можете определить, какой дистрибутив перед вами, посмотрев на файл 00type.TL в корневой директории. В этом файле находится также дата выпуска TEX Live.
Естественно, каждая группа пользователей TEXа сама выбирает, что ей распространять (члены TUG получат все три диска).
Вот краткое описание корневых директорий в дистрибутиве TEX Live. На live DVD вся иерархия TEX Live помещена в поддиректорию texlive2005, а не в корень диска.
bin | Программы системы TEX, сгруппированные по платформам |
source | Исходный код всех программ, включая дистрибутивы Web2C TEX и Metafont. Они хранятся в сжатом архиве (tar-bzip2). |
support | Разные вспомогательные пакеты и программы. Они не устанавливаются по умолчанию. Сюда относятся разнообразные редакторы и оболочки для TEXа. |
texmf | Дерево для программ, их вспомогательных файлов и документации. Не включает форматов и пакетов TEXа |
texmf-dist | Основное дерево форматов и пакетов. |
texmf-doc | Дерево самостоятельной документации, не относящейся к отдельным пакетам и программам, сгруппированное по языкам. |
texmf-var | Дерево автоматически создаваемых файлов (TEXMFDIST в следующем разделе). |
xemtex | Дерево вспомогательных программы для Windows. Эти программы обычно уже есть на системах типа Unix, или, по крайней мере, их там легко скомпилировать. |
Кроме этих директорий, в корневой директории находятся скрипты установки и файлы README (на разных языках).
Новая директория texmf-doc содержит только документацию, но она не содержит всю документацию. Документация к программам (руководства, man, info) находится в директории texmf/doc, поскольку программы находятся в директории texmf. Аналогично документация для макропакетов и форматов находится в директории texmf-dist/doc. Для поиска документации можно воспользоваться программами texdoc или texdoctk. Можно также воспользоваться ссылками в файле doc.html.
В этом разделе описаны все переменные, задающие положение деревьев texmf и их значения по умолчанию. Команда texconfig conf показывает текущие значения этих переменных, так что вы можете легко проверить, где эти директории находятся в вашей системе.
Более полное обсуждение утилиты texconfig и родственных ей программ находится в разделе 4.1, стр. 28.
В состав TEX Live входит несколько расширений TEXа:
Вот несколько других часто используемых программ в дистрибутиве TEX Live:
Как объясняется в разделе 1.1, стр. 4, TEX Live можно использовать тремя способами:
В следующих разделах подробно описывается каждый из этих способов для систем типа Unix.
Внимание: CD и DVD TEX Collection изготовлены в формате ISO 9660 (High Sierra), включая расширения Rock Ridge (и Joliet для Windows). Поэтому для того, чтобы использовать TEX Collection, ваша система должна поддерживать расширения Rock Ridge. Пожалуйста, посмотрите документацию к команде mount для вашей системы и выясните, как это делается. Если у вас несколько машин в локальной сети, возможно, вам будет проще смонтировать CD на машине, которая поддерживает Rock Ridge, и использовать её с остальных. Современные системы должны быть способны читать CD без проблем. Если у вас возникли трудности, сообщите нам. Дальнейший текст предполагает, что вам удалось смонтировать CD с полной совместимостью с Rock Ridge.
|
Вы можете использовать TEX непосредственно с live DVD, не устанавливая его на ваш компьютер. (Собственно, отсюда название «TEX Live ».) Однако невозможно запустить TEX с других дисков коллекции (см. раздел 2.1, стр. 7). Сначала нам надо смонтировать CD или DVD с расширениями Rock Ridge. Как именно это делается, зависит от вашей системы; команды ниже работают для Линукса, хотя название устройства (/dev/cdrom) может быть другим. (Все наши примеры используют > в качестве системного приглашения; команды, набираемые пользователем, подчёркнуты.):
Теперь нужно перейти в смонтированную директорию:
В Mac OS X нужная директория обычно находится в директории /Volumes, и диск монтируется автоматически. Выполните скрипт установки install-tl.sh:
После разнообразных стартовых сообщений и списка опций главного меню, установочный скрипт попросит вас ввести команду. Сделайте это, напечатав нужную букву и нажав RETURN; не печатайте угловых скобок. Можно печатать заглавную или строчную букву; в примерах ниже приводятся строчные буквы.
Чтобы работать прямо с дистрибутива, первой командой должна быть d, а затем подкоманда 1, чтобы установить директории. Даже в этом случае мы должны выбрать директорию на локальном диске, чтобы класть туда файлы, которые TEX генерирует сам, например, шрифты и форматы, а также изменённые конфигурационные файлы, если в них появится необходимость.
В этом примере мы будем использовать /opt/texlive2005. Полезно использовать номер года в названии директории, поскольку файлы, созданные разными версиями TEX Live, не всегда совместимы. (Если значение по умолчанию /usr/local/texlive/2005 вам подходит, вы можете пропустить этот шаг.)
Мы снова в главном меню. Следующая и последняя команда будет r, чтобы сконфигурировать систему для работы с дистрибутива, не устанавливая файлов на диск:
И, как показано выше, мы опять в системном шелле.
Теперь мы должны изменить две переменные окружения: PATH, в соответствии с вашей архитектурой, (так что вы сможете запускать программы), и TEXMFSYSVAR, в соответствии с указанным выше значением. См. список названий архитектуры для различных систем в таблице 1.
После завершения основной установки и установления переменных окружения, следует запустить texconfig или texconfig-sys, чтобы подогнать вашу систему под ваши нужды. Это объясняется в разделе 4.1 на стр. 28.
|
Синтаксис задания переменных окружения, и файл, куда класть соответствующие команды, зависит от вашего шелла. Если вы используете шелл типа Bourne (sh, bash, ksh, и т.п.), добавьте к вашему $HOME/.profile следующее:
Для шеллов типа C shell (csh, tcsh), добавьте к вашему $HOME/.cshrc следующее:
Теперь выйдите из системы, войдите в неё опять и проверьте установку (см. раздел 4.2, стр. 28).
Если у вас что-то не получается, попробуйте спросить совета у ближайших гуру; например, как монтировать дистрибутив TEX Live, какую директорию или директории использовать, и как именно менять ваши личные файлы инициализации в вашей системе.
Вполне возможно (собственно, как правило, именно это и делается) установить систему TEX Live на диск. Это можно сделать с диска live или inst (См. описание дистрибутивов в разделе 2.1, стр. 7).
Сначала нам надо смонтировать CD или DVD с расширениями Rock Ridge. Как именно это делается, зависит от вашей системы; команды ниже работают для Линукса, хотя название устройства (/dev/cdrom) может быть другим. (Все наши примеры используют > в качестве системного приглашения; команды, набираемые пользователем, подчёркнуты.):
Теперь нужно перейти в смонтированную директорию:
В Mac OS X нужная директория обычно находится в директории /Volumes, и диск монтируется автоматически. Выполните скрипт установки install-tl.sh:
После разнообразных стартовых сообщений и списка опций главного меню, установочный скрипт попросит вас ввести команду. Сделайте это, напечатав нужную букву и нажав RETURN; не печатайте угловых скобок. Можно печатать заглавную или строчную букву; в примерах ниже приводятся строчные буквы.
Список пунктов в главном меню указан в таблице 2. Порядок, в котором вы выбираете пункты, обычно неважен, кроме того, что пункт i должен быть последним. Удобно всё же выбирать их в порядке, указанном ниже.
|
Вот подробное объяснение по каждой опции.
p — Платформа, на которую производится установка. Поскольку установочный скрипт автоматически определяет вашу платформу, изменять это обычно не нужно. Эта опция нужна в том случае, когда автоматическое определение даёт сбой.
b — Архитектура, для которой устанавливаются программы. По умолчанию устанавливаются только программы для вашей текущей платформы. В этом меню вы можете задать установку программ и для других архитектур (или не установить их для текущей архитектуры). Это часто полезно, если вы используете одно и то же дерево TEXа в сети разных машин. Список поддерживаемых архитектур приведен в таблице 1, стр. 17.
s — Основная схема установки. В этом меню вы можете выбрать основную схему установки пакетов. По умолчанию используется полная схема (full), которая устанавливает всё, но вы можете выбрать минимальную схему (basic), чтобы сэкономить место на диске, или промежуточную схему (medium). Есть также специальные схемы для пользователей Omega и XML.
c — Индивидуальные коллекции. Это меню позволяет вам изменить сделанный основной схемой выбор для отдельных коллекций. Коллекции представляют собой следующий после схем уровень иерархии TEX Live. Каждая коллекция — макросы TEXа, семейства шрифтов Metafont и т,д, — состоит из нескольких пакетов. В этом меню заглавные и строчные буквы различаются.
l — Языковые коллекции. Смысл этого меню очень похож на c, оно позволяет сделать выбор, устанавливать ли отдельные компоненты дистрибутива. В данном случае коллекции соответствуют различным языкам. В этом меню заглавные и строчные буквы различаются. Вот список языковых коллекций TEX Live:
Арабский язык | Армянский язык |
Африканские языки (частично) | Британский английский |
Венгерский язык | Вьетнамский язык |
Голландский язык | Греческий язык |
Датский язык | Иврит |
Индийские языки | Испанский язык |
Итальянский язык | Кириллические языки |
Китайский, японский, корейский языки | Латынь |
Маньчжурские языки | Монгольский язык |
Немецкий язык | Норвежский язык |
Польский язык | Португальский язык |
Тибетский язык | Финский язык |
Французский язык | Хорватский язык |
Чешский и словацкий языки | Шведский язык |
Языковые коллекции обычно включают шрифты, макросы, таблицы переноса и т.д. (Например, если вы выбираете коллекцию French, устанавливается frenchle.sty.) Кроме того, установка языковой коллекции приводит к изменению конфигурационного файла language.dat, который управляет загрузкой таблиц переноса.
d — Директории для установки. Здесь можно определить три директории:
Под Mac OS X, распространённые оболочки ищут TEX в /usr/local/teTeX, поэтому вам может показаться удобнее установить TEX Live тут.
o — Другие опции. В этом меню вы можете выбрать следующие опции, которые влияют на процесс установки:
Мы не рекомендуем использовать эту опцию для установки TEX Live поверх версии системы TEX в вашем дистрибутиве. Она предназначена для того, чтобы сделать ссылки в стандартных директориях вроде /usr/local/bin, если в них нет файлов TEXа.
i — Выполнить установку. Когда вы зададите нужные конфигурационные опции, введите i чтобы начать установку в выбранные директории.
Последний шаг — включить зависящую от архитектуры поддиректорию TEXDIR/bin в переменную PATH, так что ваши новые программы будут найдены. Названия архитектур приведены в таблице 1, стр. 17. При необходимости вы можете просто указать директорию TEXDIR/bin.
Синтаксис соответствующих команд и стартовые файлы для этого зависят от вашего шелла. Если вы используете шелл типа Bourne (sh, bash, ksh и т.п.), добавьте к вашему $HOME/.profile следующее:
Для шеллов типа C shell (csh, tcsh), добавьте к вашему $HOME/.cshrc следующее:
После завершения основной установки и установления переменных окружения, следует запустить texconfig или texconfig-sys, чтобы подогнать вашу систему под ваши нужды. Это объясняется в разделе 4.1 на стр. 28.
Ниже приводится краткий комментированный пример полной установки, с программами только для текущей системы и с рекомендованной выше структурой директорий. Таким образом, нужна только одна команда, i для установки системы. Знаком >, как обычно, обозначается системный промпт.
Если у вас что-то не получается, попробуйте спросить совета у ближайших гуру; например, как монтировать дистрибутив TEX Live, какую директорию или директории использовать, и как именно менять ваши личные файлы инициализации в вашей системе.
Вы можете добавить индивидуальные пакеты или коллекции из дистрибутива в систему, отличную от TEX Live или в предыдущую версию TEX Live.
Сначала нам надо смонтировать CD или DVD с расширениями Rock Ridge. Как именно это делается, зависит от вашей системы; команды ниже работают для Линукса, хотя название устройства (/dev/cdrom) может быть другим. (Все наши примеры используют > в качестве системного приглашения; команды, набираемые пользователем, подчёркнуты.):
Теперь нужно перейти в смонтированную директорию:
В Mac OS X нужная директория обычно находится в директории /Volumes, и диск монтируется автоматически.
Запустите установочный скрипт install-pkg.sh (не install-tl.sh — этот скрипт только для полной установки):
Первый набор опций выглядит следующим образом:
То, что произойдёт дальше, зависит от следующих опций. Если вы не выберете ни одной из них, по умолчанию произойдёт установка выбранных файлов. Директория, куда следует устанавливать файлы, будет определена из вашего текущего $TEXMFMAIN командой kpsewhich. Вы можете изменить это значение при помощи переменной TEXMFMAIN или TEXMF.
Дополнительные опции:
Вот несколько примеров использования:
Если у вас что-то не получается, попробуйте спросить совета у ближайших гуру; например, как монтировать дистрибутив TEX Live, какую директорию или директории использовать, и как именно менять ваши личные файлы инициализации в вашей системе.
После того, как основная установка проделана, вы должны сконфигурировать систему под ваши потребности и провести тестирование.
Ещё одно действие после установки TEX Live — установить дополнительные пакеты, шрифты или программы, не включённые в TEX Live. Идея состоит в том, чтобы установить эти дополнения под TEXMFLOCAL (если вы устанавливаете программы на диск) или под TEXMFSYSVAR (если вы работаете непосредственно с дистрибутива). См. «Директории для установки» на стр. 22.
К сожалению, конкретные шаги могут сильно отличаться, поэтому мы не пытаемся описать их тут. Вот несколько рекомендаций из сети:
В любой момент после установки вы можете использовать программу texconfig чтобы переконфигурировать систему. Она устанавливается в директории TEXDIR/bin/arch (зависящей от архитектуры) вместе с остальными программами.
Если вызвать её без аргументов, она перейдёт в полноэкранный режим, который позволяет конфигурировать систему интерактивно.
Эту программу можно вызывать также с разнообразными опциями. Ниже приводятся примеры наиболее часто используемых (система TEX Live по умолчанию настроена на бумагу формата A4):
Разумеется, texconfig может изменить только некоторые из многих опций и конфигурационных параметров системы TEX. Основной конфигурационный файл для программ, основанных на Web2C называется texmf.cnf. Вы можете определить, где он находится, при помощи команды ‘kpsewhich texmf.cnf’; в этом файле много комментариев, объясняющих конфигурационные параметры и их возможные значения.
По состоянию на 2005 год, команда texconfig изменяет только личные файлы данного пользователя в директории $HOME/.texlive2005. Если вы устанавливаете TEX только для себя, этот факт вам будет безразличен. Но если вы устанавливаете TEX для многопользовательской системы, вам может понадобиться изменить конфигурационные файлы для всех пользователей. В этом случае вместо команды texconfig вам нужна команда texconfig-sys.
Аналогично, команды updmap и fmtutil теперь изменяют файлы в $HOME/.texlive2005. Для изменений системных конфигурационных файлов используйте updmap-sys и fmtutil-sys.
В особенности важно для многопользовательской системы создать заранее стандартные форматы при помощи fmtutil-sys --missing. Иначе у каждого пользователя будет своя копия этих форматов.
Кроме того, если у вас есть модифицированные копии файлов fmtutil.cnf или updmap.cfg, их следует поместить в директорию TEXMFSYSCONFIG.
Переменные, в которых хранятся названия этих директорий, указаны в разделеn 2.3, стр. 8. Вы можете посмотреть значения этих переменных при помощи команды texconfig conf и изменить их путём редактирования файла texmf.cnf.
После установки TEX Live вы, скорее всего, захотите проверить работу системы, чтобы перейти к созданию прекрасных документов и/или шрифтов.
В этом разделе описываются основные процедуры по тестированию системы. Мы приводим команды для операционных систем типа Unix; под Mac OS X и Windows вы, скорее всего, будете запускать тесты из GUI, но принцип тот же.
Вы можете компилировать эти файлы точно так же, как мы компилировали выше sample2e.tex, заменив ‘latex’ на ‘tex’ для plain TEX.
Если вы новичок в TEXе, или вам нужна помощь в создании документов на языке TEX или LATEX, посетите http://tug.org/begin.html.
Рекомендуемый способ установить TEX для Mac OS X — использовать дистрибутив MacTEX, который впервые включён в TEX Live в 2005 году. Он находится на DVD live в директории mactex/. В этой директории содержится инсталлятор для полоного дистрибутива TEXа, основанный на комбинации teTEXа и TEX Live, а также много других программ и документации. Страница проекта находится тут: http://tug.org/mactex.
Если вы предпочитаете, можно установить TEX для Mac OS X и непосредственно из TEX Live при помощи скриптов install*, как описано ниже.
Для того, чтобы запустить установочные скрипты под Mac OS X, вам понадобится оболочка bash. Если вы работаете под Mac OS X 10.2 или старше, у вас уже установлена bash. Если же вы работаете под более ранней версией Mac OS X, то вашей оболочкой по умолчанию является zsh, которая не подойдёт для установки Mac OS X. Вам понадобится установить bash из Интернета или, скорее всего, обновить систему.
Если у вас установлена bash, вы можете следовать инструкциям для установки в системе Unix installation в предыдущем разделе. См. раздел 3, стр. 10; в нём упомянуты особенности Mac OS X.
Мы рады сообщить, что в этой версии TEX Live снова есть инсталлятор для Windows, tlpmgui.exe (см. раздел 2.1, стр. 7, где описаны различные варианты дистрибутива).
У программы tlpmgui такие же опции, как у инсталлятора для Юникса, только они выбираются в графической оболочке. Эта программа также позволяет выбрать схемы, индивидуальные коллекции, директории для установки и т.д. Эти основные элементы описаны в разделе 3.2 на стр. 18. Программа также позволяет выполнять многие действия после установки: добавление и удаление пакетов, обновление базы данных файлов, создание форматов.
Для тех, кто любит знать детали, отметим, что программа tlpmgui использует в качестве «мотора» программу для командной строки Windows под названием tlpm.
Дистрибутив для Windows, включенный в TEX Live, основан на новых программах, позаимствованных у проекта XEmTEX, который раньше назывался fpTEX (см. http://www.metz.supelec.fr/~popineau/xemtex-1.html). В нём также есть более старые (но всё ещё работающие программы), такие как просмотрщик файлов dvi Windvi, интерфейс которого похож на интерфейс распространённой программы для Юникса xdvi. Документацию для этой программы можно найти в texmf/doc/html/windvi/windvi.html.
Дистрибутив TEX Live может быть установлен под операционной системой Windows 98, ME, NT, 2K или XP. Более старые версии Windows (3.1x) и MS-DOS не поддерживаются.
Внимание: Пользователи Win9.x должны проверить, что у них есть достаточно места для переменных окружения перед установкой. Программа tlpmgui.exe не добавляет места к переменным окружения. В процессе установке создаются несколько переменных окружения, и возможно, что для них не хватит места. Чтобы добавить его, напишите в файл config.sys строчку SHELL=<path>COMMAND.COM /E:4096 /P
После вставки CD с TEX Live в компьютер, автостарт должен запустить программу tlpmgui. Если он этого не сделал, щёлкните на Start→Run, а затем напечатайте <drive>:\setup-win32\tplmgui.exe (или <drive>:\texlive\setup-win32\tplmgui.exe, если вы устанавливаете с DVD), где <drive> — диск CD или DVD, и нажмите «OK».
Должно появиться окно установки под названием TeX Live installation and maintenance utility. В нём содержатся следующие разделы: Main customization, Install, Select a scheme, Select systems, Directories и Options.
В разделе Directories вслед за иконкой CD/DVD должна быть указана директория (например, F:/ или F:/texlive/), но если её там нет, щёлкните на иконку CD/DVD и выберите CD/DVD с TEX Live или TEX Collection.
Директорию, куда будет устанавливаться программа, можно указать, нажав на иконку TLroot. Эта директория будет храниться в переменной TLroot. Переменные TEXMFTEMP и TEXMFCNF, указанные на соседних иконках TEXMFTEMP и TEXMFCNF будут автоматически изменены, но их можно также изменить вручную, если это почему-либо необходимо.
В секции Select a scheme нужно выбрать нужную схему установки из списка (например, scheme-gust). Каждая схема сопровождается кнопкой Info, при нажатии на которую появляется краткое описание схемы.
Схема — это большой набор файлов, предназначенный для определённого типа пользователя. Есть общие схемы для минимальной, средней и полной установки. Остальные схемы предназначены либо для определённых групп пользователей TEXа (например, для членов GUST или GUTeneberg) или для определённых приложений (например, для совместной работы XML и TEXа). В выбранной схеме можно сделать дополнительные изменения. Это делается в разделе Main customization путём выбора дополнительных коллекций из групп Standard collections или Language collections. Например, нажав на кнопку Select у надписи Standard collections, можно выбрать дополнительные коллекции, например, MetaPost, Omega или документацию на разных языках.
Примечание: Коллекции Ghostscript, Perl и Wintools выбираются по умолчанию и должны быть установлены, за исключением ситуации, когда они уже есть в системе и вы понимаете, что вы делаете. Эти коллекции используются многими другими важными программами. Переменные PERL5LIB и GS_LIB будут также автоматически установлены.
Затем щёлкните на кнопку Select у надписи Language Collections в разделе Main customization. Это откроет меню Language collections, котором можно выбрать языковые коллекции для установки.
Затем щелкните на кнопку Install в разделе Install, и начнётся процесс установки.
Для системы TEX Live нужно проделать ряд операций после установки (генерирование форматов и базы данных для имён файлов, установка переменных и т.д.). Все они делаются на этом шаге, и некоторые могут занять довольно много времени. Поэтому подождите, пожалуйста, пока не появится сообщение об успешном завершении установки.
В меню Start→Programs→TeXLive2005 будет добавлена программа tlpmgui.
При необходимости (Win9x/WinME) вам будет предложено рестартовать компьютер.
Для полноты дистрибутиву TEX Live необходимы дополнительные пакеты, которые обычно не встречаются на машине под Windows. Многие скрипты написаны на языке Perl. Некоторые важные программы требуют интерпретатор языка PostScript Ghostscript для отображения или преобразования файлов. Набор программ для работы с графическими файлами также полезен в ряде случаев. Наконец, приспособленный для работы с TEXом редактор значительно облегчает набор и компилирование.
Все эти пакеты для Windows найти довольно легко, но для того, чтобы несколько облегчить вашу жизнь, мы включили в TEX Live следующий набор:
Эти пакеты взяты из дистрибутива XEmTEX (потомок дистрибутива fpTEX).
Если вы не хотите устанавливать эту коллекцию, то вы можете самостоятельно установить требуемые пакеты. Вот список мест, откуда эти пакеты можно взять:
Вы можете установить и другие программы, которые не являются свободными1 и потому не включённые в дистрибутив TEX Live, например, GSView, графическая оболочка к программе Ghostscript, удобная для файлов в форматах PS/PDF. GSView можно найти на http://www.cs.wisc.edu/~ghost/gsview/ или любом зеркале архива CTAN.
Если вы установили дистрибутив TEX Live, вы можете использовать tlpmgui для изменения и поддержки установленной системы.
Поскольку программа tlpmgui находится в меню Start→Programs→TeXLive2005, запустите её оттуда. Появится окно TeX Live installation and maintenance utility. В нём есть несколько страниц: Add Packages, Remove packages, Manage installation, Remove installation.
Щёлкните по страничке Add packages или Remove packages, а затем:
При добавлении пакетов список установленных пакетов сравнивается со списком на CD/DVD. Только неустановленные пакеты показываются в меню. Вы можете сами выбрать, что именно устанавливать.
При удалении отдельных пакетов показывается только список установленных пакетов.
Заметьте, что в меню Add packages и Remove packages сначала указывается список коллекций.
На странице Manage the installation содержатся кнопки для добавления поддержки языка, который не был выбран при установке, добавления/регенерация формата, который не был выбран при установке или был модифицирован после установки.
Можно произвести следующие действия:
Примечание: Вы можете закрыть окно Edit. . . кнопкой Cancel или кнопкой Done. В последнем случае система начнёт создавать заново файлы форматов (или карты шрифтов, если вы редактировали updmap.cfg), после чего будет обоновлена база данных ls-R.
Более подробно конфигурация системы описана в разделе 7.8, стр. 38.
Страница Remove the TeX Live installation открывает окно с кнопками, которые не ст´оит описывать. Мы не знаем никого, кому бы они могли понадобиться. . . :-)
В любом случае, если у вас есть директория texmf-local для ваших собственных добавлений, процесс удаления не сотрёт ни её, ни файлов в этой директории. Директория setup-win32, содержащая tlpmgui и другие файлы, также не будет удалена. Вам придётся удалять эти директории вручную.
Во-первых, что бы вы ни делали, не забудьте перегенерировать базу данных имён файлов ls-R. Иначе новые файлы не будут найдены системой. Вы можете это делать либо через графическую оболочку tlpmgui, выбрав соответствующее действие на странице Manage the installation, либо вручную при помощи команды mktexlsr.
Если вы хотите добавить файлы, которых нет в дистрибутиве TEX Live, лучше всего их добавлять в директорию $TEXMFLOCAL. Тогда они сохранятся при обновлении TEX Live.
Директория $TEXMFLOCAL первоначально пуста. Если, например, вы хотите добавить файлы поддержки для программы символических вычислений Maple, вы можете положить стилевые файлы в c:\TeXLive2005\texmf-local\tex\latex\maple\, а документацию в c:\TeXLive2005\texmf-local\doc\latex\maple\.
У программы tlmp.exe, которую использует графическая оболочка tlmpgui, есть ряд полезных ключей. Вы можете получить список ключей, запустив
Дополнительную информацию можно найти в файле tlmp.readme.
Kpathsea знает про сетевые диски, поэтому вы можете использовать их для того, чтобы раздавать дерево TEXMF по сети. Но можно поступить ещё проще. Все TEXовские и конфигурационные файлы, всё, кроме файлов в директории bin/win32 можно использовать в одновременно в версиях teTEX или TEX Live под Юниксом. Это означает, что вы можете использовать Самбу, чтобы смонтировать диски либо с сервера NT на рабочую станцию под Юниксом, либо наоборот. Возможно несколько стратегий:
Версия Web2C для Windows отличается некоторыми специфическими чертами, которые ст´оит указать.
Команда kpsecheck сообщает также статус общей памяти: используется или не используется. Это может быть полезно знать, потому что если статус памяти ‘in use’, значит, запущен один или несколько процессов, и эффект команды mktexlsr может быть отложен до тех пор, пока все процессы, использующие библиотеку Kpathsea, не завершатся.
Наконец, эта же команда сообщает о том, где по её мнению находится Ghostscript. Под Win32 для многих программ проще искать Ghostscript dll по значению регистра, чем использовать PATH, длина которого ограничена.
Конфигурационный файл для dvips находится в
C:\TeXLive2005\texmf-var\dvips\config\config.ps
Вы можете открыть его в любом редакторе и изменить некоторые параметры:
Текущая версия TEX Live всегда создаёт обновлённые версии файлов fontmaps для Dvips and Pdftex. Это делается программой updmap во время установки, а также при добавлении пакетов. Если вы добавляете пакеты вручную, отредактируйте файл updmap.cfg в $TEXMFVAR/web2c.
Если вы используете программу pdflatex, чтобы писать непосредственно в формате PDF, и вы
используете бумагу US letter, отредактируйте файл
C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex,
изменив в нём ‘\pdfpagewidth’ и ‘\pdfpageheight’. Там должно быть:
GSView теперь распространяется под лицензией Aladdin, и поэтому не включена в TEX Live.
Вы можете захотеть изменить размер страницы на US letter. Если это так, запустите GSView из меню Start, и выберите Media→Letter.
Кроме того, вы можете изменить настройки так, чтобы получить самое качественное изображение на экране. В меню Media→Display Settings, выставьте Text Alpha и Graphics Alpha на 4 бита.
Заметьте, что после установки все файлы .ps и .eps будут автоматически открываться программой GSView.
По поводу печати, см. раздел 7.10 ниже.
Программа tlmpgui.exe не ассоциирует файлы с расширением .dvi с программой Windvi и не создаёт иконы на декстопе, так что вы это должны сделать сами.
Откройте windvi, щёлкнув на иконку или из командной строки.
Вы можете задать размер бумаги US letter из меню View→Options→Papertype и выбрав US (8.5" x 11") (а затем OK).
Вы можете изменить и другие параметры, как например, возможность запускать системные команды из документа (запрещённую по умолчанию из соображений безопасности). Кроме того, при первом запуске вы можете решить, что масштаб чересчур велик. Измените его и найдите подходящее для вас значение.
Все настройки программы Windvi хранятся в файле windvi.cnf. Вы можете найти его командой
Если у вас возникнут проблемы с Windvi, удалите конфигурационный файл и проверьте, работает ли всё в стандартной конфигурации.
Общие инструкции по тестированию находятся в разделе 4.2 (стр. 28). В этом разделе описаны тесты, специфические для Windows.
Откройте файл sample2e.tex в вашем редакторе (Xemacs, WinShell). Этот файл можно найти в директории, например, C:\TeXLive2005\texmf-dist\tex\latex\base. На экране должен появиться исходный код в формате LATEX. Скомпилируйте его, щёлкнув по меню Command→LaTeX (XEmacs) или иконке «LATEX» (WinShell), затем посмотрите на результат, щёлкнув по меню Command→View DVI (XEmacs) или иконке «Preview (Windvi)» (WinShell).
При первом просмотре файлов Windvi, программа создаст экранные шрифты, которые не установлены в системе. Через некоторое время б´ольшая часть шрифтов будет создана, и вы будете видеть окошко создания шрифтов очень редко.
Совет на будущее: Если LATEX останавливается, потому что не может найти нужного файла, вы можете нажать Ctrl-z, чтобы выйти из программы.
Вы можете печатать из Windvi. В этом случае печать будет производиться через универсальный драйвер Windows. Он по определению совместим со всеми принтерами. Но у него есть недостаток: он может генерировать огромные промежуточные файлы, и некоторые (старые) версии Windows их не любят. Его преимущество в том, что вы можете вставлять графику в формате BMP или WMF. Вам также надо правильно выставить параметры печати (раздел 7.8.4), иначе вы можете получить уменьшенную или увеличенную страницу (печать с разрешением 600 dpi на принтере с разрешением 300 dpi даст вам только четверть страницы).
Печать будет быстрее и надёжнее, если вы запустите dvips, чтобы создать файл .ps, а затем напечатаете его из GSView. В GSview выберите File→Print. . . . Появится окно Print.
Если у вас PostScript-принтер, обязательно выберите PostScript Printer. Это делается в меню Print Method внизу слева в окне Print. Вы затем можете выбрать любой из установленных принтеров. Если вы не выберите PostScript Printer, печать не будет работать.
Если вы используете не PostScript-принтер, выберите Ghostscript device в меню Print Method, затем щёлкните на кнопку справа djet500 и выберите ваше принтер из появившегося списка. (В старых версиях GSView проверьте, что PostScript Printer не выбран, и выберите принтер из списка Device.)
То, что мы называем Win32, не является операционной системой само по себе. Это большой набор функций (около 12 000 в заголовках SDK от Микрософта), которые используются для написания программ для разных операционных систем семейства Windows.
Есть разные типы Windows:
Win9x могут одновременно запускать 32 и 16-битовые программы. Но операционная система сама написана не полностью в 32-битовом режиме, и не поддерживает защищённый режим: 16-битовые программы могут переписать память операционной системы! Некоторые части системы, например, GDI (Graphical Device Interface, интерфейс к графическим устройствам) управляют ограниченными ресурсами, вроде битмапов, шрифтов и т.д. для всех программ, которые могут работать одновременно. Все заголовки битмапов, доступные одновременно, не могут занимать больше, чем 64 Kb. Это объясняет, тот печальный факт, что вы можете поставить систему на колени, например, используя много графических объектов.
NT, 2K и XP свободны от этих и других ограничений Win9x. Это настоящие многозадачные системы с защищённой памятью. Они гораздо лучше отзываются на действия пользователя, чем Win9x, из-за лучшего управления памятью, лучшей файловой системы и т.д.
Вы можете спросить: «Зачем мне нужна командная строка, если я работаю под Windows?»
Хороший вопрос. Проблема на самом деле очень общая. Не все операции удобно делать из GUI. Командная строка даёт вам возможности программирования — если за ней стоит хороший интерпретатор.
Но проблема ещё более фундаментальна: TEX является пакетной программой. Не интерактивной. TEXу надо вычислить оптимальную вёрстку для всей страницы, перекрёстные ссылки и т.д. Это можно сделать только глобальной компиляцией всего документа. Эту задачу (пока) невозможно решить интерактивно.
Это означает, что TEX надо использовать из командной строки. На самом деле ситуация вовсе не так ужасна. У программ, занимающихся сложной обработкой потока из командной строки, есть преимущество: их проще отлаживать, потому что они не зависят от проблем GUI, и можно написать отдельные GUI, которые взаимодействуют с такими программами. Это и происходит с TEXом, где вы можете общаться с программой через GUI редактора.
Однако вам в ряде ситуаций может понадобиться командная строка. Например, у вас могут возникнуть трудности, и вам потребуется отладка.
Детали выхода в командную строку могут измениться в других версиях Windows.
API Win32 понимает и /, и \ в качестве разделителей в названиях директорий. Но интерпретаторы команд не понимают первого из них! Поэтому, когда путь к файлу используется в программе, вы можете использовать оба разделителя, даже в одном и том же пути. Но в командной строке вы можете использовать в качестве разделителя только \. Причина заключается в совместимости: интерпретатор команд использует ‘/’ для аргументов команд.
После этого длинного предисловия мы можем сказать: не удивляйтесь, если вы встретите директории, записанные в формате Юникса: fpTEX является портом Web2C, и пытается достичь совместимости на разных платформах. По этой причине все конфигурационные файлы, где указывается путь по директориям, делают это в формате Юникса.
Пожалуй, худшей чертой Win9x с точки зренияTEXа является так называемая файловая система FAT. TEX использует очень много маленьких файлов, с размерами 1–3 Kb. Файловая система FAT очень древняя, она на много десятилетий старше многогигабайтовых дисков, которые распространены сегодня. Неудивительно, что она не может эффективно управлять десятками тысяч TEXовских файлов, входящих в состав TEX Live. Файловая система FAT выделяет как минимум 32 Kb любому файлу на большом разделе. Это означает, что система TEX занимает намного больше места, чем ей на самом деле нужно.
Другие, более современные файловые системы, FAT32 и NTFS, лишены этого недостатка. Они используют кластеры размером в 4 Kb. (На NTFS размер кластера можно уменьшить до 512 байт.)
Есть пары переменных и их значений, которые ведут себя как глобальные переменные для всех программ. Набор таких переменных называется окружением. Каждая программа получает копию текущего окружения. Она может опросить или изменить значение любой переменной. Изменение происходит с локальной копией окружения, и не переходит в другие программы.
Переменная PATH — особая переменная, используемая для поиска запускаемых вами программ. Она задаётся по-разному в Win9x, WinME and NT/2K/XP:
Если там уже есть переменная PATH, щёлкните на PATH. В поле Variable появится PATH, а в поле Value текущее значение переменной: список директорий, разделённых ;. Добавьте директорию, где расположены нужные программы, например, c:\TeXLive2005\bin\win32. Если у вас не задана переменная PATH, щёлкните на поле Variable и впечатайте PATH, щёлкните на поле Value и впечатайте директорию. Внимание: Щёлкните на Apply перед тем, как нажать Ok, иначе значение PATH не изменится. Будьте очень аккуратны, изменяя переменные окружения.
Лучший способ убедиться, что переменная установлена правильно: откройте консоль и напечатайте
система должна напечатать её значение.
Если вы взглянете в документацию Web2C, вы увидите, что все различные программы на основе TEXа используют один и тот же компилятор, Например, tex.exe и latex.exe являются копиями одной и той же программы, но используют различные форматы в зависимости от того, под каким именем они вызваны.
Под Юниксом это сделано путём использования символических ссылок. Это экономит массу места на диске, потому что один и тот же компилятор используется многими программами.
API Win32 не знает про ссылки. Поэтому чтобы сэкономить место, все основные программы TEXа упакованы в DLL (Dynamic Linked Library, динамически подгружаемая библиотека). Это означает, что у вас могут быть такие файлы:
Мы включили в дистрибутив программу irun.exe для создания аналога юниксовских жёстких ссылок для программ под Win32.
Вы также можете установить уровень отладки:
Если вы хотите перенаправить stderr на stdout, что в общем случае невозможно под Windows, сделайте так:
Теперь вы можете направить stderr и stdout в один и тот же файл.
kpsewhich -expand-path $SELFAUTOPARENT | c:/TeX |
kpsewhich -expand-path $TEXMF | c:/TeX/texmf.... |
kpsewhich -expand-path $TEXMFCNF | .;c:/TeX/texmf-var/web2c; |
kpsewhich -expand-var $TEXINPUTS | .;c:/TeX/texmf/tex// |
kpsewhich cmr10.tfm | c:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm |
kpsewhich latex.fmt | c:/TeX/texmf/web2c/latex.fmt |
Вот несколько вещей, которые вы можете проверить:
Дистрибутив TEX Live состоит из сотен программ и десятков тысяч файлов из разных источников. Поэтому очень трудно предсказать все возможные источники ошибок. Тем не менее мы попытаемся вам помочь (см, раздел 1.2 стр. 5).
Web2C — это интегрированная коллекция программ, относящихся к TEXу: сам TEX, Metafont, MetaPost, BibTeX, и т.д. Это сердце TEX Live.
Немного истории. Первоначальная версия была написана Томасом Рокики, который в 1987 году создал первую систему TEX-to-C, адаптировав файлы изменений для Юникса, разработанные в основном Говардом Трики и Павлом Куртисом. Тим Морган стал поддерживать систему, и в этот период её имя сменилось на Web-to-C. В 1990 году Карл Берри взялся за работу, координируя работу десятков программистов, а в 1997 он передал руководство Олафу Веберу.
Система Web2C работает на Юниксе, 32-битовых Windows, Mac OS X, и других операционных системах. Она использует оригинальные исходники Кнута для TEXа и других программ, написанных на языке web и переведённых на C. Основные программы системы:
Полностью эти программы описаны в документации к соответствующим пакетам и самой Web2C. Однако знание некоторых общих принципов для всей семьи программ поможет вам полнее использовать программы системы Web2C.
Все программы поддерживают стандартные опции GNU:
Для поиска файлов программы Web2C используют библиотеку Kpathsea. Эта библиотека использует комбинацию переменных окружения и конфигурационных файлов, чтобы найти нужные файлы в огромной системе TEX. Web2C может просматривать одновременно больше одного дерева директорий, что полезно для работы со стандартным дистрибутивом TEXа и его локальными расширениями. Для ускорения поисков файлов каждое дерево содержит файл ls-R, в котором указаны названия и относительные пути всех файлов в этом дереве.
Рассмотрим сначала общий алгоритм библиотеки Kpathsea.
Будем называть путём поиска набор разделённых двоеточием или точкой с запятой элементов пути, представляющих из себя в основном названия директорий. Путь поиска может иметь много источников. Чтобы найти файл ‘my-file’ в директории ‘.:/dir’, Kpathsea проверяет каждый элемент пути по очереди: сначала ./my-file, затем /dir/my-file, возвращая первый файл (или, возможно, все файлы).
Чтобы работать с разными операционными системами, Kpathsea под системой, отличной от Юникса может использовать разделители, отличные от ‘:’ и ‘/’.
Чтобы проверить определённый элемент пути p, Kpathsea вначале проверяет, подходит ли к нему база данных (см. «База данных файлов» на стр. 59), т.е., есть ли база в директории, которая является префиксом для p. Если это так, спецификация пути сравнивается с содержимым базы данных.
Если база данных не существует, или не относится к этому элементу пути, или не содержит нужного элемента, проверяется файловая система (если это не запрещено спецификацией, начинающейся с ‘!!’, и если файл должен существовать). Kpathsea конструирует список директорий, которые соответствуют элементу, и в каждой директории ищет нужный файл,
Условие «файл должен существовать» важно для файлов ‘.vf’ и файлов, которые открывает TEX по команде \openin. Такие файлы могут и не существовать (например, файл cmr10.vf), и было бы неправильно искать их на диске. Поэтому, если вы не обновите ls-R при установке нового файла ‘.vf’, он никогда не будет найден. Каждый элемент пути ищется по очереди: сначала база данных, затем диск. Если нужный файл найден, поиск останавливается, и возвращается результат.
Хотя самый простой и часто встречающийся элемент пути — это название директории, Kpathsea поддерживает дополнительные возможности: разнообразные значения по умолчанию, имена переменных окружения, значения из конфигурационных файлов, домашние директории пользователей, рекурсивный поиск поддиректорий. Поэтому мы говорим, что Kpathsea вычисляет элемент пути, т.е., что библиотека преобразует спецификации в имя или имена директории. Это описано в следующих разделах в том же порядке, в котором происходит поиск.
Заметьте, что имя файла при поиске может быть абсолютным или относительным, т.е. начинаться с ‘/’, или ‘./’, или ‘../’, Kpathsea просто проверяет, существует ли файл.
Путь поиска может иметь разные источники. Kpathsea использует их в следующем порядке:
Вы можете увидеть каждое из этих значений для данного пути поиска, задав соответствующий уровень отладки (см. «Отладка» на стр. 63).
Kpathsea читает конфигурационные файлы texmf.cnf для задания своих параметров. Путь поиска для этих файлов называется TEXMFCNF (по умолчанию, такой файл находится в поддиректории texmf/web2c). Все найденные файлы texmf.cnf будут прочитаны, и определения в более ранних файлах имеют преимущество перед определениями в более поздних. Таким образом, если путь поиска задан как .:$TEXMF, значения в ./texmf.cnf имеют преимущество перед значениями в $TEXMF/texmf.cnf.
Фрагмент конфигурационного файла, иллюстрирующий эти правила приведён ниже:
Kpathsea разпознаёт определённые специальные символы и конструкции в путях поиска, аналогичные конструкциям в стандартных оболочках Юникса. Например, сложный путь ~$USER/{foo,bar}//baz, означает все поддиректории директорий foo и bar в домашней директории пользователя $USER, которые содержат файл или поддиректорию baz. Это объяснено в следующем разделе.
Если путь поиска с наибольшим приоритетом (см. «Источники путей» на стр. 53) содержит дополнительное двоеточие (в начале, в конце, двойное), 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.
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’. . . ).