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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

limitations) and only need to run over the le once. And Lua is incredibly fast in loading<br />

the tables where we keep track <strong>of</strong> these things. For instance, a test le storing and reading<br />

10.000 complex positions takes 3.2 seconds runtime with LuaTEX but 8.7 seconds with<br />

traditional pdfTEX. Imagine what this will save when dealing with huge les (400 page<br />

300 Meg les) that need three or more passes to be typeset. And, now we can without<br />

problems bump position tracking to milions <strong>of</strong> positions.<br />

resources<br />

Finding les is somewhat tricky and has a <strong>history</strong> in the TEX community and its distributions.<br />

For reasons <strong>of</strong> packaging and searching les are organized in a tree and there are<br />

rules for locating les <strong>of</strong> given types in this tree. When we say<br />

\input blabla.tex<br />

TEX will look for this le by consulting the path specication associated with the letype.<br />

When we say<br />

\input blabla<br />

TEX will add the .tex sufx itself. Most other letypes are not seen by users but are dealt<br />

with in a similar way internally.<br />

As mentioned before, we support reading from other resources than the standard le system,<br />

for instance we can input les from websites or read from zip archives. Although this<br />

works quite well, we need to keep in mind that there are some conicting interests: structured<br />

search based on type related specications versus more or less explicit requests.<br />

\input zip:///archive.zip?name=blabla.tex<br />

\input zip:///archive.zip?name=/somepath/blabla.tex<br />

Here we need to be rather precise in dening the le location. We can <strong>of</strong> course build<br />

rather complex mechanisms for locating les here, but at some point that may backre<br />

and result in unwanted matches.<br />

If you want to treat a zip archive as a TEX tree, then you need to register the le:<br />

\usezipfile[archive.zip]<br />

\usezipfile[tex.zip][texmf-local]<br />

\usezipfile[tex.zip?tree=texmf-local]<br />

<strong>The</strong> rst variant registers all les in the archive, but the next two are equivalent and only<br />

register a subtree. <strong>The</strong> registered tree is prepended to the TEXMF specication and thereby<br />

may overload existing trees.<br />

How Lua ts in 17

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

Saved successfully!

Ooh no, something went wrong!