7 Действия после установки и поддержка Windows

7.1 Чем Windows отличаются от других систем?

Версия Web2C для Windows отличается некоторыми специфическими чертами, которые стДоит указать.

Kpathsea
Хеши, которые строит Kpathsea для TeX Live, довольно велики. Чтобы уменьшить время старта для всех программ, эти хеши кладутся в общую память. Поэтому, когда вы запускаете несколько таких программ, вызывающих друг друга (tex вызывает mpost, который вызывает tex), накладные расходы на запуск каждой из программ меньше. Это изменение невидимо для пользователя, за исключением случая, когда вы выставляете флаг отладки kpathsea на -1: вы тогда начинаете трассировать доступ к общей памяти, обычно не совсем то, что вам надо. Мы ещё не выяснили, что именно полезно в логе доступа к общей памяти, так что ситуация может измениться в будущем.
kpsecheck
Эта программа предоставляет некоторые опции, которые не подошли команде kpsewhich. Она позволит вам перечислить все файлы, которые встречаются несколько раз в деревьях texmf. Это может быть удобно, но как правило, вы будете получать ненужную информацию, (вроде десятков файлов README)2. Поэтому вы можете объединять опцию -multiple-occurences с двумя другими опциями для включения или исключения файлов, чьи имена соответствуют определённому шаблону (вы можете запросить несколько шаблонов).

Команда kpsecheck сообщает также статус общей памяти: используется или не используется. Это может быть полезно знать, потому что если статус памяти «in use», значит, запущен один или несколько процессов, и эффект команды mktexlsr может быть отложен до тех пор, пока все процессы, использующие библиотеку Kpathsea, не завершатся.

Наконец, эта же команда сообщает о том, где по её мнению находится Ghostscript. Под Win32 для многих программ проще искать Ghostscript dll по значению регистра, чем использовать PATH, длина которого ограничена.

Web2C
У компиляторов несколько опций, которых нет под Unixовской версией Web2C, и у одной опции другое поведение:

7.2 Добавление пакетов к системе

Вы можете найти в меню TeXLive (или в меню Start-->Programs-->TeXLive-->Add TeX package) опцию запуска TeXSetup.exe в режиме поддержки системы. Действия в этом случае почти такие же, как и при установке системы.

Мы обсудим изменения ниже, но сначала напомним, что, какие бы изменения вы ни сделали, не забудьте перегенерировать базу данных ls-R. В противном случае система не найдёт новых файлов. Вы сможете это сделать либо через GUI (Start-->Programs-->TeXLive-->Maintenance-->Rebuild ls-R), либо вручную, запустив программу mktexlsr.

Главное отличие в меню выбора пакетов. В режиме поддержки системы список установленных пакетов сравнивается со списком пакетов, доступных на источниках. Неустановленные пакеты выделены зелёным, устарелые пакеты — красным, а установленные пакеты — чёрным.

Таким образом, вы можете добавить или обновить компоненты с TeX Live или Интернета, где вы часто можете найти более новые версии ваших пакетов.

Вы сами выбираете, какие пакеты установить. В остальном процесс аналогичен установке с нуля.

Если вы хотите добавить файлы, которых нет на TeX Live (или в дистрибутиве fpTeX), мы рекомендуем вам устанавливать их в директорию $TEXMFLOCAL. Тогда они сохранятся при обновлении дистрибутива TeX Live.

Директория $TEXMFLOCAL вначале пуста. Например, если вы хотите добавить поддержку для программы символьных вычислений Maple, вы должны класть стили в
c:\Program Files\TeXLive\texmf-local\tex\latex\maple\
а документацию в
c:\Program Files\TeXLive\texmf-local\doc\latex\maple\

7.3 Удаление TeX Live

Удаление возможно или при помощи программы TeXLive.exe из меню TeXLive, или из панели управления (Start-->Control Panel, Add/Remove Programs). Эта процедура удалит с вашего диска бДольшую часть файлов TeX Live. Однако, TeX — это система, которая создаёт файлы, и трудно учесть их все. Кроме того, у пакетов для поддержки Win32 собственная процедура удаления, которую вы должны запустить самостоятельно (если вы хотите их удалить). Наконец, файлы в $TEXMFLOCAL не будут удалены. Таким образом, даже если значительное большинство файлов будет удалено, вам нужно будет вручную удалить некоторые файлы.

7.4 Запуск TeXSetup.exe из командной строки

У программы TeXSetup.exe есть ряд других полезных опций. Их список можно получить при помощи команды:


  c:\>TeXSetup --help

Вот описание:

--automatic-reboot
рестартовать после установки, не спрашивая у пользователя подтверждения;
--dry-run
ничего не делать, но записать в лог всё, что было бы сделано без этой опции;
--quick
использовать рекомендованную схему и директории, ничего не спрашивать до рестарта;
--with-xemtex
добавить коллекцию XEmTeX;
--net-method (=ie5/direct)
скачивать компоненты с недостаточно свободными лицензиями с Интернета (либо при помощи DLL от Internet Explorer 5, либо напрямую): вам необходимо подключение к Интернету; помните, что некоторые пакеты довольно велики;
--remote-source-directory <url>
это корневой url для удалённых пакетов;
--local-source-directory <dir>
по умолчанию TeXSetup.exe определяет корневую директорию для источника дистрибутива. Но если вы обновите TeXSetup.exe, вы не сможете скопировать новую версию на CD, поэтому вам понадобится эта опция;
--installation-directory <dir>
это корень директории, куда будет производиться установка, все файлы будут копироваться в эту директорию. По умолчанию это c:\Program Files\TeXLive;
--texmfmain-directory <dir>
--texmflocal-directory <dir>
--texmfextra-directory <dir>
--texmfhome-directory <dir>
--vartexmf-directory <dir>
--vartexfonts-directory <dir>
это директории для определённых файлов. Они соответствуют переменным в texmf.cnf.
--with-source-files(=yes/no)
копировать ли исходные файлы для TeXовский пакетов. По умолчанию нет;
--with-documentation-files(=yes/no)
копировать ли документацию для TeXовских пакетов. По умолчанию да. Обратите внимание, что эта опция затрагивает только документацию пакетов; общая документация устанавливается всегда;
--program-folder <folder>
имя папки с меню;
--add-package <pkg>
используется, чтобы добавить или изменить определённый пакет после первой установки;
--scheme <pkg>
использовать указанную схему вместо texlive-recommended по умолчанию;
--maintenance
практически то же, что --add-package но без указания пакета;
--uninstall
эта опция позволяет удалить систему, установленную с CD, что означает, что могут остаться ваши стили, форматы и вспомогательные программы. В данное версии эта опция несколько недоработана.
--help
эта опция открывает диалог со списком опций.

7.5 Установка по сети

Kpathsea знает про сетевые диски, поэтому вы можете использовать их для того, чтобы раздавать дерево TEXMF по сети. Но можно поступить ещё проще. Все TeXовские и конфигурационные файлы, всё, кроме файлов в директории bin/win32 можно использовать в одновременно в версиях teTeX или TeX Live под Юниксом. Это означает, что вы можете использовать Самбу, чтобы смонтировать диски либо с сервера NT на рабочую станцию под Юниксом, либо наоборот. Возможно несколько стратегий:

7.6 Индивидуальные настройки

7.6.1 Dvips

Конфигурационный файл для dvips находится в
C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps
Вы можете открыть его в любом редакторе и изменить некоторые параметры:

шрифты
вы можете изменить текущую моду metafont или разрешение принтера, если dvips понадобится генерировать шрифты в формате PK. По умолчанию она использует шрифты в формате Type 1, так что она не должна вызывать mktexpk чересчур часто;
принтер
вы можете сказать dvips, где вы хотите печатать по умолчанию. Если за опцией o не следует название принтера, то на диск записывается файл в формате PostScript. Вы можете указать dvips название принтера, например:

  o lpt1:
  % o | lpr -S server -P myprinter
  % o \\server\myprinter

бумага
Вы можете изменить размер бумаги с европейского (A4) на US letter, сделав US letter первым размером бумаги в файле. Найдите в файле строки, начинающиеся с @. Поменяйте строки так, чтобы этот раздел начинался со строк:
@ letterSize 8.5in 11in
@ letter 8.5in 11in
@+ %%BeginPaperSize: Letter
@+ letter
@+ %%EndPaperSize

Текущая версия TeX Live всегда создаёт обновлённые версии файлов fontmaps для Dvips and Pdftex. Это делается программой updmap во время установки, а также при добавлении пакетов. Если вы добавляете пакеты вручную, отредактируйте файл updmap.cfg в $VARTEXMF/web2c.

7.6.2 Pdftex

Если вы используете программу pdflatex, чтобы писать непосредственно в формате PDF, и вы используете бумагу US letter, отредактируйте файл C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg и поменяйте change «page_width» and «page_height». Там должно быть:


page_width 8.5 true in
page_height 11 true in
Сохраните файл и выйдите из редактора.

7.6.3 GSView

GSView теперь распространяется под лицензией Aladdin, и поэтому не включена в TeX Live.

Вы можете захотеть изменить размер страницы на US letter. Если это так, запустите GSView из меню Start, и выберите Media-->Letter.

Кроме того, вы можете изменить настройки так, чтобы получить самое качественное изображение на экране. В меню Media-->Display Settings, выставьте Text Alpha и Graphics Alpha на 4 бита.

Заметьте, что после установки все файлы .ps и .eps будут автоматически открываться программой GSView.

По поводу печати, см. раздел 7.8 ниже.

7.6.4 WinDvi

Программа TeXSetup.exe ассоциирует файлы с расширением .dvi с Windvi.

Вы можете запустить её как Start-->Programs-->TeXLive-->DVI Viewer.

Вы можете задать размер бумаги US letter из меню View-->Options-->Papertype и выбрав US (8.5" x 11") (а затем OK).

Вы можете изменить и другие параметры, как например, возможность запускать системные команды из документа (запрещённую по умолчанию из соображений безопасности). Кроме того, при первом запуске вы можете решить, что увеличение чересчур велико. Измените его, пока не выйдете на нужное значение.

Все настройки программы Windvi хранятся в файле windvi.cnf. Вы можете найти его командой the prompt:


  c:\>kpsewhich --expand-var $HOME/windvi.cnf

Если у вас возникнут проблемы с Windvi, удалите конфигурационный файл и проверьте, работает ли всё в стандартной конфигурации.

7.7 Тестирование

Общие инструкции по тестированию находятся в разделе 4.2 на стр. 32. В этом разделе описаны тесты, специфические для Windows.

Откройте файл sample2e.tex в вашем редакторе (Xemacs, WinShell). Этот файл можно найти в директории, например, C:\Local\TeX\texmf\tex\latex\base. На экране должен появиться исходный код в формате LaTeX. Скомпилируйте его, щёлкнув по меню Command-->LaTeX (XEmacs) или иконке «LaTeX» (WinShell), затем посмотрите на результат, щёлкнув по меню Command-->View DVI (XEmacs) или иконке «Preview» (Windvi) (WinShell).

При первом просмотре файлов Windvi, программа создаст экранные шрифты, которые не установлены в системе. Через некоторое время бДольшая часть шрифтов будет создана, и вы будете видеть окошко создания шрифтов очень редко.

Совет на будущее: Если LaTeX останавливается, потому что не может найти нужного файла, вы можете нажать Ctrl-z, чтобы выйти из программы.

7.8 Печать

Вы можете печатать из Windvi. В этом случае печать будет производиться через универсальный драйвер Windows. Он по определению совместим со всеми принтерами. Но у него есть недостаток: он может генерировать огромные промежуточные файлы, и некоторые (старые) версии Windows их не любят. Его преимущество в том, что вы можете вставлять графику в формате BMP или WMF. Вам также надо правильно выставить параметры печати (раздел 7.6.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.)

7.9 Советы пользователям Win32

7.9.1 Разные типы Win32

То, что мы называем Win32, не является операционной системой само по себе. Это большой набор функций (около 12 000 в заголовках SDK от Микрософта), которые вы можете использовать для программ для разных операционных систем семейства Windows.

Есть разные типы Windows:

Win9x могут одновременно запускать 32 и 16-битовые программы. Но операционная система сама написана не полностью в 32-битовом режиме, и не поддерживает защищённый режим: 16-битовые программы могут переписать память операционной системы! Некоторые части системы, например, GDI (Graphical Device Interface, интерфейс к графическим устройствам) управляют ограниченными ресурсами, вроде битмапов, шрифтов и т.д. для всех программ, которые могут работать одновременно. Все заголовки битмапов, доступные одновременно, не могут занимать больше, чем 64 Kb. Это объясняет, тот печальный факт, что вы можете поставить систему на колени, например, используя много графических объектов.

NT, 2K и XP не имеют этих ограничений, а также других ограничений Win9x. Это настоящие многозадачные окружения с защищённой памятью. Они гораздо лучше отзываются на действия пользователя, чем Win9x, из-за лучшего управления памятью, лучшей файловой системы и т.д.

7.9.2 Командная строка

Вы можете спросить: «Зачем мне нужна командная строка, если я работаю под Windows?»

Хороший вопрос. Проблема на самом деле очень общая. Не все операции удобно делать из GUI. Командная строка даёт вам возможности программирования — если за ней стоит хороший интерпретатор.

Но проблема ещё более фундаментальна: TeX является пакетной программой. Не интерактивной. TeXу надо вычислить оптимальную вёрстку для всей страницы, перекрёстные ссылки и т.д. Это можно сделать только глобальной компиляцией всего документа. Эту задачу (пока) невозможно решить интерактивно.

Это означает, что TeX надо использовать из командной строки. На самом деле ситуация вовсе не так ужасна. В программах, занимающихся сложной обработкой потока из командной строки, есть преимущество: их проще отлаживать, потому что они не зависят от проблем GUI, и можно написать программы с GUI, которые взаимодействуют с такими программами. Это и происходит с TeXом, где вы можете общаться с программой через редактор с GUI.

Однако вам в ряде ситуаций может понадобиться командная строка. Например, у вас могут возникнуть трудности, и вам потребуется отладка.

Win9x
Вы можете получить командную строку, либо щёлкнув по иконке MS-DOS в меню Start-->Programs, либо выбрав из меню Start-->Run и напечатав там command.com.
NT, 2K, XP
Вы можете получить командную строку, найдя Command Prompt в меню Start-->Accessories. Вы также можете выбрать меню Start-->Run и напечатать там cmd.exe, название нового интерпретатора командной строки в NT (именно поэтому неправильно называть его окном DOS!).

Эти советы могут измениться в других версиях Windows.

7.9.3 Разделители путей

API Win32 понимает и /, и \ в качестве разделителей в названиях директорий. Но интерпретаторы команд не понимают первого из них! Поэтому, когда путь к файлу используется в программе, вы можете использовать оба разделителя, даже в одном и том же пути. Но в командной строке вы можете использовать в качестве разделителя только \. Причина заключается в совместимости: интерпретатор команд использовал «/» для аргументов команд.

После этого длинного предисловия мы можем сказать: не удивляйтесь, если вы встретите директории, записанные в формате Юникса: fpTeX является портом Web2C, и пытается достичь совместимости на разных платформах. По этой причине все конфигурационные файлы, где указывается путь по директориям, делают это в формате Юникса.

7.9.4 Файловые системы

Пожалуй, худшей чертой Win9x с точки зренияTeXа является так называемая файловая система FAT. TeX использует очень много маленьких файлов, с размерами 1–3 Kb. Файловая система FAT очень древняя, она на много десятилетий старше многогигабайтовых дисков, которые распространены сегодня. Неудивительно, что она не может эффективно управлять десятками тысяч TeXовских файлов, входящих в состав TeX Live. Файловая система FAT выделяет как минимум 32 Kb любому файлу на большом разделе. Это означает, что система TeX занимает намного больше места, чем ей на самом деле нужно.

Другие, более современные файловые системы, FAT32 и NTFS, лишены этого недостатка. Они используют кластеры размером в 4 Kb. (На NTFS размер кластера можно уменьшить до 512 байт.)

7.9.5 Как добавить директорию в PATH

Есть пары переменных и их значений, которые ведут себя как глобальные переменные для всех программ. Набор таких переменных называется окружением. Каждая программа получает копию текущего окружения. Она может опросить или изменить значение любой переменной. Изменение происходит с копией окружения, и не переходит в другие программы.

Переменная PATH — особая переменная, используемая для поиска запускаемых вами программ. Она задаётся по-разному в Win9x, WinME and NT/2K/XP:

Windows 95/98
Отредактируйте файл autoexec.bat. В этом файле должна быть строка, начинающаяся с PATH=, после чего следует список директорий, разделённых ;. Добавьте директорию с программами TeX Live к списку, например, так:

  PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32

Windows ME
Вам надо запустить специальную программу c:\windows\system\msconfig.exe чтобы изменить переменные окружения. В этой программе выберите «Environment» и измените нужные переменные. Вам будет предложено рестартовать машину после изменения.
Windows NT/2K/XP
Щёлкните левой клавишей мышки на Start-->Settings-->Control Panel. Откроется окно с иконками панели управления. Щёлкните на «System». Откроется окно «System Properties». Щёлкните на Environment или найдите Environment Variables среди диалоговых окон. Теперь вы сможете изменить окружение для себя. Примечание: там также показано системное окружение. Обычно вы не можете изменить системные переменные, если у вас нет прав администратора. Если вы хотите изменить PATH для всех пользователей, обратитесь к вашему системному администратору. Если вы сами системный администратор, вы должны понимать, что вы делаете.

Если для вас уже есть переменная PATH, щёлкните на PATH. В поле Variable появится PATH, а в поле Value текущее значение переменной: список директорий, разделённые ;. Добавьте директорию, где расположены нужные программы, например, c:\Program Files\TeXLive\bin\win32. Если у вас не задана переменная PATH, щёлкните на поле Variable и впечатайте PATH, щёлкните на поле Value и впечатайте директорию. Внимание: Щёлкните на Apply перед тем, как нажать Ok, иначе значение PATH не изменится. Будьте очень аккуратны, изменяя переменные окружения.

Лучший способ убедиться, что переменная установлена правильно: откройте консоль и напечатайте


  set VARIABLE

система должна напечатать её значение.

7.9.6 Компиляторы TeXа

Если вы взглянете в документацию Web2C, вы увидите, что все различные программы на основе TeXа используют один и тот же компилятор, Например, tex.exe и latex.exe являются копиями одной и той же программы, но используют различные форматы в зависимости от того, под каким именем они вызваны.

Под Юниксом это сделано путём использования символических ссылок. Это экономит массу места на диске, потому что один и тот же компилятор используется многими программами.

API Win32 не знает про ссылки. Поэтому чтобы сэкономить место, все основные программы TeXа упакованы в DLL (Dynamic Linked Library, динамически подгружаемая библиотека). Это означает, что у вас могут быть такие файлы:


13/05/2002  17:06                3 584 latex.exe
13/05/2002  17:06              266 240 tex.dll
13/05/2002  17:06                3 584 tex.exe
и файл latex.exe является копией tex.exe с тем же tex.dll. Этот же метод используется для программ mktex*.exe, которые вызывают библиотеку mktex.dll,

Мы включили и инструмент lnexe.exe для создания аналога юниксовских жёстких ссылок для программ под Win32.

7.10 Что делать в случае проблем

7.10.1 Что, если latex не находит ваших файлов?

7.10.2 Что делать, если установка произошла не так, как ожидалось?

Вот несколько вещей, которые вы можете проверить:

  1. Находится ли tex.exe в моей PATH?
  2. Установлена ли переменная TEXMFCNF на c:/Program Files/TeXLive/texmf-var/web2c (значение по умолчанию)?
  3. Есть ли ошибки в логах программы TeXSetup.exe? Вы можете найти их, установив поиск строки «Error».
  4. Есть ли объявление о багах на http://tug.org/texlive/? (Маловероятно, но проверить стДоит.)
  5. Проверьте страницы http://www.fptex.org/, или подпишитесь на список рассылки fpTeX через http://tug.org/mailman/listinfo/fptex.

Дистрибутив TeX Live состоит из сотен программ и десятков тысяч файлов из разных источников. Поэтому очень трудно предсказать все возможные источники ошибок. Тем не менее мы попытаемся вам помочь (см, раздел 1.2 на стр. 8)/

7.11 Компилирование исходников

У вас есть полный набор исходников в архиве source/source.tar.bz2 вместе с патчем для Win32. Для компилирования полного дистрибутива вам понадобятся:

Нам ещё предстоит много сделать для того, чтобы сделать этот процесс проще и чище.

7.12 Где получить дополнительную информацию

Система TeX для Windows, включённая в TeX Live, известна также как fpTeX. Пакетная система отличается, но fpTeX совпадает с текущим TeX Live для Windows.

Страница fpTeXа находится на http://www.fptex.org.

Текущая версия fpTeXа находится на любом архиве CTAN в htp://www.ctan.org/tex-archive/systems/win32/fptex.

Главный депозитарий для fpTeXа находится на ftp://ftp.dante.de/pub/fptex/, где можно найти последние беты и дополнительный инструментарий. Главный сайт (частично) ежедневно зеркалится на все сайты системы CTAN как systems/win32/fptex.

Группа пользователей TeXа поддерживает список рассылки, посвящённых fpTeXу. Он используется для объявлений, просьб о новых возможностях, сообщениях о багах и общих дискуссий о системе fpTeX. Чтобы подписаться, посетите http://tug.org/mailman/listinfo/fptex. Адрес рассылки fptex@tug.org.