29.05.2014 Views

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

\input zip:///somezipfile.zip?name=/somepath/somefile.tex<br />

and use similar references to access les. Of course we had to make sure that kpse like<br />

searching in the tds (standardized TEX trees) works smoothly. <strong>The</strong>re are plans to link the<br />

curl library into LuaTEX, so that we can go beyong this and access repositories.<br />

Of course, in order to be more or less kpse and web2c compliant, we also need to support<br />

this paranoid le handling, so we provide mechanisms for that as well. In addition, we<br />

provide ways to create sandboxes for system calls.<br />

Getting to intercept all log output (well, most log output) was a problem in itself. For this<br />

I used a (preliminary) xml based log format, which will make log parsing easier. Because<br />

we have full control over le searching, opening and closing, we can also provide more<br />

information about what les are loaded. For instance we can now easily trace what tfm<br />

les TEX reads.<br />

Implementing additional methods for locating and opening les is not that complex because<br />

the library that ships with ConTEXt is already prepared for this. For instance, implementing<br />

support for:<br />

\input http://www.someplace.org/somepath/somefile.tex<br />

involved a few lines <strong>of</strong> code, most <strong>of</strong> which deals with caching the les. Because we<br />

overload the whole io handling, this means that the following works ok:<br />

\placefigure<br />

[][]<br />

{http handling}<br />

{\externalfigure<br />

[http://www.pragma-ade.com/show-gra.pdf]<br />

[page=1,width=\textwidth]}<br />

Other protocols, like ftp are also supported, so one can say:<br />

\typefile {ftp://anonymous:@ctan.org/tex-archive/systems\<br />

/knuth/lib/plain.tex}<br />

On the agenda is playing with database, but by the time that we enter that stage linking<br />

the curl libraries into LuaTEX should have taken place.<br />

verbatim<br />

<strong>The</strong> advance <strong>of</strong> LuaTEX also permitted us to play with a long standing wish <strong>of</strong> catcode<br />

tables, a mechanism to quickly switch between different ways <strong>of</strong> treating input characters.<br />

14 How Lua ts in

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!