Print

Print


Will Robertson wrote:
> From the way things look to me, that will basically be impossible. The
> changes between LaTeX3 and LaTeX2e are much greater than between 2e and
> 2.09. Perhaps a strict subset of LaTeX2e documents will be able to be
> processed with LaTeX3, but I think we'll end up with two distinct
> document processing systems. That is, I doubt that LaTeX2e will ever be
> "replaced" by LaTeX3 -- people who need backwards compatibility will
> have to use the old code.
> 
> On the other hand, it might be possible to detect when a 2e document is
> being processed and "drop down" into the old code automatically, but
> it's probably too early to say since we're not even building a separate
> LaTeX3 format at this stage (well, I'm not, at least).

I'd imagine that LaTeX3 documents will start with something other than
\documentclass (let's call it \documenttype, for arguments sake).  Given
the likely size of a LaTeX3 kernel, essentially the entire 2e kernel
could also be included without making it all that much bigger.  If the
first line of the file is \documenttype, the 2e stuff is never used.  On
the other hand, if \documentclass is found, the new kernel "bails out",
runs the current 2e code and the file is processed as a 2e document.

The down side is that compiling a LaTeX2e document with LaTeX3 gains
nothing.  The up side is that it works at all :-)

I'd imagine that some of the current kernel would have to be subtly
altered for this to work (things like the low level definitions for
toks, skips, etc., perhaps, plus the odd \newcommand might need to be
replaced by \def).  However, I'd suggest it is the best plan in the long
term.
-- 
Joseph Wright