Ограничения ёмкости регистров TeX'а
- TeX — достаточно старая программа. Он разрабатывался ещё в те времена, когда в моде была обратная совместимость (legacy). Он должен был одинаково работать при смене версии программного обеспечения.
- TeX является мультиплатформенной программой. Он должен одинаково работать на разном оборудовании.
Содержание
1 Общие сведения
- В TeX есть набор ограничений, которые иногда мешают скомпилировать TeX-файл.
- Эти ограничения вполне адекватны.
- Возникновение таких проблем могут указывать на ошибку в файле.
- Лучше всего внести исправления в исходный файл, чтобы подобные ошибки не возникали.
- Но иногда без правки ограничений не обойтись.
- Многие ограничения сняты в реализациях
XeTeX
иLuaTeX
.
2 Файлы для правки
2.1 TeX Live
- Рассматривается дистрибутив, установленный установщиком TeX Live (см. Установка TeX Live).
- Системный уровень
- Все команды выполняются с полномочиями администратора:
su -
- При обычной установке настройки делаются в каталоге
/usr/local/texlive/texmf-local
- Локальные настройки для форматов TeX находятся в файлеЭтот каталог задаётся переменной
/usr/local/texlive/texmf-local/web2c/texmf.cnf
TEXMFLOCAL
- После исправления файлов следует перегенерить форматы TeX:
fmtutil-sys --all
- Все команды выполняются с полномочиями администратора:
- Пользовательский уровень
- Все операции выполняются с полномочиями пользователя.
- При обычной установке настройки делаются в каталогеЭтот каталог задаётся переменной
~/texmf
TEXMFHOME
- Настройки пользователя для форматов TeX находятся в файле
~/texmf/web2c/texmf.cnf
- После исправления файлов следует перегенерить форматы TeX:
fmtutil-user --all
3 Ошибки
3.1 Количество открытых файлов
- При компиляции ограничено количество открытых одновременно файлов.
- Ошибка выглядит следующим образом:
! TeX capacity exceeded, sorry [text input levels=15].
- Необходимо увеличить количество открытых одновременно файлов:
%% web2c/texmf.cnf %% simultaneous input files and error insertions, also applies to MetaPost max_in_open = 50
- Здесь мы увеличили количество одновременно открытых файлов до 50.