[tex-live] jadetex: difference between preloading a format and loading its definitions?

Frank Küster frank at kuesterei.ch
Mon Apr 16 18:23:55 CEST 2007


Hi everybody,

we've got a problem with the separate JadeTeX package in Debian and
collection-lang-cyrillic being installed at the same time.  Since this
is no problem with the upstream setup, I played a bit and found that it
is due to a strange behavior of (pdf)TeX, something I do not understand.
I would be grateful if someone could enlighten me.

I thought that preloading a format (here latex) with "&latex" would
"restore the current status" (which was current when \dump was executed
after loading latex.ltx), as the TeXbook says on page 283.  However, it
seems that loading the format dump has not the same effect as loading
its definition.

Ordinarily jadetex just loads the LaTeX format dump and adds its own
definitions in jadetex.ltx on top of it.  However, for reasons which are
explained elsewhere[1], the Debian package of jadetex does it
differently: jadetex.ini loads latex.ini after redefining \dump, then
resets \dump and loads jadetex.ltx.

Up to know, this worked fine.  But now I noticed that with TeXLive 2007
it no longer works if collection-lang-cyrillic is present at the same
time (texlive-lang-cyrillic for the Debian users), providing t2aenc.def.
But the old method of loading the format dump continues to work:

$ grep jadetex `kpsewhich --format="web2c files" fmtutil.cnf`
### From file: /home/frank/.texmf-config/fmt.d/40jadetex.cnf
jadetex		etex	language.dat	&latex jadetex.ini
nojadetex	etex	language.dat	nojadetex.ini
### End of file: /home/frank/.texmf-config/fmt.d/40jadetex.cnf

$ cat `kpsewhich jadetex.ini`
\input jadetex.ltx
\dump
\endinput

$ cat `kpsewhich nojadetex.ini`
\let\savedump\dump
\let\dump\relax
\input latex.ini
\let\dump\savedump

\input jadetex.ltx
\dump
\endinput

$ fmtutil --byfmt jadetex >/dev/null 
$ fmtutil --byfmt nojadetex >/dev/null 
Error: `etex -ini  -jobname=nojadetex -progname=nojadetex nojadetex.ini' failed

###############################################################################
fmtutil: Error! Not all formats have been built successfully.
Visit the log files in directory
  /home/frank/.texmf-var/web2c
for details.
###############################################################################

This is a summary of all `failed' messages and warnings:
`etex -ini  -jobname=nojadetex -progname=nojadetex nojadetex.ini' failed
$

and the log file (http://people.debian.org/~frank/nojadetex.log) shows
this error:

,----
| (/usr/share/texmf-texlive/tex/latex/cyrillic/t2aenc.def
| File: t2aenc.def 2005/09/27 v1.0i Cyrillic encoding definition file
| 
| 
| ! LaTeX Error: Encoding scheme `' unknown.
| 
| See the LaTeX manual or LaTeX Companion for explanation.
| Type  H <return>  for immediate help.
|  ...                                              
|                                                   
| l.39 ...titution{\LastDeclaredEncoding}{cmr}{m}{n}
|                                                   
| ? 
| ! Emergency stop.
`----

This is after loading jadetex.ltx.  The working jadetex.log (that with
&latex-preload) just has this at that point:


(/usr/share/texmf-texlive/tex/latex/cyrillic/t2aenc.def
File: t2aenc.def 2005/09/27 v1.0i Cyrillic encoding definition file
)
(/usr/share/texmf-texlive/tex/latex/base/t1enc.def

and the logs don't differ at all between starting to load jadetex.ltx
and these lines.


Can you help me understand what's going on?  And maybe find a solution
that makes our hack work again?

Many thanks in advance



[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=384334


-- 
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)


More information about the tex-live mailing list