Un e-TeX generado con WEB/TeX Pascal to WebAssembly Compiler de Jim Fowler web2jsdebería volcar un formato LaTeX latex.ltx
y se topa con el babel-latex.cfg
, consulteInstrucciones de ShreevatsaR para obtener un formato LaTeX que funcione con web2js (con babe-latex.cfg vacío falso.
Curiosamente, el comando etex -ini *latex.ltx /dump
no causa este problema. Se carga switch.def
después hyphen.cfg
. ¿Por qué no hay problemas aquí?
El manual de Babel dice:
Ahora, los ganchos están definidos. Por razones de eficiencia, se tratan aquí de forma especial. Además de luatex, se tienen en cuenta los archivos de configuración específicos del formato.
Todo sucede en hyphen.cfg
la línea 121 \def\bbl@hook@everylanguage#1{}
, consulte texdoc babel
la página 134.
Pista de Javier Bezos: Problema con la vida de los primitivos
Quiero probar la \ifeof
suposición del problema de Javier Bezos equipándolo babel-latex.cfg
con un mensaje de error. Esto lleva a la pregunta de dónde se almacenará este archivo.
Lo almacené babel-latex.cfg
en el mismo directorio que hyphen.cfg
. kpsewhich
Encontraré el último pero no babel-latex.cfg
.
✔¿Cómo se puede kpsewhich
enseñar a encontrar un babel-latex.cfg
?
❓ ¿Alguien puede dar un ejemplo babel-*.cfg
?
Respuesta1
Extracto de documentación para controlar kpsewhich
:
3.4.6 Integración de macros locales y personales
Esto ya se menciona implícitamente en la sección 2.3: TEXMFLOCAL (por defecto, /usr/local/texlive/texmf-local o %SystemDrive%\texlive\texmf-local en Windows) está diseñado para macros y fuentes locales de todo el sistema; y TEXMFHOME (por defecto, $HOME/texmfor%USERPROFILE%\texmf), es para fuentes y macros personales. Estos directorios están destinados a permanecer de una versión a otra y hacer que su contenido se vea automáticamente en una nueva versión de TEX Live. Por lo tanto, es mejor abstenerse de cambiar la definición de TEXMFLOCAL para que esté demasiado lejos del directorio principal de TEX Live, o necesitará cambiar manualmente las versiones futuras. Para ambos árboles, los archivos deben colocarse en su estructura de directorio TEX adecuada.(TDS)subdirectorios; verhttp://tug.org/tdsorconsulte texmf-dist/web2c/texmf.cnf. Por ejemplo, un archivo o paquete de clase LATEX debe colocarse en TEXMFLOCAL/tex/latex o TEXMFHOME/tex/latex, o en un subdirectorio del mismo. TEXMFLOCAL requiere una base de datos de nombres de archivos actualizada, o no se encontrarán los archivos. Puedes actualizarlo con el comando.mktexlsror
utilizar el'Reiniciar la base de datos del archivo'en la pestaña de configuración de la GUI de TEXLive Manager.
(texlive-es.pdf
o C:\>texdoc texlive
)
Resultado:
C:\>kpsewhich -all babel-latex.cfg
c:/texlive/texmf-local/tex/latex/local/babel-latex.cfg
Gracias a Javier Bezos, \ifeof
la suposición sin web2js babel-language.cfg
simplemente se omite. Para probar este comportamiento, creé un error babel-latex.cfg
para probar si se solicita.
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}.
Conclusión:
web2js
's \openin
o \ifeof
no funcionan de la misma manera que las primitivas estándar.
Según elSegunda pista de Javier BezosProbablemente sea más un \openin
problema de archivos inexistentes y fallas de seguimiento.