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.

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!