“babel-\[email protected]” 的示例,即“babel-*.cfg”?典型内容?我必须将“babel-latex.cfg”存储在哪里,以便“kpsewhich”可以找到它?

“babel-\[email protected]” 的示例,即“babel-*.cfg”?典型内容?我必须将“babel-latex.cfg”存储在哪里,以便“kpsewhich”可以找到它?

使用 Jim Fowler 的 WEB/TeX Pascal 到 WebAssembly 编译器生成的 e-TeX web2js应该转储 LaTeX 格式,latex.ltx并偶然发现了babel-latex.cfg,请参阅ShreevatsaR 的说明,用于获取与 web2js 兼容的 LaTeX 格式(使用伪造的空 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 页。

Javier Bezos 的提示:\ifeof 原始问题

我想\ifeof通过在 上配备错误消息来证明 Javier Bezos 的 -problem 猜测babel-latex.cfg。这引出了一个问题,这个文件到底要存储在哪里。
我将其存储babel-latex.cfg在与 相同的目录中hyphen.cfgkpsewhich会找到最后一个,但找不到babel-latex.cfg

怎样才能kpsewhich学会寻找babel-latex.cfg

❓ 有人能举个例子babel-*.cfg吗?

答案1

摘录文件以进行控制kpsewhich

3.4.6 整合本地和个人宏
2.3 节中已经隐含地提到了这一点:TEXMFLOCAL(默认情况下,Windows 上的 /usr/local/texlive/texmf-local 或 %SystemDrive%\texlive\texmf-local)用于系统范围的本地字体和宏;而 TEXMFHOME(默认情况下,$HOME/texmfor%USERPROFILE%\texmf)用于个人字体和宏。这些目录旨在从一个版本到另一个版本保留,并让新 TEX Live 版本自动显示其内容。因此,最好不要将 TEXMFLOCAL 的定义更改为离主 TEX Live 目录太远,否则您将需要手动更改将来的版本。对于这两个树,文件都应放置在其正确的 TEX 目录结构中(TDS)子目录;参见http://tug.org/tdsor请参阅 texmf-dist/web2c/texmf.cnf。例如,LATEX 类文件或包应放置在 TEXMFLOCAL/tex/latex 或 TEXMFHOME/tex/latex 或其子目录中。TEXMFLOCAL 需要最新的文件名数据库,否则将找不到文件。您可以使用以下命令更新它mktexlsror使用'重新初始化文件数据库'TEXLive Manager GUI 的配置选项卡上的按钮。

texlive-en.pdf 或者C:\>texdoc texlive

结果:

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

感谢 Javier Bezos 的\ifeof猜测,没有 web2js 的请求babel-language.cfg会被直接跳过。为了证明这一行为,我创建了一个 buggybabel-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\openin或者不能\ifeof像标准原语那样工作
根据哈维尔·贝佐斯的第二个暗示可能更多的\openin是文件不存在和后续故障的问题。

相关内容