Пример "babel-\[email protected]", т.е. "babel-*.cfg"? Типичное содержимое? Где мне хранить "babel-latex.cfg", чтобы "kpsewhich" мог его найти?

Пример "babel-\[email protected]", т.е. "babel-*.cfg"? Типичное содержимое? Где мне хранить "babel-latex.cfg", чтобы "kpsewhich" мог его найти?

e-TeX, созданный с помощью компилятора Джима Фаулера WEB/TeX Pascal to WebAssembly web2jsдолжен выгрузить формат LaTeX из latex.ltxи спотыкается о babel-latex.cfg, см.Инструкции ShreevatsaR по получению формата LaTeX, работающего с web2js (с поддельным пустым babe-latex.cfg).

Интересно, что команда etex -ini *latex.ltx /dumpне вызывает этой проблемы. Она загружается switch.defпосле hyphen.cfg. Почему здесь нет проблем?

В руководстве Babel говорится:

Теперь определены хуки. Из соображений эффективности они здесь рассматриваются особым образом. Помимо luatex, учитываются файлы конфигурации, специфичные для формата.

Все это происходит внутри, hyphen.cfgв строке 121 \def\bbl@hook@everylanguage#1{}, см. texdoc babelстраницу 134.

Подсказка от Хавьера Безоса: Проблема с примитивом \ifeof

Я хочу доказать \ifeofдогадку Хавьера Безоса о -проблеме, снабдив babel-latex.cfgсообщением об ошибке. Это приводит к вопросу, где этот файл вообще должен храниться.
Я сохранил babel-latex.cfgв том же каталоге, что и hyphen.cfg. kpsewhichнайдет последний, но не babel-latex.cfg.

Как можно kpsewhichнаучить находить babel-latex.cfg?

❓ Может ли кто-нибудь привести пример babel-*.cfg?

решение1

Выдержка из документации для контроля kpsewhich:

3.4.6 Интеграция локальных и персональных макросов
Это уже упоминалось неявно в разделе 2.3: TEXMFLOCAL (по умолчанию /usr/local/texlive/texmf-local или %SystemDrive%\texlive\texmf-local в Windows) предназначен для общесистемных локальных шрифтов и макросов; а TEXMFHOME (по умолчанию $HOME/texmfor%USERPROFILE%\texmf) — для персональных шрифтов и макросов. Эти каталоги должны оставаться от выпуска к выпуску, и их содержимое будет автоматически видно новому выпуску TEX Live. Поэтому лучше воздержаться от изменения определения TEXMFLOCAL так, чтобы оно было слишком далеко от основного каталога TEX Live, иначе вам придется вручную изменять будущие выпуски. Для обоих деревьев файлы должны быть размещены в их надлежащей структуре каталогов TEX(ТДС)подкаталоги; см.http://tug.org/tdsorобратитесь к texmf-dist/web2c/texmf.cnf. Например, файл класса LATEX или пакет должен быть помещен в TEXMFLOCAL/tex/latex или TEXMFHOME/tex/latex или в его подкаталог. TEXMFLOCAL требует актуальной базы данных имен файлов, иначе файлы не будут найдены. Вы можете обновить ее с помощью командыmktexlsrorиспользовать«Переинициализация базы данных файлов»кнопку на вкладке конфигурации графического интерфейса TEXLive Manager.

(texlive-en.pdf или C:\>texdoc texlive)

Результат:

C:\>kpsewhich -all babel-latex.cfg
c:/texlive/texmf-local/tex/latex/local/babel-latex.cfg

Благодаря Хавьеру Безосу \ifeofпредположение без web2js babel-language.cfgпросто пропускается. Чтобы доказать это поведение, я создал багги, babel-latex.cfgчтобы проверить, запрашивается ли он вообще.

c:\texlive>etex -ini *latex.ltx /dump
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (INITEX)
 restricted \write18 enabled.
entering extended mode
...
===========================================
Local configuration file hyphen.cfg used
===========================================
(c:/texlive/2019/texmf-dist/tex/generic/babel/hyphen.cfg
(c:/texlive/texmf-local/tex/latex/local/babel-latex.cfg

! LaTeX Error: Missing \begin{document}.

Заключение:
web2js's \openinили \ifeofне работают так же, как стандартные примитивы.
Согласновторой намек от Хавьера Безосаскорее всего, \openinпроблема в несуществующих файлах и последующих ошибках.

Связанный контент